|
@@ -28,20 +28,19 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.vo.SysImplementPlanVO;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsItemService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplPlanDetailsService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPlanPkgService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysRoleService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntDrugtableService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
|
-import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskTypeService;
|
|
|
import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
|
import com.qunzhixinxi.hnqz.common.core.exception.BizException;
|
|
|
-import com.qunzhixinxi.hnqz.common.core.util.R;
|
|
|
import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
|
|
|
-import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
@@ -50,7 +49,17 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.*;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Comparator;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.HashSet;
|
|
|
+import java.util.LinkedList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.Objects;
|
|
|
+import java.util.Optional;
|
|
|
+import java.util.Set;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -77,6 +86,8 @@ public class SysImplementPlanManager {
|
|
|
private final WmScorePackageService scorePackageService;
|
|
|
private final WmTaskTypeService taskTypeService;
|
|
|
private final RedisTemplate<String, Object> redisTemplate;
|
|
|
+ private final SysUserAreaService userAreaService;
|
|
|
+ private final SysEnterpriseAreaService enterpriseAreaService;
|
|
|
|
|
|
/**
|
|
|
* 创建计划
|
|
@@ -263,6 +274,7 @@ public class SysImplementPlanManager {
|
|
|
LocalDate[] period,
|
|
|
LocalDateTime[] createTime) {
|
|
|
|
|
|
+
|
|
|
LambdaQueryWrapper<SysImplementPlan> wrapper = Wrappers.<SysImplementPlan>lambdaQuery()
|
|
|
// .eq(Objects.nonNull(consigneeId), SysImplementPlan::getConsigneeId, consigneeId)
|
|
|
// .eq(Objects.nonNull(consignorId), SysImplementPlan::getConsignorId, consignorId)
|
|
@@ -284,8 +296,21 @@ public class SysImplementPlanManager {
|
|
|
}
|
|
|
// 事业部管理员||药企(只查询我下发的)
|
|
|
else if (entLevel == -1) {
|
|
|
+
|
|
|
+ Set<Long> visibleEntIds = new HashSet<>();
|
|
|
+ // 订单查询
|
|
|
+ if (Objects.nonNull(consigneeId)){
|
|
|
+ visibleEntIds.add(Long.valueOf(consigneeId));
|
|
|
+ }
|
|
|
+ // 先定区域内的信息
|
|
|
+ else {
|
|
|
+ List<Long> entIds = listVisibleEntIds(user);
|
|
|
+ visibleEntIds.addAll(entIds);
|
|
|
+ }
|
|
|
+
|
|
|
wrapper.eq(SysImplementPlan::getConsignorId, user.getDeptId())
|
|
|
- .eq(Objects.nonNull(consigneeId), SysImplementPlan::getConsigneeId, consigneeId)
|
|
|
+ .in(CollUtil.isNotEmpty(visibleEntIds), SysImplementPlan::getConsigneeId, visibleEntIds)
|
|
|
+ // .eq(Objects.nonNull(consigneeId), SysImplementPlan::getConsigneeId, consigneeId)
|
|
|
.eq(SysImplementPlan::getParentId, 0);
|
|
|
}
|
|
|
// 平台||营销中心(查询全部)
|
|
@@ -305,6 +330,16 @@ public class SysImplementPlanManager {
|
|
|
return implementPlanService.page(new Page<>(current, size), wrapper);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private List<Long> listVisibleEntIds(HnqzUser user) {
|
|
|
+
|
|
|
+ // 获取当前操作人能看到区域范围
|
|
|
+ List<Long> areaIds = userAreaService.listUserAreas(Long.valueOf(user.getId()));
|
|
|
+
|
|
|
+ // 获取可见范围中所有企业的信息
|
|
|
+ return enterpriseAreaService.listAreaEnts(areaIds);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 审核计划
|
|
|
*
|