|
@@ -6,7 +6,9 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.constant.UpmsType;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.dto.WmPkgDTO;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysAreaEntity;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysImplementPlan;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysPlanPkg;
|
|
@@ -17,9 +19,12 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmPackageTaskTypeQty;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTask;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysAreaEntityService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysCheckChainNodeCheckHistoryService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysEnterpriseAreaService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysImplementPlanService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysPlanPkgService;
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.SysUserAreaService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserDrugService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserRoleService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmPackageRedemptionNoticeService;
|
|
@@ -72,6 +77,9 @@ public class WmPackageManager {
|
|
|
private final SysPlanPkgService planPkgService;
|
|
|
private final SysImplementPlanService implementPlanService;
|
|
|
private final SysUserDrugService userDrugService;
|
|
|
+ private final SysEnterpriseAreaService enterpriseAreaService;
|
|
|
+ private final SysAreaEntityService areaEntityService;
|
|
|
+ private final SysUserAreaService userAreaService;
|
|
|
|
|
|
/**
|
|
|
* 创建执行包兑付通知
|
|
@@ -121,12 +129,29 @@ public class WmPackageManager {
|
|
|
List<SysUserDrug> userDrugs = userDrugService.list(Wrappers.<SysUserDrug>lambdaQuery().eq(SysUserDrug::getUserId, user.getId()));
|
|
|
|
|
|
if (CollUtil.isEmpty(userDrugs)) {
|
|
|
- throw new BizException("当前人员并未绑定药品,无法确定可见范围,请核实");
|
|
|
+ throw new BizException("当前人员并未绑定产品,无法确定可见范围,请核实");
|
|
|
}
|
|
|
|
|
|
+ // todo 按区域区隔
|
|
|
+
|
|
|
+ // 1. 获取操作可见的区域
|
|
|
+ List<Long> areaIds = userAreaService.listUserAreas(Long.valueOf(user.getId()));
|
|
|
+
|
|
|
+ if (CollUtil.isEmpty(areaIds)) {
|
|
|
+ throw new BizException("当前人员并未绑定区域,无法确定可见范围,请核实");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Long> collect = areaEntityService.list(Wrappers.<SysAreaEntity>lambdaQuery().in(SysAreaEntity::getAreaId, areaIds).eq(SysAreaEntity::getAreaType, UpmsType.AreaType.DISTRICT))
|
|
|
+ .stream().mapToLong(SysAreaEntity::getAreaId).boxed().collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Long> entIds = enterpriseAreaService.listAreaEnts(collect);
|
|
|
+
|
|
|
+
|
|
|
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));
|
|
|
+ List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
+ .in(WmScorePackage::getSendPackageDeptId, entIds)
|
|
|
+ .in(WmScorePackage::getDrugtable, drugIds));
|
|
|
|
|
|
if (CollUtil.isEmpty(pkgs)) {
|
|
|
return res;
|