From 0ebf38acfb46ea8f04f5205ef2886d9ab347a995 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Tue, 22 Apr 2025 11:37:32 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E6=90=BA=E5=B8=A6=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92?= =?UTF-8?q?=E7=A7=91=E7=9B=AE=E7=9A=84=E6=97=A5=E5=BF=97=E5=92=8C=E5=A4=9A?= =?UTF-8?q?=E9=80=89=E4=B8=8B=E6=8B=89=E7=9A=84=E9=80=BB=E8=BE=91=20--s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/PayApplySaveOperation.java | 71 ++++++++++++++----- 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java index 72cc0e3..98aeb9a 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java @@ -18,6 +18,7 @@ import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.bos.util.StringUtils; import kd.sdk.plugin.Plugin; +import shjh.jhzj7.fi.fi.utils.JhzjUtils; import shjh.jhzj7.fi.fi.webapi.PayreceiptQueryControler; @@ -102,6 +103,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q4 = new QFilter("shjh_bbhzz.fbasedataid", QCP.equals, null);//不包含不包含公司 qFilter = qFilter.and(q1.or(q2)).and(q3.or(q4)); } + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(公司范围)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //业务大类 && 不包含业务大类 DynamicObject shjhBizbig = bill.getDynamicObject("shjh_bizbig"); @@ -116,6 +120,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q2 = new QFilter("shjh_bizbig.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q2); } + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(业务大类)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //业务小类 DynamicObject shjhbizsmall = bill.getDynamicObject("shjh_basedatafield"); if (null != shjhbizsmall) { @@ -127,7 +134,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q2 = new QFilter("shjh_bizsmall.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q2); } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(业务小类)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //原因码_多选基础资料 DynamicObject shjhYym = bill.getDynamicObject("shjh_yym"); if (null != shjhYym) { @@ -139,23 +148,27 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q2 = new QFilter("shjh_yym.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q2); } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(原因码)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //是否充值类 boolean shjhWhetherrechargecateg = bill.getBoolean("shjh_whetherrechargecateg"); if (shjhWhetherrechargecateg) { QFilter q2 = new QFilter("shjh_czl", QCP.equals, shjhWhetherrechargecateg); qFilter = qFilter.and(q2); } - - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(是否充值类)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //是否自行采购 boolean shjhZxcg = bill.getBoolean("shjh_zxcg"); if (shjhZxcg) { QFilter q3 = new QFilter("shjh_zxcg", QCP.equals, shjhZxcg); qFilter = qFilter.and(q3); } - - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(是否自行采购)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //事业部_多选基础资料,通过申请单的二级部门去映射表查询(shjh_ejbm_syb) DynamicObject shjhSecondarydept = bill.getDynamicObject("shjh_secondarydept"); if (null != shjhSecondarydept) { @@ -176,7 +189,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem } } } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(事业部)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //会计科目_多选基础资料 DynamicObject shjhSapkjkm = bill.getDynamicObject("shjh_sapkjkm"); if (null != shjhSapkjkm) { @@ -188,7 +203,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q7 = new QFilter("shjh_kjkm.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q7); } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(会计科目)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //供应商_多选基础资料 分录 DynamicObjectCollection entrys = bill.getDynamicObjectCollection("entry"); if (!entrys.isEmpty()) { @@ -226,7 +243,9 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem } } } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(供应商/客户)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //采购组shjh_procurementteam && 不包含采购组 String shjhBhcgz = bill.getString("shjh_procurementteam"); QFilter filter = new QFilter("number", QCP.equals, shjhBhcgz); @@ -242,21 +261,24 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q22 = new QFilter("shjh_cgz.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q22); } - - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(采购组)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //外部系统单据类型_多选下拉 && 不包含单据类型 String shjhExternalsystemdocume = bill.getString("shjh_externalsystemdocume"); if (StringUtil.isNotEmpty(shjhExternalsystemdocume)) { QFilter q4 = new QFilter("shjh_billtype", QCP.like, "%"+shjhExternalsystemdocume+"%"); - QFilter q5 = new QFilter("shjh_billtype", QCP.equals, null); - QFilter q6 = new QFilter("shjh_bbhdjlx", QCP.like, "%"+shjhExternalsystemdocume+"%"); - QFilter q7 = new QFilter("shjh_bbhdjlx", QCP.equals, null); + QFilter q5 = new QFilter("shjh_billtype", QCP.like, "%"+"%"); + QFilter q6 = new QFilter("shjh_bbhdjlx" , QCP.like, "%"+shjhExternalsystemdocume+"%"); + QFilter q7 = new QFilter("shjh_bbhdjlx" , QCP.like, "%"+"%"); qFilter = qFilter.and(q4.or(q5)).and(q6.or(q7)); }else { - QFilter q5 = new QFilter("shjh_billtype", QCP.equals, null); + QFilter q5 = new QFilter("shjh_billtype", QCP.like, "%"+"%"); qFilter = qFilter.and(q5); } - + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(外部系统单据类型)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); //不包含币种 currency DynamicObject currency = bill.getDynamicObject("paycurrency"); if (null != currency) { @@ -265,19 +287,20 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem QFilter q22 = new QFilter("shjh_bbhbz.fbasedataid", QCP.equals, null); qFilter = qFilter.and(q11.or(q22)); } + JhzjUtils.saveLog(bill.getString("billno"), "付款申请携带资金计划科目(币种)","" + ,queryDyobj(qFilter), true, String.valueOf(BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()).length)); - //todo:PO号是否为空 DynamicObject[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject", qFilter.toArray()); if (accounts.length > 1) { // 根据生效日期,失效日期区间,判断当前时间满足的数据 -// Date currentDate = new Date(); Date currentDate = bill.getDate("applydate");//申请日期 QFilter startDateFilter = new QFilter("shjh_begindate", QCP.less_equals, currentDate); QFilter endDateFilter = new QFilter("shjh_enddate", QCP.large_equals, currentDate); QFilter newFilter = qFilter.and(startDateFilter).and(endDateFilter); //优先级为高的 - accounts = BusinessDataServiceHelper.load("shjh_pay_account", "id", newFilter.toArray(),"shjh_priority"); + accounts = BusinessDataServiceHelper.load("shjh_request_account", "id", newFilter.toArray(),"shjh_priority"); } if (accounts.length > 0) { // 处理找到符合条件的账户 @@ -290,4 +313,14 @@ public class PayApplySaveOperation extends AbstractOperationServicePlugIn implem return null; } + + private String queryDyobj(QFilter qFilter){ + String dyobj = ""; + DynamicObject[] load = BusinessDataServiceHelper.load("shjh_request_account", + "id,shjh_membersubject", qFilter.toArray()); + for (DynamicObject dynamicObject : load) { + dyobj = dyobj + dynamicObject.getString("number") + ","; + } + return dyobj; + } }