From 96921a75ec61e91575426eb500ff507c155a8d2e Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 13 Aug 2025 16:31:36 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/FundingplanapplyPlugin.java | 108 +++++++++++++++++- 1 file changed, 107 insertions(+), 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java index bc775ee..5d10a75 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java @@ -38,6 +38,18 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin } getView().updateView("zcgj_fin_approved_amount"); + //公司资金往来 zcgj_fundplyentry + DynamicObjectCollection fundplyentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fundplyentry"); + QFilter isenable = new QFilter("enable", QCP.equals, true); + DynamicObject[] fundplys = BusinessDataServiceHelper.load("zcgj_fundply", "id,number,name,zcgj_indexitem", new QFilter[]{isenable},"zcgj_indexitem"); + if(fundplys!=null && fundplys.length>0){ + for (DynamicObject fundply : fundplys) { + DynamicObject item = fundplyentry.addNew(); + item.set("zcgj_funditem",fundply); + } + } + getView().updateView("zcgj_fundplyentry"); + //设置期间 DynamicObject org = (DynamicObject) this.getModel().getValue("zcgj_org"); if(org!=null){ @@ -70,6 +82,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin DynamicObject[] load = BusinessDataServiceHelper.load("zcgj_ec_fundingplanapply", "zcgj_period," + "zcgj_infundproject_entry.zcgj_in_fundproject,zcgj_infundproject_entry.zcgj_in_custom,zcgj_infundproject_entry.zcgj_iinitialreceivable " + + ",zcgj_infundproject_entry.zcgj_expectedmonetarycap,zcgj_infundproject_entry.zcgj_expectedmonetaryfund,zcgj_infundproject_entry.zcgj_otheramount,zcgj_infundproject_entry.zcgj_expectedreceivableba "+ ",zcgj_outfundproject_entry.zcgj_out_fundproject,zcgj_outfundproject_entry.zcgj_out_supplier,zcgj_outfundproject_entry.zcgj_openingpayable" + ",createtime", searchFilterList.toArray(new QFilter[]{}), "createtime desc"); @@ -78,6 +91,12 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin DynamicObjectCollection indataentry = data.getDynamicObjectCollection("zcgj_infundproject_entry"); DynamicObjectCollection inentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_infundproject_entry"); inentry.clear(); + //本月计划产值 + + BigDecimal lastplancashamtall = BigDecimal.ZERO; + BigDecimal lastplanbankamtall = BigDecimal.ZERO; + BigDecimal lastotheramtall = BigDecimal.ZERO; + BigDecimal lastplanarbalanceall = BigDecimal.ZERO; for (DynamicObject dynamicObject : indataentry) { DynamicObject newData = inentry.addNew(); newData.set("zcgj_in_fundproject",dynamicObject.get("zcgj_in_fundproject")); @@ -91,6 +110,11 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin } newData.set("zcgj_in_custom",collection); newData.set("zcgj_iinitialreceivable",dynamicObject.get("zcgj_iinitialreceivable")); + + lastplancashamtall = lastplancashamtall.add(dynamicObject.getBigDecimal("zcgj_expectedmonetarycap")); + lastplanbankamtall= lastplanbankamtall.add(dynamicObject.getBigDecimal("zcgj_expectedmonetaryfund")); + lastotheramtall = lastotheramtall.add(dynamicObject.getBigDecimal("zcgj_otheramount")); + lastplanarbalanceall = lastplanarbalanceall.add(dynamicObject.getBigDecimal("zcgj_expectedreceivableba")); } this.getView().updateView("zcgj_infundproject_entry"); @@ -113,7 +137,20 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin newData.set("zcgj_openingpayable",dynamicObject.get("zcgj_openingpayable")); } this.getView().updateView("zcgj_outfundproject_entry"); - } + + //本月预计收款(货币) zcgj_expectedmonetarycap 其中:上月预计收货币资金 zcgj_lastplancashamt + //本月预计收款(承兑)zcgj_expectedmonetaryfund 其中:上月预计收承兑 zcgj_lastplanbankamt + //本月预计收款(其他) zcgj_otheramount 其中:上月预计收其他 zcgj_lastotheramt + //本月预计应收余额 zcgj_expectedreceivableba 上月预计应收余额 zcgj_lastplanarbalance + + DynamicObjectCollection infundlastentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_infundlastentry"); + DynamicObject infundlastentryObject = infundlastentry.addNew(); + infundlastentryObject.set("zcgj_lastplancashamt",lastplancashamtall); + infundlastentryObject.set("zcgj_lastplanbankamt",lastplanbankamtall); + infundlastentryObject.set("zcgj_lastotheramt",lastotheramtall); + infundlastentryObject.set("zcgj_lastplanarbalance",lastplanarbalanceall); + this.getView().updateView("zcgj_infundlastentry"); + } } @@ -145,6 +182,75 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin }else if(name.equals("zcgj_org")){ DynamicObject org = (DynamicObject) changeData.getNewValue(); initData(org); + }else if(name.equals("zcgj_cashamt") || + name.equals("zcgj_bankamt") || + name.equals("zcgj_businessamt") || + name.equals("zcgj_supplyamt") || + name.equals("zcgj_otheramt")){ + int rowIndex = changeData.getRowIndex(); + DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); + //4-5+3 + BigDecimal zcgjCashamt4 = fundplyentry.get(4).getBigDecimal("zcgj_cashamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_cashamt"); + BigDecimal zcgjBankamt4 = fundplyentry.get(4).getBigDecimal("zcgj_bankamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_bankamt"); + BigDecimal zcgjBusinessamt4 = fundplyentry.get(4).getBigDecimal("zcgj_businessamt") == null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_businessamt"); + BigDecimal zcgjSupplyamt4 = fundplyentry.get(4).getBigDecimal("zcgj_supplyamt") == null?BigDecimal.ZERO: fundplyentry.get(4).getBigDecimal("zcgj_supplyamt") ; + BigDecimal zcgjOtheramt4 = fundplyentry.get(4).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(4).getBigDecimal("zcgj_otheramt"); + + BigDecimal zcgjCashamt5 = fundplyentry.get(5).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_cashamt"); + BigDecimal zcgjBankamt5 = fundplyentry.get(5).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_bankamt"); + BigDecimal zcgjBusinessamt5 = fundplyentry.get(5).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_businessamt"); + BigDecimal zcgjSupplyamt5 = fundplyentry.get(5).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_supplyamt"); + BigDecimal zcgjOtheramt5 = fundplyentry.get(5).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_otheramt"); + + + BigDecimal zcgjCashamt3 = fundplyentry.get(3).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_cashamt"); + BigDecimal zcgjBankamt3 = fundplyentry.get(3).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_bankamt"); + BigDecimal zcgjBusinessamt3 = fundplyentry.get(3).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_businessamt"); + BigDecimal zcgjSupplyamt3 = fundplyentry.get(3).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_supplyamt"); + BigDecimal zcgjOtheramt3 = fundplyentry.get(3).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(3).getBigDecimal("zcgj_otheramt"); + + fundplyentry.get(6).set("zcgj_cashamt",zcgjCashamt4.subtract(zcgjCashamt5).add(zcgjCashamt3)); + fundplyentry.get(6).set("zcgj_bankamt",zcgjBankamt4.subtract(zcgjBankamt5).add(zcgjBankamt3)); + fundplyentry.get(6).set("zcgj_businessamt",zcgjBusinessamt4.subtract(zcgjBusinessamt5).add(zcgjBusinessamt3)); + fundplyentry.get(6).set("zcgj_supplyamt",zcgjSupplyamt4.subtract(zcgjSupplyamt5).add(zcgjSupplyamt3)); + fundplyentry.get(6).set("zcgj_otheramt",zcgjOtheramt4.subtract(zcgjOtheramt5).add(zcgjOtheramt3)); + BigDecimal allAmt = fundplyentry.get(6).getBigDecimal("zcgj_cashamt") + .add(fundplyentry.get(6).getBigDecimal("zcgj_bankamt")) + .add(fundplyentry.get(6).getBigDecimal("zcgj_businessamt")) + .add(fundplyentry.get(6).getBigDecimal("zcgj_supplyamt")) + .add(fundplyentry.get(6).getBigDecimal("zcgj_otheramt")); + fundplyentry.get(6).set("zcgj_totalamt",allAmt); + + this.getView().updateView("zcgj_fundplyentry",rowIndex); + this.getView().updateView("zcgj_fundplyentry",6); + + BigDecimal zcgjCashamt2 = fundplyentry.get(2).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_cashamt"); + BigDecimal zcgjBankamt2 = fundplyentry.get(2).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_bankamt"); + BigDecimal zcgjBusinessamt2 = fundplyentry.get(2).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_businessamt"); + BigDecimal zcgjSupplyamt2 = fundplyentry.get(2).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_supplyamt"); + BigDecimal zcgjOtheramt2 = fundplyentry.get(2).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_otheramt"); + + DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fin_approved_amount"); + for (DynamicObject dynamicObject : zcgjFinApprovedAmount) { + String zcgjSetttype = dynamicObject.getString("zcgj_setttype"); + //{"XJ","YHCD","SYCD","GYL","QTJRCP"}; + if("XJ".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjCashamt2); + dynamicObject.set("zcgj_hdamount",zcgjCashamt2); + }else if("YHCD".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjBankamt2); + dynamicObject.set("zcgj_hdamount",zcgjBankamt2); + }else if("SYCD".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjBusinessamt2); + dynamicObject.set("zcgj_hdamount",zcgjBusinessamt2); + }else if("GYL".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjSupplyamt2); + dynamicObject.set("zcgj_hdamount",zcgjSupplyamt2); + }else if("QTJRCP".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjOtheramt2); + dynamicObject.set("zcgj_hdamount",zcgjOtheramt2); + } + } } } From 9acaea9c0262e2b45ab2d78418548fa327eb28bb Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 13 Aug 2025 17:16:18 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=B0=83=E4=BB=A4?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EquipmentCommandBillPlugin.java | 71 ++++++++++++++++--- 1 file changed, 62 insertions(+), 9 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index fd3dc61..60f6a49 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -3,8 +3,12 @@ package zcgj.zcdev.zcdev.pr.plugin.form; import kd.bos.bill.AbstractBillPlugIn; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.ListSelectedRowCollection; import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.bos.form.CloseCallBack; +import kd.bos.form.ShowFormHelper; +import kd.bos.form.events.ClosedCallBackEvent; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectListener; @@ -33,6 +37,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be outProject.addBeforeF7SelectListener(this); BasedataEdit inProject = this.getControl("zcgj_inproject"); //调入项目 inProject.addBeforeF7SelectListener(this); + BasedataEdit zcgj_department = this.getView().getControl("zcgj_department");//部门 + zcgj_department.addBeforeF7SelectListener(this); + BasedataEdit zcgj_org = this.getView().getControl("zcgj_org");//所属组织 + zcgj_org.addBeforeF7SelectListener(this); } @Override @@ -102,7 +110,7 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be } } } - } else if (StringUtil.equals(key, "zcgj_department")){ + } else if (StringUtil.equals(key, "zcgj_department")) { //部门 DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 if (costDept != null) { @@ -125,13 +133,12 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be beforeF7SelectEvent.setCancel(true); return; } - DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织 QFilter filter = new QFilter("org.id", "=", outOrgDy.get("id")); DynamicObject[] equipmentInfos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{filter});//设备台账F7 List equipmentInfoIds = getIdsFromDynamicObjects(equipmentInfos); qFilters.add(new QFilter("id", QCP.in, equipmentInfoIds)); - + formShowParameter.getListFilterParameter().setQFilters(qFilters); } else if (StringUtil.equals(propertyName, "zcgj_outproject")) { // 调出项目 Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织 @@ -140,13 +147,18 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be beforeF7SelectEvent.setCancel(true); return; } - DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织 QFilter filter = new QFilter("fiaccountorg.id", "=", outOrgDy.get("id")); DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目 List projectF7Ids = getIdsFromDynamicObjects(projectF7s); qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); - + beforeF7SelectEvent.setCancel(true); + ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); + ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_outproject")); + ec_ecbd_projectf7.setMultiSelect(false); + ec_ecbd_projectf7.setIsolationOrg(true); + ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); + this.getView().showForm(ec_ecbd_projectf7); } else if (StringUtil.equals(propertyName, "zcgj_inproject")) { //调入项目 Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织 @@ -160,12 +172,53 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter}); List projectF7Ids = getIdsFromDynamicObjects(projectF7s); qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); + beforeF7SelectEvent.setCancel(true); + ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); + ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_inproject")); + ec_ecbd_projectf7.setMultiSelect(false); + ec_ecbd_projectf7.setIsolationOrg(true); + ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); + this.getView().showForm(ec_ecbd_projectf7); + } else if (propertyName.equals("zcgj_department")) { + // 部门 + DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 + if (creator == null) { + return; + } + List id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id")); + qFilters.add(new QFilter("id", QCP.in, id)); + formShowParameter.setCustomParam("isIncludeAllSub", "true"); + formShowParameter.getListFilterParameter().setQFilters(qFilters); + } else if (propertyName.equals("zcgj_org")) { + // 所属组织 + DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 + DynamicObject zcgj_org = (DynamicObject) this.getModel().getValue("zcgj_org");//所属组织 + if (costDept != null && zcgj_org != null) { + DynamicObject orgPattern = costDept.getDynamicObject("orgpattern"); + if (orgPattern == null) { + return; + } + String orgPatternNumber = orgPattern.getString("number"); + if (orgPatternNumber.equals("Orgform06")) { + Long id = (Long) zcgj_org.get("id"); + qFilters.add(new QFilter("id", QCP.in, id)); + formShowParameter.setCustomParam("isIncludeAllSub", "true"); + formShowParameter.getListFilterParameter().setQFilters(qFilters); + } + } } + } -// formShowParameter.setHasRight(true); -// formShowParameter.getCustomParams().put("isIgnoreLicense", true); -// formShowParameter.setIsolationOrg(false); - formShowParameter.getListFilterParameter().setQFilters(qFilters); + public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) { + super.closedCallBack(closedCallBackEvent); + String actionId = closedCallBackEvent.getActionId(); + ListSelectedRowCollection returnData = (ListSelectedRowCollection) closedCallBackEvent.getReturnData(); + if (returnData == null) { + return; + } + Object[] primaryKeyValues = returnData.getPrimaryKeyValues(); + Long primaryKeyValue = (Long) primaryKeyValues[0]; + this.getModel().setValue(actionId, primaryKeyValue); } private List getIdsFromDynamicObjects(DynamicObject[] dynamicObjects) { From 2619a92f08a3ebc216b3eb2d3f52277d1e981c8e Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 10:43:27 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=B0=83=E4=BB=A4?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EquipmentCommandBillPlugin.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index 60f6a49..ca9cf50 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -138,7 +138,6 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be DynamicObject[] equipmentInfos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{filter});//设备台账F7 List equipmentInfoIds = getIdsFromDynamicObjects(equipmentInfos); qFilters.add(new QFilter("id", QCP.in, equipmentInfoIds)); - formShowParameter.getListFilterParameter().setQFilters(qFilters); } else if (StringUtil.equals(propertyName, "zcgj_outproject")) { // 调出项目 Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织 @@ -152,13 +151,13 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目 List projectF7Ids = getIdsFromDynamicObjects(projectF7s); qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); - beforeF7SelectEvent.setCancel(true); - ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); - ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_outproject")); - ec_ecbd_projectf7.setMultiSelect(false); - ec_ecbd_projectf7.setIsolationOrg(true); - ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); - this.getView().showForm(ec_ecbd_projectf7); +// beforeF7SelectEvent.setCancel(true); +// ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); +// ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_outproject")); +// ec_ecbd_projectf7.setMultiSelect(false); +// ec_ecbd_projectf7.setIsolationOrg(true); +// ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); +// this.getView().showForm(ec_ecbd_projectf7); } else if (StringUtil.equals(propertyName, "zcgj_inproject")) { //调入项目 Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织 @@ -172,13 +171,13 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter}); List projectF7Ids = getIdsFromDynamicObjects(projectF7s); qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); - beforeF7SelectEvent.setCancel(true); - ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); - ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_inproject")); - ec_ecbd_projectf7.setMultiSelect(false); - ec_ecbd_projectf7.setIsolationOrg(true); - ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); - this.getView().showForm(ec_ecbd_projectf7); +// beforeF7SelectEvent.setCancel(true); +// ListShowParameter ec_ecbd_projectf7 = ShowFormHelper.createShowListForm("ec_ecbd_projectf7", true); +// ec_ecbd_projectf7.setCloseCallBack(new CloseCallBack(this, "zcgj_inproject")); +// ec_ecbd_projectf7.setMultiSelect(false); +// ec_ecbd_projectf7.setIsolationOrg(true); +// ec_ecbd_projectf7.getListFilterParameter().setQFilters(qFilters); +// this.getView().showForm(ec_ecbd_projectf7); } else if (propertyName.equals("zcgj_department")) { // 部门 DynamicObject creator = this.getModel().getDataEntity().getDynamicObject("creator");//创建人 @@ -188,7 +187,6 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be List id = UserServiceHelper.getOrgsUserJoin(creator.getLong("id")); qFilters.add(new QFilter("id", QCP.in, id)); formShowParameter.setCustomParam("isIncludeAllSub", "true"); - formShowParameter.getListFilterParameter().setQFilters(qFilters); } else if (propertyName.equals("zcgj_org")) { // 所属组织 DynamicObject costDept = (DynamicObject) this.getModel().getValue("zcgj_department");//部门 @@ -203,10 +201,10 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be Long id = (Long) zcgj_org.get("id"); qFilters.add(new QFilter("id", QCP.in, id)); formShowParameter.setCustomParam("isIncludeAllSub", "true"); - formShowParameter.getListFilterParameter().setQFilters(qFilters); } } } + formShowParameter.getListFilterParameter().setQFilters(qFilters); } public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) { From 3dc81d2b33049e94d1939969af5f8e4b60591a5d Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 10:48:18 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BA=8C=E5=BC=80=E6=A0=87=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pr/plugin/form/ProjectControllerExt.java | 188 ++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java new file mode 100644 index 0000000..23dea71 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java @@ -0,0 +1,188 @@ +// +// Source code recreated from a .class file by IntelliJ IDEA +// (powered by FernFlower decompiler) +// + +package zcgj.zcdev.zcdev.pr.plugin.form; + +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import kd.bos.base.AbstractBasedataController; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.utils.StringUtils; +import kd.bos.entity.BillEntityType; +import kd.bos.entity.MainEntityType; +import kd.bos.filter.CommonBaseDataFilterColumn; +import kd.bos.form.FormShowParameter; +import kd.bos.form.IFormView; +import kd.bos.form.field.BasedataEdit; +import kd.bos.form.field.events.BaseDataCustomControllerEvent; +import kd.bos.form.field.events.BasedataControllerSourceEnum; +import kd.bos.list.BillList; +import kd.bos.mvc.list.ListView; +import kd.bos.orm.query.QFilter; +import kd.bos.servicehelper.MetadataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; +import kd.ec.basedata.business.model.cont.ProjectConstant; +import kd.ec.basedata.common.enums.ProjectStatusEnum; +import kd.ec.basedata.common.enums.StatusEnum; +import kd.ec.basedata.common.permission.IIgnoreApp; +import kd.ec.basedata.common.permission.MetaEntityNumberConverter; +import kd.ec.basedata.common.permission.ProjectPermissionHelper; +import kd.ec.basedata.common.utils.MetaDataUtil; + +public class ProjectControllerExt extends AbstractBasedataController implements IIgnoreApp { + public ProjectControllerExt() { + } + + public void buildBaseDataCoreFilter(BaseDataCustomControllerEvent event) { + BasedataControllerSourceEnum sourceEnum = event.getSourceEnum(); + switch (sourceEnum) { + case F7: + this.buildProjectF7Filter(event); + break; + case FUZZY: + this.buildProjectFuzzyFilter(event); + break; + case COMMON: + this.buildProjectCommonFilter(event); + } + + } + + protected void buildProjectF7Filter(BaseDataCustomControllerEvent event) { + if (event.getSource() instanceof BillList) { + BillList source = (BillList) event.getSource(); + if (!this.needIgnoreForF7(source)) { + String entityNum = MetaDataUtil.getEntityNumByF7BillList(source); + String appId = MetaDataUtil.getAppIdByEntityNum(entityNum); + List qFilters = this.buildQFilter(appId, entityNum); + String parentPageId = source.getView().getFormShowParameter().getParentPageId(); + IFormView parentView = source.getView().getViewNoPlugin(parentPageId); + String viewAppId = source.getView().getFormShowParameter().getAppId(); + this.projectStatusFilter(entityNum, viewAppId, event); + event.addQFilters(qFilters); + } + } + } + + protected void buildProjectFuzzyFilter(BaseDataCustomControllerEvent event) { + if (event.getSource() instanceof BasedataEdit) { + BasedataEdit source = (BasedataEdit) event.getSource(); + IFormView billView = source.getView(); + List qFilters = this.buildQFilterByView(billView); + String formId = this.getFormIdByView(billView); + String appId = source.getView().getFormShowParameter().getAppId(); + this.projectStatusFilter(formId, appId, event); + event.addQFilters(qFilters); + } + } + + protected void buildProjectCommonFilter(BaseDataCustomControllerEvent event) { + if (event.getSource() instanceof CommonBaseDataFilterColumn) { + CommonBaseDataFilterColumn source = (CommonBaseDataFilterColumn) event.getSource(); + IFormView view = source.getView(); + List qFilters = this.buildQFilterByView(view); + event.getQfilters().addAll(qFilters); + String formId = this.getFormIdByView(view); + String appId = view.getFormShowParameter().getAppId(); + this.projectStatusFilter(formId, appId, event); + } + } + + protected List buildQFilterByView(IFormView view) { + FormShowParameter formShowParameter = view.getFormShowParameter(); + String formId = MetaDataUtil.getEntityTypeId(formShowParameter); + String appId = formShowParameter.getAppId(); + if (this.needIgnoreForApp(appId)) { + return new ArrayList(); + } else { + String convertToEntityNumber = MetaEntityNumberConverter.getInstance().convertToEntityNumber(formId); + if (StringUtils.isNotEmpty(convertToEntityNumber)) { + formId = convertToEntityNumber; + } + + return this.buildQFilter(appId, formId); + } + } + + protected List buildQFilter(String appId, String entityNum) { + List qFilterList = new ArrayList(); + Set allProjectWithPermission = ProjectPermissionHelper.getAllProjectWithPermission(appId, entityNum); + QFilter idQFilter = new QFilter(ProjectConstant.ID_ENTITY_PK, "in", allProjectWithPermission); + QFilter billStatusFilter = new QFilter("billstatus", "=", StatusEnum.Checked.getValue()); + qFilterList.add(billStatusFilter); + qFilterList.add(idQFilter); + return qFilterList; + } + + protected String getFormIdByView(IFormView view) { + String formId = view.getFormShowParameter().getFormId(); + if (view instanceof ListView) { + formId = ((ListView) view).getBillFormId(); + } + + return formId; + } + + protected void handleCloseAndFinishedProject(IFormView iFormView, String formId, BaseDataCustomControllerEvent event) { + QFilter numberFilter = new QFilter("number", "=", formId); + DynamicObject bosFormMeta = QueryServiceHelper.queryOne("bos_formmeta", "id", new QFilter[]{numberFilter}); + if (bosFormMeta == null && formId.endsWith("_mob")) { + formId = formId.substring(0, formId.length() - 4); + } + + MainEntityType dataEntityType = MetadataServiceHelper.getDataEntityType(formId); + if (!this.isListView(iFormView) && dataEntityType instanceof BillEntityType) { + event.addQFilter(new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue())); + event.addQFilter(new QFilter("status", "!=", ProjectStatusEnum.FINISH.getValue())); + } + + } + + protected boolean isListView(IFormView iFormView) { + return iFormView instanceof ListView; + } + + protected void projectStatusFilter(String formId, String appId, BaseDataCustomControllerEvent event) { + QFilter statusFilter = this.getStatusFilter(formId, appId); + if (statusFilter != null) { + event.addQFilter(statusFilter); + } + + } + + protected QFilter getStatusFilter(String formId, String appId) { + QFilter statusFilter = null; + if (appId == null) { + return null; + } else { + switch (appId) { + case "ecpf": + case "ecsa": + statusFilter = new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue()); + break; + case "cont": + case "ecma": + case "ecco": + case "eceq": + case "ecevm": + case "ecin": + case "ecdes": + statusFilter = new QFilter("status", "!=", ProjectStatusEnum.PAUSE.getValue()); + default: + if (statusFilter == null) { + statusFilter = new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue()); + } else { + statusFilter.and(new QFilter("status", "!=", ProjectStatusEnum.CLOSED.getValue())); + } + + statusFilter.and(new QFilter("status", "!=", ProjectStatusEnum.FINISH.getValue())); + } + + return statusFilter; + } + } +} From 0398ef0bd7ac830ecb1eaa72e36867048a137426 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 10:49:51 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=BA=8C=E5=BC=80=E4=BB=A3=E7=A0=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/pr/plugin/form/ProjectControllerExt.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java index 23dea71..c79a326 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/ProjectControllerExt.java @@ -33,6 +33,9 @@ import kd.ec.basedata.common.permission.MetaEntityNumberConverter; import kd.ec.basedata.common.permission.ProjectPermissionHelper; import kd.ec.basedata.common.utils.MetaDataUtil; +/** + * 工程项目系统代码二开 + */ public class ProjectControllerExt extends AbstractBasedataController implements IIgnoreApp { public ProjectControllerExt() { } @@ -110,11 +113,15 @@ public class ProjectControllerExt extends AbstractBasedataController implements protected List buildQFilter(String appId, String entityNum) { List qFilterList = new ArrayList(); - Set allProjectWithPermission = ProjectPermissionHelper.getAllProjectWithPermission(appId, entityNum); - QFilter idQFilter = new QFilter(ProjectConstant.ID_ENTITY_PK, "in", allProjectWithPermission); + // 注释掉权限过滤相关代码 + // Set allProjectWithPermission = ProjectPermissionHelper.getAllProjectWithPermission(appId, entityNum); + // QFilter idQFilter = new QFilter(ProjectConstant.ID_ENTITY_PK, "in", allProjectWithPermission); + // qFilterList.add(idQFilter); + + // 保留状态过滤(如果需要) QFilter billStatusFilter = new QFilter("billstatus", "=", StatusEnum.Checked.getValue()); qFilterList.add(billStatusFilter); - qFilterList.add(idQFilter); + return qFilterList; } From 6fab72963a2022f2e894b7063b1c09ce0b411cc7 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 14 Aug 2025 11:00:41 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E9=94=81=E5=AE=9A=E8=B4=B9=E7=94=A8?= =?UTF-8?q?=E6=89=BF=E6=8B=85=E9=83=A8=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fs/plugin/form/LockCostdeptPlugin.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java new file mode 100644 index 0000000..6bee557 --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java @@ -0,0 +1,54 @@ +package zcgj.zcdev.zcdev.fs.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.entity.datamodel.events.ChangeData; +import kd.bos.entity.datamodel.events.PropertyChangedArgs; +import kd.sdk.plugin.Plugin; +import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils; + +import java.util.EventObject; + +/** + * 锁定费用承担部门 + */ +public class LockCostdeptPlugin extends AbstractBillPlugIn implements Plugin { + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + DynamicObject company = (DynamicObject)this.getModel().getValue("company"); + setDeptEnable(company); + } + + @Override + public void propertyChanged(PropertyChangedArgs e) { + super.propertyChanged(e); + String name = e.getProperty().getName(); + if(name.equals("company")){ + ChangeData[] changeSet = e.getChangeSet(); + ChangeData changeData = changeSet[0]; + DynamicObject company = (DynamicObject) changeData.getNewValue();//新值 + setDeptEnable(company); + } + } + + private void setDeptEnable(DynamicObject company) { + if(company!=null){ + String number = company.getString("number"); + if(OrgCheckUtils.isKS(company.getLong("id")) + && !"10008491".equals(number) + && !"10009939".equals(number) + && !"cw002000".equals(number) + && !"10006996".equals(number) + && !"10006989".equals(number) + && !"10006982".equals(number) + && !"cw000155".equals(number) + ){ + this.getView().setEnable(false,"costdept"); + }else{ + this.getView().setEnable(true,"costdept"); + } + } + } +} From 9637f4f3cc7e6b286e479ef0d146401b60fc7746 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 13:33:37 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=B0=83=E4=BB=A4?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index ca9cf50..fef5ab4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -134,7 +134,7 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be return; } DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织 - QFilter filter = new QFilter("org.id", "=", outOrgDy.get("id")); + QFilter filter = new QFilter("useorg.id", "=", outOrgDy.get("id"));//设备台账F7-使用组织 DynamicObject[] equipmentInfos = BusinessDataServiceHelper.load("eceq_equipment_info", "id", new QFilter[]{filter});//设备台账F7 List equipmentInfoIds = getIdsFromDynamicObjects(equipmentInfos); qFilters.add(new QFilter("id", QCP.in, equipmentInfoIds)); From 7fe122ccba6f901d53b77a207c3fa8111a6aa4d6 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 14:27:59 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=B0=83=E4=BB=A4?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/EquipmentCommandBillPlugin.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index fef5ab4..568d0c2 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -80,7 +80,7 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be ChangeData changeData = changeSet[0]; Object newValue = changeData.getNewValue();//新值 Object oldValue = changeData.getOldValue();//旧值 - if (newValue == null || !newValue.equals(oldValue)) { + if ((newValue == null || !newValue.equals(oldValue)) && oldValue != null) { if (StringUtil.equals(key, "zcgj_outorg")) { //调出组织 DynamicObjectCollection dispatchEntryCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_dispatchentry");//调出资产详情分录 @@ -100,13 +100,15 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be if (newValue != null) { DynamicObject newValueDy = (DynamicObject) newValue; QFilter[] qFilters = new QFilter[]{new QFilter("billno", QCP.equals, newValueDy.getString("number"))}; - DynamicObject ec_project = BusinessDataServiceHelper.loadSingle("ec_project", "id,zcgj_pm", qFilters);//项目 + DynamicObject ec_project = BusinessDataServiceHelper.loadSingle("ec_project", "id,zcgj_pm,fiaccountorg", qFilters);//项目 if (ec_project != null) { if (StringUtil.equals(key, "zcgj_outproject")) { //调出项目 this.getModel().setValue("zcgj_outuser", ec_project.get("zcgj_pm"));//调出负责人 + this.getModel().setValue("zcgj_outorg", ec_project.get("fiaccountorg"));//调出组织 } else { - this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调出负责人 + this.getModel().setValue("zcgj_inuser", ec_project.get("zcgj_pm"));//调入负责人 + this.getModel().setValue("zcgj_inorg", ec_project.get("fiaccountorg"));//调入组织 } } } @@ -142,8 +144,8 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be // 调出项目 Object outOrg = this.getModel().getValue("zcgj_outorg");//调出组织 if (outOrg == null) { - this.getView().showErrorNotification("请先填写调出组织!"); - beforeF7SelectEvent.setCancel(true); +// this.getView().showErrorNotification("请先填写调出组织!"); +// beforeF7SelectEvent.setCancel(true); return; } DynamicObject outOrgDy = (DynamicObject) outOrg;//调出组织 @@ -162,13 +164,13 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be //调入项目 Object inOrg = this.getModel().getValue("zcgj_inorg");//调入组织 if (inOrg == null) { - this.getView().showErrorNotification("请先填写调入组织!"); - beforeF7SelectEvent.setCancel(true); +// this.getView().showErrorNotification("请先填写调入组织!"); +// beforeF7SelectEvent.setCancel(true); return; } DynamicObject inOrgDy = (DynamicObject) inOrg; QFilter filter = new QFilter("fiaccountorg.id", "=", inOrgDy.get("id")); - DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter}); + DynamicObject[] projectF7s = BusinessDataServiceHelper.load("ec_ecbd_projectf7", "id", new QFilter[]{filter});//工程项目 List projectF7Ids = getIdsFromDynamicObjects(projectF7s); qFilters.add(new QFilter("id", QCP.in, projectF7Ids)); // beforeF7SelectEvent.setCancel(true); From 9cb5c571b9031bf04284be8e577f683246948411 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 14 Aug 2025 15:12:09 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E9=94=81=E5=AE=9A=E8=B4=B9=E7=94=A8?= =?UTF-8?q?=E6=89=BF=E6=8B=85=E9=83=A8=E9=97=A8=E5=92=8C=E5=85=AC=E5=8F=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java index 6bee557..17d4092 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/LockCostdeptPlugin.java @@ -46,8 +46,10 @@ public class LockCostdeptPlugin extends AbstractBillPlugIn implements Plugin { && !"cw000155".equals(number) ){ this.getView().setEnable(false,"costdept"); + this.getView().setEnable(false,"costcompany"); }else{ this.getView().setEnable(true,"costdept"); + this.getView().setEnable(true,"costcompany"); } } } From 23666aaf129b42b79d6a57ad7e44759add10ff96 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 14 Aug 2025 15:12:25 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/FundingplanapplyPlugin.java | 56 +++++++++++-------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java index 5d10a75..b2894b1 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java @@ -97,6 +97,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin BigDecimal lastplanbankamtall = BigDecimal.ZERO; BigDecimal lastotheramtall = BigDecimal.ZERO; BigDecimal lastplanarbalanceall = BigDecimal.ZERO; + BigDecimal lastplanvalall = BigDecimal.ZERO; for (DynamicObject dynamicObject : indataentry) { DynamicObject newData = inentry.addNew(); newData.set("zcgj_in_fundproject",dynamicObject.get("zcgj_in_fundproject")); @@ -115,6 +116,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin lastplanbankamtall= lastplanbankamtall.add(dynamicObject.getBigDecimal("zcgj_expectedmonetaryfund")); lastotheramtall = lastotheramtall.add(dynamicObject.getBigDecimal("zcgj_otheramount")); lastplanarbalanceall = lastplanarbalanceall.add(dynamicObject.getBigDecimal("zcgj_expectedreceivableba")); + lastplanvalall = lastplanvalall.add(dynamicObject.getBigDecimal("zcgj_plannedoutputvalue")); } this.getView().updateView("zcgj_infundproject_entry"); @@ -142,6 +144,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin //本月预计收款(承兑)zcgj_expectedmonetaryfund 其中:上月预计收承兑 zcgj_lastplanbankamt //本月预计收款(其他) zcgj_otheramount 其中:上月预计收其他 zcgj_lastotheramt //本月预计应收余额 zcgj_expectedreceivableba 上月预计应收余额 zcgj_lastplanarbalance + //本月计划产值 zcgj_plannedoutputvalue 上月计划产值 zcgj_lastplanval DynamicObjectCollection infundlastentry = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_infundlastentry"); DynamicObject infundlastentryObject = infundlastentry.addNew(); @@ -149,6 +152,7 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin infundlastentryObject.set("zcgj_lastplanbankamt",lastplanbankamtall); infundlastentryObject.set("zcgj_lastotheramt",lastotheramtall); infundlastentryObject.set("zcgj_lastplanarbalance",lastplanarbalanceall); + infundlastentryObject.set("zcgj_lastplanval",lastplanvalall); this.getView().updateView("zcgj_infundlastentry"); } @@ -224,32 +228,36 @@ public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin this.getView().updateView("zcgj_fundplyentry",rowIndex); this.getView().updateView("zcgj_fundplyentry",6); - BigDecimal zcgjCashamt2 = fundplyentry.get(2).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_cashamt"); - BigDecimal zcgjBankamt2 = fundplyentry.get(2).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_bankamt"); - BigDecimal zcgjBusinessamt2 = fundplyentry.get(2).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_businessamt"); - BigDecimal zcgjSupplyamt2 = fundplyentry.get(2).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_supplyamt"); - BigDecimal zcgjOtheramt2 = fundplyentry.get(2).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(5).getBigDecimal("zcgj_otheramt"); + if(rowIndex == 2){ + BigDecimal amt = (BigDecimal) changeData.getNewValue(); + BigDecimal zcgjCashamt2 = fundplyentry.get(2).getBigDecimal("zcgj_cashamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_cashamt"); + BigDecimal zcgjBankamt2 = fundplyentry.get(2).getBigDecimal("zcgj_bankamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_bankamt"); + BigDecimal zcgjBusinessamt2 = fundplyentry.get(2).getBigDecimal("zcgj_businessamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_businessamt"); + BigDecimal zcgjSupplyamt2 = fundplyentry.get(2).getBigDecimal("zcgj_supplyamt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_supplyamt"); + BigDecimal zcgjOtheramt2 = fundplyentry.get(2).getBigDecimal("zcgj_otheramt")== null?BigDecimal.ZERO:fundplyentry.get(2).getBigDecimal("zcgj_otheramt"); - DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fin_approved_amount"); - for (DynamicObject dynamicObject : zcgjFinApprovedAmount) { - String zcgjSetttype = dynamicObject.getString("zcgj_setttype"); - //{"XJ","YHCD","SYCD","GYL","QTJRCP"}; - if("XJ".equals(zcgjSetttype)){ - dynamicObject.set("zcgj_applymonthamt",zcgjCashamt2); - dynamicObject.set("zcgj_hdamount",zcgjCashamt2); - }else if("YHCD".equals(zcgjSetttype)){ - dynamicObject.set("zcgj_applymonthamt",zcgjBankamt2); - dynamicObject.set("zcgj_hdamount",zcgjBankamt2); - }else if("SYCD".equals(zcgjSetttype)){ - dynamicObject.set("zcgj_applymonthamt",zcgjBusinessamt2); - dynamicObject.set("zcgj_hdamount",zcgjBusinessamt2); - }else if("GYL".equals(zcgjSetttype)){ - dynamicObject.set("zcgj_applymonthamt",zcgjSupplyamt2); - dynamicObject.set("zcgj_hdamount",zcgjSupplyamt2); - }else if("QTJRCP".equals(zcgjSetttype)){ - dynamicObject.set("zcgj_applymonthamt",zcgjOtheramt2); - dynamicObject.set("zcgj_hdamount",zcgjOtheramt2); + DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fin_approved_amount"); + for (DynamicObject dynamicObject : zcgjFinApprovedAmount) { + String zcgjSetttype = dynamicObject.getString("zcgj_setttype"); + //{"XJ","YHCD","SYCD","GYL","QTJRCP"}; + if("XJ".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjCashamt2); + dynamicObject.set("zcgj_hdamount",zcgjCashamt2); + }else if("YHCD".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjBankamt2); + dynamicObject.set("zcgj_hdamount",zcgjBankamt2); + }else if("SYCD".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjBusinessamt2); + dynamicObject.set("zcgj_hdamount",zcgjBusinessamt2); + }else if("GYL".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjSupplyamt2); + dynamicObject.set("zcgj_hdamount",zcgjSupplyamt2); + }else if("QTJRCP".equals(zcgjSetttype)){ + dynamicObject.set("zcgj_applymonthamt",zcgjOtheramt2); + dynamicObject.set("zcgj_hdamount",zcgjOtheramt2); + } } + getView().updateView("zcgj_fin_approved_amount"); } } } From 22a9a56abed387697588995305b74cfeeaa9e515 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Thu, 14 Aug 2025 15:32:05 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E8=B0=83=E4=BB=A4?= =?UTF-8?q?=E5=8D=95=E8=A1=A8=E5=8D=95=E6=8F=92=E4=BB=B6=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java index 568d0c2..fc02fb0 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCommandBillPlugin.java @@ -111,6 +111,15 @@ public class EquipmentCommandBillPlugin extends AbstractBillPlugIn implements Be this.getModel().setValue("zcgj_inorg", ec_project.get("fiaccountorg"));//调入组织 } } + } else { + if (StringUtil.equals(key, "zcgj_outproject")) { + //调出项目 + this.getModel().setValue("zcgj_outuser", null);//调出负责人 + this.getModel().setValue("zcgj_outorg", null);//调出组织 + } else { + this.getModel().setValue("zcgj_inuser", null);//调入负责人 + this.getModel().setValue("zcgj_inorg", null);//调入组织 + } } } else if (StringUtil.equals(key, "zcgj_department")) { //部门