Browse Source

巡检优化

2 years ago
parent
commit
a1573d56dc

+ 34 - 37
platform-service/src/main/java/com/platform/service/fill/impl/FillGatherTaskServiceImpl.java

@@ -73,47 +73,44 @@ public class FillGatherTaskServiceImpl extends BaseServiceImpl<FillGatherTaskMap
         FillGatherTask task1 =  mapper.selectOne(new FillGatherTask().setId(dto.getId()));
         FillGatherTask task = new FillGatherTask();
         task.setId(dto.getId());
-        if (dto.getIsAdd()==0){
-            UserInfo userInfo = SecurityUtils.getUserInfo();
-            SysRole sysRole = new SysRole();
-            sysRole.setRoleName("调度人员");
-            SysRole role = sysRoleMapper.selectOne(sysRole);
-            if (userInfo.getSuperAdmin()==1){
-                task.setTotalNum(task1.getTotalNum()-dto.getDetailIds().size());
-                task.setWaitNum(task1.getTotalNum()-dto.getDetailIds().size());
-                deleteDetails(dto.getDetailIds());
-            }else if (userInfo.getRoleCodes().size()>0){
-                for (int i = 0;i<userInfo.getRoleCodes().size();i++){
-                    if (userInfo.getRoleCodes().get(i).equals(role.getRoleCode())){
-                        //删除
-                        task.setTotalNum(task1.getTotalNum()-dto.getDetailIds().size());
-                        task.setWaitNum(task1.getTotalNum()-dto.getDetailIds().size());
-                        deleteDetails(dto.getDetailIds());
-                        break;
-                    }else if (i==userInfo.getRoleCodes().size()-1){
-                        throw new DeniedException("对不起,只有调度人员可以删除巡检任务!");
-                    }
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+        SysRole sysRole = new SysRole();
+        sysRole.setRoleName("调度人员");
+        SysRole role = sysRoleMapper.selectOne(sysRole);
+        List<String> rolecodes = userInfo.getRoleCodes();
+        boolean flag=false;
+        if (rolecodes!=null&&rolecodes.size()>0){
+            for (int i=0;i<rolecodes.size();i++){
+                if (rolecodes.get(i).equals(role.getRoleCode())){
+                    flag=true;
+                    break;
                 }
-            }else {
-                throw new DeniedException("对不起,只有调度人员可以删除巡检任务!");
             }
-
-        }else if (dto.getIsAdd()==1){
-            List<FillGatherTaskDetailVO> detailVOS =  fillGatherTaskDetailMapper.selectVOByTaskId(task1.getId());
-            StringBuffer sb = new StringBuffer();
-            for (FillGatherTaskDetailVO vo:detailVOS){
-                sb.append(vo.getSbId());
-            }
-            for (String sbId:dto.getSbIds()){
-                if (sb.toString().contains(sbId)) {
-                    throw new DeniedException("设备id为"+sbId+"的设备已添加在巡检任务中,不可重复添加!");
+        }
+        if (userInfo.getSuperAdmin()==1||flag) {
+            if (dto.getIsAdd() == 0) {
+                task.setTotalNum(task1.getTotalNum() - dto.getDetailIds().size());
+                task.setWaitNum(task1.getTotalNum() - dto.getDetailIds().size());
+                deleteDetails(dto.getDetailIds());
+            } else if (dto.getIsAdd() == 1) {
+                List<FillGatherTaskDetailVO> detailVOS = fillGatherTaskDetailMapper.selectVOByTaskId(task1.getId());
+                StringBuffer sb = new StringBuffer();
+                for (FillGatherTaskDetailVO vo : detailVOS) {
+                    sb.append(vo.getSbId());
                 }
+                for (String sbId : dto.getSbIds()) {
+                    if (sb.toString().contains(sbId)) {
+                        throw new DeniedException("设备id为" + sbId + "的设备已添加在巡检任务中,不可重复添加!");
+                    }
+                }
+                task.setTotalNum(task1.getTotalNum() + dto.getSbIds().size());
+                task.setWaitNum(task1.getTotalNum() + dto.getSbIds().size());
+                //新增明细,调用saveDetail方法
+                String content = getContentByGatherId(task1.getGatherId());
+                saveDetails(content, dto.getSbIds(), dto.getSortNums(), task.getId());
             }
-            task.setTotalNum(task1.getTotalNum()+dto.getSbIds().size());
-            task.setWaitNum(task1.getTotalNum()+dto.getSbIds().size());
-            //新增明细,调用saveDetail方法
-            String content = getContentByGatherId(task1.getGatherId());
-            saveDetails(content,dto.getSbIds(),dto.getSortNums(),task.getId());
+        }else {
+            throw new DeniedException("对不起,非调度人员不可以添加,删除巡检明细!");
         }
 //        task.setStatus(FillGatherTaskStatusEnum.PROCESSING.getValue());
 //        mapper.updateByPrimaryKey(task);