LLL 1 年之前
父節點
當前提交
88ac7fa9b6

+ 39 - 35
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/controller/ItdmRunFlowPathController.java

@@ -155,26 +155,27 @@ public class ItdmRunFlowPathController extends JeecgController<ItdmRunFlowPath,
         ItdmRunFlowPath runFlowPath = itdmRunFlowPathService.getById(id);
         int sort = Integer.parseInt(iItdmFlowPathStepService.getById(runFlowPath.getDqSetp()).getSort());
         //委托id
-        Map<String, Object> weituoMap = new HashMap<>();
-        weituoMap.put("weituo_no",runFlowPath.getWeituoNo());
-        String weituoId = iItdmWeituoInfoService.listByMap(weituoMap).get(0).getId();
-
-        //流程步骤表——12步
-        List<ItdmFlowPathStep> stepList = iItdmFlowPathStepService.list();
-        //删除对应的任务
-        for(ItdmFlowPathStep step : stepList){
-            int sort1 = Integer.parseInt(step.getSort());
-            if(sort1<=sort){
-                ItdmTask task = new ItdmTask();
-                task.setWeituoId(weituoId);
-                task.setTaskContent(step.getName());
-                QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(task);
-                ItdmTask dTask = taskService.getOne(queryWrapper);
-                taskService.removeById(dTask);
+        if(runFlowPath!=null){
+            Map<String, Object> weituoMap = new HashMap<>();
+            weituoMap.put("weituo_no",runFlowPath.getWeituoNo());
+            String weituoId = iItdmWeituoInfoService.listByMap(weituoMap).get(0).getId();
+
+            //流程步骤表——12步
+            List<ItdmFlowPathStep> stepList = iItdmFlowPathStepService.list();
+            //删除对应的任务
+            for(ItdmFlowPathStep step : stepList){
+                int sort1 = Integer.parseInt(step.getSort());
+                if(sort1<=sort){
+                    ItdmTask task = new ItdmTask();
+                    task.setWeituoId(weituoId);
+                    task.setTaskContent(step.getName());
+                    QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(task);
+                    ItdmTask dTask = taskService.getOne(queryWrapper);
+                    taskService.removeById(dTask);
+                }
             }
         }
 
-
         itdmRunFlowPathService.removeById(id);
         itdmRunFlowPathStepService.remove(Wrappers.lambdaQuery(ItdmRunFlowPathStep.class).eq(ItdmRunFlowPathStep::getRunFlowPath, id));
 
@@ -196,26 +197,29 @@ public class ItdmRunFlowPathController extends JeecgController<ItdmRunFlowPath,
         for (String id : Arrays.asList(ids.split(","))){
             //查询对应的运行流程对象
             ItdmRunFlowPath runFlowPath = itdmRunFlowPathService.getById(id);
-            int sort = Integer.parseInt(iItdmFlowPathStepService.getById(runFlowPath.getDqSetp()).getSort());
-            //委托id
-            Map<String, Object> weituoMap = new HashMap<>();
-            weituoMap.put("weituo_no",runFlowPath.getWeituoNo());
-            String weituoId = iItdmWeituoInfoService.listByMap(weituoMap).get(0).getId();
-
-            //流程步骤表——12步
-            List<ItdmFlowPathStep> stepList = iItdmFlowPathStepService.list();
-            //删除对应的任务
-            for(ItdmFlowPathStep step : stepList){
-                int sort1 = Integer.parseInt(step.getSort());
-                if(sort1<=sort){
-                    ItdmTask task = new ItdmTask();
-                    task.setWeituoId(weituoId);
-                    task.setTaskContent(step.getName());
-                    QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(task);
-                    ItdmTask dTask = taskService.getOne(queryWrapper);
-                    taskService.removeById(dTask);
+            if(runFlowPath!=null){
+                int sort = Integer.parseInt(iItdmFlowPathStepService.getById(runFlowPath.getDqSetp()).getSort());
+                //委托id
+                Map<String, Object> weituoMap = new HashMap<>();
+                weituoMap.put("weituo_no",runFlowPath.getWeituoNo());
+                String weituoId = iItdmWeituoInfoService.listByMap(weituoMap).get(0).getId();
+
+                //流程步骤表——12步
+                List<ItdmFlowPathStep> stepList = iItdmFlowPathStepService.list();
+                //删除对应的任务
+                for(ItdmFlowPathStep step : stepList){
+                    int sort1 = Integer.parseInt(step.getSort());
+                    if(sort1<=sort){
+                        ItdmTask task = new ItdmTask();
+                        task.setWeituoId(weituoId);
+                        task.setTaskContent(step.getName());
+                        QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(task);
+                        ItdmTask dTask = taskService.getOne(queryWrapper);
+                        taskService.removeById(dTask);
+                    }
                 }
             }
+
         }
 
 

+ 49 - 49
itdmServer/module-iTDM/src/main/java/org/jeecg/modules/flowpath/service/impl/ItdmRunFlowPathStepServiceImpl.java

@@ -138,6 +138,7 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
 
     }
 
+    /**通过*/
     @Override
     @Transactional
 
@@ -175,44 +176,41 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
             return;
         }
 
-        //原待办人员和角色、委托id
-        String yuanRole = roleService.getById(itdmRunFlowPath.getDqSetpRoleId()).getRoleName();
-        String yuanUserName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();
-        String content = flowPathStepService.getById(itdmRunFlowPath.getDqSetp()).getName();
-        Map<String, Object> weituoMap = new HashMap<>();
-        weituoMap.put("weituo_no",itdmRunFlowPath.getWeituoNo());
-        String weituoId = weituoInfoService.listByMap(weituoMap).get(0).getId();
-
-        itdmRunFlowPath.setId(select.getRunFlowPath());
-        itdmRunFlowPath.setDqSetp(nextstep.getFlowPathSetp());
-        itdmRunFlowPath.setDqSetpUserIds(nextstep.getUserIds());
-        itdmRunFlowPath.setDqSetpRoleId(nextstep.getRoleId());
-        itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
+        //原待办任务名、委托id
+        if(itdmRunFlowPath!=null){
+            String content = flowPathStepService.getById(itdmRunFlowPath.getDqSetp()).getName();
+            Map<String, Object> weituoMap = new HashMap<>();
+            weituoMap.put("weituo_no",itdmRunFlowPath.getWeituoNo());
+            String weituoId = weituoInfoService.listByMap(weituoMap).get(0).getId();
+
+            itdmRunFlowPath.setId(select.getRunFlowPath());
+            itdmRunFlowPath.setDqSetp(nextstep.getFlowPathSetp());
+            itdmRunFlowPath.setDqSetpUserIds(nextstep.getUserIds());
+            itdmRunFlowPath.setDqSetpRoleId(nextstep.getRoleId());
+            itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
 
-        //该步骤通过后,原步骤状态改为进行中,
-        ItdmTask yuanTask = new ItdmTask();
-        yuanTask.setWeituoId(weituoId);//委托id
-//        yuanTask.setTaskUser(yuanUserName);
-//        yuanTask.setTaskRole(yuanRole);
-
-        yuanTask.setTaskContent(content);
-        QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(yuanTask);
-        ItdmTask yuanTask1 = taskService.getOne(queryWrapper);
-        yuanTask1.setTaskStatus(1);//进行中
-//        UpdateWrapper<ItdmTask> updateWrapper = new UpdateWrapper<>(yuanTask1);
-        taskService.updateById(yuanTask1);
-//        taskService.update(updateWrapper);
-        // 然后新增一条该步骤的我的任务
-        String role = roleService.getById(itdmRunFlowPath.getDqSetpRoleId()).getRoleName();
-        String userName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();
-        ItdmTask itdmTask = new ItdmTask();
-        itdmTask.setTaskRole(role);
-        itdmTask.setTaskUser(userName);
-        itdmTask.setWeituoId(weituoId);//委托id
-        String taskContent = flowPathStepService.getById(nextstep.getFlowPathSetp()).getName();
-        itdmTask.setTaskContent(taskContent);//当前步骤名
-        itdmTask.setTaskStatus(0);//待办
-        taskService.insertTaskAfterJudge(itdmTask);
+            //该步骤通过后,原步骤状态改为进行中,
+            ItdmTask yuanTask = new ItdmTask();
+            yuanTask.setWeituoId(weituoId);//委托id
+            yuanTask.setTaskContent(content);
+            QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(yuanTask);
+            ItdmTask yuanTask1 = taskService.getOne(queryWrapper);
+            if(yuanTask1!=null){
+                yuanTask1.setTaskStatus(1);//进行中
+                taskService.updateById(yuanTask1);
+            }
+            // 然后新增一条该步骤的我的任务
+            String role = roleService.getById(itdmRunFlowPath.getDqSetpRoleId()).getRoleName();
+            String userName = userService.getUserByName(itdmRunFlowPath.getDqSetpUserIds().split(",")[0]).getRealname();
+            ItdmTask itdmTask = new ItdmTask();
+            itdmTask.setTaskRole(role);
+            itdmTask.setTaskUser(userName);
+            itdmTask.setWeituoId(weituoId);//委托id
+            String taskContent = flowPathStepService.getById(nextstep.getFlowPathSetp()).getName();
+            itdmTask.setTaskContent(taskContent);//当前步骤名
+            itdmTask.setTaskStatus(0);//待办
+            taskService.insertTaskAfterJudge(itdmTask);
+        }
 
         logService.insert(select.getRunFlowPath(), select.getId(), nextstep.getId(), "通过", "");
     }
@@ -248,18 +246,16 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
         itdmRunFlowPathMapper.updateById(itdmRunFlowPath);
 
         //驳回到上一步,修改上一步状态为待办,
-        String sybRole = roleService.getById(prvestep.getRoleId()).getRoleName();
-        String sybUserName = userService.getUserByName(prvestep.getUserIds().split(",")[0]).getRealname();
         String content = flowPathStepService.getById(prvestep.getFlowPathSetp()).getName();
         ItdmTask sybTask = new ItdmTask();
         sybTask.setWeituoId(weituoId);//委托id
-//        sybTask.setTaskUser(sybUserName);
-//        sybTask.setTaskRole(sybRole);
         sybTask.setTaskContent(content);
         QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(sybTask);
         ItdmTask sybTask1 = taskService.getOne(queryWrapper);
-        sybTask1.setTaskStatus(0);//改为待办
-        taskService.updateById(sybTask1);
+        if(sybTask1!=null){
+            sybTask1.setTaskStatus(0);//改为待办
+            taskService.updateById(sybTask1);
+        }
         //删掉此次步骤的任务
         ItdmTask bcTask = new ItdmTask();
         bcTask.setWeituoId(weituoId);//委托id
@@ -268,8 +264,9 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
         bcTask.setTaskContent(yuanContent);//本次任务
         QueryWrapper<ItdmTask> bcQueryWrapper = new QueryWrapper<>(bcTask);
         ItdmTask bcTask1 = taskService.getOne(bcQueryWrapper);
-        taskService.removeById(bcTask1);
-
+        if(bcTask1!=null){
+            taskService.removeById(bcTask1);
+        }
 
 
         logService.insert(select.getRunFlowPath(), select.getId(), prvestep.getId(), "驳回上一节点", itdmRejectDQRunFlowPath.getYuanyin());
@@ -326,12 +323,13 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
         zdjdTask.setTaskContent(zdjdContent);
         QueryWrapper<ItdmTask> queryWrapper = new QueryWrapper<>(zdjdTask);
         ItdmTask zdjdTask1 = taskService.getOne(queryWrapper);
-        zdjdTask1.setTaskStatus(0);//改为待办
-        taskService.updateById(zdjdTask1);
+        if(zdjdTask1!=null){
+            zdjdTask1.setTaskStatus(0);//改为待办
+            taskService.updateById(zdjdTask1);
+        }
 
         //指定节点之后的所有步骤的任务全部删除
         String runFlowPath = prvestep.getRunFlowPath();//指定节点的运行流程id
-        String runFlowPathStep = prvestep.getId();//指定节点的运行流程步骤id
         int sort = Integer.parseInt(prvestep.getSort());
         ItdmRunFlowPathStep step = new ItdmRunFlowPathStep();
         step.setRunFlowPath(runFlowPath);
@@ -346,7 +344,9 @@ public class ItdmRunFlowPathStepServiceImpl extends ServiceImpl<ItdmRunFlowPathS
                 t.setTaskContent(s.getName());//任务名///////////////////////////////////////////
                 QueryWrapper<ItdmTask> bcQueryWrapper = new QueryWrapper<>(t);
                 ItdmTask t1 = taskService.getOne(bcQueryWrapper);
-                taskService.removeById(t1);
+                if(t1!=null){
+                    taskService.removeById(t1);
+                }
             }
         }