This commit is contained in:
xuhaihui 2025-09-04 17:12:16 +08:00
parent c984723eab
commit b918afe42b
1 changed files with 138 additions and 0 deletions

View File

@ -0,0 +1,138 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package zcgj.zcdev.zcdev.pr.plugin.form;
import java.util.HashSet;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.list.ListShowParameter;
import kd.bos.orm.query.QFilter;
import kd.ec.basedata.common.enums.ContractStatusEnum;
import kd.ec.basedata.common.enums.PayDirectionEnum;
public class ContractHelperExt {
private static final String PAYDIRECTION = "paydirection";
private static final String CONTSTATUS = "contstatus";
public ContractHelperExt() {
}
public static void getContractByStatus(String formid, ListShowParameter showParameter, String paydirection) {
QFilter contStatusFilter = getFilter(formid, paydirection);
if (contStatusFilter != null) {
showParameter.getListFilterParameter().getQFilters().add(contStatusFilter);
}
}
public static QFilter getFilter(String formid, String paydirection) {
HashSet contStatusSet;
QFilter contStatusFilter;
QFilter payDirectionFilter;
if (StringUtils.equals(paydirection, PayDirectionEnum.IN.getValue())) {
if (StringUtils.equals(formid, "ec_incomeapply") || StringUtils.equals(formid, "ec_income_register") || StringUtils.equals(formid, "ec_out_invoice") || StringUtils.equals(formid, "ec_in_contfundplan") || StringUtils.equals(formid, "ec_in_finalsettle")) {
contStatusSet = new HashSet(4);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
if (StringUtils.equals(formid, "ec_in_finalsettle")) {
contStatusSet.add(ContractStatusEnum.CLOSED.getValue());
contStatusSet.add(ContractStatusEnum.OVERSETTLE.getValue());
}
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
payDirectionFilter = new QFilter("paydirection", "=", paydirection);
contStatusFilter.and(payDirectionFilter);
return contStatusFilter;
}
if (StringUtils.equals(formid, "ec_in_contract_settle") || StringUtils.equals(formid, "ec_inrevision") || StringUtils.equals(formid, "ec_inclaimbill") || StringUtils.equals(formid, "ec_invisabill") || StringUtils.equals(formid, "ec_clarific") || StringUtils.equals(formid, "ec_in_performrecords") || StringUtils.equals(formid, "ec_incontractmeasure")) {
contStatusSet = new HashSet(6);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
contStatusSet.add(ContractStatusEnum.PAUSE.getValue());
contStatusSet.add(ContractStatusEnum.RELIEVE.getValue());
contStatusSet.add(ContractStatusEnum.CLOSED.getValue());
contStatusSet.add(ContractStatusEnum.OVERSETTLE.getValue());
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
payDirectionFilter = new QFilter("paydirection", "=", paydirection);
contStatusFilter.and(payDirectionFilter);
return contStatusFilter;
}
if (StringUtils.equals(formid, "ec_ecbd_contractboq")) {
contStatusSet = new HashSet(3);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
return contStatusFilter;
}
} else if (StringUtils.equals(paydirection, PayDirectionEnum.OUT.getValue())) {
if (!StringUtils.equals(formid, "ec_paymentapply") && !StringUtils.equals(formid, "ec_payment_register") && !StringUtils.equals(formid, "ec_in_invoice") && !StringUtils.equals(formid, "ec_out_contfundplan") && !StringUtils.equals(formid, "ec_out_finalsettle")) {
if (!StringUtils.equals(formid, "ecma_materialinbill") && !StringUtils.equals(formid, "ecma_materialoutbill") && !StringUtils.equals(formid, "ecma_compmatout") && !StringUtils.equals(formid, "ecma_purchaseorderbill") && !StringUtils.equals(formid, "ec_out_contract_settle") && !StringUtils.equals(formid, "ec_outclaimbill") && !StringUtils.equals(formid, "ec_outrevision") && !StringUtils.equals(formid, "ec_out_performrecords") && !StringUtils.equals(formid, "ecma_materialapplybill") && !StringUtils.equals(formid, "ec_outcontractmeasure")) {
return null;
}
contStatusSet = new HashSet(6);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
contStatusSet.add(ContractStatusEnum.PAUSE.getValue());
contStatusSet.add(ContractStatusEnum.RELIEVE.getValue());
contStatusSet.add(ContractStatusEnum.CLOSED.getValue());
contStatusSet.add(ContractStatusEnum.OVERSETTLE.getValue());
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
payDirectionFilter = new QFilter("paydirection", "=", paydirection);
contStatusFilter.and(payDirectionFilter);
QFilter basicTypeFilter;
if (StringUtils.equals(formid, "ecma_materialinbill")) {
basicTypeFilter = new QFilter("conttype.contattr.basictype", "=", "02");
basicTypeFilter.or(new QFilter("conttype.contattr.basictype", "=", "09"));
contStatusFilter.and(basicTypeFilter);
} else if (!StringUtils.equals(formid, "ecma_materialoutbill") && !StringUtils.equals(formid, "ecma_materialapplybill") && !StringUtils.equals(formid, "ecma_compmatout")) {
if (StringUtils.equals(formid, "ecma_purchaseorderbill")) {
basicTypeFilter = new QFilter("contracttype.contattr.basictype", "=", "02");
basicTypeFilter.or("contracttype.contattr.basictype", "=", "09");
contStatusFilter.and(basicTypeFilter);
}
} else {
basicTypeFilter = new QFilter("contracttype.contattr.basictype", "=", "03");
contStatusFilter.and(basicTypeFilter);
}
return contStatusFilter;
}
contStatusSet = new HashSet(4);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
if (StringUtils.equals(formid, "ec_out_finalsettle")) {
contStatusSet.add(ContractStatusEnum.CLOSED.getValue());
contStatusSet.add(ContractStatusEnum.OVERSETTLE.getValue());
}
if (StringUtils.equals(formid, "ec_paymentapply")) {
contStatusSet.add(ContractStatusEnum.CLOSED.getValue());
}
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
payDirectionFilter = new QFilter("paydirection", "=", paydirection);
contStatusFilter.and(payDirectionFilter);
return contStatusFilter;
} else if (StringUtils.equals(formid, "ec_dynamiccontract") || StringUtils.equals(formid, "ec_contract_viewall")) {
contStatusSet = new HashSet(3);
contStatusSet.add(ContractStatusEnum.INDRAFT.getValue());
contStatusSet.add(ContractStatusEnum.INAUDIT.getValue());
contStatusSet.add(ContractStatusEnum.APPROVED.getValue());
contStatusFilter = new QFilter("contstatus", "not in", contStatusSet);
return contStatusFilter;
}
return null;
}
}