收入与支出合同结算校验去除
This commit is contained in:
parent
a056e71046
commit
7f1ab2e51a
|
@ -29,5 +29,4 @@ public class InContractMeasurementBillEditPlugin extends InContractMeasureBillEd
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
|
import kd.ec.contract.opplugin.InContractSettleOp;
|
||||||
|
import kd.ec.contract.opplugin.validator.ContractMeasureValidator;
|
||||||
|
import kd.ec.contract.opplugin.validator.InContractSettleValidator;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class InContractSettlementOp extends InContractSettleOp {
|
||||||
|
@Override
|
||||||
|
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||||
|
super.onAddValidators(e);
|
||||||
|
List<AbstractValidator> validators = e.getValidators();
|
||||||
|
// 删除标品校验器
|
||||||
|
validators.removeIf(validator -> validator instanceof InContractSettleValidator);
|
||||||
|
|
||||||
|
// 添加定制二开的校验器(位置放第一位,优先执行)
|
||||||
|
validators.add(0, new InContractSettlementValidator());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,46 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.resource.ResManager;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.ec.contract.opplugin.validator.InContractSettleValidator;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class InContractSettlementValidator extends InContractSettleValidator {
|
||||||
|
@Override
|
||||||
|
public void validate() {
|
||||||
|
{
|
||||||
|
ExtendedDataEntity[] dataEntities = this.getDataEntities();
|
||||||
|
ExtendedDataEntity[] var2 = dataEntities;
|
||||||
|
int var3 = dataEntities.length;
|
||||||
|
|
||||||
|
for(int var4 = 0; var4 < var3; ++var4) {
|
||||||
|
ExtendedDataEntity dataEntity = var2[var4];
|
||||||
|
BigDecimal settleOfTaxAmount = dataEntity.getDataEntity().getBigDecimal("settleoftaxamount");
|
||||||
|
DynamicObject contractTemp = dataEntity.getDataEntity().getDynamicObject("contract");
|
||||||
|
if (contractTemp == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DynamicObject contract = BusinessDataServiceHelper.loadSingle(dataEntity.getDataEntity().getDynamicObject("contract").getPkValue(), "ec_in_contract");
|
||||||
|
BigDecimal totalSettleOfTaxAmount = contract.getBigDecimal("totalsettleoftaxamount");
|
||||||
|
BigDecimal totalOfTaxAmount = contract.getBigDecimal("totaloftaxamount");
|
||||||
|
DynamicObject contractType = contract.getDynamicObject("contracttype");
|
||||||
|
DynamicObject contractAttr = contractType == null ? null : contractType.getDynamicObject("contattr");
|
||||||
|
boolean validateAmount = true;
|
||||||
|
if (contractAttr != null) {
|
||||||
|
contractAttr = BusinessDataServiceHelper.loadSingle(contractAttr.getPkValue(), "ec_contattr");
|
||||||
|
validateAmount = !StringUtils.equals("09", contractAttr.getString("basictype"));
|
||||||
|
}
|
||||||
|
|
||||||
|
// if (validateAmount && settleOfTaxAmount.compareTo(totalOfTaxAmount.subtract(totalSettleOfTaxAmount)) > 0) {
|
||||||
|
// this.addErrorMessage(dataEntity, ResManager.loadKDString("本期结算价税合计不能大于合同剩余金额价税合计", "InContractSettleValidator_0", "ec-contract-opplugin", new Object[0]));
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,12 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
|
import kd.ec.contract.opplugin.OutContractSettleOp;
|
||||||
|
|
||||||
|
public class OutContractSettlementOp extends OutContractSettleOp {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||||
|
super.onAddValidators(e);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||||
|
|
||||||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.resource.ResManager;
|
||||||
|
import kd.bos.dataentity.utils.StringUtils;
|
||||||
|
import kd.bos.entity.ExtendedDataEntity;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
import kd.ec.contract.opplugin.validator.OutContractSettleValidator;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
public class OutContractSettlementValidator extends OutContractSettleValidator {
|
||||||
|
@Override
|
||||||
|
protected boolean validateSettleAmount(ExtendedDataEntity dataEntity) {
|
||||||
|
{
|
||||||
|
BigDecimal settleOfTaxAmount = dataEntity.getDataEntity().getBigDecimal("settleoftaxamount");
|
||||||
|
DynamicObject contractTemp = dataEntity.getDataEntity().getDynamicObject("contract");
|
||||||
|
if (contractTemp == null) {
|
||||||
|
this.addErrorMessage(dataEntity, ResManager.loadKDString("合同不可为空。", "OutContractSettleValidator_5", "ec-contract-opplugin", new Object[0]));
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
DynamicObject contract = BusinessDataServiceHelper.loadSingle(dataEntity.getDataEntity().getDynamicObject("contract").getPkValue(), "ec_out_contract");
|
||||||
|
BigDecimal totalSettleOfTaxAmount = contract.getBigDecimal("totalsettleoftaxamount");
|
||||||
|
BigDecimal totalOfTaxAmount = contract.getBigDecimal("totaloftaxamount");
|
||||||
|
DynamicObject contractType = contract.getDynamicObject("contracttype");
|
||||||
|
DynamicObject contractAttr = contractType == null ? null : contractType.getDynamicObject("contattr");
|
||||||
|
boolean validateAmount = true;
|
||||||
|
if (contractAttr != null) {
|
||||||
|
contractAttr = BusinessDataServiceHelper.loadSingle(contractAttr.getPkValue(), "ec_contattr");
|
||||||
|
validateAmount = !StringUtils.equals("09", contractAttr.getString("basictype"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (validateAmount && settleOfTaxAmount.compareTo(totalOfTaxAmount.subtract(totalSettleOfTaxAmount)) > 0) {
|
||||||
|
// this.addErrorMessage(dataEntity, ResManager.loadKDString("本期结算价税合计不能大于合同剩余金额价税合计", "OutContractSettleValidator_0", "ec-contract-opplugin", new Object[0]));
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue