diff --git a/lc123/cloud/app/plugin/form/result/OtherInApplyWorkflowDataListPlugin.java b/lc123/cloud/app/plugin/form/result/OtherInApplyWorkflowDataListPlugin.java index 4d25f3c..6752850 100644 --- a/lc123/cloud/app/plugin/form/result/OtherInApplyWorkflowDataListPlugin.java +++ b/lc123/cloud/app/plugin/form/result/OtherInApplyWorkflowDataListPlugin.java @@ -10,13 +10,18 @@ import kd.bos.entity.datamodel.ListSelectedRowCollection; import kd.bos.entity.datamodel.events.PackageDataEvent; import kd.bos.list.BillList; import kd.bos.list.plugin.AbstractListPlugin; +import kd.bos.logging.Log; +import kd.bos.logging.LogFactory; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; import kd.sdk.plugin.Plugin; import org.apache.commons.lang3.StringUtils; +import tqq9.lc123.cloud.app.plugin.utils.ConfigUtils; import tqq9.lc123.cloud.app.plugin.utils.FWRestfulUtils; +import tqq9.lc123.cloud.app.plugin.utils.FWUtils; import java.util.EventObject; import java.util.HashSet; @@ -28,6 +33,7 @@ import java.util.Set; */ public class OtherInApplyWorkflowDataListPlugin extends AbstractListPlugin implements Plugin { + private static final Log log = LogFactory.getLog(OtherInApplyWorkflowDataListPlugin.class); @Override public void afterBindData(EventObject e) { @@ -39,64 +45,65 @@ public class OtherInApplyWorkflowDataListPlugin extends AbstractListPlugin imple Long primaryKeyValue = (Long) row.getPrimaryKeyValue(); idSet.add(primaryKeyValue); } + //获取第三方配置表的泛微用户ID + String userid = ConfigUtils.getThirdConfigByNumber("FW_WorkFlowInfo_UserId"); QFilter f = new QFilter("id", "in", idSet); DynamicObject[] billArr = BusinessDataServiceHelper.load("tqq9_otherinapply", "id,billno,tqq9_fwrequestid,tqq9_fwstate,tqq9_auditor,tqq9_auditornode", new QFilter[]{f}); for (DynamicObject tqq9_otherinapply : billArr) { String billno = tqq9_otherinapply.getString("billno"); + log.info("billno:"+billno); String tqq9_fwrequestid = tqq9_otherinapply.getString("tqq9_fwrequestid"); String tqq9_fwstate = tqq9_otherinapply.getString("tqq9_fwstate"); if(StringUtils.isNotBlank(tqq9_fwrequestid) && "B".equals(tqq9_fwstate)){ - String userid = null; - //获取当前用户id - Long id = RequestContext.get().getCurrUserId(); - DynamicObject user = BusinessDataServiceHelper.loadSingle("bos_user", - new QFilter[]{new QFilter("id", QCP.equals, id)}); - DynamicObjectCollection entryentity = (DynamicObjectCollection) user.get("entryentity"); - if (entryentity != null && entryentity.size() > 0) { - for (DynamicObject entry : entryentity) { - userid = entry.getString("tqq9_fwuserid"); - if (StringUtils.isNotBlank(userid)) { - break; - } + if(StringUtils.isBlank(userid)){ + //获取当前用户id对应的泛微用户ID + Long id = RequestContext.get().getCurrUserId(); + QFilter f1 = new QFilter("id", "=", id); + QFilter f2 = new QFilter("entryentity.ispartjob", "=", false); + DynamicObject bos_user = QueryServiceHelper.queryOne("bos_user", "id,entryentity.tqq9_fwuserid", new QFilter[]{f1, f2}); + if (bos_user != null) { + userid = bos_user.getString("entryentity.tqq9_fwuserid"); } - if (userid == null) { - //获取泛微人员id失败 + if (StringUtils.isBlank(userid)) { + log.info("没有获取到泛微用户ID,当前用户ID:"+id); return; } } String requestName = "FW_获取流程流转数据"; + //调用泛微接口获取下一步处理人 String bodyString = FWRestfulUtils.getFwWorkFlowInfo(requestName, billno, tqq9_fwrequestid, userid); + log.info("billno:"+billno+",bodyString:"+bodyString); JSONObject map = JSONObject.parseObject(bodyString); - JSONArray data = map.getJSONArray("data");//节点id - - - if (data != null && data.size() > 0) { - String nodeName = null; - String fwuserid = null; - for (int i = 0; i < data.size(); i++) { - JSONObject data0 = (JSONObject) data.get(i); - Integer isremark = data0.getInteger("isremark"); - nodeName = data0.getString("nodeName"); - if (StringUtils.isNotBlank(nodeName) && isremark != null) { - if (isremark == 0 && !nodeName.contains("归档")) { - fwuserid = String.valueOf(data0.getInteger("userid")); - break; + if (map != null) { + JSONArray data = map.getJSONArray("data");//节点id + if (data != null && data.size() > 0) { + String nodeName = null; + String fwuserid = null; + for (int i = 0; i < data.size(); i++) { + JSONObject data0 = (JSONObject) data.get(i); + Integer isremark = data0.getInteger("isremark"); + nodeName = data0.getString("nodeName"); + if (StringUtils.isNotBlank(nodeName) && isremark != null) { + if (isremark == 0 && !nodeName.contains("归档")) { + fwuserid = String.valueOf(data0.getInteger("userid")); + break; + } } } - } - if (StringUtils.isNotBlank(fwuserid)) { - DynamicObject[] fwuserArr = BusinessDataServiceHelper.load("bos_user", "id,name,number", - new QFilter[]{new QFilter("entryentity.tqq9_fwuserid", QCP.equals, fwuserid)}); - if (fwuserArr != null && fwuserArr.length > 0) { - tqq9_otherinapply.set("tqq9_auditor", fwuserArr[0]);//待审批人 - tqq9_otherinapply.set("tqq9_auditornode", nodeName);//节点名称 - SaveServiceHelper.save(new DynamicObject[]{tqq9_otherinapply}); + if (StringUtils.isNotBlank(fwuserid)) { + DynamicObject[] fwuserArr = BusinessDataServiceHelper.load("bos_user", "id,name,number", + new QFilter[]{new QFilter("entryentity.tqq9_fwuserid", QCP.equals, fwuserid)}); + if (fwuserArr != null && fwuserArr.length > 0) { + tqq9_otherinapply.set("tqq9_auditor", fwuserArr[0]);//待审批人 + tqq9_otherinapply.set("tqq9_auditornode", nodeName);//节点名称 + SaveServiceHelper.save(new DynamicObject[]{tqq9_otherinapply}); + } } - } - } + } } + }