From b918afe42bcfd54bb2254f103d3e60e3418e19dd Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 4 Sep 2025 17:12:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/ContractHelperExt.java | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractHelperExt.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractHelperExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractHelperExt.java new file mode 100644 index 0000000..1529381 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractHelperExt.java @@ -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; + } +}