|
@@ -40,6 +40,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.SysDictItem;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysFile;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysFile;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReportOpt;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.vo.UserVO;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.AuditEntity;
|
|
import com.qunzhixinxi.hnqz.admin.entity.AuditEntity;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
|
|
@@ -49,6 +50,8 @@ import com.qunzhixinxi.hnqz.admin.entity.WmDaHospital;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmReport;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageStatus;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.entity.WmScoreTaskType;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTask;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskContent;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskContentConfig;
|
|
import com.qunzhixinxi.hnqz.admin.entity.WmTaskContentConfig;
|
|
@@ -65,6 +68,7 @@ import com.qunzhixinxi.hnqz.admin.entity.dto.CommonEvidenceDTO;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.excel.CommonTaskExcelModel;
|
|
import com.qunzhixinxi.hnqz.admin.entity.model.excel.CommonTaskExcelModel;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.DelEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.EnableEnum;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.enums.PackageTypeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.SettleStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.UserSignPurposeEnum;
|
|
import com.qunzhixinxi.hnqz.admin.enums.UserSignPurposeEnum;
|
|
@@ -80,6 +84,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageSettleNoteService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmScorePackageSettleNoteService;
|
|
|
|
+import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskContentConfigService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskContentConfigService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskRuleService;
|
|
import com.qunzhixinxi.hnqz.admin.service.WmTaskRuleService;
|
|
@@ -141,9 +146,13 @@ import java.time.LocalTime;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.time.format.DateTimeFormatter;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.Comparator;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
|
+import java.util.HashSet;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.Optional;
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
@@ -202,6 +211,8 @@ public class WmTaskController {
|
|
|
|
|
|
private final WmTaskContentConfigService wmTaskContentConfigService;
|
|
private final WmTaskContentConfigService wmTaskContentConfigService;
|
|
|
|
|
|
|
|
+ private final WmScorePackageStatusService wmScorePackageStatusService;
|
|
|
|
+
|
|
private final SysDictItemService sysDictItemService;
|
|
private final SysDictItemService sysDictItemService;
|
|
|
|
|
|
private final SysFileService sysFileService;
|
|
private final SysFileService sysFileService;
|
|
@@ -1267,9 +1278,7 @@ public class WmTaskController {
|
|
List<WmTaskContent> taskContentList = wmTaskContentService.listByIds(taskConentIdSet);
|
|
List<WmTaskContent> taskContentList = wmTaskContentService.listByIds(taskConentIdSet);
|
|
Map<Integer, WmTaskContent> taskContentMap = taskContentList.stream().collect(Collectors.toMap(WmTaskContent::getId, Function.identity()));
|
|
Map<Integer, WmTaskContent> taskContentMap = taskContentList.stream().collect(Collectors.toMap(WmTaskContent::getId, Function.identity()));
|
|
// 查询scorePackage
|
|
// 查询scorePackage
|
|
- Set<String> scorePackageIdSet = taskList.stream().map(WmTask::getScorePackageId).collect(Collectors.toSet());
|
|
|
|
- List<WmScorePackage> scorePackageList = wmScorePackageService.listByIds(scorePackageIdSet);
|
|
|
|
- Map<String, WmScorePackage> scorePackageMap = scorePackageList.stream().collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
|
|
|
|
|
|
+ WmScorePackage scorePackage = wmScorePackageService.getById(packageId);
|
|
// 查询打卡记录userSign
|
|
// 查询打卡记录userSign
|
|
boolean hasSignTask = taskList.stream().anyMatch(wmTask -> "5".equals(wmTask.getTaskTypeId())
|
|
boolean hasSignTask = taskList.stream().anyMatch(wmTask -> "5".equals(wmTask.getTaskTypeId())
|
|
|| "6".equals(wmTask.getTaskTypeId()) || "33".equals(wmTask.getTaskTypeId()));
|
|
|| "6".equals(wmTask.getTaskTypeId()) || "33".equals(wmTask.getTaskTypeId()));
|
|
@@ -1296,6 +1305,50 @@ public class WmTaskController {
|
|
userSignPurposeMap.putAll(itemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
|
|
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 =
|
|
|
|
+ wmTaskContentConfigService.list(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 = sysDictItemService.list(Wrappers.<SysDictItem>lambdaQuery()
|
|
|
|
+ .in(SysDictItem::getType, selectDictSet)
|
|
|
|
+ .eq(SysDictItem::getDelFlag, DelEnum.NOT_DEL.val()));
|
|
|
|
+ selectItemMap.putAll(selectItemList.stream().collect(Collectors.groupingBy(SysDictItem::getType)));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
taskList.forEach(wmTask -> {
|
|
taskList.forEach(wmTask -> {
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
wmTask.setTaskTypeName(taskTypeNameMap.get(wmTask.getTaskTypeId()));
|
|
wmTask.setTaskTypeName(taskTypeNameMap.get(wmTask.getTaskTypeId()));
|
|
@@ -1306,9 +1359,8 @@ public class WmTaskController {
|
|
map.put("wmTaskContent", wmTaskContent);
|
|
map.put("wmTaskContent", wmTaskContent);
|
|
|
|
|
|
if (null != wmTaskContent) {
|
|
if (null != wmTaskContent) {
|
|
- WmScorePackage wmScorePackage = scorePackageMap.get(wmTask.getScorePackageId());
|
|
|
|
- if (null != wmScorePackage) {
|
|
|
|
- wmTaskContent.setTemp32(wmScorePackage.getScorePackageName());
|
|
|
|
|
|
+ if (null != scorePackage) {
|
|
|
|
+ wmTaskContent.setTemp32(scorePackage.getScorePackageName());
|
|
}
|
|
}
|
|
// 设置地图地址
|
|
// 设置地图地址
|
|
if ("30".equals(wmTask.getTaskTypeId()) || "15".equals(wmTask.getTaskTypeId())) {
|
|
if ("30".equals(wmTask.getTaskTypeId()) || "15".equals(wmTask.getTaskTypeId())) {
|
|
@@ -1346,6 +1398,7 @@ public class WmTaskController {
|
|
map.put("wmUserSignList", wmUserSignList);
|
|
map.put("wmUserSignList", wmUserSignList);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 转发分享类任务
|
|
if ("8".equals(wmTask.getTaskTypeId()) || "11".equals(wmTask.getTaskTypeId())
|
|
if ("8".equals(wmTask.getTaskTypeId()) || "11".equals(wmTask.getTaskTypeId())
|
|
|| "9".equals(wmTask.getTaskTypeId()) || "10".equals(wmTask.getTaskTypeId())) {
|
|
|| "9".equals(wmTask.getTaskTypeId()) || "10".equals(wmTask.getTaskTypeId())) {
|
|
map.put("title", "");
|
|
map.put("title", "");
|
|
@@ -1364,6 +1417,49 @@ public class WmTaskController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // 任务类型字段配置
|
|
|
|
+ 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);
|
|
resultList.add(map);
|
|
});
|
|
});
|
|
}
|
|
}
|