diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/ShareOPPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/ShareOPPlugin.java index bc286ce..81f3cdc 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/ShareOPPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/operation/ShareOPPlugin.java @@ -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 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; } } }