diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java index 94aeca6..f4c49aa 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/form/tsgxApiMappingBillPlugin.java @@ -71,16 +71,24 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { DynamicObject shkd_sourcebill = shkd_apimapping.getDynamicObject("shkd_sourcebill"); sourcebillnumber = shkd_sourcebill.getString("number"); QFilter dzhdqFilter = null; - //要推送单据的过滤 + //要推送单据的默认过滤 if (sourcebillnumber.equals("bei_transdetail_cas")) {//交易明细 dzhdqFilter = new QFilter("bankdetailno", QCP.not_equals, null); dzhdqFilter = dzhdqFilter.and(new QFilter("shkd_sfcgtsgx", QCP.equals, false)); + dzhdqFilter = dzhdqFilter.and(new QFilter("org.shkd_sfjcgx", QCP.equals, true)); } else if (sourcebillnumber.equals("bei_elecreceipt")) {//电子回单 dzhdqFilter = new QFilter("ismatch", QCP.equals, true); dzhdqFilter = dzhdqFilter.and(new QFilter("shkd_sfcgtsgx", QCP.equals, false)); - } else if (sourcebillnumber.equals("bei_bankbalance")) {//电子回单 + dzhdqFilter = dzhdqFilter.and(new QFilter("org.shkd_sfjcgx", QCP.equals, true)); + } else if (sourcebillnumber.equals("bei_bankbalance")) {//账号余额 dzhdqFilter = new QFilter("shkd_sfcgtsgx", QCP.equals, false); - } else { + dzhdqFilter = dzhdqFilter.and(new QFilter("org.shkd_sfjcgx", QCP.equals, true)); + } else if (sourcebillnumber.equals("cas_paybill")) {//付款处理 + dzhdqFilter = new QFilter("shkd_sfcgtsgx", QCP.equals, false); + dzhdqFilter = dzhdqFilter.and(new QFilter("org.shkd_sfjcgx", QCP.equals, true)); + dzhdqFilter = dzhdqFilter.and(new QFilter("paymentidentify.number", QCP.equals, "FKBS01")); + dzhdqFilter = dzhdqFilter.and(new QFilter("billstatus", QCP.in,Arrays.asList("B","A"))); + }else { this.getView().showTipNotification("未找到匹配的单据类型"); return; } @@ -306,7 +314,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { List JSONArrayfilteredList = shkd_mapping.stream() .filter(obj -> shkd_jsonzdm.equals(obj.getString("shkd_fjcsm"))) .collect(Collectors.toList()); - JSONArray jsonArray = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping, shkd_fjcsm); + JSONArray jsonArray = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping, shkd_jsonzdm); otherIsJson.put(shkd_jsonzdm, jsonArray); break; default: @@ -327,7 +335,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { DynamicObject father = fathers.get(0); String entryname = father.getString("shkd_djzdms"); if (!EmptyUtil.isEmpty(entryname)) {//判断是否是分录字段 - DynamicObjectCollection entry = bei_elecreceipt.getDynamicObjectCollection("entryname"); + DynamicObjectCollection entry = bei_elecreceipt.getDynamicObjectCollection(entryname); for (DynamicObject dynamicObject : entry) { JSONObject json = new JSONObject(); for (DynamicObject map : jsonArrayfilteredList) { @@ -379,7 +387,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { List JSONArrayfilteredList = shkd_mapping.stream() .filter(obj -> shkd_jsonzdm.equals(obj.getString("shkd_fjcsm"))) .collect(Collectors.toList()); - JSONArray jsonArray1 = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping,map.getString("shkd_fjcsm")); + JSONArray jsonArray1 = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping,shkd_jsonzdm); json.put(shkd_jsonzdm, jsonArray1); break; default: @@ -421,7 +429,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { List JSONArrayfilteredList = shkd_mapping.stream() .filter(obj -> shkd_jsonzdm.equals(obj.getString("shkd_fjcsm"))) .collect(Collectors.toList()); - JSONArray jsonArray = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping,map.getString("shkd_fjcsm")); + JSONArray jsonArray = getJSONArrayvalue(bei_elecreceipt, JSONArrayfilteredList, shkd_mapping,shkd_jsonzdm); json.put(shkd_jsonzdm, jsonArray); break; default: @@ -528,6 +536,9 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { break; case "Date": Date date = bei_elecreceipt.getDate(shkd_djzdms); + if (date==null){ + break; + } if (EmptyUtil.isEmpty(shkd_mrz)) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//默认 value = simpleDateFormat.format(date);