diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java index 7f41b2a..f07ff26 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleBillPlugin.java @@ -22,7 +22,7 @@ import java.util.Date; * 单据界面插件 * 合同结算公共插件插件 */ -public class ContractSettleBillPlugin extends ContractSettleCommonEditPluginExt{ +public class ContractSettleBillPlugin extends ContractSettleCommonEditPlugin{ @Override protected void setDateEditMinAndMaxDate() { @@ -81,9 +81,9 @@ public class ContractSettleBillPlugin extends ContractSettleCommonEditPluginExt{ }else if (StringUtils.equals(name, "zcgj_adjustmounttax")) { //this.adjustAmountTax(changeData); } - } else { + }/* else { this.setDateEditMinAndMaxDate(); - } + }*/ } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleCommonEditPluginExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleCommonEditPluginExt.java index 73a0474..711ea5a 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleCommonEditPluginExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractSettleCommonEditPluginExt.java @@ -289,13 +289,12 @@ public class ContractSettleCommonEditPluginExt extends AbstractContBillPlugin im for(int var7 = 0; var7 < var6; ++var7) { int rowIndex = var5[var7]; itemPayItem = this.getModel().getEntryRowEntity("payitemdetailentry", rowIndex); - detailunitproject = itemPayItem.getDynamicObject("detailpayitem"); - if (detailunitproject != null) { - DynamicObject detailunitproject1 = (DynamicObject)itemPayItem.get("detailunitproject");//二开修改 - String mapKey = (detailunitproject1 != null ? detailunitproject1.getString("id") : "") - + "," + (detailunitproject1 != null ? detailunitproject1.getString("id") : "");//二开修改 -// DynamicObject detailunitproject = (DynamicObject)itemPayItem.get("detailunitproject");//系统标准 -// String mapKey = detailunitproject.getString("id") + "," + (detailunitproject != null ? detailunitproject.getString("id") : "");//系统标准 + DynamicObject detailpayitem = itemPayItem.getDynamicObject("detailpayitem"); + if (detailpayitem != null) { + // 修复:正确获取detailunitproject并生成mapKey + DynamicObject detailunitproject1 = (DynamicObject)itemPayItem.get("detailunitproject"); + String mapKey = detailpayitem.getString("id") + "," + (detailunitproject1 != null ? detailunitproject1.getString("id") : ""); + itemOfTaxAmt = (BigDecimal)ofTaxMap.getOrDefault(mapKey, BigDecimal.ZERO); itemOfTaxAmt = itemOfTaxAmt.add(itemPayItem.getBigDecimal("detailoftaxamt") == null ? BigDecimal.ZERO : itemPayItem.getBigDecimal("detailoftaxamt")); ofTaxMap.put(mapKey, itemOfTaxAmt); @@ -324,9 +323,13 @@ public class ContractSettleCommonEditPluginExt extends AbstractContBillPlugin im } itemEntry = (DynamicObject)iterator.next(); - itemPayItem = itemEntry.getDynamicObject("payitem"); +/* itemPayItem = itemEntry.getDynamicObject("payitem"); detailunitproject = (DynamicObject)itemEntry.get("itemunitproject"); - uniquekey = itemPayItem.getString("id") + "," + (detailunitproject != null ? detailunitproject.getString("id") : ""); + uniquekey = itemPayItem.getString("id") + "," + (detailunitproject != null ? detailunitproject.getString("id") : "");*///系统源码 + itemPayItem = itemEntry.getDynamicObject("payitem");//合同支付项-名称 + DynamicObject itemunitproject = (DynamicObject)itemEntry.get("itemunitproject");//合同支付项-单位工程 + // 修复:正确生成uniquekey以匹配mapKey + uniquekey = itemPayItem.getString("id") + "," + (itemunitproject != null ? itemunitproject.getString("id") : "");//二开修改 } while(!ofTaxMap.containsKey(uniquekey)); BigDecimal itemDetailOfTaxAmt = (BigDecimal)ofTaxMap.getOrDefault(uniquekey, BigDecimal.ZERO);