|
@@ -8,6 +8,7 @@ import com.qunzhixinxi.hnqz.admin.api.constant.UpmsState;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.EnableEnum;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.ExportType;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.constant.enums.PackageStatusEnum;
|
|
|
+import com.qunzhixinxi.hnqz.admin.api.entity.SysCheckChainNodeCheckHistory;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysDept;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.SysUser;
|
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEntDrugtable;
|
|
@@ -22,6 +23,7 @@ import com.qunzhixinxi.hnqz.admin.config.UpmsConfig;
|
|
|
import com.qunzhixinxi.hnqz.admin.event.TaskDetailExportEvent;
|
|
|
import com.qunzhixinxi.hnqz.admin.manager.WmPackageExportScope;
|
|
|
import com.qunzhixinxi.hnqz.admin.manager.WmPackageManager;
|
|
|
+import com.qunzhixinxi.hnqz.admin.mapper.SysCheckChainNodeCheckHistoryMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.SysUserMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmScorePackageStatusMapper;
|
|
@@ -62,6 +64,7 @@ import java.util.stream.Collectors;
|
|
|
public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService {
|
|
|
private final WmScorePackageMapper scorePackageMapper;
|
|
|
private final WmTaskMapper taskMapper;
|
|
|
+ private final SysCheckChainNodeCheckHistoryMapper checkChainNodeCheckHistoryMapper;
|
|
|
private final WmTaskTypeMapper taskTypeMapper;
|
|
|
private final SysUserMapper userMapper;
|
|
|
private final WmScorePackageStatusMapper scorePackageStatusMapper;
|
|
@@ -200,10 +203,20 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
Map<String, List<WmTask>> pkg2TaskListMap = tasks.stream()
|
|
|
.collect(Collectors.groupingBy(WmTask::getScorePackageId));
|
|
|
|
|
|
+ Set<String> taskIds = tasks.stream().map(WmTask::getId).collect(Collectors.toSet());
|
|
|
+ // 查询审核记录
|
|
|
+ List<SysCheckChainNodeCheckHistory> nodeCheckHistories = checkChainNodeCheckHistoryMapper.selectList(
|
|
|
+ Wrappers.<SysCheckChainNodeCheckHistory>lambdaQuery()
|
|
|
+ .in(SysCheckChainNodeCheckHistory::getTargetId, taskIds)
|
|
|
+ .eq(SysCheckChainNodeCheckHistory::getNodeId, 6));
|
|
|
+ Map<Integer, SysCheckChainNodeCheckHistory> nodeCheckHistoryMap =
|
|
|
+ nodeCheckHistories.stream().collect(Collectors.toMap(SysCheckChainNodeCheckHistory::getTargetId,
|
|
|
+ Function.identity(), (n1, n2) -> n1));
|
|
|
+
|
|
|
AtomicInteger index = new AtomicInteger(1);
|
|
|
return childrenPkgs.parallelStream()
|
|
|
.map(pkg -> buildTaskExcelModel(pkg, service, parentPackageMap, drugtableMap,
|
|
|
- packageUserMap, pkg2TaskListMap, taskTypeNameMap))
|
|
|
+ packageUserMap, pkg2TaskListMap, taskTypeNameMap, nodeCheckHistoryMap))
|
|
|
.flatMap(Collection::stream).peek(model -> model.setNumber(index.getAndIncrement()))
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
@@ -211,13 +224,14 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
/**
|
|
|
* 构建每个执行包下任务的Excel模型数据
|
|
|
*
|
|
|
- * @param pkg 积分包
|
|
|
- * @param service 服务商
|
|
|
- * @param parentPackageMap 父包映射
|
|
|
- * @param drugtableMap 药品map
|
|
|
- * @param packageUserMap 积分包接单用户
|
|
|
- * @param pkg2TaskListMap 积分包下的任务列表map
|
|
|
- * @param taskTypeNameMap 任务类型名称映射
|
|
|
+ * @param pkg 积分包
|
|
|
+ * @param service 服务商
|
|
|
+ * @param parentPackageMap 父包映射
|
|
|
+ * @param drugtableMap 药品map
|
|
|
+ * @param packageUserMap 积分包接单用户
|
|
|
+ * @param pkg2TaskListMap 积分包下的任务列表map
|
|
|
+ * @param taskTypeNameMap 任务类型名称映射
|
|
|
+ * @param nodeCheckHistoryMap 节点审核记录
|
|
|
* @return {@link List }<{@link WmTaskDetailExcelModel }> 任务明细数据list
|
|
|
*/
|
|
|
private List<WmTaskDetailExcelModel> buildTaskExcelModel(
|
|
@@ -227,7 +241,8 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
Map<String, WmDaDrugEntDrugtable> drugtableMap,
|
|
|
Map<String, SysUser> packageUserMap,
|
|
|
Map<String, List<WmTask>> pkg2TaskListMap,
|
|
|
- Map<String, String> taskTypeNameMap) {
|
|
|
+ Map<String, String> taskTypeNameMap, Map<Integer,
|
|
|
+ SysCheckChainNodeCheckHistory> nodeCheckHistoryMap) {
|
|
|
|
|
|
List<WmTaskDetailExcelModel> models = new ArrayList<>();
|
|
|
|
|
@@ -270,9 +285,16 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
// 任务ID、任务类型
|
|
|
model.setTaskId(task.getId());
|
|
|
model.setTaskName(taskTypeNameMap.getOrDefault(task.getTaskTypeId(), ""));
|
|
|
- model.setTaskStatus(UpmsState.TaskState.getByStateName(task.getTaskStatus()));
|
|
|
- model.setTaskCreateTime(DateUtil.formatLocalDateTime(task.getCreateTime()));
|
|
|
- model.setRejectReason(task.getTaskStatusInfo());
|
|
|
+
|
|
|
+ // 事业部总经理审核状态
|
|
|
+ SysCheckChainNodeCheckHistory chainNodeCheckHistory = nodeCheckHistoryMap.get(Integer.parseInt(task.getId()));
|
|
|
+ if (chainNodeCheckHistory == null) {
|
|
|
+ model.setTaskStatus("审核中");
|
|
|
+ } else {
|
|
|
+ model.setTaskStatus(Boolean.TRUE.equals(chainNodeCheckHistory.getCheckResult()) ? "审核通过" : "已拒绝");
|
|
|
+ model.setTaskCreateTime(DateUtil.formatLocalDateTime(chainNodeCheckHistory.getCreateTime()));
|
|
|
+ model.setRejectReason(chainNodeCheckHistory.getCheckMsg());
|
|
|
+ }
|
|
|
models.add(model);
|
|
|
}
|
|
|
|