|
@@ -21,10 +21,12 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
+import cn.hutool.core.util.NumberUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
@@ -33,6 +35,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.CacheConstants;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDeptRelation;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaPharmacy;
|
|
@@ -41,17 +44,35 @@ import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmTaskContentConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskType;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmUserSign;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmUserSignDetail;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkAlbum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkArticle;
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmWkArticleShare;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.dto.WmDeptTaskTypeConfigJsonDTO;
|
|
|
import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskVO;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.PackageStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.ReportEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.ScorePackageStatusEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.UserSignPurposeEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.UserSignResultEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysDeptRelationMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysDictItemMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmReportMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentConfigMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskContentMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignDetailMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmUserSignMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmWkAlbumMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmWkArticleMapper;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.WmWkArticleShareMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysDeptService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.SysUserService;
|
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
|
|
@@ -75,15 +96,20 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Collections;
|
|
|
+import java.util.Comparator;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
+import java.util.Optional;
|
|
|
import java.util.Set;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
|
|
|
/**
|
|
|
* 报告审核表
|
|
@@ -101,6 +127,8 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
|
|
|
private final WmTaskTypeService wmTaskTypeService;
|
|
|
private final WmTaskService wmTaskService;
|
|
|
private final WmTaskMapper wmTaskMapper;
|
|
|
+ private final WmTaskContentMapper wmTaskContentMapper;
|
|
|
+ private final WmTaskContentConfigMapper wmTaskContentConfigMapper;
|
|
|
private final WmReportMapper wmReportMapper;
|
|
|
private final SysUserService sysUserService;
|
|
|
private final WmDaDistributionService wmDaDistributionService;
|
|
@@ -109,6 +137,12 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
|
|
|
private final WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
|
|
|
private final SysDeptService sysDeptService;
|
|
|
private final SysDeptRelationMapper sysDeptRelationMapper;
|
|
|
+ private final SysDictItemMapper sysDictItemMapper;
|
|
|
+ private final WmUserSignMapper wmUserSignMapper;
|
|
|
+ private final WmUserSignDetailMapper wmUserSignDetailMapper;
|
|
|
+ private final WmWkArticleShareMapper wmWkArticleShareMapper;
|
|
|
+ private final WmWkAlbumMapper wmWkAlbumMapper;
|
|
|
+ private final WmWkArticleMapper wmWkArticleMapper;
|
|
|
private final RedisTemplate<String,String> redisTemplate;
|
|
|
|
|
|
@Override
|
|
@@ -941,6 +975,253 @@ public class WmReportServiceImpl extends ServiceImpl<WmReportMapper, WmReport> i
|
|
|
}
|
|
|
return R.ok(mapPage);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据积分包id查询待审核任务详情列表
|
|
|
+ *
|
|
|
+ * @param reportId 报告id
|
|
|
+ * @param taskTypeId 任务类型id
|
|
|
+ * @return 列表结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<Map<String, Object>> listTaskInfo(Integer reportId, String taskTypeId) {
|
|
|
+ WmReport queryReport = this.getById(reportId);
|
|
|
+ if (queryReport == null) {
|
|
|
+ throw new RuntimeException("未查询到报告信息");
|
|
|
+ }
|
|
|
+ WmScorePackage reportScorePackage = wmScorePackageService.getById(queryReport.getScoreId());
|
|
|
+
|
|
|
+ LambdaQueryWrapper<WmTask> lambdaQueryWrapper= Wrappers.<WmTask>query().lambda();
|
|
|
+ lambdaQueryWrapper.and(wrapper -> wrapper.eq(WmTask::getReportDrugId, reportId)
|
|
|
+ .or().eq(WmTask::getReportOneId, reportId)
|
|
|
+ .or().eq(WmTask::getReportSecondId, reportId));
|
|
|
+ if ("0".equals(reportScorePackage.getTypeid())) {//药企
|
|
|
+ lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportDrugApprovalOpinion));
|
|
|
+ } else if ("1".equals(reportScorePackage.getTypeid())) {//一级代理商类型
|
|
|
+ lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportDrugApprovalOpinion));
|
|
|
+ } else if ("2".equals(reportScorePackage.getTypeid())) {//二级代理商类型
|
|
|
+ lambdaQueryWrapper.and(wrapper -> wrapper.isNull(WmTask::getReportOneApprovalOpinion));
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(taskTypeId)) {
|
|
|
+ lambdaQueryWrapper.eq(WmTask::getTaskTypeId, taskTypeId);
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.eq(WmTask::getDelFlag, DelEnum.NOT_DEL.val());
|
|
|
+ lambdaQueryWrapper.orderByDesc(WmTask::getLookintoDate);
|
|
|
+ List<WmTask> taskList = wmTaskMapper.selectList(lambdaQueryWrapper);
|
|
|
+
|
|
|
+ // 添加结算详情
|
|
|
+ List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
+ if (CollUtil.isNotEmpty(taskList)) {
|
|
|
+ Set<String> packageIdSet = taskList.stream().map(WmTask::getScorePackageId).collect(Collectors.toSet());
|
|
|
+ // 查询scorePackage
|
|
|
+ List<WmScorePackage> scorePackages = wmScorePackageService.listByIds(packageIdSet);
|
|
|
+ Map<String, WmScorePackage> scorePackageMap = scorePackages.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
|
|
|
+ // 查询taskType
|
|
|
+ Set<String> taskTypeIdSet = taskList.stream().map(WmTask::getTaskTypeId).collect(Collectors.toSet());
|
|
|
+ List<WmTaskType> taskTypeList = wmTaskTypeService.listByIds(taskTypeIdSet);
|
|
|
+ Map<String, String> taskTypeNameMap = taskTypeList.stream().collect(Collectors.toMap(WmTaskType::getId, WmTaskType::getTaskTypeName));
|
|
|
+ // 查询taskContent
|
|
|
+ Set<String> taskConentIdSet = taskList.stream().map(WmTask::getTaskContentId).collect(Collectors.toSet());
|
|
|
+ List<WmTaskContent> taskContentList = wmTaskContentMapper.selectBatchIds(taskConentIdSet);
|
|
|
+ Map<Integer, WmTaskContent> taskContentMap = taskContentList.stream().collect(Collectors.toMap(WmTaskContent::getId, Function.identity()));
|
|
|
+ // 查询打卡记录userSign
|
|
|
+ boolean hasSignTask = taskList.stream().anyMatch(wmTask -> "5".equals(wmTask.getTaskTypeId())
|
|
|
+ || "6".equals(wmTask.getTaskTypeId()) || "33".equals(wmTask.getTaskTypeId()));
|
|
|
+ Map<Integer, WmUserSign> userSignMap = new HashMap<>();
|
|
|
+ Map<Integer, WmUserSignDetail> userSignDetailMap = new HashMap<>();
|
|
|
+ Map<String, List<SysDictItem>> userSignPurposeMap = new HashMap<>();
|
|
|
+ if (hasSignTask) {
|
|
|
+ Set<String> userSignIdSet = taskContentList.stream()
|
|
|
+ .map(WmTaskContent::getTemp3)
|
|
|
+ .filter(StrUtil::isNotBlank)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ List<WmUserSign> userSignList = wmUserSignMapper.selectBatchIds(userSignIdSet);
|
|
|
+ userSignMap.putAll(userSignList.stream().collect(Collectors.toMap(WmUserSign::getId, Function.identity())));
|
|
|
+ List<WmUserSignDetail> signDetailList = wmUserSignDetailMapper.selectList(Wrappers.<WmUserSignDetail>lambdaQuery()
|
|
|
+ .in(WmUserSignDetail::getSignId, userSignIdSet));
|
|
|
+ if (CollUtil.isNotEmpty(signDetailList)) {
|
|
|
+ userSignDetailMap.putAll(signDetailList.stream().collect(Collectors.toMap(WmUserSignDetail::getSignId, Function.identity())));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 拜访目的字典值
|
|
|
+ List<SysDictItem> itemList = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
|
|
|
+ .in(SysDictItem::getType, "user_sign_detail_purpose", "user_sign_detail_distribution_purpose", "user_sign_detail_pharmacy_purpose")
|
|
|
+ .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
+ userSignPurposeMap.putAll(itemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询任务字段配置
|
|
|
+ Set<String> configedTaskTypeId = new HashSet<>();
|
|
|
+ taskTypeIdSet.forEach(s -> {
|
|
|
+ // 应收账款回款-A类/应收账款回款-B类/应收账款回款-C类 统一设置为 39(应收账款回款-A类)
|
|
|
+ if ("39".equals(s) || "40".equals(s) || "41".equals(s)) {
|
|
|
+ configedTaskTypeId.add("39");
|
|
|
+ }
|
|
|
+ else if ("42".equals(s) || "43".equals(s) || "44".equals(s)) {
|
|
|
+ // 手术跟台-一级/手术跟台-二级/手术跟台-三级 都取42
|
|
|
+ configedTaskTypeId.add("42");
|
|
|
+ }
|
|
|
+ else if ("47".equals(s) || "48".equals(s) || "49".equals(s) || "50".equals(s)) {
|
|
|
+ // 库存调研、竞品调研、培训、使用情况调查
|
|
|
+ configedTaskTypeId.add("47");
|
|
|
+ } else {
|
|
|
+ configedTaskTypeId.add(s);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ WmTaskContentConfig queryConn = new WmTaskContentConfig();
|
|
|
+ queryConn.setDelFlag("0");
|
|
|
+ queryConn.setEnableFlag("0");
|
|
|
+ List<WmTaskContentConfig> listConfig =
|
|
|
+ wmTaskContentConfigMapper.selectList(Wrappers.<WmTaskContentConfig>lambdaQuery()
|
|
|
+ .eq(WmTaskContentConfig::getDelFlag, DelEnum.NOT_DEL.val())
|
|
|
+ .eq(WmTaskContentConfig::getEnableFlag, EnableEnum.ENABLE.val())
|
|
|
+ .in(WmTaskContentConfig::getTaskTypeId, configedTaskTypeId));
|
|
|
+ Map<String, List<WmTaskContentConfig>> taskContentConfigMap = new HashMap<>();
|
|
|
+ Map<String, List<SysDictItem>> selectItemMap = new HashMap<>();
|
|
|
+ if (CollUtil.isNotEmpty(listConfig)) {
|
|
|
+ taskContentConfigMap.putAll(listConfig.stream().collect(Collectors.groupingBy(WmTaskContentConfig::getTaskTypeId)));
|
|
|
+ // 查询任务字段配置-字典值
|
|
|
+ Set<String> selectDictSet = listConfig.stream()
|
|
|
+ .filter(config -> StrUtil.equals(config.getTaskFiledType(), "select"))
|
|
|
+ .map(WmTaskContentConfig::getDictGroupName)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
+ if (CollUtil.isNotEmpty(selectDictSet)) {
|
|
|
+ List<SysDictItem> selectItemList = sysDictItemMapper.selectList(Wrappers.<SysDictItem>lambdaQuery()
|
|
|
+ .in(SysDictItem::getType, selectDictSet)
|
|
|
+ .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
+ selectItemMap.putAll(selectItemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // task用户名称
|
|
|
+ List<SysUser> userList = sysUserService.listByIds(taskList.stream().map(WmTask::getTaskUserId).collect(Collectors.toSet()));
|
|
|
+ Map<Integer, String> userMap = userList.stream().collect(Collectors.toMap(SysUser::getUserId, SysUser::getRealname));
|
|
|
+
|
|
|
+ taskList.forEach(wmTask -> {
|
|
|
+ WmScorePackage scorePackage = scorePackageMap.get(wmTask.getScorePackageId());
|
|
|
+
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ wmTask.setTaskTypeName(taskTypeNameMap.get(wmTask.getTaskTypeId()));
|
|
|
+ map.put("taskType", wmTask.getTaskTypeId());
|
|
|
+ map.put("score", wmTask.getScore());
|
|
|
+ map.put("taskUserName", userMap.get(Integer.parseInt(wmTask.getTaskUserId())));
|
|
|
+ map.put("taskInfo", wmTask);
|
|
|
+ map.put("id", wmTask.getId());
|
|
|
+
|
|
|
+ WmTaskContent wmTaskContent = taskContentMap.get(Integer.parseInt(wmTask.getTaskContentId()));
|
|
|
+ map.put("wmTaskContent", wmTaskContent);
|
|
|
+
|
|
|
+ if (null != wmTaskContent) {
|
|
|
+ if (null != scorePackage) {
|
|
|
+ wmTaskContent.setTemp32(scorePackage.getScorePackageName());
|
|
|
+ }
|
|
|
+ // 设置地图地址
|
|
|
+ if ("30".equals(wmTask.getTaskTypeId()) || "15".equals(wmTask.getTaskTypeId())) {
|
|
|
+ wmTaskContent.setTemp31(wmTaskContent.getTemp16());
|
|
|
+ }
|
|
|
+ if ("16".equals(wmTask.getTaskTypeId())) {
|
|
|
+ wmTaskContent.setTemp31(wmTaskContent.getTemp4());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 医院拜访、商业公司拜访、药店拜访打卡记录
|
|
|
+ List<WmUserSign> wmUserSignList = new ArrayList<>();
|
|
|
+ if (Arrays.asList("5", "6", "33").contains(wmTask.getTaskTypeId()) && NumberUtil.isNumber(wmTaskContent.getTemp3())) {
|
|
|
+ int userSignId = Integer.parseInt(wmTaskContent.getTemp3());
|
|
|
+ WmUserSign userSign = userSignMap.get(userSignId);
|
|
|
+ // 关联查询签到详情
|
|
|
+ WmUserSignDetail userSignDetail = userSignDetailMap.get(userSignId);
|
|
|
+ if (userSignDetail != null) {
|
|
|
+ if (ArrayUtil.isNotEmpty(userSignDetail.getPurpose())) {
|
|
|
+ // 拜访目的字典值匹配
|
|
|
+ Map<String, String> dictPurposeMap = userSignPurposeMap.get(UserSignPurposeEnum.getDictTypeBySignEntType(userSign.getSignEntType()))
|
|
|
+ .stream().collect(Collectors.toMap(SysDictItem::getValue, SysDictItem::getLabel));
|
|
|
+
|
|
|
+ String[] purposeNameArr = Stream.of(userSignDetail.getPurpose())
|
|
|
+ .map(s -> dictPurposeMap.getOrDefault(s, s))
|
|
|
+ .toArray(String[]::new);
|
|
|
+ userSignDetail.setPurposeName(purposeNameArr);
|
|
|
+ }
|
|
|
+ if (StrUtil.isNotBlank(userSignDetail.getResult())) {
|
|
|
+ userSignDetail.setResultName(UserSignResultEnum.resolve(userSignDetail.getResult()).getName());
|
|
|
+ }
|
|
|
+ userSign.setUserSignDetail(userSignDetail);
|
|
|
+ }
|
|
|
+ wmUserSignList.add(userSign);
|
|
|
+ }
|
|
|
+ map.put("wmUserSignList", wmUserSignList);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 转发分享类任务
|
|
|
+ if ("8".equals(wmTask.getTaskTypeId()) || "11".equals(wmTask.getTaskTypeId())
|
|
|
+ || "9".equals(wmTask.getTaskTypeId()) || "10".equals(wmTask.getTaskTypeId())) {
|
|
|
+ map.put("title", "");
|
|
|
+ map.put("score", wmTask.getScore());
|
|
|
+ WmWkArticleShare wmWkArticleShare = wmWkArticleShareMapper.selectById(wmTask.getTaskContentId());
|
|
|
+ if (null != wmWkArticleShare) {
|
|
|
+ if ("8".equals(wmTask.getTaskTypeId()) || "11".equals(wmTask.getTaskTypeId())) {
|
|
|
+ WmWkAlbum wmWkAlbum = wmWkAlbumMapper.selectById(wmWkArticleShare.getArctileId());
|
|
|
+ if (wmWkAlbum != null) {
|
|
|
+ map.put("title", wmWkAlbum.getXcmc());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ WmWkArticle wmWkArticle = wmWkArticleMapper.selectById(wmWkArticleShare.getArctileId());
|
|
|
+ if (wmWkArticle != null) {
|
|
|
+ map.put("title", wmWkArticle.getTitle());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ map.put("shareId", wmWkArticleShare.getArctileId());
|
|
|
+ map.put("remark", wmWkArticleShare.getTemp1());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 任务类型字段配置
|
|
|
+ String configTaskTypeId = wmTask.getTaskTypeId();
|
|
|
+ // 应收账款回款-A类/应收账款回款-B类/应收账款回款-C类 统一设置为 39(应收账款回款-A类)
|
|
|
+ if ("39".equals(configTaskTypeId) || "40".equals(configTaskTypeId) || "41".equals(configTaskTypeId)) {
|
|
|
+ configTaskTypeId = "39";
|
|
|
+ }
|
|
|
+ else if ("42".equals(configTaskTypeId) || "43".equals(configTaskTypeId) || "44".equals(configTaskTypeId)) {
|
|
|
+ // 手术跟台-一级/手术跟台-二级/手术跟台-三级 都取42
|
|
|
+ configTaskTypeId = "42";
|
|
|
+ }
|
|
|
+ else if ("47".equals(configTaskTypeId) || "48".equals(configTaskTypeId) || "49".equals(configTaskTypeId) || "50".equals(configTaskTypeId)) {
|
|
|
+ // 库存调研、竞品调研、培训、使用情况调查
|
|
|
+ configTaskTypeId = "47";
|
|
|
+ }
|
|
|
+ List<WmTaskContentConfig> taskContentConfigs = taskContentConfigMap.get(configTaskTypeId);
|
|
|
+ if (CollUtil.isNotEmpty(taskContentConfigs)) {
|
|
|
+ taskContentConfigs.sort(Comparator.comparing(config -> Optional.ofNullable(config.getSeq()).orElse(0)));
|
|
|
+ // 任务类型字段配置-对应字典值
|
|
|
+ // select
|
|
|
+ Map<String, Object> dictMap = new HashMap<>();
|
|
|
+ taskContentConfigs.forEach(config -> {
|
|
|
+ Map<String, Object> itemMap = new HashMap<>();
|
|
|
+ if (StrUtil.equals(config.getTaskFiledType(), "select")) {
|
|
|
+ List<Map<String, Object>> itemMap1List = selectItemMap.get(config.getDictGroupName()).stream().map(sysDictItem -> {
|
|
|
+ Map<String, Object> itemMap1 = new HashMap<>();
|
|
|
+ itemMap1.put("label", sysDictItem.getLabel());
|
|
|
+ itemMap1.put("value", sysDictItem.getValue());
|
|
|
+ return itemMap1;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ dictMap.put(config.getDictGroupName(), itemMap1List);
|
|
|
+ } else if (StrUtil.equals(config.getTaskFiledType(), "domain")) {
|
|
|
+ if (StrUtil.equals(config.getDictGroupName(), "package_list")) {
|
|
|
+ itemMap.put("label", scorePackage.getScorePackageName());
|
|
|
+ itemMap.put("value", scorePackage.getId());
|
|
|
+ dictMap.put("package_list", Collections.singletonList(itemMap));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ map.put("dict", dictMap);
|
|
|
+ }
|
|
|
+
|
|
|
+ map.put("config", taskContentConfigs);
|
|
|
+ resultList.add(map);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return resultList;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|