|
@@ -16,6 +16,7 @@ import com.qunzhixinxi.hnqz.admin.api.dto.WmPkgDTO.OnStop;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserDrug;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserDrug;
|
|
@@ -28,12 +29,14 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackageStatus;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
import com.qunzhixinxi.hnqz.admin.api.model.excel.WmScorePackageInfoExcelModel;
|
|
import com.qunzhixinxi.hnqz.admin.api.model.excel.WmScorePackageInfoExcelModel;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntDrugtableMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmDaDrugEntDrugtableMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysCheckChainNodeCheckHistoryService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysCheckChainNodeCheckHistoryService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysDeptRelationService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
|
|
@@ -60,6 +63,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
@@ -105,6 +109,7 @@ public class WmPackageManager {
|
|
private final SysDeptService deptService;
|
|
private final SysDeptService deptService;
|
|
private final WmDaDrugEntDrugtableMapper wmDaDrugEntDrugtableMapper;
|
|
private final WmDaDrugEntDrugtableMapper wmDaDrugEntDrugtableMapper;
|
|
private final WmPackageTaskTypeQtyService packageTaskTypeQtyService;
|
|
private final WmPackageTaskTypeQtyService packageTaskTypeQtyService;
|
|
|
|
+ private final SysDeptRelationMapper sysDeptRelationMapper;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 创建执行包兑付通知
|
|
* 创建执行包兑付通知
|
|
@@ -546,6 +551,8 @@ public class WmPackageManager {
|
|
ignoreIds.add(-1020826);
|
|
ignoreIds.add(-1020826);
|
|
ignoreIds.add(-1019986);
|
|
ignoreIds.add(-1019986);
|
|
|
|
|
|
|
|
+ Set<Integer> operatorRoleIds = new HashSet<>(SecurityUtils.getRoles());
|
|
|
|
+
|
|
// 获取所有的企业
|
|
// 获取所有的企业
|
|
List<SysDept> depts =
|
|
List<SysDept> depts =
|
|
deptService
|
|
deptService
|
|
@@ -561,13 +568,38 @@ public class WmPackageManager {
|
|
}
|
|
}
|
|
|
|
|
|
// 分别过滤区域和服务商
|
|
// 分别过滤区域和服务商
|
|
|
|
+ List<Integer> parentDeptIds = operatorRoleIds.contains(37) ? //服务商的区域ID
|
|
|
|
+ sysDeptRelationMapper.selectList(
|
|
|
|
+ Wrappers.<SysDeptRelation>lambdaQuery()
|
|
|
|
+ .ne(SysDeptRelation::getAncestor, SecurityUtils.getUser().getDeptId())
|
|
|
|
+ .eq(SysDeptRelation::getDescendant, SecurityUtils.getUser().getDeptId()))
|
|
|
|
+ .stream().map(SysDeptRelation::getAncestor).collect(Collectors.toList())
|
|
|
|
+ : new ArrayList<>();
|
|
|
|
+ if (operatorRoleIds.contains(37) && CollUtil.isEmpty(parentDeptIds)) {
|
|
|
|
+ throw new RuntimeException("没有找到对应的区域");
|
|
|
|
+ }
|
|
|
|
+ List<Integer> childDeptIds = operatorRoleIds.contains(4) ? //区域的服务商ID
|
|
|
|
+ sysDeptRelationMapper.selectList(
|
|
|
|
+ Wrappers.<SysDeptRelation>lambdaQuery()
|
|
|
|
+ .eq(SysDeptRelation::getAncestor, SecurityUtils.getUser().getDeptId())
|
|
|
|
+ .ne(SysDeptRelation::getDescendant, SecurityUtils.getUser().getDeptId()))
|
|
|
|
+ .stream().map(SysDeptRelation::getDescendant).collect(Collectors.toList())
|
|
|
|
+ : new ArrayList<>();
|
|
|
|
+ if (operatorRoleIds.contains(4) && CollUtil.isEmpty(childDeptIds)) {
|
|
|
|
+ throw new RuntimeException("没有找到对应的服务商");
|
|
|
|
+ }
|
|
|
|
+
|
|
Map<Integer, SysDept> dis =
|
|
Map<Integer, SysDept> dis =
|
|
depts.stream()
|
|
depts.stream()
|
|
.filter(d -> d.getLevel() == 3)
|
|
.filter(d -> d.getLevel() == 3)
|
|
|
|
+ .filter(d -> !operatorRoleIds.contains(4) || operatorRoleIds.contains(4) && d.getDeptId().equals(SecurityUtils.getUser().getDeptId())) //区域管理员
|
|
|
|
+ .filter(d -> !operatorRoleIds.contains(37) || operatorRoleIds.contains(37) && parentDeptIds.contains(d.getDeptId())) //服务商管理员
|
|
.collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
.collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
Map<Integer, SysDept> service =
|
|
Map<Integer, SysDept> service =
|
|
depts.stream()
|
|
depts.stream()
|
|
.filter(d -> d.getLevel() == 4)
|
|
.filter(d -> d.getLevel() == 4)
|
|
|
|
+ .filter(d -> !operatorRoleIds.contains(4) || operatorRoleIds.contains(4) && childDeptIds.contains(d.getDeptId())) //区域管理员
|
|
|
|
+ .filter(d -> !operatorRoleIds.contains(37) || operatorRoleIds.contains(37) && d.getDeptId().equals(SecurityUtils.getUser().getDeptId())) //服务商管理员
|
|
.collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
.collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
|
|
|
|
if (CollUtil.isEmpty(dis) || CollUtil.isEmpty(service)) {
|
|
if (CollUtil.isEmpty(dis) || CollUtil.isEmpty(service)) {
|
|
@@ -708,7 +740,9 @@ public class WmPackageManager {
|
|
WmScorePackageInfoExcelModel model = new WmScorePackageInfoExcelModel();
|
|
WmScorePackageInfoExcelModel model = new WmScorePackageInfoExcelModel();
|
|
model.setPkgId(pkg.getId());
|
|
model.setPkgId(pkg.getId());
|
|
model.setPkgName(pkg.getScorePackageName());
|
|
model.setPkgName(pkg.getScorePackageName());
|
|
- model.setScore(String.valueOf(pkg.getScore()));
|
|
|
|
|
|
+ if(!operatorRoleIds.contains(37)) {
|
|
|
|
+ model.setScore(String.valueOf(pkg.getScore()));
|
|
|
|
+ }
|
|
|
|
|
|
// 父级包
|
|
// 父级包
|
|
WmScorePackage wmScorePackages = ppMap.get(pkg.getRelationScoreId());
|
|
WmScorePackage wmScorePackages = ppMap.get(pkg.getRelationScoreId());
|
|
@@ -934,6 +968,7 @@ public class WmPackageManager {
|
|
int tt4dist = 0;
|
|
int tt4dist = 0;
|
|
int tt64dist = 0;
|
|
int tt64dist = 0;
|
|
int tt19dist = 0;
|
|
int tt19dist = 0;
|
|
|
|
+ long scoreTasks = 0;
|
|
|
|
|
|
for (String cPkgId : cPkgIdList) {
|
|
for (String cPkgId : cPkgIdList) {
|
|
List<WmPackageTaskTypeQty> packageTaskTypeQtyList =
|
|
List<WmPackageTaskTypeQty> packageTaskTypeQtyList =
|
|
@@ -945,6 +980,8 @@ public class WmPackageManager {
|
|
for (WmPackageTaskTypeQty packageTaskTypeQty : packageTaskTypeQtyList) {
|
|
for (WmPackageTaskTypeQty packageTaskTypeQty : packageTaskTypeQtyList) {
|
|
String taskTypeName = packageTaskTypeQty.getTaskTypeName();
|
|
String taskTypeName = packageTaskTypeQty.getTaskTypeName();
|
|
|
|
|
|
|
|
+ scoreTasks += packageTaskTypeQty.getPrice() * packageTaskTypeQty.getQty();
|
|
|
|
+
|
|
if (StrUtil.equals(taskTypeName, "基础拜访")) {
|
|
if (StrUtil.equals(taskTypeName, "基础拜访")) {
|
|
tt53dist += packageTaskTypeQty.getQty();
|
|
tt53dist += packageTaskTypeQty.getQty();
|
|
}
|
|
}
|
|
@@ -1003,6 +1040,8 @@ public class WmPackageManager {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ model.setScoreTasks(String.valueOf(scoreTasks));
|
|
|
|
+
|
|
model.setTt53dist(String.valueOf(tt53dist));
|
|
model.setTt53dist(String.valueOf(tt53dist));
|
|
model.setTt52dist(String.valueOf(tt52dist));
|
|
model.setTt52dist(String.valueOf(tt52dist));
|
|
model.setTt51dist(String.valueOf(tt51dist));
|
|
model.setTt51dist(String.valueOf(tt51dist));
|