From 6ce6cb4324040993f415f391846b6cb43850519d Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 27 Nov 2025 18:41:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=BB=B4=E4=BF=AE=E7=A1=AE?= =?UTF-8?q?=E8=AE=A4=E5=8D=95=E7=94=9F=E6=88=90=E6=88=90=E6=9C=AC=E6=97=B6?= =?UTF-8?q?=E5=B7=A5=E5=BA=8F=E5=BF=85=E5=A1=AB=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 8 ++-- .../plugin/form/AimcostcbsbillEditUIExt.java | 8 ++-- .../form/ContractCostSplitBillPluginExt.java | 6 ++- .../form/EquipmentCostSplitFormPluginExt.java | 15 ++++--- .../pr/plugin/operate/AimCostUnauditOp.java | 44 +++++++++++++++++++ 5 files changed, 67 insertions(+), 14 deletions(-) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostUnauditOp.java diff --git a/build.gradle b/build.gradle index de5d57b..043f462 100644 --- a/build.gradle +++ b/build.gradle @@ -175,7 +175,7 @@ subprojects { //} // 打包 zcdev-pr.zip - task zipPr(type: Zip) { + task zipPr(type: Zip,dependsOn: buildJar) { group 'build' description '将生成的 JAR 和相关文件打包成 zip' @@ -202,7 +202,7 @@ subprojects { } // 打包 zcdev-fs.zip - task zipFs(type: Zip) { + task zipFs(type: Zip ,dependsOn: buildJar) { group 'build' description '将生成的 JAR 和相关文件打包成 zip' @@ -229,7 +229,7 @@ subprojects { } // 一次执行全部 zip(可选) - task zipAll(dependsOn: ['buildJar','zipPr', 'zipFs']) { + task zipAll(dependsOn: ['clean','buildJar','zipPr', 'zipFs']) { group 'build' description '同时生成 zcdev-pr.zip 和 zcdev-fs.zip' } @@ -292,7 +292,7 @@ subprojects { } // 一键上传全部 - task a_testuploadAll(dependsOn: ['buildJar','zipPr', 'zipFs','testuploadPr', 'testuploadFs']) { + task a_testuploadAll(dependsOn: ['buildJar','zipAll','testuploadPr', 'testuploadFs']) { group 'deploy' description '一次构建并上传 PR + FS zip' } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/AimcostcbsbillEditUIExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/AimcostcbsbillEditUIExt.java index a6e1360..3198649 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/AimcostcbsbillEditUIExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/AimcostcbsbillEditUIExt.java @@ -353,7 +353,7 @@ public class AimcostcbsbillEditUIExt extends AbstractEccoBillPlugin implements B entryColl.add(newValue); } } - DynamicObjectCollection newInfundprojectEntry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry"); + DynamicObjectCollection newInfundprojectEntry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_infundproject_entry"); //上期项目收入预算 DynamicObjectCollection infundprojectEntry = project.getDynamicObjectCollection("zcgj_infundproject_entry"); if(!infundprojectEntry.isEmpty()) { @@ -364,7 +364,7 @@ public class AimcostcbsbillEditUIExt extends AbstractEccoBillPlugin implements B dynamicObject1.set("zcgj_in_price",dynamicObject.getBigDecimal("zcgj_in_price")); dynamicObject1.set("zcgj_yearamount",dynamicObject.getBigDecimal("zcgj_yearamount")); dynamicObject1.set("zcgj_yearrecamount",dynamicObject.getBigDecimal("zcgj_yearrecamount")); - dynamicObject1.set("zcgj_in_remarks",dynamicObject.getBigDecimal("zcgj_in_remarks")); + dynamicObject1.set("zcgj_in_remarks",dynamicObject.getString("zcgj_in_remarks")); dynamicObject1.set("zcgj_in_seq",dynamicObject.getBigDecimal("zcgj_in_seq")); } @@ -467,7 +467,7 @@ public class AimcostcbsbillEditUIExt extends AbstractEccoBillPlugin implements B super.afterBindData(eventobject); this.setUnitProjectMustinput(); this.refershTreeEnable(); - this.setSumToRow("treeentryentity", new String[]{"oldamount", "pdamount"}); + //this.setSumToRow("treeentryentity", new String[]{"oldamount", "pdamount"}); this.setsubEntryColor(); TreeEntryGrid treeEntry = (TreeEntryGrid) this.getView().getControl("treeentryentity"); treeEntry.setCollapse(false); @@ -717,7 +717,7 @@ public class AimcostcbsbillEditUIExt extends AbstractEccoBillPlugin implements B DynamicObject currency = this.getModel().getDataEntity().getDynamicObject("currency"); floatButtomData.put("amount", CurrencyFormatUtil.getAfterFormatString(currency, totalSubAmount)); subentryGrid.setFloatButtomData(floatButtomData); - this.setSumToRow("treeentryentity", new String[]{"oldamount", "pdamount"}); + //this.setSumToRow("treeentryentity", new String[]{"oldamount", "pdamount"}); } protected void setSumToRow(String tbl, String[] cols) { diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractCostSplitBillPluginExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractCostSplitBillPluginExt.java index 25ba369..2ac2522 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractCostSplitBillPluginExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ContractCostSplitBillPluginExt.java @@ -455,7 +455,11 @@ public class ContractCostSplitBillPluginExt extends AbstractEccoBillPlugin imple if (StringUtils.equals("splitbilltype", number)) { ComboProp property = (ComboProp) this.getModel().getDataEntityType().findProperty(number); cellValue = property.getItemByName(value.toString()); - } else { + }else if(StringUtils.equals("zcgj_costtype", number)){ //二开下拉选择字段导出 + cellValue = ((ComboProp) getModel().getProperty("zcgj_costtype")).getItemByName(value.toString()); + }else if(StringUtils.equals("zcgj_sectype", number)){ + cellValue = ((ComboProp) getModel().getProperty("zcgj_sectype")).getItemByName(value.toString()); + }else { cellValue = value.toString(); } } else { diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCostSplitFormPluginExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCostSplitFormPluginExt.java index a9bc312..d369a39 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCostSplitFormPluginExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCostSplitFormPluginExt.java @@ -115,6 +115,7 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ //二开添加↑ settleSplit.set("curamount", settleList[i].get("curamount")); settleSplit.set("settleid", settleList[i].getPkValue()); + settleSplit.set("zcgj_settlename", settleList[i].getString("billname"));//设备结算单名称 QFilter settleFilter = new QFilter("settlesplitentity.settleno", "=", settleList[i].get("billno")); QFilter statusFilter = new QFilter("billstatus", "=", "C"); DynamicObject[] settleSplits = BusinessDataServiceHelper.load("eceq_costsplit", "settlesplitentity.id,settlesplitentity.cursplitamount,settlesplitentity.settleid", new QFilter[]{settleFilter, statusFilter}); @@ -144,6 +145,7 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ settleSplit.set("cursplitamount", cursplitamount); BigDecimal restsplitamount = curamount.subtract(oldAmount).subtract(cursplitamount); settleSplit.set("restsplitamount", restsplitamount); + // settleSplit.set("remark","折旧"); DynamicObjectCollection entryentityList = settleList[i].getDynamicObjectCollection("entryentity"); DynamicObject unitProject = settleList[i].getDynamicObject("unitproject"); DynamicObjectCollection costSplitDetailList = settleSplit.getDynamicObjectCollection("costsplitentity"); @@ -212,13 +214,15 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ DynamicObject org = (DynamicObject)this.getModel().getValue("org");//所属组织 DynamicObject project = (DynamicObject)this.getModel().getValue("project");//工程项目 DynamicObject splitperiod = (DynamicObject)this.getModel().getValue("splitperiod");//期间 - - if(org!=null){ + if(splitperiod ==null){ + this.getView().showErrorNotification("请选择期间!"); + } + if(org!=null && splitperiod != null){ long orgId = org.getLong("id"); QFilter filterOrgId = new QFilter("zcgj_entryentity.zcgj_zjuseorg", QCP.equals,orgId); filterOrgId.and(new QFilter("billstatus", QCP.equals,"C")); DynamicObject[] equipinfoArray = BusinessDataServiceHelper.load("eceq_equipinfo", - "creator,zcgj_entryentity.zcgj_assperiod,zcgj_entryentity.zcgj_headusedept,zcgj_entryentity.zcgj_entrybillno,zcgj_entryentity.zcgj_shareamount", new QFilter[]{filterOrgId}); + "creator,zcgj_cbs,zcgj_entryentity.zcgj_assperiod,zcgj_entryentity.zcgj_headusedept,zcgj_entryentity.zcgj_entrybillno,zcgj_entryentity.zcgj_shareamount", new QFilter[]{filterOrgId}); DynamicObject[] loadsettle = BusinessDataServiceHelper.load("eceq_settle", "", new QFilter[]{new QFilter("org", "=", org.getLong("id")) @@ -237,7 +241,7 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ eceqsettle.set("begindate",monthStartAndEnd.get("start")); eceqsettle.set("enddate",monthStartAndEnd.get("end")); eceqsettle.set("creator",currentUserId); - eceqsettle.set("billname",org.getString("name")+"设备结算"); + eceqsettle.set("billname",org.getString("name")+"设备折旧费"); eceqsettle.set("billstatus","C"); int i=0; DynamicObjectCollection entryentity = eceqsettle.getDynamicObjectCollection("entryentity");//设备结算分录 @@ -245,6 +249,7 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ for (DynamicObject equipinfo : equipinfoArray) {//设备详情 DynamicObject eceqequipmentinfo = BusinessDataServiceHelper.loadSingle(equipinfo.getLong("id"), "eceq_equipment_info"); DynamicObjectCollection dynamicObjectCollection = equipinfo.getDynamicObjectCollection("zcgj_entryentity");//设备详情折旧信息分录 + DynamicObject zcgjCbs = equipinfo.getDynamicObject("zcgj_cbs"); for (DynamicObject dynamicObject : dynamicObjectCollection) { DynamicObject zcgjAssperiod = dynamicObject.getDynamicObject("zcgj_assperiod"); if(zcgjAssperiod!=null && zcgjAssperiod.getString("number").equals(periodNumber)){ @@ -253,13 +258,13 @@ public class EquipmentCostSplitFormPluginExt extends EquipmentCardListPlugin{ allAmount=allAmount.add(zcgjShareamount); entryentityentity.set("usestartdate",monthStartAndEnd.get("start"));//单价 entryentityentity.set("useenddate",monthStartAndEnd.get("end"));//单价 - entryentityentity.set("unitprice",zcgjShareamount);//单价 entryentityentity.set("amount",zcgjShareamount);//金额 entryentityentity.set("taxprice",zcgjShareamount);//含税单价 entryentityentity.set("taxamount",zcgjShareamount);//含税金额 entryentityentity.set("accountnum",1);//核算数量 entryentityentity.set("equipment",eceqequipmentinfo);//设备名称 + entryentityentity.set("procbs",zcgjCbs);//成本分解结构 entryentityentity.set("zcgj_sectype1","30.20");//设备名称 i++; } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostUnauditOp.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostUnauditOp.java new file mode 100644 index 0000000..68e4800 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/operate/AimCostUnauditOp.java @@ -0,0 +1,44 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package zcgj.zcdev.zcdev.pr.plugin.operate; + +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.plugin.AbstractOperationServicePlugIn; +import kd.bos.entity.plugin.args.EndOperationTransactionArgs; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.SaveServiceHelper; + +import java.util.HashSet; +import java.util.Set; + +//项目成本核算反审核插件 +public class AimCostUnauditOp extends AbstractOperationServicePlugIn { + + + public void endOperationTransaction(EndOperationTransactionArgs e) { + String operationKey = e.getOperationKey(); + DynamicObject[] dataEntities = e.getDataEntities(); + switch (operationKey) { + case "unaudit": + this.updateisenable(dataEntities); + } + + } + + //反写有效标志 + protected void updateisenable(DynamicObject[] dataEntities) { + Set updateBills = new HashSet(); + for (DynamicObject dataEntity : dataEntities) { + long dataId = dataEntity.getLong("id"); + DynamicObject aimcostbillcbs = BusinessDataServiceHelper.loadSingle(dataId, "ecco_aimcostbillcbs", "isenable"); + aimcostbillcbs.set("isenable",false); + updateBills.add(aimcostbillcbs); + } + if (!updateBills.isEmpty()) { + SaveServiceHelper.update((DynamicObject[])updateBills.toArray(new DynamicObject[0])); + } + } +}