|
@@ -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-企业承接任务
|
|
|
*
|