Parcourir la source

feat: 根据id查询积分包大包详情

lixuesong il y a 1 an
Parent
commit
a365feaefb

+ 76 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -77,6 +77,7 @@ import java.util.concurrent.Future;
 import java.util.concurrent.TimeUnit;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 
 /**
@@ -1384,6 +1385,81 @@ public class WmScorePackageController {
 		}
 	}
 
+	/**
+	 * 获取企业大包详细信息
+	 *
+	 * @param id 积分包id
+	 * @return {@link R}<{@link ?}> 积分包详情
+	 */
+	@GetMapping("/get-big-package-detail")
+	public R<?> getBigPackageDetail(String id) {
+		WmScorePackage wmScorePackage = wmScorePackageMapper.selectById(id);
+
+		// 关联积分包
+		if (StrUtil.isBlank(wmScorePackage.getRelationScoreId())) {
+			wmScorePackage.setRelationScoreId("-1");
+			wmScorePackage.setRelationScoreName("无");
+		} else {
+			WmScorePackage relationPackage = wmScorePackageMapper.selectById(wmScorePackage.getRelationScoreId());
+			if (relationPackage != null) {
+				wmScorePackage.setRelationScoreName(relationPackage.getScorePackageName());
+			}
+		}
+
+		// 关联服务企业
+		if (StrUtil.isNotBlank(wmScorePackage.getRelatedService())) {
+			SysDept serviceDept = sysDeptService.getById(wmScorePackage.getRelatedService());
+			if (serviceDept != null) {
+				wmScorePackage.setRelatedServiceName(serviceDept.getName());
+			}
+		}
+
+		// 接包对象
+		if (StrUtil.isNotBlank(wmScorePackage.getAcceptSug())) {
+			// 此处暂认为drugEnt和agent不会出现相同的id
+			WmDaAgent daAgent = wmDaAgentMapper.selectById(wmScorePackage.getAcceptSug());
+			if (daAgent == null) {
+				WmDaDrugEnt daDrugEnt = wmDaDrugEntMapper.selectById(wmScorePackage.getAcceptSug());
+				if (daDrugEnt != null) {
+					wmScorePackage.setAcceptSug(daDrugEnt.getEntname());
+				}
+			} else {
+				wmScorePackage.setAcceptSugName(daAgent.getGsmc());
+			}
+		}
+
+		// 推广药品
+		if (ArrayUtil.isNotEmpty(wmScorePackage.getDrugtable())) {
+			List<WmDaDrugEntDrugtable> drugtables = wmDaDrugEntDrugtableService.listByIds(Stream.of(wmScorePackage.getDrugtable()).collect(Collectors.toSet()));
+			if (CollUtil.isNotEmpty(drugtables)) {
+				String[] drugtableNames = drugtables.stream().map(WmDaDrugEntDrugtable::getDrugname).toArray(String[]::new);
+				wmScorePackage.setDrugtableName(drugtableNames);
+			}
+		}
+
+		// 积分包关联的有效任务类型
+		WmScoreTaskType wmScoreTaskType = new WmScoreTaskType();
+		wmScoreTaskType.setScoreId("-1".equals(wmScorePackage.getRelationScoreId()) ? wmScorePackage.getId() : wmScorePackage.getRelationScoreId());
+		List<WmScoreTaskType> taskTypeList = wmScoreTaskTypeMapper.listWmScoreTaskType(wmScoreTaskType);
+		Set<String> taskTypeSet = taskTypeList.stream().map(WmScoreTaskType::getTaskTypeId).collect(Collectors.toSet());
+		wmScorePackage.setTaskTypeSet(taskTypeSet);
+
+		// 查询关联的试卷
+		List<WmPkgQuizRelation> quizRelations = pkgQuizRelationService.listQuizRelationsByPkgIds(Collections.singletonList(Integer.parseInt(id)));
+
+		if (CollUtil.isNotEmpty(quizRelations)){
+			List<Integer> quizIds = quizRelations.stream().map(WmPkgQuizRelation::getQuizId).collect(Collectors.toList());
+			List<Integer> relIds = quizRelations.stream().map(WmPkgQuizRelation::getRelationId).collect(Collectors.toList());
+			wmScorePackage.setQuizIds(quizIds);
+			wmScorePackage.setQuizRelationIds(relIds);
+			wmScorePackage.setQuizNames(quizRelations.stream().map(WmPkgQuizRelation::getTitle).collect(Collectors.toList()));
+		}
+
+		wmScorePackage.setQuizRelations(quizRelations);
+
+		return R.ok(wmScorePackage);
+	}
+
 	/**
 	 * BC-企业承接任务
 	 *

+ 30 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackage.java

@@ -121,8 +121,20 @@ public class WmScorePackage extends Model<WmScorePackage> {
 
 	private String relationScoreId;
 
+	/**
+	 * 关联积分包名称
+	 */
+	@TableField(exist = false)
+	private String relationScoreName;
+
 	private String relatedService;
 
+	/**
+	 * 关联服务企业名称
+	 */
+	@TableField(exist = false)
+	private String relatedServiceName;
+
 	private String scorePackageName;
 
 	private String packageIsConduct;
@@ -218,6 +230,12 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	 */
 	private String acceptSug;
 
+	/**
+	 * 接包对象名称
+	 */
+	@TableField(exist = false)
+	private String acceptSugName;
+
 	/**
 	 * 已完成百分比
 	 */
@@ -515,6 +533,12 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	 */
 	private String[] drugtable;
 
+	/**
+	 * 推广药品名称
+	 */
+	@TableField(exist = false)
+	private String[] drugtableName;
+
 	/**
 	 * 审核管理费比例(单位%)
 	 */
@@ -542,6 +566,12 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	@TableField(exist = false)
 	private List<WmPkgQuizRelation> quizRelations;
 
+	/**
+	 * 积分包关联的试卷名称
+	 */
+	@TableField(exist = false)
+	private List<String> quizNames;
+
 	/**
 	 * 积分包关联的试卷列表
 	 */