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