diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/kd/ec/ecpf/opplugin/PaymentApplyInvoiceValidator.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/kd/ec/ecpf/opplugin/PaymentApplyInvoiceValidator.java index 4c985f3..79ccd35 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/kd/ec/ecpf/opplugin/PaymentApplyInvoiceValidator.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/kd/ec/ecpf/opplugin/PaymentApplyInvoiceValidator.java @@ -9,6 +9,7 @@ import java.math.BigDecimal; import java.util.HashMap; import java.util.Iterator; import java.util.Map; + import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.resource.ResManager; @@ -38,14 +39,24 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { ExtendedDataEntity[] var2 = dataEntities; int var3 = dataEntities.length; - for(int var4 = 0; var4 < var3; ++var4) { + for (int var4 = 0; var4 < var3; ++var4) { ExtendedDataEntity dataEntity = var2[var4]; DynamicObject bill = dataEntity.getDataEntity(); + int a = 0; + String sourcetype = bill.getString("sourcetype");//付款类型 + if (StringUtils.equals(sourcetype, "01")) { + //非合同付款 + a++; + } DynamicObjectCollection entries = bill.getDynamicObjectCollection("entryentity"); - for(int i = 0; i < entries.size(); ++i) { - DynamicObject entry = (DynamicObject)entries.get(i); - DynamicObject contract = entry.getDynamicObject("contract"); + for (int i = 0; i < entries.size(); ++i) { + DynamicObject entry = entries.get(i); + DynamicObject contract = null; + if (a == 0) { + //合同付款 + contract = entry.getDynamicObject("contract"); + } DynamicObjectCollection subEntries = entry.getDynamicObjectCollection("subentryentity"); if (contract!=null && contract.getBoolean("ismultirate") && (subEntries == null || subEntries.isEmpty())) { this.addWarningMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】未添加发票,税额可能存在偏差,请确认。", "PaymentApplyInvoiceValidateOp_0", "ec-ecpf-opplugin", new Object[0]), contract.getString("name"))); @@ -60,13 +71,13 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { ExtendedDataEntity[] var2 = dataEntities; int var3 = dataEntities.length; - for(int var4 = 0; var4 < var3; ++var4) { + for (int var4 = 0; var4 < var3; ++var4) { ExtendedDataEntity dataEntity = var2[var4]; DynamicObject bill = dataEntity.getDataEntity(); DynamicObjectCollection entries = bill.getDynamicObjectCollection("entryentity"); - for(int i = 0; i < entries.size(); ++i) { - DynamicObject entry = (DynamicObject)entries.get(i); + for (int i = 0; i < entries.size(); ++i) { + DynamicObject entry = (DynamicObject) entries.get(i); BigDecimal shouldPayAmount = entry.getBigDecimal("applyoftaxamount"); DynamicObjectCollection subEntries = entry.getDynamicObjectCollection("subentryentity"); if (subEntries == null || subEntries.isEmpty()) { @@ -76,8 +87,8 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { BigDecimal amount = BigDecimal.ZERO; BigDecimal applyAmount; - for(Iterator var13 = subEntries.iterator(); var13.hasNext(); amount = amount.add(applyAmount)) { - DynamicObject object = (DynamicObject)var13.next(); + for (Iterator var13 = subEntries.iterator(); var13.hasNext(); amount = amount.add(applyAmount)) { + DynamicObject object = (DynamicObject) var13.next(); applyAmount = object.getBigDecimal("applyinvoftaxamt"); } @@ -97,14 +108,14 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { BigDecimal totalApplyAmount; label123: - for(int var5 = 0; var5 < var4; ++var5) { + for (int var5 = 0; var5 < var4; ++var5) { ExtendedDataEntity dataEntity = var3[var5]; DynamicObject bill = dataEntity.getDataEntity(); DynamicObjectCollection contractEntries = bill.getDynamicObjectCollection("entryentity"); if (contractEntries != null && !contractEntries.isEmpty()) { Iterator var9 = contractEntries.iterator(); - while(true) { + while (true) { DynamicObjectCollection invoiceEntries; do { do { @@ -112,21 +123,21 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { continue label123; } - DynamicObject contractEntry = (DynamicObject)var9.next(); + DynamicObject contractEntry = (DynamicObject) var9.next(); invoiceEntries = contractEntry.getDynamicObjectCollection("subentryentity"); - } while(invoiceEntries == null); - } while(invoiceEntries.isEmpty()); + } while (invoiceEntries == null); + } while (invoiceEntries.isEmpty()); Iterator var12 = invoiceEntries.iterator(); - while(var12.hasNext()) { - DynamicObject invoiceEntry = (DynamicObject)var12.next(); + while (var12.hasNext()) { + DynamicObject invoiceEntry = (DynamicObject) var12.next(); DynamicObject invoice = invoiceEntry.getDynamicObject("invoice"); if (invoice != null) { long invoiceId = invoice.getLong("id"); totalApplyAmount = invoiceEntry.getBigDecimal("applyinvoftaxamt"); totalApplyAmount = totalApplyAmount == null ? BigDecimal.ZERO : totalApplyAmount; - invoiceApplyAmounts.put(invoiceId, ((BigDecimal)invoiceApplyAmounts.getOrDefault(invoiceId, BigDecimal.ZERO)).add(totalApplyAmount)); + invoiceApplyAmounts.put(invoiceId, ((BigDecimal) invoiceApplyAmounts.getOrDefault(invoiceId, BigDecimal.ZERO)).add(totalApplyAmount)); } } } @@ -140,11 +151,11 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { if (existInvoices != null && !existInvoices.isEmpty()) { Iterator var21 = existInvoices.iterator(); - while(var21.hasNext()) { - DynamicObject existInvoice = (DynamicObject)var21.next(); + while (var21.hasNext()) { + DynamicObject existInvoice = (DynamicObject) var21.next(); long invoiceId = existInvoice.getLong("entryentity.subentryentity.invoice"); BigDecimal applyAmount = existInvoice.getBigDecimal("entryentity.subentryentity.applyinvoftaxamt"); - invoiceApplyAmounts.put(invoiceId, ((BigDecimal)invoiceApplyAmounts.getOrDefault(invoiceId, BigDecimal.ZERO)).add(applyAmount)); + invoiceApplyAmounts.put(invoiceId, ((BigDecimal) invoiceApplyAmounts.getOrDefault(invoiceId, BigDecimal.ZERO)).add(applyAmount)); } } @@ -152,14 +163,14 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { int var24 = dataEntities.length; label87: - for(int var26 = 0; var26 < var24; ++var26) { + for (int var26 = 0; var26 < var24; ++var26) { ExtendedDataEntity dataEntity = var22[var26]; DynamicObject bill = dataEntity.getDataEntity(); DynamicObjectCollection contractEntries = bill.getDynamicObjectCollection("entryentity"); if (contractEntries != null && !contractEntries.isEmpty()) { Iterator var31 = contractEntries.iterator(); - while(true) { + while (true) { DynamicObjectCollection invoiceEntries; do { do { @@ -167,18 +178,18 @@ class PaymentApplyInvoiceValidator extends AbstractValidator { continue label87; } - DynamicObject contractEntry = (DynamicObject)var31.next(); + DynamicObject contractEntry = (DynamicObject) var31.next(); invoiceEntries = contractEntry.getDynamicObjectCollection("subentryentity"); - } while(invoiceEntries == null); - } while(invoiceEntries.isEmpty()); + } while (invoiceEntries == null); + } while (invoiceEntries.isEmpty()); Iterator var34 = invoiceEntries.iterator(); - while(var34.hasNext()) { - DynamicObject invoiceEntry = (DynamicObject)var34.next(); + while (var34.hasNext()) { + DynamicObject invoiceEntry = (DynamicObject) var34.next(); DynamicObject invoice = invoiceEntry.getDynamicObject("invoice"); if (invoice != null) { - totalApplyAmount = (BigDecimal)invoiceApplyAmounts.getOrDefault(invoice.getLong("id"), BigDecimal.ZERO); + totalApplyAmount = (BigDecimal) invoiceApplyAmounts.getOrDefault(invoice.getLong("id"), BigDecimal.ZERO); BigDecimal totalOfTax = invoice.getBigDecimal("totaloftaxamount"); totalOfTax = totalOfTax == null ? BigDecimal.ZERO : totalOfTax; if (totalApplyAmount.compareTo(totalOfTax) > 0) { diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentTypeValidatorExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentTypeValidatorExt.java deleted file mode 100644 index af41e73..0000000 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentTypeValidatorExt.java +++ /dev/null @@ -1,223 +0,0 @@ -// -// Source code recreated from a .class file by IntelliJ IDEA -// (powered by FernFlower decompiler) -// - -package zcgj.zcdev.zcdev.pr.plugin.form; - -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import kd.bos.dataentity.entity.DynamicObject; -import kd.bos.dataentity.entity.DynamicObjectCollection; -import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; -import kd.bos.dataentity.resource.ResManager; -import kd.bos.dataentity.utils.StringUtils; -import kd.bos.entity.EntityMetadataCache; -import kd.bos.entity.ExtendedDataEntity; -import kd.bos.entity.MainEntityType; -import kd.bos.entity.ValueMapItem; -import kd.bos.entity.property.ComboProp; -import kd.bos.entity.validate.AbstractValidator; -import kd.bos.orm.query.QFilter; -import kd.bos.servicehelper.QueryServiceHelper; -import kd.ec.basedata.common.enums.BillStatusEnum; -import kd.ec.basedata.common.enums.ContractStatusEnum; -import kd.ec.basedata.common.enums.PlanAmtTypeEnum; - -public class PaymentTypeValidatorExt extends AbstractValidator { - public PaymentTypeValidatorExt() { - } - - public void validate() { - String operateKey = this.getOperateKey(); - if (StringUtils.equals("submit", operateKey)) { - this.validatePayType(); - } - - } - - protected void validatePayType() { - Set balanceContractIds = new HashSet(16); - Set bondContractIds = new HashSet(16); - Set otherSubmitContractIds = new HashSet(16); - Set submitBalanceContractIds = new HashSet(16); - Set contractIds = new HashSet(16); - Set paymentIds = new HashSet(16); - ExtendedDataEntity[] dataEntities = this.getDataEntities(); - ExtendedDataEntity[] var8 = dataEntities; - int var9 = dataEntities.length; - - for(int var10 = 0; var10 < var9; ++var10) { - ExtendedDataEntity dataEntity = var8[var10]; - DynamicObject bill = dataEntity.getDataEntity(); - paymentIds.add(bill.getLong("id")); - DynamicObjectCollection entries = bill.getDynamicObjectCollection("entryentity"); - Iterator var14 = entries.iterator(); - - while(var14.hasNext()) { - DynamicObject entry = (DynamicObject)var14.next(); - String payType = entry.getString("paymenttype"); - long contractId = entry.getDynamicObject("contract").getLong("id"); - contractIds.add(contractId); - if (StringUtils.equals(PlanAmtTypeEnum.BALANCE.getValue(), payType)) { - balanceContractIds.add(contractId); - submitBalanceContractIds.add(contractId); - } else if (StringUtils.equals(PlanAmtTypeEnum.BOND.getValue(), payType)) { - bondContractIds.add(contractId); - } else { - otherSubmitContractIds.add(contractId); - } - } - } - - QFilter filter = new QFilter("entryentity.contract", "in", contractIds); - filter.and("id", "not in", paymentIds); - filter.and("billstatus", "in", new String[]{BillStatusEnum.SUBMIT.getValue(), BillStatusEnum.AUDIT.getValue()}); - DynamicObjectCollection payments = QueryServiceHelper.query("ec_paymentapply", "billstatus,entryentity.contract,entryentity.paymenttype", new QFilter[]{filter}); - Iterator var24 = payments.iterator(); - - while(var24.hasNext()) { - DynamicObject payment = (DynamicObject)var24.next(); - String payType = payment.getString("entryentity.paymenttype"); - long contractId = payment.getLong("entryentity.contract"); - if (StringUtils.equals(PlanAmtTypeEnum.BALANCE.getValue(), payType)) { - balanceContractIds.add(contractId); - if (StringUtils.equals(BillStatusEnum.SUBMIT.getValue(), payment.getString("billstatus"))) { - submitBalanceContractIds.add(contractId); - } - } else if (StringUtils.equals(PlanAmtTypeEnum.BOND.getValue(), payType)) { - bondContractIds.add(contractId); - } else if (StringUtils.equals(BillStatusEnum.SUBMIT.getValue(), payment.getString("billstatus"))) { - otherSubmitContractIds.add(contractId); - } - } - - Map> contractPayPlanTypes = this.getContractPayPlanTypes(contractIds); - Map payTypeCombo = this.getPayTypeCombo(); - ExtendedDataEntity[] var29 = dataEntities; - int var31 = dataEntities.length; - - for(int var32 = 0; var32 < var31; ++var32) { - ExtendedDataEntity dataEntity = var29[var32]; - DynamicObject bill = dataEntity.getDataEntity(); - DynamicObjectCollection entries = bill.getDynamicObjectCollection("entryentity"); - Iterator var18 = entries.iterator(); - - while(var18.hasNext()) { - DynamicObject entry = (DynamicObject)var18.next(); - DynamicObject contract = entry.getDynamicObject("contract"); - String payType = entry.getString("paymenttype"); - this.contractPayPlanValidate(dataEntity, contract, payType, contractPayPlanTypes, payTypeCombo); - this.prePayTypeValidate(dataEntity, contract, payType); - this.payStageValidate(balanceContractIds, bondContractIds, payTypeCombo, dataEntity, contract, payType); - this.payMethodValidate(dataEntity, contract, payType); - this.balanceTypeValidate(otherSubmitContractIds, dataEntity, contract, payType); - this.bondTypeValidate(submitBalanceContractIds, otherSubmitContractIds, dataEntity, contract, payType); - } - } - - } - - protected void contractPayPlanValidate(ExtendedDataEntity dataEntity, DynamicObject contract, String payType, Map> contractPayPlanTypes, Map payTypeCombo) { - Set types = (Set)contractPayPlanTypes.get(contract.getLong("id")); - if (types != null && !types.contains(payType) && !StringUtils.equals(PlanAmtTypeEnum.BALANCE.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%1$s】付款条件中不包含付款类型【%2$s】,不允许付款。", "PaymentTypeValidator_8", "ec-contract-opplugin", new Object[0]), contract.getString("name"), payTypeCombo.getOrDefault(payType, ""))); - } - - } - - protected Map> getContractPayPlanTypes(Set contractIds) { - Map> payPlanTypeMap = new HashMap(contractIds.size()); - QFilter contractFilter = new QFilter("id", "in", contractIds); - DynamicObjectCollection contracts = QueryServiceHelper.query("ec_out_contract", "id,outcontpayplanentry.paytype", new QFilter[]{contractFilter}); - - Iterator var5; - long contractId; - Set payPlanTypes; - for(var5 = contracts.iterator(); var5.hasNext(); payPlanTypeMap.put(contractId, payPlanTypes)) { - DynamicObject contract = (DynamicObject)var5.next(); - contractId = contract.getLong("id"); - payPlanTypes = (Set)payPlanTypeMap.getOrDefault(contractId, new HashSet(4)); - String type = contract.getString("outcontpayplanentry.paytype"); - if (StringUtils.isNotEmpty(type)) { - payPlanTypes.add(type); - } - } - - var5 = payPlanTypeMap.values().iterator(); - - while(var5.hasNext()) { - Set planTypes = (Set)var5.next(); - if (planTypes.isEmpty()) { - planTypes.add(PlanAmtTypeEnum.PREPAYMENT.getValue()); - planTypes.add(PlanAmtTypeEnum.SETTLEPAYMENT.getValue()); - planTypes.add(PlanAmtTypeEnum.BALANCE.getValue()); - planTypes.add(PlanAmtTypeEnum.BOND.getValue()); - } - } - - return payPlanTypeMap; - } - - protected void bondTypeValidate(Set submitBalanceContractIds, Set otherSubmitContractIds, ExtendedDataEntity dataEntity, DynamicObject contract, String payType) { - long contractId = contract.getLong("id"); - if (StringUtils.equals(payType, PlanAmtTypeEnum.BOND.getValue()) && (otherSubmitContractIds.contains(contractId) || submitBalanceContractIds.contains(contractId))) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】存在其他在途付款申请,无法进行质保金支付。", "PaymentTypeValidator_1", "ec-contract-opplugin", new Object[0]), contract.getString("name"))); - } - - } - - protected void balanceTypeValidate(Set otherSubmitContractIds, ExtendedDataEntity dataEntity, DynamicObject contract, String payType) { - if (StringUtils.equals(payType, PlanAmtTypeEnum.BALANCE.getValue()) && otherSubmitContractIds.contains(contract.getLong("id"))) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】存在其他在途付款申请,无法进行尾款支付。", "PaymentTypeValidator_2", "ec-contract-opplugin", new Object[0]), contract.getString("name"))); - } - - } - - protected void payMethodValidate(ExtendedDataEntity dataEntity, DynamicObject contract, String payType) { - if (contract.getBoolean("ispaybytasknode") && StringUtils.equals(PlanAmtTypeEnum.SETTLEPAYMENT.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】为按节点支付,无法进行结算款支付。", "PaymentTypeValidator_3", "ec-contract-opplugin", new Object[0]), contract.getString("name"))); - } else if (!contract.getBoolean("ispaybytasknode") && StringUtils.equals(PlanAmtTypeEnum.PROGRESSPAYMENT.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】为按月支付,无法进行进度款支付。", "PaymentTypeValidator_4", "ec-contract-opplugin", new Object[0]), contract.getString("name"))); - } - - } - - protected void payStageValidate(Set balanceContractIds, Set bondContractIds, Map payTypeCombo, ExtendedDataEntity dataEntity, DynamicObject contract, String payType) { - if (bondContractIds.contains(contract.getLong("id")) && !StringUtils.equals(PlanAmtTypeEnum.BOND.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%1$s】已进入质保金支付阶段,无法进行%2$s支付。", "PaymentTypeValidator_9", "ec-contract-opplugin", new Object[0]), contract.getString("name"), payTypeCombo.get(payType))); - } else if (balanceContractIds.contains(contract.getLong("id")) && !StringUtils.equals(PlanAmtTypeEnum.BALANCE.getValue(), payType) && !StringUtils.equals(PlanAmtTypeEnum.BOND.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%1$s】已进入尾款支付阶段,无法进行%2$s支付。", "PaymentTypeValidator_10", "ec-contract-opplugin", new Object[0]), contract.getString("name"), payTypeCombo.get(payType))); - } - - } - - protected void prePayTypeValidate(ExtendedDataEntity dataEntity, DynamicObject contract, String payType) { - String contStatus = contract.getString("contstatus"); - if (StringUtils.equals(contStatus, ContractStatusEnum.OVERSETTLE.getValue()) && StringUtils.equals(PlanAmtTypeEnum.PREPAYMENT.getValue(), payType)) { - this.addErrorMessage(dataEntity, String.format(ResManager.loadKDString("合同【%s】已决算,无法进行预付款支付。", "PaymentTypeValidator_7", "ec-contract-opplugin", new Object[0]), contract.getString("name"))); - } - - } - - protected Map getPayTypeCombo() { - MainEntityType paymentType = EntityMetadataCache.getDataEntityType("ec_paymentapply"); - DynamicObject paymentBill = new DynamicObject(paymentType); - DynamicObjectType entryType = paymentBill.getDynamicObjectCollection("entryentity").getDynamicObjectType(); - ComboProp payTypeCombo = (ComboProp)entryType.getProperty("paymenttype"); - List comboItems = payTypeCombo.getComboItems(); - Map payTypeComboMap = new HashMap(comboItems.size()); - Iterator var7 = comboItems.iterator(); - - while(var7.hasNext()) { - ValueMapItem comboItem = (ValueMapItem)var7.next(); - payTypeComboMap.put(comboItem.getValue(), comboItem.getName().getLocaleValue()); - } - - return payTypeComboMap; - } -} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundExtOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundExtOp.java index 9dd5f0b..13c0072 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundExtOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundExtOp.java @@ -14,7 +14,6 @@ import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.ec.contract.opplugin.fund.PaymentApplyFundOp; import kd.ec.contract.opplugin.fund.validator.PaymentMaxAmountValidator; import kd.ec.contract.opplugin.fund.validator.PaymentTypeValidator; -import kd.ec.contract.opplugin.validator.ContractMeasureValidator; import java.math.BigDecimal; import java.util.HashMap; diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundOpExt.java index 09592fc..6b798a6 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentApplyFundOpExt.java @@ -24,13 +24,9 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.DeleteServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.ec.basedata.common.enums.PlanAmtTypeEnum; -import kd.ec.contract.opplugin.fund.validator.PaymentDeductionValidator; -import kd.ec.contract.opplugin.fund.validator.PaymentMaxAmountValidator; -import kd.ec.contract.opplugin.fund.validator.PaymentPlanValidator; -import kd.ec.contract.opplugin.fund.validator.PaymentProgressValidator; -import kd.ec.contract.opplugin.fund.validator.PaymentReferenceValidator; -import kd.ec.contract.opplugin.fund.validator.PaymentTypeValidator; +import kd.ec.contract.opplugin.fund.validator.*; +//付款申请单二开系统插件:提交,审核,反审核操作注册的系统插件(暂废 public class PaymentApplyFundOpExt extends AbstractOperationServicePlugIn { public PaymentApplyFundOpExt() { } @@ -174,6 +170,11 @@ public class PaymentApplyFundOpExt extends AbstractOperationServicePlugIn { for(int var5 = 0; var5 < var4; ++var5) { DynamicObject paymentApply = var3[var5]; DynamicObjectCollection entryCol = paymentApply.getDynamicObjectCollection("entryentity"); + String sourcetype = paymentApply.getString("sourcetype");//付款类型 + if (StringUtils.equals(sourcetype, "01")) { + //非合同付款 + break; + } Iterator var8 = entryCol.iterator(); while(true) { diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentContSubmitOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentContSubmitOpExt.java index 1429d91..8e20452 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentContSubmitOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/PaymentContSubmitOpExt.java @@ -22,6 +22,7 @@ import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.QueryServiceHelper; import kd.ec.basedata.common.enums.ContractStatusEnum; +//付款申请单提交操作插件 public class PaymentContSubmitOpExt extends AbstractOperationServicePlugIn { public PaymentContSubmitOpExt() { } @@ -43,11 +44,21 @@ public class PaymentContSubmitOpExt extends AbstractOperationServicePlugIn { for(int var5 = 0; var5 < var4; ++var5) { ExtendedDataEntity dataEntity = var3[var5]; long newFormId = (Long)dataEntity.getDataEntity().getPkValue(); + int a = 0; + String sourcetype = dataEntity.getDataEntity().getString("sourcetype");//付款类型 + if (StringUtils.equals(sourcetype, "01")) { + //非合同付款 + a++; + } DynamicObjectCollection entryEntity = dataEntity.getDataEntity().getDynamicObjectCollection("entryentity"); for(int i = 0; i < entryEntity.size(); ++i) { DynamicObject row = (DynamicObject)entryEntity.get(i); - DynamicObject contract = row.getDynamicObject("contract"); + DynamicObject contract = null; + if (a == 0) { + //合同付款 + contract = row.getDynamicObject("contract"); + } if (contract != null) { String contStatus = contract.getString("contstatus"); String contName = contract.getString("name");