|
@@ -2,7 +2,6 @@ package com.qunzhixinxi.hnqz.admin.manager;
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
-import cn.hutool.core.date.DatePattern;
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -33,6 +32,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmRoleSupervisionWarnService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionAdviceService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskSupervisionService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmWarnUserRelationService;
|
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
@@ -45,11 +45,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Collections;
|
|
|
-import java.util.Comparator;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
@@ -90,6 +88,7 @@ public class WmSupervisionManager {
|
|
|
private final WmRoleSupervisionWarnService roleSupervisionWarnService;
|
|
|
private final SysUserRoleService userRoleService;
|
|
|
private final SysUserDrugService userDrugService;
|
|
|
+ private final WmTaskSupervisionAdviceService taskSupervisionAdviceService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -154,16 +153,14 @@ public class WmSupervisionManager {
|
|
|
Map<Integer, String> deptIdToDeptNameMap = deptService.listByIds(deptId).stream().collect(Collectors.toMap(SysDept::getDeptId, SysDept::getName));
|
|
|
|
|
|
// 获取监督信息 && 任务监督
|
|
|
- Set<Integer> pkgIds = records.stream().filter(map ->
|
|
|
- Objects.nonNull(map.get("supFlag"))).mapToInt(map -> (Integer) map.get("id")).boxed().collect(Collectors.toSet());
|
|
|
+ Set<Integer> pkgIds = records.stream().filter(map -> Objects.nonNull(map.get("supFlag"))).mapToInt(map -> (Integer) map.get("id")).boxed().collect(Collectors.toSet());
|
|
|
|
|
|
Map<Integer, String> pkgIdToCreatorNameMap;
|
|
|
Map<Integer, WmPackageSupervision> pkgIdToSupervisionMap;
|
|
|
Map<Integer, Map<String, String>> taskSupStatMap = new HashMap<>(pkgIds.size());
|
|
|
if (CollUtil.isNotEmpty(pkgIds)) {
|
|
|
|
|
|
- Map<Integer, List<WmTaskSupervision>> pkgIdToTaskSupMap = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgIds)).stream()
|
|
|
- .collect(Collectors.groupingBy(WmTaskSupervision::getPackageId));
|
|
|
+ Map<Integer, List<WmTaskSupervision>> pkgIdToTaskSupMap = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgIds)).stream().collect(Collectors.groupingBy(WmTaskSupervision::getPackageId));
|
|
|
|
|
|
Map<String, List<WmTask>> pkgIdToTaskMap = taskService.list(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, pkgIds)).stream().collect(Collectors.groupingBy(WmTask::getScorePackageId));
|
|
|
|
|
@@ -184,8 +181,7 @@ public class WmSupervisionManager {
|
|
|
|
|
|
pkgIdToSupervisionMap = supervisions.stream().collect(Collectors.toMap(WmPackageSupervision::getPackageId, Function.identity()));
|
|
|
|
|
|
- Map<Integer, String> pkgIdAndSupCreateorUsernameMap = supervisions.stream()
|
|
|
- .collect(Collectors.toMap(WmPackageSupervision::getPackageId, WmPackageSupervision::getCreateBy, (v1, v2) -> v2));
|
|
|
+ Map<Integer, String> pkgIdAndSupCreateorUsernameMap = supervisions.stream().collect(Collectors.toMap(WmPackageSupervision::getPackageId, WmPackageSupervision::getCreateBy, (v1, v2) -> v2));
|
|
|
Collection<String> values = pkgIdAndSupCreateorUsernameMap.values();
|
|
|
if (CollUtil.isNotEmpty(values)) {
|
|
|
Map<String, String> userToNameMap = userService.list(Wrappers.<SysUser>lambdaQuery().in(SysUser::getUsername, values)).stream().collect(Collectors.toMap(SysUser::getUsername, SysUser::getRealname));
|
|
@@ -259,10 +255,7 @@ public class WmSupervisionManager {
|
|
|
|
|
|
LocalDate today = LocalDate.now();
|
|
|
|
|
|
- return (today.isAfter(SEASON1_BEGIN_DATE) && today.isBefore(SEASON1_BEGIN_DATE.plusDays(period))) ||
|
|
|
- (today.isAfter(SEASON2_BEGIN_DATE) && today.isBefore(SEASON2_BEGIN_DATE.plusDays(period))) ||
|
|
|
- (today.isAfter(SEASON3_BEGIN_DATE) && today.isBefore(SEASON3_BEGIN_DATE.plusDays(period))) ||
|
|
|
- (today.isAfter(SEASON4_BEGIN_DATE) && today.isBefore(SEASON4_BEGIN_DATE.plusDays(period)));
|
|
|
+ return (today.isAfter(SEASON1_BEGIN_DATE) && today.isBefore(SEASON1_BEGIN_DATE.plusDays(period))) || (today.isAfter(SEASON2_BEGIN_DATE) && today.isBefore(SEASON2_BEGIN_DATE.plusDays(period))) || (today.isAfter(SEASON3_BEGIN_DATE) && today.isBefore(SEASON3_BEGIN_DATE.plusDays(period))) || (today.isAfter(SEASON4_BEGIN_DATE) && today.isBefore(SEASON4_BEGIN_DATE.plusDays(period)));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -369,278 +362,278 @@ public class WmSupervisionManager {
|
|
|
// return maps;
|
|
|
// }
|
|
|
|
|
|
- /**
|
|
|
- * 获取可以监督的任务
|
|
|
- *
|
|
|
- * @param pkgId 执行包ID
|
|
|
- * @return 任务列表
|
|
|
- */
|
|
|
- public List<Map<String, Object>> listAvailableTask(Integer pkgId, Boolean review) {
|
|
|
-
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
+ // /**
|
|
|
+ // * 获取可以监督的任务
|
|
|
+ // *
|
|
|
+ // * @param pkgId 执行包ID
|
|
|
+ // * @return 任务列表
|
|
|
+ // */
|
|
|
+ // public List<Map<String, Object>> listAvailableTask(Integer pkgId, Boolean review) {
|
|
|
+ //
|
|
|
+ // 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;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
/**
|
|
|
* 获取警告分页
|
|
@@ -721,20 +714,14 @@ public class WmSupervisionManager {
|
|
|
|
|
|
Set<Integer> roleIds = userRoleService.list(Wrappers.<SysUserRole>lambdaQuery().eq(SysUserRole::getUserId, user.getId())).stream().mapToInt(SysUserRole::getRoleId).boxed().collect(Collectors.toSet());
|
|
|
|
|
|
- Page<WmRoleSupervisionWarn> page = roleSupervisionWarnService.page(new Page<>(query.getCurrent(), query.getSize()),
|
|
|
- Wrappers.<WmRoleSupervisionWarn>lambdaQuery()
|
|
|
- .in(CollUtil.isNotEmpty(roleIds), WmRoleSupervisionWarn::getRoleId, roleIds)
|
|
|
- .orderByDesc(WmRoleSupervisionWarn::getCreateTime)
|
|
|
- );
|
|
|
+ Page<WmRoleSupervisionWarn> page = roleSupervisionWarnService.page(new Page<>(query.getCurrent(), query.getSize()), Wrappers.<WmRoleSupervisionWarn>lambdaQuery().in(CollUtil.isNotEmpty(roleIds), WmRoleSupervisionWarn::getRoleId, roleIds).orderByDesc(WmRoleSupervisionWarn::getCreateTime));
|
|
|
|
|
|
List<WmRoleSupervisionWarn> warns = page.getRecords();
|
|
|
|
|
|
List<Map<String, Object>> resList;
|
|
|
if (CollUtil.isNotEmpty(warns)) {
|
|
|
Set<Integer> warnIds = warns.stream().mapToInt(WmRoleSupervisionWarn::getWarnId).boxed().collect(Collectors.toSet());
|
|
|
- Set<Integer> collect = warnUserRelationService.list(Wrappers.<WmWarnUserRelation>lambdaQuery()
|
|
|
- .eq(WmWarnUserRelation::getUserId, user.getId())
|
|
|
- .in(WmWarnUserRelation::getWarnId, warnIds)).stream().mapToInt(WmWarnUserRelation::getWarnId).boxed().collect(Collectors.toSet());
|
|
|
+ Set<Integer> collect = warnUserRelationService.list(Wrappers.<WmWarnUserRelation>lambdaQuery().eq(WmWarnUserRelation::getUserId, user.getId()).in(WmWarnUserRelation::getWarnId, warnIds)).stream().mapToInt(WmWarnUserRelation::getWarnId).boxed().collect(Collectors.toSet());
|
|
|
|
|
|
resList = warns.stream().map(warn -> {
|
|
|
Map<String, Object> map = BeanUtil.copyProperties(warn, Map.class);
|
|
@@ -778,13 +765,10 @@ public class WmSupervisionManager {
|
|
|
|
|
|
List<WmTaskSupervision> list = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().eq(WmTaskSupervision::getPackageId, pkg));
|
|
|
|
|
|
- int taskCount = taskService.count(Wrappers.<WmTask>lambdaQuery()
|
|
|
- .eq(WmTask::getTaskStatus, "3")
|
|
|
- .eq(WmTask::getScorePackageId, pkg.toString()));
|
|
|
+ int taskCount = taskService.count(Wrappers.<WmTask>lambdaQuery().eq(WmTask::getTaskStatus, "3").eq(WmTask::getScorePackageId, pkg.toString()));
|
|
|
|
|
|
|
|
|
- String msg = "积分包【" + scorePackage.getScorePackageName() + "】中共有审核通过的服务" + taskCount + "条,监督员共监督" + list.size() + "条,监督占比为"
|
|
|
- + String.format("%.2f", (list.size() * 100.0f / taskCount)) + "%";
|
|
|
+ String msg = "积分包【" + scorePackage.getScorePackageName() + "】中共有审核通过的服务" + taskCount + "条,监督员共监督" + list.size() + "条,监督占比为" + String.format("%.2f", (list.size() * 100.0f / taskCount)) + "%";
|
|
|
|
|
|
|
|
|
return msg;
|
|
@@ -991,10 +975,7 @@ public class WmSupervisionManager {
|
|
|
}
|
|
|
|
|
|
// 查询所有的服务商
|
|
|
- Page<SysDept> deptPage = deptService.page(new Page<>(query.getCurrent(), query.getSize()),
|
|
|
- Wrappers.<SysDept>lambdaQuery().eq(SysDept::getLevel, 4)
|
|
|
- .eq(StrUtil.isNotBlank(query.getEntName()), SysDept::getName, query.getEntName())
|
|
|
- .in(CollUtil.isNotEmpty(entIds), SysDept::getDeptId, entIds));
|
|
|
+ Page<SysDept> deptPage = deptService.page(new Page<>(query.getCurrent(), query.getSize()), Wrappers.<SysDept>lambdaQuery().eq(SysDept::getLevel, 4).eq(StrUtil.isNotBlank(query.getEntName()), SysDept::getName, query.getEntName()).in(CollUtil.isNotEmpty(entIds), SysDept::getDeptId, entIds));
|
|
|
|
|
|
List<SysDept> depts = deptPage.getRecords();
|
|
|
|
|
@@ -1010,11 +991,7 @@ public class WmSupervisionManager {
|
|
|
map.put("deptId", dept.getDeptId());
|
|
|
|
|
|
// 获取当前企业当季度的包
|
|
|
- List<WmScorePackage> pkgs = packageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
- .in(CollUtil.isNotEmpty(drugIds), WmScorePackage::getDrugtable, drugIds)
|
|
|
- .eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
|
- .eq(WmScorePackage::getSendPackageDeptId, dept.getDeptId().toString())
|
|
|
- );
|
|
|
+ List<WmScorePackage> pkgs = packageService.list(Wrappers.<WmScorePackage>lambdaQuery().in(CollUtil.isNotEmpty(drugIds), WmScorePackage::getDrugtable, drugIds).eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName()).eq(WmScorePackage::getSendPackageDeptId, dept.getDeptId().toString()));
|
|
|
|
|
|
int total = 0;
|
|
|
int supTotal = 0;
|
|
@@ -1027,7 +1004,7 @@ public class WmSupervisionManager {
|
|
|
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));
|
|
|
+ List<WmTaskSupervision> supervisions = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery().in(WmTaskSupervision::getPackageId, pkgIds.stream().mapToInt(Integer::valueOf).boxed().sorted().distinct().collect(Collectors.toList())));
|
|
|
|
|
|
// 获取监察结果
|
|
|
total = CollUtil.isNotEmpty(tasks) ? tasks.size() : 0;
|
|
@@ -1063,14 +1040,26 @@ public class WmSupervisionManager {
|
|
|
// 获取积分包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));
|
|
|
|
|
|
- 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);
|
|
|
+
|
|
|
+ // 查询
|
|
|
+ Page<WmTask> taskPage;
|
|
|
+ if (query.getReview()) {
|
|
|
+ HnqzUser user = SecurityUtils.getUser();
|
|
|
+ List<String> taskIds = list.stream().filter(ts -> StrUtil.equals(ts.getCreateBy(), user.getUsername())).map(ts -> ts.getTaskId().toString()).distinct().collect(Collectors.toList());
|
|
|
+ if (CollUtil.isEmpty(taskIds)) {
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+ taskPage = taskService.page(new Page<>(query.getCurrent(), query.getSize()), Wrappers.<WmTask>lambdaQuery().in(WmTask::getId, taskIds));
|
|
|
+
|
|
|
+ } else {
|
|
|
+ List<Integer> supTaskIds = list.stream().mapToInt(WmTaskSupervision::getTaskId).boxed().sorted().distinct().collect(Collectors.toList());
|
|
|
+ taskPage = taskService.listAvailableTaskForSupervision2(new Page<>(query.getCurrent(), query.getSize()), pkgIds, supTaskIds);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
List<WmTask> records = taskPage.getRecords();
|
|
|
|
|
@@ -1084,9 +1073,31 @@ public class WmSupervisionManager {
|
|
|
for (Map.Entry<String, List<WmTask>> entry : collect.entrySet()) {
|
|
|
|
|
|
List<Map<String, Object>> m = taskService.listTaskInfo(entry.getValue(), entry.getKey());
|
|
|
+
|
|
|
maps.addAll(m);
|
|
|
}
|
|
|
|
|
|
+ // 封装监察信息
|
|
|
+ Map<Integer, WmTaskSupervision> taskId2TaskSupervisionMap = list.stream().collect(Collectors.toMap(WmTaskSupervision::getTaskId, Function.identity()));
|
|
|
+
|
|
|
+ maps.forEach(m -> {
|
|
|
+ Integer tId = Integer.valueOf(m.get("id").toString());
|
|
|
+ WmTaskSupervision wmTaskSupervision = taskId2TaskSupervisionMap.get(tId);
|
|
|
+
|
|
|
+ if (wmTaskSupervision == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ m.put("modifiable", wmTaskSupervision.getModifiable());
|
|
|
+
|
|
|
+ String supervisionMsg = String.format("【%s】,%s", wmTaskSupervision.getSupervisionResult() ? "通过" : "不通过", wmTaskSupervision.getRemarks());
|
|
|
+
|
|
|
+ m.put("supervisionMessage", supervisionMsg);
|
|
|
+
|
|
|
+ m.put("adviceMessages", Collections.emptyList());
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
page.setRecords(maps);
|
|
|
page.setTotal(taskPage.getTotal());
|
|
|
|
|
@@ -1359,6 +1370,39 @@ public class WmSupervisionManager {
|
|
|
// }
|
|
|
}
|
|
|
|
|
|
+ // 执行任务监察
|
|
|
+ public Boolean doTaskSupervision(WmSupervisionDto.OnTaskSupervision resource, HnqzUser operator) {
|
|
|
+
|
|
|
+ // 监察任务是否有监察记录
|
|
|
+ WmTaskSupervision supervision = taskSupervisionService.getSupervisionByTaskId(resource.getTaskId());
|
|
|
+
|
|
|
+ // 存在监察记录
|
|
|
+ if (supervision != null) {
|
|
|
+
|
|
|
+ boolean modifiable = false;
|
|
|
+
|
|
|
+ // 如果监督记录创建人不是当前人,就记录监督意见
|
|
|
+ if (!StrUtil.equals(operator.getUsername(), supervision.getCreateBy())) {
|
|
|
+ taskSupervisionAdviceService.createAdvice(supervision.getSupervisionId(), resource, supervision.getRemarks(), operator);
|
|
|
+ modifiable = !resource.getSupervision();
|
|
|
+ }
|
|
|
+
|
|
|
+ taskSupervisionService.updateSupervision(supervision.getSupervisionId(), modifiable, operator);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+ // 不存在监察记录
|
|
|
+ else {
|
|
|
+
|
|
|
+ taskSupervisionService.createTaskSupervision(resource, operator);
|
|
|
+
|
|
|
+ // 更新监督结果
|
|
|
+ packageStatusService.updateSupervisionFlag(resource.getPkgId());
|
|
|
+
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
// @Transactional(rollbackFor = Exception.class)
|
|
|
// public Boolean checkTaskSupervision(WmSupervisionDto.OnTaskSupervisionCheck resource, HnqzUser user) {
|
|
|
// Integer supervisionId = resource.getSupervisionId();
|