diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostBillAuditOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostBillAuditOp.java new file mode 100644 index 0000000..e2a550b --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostBillAuditOp.java @@ -0,0 +1,60 @@ +package zcgj.zcdev.zcdev.pr.plugin.operate; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.operate.result.OperationResult; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.AfterOperationArgs; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +//工序成本预算单审核通过后“是否启用”赋值 +public class AimCostBillAuditOp extends AbstractOperationServicePlugIn { + public void afterExecuteOperationTransaction(AfterOperationArgs e) { + super.afterExecuteOperationTransaction(e); + String operationKey = e.getOperationKey();//操作标识 + DynamicObject[] dataEntities = e.getDataEntities(); + List modifiedEntities = new ArrayList<>(); + for (DynamicObject model : dataEntities) { + long id = model.getLong("id"); + QFilter f1 = new QFilter("id", "=", id); + DynamicObject dataEntity = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", new QFilter[]{f1});//工序成本预算单 + if (dataEntity == null) { + continue; + } + if (dataEntity.getString("billstatus").equals("C") && operationKey.equals("audit")) { + //单据状态为已审核且操作标识为审核 + dataEntity.set("isenable", true);//是否启用 + BigDecimal versionno; + String zcgj_periodyear = dataEntity.getString("zcgj_periodyear");//年份 + DynamicObject project = dataEntity.getDynamicObject("project");//项目 + versionno = dataEntity.getBigDecimal("versionno");//版本号 + if (versionno != null && versionno.compareTo(BigDecimal.ONE) > 0) { + versionno = versionno.subtract(BigDecimal.ONE);//版本号减1 + } + QFilter filter = new QFilter("zcgj_periodyear", "=", zcgj_periodyear); + filter.and(new QFilter("project", "=", project.getPkValue())); + filter.and(new QFilter("versionno", "=", versionno)); + DynamicObject ecco_aimcostbillcbs = BusinessDataServiceHelper.loadSingle("ecco_aimcostbillcbs", new QFilter[]{filter}); + if (ecco_aimcostbillcbs != null) { + ecco_aimcostbillcbs.set("isenable", false);//是否启用 + modifiedEntities.add(ecco_aimcostbillcbs); + } + } else { + dataEntity.set("isenable", false);//是否启用 + } + modifiedEntities.add(dataEntity); + } + if (!modifiedEntities.isEmpty()) { + try { + SaveServiceHelper.save(modifiedEntities.toArray(new DynamicObject[0])); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + } + } +} diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostReviewOpExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostReviewOpExt.java index 4c3621d..7b6e41b 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostReviewOpExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostReviewOpExt.java @@ -29,6 +29,7 @@ import kd.ec.cost.common.enums.CostReviewFromTypeEnum; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; +//目标成本评审审核操作插件,系统二开,去除审核通过后反写工序成本清单是否启用逻辑 public class AimCostReviewOpExt extends AbstractOperationServicePlugIn { public AimCostReviewOpExt() { } @@ -106,7 +107,7 @@ public class AimCostReviewOpExt extends AbstractOperationServicePlugIn { }).collect(Collectors.toSet()); QFilter idFilter = new QFilter(AimcostcbsConstant.ID_ENTITY_PK, "in", cbsCostIds); DynamicObject[] cbsCostEntities = BusinessDataServiceHelper.load("ecco_aimcostbillcbs", "project,unitproject,isenable,versionno", new QFilter[]{idFilter}); - this.invokeCbsCostAudit(cbsCostEntities); +// this.invokeCbsCostAudit(cbsCostEntities); } }