From 4824ca3b574b01c4b1705f9babfdc9924b0528d3 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Tue, 17 Jun 2025 14:37:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/PaymentApplyFundExtOp.java | 56 ++++++++++--------- 1 file changed, 29 insertions(+), 27 deletions(-) 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 209d7ff..9dd5f0b 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 @@ -22,12 +22,13 @@ import java.util.Iterator; import java.util.List; import java.util.Map; +// 付款申请单提交审核操作插件 public class PaymentApplyFundExtOp extends PaymentApplyFundOp { @Override public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); - // e.getFieldKeys().add("zcgj_pricetype"); + // e.getFieldKeys().add("zcgj_pricetype"); } @Override @@ -48,60 +49,61 @@ public class PaymentApplyFundExtOp extends PaymentApplyFundOp { int var4 = dataEntities.length; label50: - for(int var5 = 0; var5 < var4; ++var5) { + for (int var5 = 0; var5 < var4; ++var5) { DynamicObject paymentApply = var3[var5]; - DynamicObjectCollection entryCol = paymentApply.getDynamicObjectCollection("entryentity"); + DynamicObjectCollection entryCol = paymentApply.getDynamicObjectCollection("entryentity");//付款信息分录 Iterator var8 = entryCol.iterator(); - while(true) { - while(true) { + while (true) { + while (true) { if (!var8.hasNext()) { continue label50; } - DynamicObject entry = (DynamicObject)var8.next(); - DynamicObject contract = entry.getDynamicObject("contract"); - if(contract != null){ - BigDecimal thisApplyOfTaxAmt = entry.getBigDecimal("applyoftaxamount"); - BigDecimal deduction = entry.getBigDecimal("thisdeduction"); - BigDecimal contractDeduction = (BigDecimal)contractDeductionMap.getOrDefault(contract.getLong("id"), BigDecimal.ZERO); + DynamicObject entry = (DynamicObject) var8.next(); + DynamicObject contract = entry.getDynamicObject("contract");//合同名称 + if (contract != null) { + BigDecimal thisApplyOfTaxAmt = entry.getBigDecimal("applyoftaxamount");//本次应付金额⑭ + BigDecimal deduction = entry.getBigDecimal("thisdeduction");//本期预付款抵扣⑬ + BigDecimal contractDeduction = (BigDecimal) contractDeductionMap.getOrDefault(contract.getLong("id"), BigDecimal.ZERO); contractDeductionMap.put(contract.getLong("id"), contractDeduction.add(deduction)); - String type = entry.getString("paymenttype"); + String type = entry.getString("paymenttype");//支付类型 QFilter contractFilter = new QFilter("contract", "=", contract.getLong("id")); QFilter typeFilter = new QFilter("type", "=", type); - DynamicObject node = entry.getDynamicObject("paynode"); - String nodeText = entry.getString("paynodetext"); + DynamicObject node = entry.getDynamicObject("paynode");//节点(隐藏) + String nodeText = entry.getString("paynodetext");//节点 if (node != null) { typeFilter.and("paynode", "=", node.getPkValue()); } else if (StringUtils.isNotEmpty(nodeText)) { typeFilter.and("node", "=", nodeText); } - DynamicObject[] contTypeAmts = BusinessDataServiceHelper.load("ecpf_conttypeamt", "totalshowamt,totaldeductionamt", new QFilter[]{contractFilter, typeFilter}); + DynamicObject[] contTypeAmts = BusinessDataServiceHelper.load("ecpf_conttypeamt", + "totalshowamt,totaldeductionamt", new QFilter[]{contractFilter, typeFilter});//合同的收付类型对应金额单 if (contTypeAmts != null && contTypeAmts.length != 0) { DynamicObject[] var28 = contTypeAmts; int var26 = contTypeAmts.length; - for(int var27 = 0; var27 < var26; ++var27) { + for (int var27 = 0; var27 < var26; ++var27) { DynamicObject contTypeAmt = var28[var27]; - BigDecimal totalShowAmt = contTypeAmt.getBigDecimal("totalshowamt"); + BigDecimal totalShowAmt = contTypeAmt.getBigDecimal("totalshowamt");//合同的收付类型对应金额单-累计应付金额 contTypeAmt.set("totalshowamt", totalShowAmt.add(thisApplyOfTaxAmt)); - BigDecimal totalDeduction = contTypeAmt.getBigDecimal("totaldeductionamt"); + BigDecimal totalDeduction = contTypeAmt.getBigDecimal("totaldeductionamt");//合同的收付类型对应金额单-累计申请抵扣金额 contTypeAmt.set("totaldeductionamt", totalDeduction.add(deduction)); } SaveServiceHelper.save(contTypeAmts); } else { - BigDecimal payRate = entry.getBigDecimal("controlrate"); - MainEntityType entityType = EntityMetadataCache.getDataEntityType("ecpf_conttypeamt"); + BigDecimal payRate = entry.getBigDecimal("controlrate");//付款控制比例(%)③ + MainEntityType entityType = EntityMetadataCache.getDataEntityType("ecpf_conttypeamt");//合同的收付类型对应金额单 DynamicObject newContTypeAmtObj = new DynamicObject(entityType); - newContTypeAmtObj.set("contract", contract); - newContTypeAmtObj.set("type", type); - newContTypeAmtObj.set("ratio", payRate); - newContTypeAmtObj.set("totalshowamt", thisApplyOfTaxAmt); - newContTypeAmtObj.set("totaldeductionamt", deduction); - newContTypeAmtObj.set("paynode", entry.get("paynode")); - newContTypeAmtObj.set("node", entry.get("paynode") == null ? entry.get("paynodetext") : ""); + newContTypeAmtObj.set("contract", contract);//合同 + newContTypeAmtObj.set("type", type);//收付款类型 + newContTypeAmtObj.set("ratio", payRate);//收付款比例(%) + newContTypeAmtObj.set("totalshowamt", thisApplyOfTaxAmt);//累计应付金额 + newContTypeAmtObj.set("totaldeductionamt", deduction);//累计申请抵扣金额 + newContTypeAmtObj.set("paynode", entry.get("paynode"));//节点(隐藏) + newContTypeAmtObj.set("node", entry.get("paynode") == null ? entry.get("paynodetext") : "");//节点 SaveServiceHelper.save(new DynamicObject[]{newContTypeAmtObj}); } }