diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java index ffe7a61..a11da5b 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/RecPushVoucherOperation.java @@ -42,7 +42,8 @@ import static shjh.jhzj7.fi.fi.utils.SapUtils.sap_accounVoucher; public class RecPushVoucherOperation extends AbstractOperationServicePlugIn implements Plugin { private final static Log logger = LogFactory.getLog(RecPushVoucherOperation.class); - private static final String glbdName = "gl_assist_bd";//核算项目组合纵表 + private static final String glbdName = "gl_assist_bd";//核算项目组合纵表-基础资料 + private static final String gltxtName = "gl_assist_txt";//核算项目组合纵表-文本 private static final String customerName = "bd_customer";//客户标识 private static final String voucherName = "gl_voucher";//凭证标识 private static final String userName = "bos_user";//用户 @@ -436,7 +437,7 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl assgrpinfo = entry.getDynamicObject("assgrp");//核算维度(弹性域) if(assgrpinfo != null){ DynamicObjectCollection gl_assist_bd = QueryServiceHelper.query(glbdName, "asstype,assval", - new QFilter[]{new QFilter("hg.id", QCP.equals, assgrpinfo.getPkValue())}); + new QFilter[]{new QFilter("hg.id", QCP.equals, assgrpinfo.getPkValue())});//核算项目组合纵表-基础资料 for (int j = 0; j < gl_assist_bd.size(); j++) { glassistbd = gl_assist_bd.get(j); @@ -461,7 +462,15 @@ public class RecPushVoucherOperation extends AbstractOperationServicePlugIn impl hsxminfo = QueryServiceHelper.queryOne("bos_costcenter", "id,name,number", new QFilter[]{new QFilter("id", QCP.equals, glassistbd.getLong("assval"))});//维度值 IT_ITEMS.put("KOSTL",hsxminfo.getString("number")); - }else if("f000054".equals(asstype)){ + } + } + + gl_assist_bd = QueryServiceHelper.query(gltxtName, "asstype,assval", + new QFilter[]{new QFilter("hg.id", QCP.equals, assgrpinfo.getPkValue())});//核算项目组合纵表-文本 + for (int j = 0; j < gl_assist_bd.size(); j++) { + glassistbd = gl_assist_bd.get(j); + asstype = glassistbd.getString("asstype");//核算项目类型-对应核算维度的字段名 + if("f000054".equals(asstype)){ //原因码 f000054 IT_ITEMS.put("RSTGR",glassistbd.getString("assval")); }else if("f000056".equals(asstype)){