Sfoglia il codice sorgente

Merge branch 'feat-20230329-mazhou' into temp-pre

李学松 2 anni fa
parent
commit
973c1330f4

+ 6 - 5
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -1665,9 +1665,9 @@ public class ApiController {
 	}
 
 	/**
-	 * 获取药企列表
+	 * 小程序领取任务包(积分包)列表
 	 *
-	 * @return 角色列表
+	 * @return 积分包列表
 	 */
 	@ApiOperation(value = "积分包-获取用户积分包", notes = "积分包-获取用户积分包,selType  众包用户传值,1 可领取  2 已领取")
 	@GetMapping("/getUserScorePackageList2")
@@ -2419,9 +2419,9 @@ public class ApiController {
 
 
 	/**
-	 * 通过id查询积分包
+	 * 小程序领取积分包
 	 *
-	 * @param packageId
+	 * @param packageId 积分包id
 	 * @return R
 	 */
 	@ApiOperation(value = "积分包-领取", notes = "积分包-领取")
@@ -2469,7 +2469,8 @@ public class ApiController {
 
 		wmScorePackageStatus.setStatus("1");
 		wmScorePackageStatus.setTaskAddFlag("1");
-		if ("1".equals(wmScorePackage.getPackageType1())) {
+		if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(wmScorePackage.getPackageType1())
+				|| PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
 			wmScorePackageStatus.setUserScore(wmScorePackage.getScore() + "");
 		} else {
 			wmScorePackageStatus.setUserScore(wmScorePackage.getUserScore());

+ 25 - 19
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -1494,7 +1494,7 @@ public class WmScorePackageController {
 
 			pageAnswer.setRecords(finalRecords);
 		} catch (ExecutionException | InterruptedException e) {
-			log.error("获取分页信息失败");
+			log.error("获取分页信息失败", e);
 			return R.failed("获取分页信息失败");
 		}
 
@@ -2575,9 +2575,13 @@ public class WmScorePackageController {
 			List<String> split = StrUtil.split(typeId, StrUtil.COMMA);
 			queryWrapper.in(WmScorePackage::getTypeid, split);
 		}
-		if (PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
-				&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2))) {
-			// 如果是个人承接-按积分值,判断当前用户是否配置了团队负责人
+
+		boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
+				&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
+		boolean multiPersonScorePackageFlag = PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(String.valueOf(packageType1))
+				&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
+		if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
+			// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
 			List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
 					.eq(WmTeam::getDeptId, sendDeptId)
 					.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
@@ -2601,25 +2605,27 @@ public class WmScorePackageController {
 
 		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
 
-		List<Future<WmScorePackage>> futureList = new ArrayList<>(pageRecords.size());
+		if (CollUtil.isNotEmpty(pageRecords)) {
+			List<Future<WmScorePackage>> futureList = new ArrayList<>(pageRecords.size());
 
-		for (WmScorePackage scorePackage : pageRecords) {
-			Future<WmScorePackage> wmScorePackageFuture = wmScorePackageService.buildScorePackage(scorePackage, packageType1, packageType2);
-			futureList.add(wmScorePackageFuture);
-		}
+			for (WmScorePackage scorePackage : pageRecords) {
+				Future<WmScorePackage> wmScorePackageFuture = wmScorePackageService.buildScorePackage(scorePackage, packageType1, packageType2);
+				futureList.add(wmScorePackageFuture);
+			}
 
-		List<WmScorePackage> finalRecords = new ArrayList<>(pageRecords.size());
-		try {
-			for (Future<WmScorePackage> future : futureList) {
-				WmScorePackage wmScorePackage = future.get();
-				finalRecords.add(wmScorePackage);
+			List<WmScorePackage> finalRecords = new ArrayList<>(pageRecords.size());
+			try {
+				for (Future<WmScorePackage> future : futureList) {
+					WmScorePackage wmScorePackage = future.get();
+					finalRecords.add(wmScorePackage);
 
-			}
+				}
 
-			wmScorePackagePage.setRecords(finalRecords);
-		} catch (ExecutionException | InterruptedException e) {
-			log.error("获取分页信息失败");
-			return R.failed("获取分页信息失败");
+				wmScorePackagePage.setRecords(finalRecords);
+			} catch (ExecutionException | InterruptedException e) {
+				log.error("获取分页信息失败", e);
+				return R.failed("获取分页信息失败");
+			}
 		}
 
 		return R.ok(wmScorePackagePage);

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/enums/PackageTypeEnum.java

@@ -27,6 +27,11 @@ public enum PackageTypeEnum {
 	 * type1问诊包(患者教育)
 	 */
 	TYPE1_HCP_PACKAGE("5", "患者教育", "问诊包"),
+	/**
+	 * type1积分包+任务包
+	 */
+	TYPE1_SCORE_AND_TASK_PACKAGE("6", "定额定量", "积分任务包"),
+
 	/**
 	 * type2任务包(定额、定量、通用)
 	 */

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

@@ -713,6 +713,9 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 		if (PackageTypeEnum.TYPE1_HCP_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
 			// 患者教育,固定只能一人领取
 			wmScorePackage.setUserNum(1);
+		} else if (PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val().equals(wmScorePackage.getPackageType1())) {
+			// 多人承接-按积分值
+			wmScorePackage.setUserNum(9999);
 		}
 		wmScorePackage.setCreateUser(currentUser.getId());
 		wmScorePackage.setCreateTime(LocalDateTime.now());
@@ -792,8 +795,10 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 					}
 				}
 			} else {
-				if (wmScorePackage.getPackageType1().equals("5") || wmScorePackage.getPackageType1().equals("4")
-						|| wmScorePackage.getPackageType2().equals("2")) {
+				if (wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val())
+						|| wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_HCP_PACKAGE.val())
+						|| wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_SETTLE_PACKAGE.val())
+						|| wmScorePackage.getPackageType2().equals(PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val())) {
 					//结算包
 					WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
 					wmScoreTaskType.setScoreId(wmScorePackage.getId());

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

@@ -32,6 +32,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.PackageTypeEnum;
 import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
 import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
@@ -80,11 +81,15 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 		wmScorePackageStatus.setPackageId(packageStatus1.getPackageId());
 		//审批
 		WmScorePackage wmScorePackage=wmScorePackageMapper.selectById(wmScorePackageStatus.getPackageId());
-		if(wmScorePackage.getPackageType1().equals("1")){//定额
+		if(wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val())) {
 			//定额包一人一包,所以score=userscore
 			wmScorePackageStatus.setUserScore(String.valueOf(wmScorePackage.getScore()));
 			wmScorePackageStatus.setTaskNum(0);
-		}else {
+		} else if(wmScorePackage.getPackageType1().equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val())) {
+			//定额+定量(多人承接-按积分值)
+			wmScorePackageStatus.setUserScore(String.valueOf(wmScorePackage.getScore()));
+			wmScorePackageStatus.setTaskNum(wmScorePackage.getTaskNum());
+		}  else {
 			wmScorePackageStatus.setTaskNum(wmScorePackage.getTaskNum());
 			wmScorePackageStatus.setUserScore(String.valueOf(wmScorePackage.getUserScore()));
 		}
@@ -93,24 +98,29 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 		wmScorePackageStatus.setUserId(null);
 		this.updateById(wmScorePackageStatus);
 
-		if("2".equals(wmScorePackageStatus.getStatus())) {//同意
-			wmScorePackage.setScorePackageStatus("3");//进行中
+		// 同意
+		if ("2".equals(wmScorePackageStatus.getStatus())) {
+			// 进行中
+			wmScorePackage.setScorePackageStatus("3");
 			//判断该积分包是否审核满员,如果是,其他接单对象自动改为审核不通过
-			WmScorePackageStatus wmScorePackageStatus1=new WmScorePackageStatus();
+			WmScorePackageStatus wmScorePackageStatus1 = new WmScorePackageStatus();
 			wmScorePackageStatus1.setPackageId(wmScorePackageStatus.getPackageId());
 			wmScorePackageStatus1.setStatus("2");//审核通过
 			wmScorePackageStatus1.setDelFlag("0");
 			wmScorePackageStatus1.setEnableFlag("0");
-			List<WmScorePackageStatus> sList=this.list(Wrappers.query(wmScorePackageStatus1));
-			Integer usernum=wmScorePackage.getUserNum()==null?1:wmScorePackage.getUserNum();
-			if(sList.size()>=usernum){//接单审核通过人数等于积分包需求人数
-				LambdaUpdateWrapper<WmScorePackageStatus> updateWrapper=new LambdaUpdateWrapper();
-				updateWrapper.set(WmScorePackageStatus::getStatus,"3");//审核不通过
-				updateWrapper.set(WmScorePackageStatus::getTaskAddFlag,"0");//不允许新增任务
-				updateWrapper.eq(WmScorePackageStatus::getPackageId,wmScorePackageStatus.getPackageId());
-				updateWrapper.eq(WmScorePackageStatus::getStatus,"1");
-				updateWrapper.eq(WmScorePackageStatus::getDelFlag,"0");
-				updateWrapper.eq(WmScorePackageStatus::getEnableFlag,"0");
+			List<WmScorePackageStatus> sList = this.list(Wrappers.query(wmScorePackageStatus1));
+			int usernum = wmScorePackage.getUserNum() == null ? 1 : wmScorePackage.getUserNum();
+			// 接单审核通过人数等于积分包需求人数
+			if (sList.size() >= usernum) {
+				LambdaUpdateWrapper<WmScorePackageStatus> updateWrapper = new LambdaUpdateWrapper<>();
+				// 审核不通过
+				updateWrapper.set(WmScorePackageStatus::getStatus, "3");
+				// 不允许新增任务
+				updateWrapper.set(WmScorePackageStatus::getTaskAddFlag, "0");
+				updateWrapper.eq(WmScorePackageStatus::getPackageId, wmScorePackageStatus.getPackageId());
+				updateWrapper.eq(WmScorePackageStatus::getStatus, "1");
+				updateWrapper.eq(WmScorePackageStatus::getDelFlag, "0");
+				updateWrapper.eq(WmScorePackageStatus::getEnableFlag, "0");
 				this.update(updateWrapper);
 				//wmScorePackage.setPackageStatus("2");
 				wmScorePackage.setUpdateTime(LocalDateTime.now());
@@ -119,8 +129,10 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 				wmScorePackageMapper.updateById(wmScorePackage);
 			}
 
-		}else {//不同意
-			wmScorePackageStatus.setTaskAddFlag("0");//不可以新增任务
+		} else {
+			// 不同意
+			// 不可以新增任务
+			wmScorePackageStatus.setTaskAddFlag("0");
 			wmScorePackageStatus.setUserId(null);
 			this.updateById(wmScorePackageStatus);
 		}
@@ -131,20 +143,27 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 		query.setDelFlag("0");
 		query.setEnableFlag("0");
 		int total = this.count(Wrappers.query(query));
-		if(total>=1){//有人接单成功
-			wmScorePackage.setScorePackageStatus("3");//进行中
-			if(total>=wmScorePackage.getUserNum()){//人数已满
-				wmScorePackage.setIsReceive("1");//不允许接单
+		// 有人接单成功
+		if (total >= 1) {
+			// 进行中
+			wmScorePackage.setScorePackageStatus("3");
+			// 人数已满
+			if (total >= wmScorePackage.getUserNum()) {
+				// 不允许接单
+				wmScorePackage.setIsReceive("1");
 			}
-		}else {//没有人接单成功
+		} else {
+			// 没有人接单成功
 			WmScorePackageStatus query1 = new WmScorePackageStatus();
 			query1.setPackageId(wmScorePackageStatus.getPackageId());
 			query1.setStatus("1");
 			int total1 = this.count(Wrappers.query(query1));
-			if(total1==0){
-				wmScorePackage.setScorePackageStatus("1");//已分派待申领
-			}else {
-				wmScorePackage.setScorePackageStatus("2");//已申领待审批
+			if (total1 == 0) {
+				// 已分派待申领
+				wmScorePackage.setScorePackageStatus("1");
+			} else {
+				// 已申领待审批
+				wmScorePackage.setScorePackageStatus("2");
 			}
 
 		}
@@ -491,10 +510,14 @@ public class WmScorePackageStatusServiceImpl extends ServiceImpl<WmScorePackageS
 
 		log.warn("开始审批,id:[{}], packageId:[{}]", status, wmScorePackage.getId());
 		//定额
-		if (StrUtil.equals("1", wmScorePackage.getPackageType1())) {
+		if (StrUtil.equals(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val(), wmScorePackage.getPackageType1())) {
 			//定额包一人一包,所以score=userscore
 			status.setUserScore(String.valueOf(wmScorePackage.getScore()));
 			status.setTaskNum(0);
+		} else if(StrUtil.equals(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val(), wmScorePackage.getPackageType1())) {
+			//定额+定量(多人承接-按积分值)
+			status.setUserScore(String.valueOf(wmScorePackage.getScore()));
+			status.setTaskNum(wmScorePackage.getTaskNum());
 		} else {
 			status.setTaskNum(wmScorePackage.getTaskNum());
 			status.setUserScore(String.valueOf(wmScorePackage.getUserScore()));