From 1afa5214717ca9fd0f3fc535752e621651e3694c Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 15:27:20 +0800 Subject: [PATCH 01/22] youhua --- .../pr/task/EquipmentCardTaskPlugin.java | 94 ++++++++++--------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index c283913..72164cf 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -156,53 +156,57 @@ public class EquipmentCardTaskPlugin extends AbstractTask { entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 } } - DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); +// DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); + // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); -// DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "billno,period,period.number,splitdept,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); - // 增强版比较器(自动适配多种日期格式) - for (int i = 0; i < depresplitdetails.size(); i++) { - DynamicObject item = depresplitdetails.get(i); + DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); + DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); + // // 增强版比较器(自动适配多种日期格式) +// for (int i = 0; i < depresplitdetails.size(); i++) { +// DynamicObject item = depresplitdetails.get(i); +//// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); +// } +// Comparator smartComparator = (o1, o2) -> { +// DynamicObject p1 = o1.getDynamicObject("period"); +// DynamicObject p2 = o2.getDynamicObject("period"); +// // 空值处理 +// if (p1 == null && p2 == null) return 0; +// if (p1 == null) return 1; +// if (p2 == null) return -1; +// String c1 = p1.getString("number"); +// String c2 = p2.getString("number"); +// if (c1 == null) c1 = ""; +// if (c2 == null) c2 = ""; +// // 尝试解析为年月 +// for (String pattern : new String[]{"yyyyMM", "yyyy-MM", "yyyy/MM"}) { +// try { +// DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern); +// YearMonth ym1 = YearMonth.parse(c1, fmt); +// YearMonth ym2 = YearMonth.parse(c2, fmt); +// return ym2.compareTo(ym1); // 降序 +// } catch (Exception ignored) {} +// } +// // 纯数字比较(如 "202301") +// try { +// int num1 = Integer.parseInt(c1); +// int num2 = Integer.parseInt(c2); +// return Integer.compare(num2, num1); +// } catch (NumberFormatException e) { +// return c2.compareTo(c1); // 字符串降序 +// } +// }; +// depresplitdetails.sort(smartComparator); +// for (int i = 0; i < depresplitdetails.size(); i++) { +// DynamicObject item = depresplitdetails.get(i); // log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); - } - Comparator smartComparator = (o1, o2) -> { - DynamicObject p1 = o1.getDynamicObject("period"); - DynamicObject p2 = o2.getDynamicObject("period"); - - // 空值处理 - if (p1 == null && p2 == null) return 0; - if (p1 == null) return 1; - if (p2 == null) return -1; - - String c1 = p1.getString("number"); - String c2 = p2.getString("number"); - if (c1 == null) c1 = ""; - if (c2 == null) c2 = ""; - - // 尝试解析为年月 - for (String pattern : new String[]{"yyyyMM", "yyyy-MM", "yyyy/MM"}) { - try { - DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern); - YearMonth ym1 = YearMonth.parse(c1, fmt); - YearMonth ym2 = YearMonth.parse(c2, fmt); - return ym2.compareTo(ym1); // 降序 - } catch (Exception ignored) {} - } - - // 纯数字比较(如 "202301") - try { - int num1 = Integer.parseInt(c1); - int num2 = Integer.parseInt(c2); - return Integer.compare(num2, num1); - } catch (NumberFormatException e) { - return c2.compareTo(c1); // 字符串降序 - } - }; - depresplitdetails.sort(smartComparator); - for (int i = 0; i < depresplitdetails.size(); i++) { - DynamicObject item = depresplitdetails.get(i); - log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); - } - +// } +// //按字段 menuindex 排序 +// Collections.sort(depresplitdetails , new Comparator(){ +// @Override +// public int compare(DynamicObject stu1, DynamicObject stu2) { +// return stu1.getInt("menuindex")-stu2.getInt("menuindex"); +// } +// }); for (DynamicObject depresplitdetail : depresplitdetails) { String billno = depresplitdetail.getString("billno"); DynamicObject period = depresplitdetail.getDynamicObject("period");//折旧区间 From 8321bb3b40e177975b08445c951be01afd80b27d Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 30 Jul 2025 15:47:46 +0800 Subject: [PATCH 02/22] =?UTF-8?q?=E5=AE=9E=E9=99=85=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E7=94=B2=E6=96=B9=E5=80=BC=E7=BC=BA=E5=A4=B1=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/InContractFinaceConfirmeInvoicePlugin.java | 6 ++++-- .../plugin/form/OutContractFinaceConfirmeInvoicePlugin.java | 6 ++++-- .../workflow/InContractSettleFiConfirmWorkFlowPlugin.java | 2 +- .../workflow/InContractSettleInvalidWorkFlowPlugin.java | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeInvoicePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeInvoicePlugin.java index 114053e..2411392 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeInvoicePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/InContractFinaceConfirmeInvoicePlugin.java @@ -281,8 +281,10 @@ public class InContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn im for(int i = selRows.length - 1; i >= 0; --i) { int rowIndex = selRows[i]; DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex); - updateInvoicePks.add(invoice.getPkValue()); - delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue(); + if (invoice != null) { + updateInvoicePks.add(invoice.getPkValue()); + delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue(); + } this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex); } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeInvoicePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeInvoicePlugin.java index c9b8012..f83a28e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeInvoicePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/OutContractFinaceConfirmeInvoicePlugin.java @@ -284,8 +284,10 @@ public class OutContractFinaceConfirmeInvoicePlugin extends AbstractBillPlugIn i for(int i = selRows.length - 1; i >= 0; --i) { int rowIndex = selRows[i]; DynamicObject invoice = (DynamicObject)this.getModel().getValue("zcgj_invoice", rowIndex); - updateInvoicePks.add(invoice.getPkValue()); - delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue(); + if(invoice!=null){ + updateInvoicePks.add(invoice.getPkValue()); + delPks[i] = ((DynamicObject)subEntryEntityCol.get(selRows[i])).getPkValue(); + } this.getModel().deleteEntryRow("zcgj_entryentity", rowIndex); } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleFiConfirmWorkFlowPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleFiConfirmWorkFlowPlugin.java index cc67222..a32a639 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleFiConfirmWorkFlowPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleFiConfirmWorkFlowPlugin.java @@ -44,7 +44,7 @@ public class InContractSettleFiConfirmWorkFlowPlugin implements IWorkflowPlugin inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description")); inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency")); inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); - // getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); + inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.getDynamicObject("zcgj_jscustomer")); inFinaceconfirm.set("billstatus","A"); inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator")); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleInvalidWorkFlowPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleInvalidWorkFlowPlugin.java index 64f1389..e4c11f8 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleInvalidWorkFlowPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/workflow/InContractSettleInvalidWorkFlowPlugin.java @@ -44,7 +44,7 @@ public class InContractSettleInvalidWorkFlowPlugin implements IWorkflowPlugin { inFinaceconfirm.set("zcgj_description",inContractSettle.getString("description")); inFinaceconfirm.set("zcgj_currency",inContractSettle.getDynamicObject("currency")); inFinaceconfirm.set("zcgj_invoice_org",inContractSettle.getDynamicObject("project").getDynamicObject("projectorg")); - // getModel().setValue("zcgj_jscustomer",ecincontractsettle.getDynamicObject("zcgj_jscustomer")); + inFinaceconfirm.set("zcgj_jscustomer",inContractSettle.getDynamicObject("zcgj_jscustomer")); inFinaceconfirm.set("billstatus","C"); inFinaceconfirm.set("zcgj_is_invalid",true); inFinaceconfirm.set("creator",inContractSettle.getDynamicObject("creator")); From e370c05eba395f859cee52e3ef9cee55674cb2c7 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Wed, 30 Jul 2025 15:58:46 +0800 Subject: [PATCH 03/22] =?UTF-8?q?=E4=BB=98=E6=AC=BE=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E8=B4=B9=E7=94=A8=E9=A1=B9=E7=9B=AE=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/PaymentapplyGeneralPlugin.java | 103 ++++++------------ 1 file changed, 32 insertions(+), 71 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyGeneralPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyGeneralPlugin.java index 85f4b7d..291f4d8 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyGeneralPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/PaymentapplyGeneralPlugin.java @@ -5,6 +5,7 @@ import kd.bos.bill.BillShowParameter; import kd.bos.bill.OperationStatus; import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.ChangeData; import kd.bos.entity.datamodel.events.PropertyChangedArgs; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; @@ -14,6 +15,7 @@ import kd.bos.mvc.bill.BillView; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.QueryServiceHelper; +import kd.bos.util.StringUtils; import kd.sdk.plugin.Plugin; import java.util.ArrayList; @@ -58,64 +60,20 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu @Override public void propertyChanged(PropertyChangedArgs e) { super.propertyChanged(e); - String name = e.getProperty().getName(); - /*if("person".equals(name)){ + String billFormId = ((BillView) this.getView()).getFormId();//单据标识 + if("ec_paymentapply".equals(billFormId)) {//付款申请单 + String name = e.getProperty().getName(); ChangeData changeData = e.getChangeSet()[0];//获取改变的数据 - DynamicObject oldValue = (DynamicObject) changeData.getOldValue(); - DynamicObject newValue = (DynamicObject) changeData.getNewValue(); - if(newValue !=null){ - long userid = newValue.getLong("id"); - long mainOrgId = UserServiceHelper.getUserMainOrgId(userid); - List orgsUserJoin = UserServiceHelper.getOrgsUserJoin(userid); - DynamicObject org = (DynamicObject) this.getModel().getValue("fiaccountorg"); - if(org!=null && orgsUserJoin!=null && !orgsUserJoin.isEmpty()){ - Set collect = new HashSet<>(orgsUserJoin); - if(collect.contains(org.getLong("id"))){ - this.getModel().setValue("zcgj_persondepart", org.getLong("id")); - this.getView().updateView("zcgj_persondepart"); - }else{ - this.getModel().setValue("zcgj_persondepart", mainOrgId); - this.getView().updateView("zcgj_persondepart"); - } - }else{ - this.getModel().setValue("zcgj_persondepart", mainOrgId); - this.getView().updateView("zcgj_persondepart"); + if("paymenttype".equals(name)){ + int rowIndex = e.getChangeSet()[0].getRowIndex(); + DynamicObject dataEntity = this.getModel().getDataEntity(true); + DynamicObjectCollection entryentity = (DynamicObjectCollection)dataEntity.get("entryentity"); + if(entryentity != null){ + entryentity.get(rowIndex).set("zcgj_expenseitem", null); + this.getView().updateView("zcgj_expenseitem",rowIndex); } - }else{ - this.getView().showErrorNotification("申请人不能为空"); } - }*/ - /*else if("fiaccountorg".equals(name)){ - ChangeData changeData = e.getChangeSet()[0];//获取改变的数据 - DynamicObject oldValue = (DynamicObject) changeData.getOldValue(); - DynamicObject newValue = (DynamicObject) changeData.getNewValue(); - if(newValue !=null){ - DynamicObject person = this.getModel().getDataEntity().getDynamicObject("person"); - long userid = person.getLong("id"); - long mainOrgId = UserServiceHelper.getUserMainOrgId(userid); - List orgsUserJoin = UserServiceHelper.getOrgsUserJoin(userid); - List allDepartment = UserServiceHelper.getAllDepartmentByUserId(userid); - HasPermOrgResult userHasPermOrgs = PermissionServiceHelper.getUserHasPermOrgs(userid,false); - List hasPermOrgs = userHasPermOrgs.getHasPermOrgs(); - List userDepartment = UserServiceHelper.getUserDepartment(userid, false); - if(hasPermOrgs!=null && !hasPermOrgs.isEmpty()){ - Set collect = new HashSet<>(hasPermOrgs); - if(collect.contains(newValue.getLong("id"))){ - this.getModel().setValue("zcgj_persondepart", newValue.getLong("id")); - this.getView().updateView("zcgj_persondepart"); - }else{ - this.getModel().setValue("zcgj_persondepart", mainOrgId); - this.getView().updateView("zcgj_persondepart"); - } - }else{ - this.getModel().setValue("zcgj_persondepart", mainOrgId); - this.getView().updateView("zcgj_persondepart"); - } - }else{ - this.getView().showErrorNotification("所属组织不能为空!"); - } - - }*/ + } } @Override @@ -139,26 +97,29 @@ public class PaymentapplyGeneralPlugin extends AbstractBillPlugIn implements Plu DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity"); if (dynamicObjectCollection != null) { String paymenttype = dynamicObjectCollection.get(row).getString("paymenttype");//支付类型 + List numbers = new ArrayList<>(); + QFilter biztypefilter = null; if("PREPAYMENT".equals(paymenttype)){ - QFilter biztypefilter = new QFilter("zcgj_biztype", QCP.equals, "50"); //过滤业务单据为支出财务确认单 - //分录过滤 - //使用BusinessDataServiceHelper.load查出来的数据,返回的是符合条件的整单,即使只有分录中的某一行符合条件,也会返回整张单包括其他分录行的数据 - //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行,不含其他行数据 - DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", - "zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单 - List numbers = new ArrayList<>(); - if (accountfeeEntries != null) { - for (DynamicObject dynamicObject : accountfeeEntries) { - String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number"); - if (zcgjAccounttypeNumber != null) { - numbers.add(zcgjAccounttypeNumber); - } + biztypefilter= new QFilter("zcgj_biztype", QCP.equals, "50"); + }else{ + biztypefilter = new QFilter("zcgj_biztype", QCP.not_equals, "50"); + } + //分录过滤 + //使用BusinessDataServiceHelper.load查出来的数据,返回的是符合条件的整单,即使只有分录中的某一行符合条件,也会返回整张单包括其他分录行的数据 + //使用 QueryServiceHelper.query查出来的数据只会包含符合条件的分录行,不含其他行数据 + DynamicObjectCollection accountfeeEntries = QueryServiceHelper.query("zcgj_accountfee", + "zcgj_entryentity.zcgj_fee.number", new QFilter[]{biztypefilter});//费用与科目分类单 + if (accountfeeEntries != null) { + for (DynamicObject dynamicObject : accountfeeEntries) { + String zcgjAccounttypeNumber = dynamicObject.getString("zcgj_entryentity.zcgj_fee.number"); + if (zcgjAccounttypeNumber != null) { + numbers.add(zcgjAccounttypeNumber); } } - QFilter qFilter = new QFilter("number", QCP.in, numbers); - ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); - formShowParameter.getListFilterParameter().getQFilters().add(qFilter); } + QFilter qFilter = new QFilter("number", QCP.in, numbers); + ListShowParameter formShowParameter = (ListShowParameter) beforeF7SelectEvent.getFormShowParameter(); + formShowParameter.getListFilterParameter().getQFilters().add(qFilter); } } From a27f31230c59fa10cc554a186d8e24eaf2f85b48 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 16:04:41 +0800 Subject: [PATCH 04/22] youhua --- .../zcdev/pr/task/EquipmentCardTaskPlugin.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 72164cf..7cf1ead 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -1,7 +1,6 @@ package zcgj.zcdev.zcdev.pr.task; import kd.bos.algo.DataSet; -import kd.bos.algo.Row; import kd.bos.coderule.api.CodeRuleInfo; import kd.bos.coderule.service.cache.CodeRuleCache; import kd.bos.context.RequestContext; @@ -20,7 +19,6 @@ import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; -import zcgj.zcdev.zcdev.pr.plugin.form.AdjustAmountOftaxBillPlugin; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -159,7 +157,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { // DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); - DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); + DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); // // 增强版比较器(自动适配多种日期格式) // for (int i = 0; i < depresplitdetails.size(); i++) { @@ -209,10 +207,13 @@ public class EquipmentCardTaskPlugin extends AbstractTask { // }); for (DynamicObject depresplitdetail : depresplitdetails) { String billno = depresplitdetail.getString("billno"); - DynamicObject period = depresplitdetail.getDynamicObject("period");//折旧区间 - DynamicObject splitdept = depresplitdetail.getDynamicObject("splitdept");//使用部门 + Long periodid = depresplitdetail.getLong("period");//折旧区间 + DynamicObject period = BusinessDataServiceHelper.loadSingle("bd_period", new QFilter[]{new QFilter("id", QCP.equals, periodid)}); + Long splitdeptid = depresplitdetail.getLong("splitdept");//使用部门 + DynamicObject splitdept = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("id", QCP.equals, splitdeptid)}); DynamicObjectCollection assentry = depresplitdetail.getDynamicObjectCollection("assentry"); - DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心 + Long costcentrerid = assentry.get(0).getLong("costcentrer");//成本中心 + DynamicObject costcentrer = BusinessDataServiceHelper.loadSingle("bos_costcenter", new QFilter[]{new QFilter("id", QCP.equals, costcentrerid)}); BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额 DynamicObject addNew = entrys.addNew(); addNew.set("zcgj_debillno", billno); From 565e815ef62e68cd2a65b91a9fb055d69aaf63d9 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 16:16:41 +0800 Subject: [PATCH 05/22] youhua --- .../zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 7cf1ead..758aa66 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -157,7 +157,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { // DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); - DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); + DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); // // 增强版比较器(自动适配多种日期格式) // for (int i = 0; i < depresplitdetails.size(); i++) { @@ -206,12 +206,14 @@ public class EquipmentCardTaskPlugin extends AbstractTask { // } // }); for (DynamicObject depresplitdetail : depresplitdetails) { - String billno = depresplitdetail.getString("billno"); - Long periodid = depresplitdetail.getLong("period");//折旧区间 + long id = depresplitdetail.getLong("id"); + DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id)}); + String billno = loadSingle.getString("billno"); + Long periodid = loadSingle.getLong("period");//折旧区间 DynamicObject period = BusinessDataServiceHelper.loadSingle("bd_period", new QFilter[]{new QFilter("id", QCP.equals, periodid)}); - Long splitdeptid = depresplitdetail.getLong("splitdept");//使用部门 + Long splitdeptid = loadSingle.getLong("splitdept");//使用部门 DynamicObject splitdept = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("id", QCP.equals, splitdeptid)}); - DynamicObjectCollection assentry = depresplitdetail.getDynamicObjectCollection("assentry"); + DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry"); Long costcentrerid = assentry.get(0).getLong("costcentrer");//成本中心 DynamicObject costcentrer = BusinessDataServiceHelper.loadSingle("bos_costcenter", new QFilter[]{new QFilter("id", QCP.equals, costcentrerid)}); BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额 From f6e06271f4533ad6c919c2e281b4b1a1eb77f6ef Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 17:04:37 +0800 Subject: [PATCH 06/22] youhua --- .../zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 758aa66..d1aa2a1 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -209,13 +209,10 @@ public class EquipmentCardTaskPlugin extends AbstractTask { long id = depresplitdetail.getLong("id"); DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id)}); String billno = loadSingle.getString("billno"); - Long periodid = loadSingle.getLong("period");//折旧区间 - DynamicObject period = BusinessDataServiceHelper.loadSingle("bd_period", new QFilter[]{new QFilter("id", QCP.equals, periodid)}); - Long splitdeptid = loadSingle.getLong("splitdept");//使用部门 - DynamicObject splitdept = BusinessDataServiceHelper.loadSingle("bos_adminorg", new QFilter[]{new QFilter("id", QCP.equals, splitdeptid)}); + DynamicObject period = loadSingle.getDynamicObject("period");//折旧区间 + DynamicObject splitdept = loadSingle.getDynamicObject("splitdept");//使用部门 DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry"); - Long costcentrerid = assentry.get(0).getLong("costcentrer");//成本中心 - DynamicObject costcentrer = BusinessDataServiceHelper.loadSingle("bos_costcenter", new QFilter[]{new QFilter("id", QCP.equals, costcentrerid)}); + DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心 BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额 DynamicObject addNew = entrys.addNew(); addNew.set("zcgj_debillno", billno); From 71344fe3d28e06ea6df5edf5b8b45095a9dc8011 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 17:39:50 +0800 Subject: [PATCH 07/22] youhua --- .../zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java | 2 +- .../java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index 5909806..c6c8aeb 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -107,7 +107,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi long timestamp=date.getTime(); //时间戳 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置格式 String timeText=format.format(timestamp); - DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("number", QCP.equals, number)}); + DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index d1aa2a1..dbd357d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -81,7 +81,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { long timestamp=date.getTime(); //时间戳 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //设置格式 String timeText=format.format(timestamp); - DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("number", QCP.equals, number)}); + DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); } From eaeadf539801e24362e78a00a54e81b0129dc958 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Wed, 30 Jul 2025 17:47:14 +0800 Subject: [PATCH 08/22] youhua --- .../pr/task/EquipmentCardTaskPlugin.java | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index dbd357d..421e1fe 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -142,18 +142,18 @@ public class EquipmentCardTaskPlugin extends AbstractTask { } DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("number", QCP.equals, number)}); if (eceq_equipment != null) { - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式 - String ym = sd.format(date); +// SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式 +// String ym = sd.format(date); DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity"); - QFilter qf = new QFilter("realcard.number", QCP.equals, number); - if (entrys.size() > 0) {//若分录行数大于0 则取上月的 - qf.and(new QFilter("billno", QCP.in, ym)); - for (int i = 0; i < entrys.size(); i++) { - DynamicObject entry = entrys.get(i); - String zcgjDebillno = entry.getString("zcgj_debillno"); - entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 - } - } +// QFilter qf = new QFilter("realcard.number", QCP.equals, number); +// if (entrys.size() > 0) {//若分录行数大于0 则取上月的 +// qf.and(new QFilter("billno", QCP.in, ym)); +// for (int i = 0; i < entrys.size(); i++) { +// DynamicObject entry = entrys.get(i); +// String zcgjDebillno = entry.getString("zcgj_debillno"); +// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 +// } +// } // DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); From 963e5f0864dc71243fc1cc497700c2e076ad6b37 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 10:02:44 +0800 Subject: [PATCH 09/22] youhua --- .../pr/task/EquipmentCardTaskPlugin.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 421e1fe..aad0bf9 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -142,22 +142,23 @@ public class EquipmentCardTaskPlugin extends AbstractTask { } DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("number", QCP.equals, number)}); if (eceq_equipment != null) { -// SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式 -// String ym = sd.format(date); + SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式 + String ym = sd.format(date); DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity"); -// QFilter qf = new QFilter("realcard.number", QCP.equals, number); -// if (entrys.size() > 0) {//若分录行数大于0 则取上月的 -// qf.and(new QFilter("billno", QCP.in, ym)); -// for (int i = 0; i < entrys.size(); i++) { -// DynamicObject entry = entrys.get(i); -// String zcgjDebillno = entry.getString("zcgj_debillno"); -// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 -// } -// } + QFilter qf = new QFilter("realcard.number", QCP.equals, number); + if (entrys.size() > 0) {//若分录行数大于0 则取上月的 + qf.and(new QFilter("billno", QCP.in, ym)); + for (int i = 0; i < entrys.size(); i++) { + DynamicObject entry = entrys.get(i); + String zcgjDebillno = entry.getString("zcgj_debillno"); + entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 + } + } // DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); - DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", qFilter.toArray(), "period.number DESC", 1); + DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", + new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC"); DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); // // 增强版比较器(自动适配多种日期格式) // for (int i = 0; i < depresplitdetails.size(); i++) { From 1897d56193b965fc7e2e32bd7525b9cc63cb7f90 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 12:42:26 +0800 Subject: [PATCH 10/22] youhua --- .../pr/task/EquipmentCardTaskPlugin.java | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index aad0bf9..4f06695 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -28,6 +28,8 @@ import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.*; +import static com.icbc.api.internal.apache.http.h.d.ym; + /** * 实物卡片同步设备定时任务 */ @@ -84,6 +86,9 @@ public class EquipmentCardTaskPlugin extends AbstractTask { DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); + equipmentcard.set("number",eceq_equipment_card.getString("number"));//设备编号 + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } equipmentcard.set("billno",timeText);//单据编号 @@ -91,7 +96,6 @@ public class EquipmentCardTaskPlugin extends AbstractTask { equipmentcard.set("billstatus","C");// equipmentcard.set("enable","1");//可用 equipmentcard.set("property","OWN");//设备性质 - equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 equipmentcard.set("name",assetname);//设备名称 equipmentcard.set("modelnum",model);//规格型号 equipmentcard.set("indate",realaccountdate);//入库日期 @@ -142,24 +146,22 @@ public class EquipmentCardTaskPlugin extends AbstractTask { } DynamicObject eceq_equipment = BusinessDataServiceHelper.loadSingle("eceq_equipinfo", new QFilter[]{new QFilter("number", QCP.equals, number)}); if (eceq_equipment != null) { - SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM"); //设置格式 - String ym = sd.format(date); DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity"); QFilter qf = new QFilter("realcard.number", QCP.equals, number); if (entrys.size() > 0) {//若分录行数大于0 则取上月的 - qf.and(new QFilter("billno", QCP.in, ym)); for (int i = 0; i < entrys.size(); i++) { DynamicObject entry = entrys.get(i); - String zcgjDebillno = entry.getString("zcgj_debillno"); - entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 + long billnoid = entry.getLong("zcgj_debillno"); + qf.and(new QFilter("id", QCP.not_equals, billnoid)); +// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 } } -// DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); + DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "id,billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); // DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); - DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", - new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC"); - DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); +// DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", +// new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC"); +// DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); // // 增强版比较器(自动适配多种日期格式) // for (int i = 0; i < depresplitdetails.size(); i++) { // DynamicObject item = depresplitdetails.get(i); @@ -199,24 +201,28 @@ public class EquipmentCardTaskPlugin extends AbstractTask { // DynamicObject item = depresplitdetails.get(i); // log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); // } -// //按字段 menuindex 排序 -// Collections.sort(depresplitdetails , new Comparator(){ -// @Override -// public int compare(DynamicObject stu1, DynamicObject stu2) { -// return stu1.getInt("menuindex")-stu2.getInt("menuindex"); -// } -// }); + //按字段 menuindex 排序 + Collections.sort(depresplitdetails , new Comparator(){ + @Override + public int compare(DynamicObject o1, DynamicObject o2) { + long id1 = o1.getLong("id"); + DynamicObject oo1 = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id1)}); + long id2 = o2.getLong("id"); + DynamicObject oo2 = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id2)}); + return oo2.getDynamicObject("period").getString("number").compareTo(oo1.getDynamicObject("period").getString("number")); + } + }); for (DynamicObject depresplitdetail : depresplitdetails) { long id = depresplitdetail.getLong("id"); DynamicObject loadSingle = BusinessDataServiceHelper.loadSingle("fa_depresplitdetail", new QFilter[]{new QFilter("id", QCP.equals, id)}); - String billno = loadSingle.getString("billno"); +// String billnoid = loadSingle.getString("billno"); DynamicObject period = loadSingle.getDynamicObject("period");//折旧区间 DynamicObject splitdept = loadSingle.getDynamicObject("splitdept");//使用部门 DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry"); DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心 BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额 DynamicObject addNew = entrys.addNew(); - addNew.set("zcgj_debillno", billno); + addNew.set("zcgj_debillno", id); addNew.set("zcgj_assperiod", period); addNew.set("zcgj_headusedept", splitdept); addNew.set("zcgj_entrybillno", number); From 632ef9bef78b800dde78cce000d054b3ea6ebe32 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 14:20:03 +0800 Subject: [PATCH 11/22] youhua --- .../java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 4f06695..96527c4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -28,7 +28,6 @@ import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.*; -import static com.icbc.api.internal.apache.http.h.d.ym; /** * 实物卡片同步设备定时任务 From 47437dd7e1cbda5d70ca393998544a30a016cd59 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 15:01:48 +0800 Subject: [PATCH 12/22] youhua --- .../pr/task/EquipmentCardTaskPlugin.java | 115 +++++++++--------- 1 file changed, 60 insertions(+), 55 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 96527c4..de124fd 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -147,60 +147,16 @@ public class EquipmentCardTaskPlugin extends AbstractTask { if (eceq_equipment != null) { DynamicObjectCollection entrys = eceq_equipment.getDynamicObjectCollection("zcgj_entryentity"); QFilter qf = new QFilter("realcard.number", QCP.equals, number); - if (entrys.size() > 0) {//若分录行数大于0 则取上月的 - for (int i = 0; i < entrys.size(); i++) { - DynamicObject entry = entrys.get(i); - long billnoid = entry.getLong("zcgj_debillno"); - qf.and(new QFilter("id", QCP.not_equals, billnoid)); -// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 - } - } +// if (entrys.size() > 0) {//若分录行数大于0 则取上月的 +// for (int i = 0; i < entrys.size(); i++) { +// DynamicObject entry = entrys.get(i); +// long billnoid = entry.getLong("zcgj_debillno"); +// qf.and(new QFilter("id", QCP.not_equals, billnoid)); +//// entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 +// } +// } DynamicObjectCollection depresplitdetails = QueryServiceHelper.query("fa_depresplitdetail", "id,billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); - -// DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); -// DataSet rows = QueryServiceHelper.queryDataSet(this.getClass().getName(), "fa_depresplitdetail", "id,billno,period,splitdept,assentry,assentry.costcentrer,assentry.splitamount", -// new QFilter[]{new QFilter("realcard.number", QCP.equals, number)}, "period.number DESC"); -// DynamicObjectCollection depresplitdetails = ORM.create().toPlainDynamicObjectCollection(rows.copy()); - // // 增强版比较器(自动适配多种日期格式) -// for (int i = 0; i < depresplitdetails.size(); i++) { -// DynamicObject item = depresplitdetails.get(i); -//// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); -// } -// Comparator smartComparator = (o1, o2) -> { -// DynamicObject p1 = o1.getDynamicObject("period"); -// DynamicObject p2 = o2.getDynamicObject("period"); -// // 空值处理 -// if (p1 == null && p2 == null) return 0; -// if (p1 == null) return 1; -// if (p2 == null) return -1; -// String c1 = p1.getString("number"); -// String c2 = p2.getString("number"); -// if (c1 == null) c1 = ""; -// if (c2 == null) c2 = ""; -// // 尝试解析为年月 -// for (String pattern : new String[]{"yyyyMM", "yyyy-MM", "yyyy/MM"}) { -// try { -// DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern); -// YearMonth ym1 = YearMonth.parse(c1, fmt); -// YearMonth ym2 = YearMonth.parse(c2, fmt); -// return ym2.compareTo(ym1); // 降序 -// } catch (Exception ignored) {} -// } -// // 纯数字比较(如 "202301") -// try { -// int num1 = Integer.parseInt(c1); -// int num2 = Integer.parseInt(c2); -// return Integer.compare(num2, num1); -// } catch (NumberFormatException e) { -// return c2.compareTo(c1); // 字符串降序 -// } -// }; -// depresplitdetails.sort(smartComparator); -// for (int i = 0; i < depresplitdetails.size(); i++) { -// DynamicObject item = depresplitdetails.get(i); -// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); -// } - //按字段 menuindex 排序 + log.info("前depresplitdetails:"+depresplitdetails.toArray().toString() + "长度:"+depresplitdetails.size()); Collections.sort(depresplitdetails , new Comparator(){ @Override public int compare(DynamicObject o1, DynamicObject o2) { @@ -211,7 +167,10 @@ public class EquipmentCardTaskPlugin extends AbstractTask { return oo2.getDynamicObject("period").getString("number").compareTo(oo1.getDynamicObject("period").getString("number")); } }); - for (DynamicObject depresplitdetail : depresplitdetails) { + log.info("后depresplitdetails:"+depresplitdetails.toArray().toString() + "长度:"+depresplitdetails.size()); + entrys.clear(); + for (int x = 0 ; x smartComparator = (o1, o2) -> { +// DynamicObject p1 = o1.getDynamicObject("period"); +// DynamicObject p2 = o2.getDynamicObject("period"); +// // 空值处理 +// if (p1 == null && p2 == null) return 0; +// if (p1 == null) return 1; +// if (p2 == null) return -1; +// String c1 = p1.getString("number"); +// String c2 = p2.getString("number"); +// if (c1 == null) c1 = ""; +// if (c2 == null) c2 = ""; +// // 尝试解析为年月 +// for (String pattern : new String[]{"yyyyMM", "yyyy-MM", "yyyy/MM"}) { +// try { +// DateTimeFormatter fmt = DateTimeFormatter.ofPattern(pattern); +// YearMonth ym1 = YearMonth.parse(c1, fmt); +// YearMonth ym2 = YearMonth.parse(c2, fmt); +// return ym2.compareTo(ym1); // 降序 +// } catch (Exception ignored) {} +// } +// // 纯数字比较(如 "202301") +// try { +// int num1 = Integer.parseInt(c1); +// int num2 = Integer.parseInt(c2); +// return Integer.compare(num2, num1); +// } catch (NumberFormatException e) { +// return c2.compareTo(c1); // 字符串降序 +// } +// }; +// depresplitdetails.sort(smartComparator); +// for (int i = 0; i < depresplitdetails.size(); i++) { +// DynamicObject item = depresplitdetails.get(i); +// log.info("排序前 " + i + ": " + item.getDynamicObject("period").getString("number")); +// } +//按字段 menuindex 排序 \ No newline at end of file From ca4fc13b7c13c18e5e9a574f70807ee410be4cbf Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 15:41:13 +0800 Subject: [PATCH 13/22] youhua --- .../zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index de124fd..8a38e24 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -85,11 +85,13 @@ public class EquipmentCardTaskPlugin extends AbstractTask { DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); - equipmentcard.set("number",eceq_equipment_card.getString("number"));//设备编号 + } + String cardString = eceq_equipment_card.getString("number"); + if(!cardString.isEmpty() && cardString!=null){ + equipmentcard.set("number",cardString);//设备编号 }else{ equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } - equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// @@ -179,7 +181,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { DynamicObjectCollection assentry = loadSingle.getDynamicObjectCollection("assentry"); DynamicObject costcentrer = assentry.get(0).getDynamicObject("costcentrer");//成本中心 BigDecimal splitamount = assentry.get(0).getBigDecimal("splitamount");//分摊金额 - DynamicObject addNew = new DynamicObject(assentry.getDynamicObjectType()); + DynamicObject addNew = new DynamicObject(entrys.getDynamicObjectType()); addNew.set("zcgj_debillno", id); addNew.set("zcgj_assperiod", period); addNew.set("zcgj_headusedept", splitdept); From 34f30062f9c57ca622fbb877d1787e134c848df4 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 17:26:03 +0800 Subject: [PATCH 14/22] youhua --- .../plugin/form/EquipmentCardListPlugin.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index c6c8aeb..b00296e 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -51,17 +51,6 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi super.itemClick(evt); String itemKey = evt.getItemKey(); if (itemKey.equals("zcgj_idle")){//闲置 - Set setIds = getSelectOrderIds(this.getSelectedRows()); - DynamicObject[] equipments = BusinessDataServiceHelper.load("eceq_equipment_card", "billno,billname,equipstatus", new QFilter[]{new QFilter("id", "in", setIds)}); - for (DynamicObject equipment : equipments) { - equipment.set("equipstatus","FREE"); - } - Object[] save = SaveServiceHelper.save(equipments); - System.out.println(); - this.getView().showMessage("闲置成功!"); - IFormView view = this.getView(); - view.invokeOperation("refresh"); - } else if (itemKey.equals("zcgj_asset")) {//同步资产卡片 Set strings = new HashSet(); DynamicObject[] equipmenttype = BusinessDataServiceHelper.load("zcgj_equipmenttype", "number,zcgj_assetcat",new QFilter[]{new QFilter("zcgj_assetcat.number", QCP.is_notnull,"" )}); for (DynamicObject dynamicObject : equipmenttype) { @@ -111,13 +100,17 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); } - + String cardString = eceq_equipment_card.getString("number"); + if(!cardString.isEmpty() && cardString!=null){ + equipmentcard.set("number",cardString);//设备编号 + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 + } equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// equipmentcard.set("enable","1");//可用 equipmentcard.set("property","OWN");//设备性质 - equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 equipmentcard.set("name",assetname);//设备名称 equipmentcard.set("modelnum",model);//规格型号 equipmentcard.set("indate",realaccountdate);//入库日期 From 3ab2957c62d1b8355cc7e770efeb859ff8ce484b Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 31 Jul 2025 18:46:13 +0800 Subject: [PATCH 15/22] =?UTF-8?q?1.=E7=BB=84=E7=BB=87=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=B1=BB=E4=BC=98=E5=8C=96=202.=E8=81=8C=E5=8A=A1=E6=B6=88?= =?UTF-8?q?=E8=B4=B9=E5=8F=B0=E8=B4=A6=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= =?UTF-8?q?=203.=E8=AE=A1=E7=AE=97=E6=89=A3=E9=99=A4=E9=A4=90=E8=A1=A5?= =?UTF-8?q?=E5=A4=A9=E6=95=B0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/TriprAutoCalWorkingDaysPlugin.java | 21 ++++++++++++++++--- .../report/PositionFeesRptListPlugin.java | 6 +++++- .../zcdev/zcdev/fs/utils/OrgCheckUtils.java | 9 ++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java index 72a6ab9..73de4fe 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/form/TriprAutoCalWorkingDaysPlugin.java @@ -199,6 +199,22 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements return addDateSet; } + + public Set calTripentryDay(Date startdate,Date enddate){ + int allHomeCount = 0; + DynamicObjectCollection dynamicObjectCollection = this.getModel().getDataEntity() + .getDynamicObjectCollection("tripentry"); + Set addDateSet = new HashSet<>(); + for (DynamicObject dynamicObject : dynamicObjectCollection) { + if(startdate!=null && enddate!=null){ + Set datesExcludingWeekends = getWorkingDays(dateToLocalDate(startdate), dateToLocalDate(enddate)); + addDateSet.addAll(datesExcludingWeekends); + } + } + + return addDateSet; + } + //获取开始结束时间 public static Set getStartAndEnd(LocalDate startDate, LocalDate endDate) { Set result = new HashSet<>(); @@ -242,11 +258,10 @@ public class TriprAutoCalWorkingDaysPlugin extends AbstractBillPlugIn implements } return workingDays; }else{ - if (startDate.isAfter(endDate)) { + /*if (!startDate.isAfter(endDate)) { throw new IllegalArgumentException("开始日期不能晚于结束日期"); - } + }*/ LocalDate currentDate = startDate; - while (!currentDate.isAfter(endDate)) { if (!isWeekend(currentDate)) { workingDays.add(currentDate); diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/report/PositionFeesRptListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/report/PositionFeesRptListPlugin.java index 1038911..d7aa071 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/report/PositionFeesRptListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/report/PositionFeesRptListPlugin.java @@ -1,6 +1,7 @@ package zcgj.zcdev.zcdev.fs.plugin.report; import kd.bos.context.RequestContext; +import kd.bos.dataentity.entity.DynamicObject; import kd.bos.entity.datamodel.IDataModel; import kd.bos.entity.datamodel.events.PackageDataEvent; import kd.bos.entity.report.FilterInfo; @@ -9,6 +10,7 @@ import kd.bos.report.events.CellStyleRule; import kd.bos.report.events.SortAndFilterEvent; import kd.bos.report.plugin.AbstractReportFormPlugin; import kd.sdk.plugin.Plugin; +import zcgj.zcdev.zcdev.fs.utils.OrgCheckUtils; import java.util.Date; import java.util.List; @@ -44,7 +46,8 @@ public class PositionFeesRptListPlugin extends AbstractReportFormPlugin implemen IDataModel model = this.getModel(); //获取当前登陆人所在组织 long orgId = RequestContext.get().getOrgId(); - model.setValue("zcgj_query_org",orgId); + DynamicObject orgByNumber = OrgCheckUtils.getOrgByNumber("10008253");//领导板班子成员部门编码 + model.setValue("zcgj_query_org",orgByNumber.getLong("id")); model.setValue("zcgj_query_year",new Date()); } @@ -104,4 +107,5 @@ public class PositionFeesRptListPlugin extends AbstractReportFormPlugin implemen ent.setSort(true); } }*/ + } diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java index ec49d5c..f5bd37d 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java @@ -67,4 +67,13 @@ public class OrgCheckUtils { } return false; } + + /** + * 判断是否为矿山 + */ + public static DynamicObject getOrgByNumber(String orgNumber){ + QFilter filterOrgId = new QFilter("number", QCP.equals,orgNumber);//中材矿山建设有限公司 + DynamicObject org = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); + return org; + } } From 0a144492afe5bac68cc40271d0b08a5b8864d54a Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Thu, 31 Jul 2025 18:51:51 +0800 Subject: [PATCH 16/22] =?UTF-8?q?=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/FundingplanapplyPlugin.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java 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 new file mode 100644 index 0000000..bdb332d --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyPlugin.java @@ -0,0 +1,37 @@ +package zcgj.zcdev.zcdev.pr.plugin.form; + +import kd.bos.bill.AbstractBillPlugIn; +import kd.bos.bill.BillShowParameter; +import kd.bos.bill.OperationStatus; +import kd.bos.context.RequestContext; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.entity.datamodel.events.BizDataEventArgs; +import kd.sdk.plugin.Plugin; + +import java.time.LocalDate; +import java.util.EventObject; +import java.util.HashSet; +import java.util.Set; + +/** + * 资金计划申请插件 + */ +public class FundingplanapplyPlugin extends AbstractBillPlugIn implements Plugin { + + + @Override + public void afterBindData(EventObject e) { + super.afterBindData(e); + BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter(); + if(bsp.getStatus()== OperationStatus.ADDNEW ){ + DynamicObjectCollection zcgjFinApprovedAmount = this.getModel().getDataEntity().getDynamicObjectCollection("zcgj_fin_approved_amount"); + String[] typeArray = new String[]{"XJ","YHCD","SYCD","GYL","QTJRCP"}; + for (String type : typeArray) { + DynamicObject item = zcgjFinApprovedAmount.addNew(); + item.set("zcgj_setttype",type); + } + getView().updateView("zcgj_fin_approved_amount"); + } + } +} From 753e2dfd0b5edaa7a176cf80cb89d453cf1803e6 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Thu, 31 Jul 2025 19:25:46 +0800 Subject: [PATCH 17/22] youhua --- .../pr/plugin/form/EquipmentCardListPlugin.java | 13 +++++++------ .../zcdev/pr/task/EquipmentCardTaskPlugin.java | 13 +++++++------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index b00296e..12cb7d5 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -99,13 +99,14 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); + String cardString = eceq_equipment_card.getString("number"); + if(!cardString.isEmpty() && cardString!=null){ + equipmentcard.set("number",cardString);//设备编号 + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 + } } - String cardString = eceq_equipment_card.getString("number"); - if(!cardString.isEmpty() && cardString!=null){ - equipmentcard.set("number",cardString);//设备编号 - }else{ - equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 - } + equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 8a38e24..2f18997 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -85,13 +85,14 @@ public class EquipmentCardTaskPlugin extends AbstractTask { DynamicObject eceq_equipment_card = BusinessDataServiceHelper.loadSingle("eceq_equipment_card", new QFilter[]{new QFilter("zcgj_assetnumber", QCP.equals, number)}); if (eceq_equipment_card!=null){ equipmentcard.set("id",eceq_equipment_card.getLong("id")); + String cardString = eceq_equipment_card.getString("number"); + if(!cardString.isEmpty() && cardString!=null){ + equipmentcard.set("number",cardString);//设备编号 + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 + } } - String cardString = eceq_equipment_card.getString("number"); - if(!cardString.isEmpty() && cardString!=null){ - equipmentcard.set("number",cardString);//设备编号 - }else{ - equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 - } + equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// From 62587e3f636b5304dcbc514d7661e663b1069464 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Fri, 1 Aug 2025 10:43:20 +0800 Subject: [PATCH 18/22] =?UTF-8?q?=E9=92=88=E5=AF=B9=E7=9F=BF=E5=B1=B1?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E7=9A=84=E8=BF=87=E6=BB=A4=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9F=BA=E7=A1=80=E8=B5=84=E6=96=99=E5=88=A4?= =?UTF-8?q?=E6=96=AD=E6=9D=A1=E4=BB=B6=EF=BC=9B=E8=B4=B9=E7=94=A8=E6=8A=A5?= =?UTF-8?q?=E9=94=80=E5=8D=95=E6=94=B6=E6=AC=BE=E4=BA=BA=EF=BC=88=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zcdev/zcdev/fs/plugin/operate/DailyReimbursSubOp.java | 8 +++++--- .../java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/DailyReimbursSubOp.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/DailyReimbursSubOp.java index 5c0b899..e857737 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/DailyReimbursSubOp.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/plugin/operate/DailyReimbursSubOp.java @@ -45,14 +45,16 @@ public class DailyReimbursSubOp extends AbstractOperationServicePlugIn { String zcgj_invoiceremark = dataEntity.getString("zcgj_invoiceremark");//特殊说明 DynamicObjectCollection accountEntryCollection = dataEntity.getDynamicObjectCollection("accountentry");//收款信息 if (accountEntryCollection.size() > 0) { - for (int i = 0; i < accountEntryCollection.size(); i++) { - DynamicObject accountEntry = accountEntryCollection.get(i); + for (DynamicObject accountEntry : accountEntryCollection) { String payerType = accountEntry.getString("payertype");//收款人类型 if (payerType.equals("er_payeer")) { DynamicObject payer = accountEntry.getDynamicObject("payer");//收款人(个人 if (payer != null && applier != null) { String applierNumber = applier.getString("number");//申请人编号 - DynamicObject payer1 = payer.getDynamicObject("payer"); + DynamicObject payer1 = payer.getDynamicObject("payer");//收款人(个人-收款人 + if (payer1 == null) { + return; + } String payer1Number = payer1.getString("number");//收款人编号 if (!applierNumber.equals(payer1Number) && "".equals(zcgj_invoiceremark)) { //申请人和收款人不一致 diff --git a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java index ec49d5c..1324e55 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java +++ b/code/zcdev/zcgj-zcdev-zcdev-fs/src/main/java/zcgj/zcdev/zcdev/fs/utils/OrgCheckUtils.java @@ -34,6 +34,12 @@ public class OrgCheckUtils { * 判断是否为矿山 */ public static boolean isKS(Long currentOrgId){ + QFilter costCompanyId = new QFilter("zcgj_costcompany.id", QCP.equals,currentOrgId); + DynamicObject zcgj_minecompany = BusinessDataServiceHelper.loadSingle("zcgj_minecompany", + "id", new QFilter[]{costCompanyId});//基础资料(矿山公司) + if(zcgj_minecompany != null){ + return true; + } QFilter filterOrgId = new QFilter("number", QCP.equals,ksNumberTop);//中材矿山建设有限公司 DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); long orgId = adminOrg.getLong("id"); From 5277494fdc859306a77aa6e1e3f2b470afd663ea Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Fri, 1 Aug 2025 11:10:12 +0800 Subject: [PATCH 19/22] youhua --- .../zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java | 2 ++ .../java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 3 +++ 2 files changed, 5 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index 12cb7d5..ac6fad8 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -105,6 +105,8 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi }else{ equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } equipmentcard.set("billno",timeText);//单据编号 diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 2f18997..cd9965f 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -46,6 +46,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { } } QFilter qFilter = new QFilter("assetcat.number", QCP.in, strings); + qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); for (DynamicObject realcard : realcards) { @@ -91,6 +92,8 @@ public class EquipmentCardTaskPlugin extends AbstractTask { }else{ equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } + }else{ + equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } equipmentcard.set("billno",timeText);//单据编号 From 2202c7179014889dc7c505c1072bd816ceccf279 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Fri, 1 Aug 2025 11:11:31 +0800 Subject: [PATCH 20/22] youhua --- .../zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.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/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index ac6fad8..ee318fa 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -60,6 +60,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi } } QFilter qFilter = new QFilter("assetcat.number", QCP.in, strings); + qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); for (DynamicObject realcard : realcards) { @@ -108,7 +109,6 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi }else{ equipmentcard.set("number",getCodeRule(equipmentcard,"53BT+ZJB86=L"));//设备编号 } - equipmentcard.set("billno",timeText);//单据编号 equipmentcard.set("status","C");//单据状态 equipmentcard.set("billstatus","C");// From 82ec9a315543e83507a70b570a8a600c5c4d6829 Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Fri, 1 Aug 2025 11:13:46 +0800 Subject: [PATCH 21/22] youhua --- .../zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java | 1 + .../java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 1 + 2 files changed, 2 insertions(+) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index ee318fa..50f24c4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -63,6 +63,7 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); + log.info("同步的实物数量有"+realcards.length); for (DynamicObject realcard : realcards) { String number = realcard.getString("number");//资产编码 // DynamicObject assetcat = realcard.getDynamicObject("assetcat");//资产类别 diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index cd9965f..8e84196 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -49,6 +49,7 @@ public class EquipmentCardTaskPlugin extends AbstractTask { qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); + log.info("同步的实物数量有"+realcards.length); for (DynamicObject realcard : realcards) { String number = realcard.getString("number");//资产编码 // DynamicObject assetcat = realcard.getDynamicObject("assetcat");//资产类别 From 629f3b7f1c0a440efb19472f0818612554e0e0ef Mon Sep 17 00:00:00 2001 From: xiaoshi <2272816786@qq.com> Date: Fri, 1 Aug 2025 14:43:24 +0800 Subject: [PATCH 22/22] youhua --- .../pr/plugin/form/EquipmentCardListPlugin.java | 12 +++++++++++- .../zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java index 50f24c4..36ba848 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EquipmentCardListPlugin.java @@ -23,6 +23,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; import kd.fi.gl.util.DateUtil; import kd.sdk.plugin.Plugin; import org.jetbrains.annotations.NotNull; @@ -35,6 +36,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.*; +import java.util.stream.Collectors; public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugin { @@ -59,8 +61,16 @@ public class EquipmentCardListPlugin extends AbstractListPlugin implements Plugi strings.add(number) ; } } + QFilter filterOrgId = new QFilter("number", QCP.equals,"10006431");//中材矿山建设有限公司 + DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); + long orgId = adminOrg.getLong("id"); + List orgIds = new ArrayList<>(1); + //orgIds.add(1692204547985902592L); + orgIds.add(orgId); + List subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true); + Set orgSer = subOrgIds.stream().collect(Collectors.toSet()); QFilter qFilter = new QFilter("assetcat.number", QCP.in, strings); - qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; + qFilter.and(new QFilter("assetunit.number", QCP.in, orgSer)) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); log.info("同步的实物数量有"+realcards.length); diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index 8e84196..16c85fd 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -19,6 +19,7 @@ import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.coderule.CodeRuleServiceHelper; import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; import java.math.BigDecimal; import java.text.SimpleDateFormat; @@ -27,6 +28,7 @@ import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.*; +import java.util.stream.Collectors; /** @@ -45,8 +47,16 @@ public class EquipmentCardTaskPlugin extends AbstractTask { strings.add(number) ; } } + QFilter filterOrgId = new QFilter("number", QCP.equals,"10006431");//中材矿山建设有限公司 + DynamicObject adminOrg = BusinessDataServiceHelper.loadSingle("bos_org", "number,name,fullname", new QFilter[]{filterOrgId}); + long orgId = adminOrg.getLong("id"); + List orgIds = new ArrayList<>(1); + //orgIds.add(1692204547985902592L); + orgIds.add(orgId); + List subOrgIds = OrgUnitServiceHelper.getAllSubordinateOrgs(1L, orgIds, true); + Set orgSer = subOrgIds.stream().collect(Collectors.toSet()); QFilter qFilter = new QFilter("assetcat.number", QCP.in, strings); - qFilter.and(new QFilter("assetunit.fullname", QCP.like, "中材矿山")) ; + qFilter.and(new QFilter("assetunit.number", QCP.in, orgSer)) ; DynamicObject[] realcards = BusinessDataServiceHelper.load("fa_asset_card", "zcgj_costcenter,headusedept,finentry,assetcat,number,assetname,model,realaccountdate," + "assetunit,supplier,zcgj_platenumber,unit,zcgj_manufacturer,zcgj_prodate,storeplace,creator,createtime,modifier,modifytime,auditdate,auditor,finentry.fin_originalval,finentry.fin_preresidualval,finentry.fin_depredamount,finentry.fin_preusingamount,finentry.fin_accumdepre,finentry.fin_networth", new QFilter[]{qFilter}); log.info("同步的实物数量有"+realcards.length);