提交人:csx

提交时间:2025年01月07日
提交内容:共享推送优化
This commit is contained in:
1981897232@qq.com 2026-01-08 16:09:00 +08:00
parent 1795d49c84
commit b4f48f9632
1 changed files with 18 additions and 7 deletions

View File

@ -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<DynamicObject> 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<DynamicObject> 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<DynamicObject> 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);