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");