ソースを参照

Merge remote-tracking branch 'origin/demo_' into demo_

1 年間 前
コミット
c6c66e1665

+ 20 - 2
platform-service/src/main/java/com/platform/service/preparation/impl/PreparationServiceImpl.java

@@ -481,9 +481,25 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
 
     @Override
     public AbstractPageResultBean<PreparationVO> selectWechatPageList(PreparationDTO record, int pageNum, int pageSize) {
-        PageHelper.startPage(pageNum, pageSize);
         UserInfo userInfo = SecurityUtils.getUserInfo();
-        record.setTempUserId(userInfo.getUserId());
+        // 获取用户角色
+        String roles = getRoleCodes();
+        if(userInfo.getSuperAdmin() != 1){
+            record.setDelUserId(userInfo.getUserId());
+            if(roles.contains(SysRoleCodeEnum.DEPT_LEADER.name())){
+                // 部门负责人(执行和申请)
+                record.setTempUserId(userInfo.getUserId());
+            }else if(roles.contains(SysRoleCodeEnum.DEPT_MANAGER.name())){
+                // 申请部门主管
+                record.setApplyVerifyUserId(userInfo.getUserId());
+            }else if(roles.contains(SysRoleCodeEnum.PREPARATION_USER.name())){
+                // 执行人
+                record.setRepairUserId(userInfo.getUserId());
+            }else {
+                // 申请人
+                record.setUserId(userInfo.getUserId());
+            }
+        }
         if(record.getStatus() != null && record.getStatus() == 99){
             List<Integer> statusList = ListUtils.newArrayList();
             statusList.add(PreparationStatusEnum.NOT_ALLOCATED.getValue());
@@ -494,6 +510,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
             record.setStatusList(statusList);
             record.setStatus(null);
         }
+        PageHelper.startPage(pageNum, pageSize);
         return new MyPage(mapper.selectList(record));
     }
 
@@ -770,6 +787,7 @@ public class PreparationServiceImpl extends BaseServiceImpl<PreparationMapper, P
         mapper.updateByPrimaryKeySelective(updPre);
         // 发送消息
         List<SysUserVO> sendUsers = sysUserMapper.getSysUserVO(sendUserDTO);
+        updPre.setNo(preparation.getNo());
         sendMessageToApplyLeader(sendUsers, updPre);
     }
 

+ 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;
             }
         }
     }