From f60593547bdc90cf3a624a1783a11c9dab66ba11 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 18 Jun 2025 15:12:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=AE=E6=A0=87=E6=88=90=E6=9C=AC=E8=AF=84?= =?UTF-8?q?=E5=AE=A1=E5=AE=A1=E6=A0=B8=E6=93=8D=E4=BD=9C=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=EF=BC=8C=E7=B3=BB=E7=BB=9F=E4=BA=8C=E5=BC=80=EF=BC=8C=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=E5=8F=8D?= =?UTF-8?q?=E5=86=99=E5=B7=A5=E5=BA=8F=E6=88=90=E6=9C=AC=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E5=90=AF=E7=94=A8=E9=80=BB=E8=BE=91/?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E6=88=90=E6=9C=AC=E9=A2=84=E7=AE=97=E5=8D=95?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=E2=80=9C=E6=98=AF?= =?UTF-8?q?=E5=90=A6=E5=90=AF=E7=94=A8=E2=80=9D=E8=B5=8B=E5=80=BC=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/operate/AimCostBillAuditOp.java | 60 +++++++++++++++++++ .../pr/plugin/operate/AimCostReviewOpExt.java | 3 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostBillAuditOp.java 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); } }