diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java index 53710953..be00a9bf 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/mapper/TmTaskMapper.java @@ -155,4 +155,10 @@ public interface TmTaskMapper { Integer getNumISenoughOther(MaType maType); MaType getNumByTypeId(MaType maType); + + /** + * 获取机具经理和机具副经理的审核人id + * @return + */ + List getUserIdListByRoleName(); } \ No newline at end of file diff --git a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java index 2d44cb3c..5a065ded 100644 --- a/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java +++ b/sgzb-modules/sgzb-base/src/main/java/com/bonus/sgzb/app/service/impl/TmTaskServiceImpl.java @@ -662,11 +662,12 @@ public class TmTaskServiceImpl implements TmTaskService { @Override public List getLeaseOutListByUser(TmTask task) { Set roles = SecurityUtils.getLoginUser().getRoles(); - if (roles.contains(STRING_ADMIN)) { + //管理员、机具经理可以查看全部设备 + if (roles.contains(STRING_ADMIN) || roles.contains(STRING_EM01)) { return tmTaskMapper.getLeaseOutListByAdmin(task); - } else if (roles.contains(STRING_JJBZ) || roles.contains(STRING_FBZ) || roles.contains(STRING_EM01) + } else if (roles.contains(STRING_JJBZ) || roles.contains(STRING_FBZ) || roles.contains(STRING_EM02) || roles.contains(STRING_EM03)) { - //机具班长、副班长、机具经理、机具副经理、安全员可以查看机具设备 + //机具班长、副班长、机具副经理、安全员可以查看机具设备 return tmTaskMapper.getLeaseOutListByjjbz(task); } else if (roles.contains(STRING_DM01)) { //调试经理可以查看调试设备 @@ -894,6 +895,7 @@ public class TmTaskServiceImpl implements TmTaskService { */ @Override public List getLeaseAuditManageList(TmTask record) { + boolean isManager = false; Set roles = SecurityUtils.getLoginUser().getRoles(); Long deptId = SecurityUtils.getLoginUser().getSysUser().getDeptId(); List tmTaskList = tmTaskMapper.getAuditManageListByLeaseTmTask(record); @@ -902,6 +904,14 @@ public class TmTaskServiceImpl implements TmTaskService { if (tmTask == null) { continue; } + // 获取机具经理和机具副经理的审核人id + List userIdList = tmTaskMapper.getUserIdListByRoleName(); + Long userId = SecurityUtils.getLoginUser().getUserid(); + if (CollectionUtils.isNotEmpty(userIdList)) { + if (userIdList.contains(userId)) { + isManager = true; + } + } List collect = tmTaskMapper.getAuditManageListByLeaseInfo(tmTask); if (collect.isEmpty()) { continue; @@ -910,7 +920,7 @@ public class TmTaskServiceImpl implements TmTaskService { if (deptId1 == null) { continue; } - List filteredList = filterLeaseApplyInfoList(roles, deptId, deptId1, collect); + List filteredList = filterLeaseApplyInfoList(isManager, tmTask, roles, deptId, deptId1, collect); processLeaseApplyInfoList(tmTaskMapper, tmTask, filteredList, deptId1, collect.get(0).getRemark()); } @@ -919,7 +929,7 @@ public class TmTaskServiceImpl implements TmTaskService { - private static List filterLeaseApplyInfoList(Set roles, Long deptId, int deptId1, List collect) { + private static List filterLeaseApplyInfoList(boolean isManager, TmTask task, Set roles, Long deptId, int deptId1, List collect) { if (roles.contains("admin") || deptId == 100) { return collect; } else if (deptId == 101) { @@ -931,6 +941,12 @@ public class TmTaskServiceImpl implements TmTaskService { .filter(t -> t.getCompanyId() != null && t.getCompanyId() == 102) .collect(Collectors.toList())); } + // 即为内部审核,又是调试设备 + if (task.getTaskStatus() == 32 && collect.get(0).getCompanyId() == 102) { + if (isManager) { + return collect; + } + } return auditListByLeaseInfo; } else if (deptId == 102) { List auditListByLeaseInfo = collect.stream() @@ -1040,6 +1056,18 @@ public class TmTaskServiceImpl implements TmTaskService { int result = 0; int taskId = 0; int num = 0; + boolean isManager = false; + // 获取机具经理和机具副经理的审核人id + List userIdList = tmTaskMapper.getUserIdListByRoleName(); + Long userId = SecurityUtils.getLoginUser().getUserid(); + if (CollectionUtils.isNotEmpty(userIdList)) { + if (userIdList.contains(userId)) { + // 只针对于调试设备,内部审核修改为机具经理审核 + if (record.getCompanyId() != null && record.getCompanyId() == 102) { + isManager = true; + } + } + } Long companyId = SecurityUtils.getLoginUser().getSysUser().getCompanyId(); if (StringUtils.isNotNull(record)) { // 先审核任务表 @@ -1049,7 +1077,12 @@ public class TmTaskServiceImpl implements TmTaskService { // 再审核领料任务信息表 List leaseApplyInfoList = record.getLeaseApplyInfoList(); if (CollUtil.isNotEmpty(leaseApplyInfoList)) { - List applyInfoList = leaseApplyInfoList.stream().filter(t -> t.getCompanyId().equals(companyId.intValue())).collect(Collectors.toList()); + List applyInfoList = new ArrayList<>(); + if (isManager) { + applyInfoList = leaseApplyInfoList; + } else { + applyInfoList = leaseApplyInfoList.stream().filter(t -> t.getCompanyId().equals(companyId.intValue())).collect(Collectors.toList()); + } if (CollUtil.isNotEmpty(applyInfoList)) { for (LeaseApplyInfo leaseApplyInfo : applyInfoList) { taskId = leaseApplyInfo.getTaskId(); diff --git a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml index 357138e6..4d3dd6ca 100644 --- a/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-base/src/main/resources/mapper/app/TmTaskMapper.xml @@ -1489,4 +1489,17 @@ mt.type_id = #{typeId} + + diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java index b99806e8..de27c79e 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/ToDoServiceImpl.java @@ -62,7 +62,7 @@ public class ToDoServiceImpl implements ToDoService { for (ToDoBean toDoBean : collect) { if (deptId.equals(toDoBean.getDeptId()) && "30".equals(toDoBean.getTaskStatus())) { toDoBeanArrayList.add(toDoBean); - } else if ("32".equals(toDoBean.getTaskStatus()) && toDoBean.getCompanyId() == 101) { + } else if ("32".equals(toDoBean.getTaskStatus()) /*&& toDoBean.getCompanyId() == 101*/) { toDoBeanArrayList.add(toDoBean); } } @@ -77,9 +77,9 @@ public class ToDoServiceImpl implements ToDoService { for (ToDoBean toDoBean : collect) { if (deptId.equals(toDoBean.getDeptId()) && "30".equals(toDoBean.getTaskStatus())) { beanList.add(toDoBean); - } else if ("32".equals(toDoBean.getTaskStatus()) && toDoBean.getCompanyId() == 102) { + } /*else if ("32".equals(toDoBean.getTaskStatus()) && toDoBean.getCompanyId() == 102) { beanList.add(toDoBean); - } + }*/ } return beanList; // 各分公司经理 @@ -87,7 +87,7 @@ public class ToDoServiceImpl implements ToDoService { // 将collect集合中taskStatus为30的数据过滤出来,并且collect集合中的deptId不为101或者102 return collect.stream().filter(toDoBean -> "30".equals(toDoBean.getTaskStatus()) && deptId.equals(toDoBean.getDeptId())).collect(Collectors.toList()); - } else if (roles.contains(STRING_DM02)) { + } /*else if (roles.contains(STRING_DM02)) { List beans = new ArrayList<>(); for (ToDoBean toDoBean : collect) { if ("32".equals(toDoBean.getTaskStatus()) && toDoBean.getCompanyId() == 102) { @@ -95,7 +95,7 @@ public class ToDoServiceImpl implements ToDoService { } } return beans; - } + }*/ } return toDoList; } diff --git a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java index ffec4559..76252fd5 100644 --- a/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java +++ b/sgzb-modules/sgzb-system/src/main/java/com/bonus/sgzb/system/service/impl/SysUserServiceImpl.java @@ -858,8 +858,11 @@ public class SysUserServiceImpl implements ISysUserService { user.setPickingFirst(s); } } else if (TaskStatusEnum.STAY_INTERNAL_AUDIT.getInfo().equals(urgentProcessingUser.getTaskStatus())) { - //获取调试经理和机具副经理的信息 - userList = userMapper.selectUserByDm(); + /*//获取调试经理和机具副经理的信息 + userList = userMapper.selectUserByDm();*/ + // todo 2025-12-04 审核流程更改,调试内部审核改为机具经理审核 + //获取机具经理和机具副经理的信息 + userList = userMapper.selectUserByEm(); for (SysUser user : userList) { String s = selectPickingFirst(user); user.setPickingFirst(s);