Browse Source

fix: 新增积分包-屏蔽推广药品企业

lixuesong 1 year ago
parent
commit
033cff5dbd

+ 8 - 10
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1670,18 +1670,13 @@ public class WmScorePackageController {
 		wmScorePackage.setAllocationDate(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN).format(now));
 
 		// 关联上级推广药品企业(兼容历史)
-		if (StringUtils.isNotEmpty(relPkgId)) {
+		if (StringUtils.isEmpty(relPkgId)) {
+			wmScorePackage.setDrugProducerList(null);
+		} else if (StringUtils.isNotEmpty(relPkgId) && ArrayUtils.isEmpty(wmScorePackage.getDrugtable())) {
+			// 关联上级推广药品
 			WmScorePackage relateSp = wmScorePackageService.getById(relPkgId);
 			if (relateSp != null) {
-				Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relateSp.getDeptId()));
-				wmScorePackage.setDrugProducerList(producerNames.toArray(new String[0]));
-			}
-		}
-		// 关联上级推广药品
-		if (StringUtils.isNotEmpty(relPkgId) && ArrayUtils.isEmpty(wmScorePackage.getDrugtable())) {
-			WmScorePackage relateSp = wmScorePackageService.getById(relPkgId);
-			if (relateSp != null) {
-				wmScorePackage.setDrugtable(wmScorePackage.getDrugtable());
+				wmScorePackage.setDrugtable(relateSp.getDrugtable());
 			}
 		}
 
@@ -2327,6 +2322,9 @@ public class WmScorePackageController {
 		// 查询原积分包值
 		int oldPackageScore = wmScorePackageService.getById(wmScorePackage.getId()).getScore();
 
+		// 屏蔽推广药品企业
+		wmScorePackage.setDrugProducerList(null);
+
 		wmScorePackageService.updateById(wmScorePackage);
 
 		Integer deptId = SecurityUtils.getUser().getDeptId();

+ 10 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -767,6 +767,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 				}
 			}
 			wmScorePackage.setBelongDate(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM")) + "");
+
+			// 没有上级关联包, 则屏蔽推广药品企业
+			wmScorePackage.setDrugProducerList(null);
 		} else {
 			WmScorePackage relationScore = this.getById(wmScorePackage.getRelationScoreId());
 			if (relationScore == null) {
@@ -774,11 +777,12 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			}
 
 			// 关联上级推广药品企业(兼容历史)
-			Set<String> producerNames = wmDaDrugEntDrugtableService.listDrugProducerByDeptId(Integer.parseInt(relationScore.getDeptId()));
-			wmScorePackage.setDrugProducerList(producerNames.toArray(new String[0]));
+			if (ArrayUtil.isEmpty(wmScorePackage.getDrugProducerList()) && ArrayUtil.isNotEmpty(relationScore.getDrugProducerList())) {
+				wmScorePackage.setDrugProducerList(relationScore.getDrugProducerList());
+			}
 			// 关联上级推广药品
 			if (ArrayUtil.isEmpty(wmScorePackage.getDrugtable())) {
-				wmScorePackage.setDrugtable(wmScorePackage.getDrugtable());
+				wmScorePackage.setDrugtable(relationScore.getDrugtable());
 			}
 
 			wmScorePackage.setDrugEntId(relationScore.getDrugEntId());
@@ -1721,6 +1725,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		// 查询原积分包值
 		int oldPackageScore = this.getById(wmScorePackage.getId()).getScore();
 
+		// 没有上级关联包, 则屏蔽推广药品企业
+		wmScorePackage.setDrugProducerList(null);
+
 		this.updateById(wmScorePackage);
 		if (wmScorePackage.getRelationScoreId() == null) {
 			this.update(Wrappers.<WmScorePackage>lambdaUpdate()