|
@@ -41,6 +41,8 @@ import java.time.LocalDateTime;
|
|
import java.time.LocalTime;
|
|
import java.time.LocalTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Arrays;
|
|
|
|
+import java.util.Collection;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.Comparator;
|
|
import java.util.Comparator;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
@@ -50,11 +52,11 @@ import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
+import java.util.stream.Stream;
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import javax.validation.Valid;
|
|
import javax.validation.Valid;
|
|
import org.springframework.data.redis.core.ListOperations;
|
|
import org.springframework.data.redis.core.ListOperations;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
-import org.springframework.format.annotation.DateTimeFormat;
|
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
@@ -77,6 +79,40 @@ public class TaskManager {
|
|
@Resource private WmScorePackageStatusService scorePackageStatusService;
|
|
@Resource private WmScorePackageStatusService scorePackageStatusService;
|
|
@Resource private SysCheckChainNodeCheckHistoryMapper checkChainNodeCheckHistoryMapper;
|
|
@Resource private SysCheckChainNodeCheckHistoryMapper checkChainNodeCheckHistoryMapper;
|
|
|
|
|
|
|
|
+ // 丁凯总作为分管领导可见的服务商
|
|
|
|
+ private static final List<Integer> DING_KAI_DEPT_ID =
|
|
|
|
+ Stream.of(
|
|
|
|
+ 1719195651,
|
|
|
|
+ 1719196241,
|
|
|
|
+ 1719205659,
|
|
|
|
+ 1719382604,
|
|
|
|
+ 1720061726,
|
|
|
|
+ 1721729779,
|
|
|
|
+ 1721790321,
|
|
|
|
+ 1721790409,
|
|
|
|
+ 1721809329,
|
|
|
|
+ 1721809609,
|
|
|
|
+ 1721809840,
|
|
|
|
+ 1721810141,
|
|
|
|
+ 1721810469,
|
|
|
|
+ 1721810741,
|
|
|
|
+ 1721811001,
|
|
|
|
+ 1721811221,
|
|
|
|
+ 1721812479,
|
|
|
|
+ 1721812716,
|
|
|
|
+ 1721812974,
|
|
|
|
+ 1721813071,
|
|
|
|
+ 1721813201,
|
|
|
|
+ 1721813297,
|
|
|
|
+ 1721813472,
|
|
|
|
+ 1722154503,
|
|
|
|
+ 1722155596,
|
|
|
|
+ 1722162321,
|
|
|
|
+ 1722163297,
|
|
|
|
+ 1722174609,
|
|
|
|
+ 1723012356)
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 平铺审核分页
|
|
* 平铺审核分页
|
|
*
|
|
*
|
|
@@ -106,7 +142,7 @@ public class TaskManager {
|
|
|
|
|
|
private Page<ToDirectCheck> getCheckPage(OnPage query, HnqzUser user) {
|
|
private Page<ToDirectCheck> getCheckPage(OnPage query, HnqzUser user) {
|
|
|
|
|
|
- // 获取vendor
|
|
|
|
|
|
+ // 获取vendor 根据人员所属区域
|
|
List<Integer> vendorList = getVendorList(query.getVendorId(), user);
|
|
List<Integer> vendorList = getVendorList(query.getVendorId(), user);
|
|
|
|
|
|
// 计算服务包查询周期
|
|
// 计算服务包查询周期
|
|
@@ -127,23 +163,85 @@ public class TaskManager {
|
|
|
|
|
|
Page<ToDirectCheck> page = new Page<>(query.getCurrent(), query.getSize());
|
|
Page<ToDirectCheck> page = new Page<>(query.getCurrent(), query.getSize());
|
|
|
|
|
|
- taskMapper.pageDirectCheck(
|
|
|
|
- page,
|
|
|
|
- issueDate,
|
|
|
|
- expiryDate,
|
|
|
|
- StrUtil.isEmpty(query.getPkgIds())
|
|
|
|
- ? Collections.emptyList()
|
|
|
|
- : StrUtil.split(query.getPkgIds(), StrPool.COMMA),
|
|
|
|
- startTime,
|
|
|
|
- endTime,
|
|
|
|
- query.getTaskTypeId(),
|
|
|
|
- vendorList,
|
|
|
|
- skuIds,
|
|
|
|
- query.getSalesId(),
|
|
|
|
- query.getProvAbbr(),
|
|
|
|
- calcNodeSum(query.getNodeId()),
|
|
|
|
- query.getTaskStatus());
|
|
|
|
- return page;
|
|
|
|
|
|
+ Integer nodeId = query.getNodeId();
|
|
|
|
+
|
|
|
|
+ // 正常角色组合
|
|
|
|
+ if (nodeId != 24) {
|
|
|
|
+
|
|
|
|
+ taskMapper.pageDirectCheck(
|
|
|
|
+ page,
|
|
|
|
+ issueDate,
|
|
|
|
+ expiryDate,
|
|
|
|
+ StrUtil.isEmpty(query.getPkgIds())
|
|
|
|
+ ? Collections.emptyList()
|
|
|
|
+ : StrUtil.split(query.getPkgIds(), StrPool.COMMA),
|
|
|
|
+ startTime,
|
|
|
|
+ endTime,
|
|
|
|
+ query.getTaskTypeId(),
|
|
|
|
+ vendorList,
|
|
|
|
+ skuIds,
|
|
|
|
+ query.getSalesId(),
|
|
|
|
+ query.getProvAbbr(),
|
|
|
|
+ calcNodeSum(query.getNodeId()),
|
|
|
|
+ query.getTaskStatus());
|
|
|
|
+ return page;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ // 总经理和分管领导同时存在
|
|
|
|
+ else {
|
|
|
|
+
|
|
|
|
+ // 同时存在总经理和分管领导时,先处理分管领导的数据,分管领导数据处理完了再处理总理经的数据
|
|
|
|
+
|
|
|
|
+ List<Integer> vendor;
|
|
|
|
+ if (query.getVendorId() == null) {
|
|
|
|
+ vendor = DING_KAI_DEPT_ID;
|
|
|
|
+ } else {
|
|
|
|
+ if (DING_KAI_DEPT_ID.contains(query.getVendorId())) {
|
|
|
|
+ vendor = Collections.singletonList(query.getVendorId());
|
|
|
|
+ } else {
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ taskMapper.pageDirectCheck(
|
|
|
|
+ page,
|
|
|
|
+ issueDate,
|
|
|
|
+ expiryDate,
|
|
|
|
+ StrUtil.isEmpty(query.getPkgIds())
|
|
|
|
+ ? Collections.emptyList()
|
|
|
|
+ : StrUtil.split(query.getPkgIds(), StrPool.COMMA),
|
|
|
|
+ startTime,
|
|
|
|
+ endTime,
|
|
|
|
+ query.getTaskTypeId(),
|
|
|
|
+ vendor,
|
|
|
|
+ skuIds,
|
|
|
|
+ query.getSalesId(),
|
|
|
|
+ query.getProvAbbr(),
|
|
|
|
+ calcNodeSum(9),
|
|
|
|
+ query.getTaskStatus());
|
|
|
|
+
|
|
|
|
+ // 如果分管领导的数据不存在,默认再查一遍总经理的
|
|
|
|
+ if (CollUtil.isEmpty(page.getRecords())) {
|
|
|
|
+ taskMapper.pageDirectCheck(
|
|
|
|
+ page,
|
|
|
|
+ issueDate,
|
|
|
|
+ expiryDate,
|
|
|
|
+ StrUtil.isEmpty(query.getPkgIds())
|
|
|
|
+ ? Collections.emptyList()
|
|
|
|
+ : StrUtil.split(query.getPkgIds(), StrPool.COMMA),
|
|
|
|
+ startTime,
|
|
|
|
+ endTime,
|
|
|
|
+ query.getTaskTypeId(),
|
|
|
|
+ vendorList,
|
|
|
|
+ skuIds,
|
|
|
|
+ query.getSalesId(),
|
|
|
|
+ query.getProvAbbr(),
|
|
|
|
+ calcNodeSum(15),
|
|
|
|
+ query.getTaskStatus());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return page;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
private List<Integer> calcNodeSum(Integer nodeId) {
|
|
private List<Integer> calcNodeSum(Integer nodeId) {
|
|
@@ -176,11 +274,11 @@ public class TaskManager {
|
|
else if (nodeId == 15) {
|
|
else if (nodeId == 15) {
|
|
nodeSum.add(28);
|
|
nodeSum.add(28);
|
|
}
|
|
}
|
|
- // 分管领导和总经理双节点
|
|
|
|
- else if (nodeId == 24) {
|
|
|
|
- nodeSum.add(23);
|
|
|
|
- nodeSum.add(28);
|
|
|
|
- }
|
|
|
|
|
|
+ // // 分管领导和总经理双节点
|
|
|
|
+ // else if (nodeId == 24) {
|
|
|
|
+ // nodeSum.add(23);
|
|
|
|
+ // nodeSum.add(28);
|
|
|
|
+ // }
|
|
// 其他
|
|
// 其他
|
|
else {
|
|
else {
|
|
throw new BizException("当前角色不存在绑定审批节点");
|
|
throw new BizException("当前角色不存在绑定审批节点");
|