浏览代码

fix: 导出个人明细-任务状态取事业部总经理审核状态

lixuesong 1 天之前
父节点
当前提交
4e6d6bedb5

+ 34 - 12
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmTaskDetailExportServiceImpl.java

@@ -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);
 		}