入库单计算支出合同结算单支付项目分录金额插件增加循环处理
This commit is contained in:
parent
475cc8f4f4
commit
27f8682764
|
|
@ -24,6 +24,7 @@ import kd.ec.contract.common.enums.PayDirectionEnum;
|
|||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.HashSet;
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
|
|
@ -46,12 +47,14 @@ public class MaterialInAmountToItemEntryWorkFlowPlugin implements IWorkflowPlugi
|
|||
log.info("MaterialInAmountToItemEntryWorkFlowPlugin:入库单推送支出合同结算单");
|
||||
if(outContractSettleMap != null && !outContractSettleMap.isEmpty()) {
|
||||
log.info("MaterialInAmountToItemEntryWorkFlowPlugin:"+businessKey);
|
||||
Long dataId = (Long) outContractSettleMap.toArray()[0];
|
||||
for (Long dataId : outContractSettleMap) {
|
||||
DynamicObject outContractSettle = BusinessDataServiceHelper.loadSingle(dataId, "ec_out_contract_settle");
|
||||
log.info("MaterialInAmountToItemEntryWorkFlowPlugin-billno:"+outContractSettle.getString("billno"));
|
||||
sumMaterialInAmountToItemEntry(outContractSettle);
|
||||
calAllTypeAmount(outContractSettle);
|
||||
SaveServiceHelper.save(new DynamicObject[]{outContractSettle});
|
||||
|
||||
deleteZeroData(dataId);
|
||||
OperateOption option= OperateOption.create();
|
||||
// option.setVariableValue("ishasright", "true");//此处是跳过校验权限
|
||||
// option.setVariableValue(OperateOptionConst.STRICTVALIDATION, String.valueOf(false));
|
||||
|
|
@ -63,6 +66,7 @@ public class MaterialInAmountToItemEntryWorkFlowPlugin implements IWorkflowPlugi
|
|||
log.info("MaterialInAmountToItemEntryWorkFlowPlugin-result:"+result.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void sumMaterialInAmountToItemEntry(DynamicObject outContractSettle) {
|
||||
DynamicObjectCollection materialInEntry = outContractSettle.getDynamicObjectCollection("materialinentry");
|
||||
|
|
@ -284,4 +288,32 @@ public class MaterialInAmountToItemEntryWorkFlowPlugin implements IWorkflowPlugi
|
|||
outContractSettle.set("totalrealpaytaxamt", totalRealPayTaxAmt);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteZeroData(Long outContractSettleId){
|
||||
DynamicObject outContractSettle = BusinessDataServiceHelper.loadSingle("ec_out_contract_settle",
|
||||
"itementry,itementry.oftaxamount,zcgj_entryentity,zcgj_entryentity.zcgj_oftaxinvoiceamount,zcgj_processallocatentity,zcgj_processallocatentity.zcgj_pa_amount",
|
||||
new QFilter[]{new QFilter("id","=",outContractSettleId)});
|
||||
DynamicObjectCollection itementryCollection = outContractSettle.getDynamicObjectCollection("itementry"); //合同支付项分录
|
||||
for (DynamicObject itementry : itementryCollection) {
|
||||
//删除工序分摊,价税合计为0的数据
|
||||
DynamicObjectCollection dynamicObjectCollection = itementry.getDynamicObjectCollection("zcgj_processallocatentity");
|
||||
dynamicObjectCollection.removeIf(dynamicObject -> dynamicObject.getBigDecimal("zcgj_pa_amount") == null || dynamicObject.getBigDecimal("zcgj_pa_amount").compareTo(BigDecimal.ZERO) == 0);
|
||||
}
|
||||
//删除合同支付项价税合计为0的数据
|
||||
itementryCollection.removeIf(dynamicObject ->
|
||||
//dynamicObject.getBigDecimal("oftaxamount") == null || dynamicObject.getBigDecimal("oftaxamount").compareTo(BigDecimal.ZERO) == 0
|
||||
{
|
||||
boolean isok = dynamicObject.getBigDecimal("oftaxamount") == null || dynamicObject.getBigDecimal("oftaxamount").compareTo(BigDecimal.ZERO) == 0;
|
||||
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("zcgj_processallocatentity");
|
||||
return isok && dynamicObjectCollection.isEmpty();
|
||||
}
|
||||
);
|
||||
|
||||
//删除进项发票价税合计为0的数据
|
||||
DynamicObjectCollection entryentityCollection = outContractSettle.getDynamicObjectCollection("zcgj_entryentity");
|
||||
entryentityCollection.removeIf(dynamicObject -> dynamicObject.getBigDecimal("zcgj_oftaxinvoiceamount") == null || dynamicObject.getBigDecimal("zcgj_oftaxinvoiceamount").compareTo(BigDecimal.ZERO) == 0);
|
||||
|
||||
log.info("MaterialInAmountToItemEntryWorkFlowPlugin-PaAmount");
|
||||
SaveServiceHelper.save(new DynamicObject[]{outContractSettle});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue