提交人:陈绍鑫

日期:2025/12/31 15:30
内容:推送公享定时任务日志
This commit is contained in:
陈绍鑫 2026-01-04 09:18:05 +08:00
parent 8e8940c6f8
commit b1731a5c49
2 changed files with 98 additions and 44 deletions

View File

@ -66,13 +66,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
return; return;
} }
DynamicObject shkd_apimapping = BusinessDataServiceHelper.loadSingle(shkd_apimappingid.getLong("id"), "shkd_apimapping"); DynamicObject shkd_apimapping = BusinessDataServiceHelper.loadSingle(shkd_apimappingid.getLong("id"), "shkd_apimapping");
String shkd_jrrzxx = shkd_apimapping.getString("shkd_jrrzxx");//记录日志选项
//要推送单据的过滤查询单子回单默认过滤条件 //要推送单据的过滤查询单子回单默认过滤条件
QFilter dzhdqFilter = new QFilter("ismatch", QCP.equals,true); QFilter dzhdqFilter = new QFilter("ismatch", QCP.equals,true);
//自定义过滤条件 //自定义过滤条件
String shkd_zdygltj = shkd_apimapping.getString("shkd_zdygltj"); String shkd_zdygltj = shkd_apimapping.getString("shkd_zdygltj");
if (!EmptyUtil.isEmpty(shkd_zdygltj)){ if (!shkd.sys.sys.utils.EmptyUtil.isEmpty(shkd_zdygltj)){
QFilter zdyqFilter= null; QFilter zdyqFilter= null;
try { try {
zdyqFilter = getqFilter(shkd_zdygltj); zdyqFilter = getqFilter(shkd_zdygltj);
@ -85,47 +85,63 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray()); DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray());
logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length); logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length);
String shkd_url = shkd_apimapping.getString("shkd_url"); String shkd_url = shkd_apimapping.getString("shkd_url");
Map<String, Object> headMap = new HashMap<>(); Map<String, Object> headMap = new HashMap<>();
DynamicObjectCollection shkdHeade = shkd_apimapping.getDynamicObjectCollection("shkd_heade"); DynamicObjectCollection shkdHeade = shkd_apimapping.getDynamicObjectCollection("shkd_heade");
for (DynamicObject dynamicObject : shkdHeade) { for (DynamicObject dynamicObject : shkdHeade) {
headMap.put(dynamicObject.getString("shkd_headcsm"), dynamicObject.getString("shkd_headcsz")); headMap.put(dynamicObject.getString("shkd_headcsm"), dynamicObject.getString("shkd_headcsz"));
} }
logger.info("headMap:"+headMap);
DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping"); DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping");
for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) { for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) {
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt");
String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody); logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
// String res = doPost(shkd_url,headMap,saveRequestBody,null);
String res = "";
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回json"+res);
// JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String res="";
switch (shkd_jrrzxx){
case "1":
case "2":
case "3":
case "4":
res = doPost(shkd_url,headMap,saveRequestBody,null);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)){//失败
resultMap.put("shkd_issuccess",false);//是否成功
}else {
JSONArray datas = otherIsJsonRS.getJSONArray("data");
JSONObject data = datas.getJSONObject(0);
String dataflag = data.getString("flag");
if ("0".equals(dataflag)){
resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else {
resultMap.put("shkd_issuccess",true);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",true);
}
}
break;
case "5":
res="";
break;
default:
System.out.println("无效的选项");
break;
}
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回json"+res);
resultMap.put("shkd_requesturl",shkd_url);//请求地址 resultMap.put("shkd_requesturl",shkd_url);//请求地址
resultMap.put("shkd_request",saveRequestBody);//请求体 resultMap.put("shkd_request",saveRequestBody);//请求体
resultMap.put("shkd_response",res);//响应数据 resultMap.put("shkd_response",res);//响应数据
resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统 resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统
resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统 resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统
resultMap.put("shkd_issuccess",false);//是否成功
// String flag = otherIsJsonRS.getString("flag"); DynamicObject[] objects = (DynamicObject[]) saveThePushLog(resultMap);
// if ("0".equals(flag)){//失败 String billno = objects[0].getString("billno");//对应日志编号
// resultMap.put("shkd_issuccess",false);//是否成功 bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识
// }else { bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间
// JSONArray datas = otherIsJsonRS.getJSONArray("data"); SaveServiceHelper.update(bei_elecreceipt);
// JSONObject data = datas.getJSONObject(0);
// String dataflag = data.getString("flag");
// if ("0".equals(dataflag)){
// resultMap.put("shkd_issuccess",false);//是否成功
// }else {
// resultMap.put("shkd_issuccess",true);//是否成功
// bei_elecreceipt.set("shkd_sfcgtsgx",true);
// SaveServiceHelper.update(bei_elecreceipt);
// }
// }
ApiService.saveThePushLog(resultMap);
} }
} }
} }
@ -404,4 +420,27 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
} }
return resultString; return resultString;
} }
public static Object[] saveThePushLog(Map<String, Object> resultMap) {
String requestUrl = resultMap.get("shkd_requesturl").toString();//请求地址
String request = resultMap.get("shkd_request").toString();//请求体
String response = resultMap.get("shkd_response").toString();//响应数据
String thirdparty = resultMap.get("shkd_thirdpartysys").toString();//第三方系统
String issuccess = resultMap.get("shkd_issuccess").toString();//是否成功
String shkd_calldescription = resultMap.get("shkd_calldescription").toString();//调用说明
DynamicObject dynamicObject = BusinessDataServiceHelper.newDynamicObject("shkd_thirdpartylog");
// 生成随机UUID
UUID uuid = UUID.randomUUID();
dynamicObject.set("billno", "Log_" + uuid);
dynamicObject.set("billstatus", "C");
dynamicObject.set("shkd_calldescription", shkd_calldescription);
dynamicObject.set("shkd_requesturl", requestUrl);
dynamicObject.set("shkd_request", request);
dynamicObject.set("shkd_response", response);
dynamicObject.set("shkd_thirdpartysys", thirdparty);
dynamicObject.set("shkd_issuccess", issuccess);
dynamicObject.set("shkd_logdate", new Date());
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
return save;
}
} }

