From b1731a5c49cce44628bd022f032b29bf1d0c659d Mon Sep 17 00:00:00 2001 From: csx <1981897232@qq.com> Date: Sun, 4 Jan 2026 09:18:05 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/12/31=2015?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E6=8E=A8=E9=80=81=E5=85=AC?= =?UTF-8?q?=E4=BA=AB=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/tsgxApiMappingBillPlugin.java | 89 +++++++++++++------ .../sys/plugin/task/SharePushTaskPlugin.java | 53 +++++++---- 2 files changed, 98 insertions(+), 44 deletions(-) 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 edb0739..329d0d1 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 @@ -66,13 +66,13 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { return; } 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); //自定义过滤条件 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; try { zdyqFilter = getqFilter(shkd_zdygltj); @@ -85,47 +85,63 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { DynamicObject[] bei_elecreceiptids = BusinessDataServiceHelper.load("bei_elecreceipt", "id", dzhdqFilter.toArray()); logger.info("符合推送条件数据有:{}条", bei_elecreceiptids.length); - String shkd_url = shkd_apimapping.getString("shkd_url"); Map headMap = new HashMap<>(); DynamicObjectCollection shkdHeade = shkd_apimapping.getDynamicObjectCollection("shkd_heade"); for (DynamicObject dynamicObject : shkdHeade) { headMap.put(dynamicObject.getString("shkd_headcsm"), dynamicObject.getString("shkd_headcsz")); } - logger.info("headMap:"+headMap); DynamicObjectCollection shkd_mapping = shkd_apimapping.getDynamicObjectCollection("shkd_mapping"); for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) { DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json 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 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_request",saveRequestBody);//请求体 resultMap.put("shkd_response",res);//响应数据 resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统 resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统 - resultMap.put("shkd_issuccess",false);//是否成功 -// 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);//是否成功 -// }else { -// resultMap.put("shkd_issuccess",true);//是否成功 -// bei_elecreceipt.set("shkd_sfcgtsgx",true); -// SaveServiceHelper.update(bei_elecreceipt); -// } -// } - ApiService.saveThePushLog(resultMap); + + DynamicObject[] objects = (DynamicObject[]) saveThePushLog(resultMap); + String billno = objects[0].getString("billno");//对应日志编号 + bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识 + bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间 + SaveServiceHelper.update(bei_elecreceipt); } } } @@ -404,4 +420,27 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { } return resultString; } + + public static Object[] saveThePushLog(Map 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; + } } diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java index 41ec9df..63cb35a 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/task/SharePushTaskPlugin.java @@ -56,7 +56,7 @@ public class SharePushTaskPlugin extends AbstractTask { return; } 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); @@ -87,31 +87,46 @@ public class SharePushTaskPlugin extends AbstractTask { DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), "bei_elecreceipt"); String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json 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 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_request",saveRequestBody);//请求体 resultMap.put("shkd_response",res);//响应数据 resultMap.put("shkd_thirdpartysys","浪潮");//第三方系统 resultMap.put("shkd_calldescription","司库->浪潮");//第三方系统 - 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); - } - } DynamicObject[] objects = (DynamicObject[]) saveThePushLog(resultMap); String billno = objects[0].getString("billno");//对应日志编号 bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识