Selaa lähdekoodia

mobile筹建工单数

guarantee-lsq 1 vuosi sitten
vanhempi
commit
c2f2831f3f

+ 85 - 20
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -427,32 +427,97 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         return noticeNumberVO;
     }
 
+    private String getRoleCodes(){
+        // 根据用户的角色来定
+        StringBuilder roleCodes = new StringBuilder();
+        List<SysUserRoleVO> roles = sysUserRoleMapper.selectRoleListByUserId(SecurityUtils.getUserInfo().getUserId());
+        roles.forEach(item->{
+            roleCodes.append(item.getRoleCode()).append("&");
+        });
+        return roleCodes.toString();
+    }
+
     private void addPrepationNums(NoticeNumberVO noticeNumberVO,PreparationDTO preparationDTO){
+        UserInfo userInfo = SecurityUtils.getUserInfo();
+        // 获取用户角色
+        String roles = getRoleCodes();
+        // 角色标识
+        int roleFlag = 1; // 1 申请人 2 执行人 3 部门主管 4 部门负责人
+        if(userInfo.getSuperAdmin() != 1){
+            preparationDTO.setDelUserId(userInfo.getUserId());
+            if(roles.contains(SysRoleCodeEnum.DEPT_LEADER.name())){
+                // 部门负责人(执行和申请)
+                roleFlag = 4;
+                preparationDTO.setTempUserId(userInfo.getUserId());
+            }else if(roles.contains(SysRoleCodeEnum.DEPT_MANAGER.name())){
+                // 申请部门主管
+                roleFlag = 3;
+                preparationDTO.setApplyVerifyUserId(userInfo.getUserId());
+            }else if(roles.contains(SysRoleCodeEnum.PREPARATION_USER.name())){
+                // 执行人
+                roleFlag = 2;
+                preparationDTO.setRepairUserId(userInfo.getUserId());
+            }else {
+                // 申请人
+                preparationDTO.setUserId(userInfo.getUserId());
+            }
+        }
         List<PreparationVO> preparationVOS = preparationMapper.getCountByUserId(preparationDTO);
         noticeNumberVO.setNotDealNum(initNum);
         noticeNumberVO.setYesDealNum(initNum);
         noticeNumberVO.setFinishNum(initNum);
         noticeNumberVO.setReturnNum(initNum);
-        for (PreparationVO vo : preparationVOS){
-            BigDecimal tempVal = vo.getCounts() == null ? initNum : vo.getCounts();
-            if (vo.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue() ||
-                    vo.getStatus() == PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue() ||
-                    vo.getStatus() == PreparationStatusEnum.FIRST_PROCESSING_VERIFYING.getValue() ||
-                    vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING_VERIFYING.getValue() ||
-                    vo.getStatus() == PreparationStatusEnum.APPLY_LEADER_VERIFY_SUCCESS.getValue()){
-                // 待审核
-                noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
-            }else if (vo.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){
-                // 执行中
-                noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
-            }
-            else if (vo.getStatus() == PreparationStatusEnum.FINISHED.getValue()){
-                // 已完成
-                noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
-            }
-            else if (vo.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
-                // 费用审核
-                noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+        for (PreparationVO item : preparationVOS){
+            BigDecimal tempVal = item.getCounts() == null ? initNum : item.getCounts();
+            switch (roleFlag){
+                case 1: // 申请人
+                    if (item.getStatus() == PreparationStatusEnum.FIRST_PROCESSING_VERIFYING.getValue() ||
+                            item.getStatus() == PreparationStatusEnum.SECOND_PROCESSING_VERIFYING.getValue()){ // 待审核
+                        noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){ // 执行中
+                        noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.FINISHED.getValue()){ // 已完成
+                        noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
+                        // 费用审核
+                        noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+                    }
+                    break;
+                case 2: // 执行人
+                    if(item.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){ // 执行中
+                        noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.FINISHED.getValue()){ // 已完成
+                        noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
+                        // 费用审核
+                        noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+                    }
+                    break;
+                case 3: // 部门主管
+                    if (item.getStatus() == PreparationStatusEnum.NOT_ALLOCATED.getValue()){ // 待审核
+                        noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){ // 执行中
+                        noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.FINISHED.getValue()){ // 已完成
+                        noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
+                        // 费用审核
+                        noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+                    }
+                    break;
+                case 4: // 部门负责人
+                    if (item.getStatus() == PreparationStatusEnum.APPLY_MANAGER_VERIFY_SUCCESS.getValue() ||
+                            item.getStatus() == PreparationStatusEnum.APPLY_LEADER_VERIFY_SUCCESS.getValue()){ // 待审核
+                        noticeNumberVO.setNotDealNum(noticeNumberVO.getNotDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.SECOND_PROCESSING.getValue()){ // 执行中
+                        noticeNumberVO.setYesDealNum(noticeNumberVO.getYesDealNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.FINISHED.getValue()){ // 已完成
+                        noticeNumberVO.setFinishNum(noticeNumberVO.getFinishNum().add(tempVal));
+                    }else if(item.getStatus() == PreparationStatusEnum.PROCESSING.getValue()){
+                        // 费用审核
+                        noticeNumberVO.setReturnNum(noticeNumberVO.getReturnNum().add(tempVal));
+                    }
+                    break;
             }
         }
     }