|
@@ -1128,15 +1128,69 @@ public class WmSupervisionManager {
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+ public List<Integer> getVisibleRoleIds(List<Integer> roles) {
|
|
|
+
|
|
|
+ // 49 生产企业财务部监察员
|
|
|
+ // 57 生产企业财务部监察负责人
|
|
|
+ // 51 生产企业财务部监察分管领导
|
|
|
+ if (CollUtil.containsAny(roles, List.of(49, 57, 51))) {
|
|
|
+ return List.of(49);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 52 生产企业销售部监察员
|
|
|
+ // 58 生产企业销售部监察负责人
|
|
|
+ // 61 生产企业销售部监察分管领导
|
|
|
+ if (CollUtil.containsAny(roles, List.of(52, 58, 61))) {
|
|
|
+ return List.of(52);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 53 营销中心法务合规部监察员
|
|
|
+ // 60 营销中心法务合规部监察负责人
|
|
|
+ // 54 营销中心法务合规部监察分管领导
|
|
|
+ if (CollUtil.containsAny(roles, List.of(60, 54, 53))) {
|
|
|
+ return List.of(53);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 56 营销中心财务部监察员
|
|
|
+ // 59 营销中心财务部监察负责人
|
|
|
+ // 55 营销中心财务部监察分管领导
|
|
|
+
|
|
|
+ if (CollUtil.containsAny(roles, List.of(55, 59, 56))) {
|
|
|
+ return List.of(56);
|
|
|
+ }
|
|
|
+
|
|
|
+ return List.of(49, 52, 53, 56);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
public Page<Map<String, Object>> pageTaskSupervision(WmSupervisionDto.OnTaskSupervisionPage query) {
|
|
|
|
|
|
// 操作人角色
|
|
|
List<Integer> roles = SecurityUtils.getRoles();
|
|
|
-
|
|
|
+ HnqzUser user = SecurityUtils.getUser();
|
|
|
Page<Map<String, Object>> page = new Page<>(query.getCurrent(), query.getSize());
|
|
|
|
|
|
+ // 根据角色判断药品
|
|
|
+ List<Integer> drugIds;
|
|
|
+ if (!roles.contains(39) && !roles.contains(37)) {
|
|
|
+
|
|
|
+ drugIds = userDrugService.listDrugIdByUserId(user.getId());
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(drugIds)) {
|
|
|
+ log.info("当前操作人没有分配产品");
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ drugIds = Collections.emptyList();
|
|
|
+ }
|
|
|
+
|
|
|
// 获取积分包
|
|
|
- List<WmScorePackage> packages = packageService.list(Wrappers.<WmScorePackage>lambdaQuery().eq(WmScorePackage::getSendPackageDeptId, query.getDeptId()));
|
|
|
+ List<WmScorePackage> packages = packageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
+ .in(CollUtil.isNotEmpty(drugIds), WmScorePackage::getDrugtable, drugIds)
|
|
|
+ .eq(WmScorePackage::getSendPackageDeptId, query.getDeptId()));
|
|
|
|
|
|
if (CollUtil.isEmpty(packages)) {
|
|
|
return page;
|
|
@@ -1146,8 +1200,9 @@ public class WmSupervisionManager {
|
|
|
List<Integer> pkgIds = packages.stream().map(WmScorePackage::getId).mapToInt(Integer::valueOf).boxed().distinct().sorted().collect(Collectors.toList());
|
|
|
|
|
|
// 积分包内已经监督的任务
|
|
|
-
|
|
|
+ List<Integer> visibleRoleIds = getVisibleRoleIds(roles);
|
|
|
List<WmTaskSupervision> list1 = taskSupervisionService.list(Wrappers.<WmTaskSupervision>lambdaQuery()
|
|
|
+ .in(WmTaskSupervision::getRoleId, visibleRoleIds)
|
|
|
// .eq(WmTaskSupervision::getModifiable, false)
|
|
|
.in(WmTaskSupervision::getPackageId, pkgIds).orderByDesc(WmTaskSupervision::getCreateTime));
|
|
|
|
|
@@ -1156,7 +1211,7 @@ public class WmSupervisionManager {
|
|
|
|
|
|
// 监督员
|
|
|
Boolean review = query.getReview();
|
|
|
- HnqzUser user = SecurityUtils.getUser();
|
|
|
+
|
|
|
Page<WmTask> taskPage;
|
|
|
boolean isService;
|
|
|
if (CollUtil.containsAny(roles, List.of(49, 52, 53, 56))) {
|