parent
8e8940c6f8
commit
b1731a5c49
|
|
@ -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<String, Object> 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<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_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<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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<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_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);//推送共享日志唯一标识
|
||||
|
|
|
|||
Loading…
Reference in New Issue