|
@@ -10,6 +10,7 @@ import com.qunzhixinxi.hnqz.admin.api.dto.WmPkgDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysUserDrug;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUserRole;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageRedemptionNotice;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
@@ -19,6 +20,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysCheckChainNodeCheckHistoryService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPlanPkgService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserDrugService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageRedemptionNoticeService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageTaskTypeQtyService;
|
|
@@ -69,6 +71,7 @@ public class WmPackageManager {
|
|
|
private final WmPackageTaskTypeQtyService pkgTaskTypeQtyService;
|
|
|
private final SysPlanPkgService planPkgService;
|
|
|
private final SysImplementPlanService implementPlanService;
|
|
|
+ private final SysUserDrugService userDrugService;
|
|
|
|
|
|
/**
|
|
|
* 创建执行包兑付通知
|
|
@@ -114,7 +117,25 @@ public class WmPackageManager {
|
|
|
}
|
|
|
// 事业部分管领导 || 所有监督角色
|
|
|
else if (CollUtil.containsAny(roles, List.of(BIZ_ADMIN_ROLE, 49, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61))) {
|
|
|
- // 查询全部
|
|
|
+ // 只能看见所绑定药品的包的内容
|
|
|
+ List<SysUserDrug> userDrugs = userDrugService.list(Wrappers.<SysUserDrug>lambdaQuery().eq(SysUserDrug::getUserId, user.getId()));
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(userDrugs)) {
|
|
|
+ throw new BizException("当前人员并未绑定药品,无法确定可见范围,请核实");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<String> drugIds = userDrugs.stream().map(ud -> ud.getDrugId().toString()).distinct().sorted().collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery().in(WmScorePackage::getDrugtable, drugIds));
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(pkgs)) {
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Integer> pkgIds = pkgs.stream().mapToInt(p -> Integer.parseInt(p.getId())).boxed().distinct().sorted().collect(Collectors.toList());
|
|
|
+
|
|
|
+ queryWrapper.in(WmPackageRedemptionNotice::getPackageId, pkgIds);
|
|
|
+
|
|
|
}
|
|
|
// 服务商
|
|
|
else if (roles.contains(SERV_ADMIN_ROLE)) {
|