dobe_comic8/main/java/shkd/repc/recon/opplugin/ContractOPPlugin.java

50 lines
2.1 KiB
Java

package shkd.repc.recon.opplugin;
import kd.bos.dataentity.entity.DynamicObject;
import kd.bos.dataentity.entity.DynamicObjectCollection;
import kd.bos.entity.ExtendedDataEntity;
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
import kd.bos.entity.plugin.AddValidatorsEventArgs;
import kd.bos.entity.validate.AbstractValidator;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import java.math.BigDecimal;
public class ContractOPPlugin extends AbstractOperationServicePlugIn {
private static final Log logger = LogFactory.getLog(ContractOPPlugin.class);
@Override
public void onAddValidators(AddValidatorsEventArgs e) {
super.onAddValidators(e);
e.addValidator(new AbstractValidator() {
@Override
public void validate() {
String operateKey = this.getOperateKey();
ExtendedDataEntity[] dataEntities1 = this.getDataEntities();
switch (operateKey) {
case "submit":
for (ExtendedDataEntity extendedDataEntity : dataEntities1) {
//保证金明细
DynamicObject dataEntity = extendedDataEntity.getDataEntity();
DynamicObjectCollection qeugBondentrys = dataEntity.getDynamicObjectCollection("qeug_bondentry");
BigDecimal qeugMarginlevel = BigDecimal.ZERO;
if (qeugBondentrys.size() > 0) {
for (DynamicObject qeugBondentry : qeugBondentrys) {
qeugMarginlevel = qeugMarginlevel.add(qeugBondentry.getBigDecimal("qeug_marginlevel"));
}
}
if (qeugMarginlevel.compareTo(BigDecimal.valueOf(100)) > 0) {
this.addErrorMessage(extendedDataEntity, "保证金明细:保证金比例(%)之和不能大于100");
}
}
break;
default:
break;
}
}
});
}
}