From eba9c167e1b8ee855cf93d6be6fae63cb661f580 Mon Sep 17 00:00:00 2001 From: zhangzhiguo Date: Thu, 10 Apr 2025 09:48:22 +0800 Subject: [PATCH] =?UTF-8?q?1.=E5=90=88=E5=90=8C=E5=8F=98=E6=9B=B4=E7=A8=8E?= =?UTF-8?q?=E7=8E=87=E4=B8=A2=E5=A4=B1=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/OutContractRevisionBillOpExt.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractRevisionBillOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractRevisionBillOpExt.java index 37c15eb..4e05237 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractRevisionBillOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractRevisionBillOpExt.java @@ -3,6 +3,8 @@ package zcgj.zcdev.zcdev.pr.plugin.operate; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.entity.EntityMetadataCache; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; @@ -22,6 +24,7 @@ import java.util.stream.Stream; public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp { + private static final Log log = LogFactory.getLog(OutContractRevisionBillOpExt.class); private static String selector = (String) Stream.of("totalrevisionamount", "totalrevisionoftaxamount", "totalamount", "totaloftaxamount", "ismultirate", "taxrate", "originalamount", "avgtaxrate", "originaloftaxamount", "taxamount").collect(Collectors.joining(",")); @Override @@ -137,6 +140,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp { } if (changeType == 1 || changeType == 4 || changeType == 5) { + log.info("OutContractRevisionBillOpExt::changeType:" + changeType); DynamicObject listing = (DynamicObject)subEntry.get("listid"); if (listing == null) { continue; @@ -144,6 +148,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp { listing = BusinessDataServiceHelper.loadSingle(listing.getPkValue(), EntityMetadataCache.getDataEntityType("ec_outtreelisting")); if (this.isSingleRateChange(contract, source)) { + log.info("OutContractRevisionBillOpExt::isSingleRateChange"); //如果是单税率变更为多税率的情况下,需要判断综合税率是不是为空,如果当前税率为空,则有可能是单改多 Object curtaxrate = source.get("curtaxrate"); if (curtaxrate != null) { @@ -162,6 +167,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp { } if (this.isMultyRateChange(contract, source)) { + log.info("OutContractRevisionBillOpExt::isMultyRateChange"); boolean ismultirate = source.getBoolean("ismultirate"); Object rateobj = subEntry.get("rateobj"); if(rateobj!=null){ @@ -304,11 +310,17 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp { SaveServiceHelper.save(((DynamicObject)listaddList.get(0)).getDataEntityType(), listaddList.toArray()); } boolean ismultirate = source.getBoolean("ismultirate"); + BigDecimal curavgtaxrate = source.getBigDecimal("curavgtaxrate");//当前综合税率 + if(isSingleRateChangeMultyRate && ismultirate){ + log.info("OutContractRevisionBillOpExt::isSingleRateChangeMultyRate && ismultirate && curavgtaxrate:"+curavgtaxrate); contract.set("ismultirate", true);//多税率 + contract.set("avgtaxrate", curavgtaxrate); } if(isMultyRateChangeSingleRate && !ismultirate){ + log.info("OutContractRevisionBillOpExt::isMultyRateChangeSingleRate && !ismultirate"); contract.set("ismultirate", false);//单税率 + contract.set("avgtaxrate", null); } } else if (operationKey.equals("unaudit")) {