提交人:陈绍鑫

日期:2025/01/09 17:30
内容:推送共享优化
This commit is contained in:
陈绍鑫 2026-01-19 17:16:43 +08:00
parent c856550fcd
commit c76e93047d
1 changed files with 45 additions and 0 deletions

View File

@ -17,6 +17,7 @@ import kd.bos.orm.query.QFilter;
import kd.bos.servicehelper.BusinessDataServiceHelper;
import kd.bos.servicehelper.operation.SaveServiceHelper;
import shkd.sys.sys.mservice.ApiService;
import shkd.sys.sys.utils.EmptyUtil;
import java.util.*;
@ -39,6 +40,9 @@ public class ShareOPPlugin extends AbstractOperationServicePlugIn {
e.getFieldKeys().add("id");
e.getFieldKeys().add("billno");
e.getFieldKeys().add("shkd_lctszt");
e.getFieldKeys().add("shkd_businessname");
e.getFieldKeys().add("shkd_businessid");
e.getFieldKeys().add("shkd_businessnumber");
}
public void onAddValidators(AddValidatorsEventArgs e) {
@ -80,6 +84,7 @@ public class ShareOPPlugin extends AbstractOperationServicePlugIn {
if (resError(flag)) {//失败
String msg = otherIsJsonRS.getString("msg");
this.addMessage(dataEntity,"单据" + dynamicObject.getString("billno") + "返回接收失败原因:" + msg, ErrorLevel.Error);
continue;
} else {
String status = otherIsJsonRS.getString("status");
/*
@ -87,6 +92,46 @@ public class ShareOPPlugin extends AbstractOperationServicePlugIn {
* */
if (!Arrays.asList("0","2").contains(status)){
this.addMessage(dataEntity,"单据" + dynamicObject.getString("billno") + "共享存在对应单据不允许删除", ErrorLevel.Error);
continue;
}
}
}
String shkd_businessname = dynamicObject.getString("shkd_businessname");//推送系统
String shkd_businessnumber = dynamicObject.getString("shkd_businessnumber");//推送单据编码
String shkd_businessid = dynamicObject.getString("shkd_businessid");//推送单据ID
if ("GX".equals(shkd_businessname)&& !EmptyUtil.isEmpty(shkd_businessnumber)){
JSONObject otherIsJson = new JSONObject();
otherIsJson.put("SrcDocID",shkd_businessid);
otherIsJson.put("SrcDocNo",shkd_businessnumber);
String saveRequestBody = otherIsJson.toJSONString();
DynamicObject shkd_apimapping = BusinessDataServiceHelper.loadSingle(shkd_apimappingid.getLong("id"), "shkd_apimapping");
Map<String, Object> headMap = new HashMap<>();
DynamicObjectCollection shkdHeade = shkd_apimapping.getDynamicObjectCollection("shkd_heade");
for (DynamicObject head : shkdHeade) {
headMap.put(head.getString("shkd_headcsm"), head.getString("shkd_headcsz"));
}
String shkd_url = shkd_apimapping.getString("shkd_url");
String res = doPost(shkd_url, headMap, saveRequestBody, null);
JSONObject otherIsJsonRS = null;//获取返回结果
try {
otherIsJsonRS = JSONObject.parseObject(res);
} catch (Exception e) {
this.addMessage(dataEntity,"单据" + dynamicObject.getString("billno") + "返回res转换json出错" + res, ErrorLevel.Error);
continue;
}
String flag = otherIsJsonRS.getString("flag");
if (resError(flag)) {//失败
String msg = otherIsJsonRS.getString("msg");
this.addMessage(dataEntity,"单据" + dynamicObject.getString("billno") + "返回接收失败原因:" + msg, ErrorLevel.Error);
continue;
} else {
String status = otherIsJsonRS.getString("status");
/*
* 0=共享不存在该单据,1=共享存在该单据,2=共享已删除
* */
if (!Arrays.asList("0","2").contains(status)){
this.addMessage(dataEntity,"单据" + dynamicObject.getString("billno") + "共享存在对应单据不允许删除", ErrorLevel.Error);
continue;
}
}
}