|
@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
-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;
|
|
@@ -24,7 +23,6 @@ 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;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
|
|
|
import com.qunzhixinxi.hnqz.admin.mapper.WmTaskTypeMapper;
|
|
@@ -61,7 +59,6 @@ import java.util.stream.Collectors;
|
|
|
@Service
|
|
|
@RequiredArgsConstructor
|
|
|
public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService {
|
|
|
- private final WmScorePackageMapper scorePackageMapper;
|
|
|
private final WmTaskMapper taskMapper;
|
|
|
private final SysCheckChainNodeCheckHistoryMapper checkChainNodeCheckHistoryMapper;
|
|
|
private final WmTaskTypeMapper taskTypeMapper;
|
|
@@ -140,27 +137,23 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
Map<String, WmDaDrugEntDrugtable> drugtableMap = scope.getDrugtableMap();
|
|
|
List<String> cPkgIds = scope.getCPkgIds();
|
|
|
List<WmScorePackage> childrenPkgs = scope.getChildrenPkgs();
|
|
|
+ List<WmScorePackage> pkgs = scope.getPkgs();
|
|
|
|
|
|
- // 获取区域的上级包
|
|
|
- List<String> parentIds = childrenPkgs.stream()
|
|
|
- .map(WmScorePackage::getRelationScoreId)
|
|
|
- .distinct()
|
|
|
- .sorted()
|
|
|
- .collect(Collectors.toList());
|
|
|
-
|
|
|
- Map<String, WmScorePackage> parentPackageMap = scorePackageMapper
|
|
|
- .selectList(
|
|
|
- Wrappers.<WmScorePackage>lambdaQuery()
|
|
|
- .eq(WmScorePackage::getEnableFlag, EnableEnum.ENABLE.val())
|
|
|
- .in(WmScorePackage::getId, parentIds))
|
|
|
- .stream()
|
|
|
+ // 区域包
|
|
|
+ Map<String, WmScorePackage> parentPackageMap = pkgs.stream()
|
|
|
.collect(Collectors.toMap(WmScorePackage::getId, Function.identity()));
|
|
|
|
|
|
// 获取全部的任务
|
|
|
- List<WmTask> tasks = taskMapper.selectList(
|
|
|
- Wrappers.<WmTask>lambdaQuery()
|
|
|
- .in(WmTask::getScorePackageId, cPkgIds)
|
|
|
- .between(WmTask::getCreateTime, startDate, endDate));
|
|
|
+ List<WmTask> tasks = new ArrayList<>();
|
|
|
+ // 分批次查询
|
|
|
+ List<List<String>> batchCPkgIds = CollUtil.split(cPkgIds, 1000);
|
|
|
+ for (List<String> cPkgIdList : batchCPkgIds) {
|
|
|
+ List<WmTask> subTasks = taskMapper.selectList(
|
|
|
+ Wrappers.<WmTask>lambdaQuery()
|
|
|
+ .in(WmTask::getScorePackageId, cPkgIdList)
|
|
|
+ .between(WmTask::getCreateTime, startDate, endDate));
|
|
|
+ tasks.addAll(subTasks);
|
|
|
+ }
|
|
|
if (CollUtil.isEmpty(tasks)) {
|
|
|
throw new BizException("数据导出失败,您选择时间范围暂无数据,请修改后重试");
|
|
|
}
|
|
@@ -207,11 +200,19 @@ public class WmTaskDetailExportServiceImpl implements WmTaskDetailExportService
|
|
|
.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)
|
|
|
- .orderByAsc(SysCheckChainNodeCheckHistory::getHistoryId));
|
|
|
+ List<SysCheckChainNodeCheckHistory> nodeCheckHistories = new ArrayList<>();
|
|
|
+ // 分批次查询
|
|
|
+ List<List<String>> batchTaskIds = CollUtil.split(taskIds, 1000);
|
|
|
+ for (List<String> taskIdList : batchTaskIds) {
|
|
|
+ List<SysCheckChainNodeCheckHistory> subNodeCheckHistories = checkChainNodeCheckHistoryMapper.selectList(
|
|
|
+ Wrappers.<SysCheckChainNodeCheckHistory>lambdaQuery()
|
|
|
+ .in(SysCheckChainNodeCheckHistory::getTargetId, taskIdList)
|
|
|
+ .orderByAsc(SysCheckChainNodeCheckHistory::getHistoryId));
|
|
|
+ nodeCheckHistories.addAll(subNodeCheckHistories);
|
|
|
+ }
|
|
|
Map<Integer, List<SysCheckChainNodeCheckHistory>> nodeCheckHistoryMap =
|
|
|
nodeCheckHistories.stream().collect(Collectors.groupingBy(SysCheckChainNodeCheckHistory::getTargetId));
|
|
|
|