parent
b4f3605d8d
commit
c48838e47b
|
@ -8,6 +8,7 @@ import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||||
import kd.bos.entity.validate.AbstractValidator;
|
import kd.bos.entity.validate.AbstractValidator;
|
||||||
import kd.bos.logging.Log;
|
import kd.bos.logging.Log;
|
||||||
import kd.bos.logging.LogFactory;
|
import kd.bos.logging.LogFactory;
|
||||||
|
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
@ -27,7 +28,13 @@ public class ContractOPPlugin extends AbstractOperationServicePlugIn {
|
||||||
for (ExtendedDataEntity extendedDataEntity : dataEntities1) {
|
for (ExtendedDataEntity extendedDataEntity : dataEntities1) {
|
||||||
//保证金明细
|
//保证金明细
|
||||||
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
|
||||||
DynamicObjectCollection qeugBondentrys = dataEntity.getDynamicObjectCollection("qeug_bondentry");
|
DynamicObjectCollection qeugBondentrys;
|
||||||
|
try {
|
||||||
|
qeugBondentrys = dataEntity.getDynamicObjectCollection("qeug_bondentry");
|
||||||
|
}catch (Exception e){
|
||||||
|
dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(),"recon_contractbill");
|
||||||
|
qeugBondentrys = dataEntity.getDynamicObjectCollection("qeug_bondentry");
|
||||||
|
}
|
||||||
BigDecimal qeugMarginlevel = BigDecimal.ZERO;
|
BigDecimal qeugMarginlevel = BigDecimal.ZERO;
|
||||||
if (!qeugBondentrys.isEmpty()) {
|
if (!qeugBondentrys.isEmpty()) {
|
||||||
for (DynamicObject qeugBondentry : qeugBondentrys) {
|
for (DynamicObject qeugBondentry : qeugBondentrys) {
|
||||||
|
@ -37,6 +44,26 @@ public class ContractOPPlugin extends AbstractOperationServicePlugIn {
|
||||||
if (qeugMarginlevel.compareTo(BigDecimal.valueOf(100)) > 0) {
|
if (qeugMarginlevel.compareTo(BigDecimal.valueOf(100)) > 0) {
|
||||||
this.addErrorMessage(extendedDataEntity, "保证金明细:保证金比例(%)之和不能大于100");
|
this.addErrorMessage(extendedDataEntity, "保证金明细:保证金比例(%)之和不能大于100");
|
||||||
}
|
}
|
||||||
|
//合同清单(定额)
|
||||||
|
DynamicObjectCollection invoiceentryinfos;
|
||||||
|
try {
|
||||||
|
//合同监控列表点击提交会提示找不到:qeug_invoiceentryinfo属性
|
||||||
|
invoiceentryinfos = dataEntity.getDynamicObjectCollection("qeug_invoiceentryinfo");
|
||||||
|
}catch (Exception e){
|
||||||
|
dataEntity = BusinessDataServiceHelper.loadSingle(dataEntity.getPkValue(),"recon_contractbill");
|
||||||
|
invoiceentryinfos = dataEntity.getDynamicObjectCollection("qeug_invoiceentryinfo");
|
||||||
|
}
|
||||||
|
BigDecimal qeug_amounts = BigDecimal.ZERO;//金额(元)_合计
|
||||||
|
if (!invoiceentryinfos.isEmpty()) {
|
||||||
|
for (DynamicObject invoiceentryinfo : invoiceentryinfos) {
|
||||||
|
qeug_amounts = qeug_amounts.add(invoiceentryinfo.getBigDecimal("qeug_amount"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BigDecimal amount = dataEntity.getBigDecimal("amount");//合同金额
|
||||||
|
// 检查 qeug_amounts 是否大于 amount
|
||||||
|
if (qeug_amounts.compareTo(amount) > 0) {
|
||||||
|
this.addErrorMessage(extendedDataEntity, "合同清单(定额)的金额之和不能大于合同金额");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "qeug_attatchment":
|
case "qeug_attatchment":
|
||||||
|
|
Loading…
Reference in New Issue