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 80b69b3..e473b51 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 @@ -116,7 +116,8 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json:"+saveRequestBody); Map resultMap = new HashMap<>(); String res=""; - if ("1".equals(shkd_jrrzxx)){ + Boolean tiaoguo =false; + if ("1".equals(shkd_jrrzxx)){//记录所有 res = doPost(shkd_url,headMap,saveRequestBody,null); logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res); JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 @@ -167,7 +168,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { } } if ((Boolean) resultMap.get("shkd_issuccess")){ - continue; + tiaoguo=true; } }else if ("3".equals(shkd_jrrzxx)) {//只记录成功的 res = doPost(shkd_url,headMap,saveRequestBody,null); @@ -196,26 +197,51 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn { } if ((Boolean) resultMap.get("shkd_issuccess")){ }else { - continue; + tiaoguo=true; } }else if ("4".equals(shkd_jrrzxx)) {//不记录 - continue; + res = doPost(shkd_url,headMap,saveRequestBody,null); + logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res); + JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 + String flag = otherIsJsonRS.getString("flag"); + if (resError(flag)){//失败 + resultMap.put("shkd_issuccess",false);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",false); + }else { + JSONArray datas = otherIsJsonRS.getJSONArray("data"); + if (datas==null){ + resultMap.put("shkd_issuccess",true);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",true); + }else { + JSONObject data = datas.getJSONObject(0); + String dataflag = data.getString("FLAG"); + if (resError(dataflag)){ + resultMap.put("shkd_issuccess",false);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",false); + }else { + resultMap.put("shkd_issuccess",true);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",true); + } + } + } + tiaoguo=true; }else if ("5".equals(shkd_jrrzxx)) {//只记录不推送 resultMap.put("shkd_issuccess",false);//是否成功 }else { - continue; + 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); - String billno = objects[0].getString("billno");//对应日志编号 - bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识 + logger.info("resultMap:"+resultMap); + if (!tiaoguo){ + 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); } 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 cee8de5..2a8be69 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 @@ -111,7 +111,8 @@ public class SharePushTaskPlugin extends AbstractTask { logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json:"+saveRequestBody); Map resultMap = new HashMap<>(); String res=""; - if ("1".equals(shkd_jrrzxx)){ + Boolean tiaoguo =false; + if ("1".equals(shkd_jrrzxx)){//记录所有 res = doPost(shkd_url,headMap,saveRequestBody,null); logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res); JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 @@ -162,7 +163,7 @@ public class SharePushTaskPlugin extends AbstractTask { } } if ((Boolean) resultMap.get("shkd_issuccess")){ - continue; + tiaoguo=true; } }else if ("3".equals(shkd_jrrzxx)) {//只记录成功的 res = doPost(shkd_url,headMap,saveRequestBody,null); @@ -191,26 +192,51 @@ public class SharePushTaskPlugin extends AbstractTask { } if ((Boolean) resultMap.get("shkd_issuccess")){ }else { - continue; + tiaoguo=true; } }else if ("4".equals(shkd_jrrzxx)) {//不记录 - continue; + res = doPost(shkd_url,headMap,saveRequestBody,null); + logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res); + JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 + String flag = otherIsJsonRS.getString("flag"); + if (resError(flag)){//失败 + resultMap.put("shkd_issuccess",false);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",false); + }else { + JSONArray datas = otherIsJsonRS.getJSONArray("data"); + if (datas==null){ + resultMap.put("shkd_issuccess",true);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",true); + }else { + JSONObject data = datas.getJSONObject(0); + String dataflag = data.getString("FLAG"); + if (resError(dataflag)){ + resultMap.put("shkd_issuccess",false);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",false); + }else { + resultMap.put("shkd_issuccess",true);//是否成功 + bei_elecreceipt.set("shkd_sfcgtsgx",true); + } + } + } + tiaoguo=true; }else if ("5".equals(shkd_jrrzxx)) {//只记录不推送 resultMap.put("shkd_issuccess",false);//是否成功 }else { - continue; + 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); - String billno = objects[0].getString("billno");//对应日志编号 - bei_elecreceipt.set("shkd_tsgxrzwybs",billno);//推送共享日志唯一标识 + logger.info("resultMap:"+resultMap); + if (!tiaoguo){ + 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); }