|
|
|
|
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.Arrays; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
import java.util.Map; |
|
|
import java.util.Map; |
|
|
import java.util.function.Function; |
|
|
import java.util.function.Function; |
|
|
|
|
|
|
|
|
User user = userMapper.selectOne(new LambdaQueryWrapper<User>() |
|
|
User user = userMapper.selectOne(new LambdaQueryWrapper<User>() |
|
|
.eq(User::getId, userId) |
|
|
.eq(User::getId, userId) |
|
|
.eq(User::getMark, 1)); |
|
|
.eq(User::getMark, 1)); |
|
|
request.setUserDeptId(user.getDeptId()); |
|
|
|
|
|
|
|
|
if (UserTypeEnum.SUPER_ADMIN.getCode() != user.getType()) { |
|
|
|
|
|
request.setUserDeptId(user.getDeptId()); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 获取部门Id的查询范围 |
|
|
// 获取部门Id的查询范围 |
|
|
List<String> deptIdList = this.getDeptIdList(user, request.getDeptId()); |
|
|
List<String> deptIdList = this.getDeptIdList(user, request.getDeptId()); |
|
|
|
|
|
|
|
|
* @param deptId |
|
|
* @param deptId |
|
|
* @return |
|
|
* @return |
|
|
*/ |
|
|
*/ |
|
|
private List<String> getDeptIdList( User user, String deptId) { |
|
|
|
|
|
|
|
|
private List<String> getDeptIdList(User user, String deptId) { |
|
|
List<String> deptIdList = new ArrayList<>(); |
|
|
List<String> deptIdList = new ArrayList<>(); |
|
|
if (!StringUtils.isEmpty(deptId)) { |
|
|
if (!StringUtils.isEmpty(deptId)) { |
|
|
deptIdList.add(deptId); |
|
|
deptIdList.add(deptId); |
|
|
|
|
|
|
|
|
private List<WorkOrderPageListVo> buildPageList(List<WorkOrder> workOrderList) { |
|
|
private List<WorkOrderPageListVo> buildPageList(List<WorkOrder> workOrderList) { |
|
|
Map<String, Dept> deptMap = this.getDeptMap(workOrderList); |
|
|
Map<String, Dept> deptMap = this.getDeptMap(workOrderList); |
|
|
Map<String, User> userMap = this.getUserMap(workOrderList); |
|
|
Map<String, User> userMap = this.getUserMap(workOrderList); |
|
|
|
|
|
|
|
|
|
|
|
Map<String, User> assignUserMap = this.getAssignUserMap(workOrderList); |
|
|
Map<String, List<WorkOrderFile>> workOrderFileMap = this.getWorkOrderFileMap(workOrderList); |
|
|
Map<String, List<WorkOrderFile>> workOrderFileMap = this.getWorkOrderFileMap(workOrderList); |
|
|
|
|
|
|
|
|
List<String> inspectionFileIdList; |
|
|
List<String> inspectionFileIdList; |
|
|
|
|
|
|
|
|
List<WorkOrderPageListVo> workOrderPageListVoList = WorkOrderConverMapper.INSTANCE.fromWorkOrderListToWorkOrderPageListVoList(workOrderList); |
|
|
List<WorkOrderPageListVo> workOrderPageListVoList = WorkOrderConverMapper.INSTANCE.fromWorkOrderListToWorkOrderPageListVoList(workOrderList); |
|
|
Dept dept; |
|
|
Dept dept; |
|
|
User user; |
|
|
User user; |
|
|
|
|
|
User assignUser; |
|
|
|
|
|
String assignUserNames; |
|
|
List<WorkOrderFile> workOrderFileList; |
|
|
List<WorkOrderFile> workOrderFileList; |
|
|
for (WorkOrderPageListVo workOrderPageListVo : workOrderPageListVoList) { |
|
|
for (WorkOrderPageListVo workOrderPageListVo : workOrderPageListVoList) { |
|
|
|
|
|
assignUserNames = ""; |
|
|
dept = deptMap.get(workOrderPageListVo.getDeptId()); |
|
|
dept = deptMap.get(workOrderPageListVo.getDeptId()); |
|
|
user = userMap.get(workOrderPageListVo.getDistributionId()); |
|
|
user = userMap.get(workOrderPageListVo.getDistributionId()); |
|
|
workOrderFileList = workOrderFileMap.get(workOrderPageListVo.getId()); |
|
|
workOrderFileList = workOrderFileMap.get(workOrderPageListVo.getId()); |
|
|
|
|
|
|
|
|
if (null != user) { |
|
|
if (null != user) { |
|
|
workOrderPageListVo.setDistributionName(user.getRealname()); |
|
|
workOrderPageListVo.setDistributionName(user.getRealname()); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
String assignUsers = workOrderPageListVo.getAssignUser(); |
|
|
|
|
|
if (!StringUtils.isEmpty(assignUsers)) { |
|
|
|
|
|
String[] assignUserArr = assignUsers.split(","); |
|
|
|
|
|
for (String au : assignUserArr) { |
|
|
|
|
|
assignUser = assignUserMap.get(au); |
|
|
|
|
|
assignUserNames += assignUser.getRealname() + ","; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
if (!StringUtils.isEmpty(assignUserNames)) { |
|
|
|
|
|
assignUserNames = assignUserNames.substring(0, assignUserNames.length() - 1); |
|
|
|
|
|
workOrderPageListVo.setAssignUserNames(assignUserNames); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
return workOrderPageListVoList; |
|
|
return workOrderPageListVoList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return userMap; |
|
|
return userMap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 获取指派用户列表,放到map,减少循环次数 |
|
|
|
|
|
* |
|
|
|
|
|
* @param workOrderList |
|
|
|
|
|
* @return |
|
|
|
|
|
*/ |
|
|
|
|
|
private Map<String, User> getAssignUserMap(List<WorkOrder> workOrderList) { |
|
|
|
|
|
List<String> assignUserIdList = workOrderList.stream().map(o -> o.getDistributionId()).collect(Collectors.toList()); |
|
|
|
|
|
List<String> tmpList; |
|
|
|
|
|
for (WorkOrder workOrder : workOrderList) { |
|
|
|
|
|
String assignUser = workOrder.getAssignUser(); |
|
|
|
|
|
if (!StringUtils.isEmpty(assignUser)) { |
|
|
|
|
|
String[] arr = assignUser.split(","); |
|
|
|
|
|
tmpList = Arrays.asList(arr); |
|
|
|
|
|
assignUserIdList.addAll(tmpList); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
List<User> userList = null; |
|
|
|
|
|
if (!CollectionUtil.isEmpty(assignUserIdList)) { |
|
|
|
|
|
userList = userMapper.selectList(new LambdaQueryWrapper<User>() |
|
|
|
|
|
.in(User::getId, assignUserIdList) |
|
|
|
|
|
.eq(User::getMark, 1)); |
|
|
|
|
|
} |
|
|
|
|
|
Map<String, User> userMap = userList.stream().collect(Collectors.toMap(User::getId, Function.identity())); |
|
|
|
|
|
return userMap; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
private Map<String, List<WorkOrderFile>> getWorkOrderFileMap(List<WorkOrder> workOrderList) { |
|
|
private Map<String, List<WorkOrderFile>> getWorkOrderFileMap(List<WorkOrder> workOrderList) { |
|
|
List<String> workOrderIdList = workOrderList.stream().map(o -> o.getId()).collect(Collectors.toList()); |
|
|
List<String> workOrderIdList = workOrderList.stream().map(o -> o.getId()).collect(Collectors.toList()); |
|
|
List<WorkOrderFile> workOrderFileList = workOrderFileMapper.selectList(new LambdaQueryWrapper<WorkOrderFile>() |
|
|
List<WorkOrderFile> workOrderFileList = workOrderFileMapper.selectList(new LambdaQueryWrapper<WorkOrderFile>() |