1.付款申请单实付金额根据付款申请单行号过滤反写功能开发
This commit is contained in:
parent
ed193c4279
commit
e8108297cf
|
@ -7,6 +7,7 @@ import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||||
import kd.bos.entity.validate.AbstractValidator;
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@ -19,7 +20,10 @@ public class OutContractSettleProcessCheckOp extends AbstractOperationServicePl
|
||||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||||
super.onPreparePropertys(e);
|
super.onPreparePropertys(e);
|
||||||
e.getFieldKeys().add("itementry");
|
e.getFieldKeys().add("itementry");
|
||||||
|
e.getFieldKeys().add("itementry.oftaxamount");
|
||||||
e.getFieldKeys().add("zcgj_processallocatentity");
|
e.getFieldKeys().add("zcgj_processallocatentity");
|
||||||
|
e.getFieldKeys().add("contract");
|
||||||
|
//e.getFieldKeys().add("contract.zcgj_pricetype");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -35,19 +39,27 @@ public class OutContractSettleProcessCheckOp extends AbstractOperationServicePl
|
||||||
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
||||||
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||||
DynamicObjectCollection itementryCollection = dataEntity.getDynamicObjectCollection("itementry");
|
DynamicObject contract = dataEntity.getDynamicObject("contract");
|
||||||
int i=1;
|
if (contract != null) {
|
||||||
for (DynamicObject itementry : itementryCollection) {
|
DynamicObject contractObj = BusinessDataServiceHelper.loadSingle(contract.getLong("id"), "ec_out_contract", "zcgj_pricetype");
|
||||||
BigDecimal oftaxamount = itementry.getBigDecimal("oftaxamount");
|
//不定量不定价合同和总价包干合同,zjbg,bdlbdj
|
||||||
DynamicObjectCollection processallocatentityCollection = itementry.getDynamicObjectCollection("zcgj_processallocatentity");
|
if (contractObj.getString("zcgj_pricetype").equals("zjbg")
|
||||||
BigDecimal totalPaAmount = BigDecimal.ZERO;
|
|| contractObj.getString("zcgj_pricetype").equals("bdlbdj")) {
|
||||||
for (DynamicObject dynamicObject : processallocatentityCollection) {
|
DynamicObjectCollection itementryCollection = dataEntity.getDynamicObjectCollection("itementry");
|
||||||
totalPaAmount = totalPaAmount.add(dynamicObject.getBigDecimal("zcgj_pa_amount"));
|
int i=1;
|
||||||
|
for (DynamicObject itementry : itementryCollection) {
|
||||||
|
BigDecimal oftaxamount = itementry.getBigDecimal("oftaxamount");
|
||||||
|
DynamicObjectCollection processallocatentityCollection = itementry.getDynamicObjectCollection("zcgj_processallocatentity");
|
||||||
|
BigDecimal totalPaAmount = BigDecimal.ZERO;
|
||||||
|
for (DynamicObject dynamicObject : processallocatentityCollection) {
|
||||||
|
totalPaAmount = totalPaAmount.add(dynamicObject.getBigDecimal("zcgj_pa_amount"));
|
||||||
|
}
|
||||||
|
if(totalPaAmount.compareTo(oftaxamount)!=0){
|
||||||
|
this.addFatalErrorMessage(extendedDataEntity, "合同支付项第"+i+"条,价税合计金额与工序分摊金额不一致,请重新核对并调整分摊金额,以确保两者相等。");
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(totalPaAmount.compareTo(oftaxamount)!=0){
|
|
||||||
this.addFatalErrorMessage(extendedDataEntity, "合同支付项第"+i+"条,价税合计金额与工序分摊金额不一致,请重新核对并调整分摊金额,以确保两者相等。");
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue