|
@@ -1024,7 +1024,8 @@ public class WmSupervisionManager {
|
|
|
|
|
|
List<String> pkgIds = pkgs.stream().map(WmScorePackage::getId).distinct().sorted().collect(Collectors.toList());
|
|
|
// 获取子集包中的所有任务
|
|
|
- List<WmTask> tasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, pkgIds).eq(WmTask::getTaskStatus, "3"));
|
|
|
+ List<WmTask> tasks = taskService.listAvailableTaskForSupervision1(pkgIds.stream().mapToInt(Integer::valueOf).boxed().distinct().sorted().collect(Collectors.toList()), Collections.emptyList());
|
|
|
+ // List<WmTask> tasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, pkgIds).eq(WmTask::getTaskStatus, "3"));
|
|
|
// 获取监察记录
|
|
|
List<WmTaskSupervision> supervisions = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgs));
|
|
|
|
|
@@ -1048,6 +1049,316 @@ public class WmSupervisionManager {
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ public Page<Map<String, Object>> pageTaskSupervision(WmSupervisionDto.OnTaskSupervisionPage query) {
|
|
|
+
|
|
|
+ Page<Map<String, Object>> page = new Page<>(query.getCurrent(), query.getSize());
|
|
|
+
|
|
|
+ // 获取积分包
|
|
|
+ List<WmScorePackage> packages = packageService.list(Wrappers.<WmScorePackage>lambdaQuery().eq(WmScorePackage::getSendPackageDeptId, query.getDeptId()));
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(packages)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取积分包ID
|
|
|
+ List<Integer> pkgIds = packages.stream().map(WmScorePackage::getId).mapToInt(Integer::valueOf).boxed().distinct().sorted().collect(Collectors.toList());
|
|
|
+
|
|
|
+
|
|
|
+ List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
|
|
|
+ .in(WmTaskSupervision::getPackageId, pkgIds)
|
|
|
+ .orderByDesc(WmTaskSupervision::getCreateTime)
|
|
|
+ );
|
|
|
+ // 获取当前积分包已经监督过的任务ID
|
|
|
+ List<Integer> supTaskIds = list.stream().mapToInt(WmTaskSupervision::getTaskId).boxed().sorted().distinct().collect(Collectors.toList());
|
|
|
+ Page<WmTask> taskPage = taskService.listAvailableTaskForSupervision2(new Page<>(query.getCurrent(), query.getSize()), pkgIds, supTaskIds);
|
|
|
+
|
|
|
+ List<WmTask> records = taskPage.getRecords();
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(records)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, List<WmTask>> collect = records.stream().collect(Collectors.groupingBy(WmTask::getScorePackageId));
|
|
|
+
|
|
|
+ List<Map<String, Object>> maps = new ArrayList<>(records.size());
|
|
|
+ for (Map.Entry<String, List<WmTask>> entry : collect.entrySet()) {
|
|
|
+
|
|
|
+ List<Map<String, Object>> m = taskService.listTaskInfo(entry.getValue(), entry.getKey());
|
|
|
+ maps.addAll(m);
|
|
|
+ }
|
|
|
+
|
|
|
+ page.setRecords(maps);
|
|
|
+ page.setTotal(taskPage.getTotal());
|
|
|
+
|
|
|
+ return page;
|
|
|
+
|
|
|
+
|
|
|
+ // String username = SecurityUtils.getUser().getUsername();
|
|
|
+ // List<Integer> roles = SecurityUtils.getRoles();
|
|
|
+ //
|
|
|
+ // // 监督员
|
|
|
+ // if (CollUtil.containsAny(roles, List.of(49, 52, 53, 56))) {
|
|
|
+ // List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
|
|
|
+ // .eq(WmTaskSupervision::getPackageId, pkgId)
|
|
|
+ // .orderByDesc(WmTaskSupervision::getCreateTime)
|
|
|
+ // );
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // // 复查
|
|
|
+ // List<WmTask> wmTasks;
|
|
|
+ // if (review) {
|
|
|
+ // // 获取当前积分包已经监督过的任务ID
|
|
|
+ // Set<Integer> supTaskIds = list.stream().filter(ts -> StrUtil.equals(username, ts.getCreateBy())).mapToInt(WmTaskSupervision::getTaskId).boxed().collect(Collectors.toSet());
|
|
|
+ // wmTasks = CollUtil.isEmpty(supTaskIds) ? Collections.emptyList() : taskService.listByIds(supTaskIds);
|
|
|
+ // } else {
|
|
|
+ // // 获取当前积分包已经监督过的任务ID
|
|
|
+ // Set<Integer> supTaskIds = list.stream().mapToInt(WmTaskSupervision::getTaskId).boxed().collect(Collectors.toSet());
|
|
|
+ // wmTasks = taskService.listAvailableTaskForSupervision(pkgId, supTaskIds);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // List<Map<String, Object>> maps = CollUtil.isEmpty(wmTasks) ? Collections.emptyList() : taskService.listTaskInfo(wmTasks, pkgId.toString());
|
|
|
+ //
|
|
|
+ // Set<String> createdBy = list.stream().map(WmTaskSupervision::getCreateBy).collect(Collectors.toSet());
|
|
|
+ // Map<String, SysUser> userMap;
|
|
|
+ // Map<Integer, List<SysUserRole>> userRoleMap;
|
|
|
+ // Map<Integer, String> roleMap;
|
|
|
+ // if (CollUtil.isNotEmpty(createdBy)) {
|
|
|
+ // List<SysUser> users = userService.list(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUsername, createdBy));
|
|
|
+ // userMap = users.stream().collect(Collectors.toMap(SysUser::getUsername, Function.identity()));
|
|
|
+ // Set<Integer> userIds = users.stream().mapToInt(SysUser::getUserId).boxed().collect(Collectors.toSet());
|
|
|
+ // List<SysUserRole> userRoles = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().in(SysUserRole::getUserId, userIds));
|
|
|
+ // userRoleMap = userRoles.stream().collect(Collectors.groupingBy(SysUserRole::getUserId));
|
|
|
+ // Set<Integer> roleId = userRoles.stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
+ // roleMap = roleService.listByIds(roleId).stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole::getRoleName));
|
|
|
+ // } else {
|
|
|
+ // userMap = Collections.emptyMap();
|
|
|
+ // userRoleMap = Collections.emptyMap();
|
|
|
+ // roleMap = Collections.emptyMap();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // Map<Integer, List<WmTaskSupervision>> collect = list.stream().collect(Collectors.groupingBy(WmTaskSupervision::getTaskId));
|
|
|
+ // maps.forEach(m -> {
|
|
|
+ //
|
|
|
+ // Integer id = Integer.valueOf(m.get("id").toString());
|
|
|
+ //
|
|
|
+ // List<WmTaskSupervision> wmTaskSupervisions = collect.get(id);
|
|
|
+ // m.put("supervision", wmTaskSupervisions);
|
|
|
+ //
|
|
|
+ // List<String> msgs = new ArrayList<>(4);
|
|
|
+ // if (CollUtil.isNotEmpty(wmTaskSupervisions)) {
|
|
|
+ //
|
|
|
+ // msgs = wmTaskSupervisions.stream().sorted(Comparator.comparingInt(WmTaskSupervision::getTaskId).reversed())
|
|
|
+ // .map(ts -> {
|
|
|
+ // SysUser user = userMap.get(ts.getCreateBy());
|
|
|
+ // SysUserRole sysUserRole = userRoleMap.get(user.getUserId()).get(0);
|
|
|
+ // String roleName = roleMap.get(sysUserRole.getRoleId());
|
|
|
+ // String realName = user.getRealname();
|
|
|
+ // String date = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(ts.getCreateTime());
|
|
|
+ // String resultMsg = ts.getSupervisionResult() ? " 通过 " : " 不通过 ";
|
|
|
+ // String remarks = StrUtil.isBlank(ts.getRemarks()) ? " " : ts.getRemarks();
|
|
|
+ //
|
|
|
+ // return String.format("%s【%s】,审核【%s】,监督意见为【%s】(%s)。", roleName, realName, resultMsg, remarks, date);
|
|
|
+ //
|
|
|
+ // }).collect(Collectors.toList());
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // m.put("supervisionMessages", msgs);
|
|
|
+ // m.put("review", review);
|
|
|
+ //
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ // return maps;
|
|
|
+ // }
|
|
|
+ // // 服务商
|
|
|
+ // else if (CollUtil.containsAny(roles, List.of(37))) {
|
|
|
+ // // 获取当前积分包已经监督过的任务ID
|
|
|
+ // List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
|
|
|
+ // // .eq(WmTaskSupervision::getSupervisionState, UpmsState.TaskSupervisionState.PASSED)
|
|
|
+ // .eq(WmTaskSupervision::getPackageId, pkgId).orderByDesc(WmTaskSupervision::getCreateTime));
|
|
|
+ //
|
|
|
+ // if (CollUtil.isEmpty(list)) {
|
|
|
+ // return Collections.emptyList();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // Set<Integer> supTaskIds = list.stream().filter(ts -> UpmsState.TaskSupervisionState.PASSED.equals(ts.getSupervisionState())).mapToInt(WmTaskSupervision::getTaskId).boxed().collect(Collectors.toSet());
|
|
|
+ //
|
|
|
+ // if (CollUtil.isEmpty(supTaskIds)) {
|
|
|
+ // return Collections.emptyList();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // List<WmTask> tasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getId, supTaskIds));
|
|
|
+ // List<Map<String, Object>> maps = taskService.listTaskInfo(tasks, pkgId.toString());
|
|
|
+ //
|
|
|
+ // Set<String> createdBy = list.stream().map(WmTaskSupervision::getCreateBy).collect(Collectors.toSet());
|
|
|
+ // Map<String, SysUser> userMap;
|
|
|
+ // Map<Integer, List<SysUserRole>> userRoleMap;
|
|
|
+ // Map<Integer, String> roleMap;
|
|
|
+ // if (CollUtil.isNotEmpty(createdBy)) {
|
|
|
+ // List<SysUser> users = userService.list(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUsername, createdBy));
|
|
|
+ // userMap = users.stream().collect(Collectors.toMap(SysUser::getUsername, Function.identity()));
|
|
|
+ // Set<Integer> userIds = users.stream().mapToInt(SysUser::getUserId).boxed().collect(Collectors.toSet());
|
|
|
+ // List<SysUserRole> userRoles = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().in(SysUserRole::getUserId, userIds));
|
|
|
+ // userRoleMap = userRoles.stream().collect(Collectors.groupingBy(SysUserRole::getUserId));
|
|
|
+ // Set<Integer> roleId = userRoles.stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
+ // roleMap = roleService.listByIds(roleId).stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole::getRoleName));
|
|
|
+ // } else {
|
|
|
+ // userMap = Collections.emptyMap();
|
|
|
+ // userRoleMap = Collections.emptyMap();
|
|
|
+ // roleMap = Collections.emptyMap();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // Map<Integer, List<WmTaskSupervision>> collect = list.stream().collect(Collectors.groupingBy(WmTaskSupervision::getTaskId));
|
|
|
+ // maps.forEach(m -> {
|
|
|
+ //
|
|
|
+ // Integer id = Integer.valueOf(m.get("id").toString());
|
|
|
+ //
|
|
|
+ // List<WmTaskSupervision> wmTaskSupervisions = collect.get(id);
|
|
|
+ // m.put("supervision", wmTaskSupervisions);
|
|
|
+ //
|
|
|
+ // List<String> msgs = new ArrayList<>(4);
|
|
|
+ // if (CollUtil.isNotEmpty(wmTaskSupervisions)) {
|
|
|
+ //
|
|
|
+ // msgs = wmTaskSupervisions.stream().sorted(Comparator.comparingInt(WmTaskSupervision::getTaskId).reversed())
|
|
|
+ // .map(ts -> {
|
|
|
+ // SysUser user = userMap.get(ts.getCreateBy());
|
|
|
+ // SysUserRole sysUserRole = userRoleMap.get(user.getUserId()).get(0);
|
|
|
+ // String roleName = roleMap.get(sysUserRole.getRoleId());
|
|
|
+ // String realName = user.getRealname();
|
|
|
+ // String date = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(ts.getCreateTime());
|
|
|
+ // String resultMsg = ts.getSupervisionResult() ? " 通过 " : " 不通过 ";
|
|
|
+ // String remarks = StrUtil.isBlank(ts.getRemarks()) ? " " : ts.getRemarks();
|
|
|
+ //
|
|
|
+ // return String.format("%s【%s】,审核【%s】,监督意见为【%s】(%s)。", roleName, realName, resultMsg, remarks, date);
|
|
|
+ //
|
|
|
+ // }).collect(Collectors.toList());
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // m.put("supervisionMessages", msgs);
|
|
|
+ // m.put("review", review);
|
|
|
+ //
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ // return maps;
|
|
|
+ // }
|
|
|
+ // // 负责人|分管领导|事业部总经理
|
|
|
+ // else {
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // // 获取当前积分包已经监督过的任务ID
|
|
|
+ // List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
|
|
|
+ // .eq(WmTaskSupervision::getPackageId, pkgId)
|
|
|
+ // .orderByDesc(WmTaskSupervision::getCreateTime));
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // List<WmTask> wmTasks;
|
|
|
+ // if (review) {
|
|
|
+ // // 获取当前积分包已经监督过的任务ID
|
|
|
+ // Set<Integer> supTaskIds = list.stream().filter(ts -> StrUtil.equals(username, ts.getCreateBy())).mapToInt(WmTaskSupervision::getTaskId).boxed().collect(Collectors.toSet());
|
|
|
+ // wmTasks = CollUtil.isEmpty(supTaskIds) ? Collections.emptyList() : taskService.listByIds(supTaskIds);
|
|
|
+ // } else {
|
|
|
+ // Map<UpmsState.TaskSupervisionState, Set<Integer>> collect1 = list.stream()
|
|
|
+ // .collect(Collectors.groupingBy(WmTaskSupervision::getSupervisionState, Collectors.mapping(WmTaskSupervision::getTaskId, Collectors.toSet())));
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // Set<Integer> init = collect1.get(UpmsState.TaskSupervisionState.INIT);
|
|
|
+ // Set<Integer> ckt1 = collect1.get(UpmsState.TaskSupervisionState.CKT1);
|
|
|
+ // Set<Integer> ckt2 = collect1.get(UpmsState.TaskSupervisionState.CKT2);
|
|
|
+ // Set<Integer> passed = collect1.get(UpmsState.TaskSupervisionState.PASSED);
|
|
|
+ // Set<Integer> rejected = collect1.get(UpmsState.TaskSupervisionState.REJECTED);
|
|
|
+ //
|
|
|
+ // // 负责人
|
|
|
+ // List<Integer> supTaskIds;
|
|
|
+ // if (CollUtil.containsAny(roles, List.of(57, 58, 59, 60))) {
|
|
|
+ //
|
|
|
+ // Set<Integer> temp = CollUtil.unionDistinct(ckt1, rejected);
|
|
|
+ // supTaskIds = CollUtil.subtractToList(init, temp);
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // // 分管领导
|
|
|
+ // else if (CollUtil.containsAny(roles, List.of(51, 54, 55, 61))) {
|
|
|
+ // Set<Integer> temp = CollUtil.unionDistinct(ckt2, rejected);
|
|
|
+ // supTaskIds = CollUtil.subtractToList(ckt1, temp);
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // // 事业部总经理
|
|
|
+ // else if (CollUtil.containsAny(roles, List.of(39))) {
|
|
|
+ // Set<Integer> temp = CollUtil.unionDistinct(passed, rejected);
|
|
|
+ // supTaskIds = CollUtil.subtractToList(ckt2, temp);
|
|
|
+ // } else {
|
|
|
+ // throw new BizException("无监督权限");
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // if (CollUtil.isEmpty(supTaskIds)) {
|
|
|
+ // return Collections.emptyList();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // wmTasks = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getId, supTaskIds));
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // List<Map<String, Object>> maps = taskService.listTaskInfo(wmTasks, pkgId.toString());
|
|
|
+ //
|
|
|
+ // Map<Integer, List<WmTaskSupervision>> collect = list.stream().collect(Collectors.groupingBy(WmTaskSupervision::getTaskId));
|
|
|
+ //
|
|
|
+ // Set<String> createdBy = list.stream().map(WmTaskSupervision::getCreateBy).collect(Collectors.toSet());
|
|
|
+ // Map<String, SysUser> userMap;
|
|
|
+ // Map<Integer, List<SysUserRole>> userRoleMap;
|
|
|
+ // Map<Integer, String> roleMap;
|
|
|
+ // if (CollUtil.isNotEmpty(createdBy)) {
|
|
|
+ // List<SysUser> users = userService.list(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUsername, createdBy));
|
|
|
+ // userMap = users.stream().collect(Collectors.toMap(SysUser::getUsername, Function.identity()));
|
|
|
+ // Set<Integer> userIds = users.stream().mapToInt(SysUser::getUserId).boxed().collect(Collectors.toSet());
|
|
|
+ // List<SysUserRole> userRoles = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().in(SysUserRole::getUserId, userIds));
|
|
|
+ // userRoleMap = userRoles.stream().collect(Collectors.groupingBy(SysUserRole::getUserId));
|
|
|
+ // Set<Integer> roleId = userRoles.stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
+ // roleMap = roleService.listByIds(roleId).stream().collect(Collectors.toMap(SysRole::getRoleId, SysRole::getRoleName));
|
|
|
+ // } else {
|
|
|
+ // userMap = Collections.emptyMap();
|
|
|
+ // userRoleMap = Collections.emptyMap();
|
|
|
+ // roleMap = Collections.emptyMap();
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // maps.forEach(m -> {
|
|
|
+ //
|
|
|
+ // Integer id = Integer.valueOf(m.get("id").toString());
|
|
|
+ //
|
|
|
+ // List<WmTaskSupervision> wmTaskSupervisions = collect.get(id);
|
|
|
+ // m.put("supervision", wmTaskSupervisions);
|
|
|
+ //
|
|
|
+ // List<String> msgs = new ArrayList<>(4);
|
|
|
+ // if (CollUtil.isNotEmpty(wmTaskSupervisions)) {
|
|
|
+ //
|
|
|
+ // msgs = wmTaskSupervisions.stream().sorted(Comparator.comparingInt(WmTaskSupervision::getTaskId).reversed())
|
|
|
+ // .map(ts -> {
|
|
|
+ // SysUser user = userMap.get(ts.getCreateBy());
|
|
|
+ // SysUserRole sysUserRole = userRoleMap.get(user.getUserId()).get(0);
|
|
|
+ // String roleName = roleMap.get(sysUserRole.getRoleId());
|
|
|
+ // String realName = user.getRealname();
|
|
|
+ // String date = DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(ts.getCreateTime());
|
|
|
+ // String resultMsg = ts.getSupervisionResult() ? " 通过 " : " 不通过 ";
|
|
|
+ // String remarks = StrUtil.isBlank(ts.getRemarks()) ? " " : ts.getRemarks();
|
|
|
+ //
|
|
|
+ // return String.format("%s【%s】,审核【%s】,监督意见为【%s】(%s)。", roleName, realName, resultMsg, remarks, date);
|
|
|
+ //
|
|
|
+ // }).collect(Collectors.toList());
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // m.put("supervisionMessages", msgs);
|
|
|
+ // m.put("review", review);
|
|
|
+ //
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ // return maps;
|
|
|
+ // return null;
|
|
|
+ // }
|
|
|
+ }
|
|
|
+
|
|
|
// @Transactional(rollbackFor = Exception.class)
|
|
|
// public Boolean checkTaskSupervision(WmSupervisionDto.OnTaskSupervisionCheck resource, HnqzUser user) {
|
|
|
// Integer supervisionId = resource.getSupervisionId();
|