Bladeren bron

钉钉审批回调判断审批流程是否到达出纳节点

wzy 1 jaar geleden
bovenliggende
commit
12b1f92a19

+ 21 - 8
mjava-shantai/src/main/java/com/malk/shantai/service/impl/StDingProcServiceImpl.java

@@ -70,6 +70,17 @@ public class StDingProcServiceImpl implements StDingProcService {
     public void fkdSync(String procInstId) {
         Map map=ddClient_workflow.getProcessInstanceId(ddClient.getAccessToken(),procInstId);
         log.info("map:{}",map);
+        List<Map> tasks = (List<Map>) map.get("tasks");
+        for (Map task : tasks) {
+            if ("RUNNING".equals(task.get("status").toString())){
+                //判断是否为审批流程是否到出纳节点
+                if (!"a8bb_dd48".equals(task.get("activityId").toString())){
+                    return;
+                }else {
+                    break;
+                }
+            }
+        }
         Map rule=new HashMap();
         rule.put("DDSelectField_8UJMKRMLWYK0","是否推送到易快报");// 是否推送到易快报
 //        rule.put("TextField-K11U6U5Q","付款事由");// 标题/付款事由
@@ -197,14 +208,16 @@ public class StDingProcServiceImpl implements StDingProcService {
         //获取附件上传到钉盘
         List<String> paths = (List<String>) map.get("paths");
         List<Map> dentries = new ArrayList<>();
-        for (String path : paths) {
-            File file = new File(path);
-            try{
-                //上传文件至钉盘
-                Map dentry = upload(file,unionId);
-                dentries.add(dentry);
-            }catch (IOException e){
-                e.printStackTrace();
+        if (Objects.nonNull(paths) && !paths.isEmpty()){
+            for (String path : paths) {
+                File file = new File(path);
+                try{
+                    //上传文件至钉盘
+                    Map dentry = upload(file,unionId);
+                    dentries.add(dentry);
+                }catch (IOException e){
+                    e.printStackTrace();
+                }
             }
         }