Merge remote-tracking branch 'origin/main'

This commit is contained in:
root 2026-01-07 15:50:38 +08:00
commit d8da0bf539
2 changed files with 232 additions and 60 deletions

View File

@ -109,29 +109,31 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
} }
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"), sourcebillnumber); DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber);
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);
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String res=""; String res="";
switch (shkd_jrrzxx){ Boolean tiaoguo =false;
case "1": if ("1".equals(shkd_jrrzxx)){//记录所有
case "2":
case "3":
case "4":
res = doPost(shkd_url,headMap,saveRequestBody,null); res = doPost(shkd_url,headMap,saveRequestBody,null);
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res); logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
String flag = otherIsJsonRS.getString("flag"); String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)||"null".equals(flag)||flag==null){//失败 if (resError(flag)){//失败
resultMap.put("shkd_issuccess",false);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false); bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else { }else {
JSONArray datas = otherIsJsonRS.getJSONArray("data"); 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); JSONObject data = datas.getJSONObject(0);
String dataflag = data.getString("FLAG"); String dataflag = data.getString("FLAG");
if ("0".equals(dataflag)||"null".equals(dataflag)||dataflag==null){ if (resError(dataflag)){
resultMap.put("shkd_issuccess",false);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false); bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else { }else {
@ -139,27 +141,107 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
bei_elecreceipt.set("shkd_sfcgtsgx",true); bei_elecreceipt.set("shkd_sfcgtsgx",true);
} }
} }
break; }
case "5": } else if ("2".equals(shkd_jrrzxx)) {//只记录失败的
res=""; 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);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false); bei_elecreceipt.set("shkd_sfcgtsgx",false);
break; }else {
default: JSONArray datas = otherIsJsonRS.getJSONArray("data");
System.out.println("无效的选项"); 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);
}
}
}
if ((Boolean) resultMap.get("shkd_issuccess")){
tiaoguo=true;
}
}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);//获取返回结果
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);
}
}
}
if ((Boolean) resultMap.get("shkd_issuccess")){
}else {
tiaoguo=true;
}
}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);//获取返回结果
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 {
break; 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","司库->浪潮");//第三方系统
logger.info("resultMap:"+resultMap);
if (!tiaoguo){
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);//推送共享日志唯一标识
}
bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间 bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间
SaveServiceHelper.update(bei_elecreceipt); SaveServiceHelper.update(bei_elecreceipt);
} }
@ -410,11 +492,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
value = dynamicObjectCollection.get(0).getString(parts[1]); value = dynamicObjectCollection.get(0).getString(parts[1]);
} }
} else if (shkd_djzdms.contains(".")) { } else if (shkd_djzdms.contains(".")) {
String[] parts = shkd_djzdms.split("\\."); value = bei_elecreceipt.getString(shkd_djzdms);
DynamicObject dynamicObject = bei_elecreceipt.getDynamicObject(parts[0]);
if (dynamicObject!=null){
value = dynamicObject.getString(parts[1]);
}
}else { }else {
value = bei_elecreceipt.getString(shkd_djzdms); value = bei_elecreceipt.getString(shkd_djzdms);
} }
@ -507,4 +585,11 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
return save; return save;
} }
/*
* 检查是否失败的结果
* */
private Boolean resError(String flag){
return "0".equals(flag)||"null".equals(flag)||flag==null||"false".equals(flag);
}
} }

View File

@ -111,21 +111,24 @@ public class SharePushTaskPlugin extends AbstractTask {
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody); logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
Map<String, Object> resultMap = new HashMap<>(); Map<String, Object> resultMap = new HashMap<>();
String res=""; String res="";
switch (shkd_jrrzxx){ Boolean tiaoguo =false;
case "1": if ("1".equals(shkd_jrrzxx)){//记录所有
case "2":
case "3":
case "4":
res = doPost(shkd_url,headMap,saveRequestBody,null); res = doPost(shkd_url,headMap,saveRequestBody,null);
logger.info("单据"+bei_elecreceipt.getString("billno")+"返回信息:"+res);
JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果 JSONObject otherIsJsonRS = JSONObject.parseObject(res);//获取返回结果
String flag = otherIsJsonRS.getString("flag"); String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)||"null".equals(flag)||flag==null){//失败 if (resError(flag)){//失败
resultMap.put("shkd_issuccess",false);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else { }else {
JSONArray datas = otherIsJsonRS.getJSONArray("data"); 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); JSONObject data = datas.getJSONObject(0);
String dataflag = data.getString("FLAG"); String dataflag = data.getString("FLAG");
if ("0".equals(dataflag)||"null".equals(dataflag)||dataflag==null){ if (resError(dataflag)){
resultMap.put("shkd_issuccess",false);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false); bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else { }else {
@ -133,27 +136,107 @@ public class SharePushTaskPlugin extends AbstractTask {
bei_elecreceipt.set("shkd_sfcgtsgx",true); bei_elecreceipt.set("shkd_sfcgtsgx",true);
} }
} }
break; }
case "5": } else if ("2".equals(shkd_jrrzxx)) {//只记录失败的
res=""; 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);//是否成功 resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false); bei_elecreceipt.set("shkd_sfcgtsgx",false);
break; }else {
default: JSONArray datas = otherIsJsonRS.getJSONArray("data");
System.out.println("无效的选项"); 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);
}
}
}
if ((Boolean) resultMap.get("shkd_issuccess")){
tiaoguo=true;
}
}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);//获取返回结果
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);
}
}
}
if ((Boolean) resultMap.get("shkd_issuccess")){
}else {
tiaoguo=true;
}
}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);//获取返回结果
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 {
break; 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","司库->浪潮");//第三方系统
logger.info("resultMap:"+resultMap);
if (!tiaoguo){
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);//推送共享日志唯一标识
}
bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间 bei_elecreceipt.set("shkd_tsgxrtime",new Date());//推送共享时间
SaveServiceHelper.update(bei_elecreceipt); SaveServiceHelper.update(bei_elecreceipt);
} }
@ -400,11 +483,7 @@ public class SharePushTaskPlugin extends AbstractTask {
value = dynamicObjectCollection.get(0).getString(parts[1]); value = dynamicObjectCollection.get(0).getString(parts[1]);
} }
} else if (shkd_djzdms.contains(".")) { } else if (shkd_djzdms.contains(".")) {
String[] parts = shkd_djzdms.split("\\."); value = bei_elecreceipt.getString(shkd_djzdms);
DynamicObject dynamicObject = bei_elecreceipt.getDynamicObject(parts[0]);
if (dynamicObject!=null){
value = dynamicObject.getString(parts[1]);
}
}else { }else {
value = bei_elecreceipt.getString(shkd_djzdms); value = bei_elecreceipt.getString(shkd_djzdms);
} }
@ -497,4 +576,12 @@ public class SharePushTaskPlugin extends AbstractTask {
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject}); Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
return save; return save;
} }
/*
* 检查是否失败的结果
* */
private Boolean resError(String flag){
return "0".equals(flag)||"null".equals(flag)||flag==null||"false".equals(flag);
}
} }