|
@@ -3,6 +3,7 @@ package com.qunzhixinxi.hnqz.admin.manager;
|
|
|
import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DatePattern;
|
|
|
+import cn.hutool.core.lang.Pair;
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import cn.hutool.core.util.ArrayUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
@@ -67,6 +68,7 @@ import java.io.File;
|
|
|
import java.nio.file.Files;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.time.LocalTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
@@ -1269,11 +1271,12 @@ public class WmSupervisionManager {
|
|
|
|
|
|
int taskBatch = 10000;
|
|
|
int lastIdx = pkgIds.size() > taskBatch ? taskBatch : pkgIds.size();
|
|
|
- List<WmTaskSupervision> allSupervisions = taskSupervisionService.getSupervisionByPkgIds(pkgIds.subList(0, lastIdx));
|
|
|
+ Pair<LocalDateTime, LocalDateTime> taskTimeRange = getTimeRange(query.getTaskPeriod());
|
|
|
+ List<WmTaskSupervision> allSupervisions = taskSupervisionService.getSupervisionByPkgIds(pkgIds.subList(0, lastIdx), taskTimeRange.getKey(), taskTimeRange.getValue());
|
|
|
if (pkgIds.size() > taskBatch) {
|
|
|
while(lastIdx < pkgIds.size()) {
|
|
|
allSupervisions.addAll(taskSupervisionService.getSupervisionByPkgIds(
|
|
|
- pkgIds.subList(lastIdx, Math.min(lastIdx + taskBatch, pkgIds.size()))));
|
|
|
+ pkgIds.subList(lastIdx, Math.min(lastIdx + taskBatch, pkgIds.size())), taskTimeRange.getKey(), taskTimeRange.getValue()));
|
|
|
lastIdx += taskBatch;
|
|
|
}
|
|
|
}
|
|
@@ -1618,11 +1621,12 @@ public class WmSupervisionManager {
|
|
|
.sorted()
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
+ Pair<LocalDateTime, LocalDateTime> taskTimeRange = getTimeRange(query.getTaskPeriod());
|
|
|
// 获取子集包中的所有任务
|
|
|
List<WmTask> tasks =
|
|
|
taskService.listAvailableTaskForSupervision1(
|
|
|
pkgIds,
|
|
|
- Collections.emptyList());
|
|
|
+ Collections.emptyList(), taskTimeRange.getKey(), taskTimeRange.getValue());
|
|
|
|
|
|
if (CollUtil.isEmpty(tasks)) {
|
|
|
return page;
|
|
@@ -1630,7 +1634,7 @@ public class WmSupervisionManager {
|
|
|
|
|
|
// 积分包内已经监督的任务
|
|
|
List<WmTaskSupervision> list1 =
|
|
|
- taskSupervisionService.getSupervisionByPkgIds(pkgIds.stream().map(i -> i.toString()).collect(Collectors.toList()));
|
|
|
+ taskSupervisionService.getSupervisionByPkgIds(pkgIds.stream().map(i -> i.toString()).collect(Collectors.toList()), taskTimeRange.getKey(), taskTimeRange.getValue());
|
|
|
list1 = list1.stream().filter(ts -> ts.getSupervisionId() != null).collect(Collectors.toList());
|
|
|
list1.sort((a, b) -> b.getCreateTime().compareTo(a.getCreateTime()));
|
|
|
|
|
@@ -1687,7 +1691,9 @@ public class WmSupervisionManager {
|
|
|
query.getTaskNumber(),
|
|
|
pkgIds,
|
|
|
null,
|
|
|
- roles);
|
|
|
+ roles,
|
|
|
+ taskTimeRange.getKey(),
|
|
|
+ taskTimeRange.getValue());
|
|
|
}
|
|
|
}
|
|
|
// 服务商
|
|
@@ -1731,7 +1737,9 @@ public class WmSupervisionManager {
|
|
|
.list(
|
|
|
Wrappers.<WmTaskSupervisionAdvice>lambdaQuery()
|
|
|
.eq(WmTaskSupervisionAdvice::getDelFlag, false)
|
|
|
- .eq(WmTaskSupervisionAdvice::getCreateBy, user.getUsername()))
|
|
|
+ .eq(WmTaskSupervisionAdvice::getCreateBy, user.getUsername())
|
|
|
+ .ge(taskTimeRange.getKey() != null, WmTaskSupervisionAdvice::getCreateTime, taskTimeRange.getKey())
|
|
|
+ )
|
|
|
.stream()
|
|
|
.mapToLong(WmTaskSupervisionAdvice::getTaskSupervisionId)
|
|
|
.boxed()
|
|
@@ -1912,6 +1920,16 @@ public class WmSupervisionManager {
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
+private Pair<LocalDateTime, LocalDateTime> getTimeRange(LocalDate[] period) {
|
|
|
+ LocalDateTime beginTime = null;
|
|
|
+ LocalDateTime endTime = null;
|
|
|
+ if (ArrayUtil.isNotEmpty(period)) {
|
|
|
+ beginTime = period.length > 0 ? LocalDateTime.of(period[0], LocalTime.MIN) : null;
|
|
|
+ endTime = period.length > 1 ? LocalDateTime.of(period[1], LocalTime.MAX) : null;
|
|
|
+ }
|
|
|
+ return Pair.of(beginTime, endTime);
|
|
|
+}
|
|
|
+
|
|
|
private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage query, List<Integer> userIds1,
|
|
|
List<String> taskIds) {
|
|
|
Page<WmTask> taskPage = null;
|
|
@@ -2068,7 +2086,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
|
|
|
* @return 本地路径
|
|
|
*/
|
|
|
public Map<String, String> exportSupervisionReportPDF(
|
|
|
- Integer entId, LocalDate[] period, HnqzUser user) throws Exception {
|
|
|
+ Integer entId, LocalDate[] period, HnqzUser user, LocalDate[] taskPeriod) throws Exception {
|
|
|
|
|
|
Map<String, String> envPaths = OsEnvUtils.getEachEnvPaths();
|
|
|
// 生成本地路径
|
|
@@ -2081,7 +2099,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
|
|
|
+ ".pdf";
|
|
|
|
|
|
// 封装报告数据
|
|
|
- Object[][] datas = buildSupervisionReportDatas(entId, period, user);
|
|
|
+ Object[][] datas = buildSupervisionReportDatas(entId, period, user, taskPeriod);
|
|
|
|
|
|
PdfUtils.generateSupervisionReport(
|
|
|
targetPath,
|
|
@@ -2099,7 +2117,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
|
|
|
return uploaded;
|
|
|
}
|
|
|
|
|
|
- private Object[][] buildSupervisionReportDatas(Integer entId, LocalDate[] period, HnqzUser user) {
|
|
|
+ private Object[][] buildSupervisionReportDatas(Integer entId, LocalDate[] period, HnqzUser user, LocalDate[] taskPeriod) {
|
|
|
|
|
|
// 获取企业
|
|
|
SysDept service = deptService.getById(entId);
|
|
@@ -2151,6 +2169,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
|
|
|
// Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, pkgMap.keySet()));
|
|
|
|
|
|
// 获取子集包中的所有任务
|
|
|
+ Pair<LocalDateTime, LocalDateTime> taskTimeRange = getTimeRange(taskPeriod);
|
|
|
List<WmTask> tasks =
|
|
|
taskService.listAvailableTaskForSupervision1(
|
|
|
pkgMap.keySet().stream()
|
|
@@ -2159,7 +2178,7 @@ private Page<WmTask> getReviewTaskPage(WmSupervisionDto.OnTaskSupervisionPage qu
|
|
|
.distinct()
|
|
|
.sorted()
|
|
|
.collect(Collectors.toList()),
|
|
|
- Collections.emptyList());
|
|
|
+ Collections.emptyList(), taskTimeRange.getKey(), taskTimeRange.getValue());
|
|
|
|
|
|
Map<String, WmTask> tid2EntityMap =
|
|
|
tasks.stream().collect(Collectors.toMap(WmTask::getId, Function.identity()));
|