diff --git a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java index 7b07623..dfccbd9 100644 --- a/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java +++ b/main/java/shjh/jhzj7/fi/fi/plugin/operate/PaybillPushSapOperation.java @@ -26,9 +26,9 @@ import shjh.jhzj7.fi.fi.utils.domin.ResponseData; import java.math.BigDecimal; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.Date; +import java.util.Map; import java.util.concurrent.atomic.AtomicReference; -import java.util.stream.Collectors; import static shjh.jhzj7.fi.fi.utils.SapUtils.*; @@ -118,6 +118,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl } JSONArray IT_CLEAR = new JSONArray();//清账数据,参考《IT_CLEAR》,仅清账需要输入 JSONArray IT_ITEM = new JSONArray(); + //解析付款凭证分录行组装成map,票据在贷方(客户编号+金额,行摘要),sap应付在借方(科目编号,行摘要) + voucherMap; // 票据信息 DynamicObjectCollection casDraftinfos = bill.getDynamicObjectCollection("cas_draftinfo"); if (!casDraftinfos.isEmpty()) { @@ -169,6 +171,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl jsonObject.put("HKONT", HKONT);//总账科目 jsonObject.put("UMSKZ", JhzjUtils.getUMSKZ(HKONT));//特殊总账标识 jsonObject.put("DMBTR1", entry.getBigDecimal("e_actamt"));//清账金额_实付金额 + //以HKONT作为key,将voucherMap的value放入行项目文本(sap应付行) + jsonObject.put("SGTXT", voucherMap.get(HKONT)); IT_CLEAR.add(jsonObject); } //2.遍历票 @@ -249,6 +253,8 @@ public class PaybillPushSapOperation extends AbstractOperationServicePlugIn impl } //清张金额取票据(转让金额) jsonObject.put("DMBTR1",casDraftinfo.getBigDecimal("transamount"));//清账金额 + //以收款单凭证行的客户编号+清账金额作为key,将voucherMap的value放入行项目文本(票据行) + jsonObject.put("SGTXT", voucherMap.get(jsonObject.getString("KUNNR")+jsonObject.getString("DMBTR1"))); } IT_CLEAR.add(jsonObject); }