工序期间成本预算保存提交添加校验:项目加期间加版本的组合是否存在,存在便提示不可重复创建
This commit is contained in:
parent
bdfb0c1658
commit
728ec480c0
|
@ -0,0 +1,56 @@
|
|||
package zcgj.zcdev.zcdev.pr.plugin.operate;
|
||||
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.entity.ExtendedDataEntity;
|
||||
import kd.bos.entity.plugin.AbstractOperationServicePlugIn;
|
||||
import kd.bos.entity.plugin.AddValidatorsEventArgs;
|
||||
import kd.bos.entity.plugin.PreparePropertysEventArgs;
|
||||
import kd.bos.entity.validate.AbstractValidator;
|
||||
import kd.bos.orm.query.QFilter;
|
||||
import kd.bos.servicehelper.BusinessDataServiceHelper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 工序期间成本预算保存提交操作插件;
|
||||
* 说明:校验项目加期间加版本的组合是否存在,存在便提示不可重复创建
|
||||
*/
|
||||
public class PeriodCostBSaveOrSubOp extends AbstractOperationServicePlugIn {
|
||||
|
||||
@Override
|
||||
public void onPreparePropertys(PreparePropertysEventArgs e) {
|
||||
super.onPreparePropertys(e);
|
||||
e.getFieldKeys().add("period");//期间
|
||||
e.getFieldKeys().add("project");//项目
|
||||
e.getFieldKeys().add("versionno");//版本号
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAddValidators(AddValidatorsEventArgs e) {
|
||||
super.onAddValidators(e);
|
||||
e.getValidators().add(new PeriodCostBSaveOrSubOp.ValidatorExt());
|
||||
}
|
||||
|
||||
class ValidatorExt extends AbstractValidator {
|
||||
@Override
|
||||
public void validate() {
|
||||
ExtendedDataEntity[] extendedDataEntities = this.getDataEntities();
|
||||
for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) {
|
||||
DynamicObject extendedData = extendedDataEntity.getDataEntity();
|
||||
DynamicObject project = extendedData.getDynamicObject("project");//项目
|
||||
DynamicObject period = extendedData.getDynamicObject("period");//期间
|
||||
BigDecimal versionNo = extendedData.getBigDecimal("versionno");//版本号
|
||||
QFilter filter = new QFilter("project", "=", project.getPkValue());
|
||||
filter.and(new QFilter("period", "=", period.getPkValue()));
|
||||
filter.and(new QFilter("versionno", "=", versionNo));
|
||||
DynamicObject ecco_periodcostbillcbs = BusinessDataServiceHelper.loadSingle("ecco_periodcostbillcbs", "id", new QFilter[]{filter});
|
||||
if (ecco_periodcostbillcbs != null) {
|
||||
if (extendedData.getPkValue().equals(ecco_periodcostbillcbs.getPkValue())){
|
||||
continue;
|
||||
}
|
||||
this.addFatalErrorMessage(extendedDataEntity, "该期间的项目已编制预算,请勿重复创建!");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue