From 8d6cec7570ae3e12fe3b7a4e8af23ac3f70aff04 Mon Sep 17 00:00:00 2001 From: weiyunlong Date: Mon, 28 Apr 2025 16:54:17 +0800 Subject: [PATCH] =?UTF-8?q?-=20[x]=20=E6=8B=89=E5=8F=96SAP=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E6=9D=A1=E4=BB=B6=E7=BB=84=E7=BB=87,=E4=BC=9A?= =?UTF-8?q?=E8=AE=A1=E7=A7=91=E7=9B=AE=E5=8F=98=E6=88=90=E5=A4=9A=E9=80=89?= =?UTF-8?q?,=E9=A1=B5=E9=9D=A2=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96=20-=20[?= =?UTF-8?q?x]=20=E6=8A=A5=E8=A1=A8=E8=8F=9C=E5=8D=95=20-=20[x]=20=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E8=B4=B9=E6=8E=A7=E4=B8=9A=E5=8A=A1=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E7=B1=BB=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=20-=20[x]=20?= =?UTF-8?q?=E6=8E=A8=E9=80=81=E8=B4=B9=E6=8E=A7=E9=83=A8=E9=97=A8=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9=20-=20[x]=20=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E4=BF=9D=E5=AD=98=E6=90=BA=E5=B8=A6=E8=B5=84=E9=87=91?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E7=A7=91=E7=9B=AE=E6=96=B0=E5=A2=9E=E9=83=A8?= =?UTF-8?q?=E9=97=A8=E8=BF=87=E6=BB=A4=20--s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/operate/PayApplySaveOperation.java | 17 +++++- .../fi/plugin/operate/PaybillOperation.java | 56 +++++++++---------- .../fi/plugin/task/FundPlanPaymentTask.java | 5 +- 3 files changed, 45 insertions(+), 33 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 86c6e86..b04115f 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PayApplySaveOperation.java @@ -297,7 +297,22 @@ 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 secondarydept = bill.getDynamicObject("shjh_secondarydept"); + if (null != secondarydept) { + Long secondarydeptid = secondarydept.getLong("id"); + QFilter q1 = new QFilter("shjh_tdrssbm.fbasedataid", QCP.equals, secondarydeptid);//提单人所属部门(付款单申请) + QFilter q2 = new QFilter("shjh_tdrssbm.fbasedataid", QCP.equals, null); + QFilter q3 = new QFilter("shjh_tdrbsybm.fbasedataid", QCP.equals, secondarydeptid);//提单人不属于部门(付款单申请) + QFilter q4 = new QFilter("shjh_tdrbsybm.fbasedataid", QCP.equals, null); + qFilter = qFilter.and(q1.or(q2)).and(q3.or(q4)); + }else { + QFilter q2 = new QFilter("shjh_tdrssbm.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[] accounts = BusinessDataServiceHelper.load("shjh_request_account", "id,shjh_membersubject", qFilter.toArray()); if (accounts.length > 1) { diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillOperation.java index 8b9276a..631b3c0 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillOperation.java @@ -108,28 +108,29 @@ public class PaybillOperation extends AbstractOperationServicePlugIn implements FM_CompanyCode = bill.getDynamicObject("openorg").getString("number");//公司编码_申请付款组织 } header.put("FM_CompanyCode", FM_CompanyCode);// 公司编码_申请付款组织 + +// DynamicObjectCollection entry = bill.getDynamicObjectCollection("entry"); +// if (!entry.isEmpty()) { +// DynamicObject dynamicObject = entry.get(0); +// DynamicObject secondarydept = dynamicObject.getDynamicObject("shjh_secondarydept"); +// if (null != secondarydept) { +// FM_DeptCode = secondarydept.getString("number");// 部门编码_申请付款部门 +// } +// } + + String FM_DeptCode = ""; - DynamicObjectCollection entry = bill.getDynamicObjectCollection("entry"); - if (!entry.isEmpty()) { - DynamicObject dynamicObject = entry.get(0); - DynamicObject secondarydept = dynamicObject.getDynamicObject("shjh_secondarydept"); - if (null != secondarydept) { - FM_DeptCode = secondarydept.getString("number");// 部门编码_申请付款部门 - } - } - header.put("FM_DeptCode", FM_DeptCode);//部门编码,取分录二级部门 - - String FM_ExpenseItemCode = ""; - if (null!= bill.getDynamicObject("shjh_bizsmall")) { - FM_ExpenseItemCode = bill.getDynamicObject("shjh_bizsmall").getString("number");// 业务小类编码 - } - String FM_UserCode = ""; String FM_CreateUserCode = ""; + QFilter q1 = new QFilter("shjh_biztype", QCP.equals, "fk");//业务类型为付款单 QFilter q2 = new QFilter("shjh_org.number", QCP.equals, FM_CompanyCode);//组织 - QFilter q3 = new QFilter("shjh_bizsmalltype.number", QCP.equals, FM_ExpenseItemCode);//业务小类 - DynamicObject[] load = BusinessDataServiceHelper.load("shjh_fksqr", "id,shjh_sqr", new QFilter[]{q1, q2, q3}); + if (null != bill.getDynamicObject("shjh_bizsmall")) { + QFilter q3 = new QFilter("shjh_bizsmalltype.id", QCP.equals, bill.getDynamicObject("shjh_bizsmall").getPkValue());//业务小类 + q2 = q2.and(q3); + } + DynamicObject[] load = BusinessDataServiceHelper.load("shjh_fksqr", "id,shjh_sqr,entryentity,entryentity.dpt", + new QFilter[]{q1, q2}); if (load.length > 0) { DynamicObject fksqr = load[0]; if (null != fksqr) { @@ -137,24 +138,23 @@ public class PaybillOperation extends AbstractOperationServicePlugIn implements if (null != dynamicObject) { FM_UserCode = dynamicObject.getString("number");// 员工工号_费控单据申请人映射表_人员 FM_CreateUserCode = dynamicObject.getString("number");// 创建人工号_费控单据申请人映射表_人员 + DynamicObjectCollection entryentity = dynamicObject.getDynamicObjectCollection("entryentity"); + if (!entryentity.isEmpty()) { + DynamicObject entry = entryentity.get(0); + FM_DeptCode = entry.getString("dpt.number");// 部门编码_费控单据申请人映射表_部门 + } } } } + header.put("FM_DeptCode", FM_DeptCode);//部门编码,取费控单据申请人映射表_人员_部门分录的第一行 header.put("FM_UserCode", FM_UserCode);//员工工号,配置表(shjh_fksqr) header.put("FM_CreateUserCode", FM_CreateUserCode);// 创建人工号 -// header.put("FM_UserCode", "GH017994");//员工工号,配置表(shjh_fksqr) -// header.put("FM_CreateUserCode", "GH017994");// 创建人工号 String FM_ExpenseTypeCode = ""; if (null!= bill.getDynamicObject("shjh_bizbig")) { - FM_ExpenseTypeCode = bill.getDynamicObject("shjh_bizbig").getString("number");// 业务大类编码(EQ49,EQ44,EQ1101) + FM_ExpenseTypeCode = bill.getDynamicObject("shjh_bizbig").getString("shjh_fknumber");// 业务大类编码(EQ49,EQ44,EQ1101) } -// header.put("FM_ExpenseTypeCode", FM_ExpenseTypeCode);// 业务大类编码(EQ49,EQ44,EQ1101) header.put("FM_ExpenseTypeCode", FM_ExpenseTypeCode);// 业务大类编码(EQ49,EQ44,EQ1101) - // EQ1101 -- QT0401,QT0402 - // EQ44 -- ZZ1001 - // EQ49 -- ZZ1301、ZZ1302、ZZ1303、ZZ1304 - header.put("FM_CurrencyCode", "RMB");// 币种编码,默认:RMB header.put("FM_RequestName", bill.getString("description"));// 单据主题_拼接 header.put("FM_AttachUrl", null);//附件URL地址:array @@ -220,13 +220,9 @@ public class PaybillOperation extends AbstractOperationServicePlugIn implements String FM_ExpenseItemCode = ""; if (null!= bill.getDynamicObject("shjh_bizsmall")) { - FM_ExpenseItemCode = bill.getDynamicObject("shjh_bizsmall").getString("number");// 业务小类编码 + FM_ExpenseItemCode = bill.getDynamicObject("shjh_bizsmall").getString("shjh_fknumber");// 业务小类编码 } jsonObject.put("FM_ExpenseItemCode", FM_ExpenseItemCode);// 业务小类编码 -// jsonObject.put("FM_ExpenseItemCode", "ZZ1001");//业务小类编码 - - // 税率编码(传J0时,发票类型选INVOICE003),参考附表 @余学良 根据业务类型来默认吧, - // 我们到时候会增加一个 代付款(专票)这样的大类,,这个大类传 专票。其他大类 默认 其他发票类型,税率0 jsonObject.put("FM_InvoiceTypeCode", "INVOICE003");// 发票类型编码(普票:INVOICE001,专票:INVOICE002,其它票据:INVOICE003) jsonObject.put("FM_TaxRateCode", "J0"); jsonObject.put("FM_DetailAttachUrl", null);// 附件URL地址:array diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/task/FundPlanPaymentTask.java b/main/java/shjh/jhzj7/fi/fi/plugin/task/FundPlanPaymentTask.java index 96bfacc..7fa4b4e 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/task/FundPlanPaymentTask.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/task/FundPlanPaymentTask.java @@ -44,7 +44,7 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin { public void execute(RequestContext requestContext, Map map) throws KDException { //查询当月暂存付款类资金计划(付款不区分公司,当月应只有一个) QFilter qFilter = new QFilter("billstatus", QCP.equals, "A");//单据状态 - qFilter.and("name", QCP.equals, " 编制表");//报表名称 +// qFilter.and("name", QCP.equals, " 编制表");//报表名称 qFilter.and("enable", QCP.equals, "1");//是否可用 qFilter.and("reportplantype", QCP.equals, "reportplan");//报表类型-计划编制 DynamicObject[] collection = BusinessDataServiceHelper.load(entityName, "id", qFilter.toArray()); @@ -136,7 +136,8 @@ public class FundPlanPaymentTask extends AbstractTask implements Plugin { //将日期加三月份得到一个季度后的1号 cal.add(Calendar.MONTH, 3); String duedate_ends = sdf.format(cal.getTime()); - addFilterCondition(IT_LIST, "FAEDT", duedate_starts, duedate_ends);//到期日 +// addFilterCondition(IT_LIST, "FAEDT", duedate_starts, duedate_ends);//到期日 + addFilterCondition(IT_LIST, "FAEDT", "2024-01-01", duedate_ends);//到期日 JSONObject sapresult = SapUtils.vouchers_payable(IT_LIST, "FundPlanPaymentTask"); if(sapresult != null){ JSONObject data = sapresult.getJSONObject("data");