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");
for (DynamicObject bei_elecreceiptid : bei_elecreceiptids) {
DynamicObject bei_elecreceipt = BusinessDataServiceHelper.loadSingle(bei_elecreceiptid.getLong("id"), sourcebillnumber);
String saveRequestBody=getJSON(bei_elecreceipt,shkd_mapping);//请求json
logger.info("单据"+bei_elecreceipt.getString("billno")+"推送json"+saveRequestBody);
Map<String, Object> resultMap = new HashMap<>();
String res="";
switch (shkd_jrrzxx){
case "1":
case "2":
case "3":
case "4":
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);//获取返回结果
String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)||"null".equals(flag)||flag==null){//失败
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 ("0".equals(dataflag)||"null".equals(dataflag)||dataflag==null){
if (resError(dataflag)){
resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else {
@ -139,27 +141,107 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
bei_elecreceipt.set("shkd_sfcgtsgx",true);
}
}
break;
case "5":
res="";
}
} else if ("2".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);
break;
default:
System.out.println("无效的选项");
}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")){
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;
}
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","司库->浪潮");//第三方系统
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);
}
@ -410,11 +492,7 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
value = dynamicObjectCollection.get(0).getString(parts[1]);
}
} else if (shkd_djzdms.contains(".")) {
String[] parts = shkd_djzdms.split("\\.");
DynamicObject dynamicObject = bei_elecreceipt.getDynamicObject(parts[0]);
if (dynamicObject!=null){
value = dynamicObject.getString(parts[1]);
}
value = bei_elecreceipt.getString(shkd_djzdms);
}else {
value = bei_elecreceipt.getString(shkd_djzdms);
}
@ -507,4 +585,11 @@ public class tsgxApiMappingBillPlugin extends AbstractBillPlugIn {
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
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);
Map<String, Object> resultMap = new HashMap<>();
String res="";
switch (shkd_jrrzxx){
case "1":
case "2":
case "3":
case "4":
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);//获取返回结果
String flag = otherIsJsonRS.getString("flag");
if ("0".equals(flag)||"null".equals(flag)||flag==null){//失败
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 ("0".equals(dataflag)||"null".equals(dataflag)||dataflag==null){
if (resError(dataflag)){
resultMap.put("shkd_issuccess",false);//是否成功
bei_elecreceipt.set("shkd_sfcgtsgx",false);
}else {
@ -133,27 +136,107 @@ public class SharePushTaskPlugin extends AbstractTask {
bei_elecreceipt.set("shkd_sfcgtsgx",true);
}
}
break;
case "5":
res="";
}
} else if ("2".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);
break;
default:
System.out.println("无效的选项");
}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")){
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;
}
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","司库->浪潮");//第三方系统
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);
}
@ -400,11 +483,7 @@ public class SharePushTaskPlugin extends AbstractTask {
value = dynamicObjectCollection.get(0).getString(parts[1]);
}
} else if (shkd_djzdms.contains(".")) {
String[] parts = shkd_djzdms.split("\\.");
DynamicObject dynamicObject = bei_elecreceipt.getDynamicObject(parts[0]);
if (dynamicObject!=null){
value = dynamicObject.getString(parts[1]);
}
value = bei_elecreceipt.getString(shkd_djzdms);
}else {
value = bei_elecreceipt.getString(shkd_djzdms);
}
@ -497,4 +576,12 @@ public class SharePushTaskPlugin extends AbstractTask {
Object[] save = SaveServiceHelper.save(new DynamicObject[]{dynamicObject});
return save;
}
/*
* 检查是否失败的结果
* */
private Boolean resError(String flag){
return "0".equals(flag)||"null".equals(flag)||flag==null||"false".equals(flag);
}
}