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")) {