1.合同变更税率丢失问题处理
This commit is contained in:
parent
34a9e63c49
commit
eba9c167e1
|
@ -3,6 +3,8 @@ package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.entity.EntityMetadataCache;
|
import kd.bos.entity.EntityMetadataCache;
|
||||||
|
import kd.bos.logging.Log;
|
||||||
|
import kd.bos.logging.LogFactory;
|
||||||
import kd.bos.orm.query.QFilter;
|
import kd.bos.orm.query.QFilter;
|
||||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
||||||
|
@ -22,6 +24,7 @@ import java.util.stream.Stream;
|
||||||
|
|
||||||
public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp {
|
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(","));
|
private static String selector = (String) Stream.of("totalrevisionamount", "totalrevisionoftaxamount", "totalamount", "totaloftaxamount", "ismultirate", "taxrate", "originalamount", "avgtaxrate", "originaloftaxamount", "taxamount").collect(Collectors.joining(","));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -137,6 +140,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (changeType == 1 || changeType == 4 || changeType == 5) {
|
if (changeType == 1 || changeType == 4 || changeType == 5) {
|
||||||
|
log.info("OutContractRevisionBillOpExt::changeType:" + changeType);
|
||||||
DynamicObject listing = (DynamicObject)subEntry.get("listid");
|
DynamicObject listing = (DynamicObject)subEntry.get("listid");
|
||||||
if (listing == null) {
|
if (listing == null) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -144,6 +148,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp {
|
||||||
|
|
||||||
listing = BusinessDataServiceHelper.loadSingle(listing.getPkValue(), EntityMetadataCache.getDataEntityType("ec_outtreelisting"));
|
listing = BusinessDataServiceHelper.loadSingle(listing.getPkValue(), EntityMetadataCache.getDataEntityType("ec_outtreelisting"));
|
||||||
if (this.isSingleRateChange(contract, source)) {
|
if (this.isSingleRateChange(contract, source)) {
|
||||||
|
log.info("OutContractRevisionBillOpExt::isSingleRateChange");
|
||||||
//如果是单税率变更为多税率的情况下,需要判断综合税率是不是为空,如果当前税率为空,则有可能是单改多
|
//如果是单税率变更为多税率的情况下,需要判断综合税率是不是为空,如果当前税率为空,则有可能是单改多
|
||||||
Object curtaxrate = source.get("curtaxrate");
|
Object curtaxrate = source.get("curtaxrate");
|
||||||
if (curtaxrate != null) {
|
if (curtaxrate != null) {
|
||||||
|
@ -162,6 +167,7 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.isMultyRateChange(contract, source)) {
|
if (this.isMultyRateChange(contract, source)) {
|
||||||
|
log.info("OutContractRevisionBillOpExt::isMultyRateChange");
|
||||||
boolean ismultirate = source.getBoolean("ismultirate");
|
boolean ismultirate = source.getBoolean("ismultirate");
|
||||||
Object rateobj = subEntry.get("rateobj");
|
Object rateobj = subEntry.get("rateobj");
|
||||||
if(rateobj!=null){
|
if(rateobj!=null){
|
||||||
|
@ -304,11 +310,17 @@ public class OutContractRevisionBillOpExt extends OutContractRevisionBillOp {
|
||||||
SaveServiceHelper.save(((DynamicObject)listaddList.get(0)).getDataEntityType(), listaddList.toArray());
|
SaveServiceHelper.save(((DynamicObject)listaddList.get(0)).getDataEntityType(), listaddList.toArray());
|
||||||
}
|
}
|
||||||
boolean ismultirate = source.getBoolean("ismultirate");
|
boolean ismultirate = source.getBoolean("ismultirate");
|
||||||
|
BigDecimal curavgtaxrate = source.getBigDecimal("curavgtaxrate");//当前综合税率
|
||||||
|
|
||||||
if(isSingleRateChangeMultyRate && ismultirate){
|
if(isSingleRateChangeMultyRate && ismultirate){
|
||||||
|
log.info("OutContractRevisionBillOpExt::isSingleRateChangeMultyRate && ismultirate && curavgtaxrate:"+curavgtaxrate);
|
||||||
contract.set("ismultirate", true);//多税率
|
contract.set("ismultirate", true);//多税率
|
||||||
|
contract.set("avgtaxrate", curavgtaxrate);
|
||||||
}
|
}
|
||||||
if(isMultyRateChangeSingleRate && !ismultirate){
|
if(isMultyRateChangeSingleRate && !ismultirate){
|
||||||
|
log.info("OutContractRevisionBillOpExt::isMultyRateChangeSingleRate && !ismultirate");
|
||||||
contract.set("ismultirate", false);//单税率
|
contract.set("ismultirate", false);//单税率
|
||||||
|
contract.set("avgtaxrate", null);
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (operationKey.equals("unaudit")) {
|
} else if (operationKey.equals("unaudit")) {
|
||||||
|
|
Loading…
Reference in New Issue