Forráskód Böngészése

Merge branch 'hotfix-20231113-addpackage'

lixuesong 1 éve
szülő
commit
f9ea2a1f9b

+ 20 - 15
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1430,7 +1430,7 @@ public class WmScorePackageController {
 
 
 	/**
-	 * 根据上级药企获取关联积分包 二期  业务平台
+	 * 根据上级药企获取关联积分包 二期  业务平台(企业承接新增积分包的)
 	 *
 	 * @return R
 	 */
@@ -1450,13 +1450,14 @@ public class WmScorePackageController {
 			List<WmScorePackage> list = wmScorePackageService.selectByReRelatedService(wmScorePackage);
 			if (list.size() > 0) {
 				for (WmScorePackage wmScorePackage1 : list) {
-					if (wmScorePackage1.getKfpjf().equals(0)) {
+					if (wmScorePackage1.getKfpjf() == null || wmScorePackage1.getKfpjf() <= 0) {
 						// 过滤掉可分配积分值为0的积分包
 						continue;
 					}
 					Map<String, Object> map1 = new HashMap<>();
 					map1.put("relationScoreName", wmScorePackage1.getScorePackageName());
 					map1.put("drugProducerList", wmScorePackage1.getDrugProducerList());
+					map1.put("drugtable", wmScorePackage1.getDrugtable());
 					map1.put("id", wmScorePackage1.getId());
 					answerList.add(map1);
 				}
@@ -1471,13 +1472,14 @@ public class WmScorePackageController {
 			wmScorePackage.setDeptId(wmScorePackage.getRelatedService());
 			List<WmScorePackage> list = wmScorePackageService.selectByReRelatedService(wmScorePackage);
 			for (WmScorePackage wmScorePackage1 : list) {
-				if (wmScorePackage1.getKfpjf().equals(0)) {
+				if (wmScorePackage1.getKfpjf() == null || wmScorePackage1.getKfpjf() <= 0) {
 					// 过滤掉可分配积分值为0的积分包
 					continue;
 				}
 				Map<String, Object> map3 = new HashMap<>();
 				map3.put("id", wmScorePackage1.getId());
 				map3.put("drugProducerList", wmScorePackage1.getDrugProducerList());
+				map3.put("drugtable", wmScorePackage1.getDrugtable());
 				map3.put("relationScoreName", wmScorePackage1.getScorePackageName());
 				answerList.add(map3);
 			}
@@ -1670,18 +1672,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 +2324,9 @@ public class WmScorePackageController {
 		// 查询原积分包值
 		int oldPackageScore = wmScorePackageService.getById(wmScorePackage.getId()).getScore();
 
+		// 屏蔽推广药品企业
+		wmScorePackage.setDrugProducerList(null);
+
 		wmScorePackageService.updateById(wmScorePackage);
 
 		Integer deptId = SecurityUtils.getUser().getDeptId();
@@ -2876,6 +2876,10 @@ public class WmScorePackageController {
 
 		log.info("修改积分包(小包)入参:{}", wmScorePackage);
 
+		if (wmScorePackage.getId() != null) {
+			return R.failed("积分包id必填");
+		}
+
 		//定额
 		if (wmScorePackage.getPackageType1().equals("1") && wmScorePackage.getScore() <= 0) {
 			return R.failed("积分包分值必须大于0");
@@ -2893,9 +2897,10 @@ public class WmScorePackageController {
 			long existed = wmScorePackageService.count(Wrappers.<WmScorePackage>lambdaQuery()
 					.eq(WmScorePackage::getDelFlag, "0")
 					.eq(WmScorePackage::getDeptId, wmScorePackage.getDeptId())
-					.eq(WmScorePackage::getScorePackageName, wmScorePackage.getScorePackageName()));
+					.eq(WmScorePackage::getScorePackageName, wmScorePackage.getScorePackageName())
+					.ne(WmScorePackage::getId, wmScorePackage.getId()));
 			if (existed != 0) {
-				return R.failed("积分包名称或积分包序列号已存在");
+				return R.failed("积分包名称已存在");
 			}
 
 		}

+ 10 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageStatusController.java

@@ -20,6 +20,7 @@ import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
@@ -36,6 +37,7 @@ import java.util.stream.Collectors;
  *
  * @date 2020-07-17 23:32:01
  */
+@Slf4j
 @RestController
 @AllArgsConstructor
 @RequestMapping("/wmscorepackagestatus")
@@ -162,14 +164,18 @@ public class WmScorePackageStatusController {
 	 * @param wmScorePackageStatus
 	 * @return
 	 */
+	@SysLog("接单审核")
 	@PostMapping("/approvalStatus")
 	public R approvalStatus(@RequestBody WmScorePackageStatus wmScorePackageStatus) {
+		log.info("接单审核参数:{}", wmScorePackageStatus);
+
 		if (wmScorePackageStatus.getId() == null) {
 			return R.failed("缺少参数ID");
 		}
 		if (StringUtil.isEmpty(wmScorePackageStatus.getStatus())) {
 			return R.failed("缺少参数:审批意见");
 		}
+
 		return wmScorePackageStatusService.approvalStatus(wmScorePackageStatus);
 	}
 
@@ -178,14 +184,18 @@ public class WmScorePackageStatusController {
 	 *
 	 * @param statusBatch 批量审批信息
 	 */
+	@SysLog("批量接单审核")
 	@PutMapping("/approvalStatus/batch")
 	public R approvalStatusBatch(@RequestBody WmScorePackageStatusBatch statusBatch) {
+		log.info("批量接单审核参数:{}", statusBatch);
+
 		if (StrUtil.isEmpty(statusBatch.getBatchIds())) {
 			return R.failed("缺少参数ID");
 		}
 		if (statusBatch.getStatus() == null) {
 			return R.failed("缺少参数:审批意见");
 		}
+
 		return R.ok(wmScorePackageStatusService.approvalStatusBatch(statusBatch));
 	}
 

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

@@ -48,6 +48,7 @@ import com.qunzhixinxi.hnqz.admin.recharge.enums.RechargeRecordType;
 import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeMapper;
 import com.qunzhixinxi.hnqz.admin.recharge.mapper.SysDeptRechargeRecordMapper;
 import com.qunzhixinxi.hnqz.admin.service.*;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.data.datascope.DataScope;
 import com.qunzhixinxi.hnqz.common.security.service.HnqzUser;
@@ -767,6 +768,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 +778,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 +1726,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()
@@ -3039,6 +3047,13 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 			}
 		}
 
+		int packageStatusCount = wmScorePackageStatusService.count(Wrappers.<WmScorePackageStatus>lambdaQuery()
+				.eq(WmScorePackageStatus::getPackageId, packageId)
+				.notIn(WmScorePackageStatus::getStatus, PackageStatusEnum.APPROVED.val(), PackageStatusEnum.FAIL_APPROVED.val()));
+		if (packageStatusCount > 0) {
+			throw new BizException("接单审批有待审任务,不允许终止");
+		}
+
 		// 更新积分包状态
 		WmScorePackage updateScorePackage = new WmScorePackage();
 		updateScorePackage.setId(packageId);

+ 9 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageStatusServiceImpl.java

@@ -16,6 +16,7 @@ import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
 import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageApiInput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageApiOutput;
+import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
@@ -23,6 +24,7 @@ import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
 import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -65,6 +67,10 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 		wmScorePackageStatus.setPackageId(packageStatus1.getPackageId());
 		//审批
 		WmScorePackage wmScorePackage=wmScorePackageMapper.selectById(wmScorePackageStatus.getPackageId());
+		if (!StrUtil.equals(wmScorePackage.getScorePackageStatus(), PackageStatusEnum.UNDER_REVIEW.val())) {
+			return R.failed("积分包状态不是已申领待审批");
+		}
+
 		if(wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val())) {
 			//定额包一人一包,所以score=userscore
 			wmScorePackageStatus.setUserScore(String.valueOf(wmScorePackage.getScore()));
@@ -519,7 +525,9 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 
 		// 获取积分包
 		WmScorePackage wmScorePackage = wmScorePackageMapper.selectById(status.getPackageId());
-
+		if (!StrUtil.equals(wmScorePackage.getScorePackageStatus(), PackageStatusEnum.UNDER_REVIEW.val())) {
+			throw new BizException("积分包状态不是已申领待审批");
+		}
 
 		log.warn("开始审批,id:[{}], packageId:[{}]", status, wmScorePackage.getId());
 		//定额