提交人:陈绍鑫

日期:2025/01/07 11:30
内容:推送共享优化
This commit is contained in:
陈绍鑫 2026-01-08 16:19:50 +08:00
parent b4f48f9632
commit 4cae4b1df6
2 changed files with 121 additions and 27 deletions

View File

@ -129,7 +129,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
if ("1".equals(shkd_jrrzxx)) {//记录所有
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -154,7 +160,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
} else if ("2".equals(shkd_jrrzxx)) {//只记录失败的
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -182,7 +194,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
} else if ("3".equals(shkd_jrrzxx)) {//只记录成功的
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -211,7 +229,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
} else if ("4".equals(shkd_jrrzxx)) {//不记录
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -348,6 +372,24 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
if (!shkd_sfbt && EmptyUtil.isEmpty(shkd_hqfs)) {//如果不必填
continue;
}
switch (shkd_jsontartype) {
case "对象":
//查找该对象下层级下的
List<DynamicObject> filteredList = shkd_mapping.stream()
.filter(obj -> shkd_jsonzdm.equals(obj.getString("shkd_fjcsm")))
.collect(Collectors.toList());
JSONObject json1 = getJSONObjectvalue(bei_elecreceipt, filteredList, shkd_mapping);
json.put(shkd_jsonzdm, json1);
break;
case "数组":
//查找该对象下层级下的
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,shkd_jsonzdm);
json.put(shkd_jsonzdm, jsonArray1);
break;
default:
if (shkd_djzdms.contains(entryname)){
String[] parts = shkd_djzdms.split("\\|");
String value = getvalue(dynamicObject, shkd_hqfs, shkd_jsontartype, parts[1], shkd_mrz);
@ -356,6 +398,8 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
String value = getvalue(bei_elecreceipt, shkd_hqfs, shkd_jsontartype, shkd_djzdms, shkd_mrz);
json.put(shkd_jsonzdm, value);
}
break;
}
}
jsonArray.add(json);

View File

@ -75,9 +75,15 @@ public class SharePushTaskPlugin extends AbstractTask {
} 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")) {//电子回单
} else if (sourcebillnumber.equals("bei_bankbalance")) {//账号余额
dzhdqFilter = new QFilter("shkd_sfcgtsgx", QCP.equals, false);
} 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 {
logger.info("未找到匹配的单据类型");
return;
}
@ -116,7 +122,13 @@ public class SharePushTaskPlugin extends AbstractTask {
if ("1".equals(shkd_jrrzxx)) {//记录所有
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -141,7 +153,13 @@ public class SharePushTaskPlugin extends AbstractTask {
} else if ("2".equals(shkd_jrrzxx)) {//只记录失败的
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -169,7 +187,13 @@ public class SharePushTaskPlugin extends AbstractTask {
} else if ("3".equals(shkd_jrrzxx)) {//只记录成功的
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -198,7 +222,13 @@ public class SharePushTaskPlugin extends AbstractTask {
} else if ("4".equals(shkd_jrrzxx)) {//不记录
res = doPost(shkd_url, headMap, saveRequestBody, null);
logger.info("单据" + bei_elecreceipt.getString("billno") + "返回信息:" + res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
logger.info("单据" + bei_elecreceipt.getString("billno") + "转换json出错" + res);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
resultMap.put("shkd_issuccess", false);//是否成功
@ -299,7 +329,7 @@ public class SharePushTaskPlugin extends AbstractTask {
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:
@ -320,7 +350,7 @@ public class SharePushTaskPlugin extends AbstractTask {
DynamicObject father = fathers.get(0);
String entryname = father.getString("shkd_djzdms");
if (!kd.tmc.fbp.common.util.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) {
@ -333,6 +363,24 @@ public class SharePushTaskPlugin extends AbstractTask {
if (!shkd_sfbt && kd.tmc.fbp.common.util.EmptyUtil.isEmpty(shkd_hqfs)) {//如果不必填
continue;
}
switch (shkd_jsontartype) {
case "对象":
//查找该对象下层级下的
List<DynamicObject> filteredList = shkd_mapping.stream()
.filter(obj -> shkd_jsonzdm.equals(obj.getString("shkd_fjcsm")))
.collect(Collectors.toList());
JSONObject json1 = getJSONObjectvalue(bei_elecreceipt, filteredList, shkd_mapping);
json.put(shkd_jsonzdm, json1);
break;
case "数组":
//查找该对象下层级下的
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,shkd_jsonzdm);
json.put(shkd_jsonzdm, jsonArray1);
break;
default:
if (shkd_djzdms.contains(entryname)){
String[] parts = shkd_djzdms.split("\\|");
String value = getvalue(dynamicObject, shkd_hqfs, shkd_jsontartype, parts[1], shkd_mrz);
@ -341,6 +389,8 @@ public class SharePushTaskPlugin extends AbstractTask {
String value = getvalue(bei_elecreceipt, shkd_hqfs, shkd_jsontartype, shkd_djzdms, shkd_mrz);
json.put(shkd_jsonzdm, value);
}
break;
}
}
jsonArray.add(json);
@ -372,7 +422,7 @@ public class SharePushTaskPlugin extends AbstractTask {
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: