diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java index 86d5a35..187af7c 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/OutContractFinaceConfirmeCkOp.java @@ -2,17 +2,22 @@ package zcgj.zcdev.zcdev.pr.plugin.operate; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.dataentity.utils.StringUtils; 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.form.control.AbstractGrid; public class OutContractFinaceConfirmeCkOp extends AbstractOperationServicePlugIn { public void onPreparePropertys(PreparePropertysEventArgs e) { super.onPreparePropertys(e); e.getFieldKeys().add("zcgj_entryentity"); + e.getFieldKeys().add("zcgj_expenseitementry"); + e.getFieldKeys().add("zcgj_expenseitementry.zcgj_cbs"); + } @Override @@ -27,11 +32,30 @@ public class OutContractFinaceConfirmeCkOp extends AbstractOperationServicePlugI ExtendedDataEntity[] extendedDataEntities = this.getDataEntities(); for (ExtendedDataEntity extendedDataEntity : extendedDataEntities) { DynamicObject dataEntity = extendedDataEntity.getDataEntity(); + DynamicObjectCollection expenseitementry = dataEntity.getDynamicObjectCollection("zcgj_expenseitementry");//发票信息 + if(expenseitementry == null || expenseitementry.isEmpty()){ + this.addFatalErrorMessage(extendedDataEntity, "费用项目分录不能为空!"); + }else{ + int i=0; + for (DynamicObject dynamicObject : expenseitementry) { + i++; + DynamicObject zcgjAccounttype = dynamicObject.getDynamicObject("zcgj_accounttype"); + String number = zcgjAccounttype.getString("number"); + DynamicObject cbs = dynamicObject.getDynamicObject("zcgj_cbs"); + if(StringUtils.equals(number, "FL001") && cbs == null){ //生成成本时,工序必录 + this.addFatalErrorMessage(extendedDataEntity, String.format("费用项目分录,第%d行工序不能为空!",i)); + } + + } + } + DynamicObjectCollection entryentity = dataEntity.getDynamicObjectCollection("zcgj_entryentity");//发票信息 if(entryentity == null || entryentity.isEmpty()){ this.addFatalErrorMessage(extendedDataEntity, "请上传合同进项发票!"); } } + + } } }