View File

@ -56,7 +56,7 @@ public class SharePushTaskPlugin extends AbstractTask {
return; return;
} }
DynamicObject shkd_apimapping = BusinessDataServiceHelper.loadSingle(shkd_apimappingid.getLong("id"), "shkd_apimapping"); DynamicObject shkd_apimapping = BusinessDataServiceHelper.loadSingle(shkd_apimappingid.getLong("id"), "shkd_apimapping");
String shkd_jrrzxx = shkd_apimapping.getString("shkd_jrrzxx");//记录日志选项
//要推送单据的过滤查询单子回单默认过滤条件 //要推送单据的过滤查询单子回单默认过滤条件
QFilter dzhdqFilter = new QFilter("ismatch", QCP.equals,true); QFilter dzhdqFilter = new QFilter("ismatch", QCP.equals,true);
@ -87,16 +87,15 @@ public class SharePushTaskPlugin extends AbstractTask {
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt");
String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody); logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
String res = doPost(shkd_url,headMap,saveRequestBody,null);
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回json"+res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
resultMap.put("shkd_requesturl",shkd_url);//请求地址 String res="";
resultMap.put("shkd_request",saveRequestBody);//请求体 switch (shkd_jrrzxx){
resultMap.put("shkd_response",res);//响应数据 case "1":
resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统 case "2":
resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统 case "3":
case "4":
res = doPost(shkd_url,headMap,saveRequestBody,null);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
String flag = otherIsJsonRS.getString("flag"); String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)){//失败 if ("0".equals(flag)){//失败
resultMap.put("shkd_issuccess",false);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
@ -112,6 +111,22 @@ public class SharePushTaskPlugin extends AbstractTask {
bei_elecreceipt.set("shkd_sfcgtsgx",true); bei_elecreceipt.set("shkd_sfcgtsgx",true);
} }
} }
break;
case "5":
res="";
break;
default:
System.out.println("无效的选项");
break;
}
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回json"+res);
resultMap.put("shkd_requesturl",shkd_url);//请求地址
resultMap.put("shkd_request",saveRequestBody);//请求体
resultMap.put("shkd_response",res);//响应数据
resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统
resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统
DynamicObject[] objects = (DynamicObject[]) saveThePushLog(resultMap); DynamicObject[] objects = (DynamicObject[]) saveThePushLog(resultMap);
String billno = objects[0].getString("billno");//对应日志编号 String billno = objects[0].getString("billno");//对应日志编号
bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识 bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识