|
@@ -169,12 +169,45 @@ public class WmPackageManager {
|
|
queryWrapper.eq(WmPackageRedemptionNotice::getStep, query.getStep());
|
|
queryWrapper.eq(WmPackageRedemptionNotice::getStep, query.getStep());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 计算服务包查询周期
|
|
|
|
+ Map<String, LocalDate> pkgPeriod = this.calcPkgPeriod(query.getYear(), query.getQuarter());
|
|
|
|
+ LocalDate issueDate = pkgPeriod.get("issueDate");
|
|
|
|
+ LocalDate expiryDate = pkgPeriod.get("expiryDate");
|
|
|
|
+
|
|
|
|
+ // 获取产品信息
|
|
|
|
+ List<String> skuIds = getSkuIds(query.getMahName(), query.getSkuId());
|
|
|
|
+ if (CollUtil.isEmpty(skuIds) && StrUtil.isNotBlank(query.getMahName())) {
|
|
|
|
+ // 产品信息为空且生产企业不为空,则返回空
|
|
|
|
+ return res;
|
|
|
|
+ }
|
|
|
|
+
|
|
// 根据用户角色判断是管理员还是服务商
|
|
// 根据用户角色判断是管理员还是服务商
|
|
// 区域管理员
|
|
// 区域管理员
|
|
if (roles.contains(DIST_ADMIN_ROLE)) {
|
|
if (roles.contains(DIST_ADMIN_ROLE)) {
|
|
queryWrapper
|
|
queryWrapper
|
|
.eq(WmPackageRedemptionNotice::getFromEntId, user.getDeptId())
|
|
.eq(WmPackageRedemptionNotice::getFromEntId, user.getDeptId())
|
|
.eq(WmPackageRedemptionNotice::getCreateBy, user.getUsername());
|
|
.eq(WmPackageRedemptionNotice::getCreateBy, user.getUsername());
|
|
|
|
+
|
|
|
|
+ List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
|
+ .eq(StrUtil.isNotBlank(query.getPkgId()), WmScorePackage::getId, query.getPkgId())
|
|
|
|
+ .eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
|
|
+ .eq(StrUtil.isNotBlank(query.getProvAbbr()), WmScorePackage::getProvAbbr, query.getProvAbbr())
|
|
|
|
+ .in(CollUtil.isNotEmpty(skuIds), WmScorePackage::getDrugtable, skuIds)
|
|
|
|
+ .between(WmScorePackage::getStartTime, issueDate, expiryDate));
|
|
|
|
+
|
|
|
|
+ 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 (CollUtil.containsAny(
|
|
else if (CollUtil.containsAny(
|
|
@@ -215,14 +248,6 @@ public class WmPackageManager {
|
|
.sorted()
|
|
.sorted()
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
- // 计算服务包查询周期
|
|
|
|
- Map<String, LocalDate> pkgPeriod = this.calcPkgPeriod(query.getYear(), query.getQuarter());
|
|
|
|
- LocalDate issueDate = pkgPeriod.get("issueDate");
|
|
|
|
- LocalDate expiryDate = pkgPeriod.get("expiryDate");
|
|
|
|
-
|
|
|
|
- // 获取产品信息
|
|
|
|
- List<String> skuIds = getSkuIds(query.getMahName(), query.getSkuId());
|
|
|
|
-
|
|
|
|
List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
List<WmScorePackage> pkgs = scorePackageService.list(Wrappers.<WmScorePackage>lambdaQuery()
|
|
.eq(StrUtil.isNotBlank(query.getPkgId()), WmScorePackage::getId, query.getPkgId())
|
|
.eq(StrUtil.isNotBlank(query.getPkgId()), WmScorePackage::getId, query.getPkgId())
|
|
.eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
.eq(StrUtil.isNotBlank(query.getPkgName()), WmScorePackage::getScorePackageName, query.getPkgName())
|
|
@@ -277,9 +302,9 @@ public class WmPackageManager {
|
|
|
|
|
|
Map<String, WmDaDrugEntDrugtable> drugtableMap = new HashMap<>();
|
|
Map<String, WmDaDrugEntDrugtable> drugtableMap = new HashMap<>();
|
|
if (CollUtil.isNotEmpty(range)) {
|
|
if (CollUtil.isNotEmpty(range)) {
|
|
- Set<String> skuIds = scorePackages.stream().filter(p -> ArrayUtil.isNotEmpty(p.getDrugtable()))
|
|
|
|
|
|
+ Set<String> drugtableSet = scorePackages.stream().filter(p -> ArrayUtil.isNotEmpty(p.getDrugtable()))
|
|
.map(p -> p.getDrugtable()[0]).collect(Collectors.toSet());
|
|
.map(p -> p.getDrugtable()[0]).collect(Collectors.toSet());
|
|
- drugtableMap.putAll(range.stream().filter(d -> skuIds.contains(d.getId()))
|
|
|
|
|
|
+ drugtableMap.putAll(range.stream().filter(d -> drugtableSet.contains(d.getId()))
|
|
.collect(Collectors.toMap(WmDaDrugEntDrugtable::getId, Function.identity())));
|
|
.collect(Collectors.toMap(WmDaDrugEntDrugtable::getId, Function.identity())));
|
|
}
|
|
}
|
|
|
|
|
|
@@ -295,6 +320,7 @@ public class WmPackageManager {
|
|
map.put("packageScore", "");
|
|
map.put("packageScore", "");
|
|
map.put("provAbbr", "");
|
|
map.put("provAbbr", "");
|
|
map.put("skuName", "");
|
|
map.put("skuName", "");
|
|
|
|
+ map.put("skuId", "");
|
|
map.put("mahName", "");
|
|
map.put("mahName", "");
|
|
|
|
|
|
if (Objects.nonNull(wmScorePackage)) {
|
|
if (Objects.nonNull(wmScorePackage)) {
|
|
@@ -311,6 +337,7 @@ public class WmPackageManager {
|
|
.map(drugtable -> drugtableMap.get(drugtable[0]));
|
|
.map(drugtable -> drugtableMap.get(drugtable[0]));
|
|
if (drugtableOpt.isPresent()) {
|
|
if (drugtableOpt.isPresent()) {
|
|
WmDaDrugEntDrugtable drugtable = drugtableOpt.get();
|
|
WmDaDrugEntDrugtable drugtable = drugtableOpt.get();
|
|
|
|
+ map.put("skuId", drugtable.getId());
|
|
// 产品名称
|
|
// 产品名称
|
|
map.put("skuName", drugtable.getDrugnameTy());
|
|
map.put("skuName", drugtable.getDrugnameTy());
|
|
// 所属生产企业
|
|
// 所属生产企业
|