|
|
@@ -24,8 +24,8 @@ import cn.start.tz.module.member.api.user.dto.MemberUserReqVo;
|
|
|
import cn.start.tz.module.member.api.user.dto.MemberUserRespDTO;
|
|
|
import cn.start.tz.module.member.api.user.dto.SendAppMpMessageReqDTO;
|
|
|
import cn.start.tz.module.member.api.user.dto.WxMpTemplateDataReqDto;
|
|
|
-import cn.start.tz.module.pressure.enums.TaskOrderItemReportTypeEnum;
|
|
|
-import cn.start.tz.module.pressure.enums.TaskOrderStatusEnum;
|
|
|
+import cn.start.tz.module.pressure2.enums.TaskOrderItemReportTypeEnum;
|
|
|
+import cn.start.tz.module.pressure2.enums.TaskOrderStatusEnum;
|
|
|
import cn.start.tz.module.pressure2.constant.TemplateIdConstants;
|
|
|
import cn.start.tz.module.pressure2.controller.admin.boilertaskorder.vo.*;
|
|
|
import cn.start.tz.module.pressure2.controller.admin.boilertaskorderfollowrecord.vo.BoilerTaskOrderFollowRecordRespVO;
|
|
|
@@ -84,6 +84,9 @@ import cn.start.tz.module.pressure2.dal.mysql.usesignreport.UseSignReportMapper;
|
|
|
import cn.start.tz.module.pressure2.enums.EnvConstants;
|
|
|
import cn.start.tz.module.pressure2.framework.thread.CommonThread;
|
|
|
import cn.start.tz.module.pressure2.service.boilertaskorder.BoilerTaskOrderService;
|
|
|
+import cn.start.tz.module.pressure2.service.boilertaskorderissuereportversion.BoilerTaskOrderIssueReportVersionService;
|
|
|
+import cn.start.tz.module.pressure2.dal.mysql.boilertaskorderissuereportversion.BoilerTaskOrderIssueReportVersionMapper;
|
|
|
+import cn.start.tz.module.pressure2.dal.dataobject.boilertaskorderissuereportversion.BoilerTaskOrderIssueReportVersionDO;
|
|
|
import cn.start.tz.module.pressure2.service.boilertaskorderitemreportrecord.BoilerTaskOrderItemReportRecordService;
|
|
|
import cn.start.tz.module.pressure2.service.boilertaskorderitemreportversion.BoilerTaskOrderItemReportVersionService;
|
|
|
import cn.start.tz.module.pressure2.service.boilertaskordersignfile.BoilerTaskOrderSignFileService;
|
|
|
@@ -139,6 +142,7 @@ import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -226,6 +230,9 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
@Resource
|
|
|
private UseSignReportMapper useSignReportMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderIssueReportVersionMapper boilerTaskOrderIssueReportVersionMapper;
|
|
|
+
|
|
|
@Resource
|
|
|
private BoilerConnectTbServiceMapper boilerConnectTbServiceMapper;
|
|
|
|
|
|
@@ -310,6 +317,9 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
@Resource
|
|
|
private PushTaskOrderService pushTaskOrderService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private BoilerTaskOrderIssueReportVersionService taskOrderIssueReportVersionService;
|
|
|
+
|
|
|
@Override
|
|
|
public String createBoilerTaskOrderIssueReport(BoilerTaskOrderIssueReportSaveReqVO createReqVO) {
|
|
|
// 插入
|
|
|
@@ -1896,6 +1906,12 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if (taskOrderItemDO.getTaskStatus() != null && taskOrderItemDO.getTaskStatus().equals(TaskOrderStatusEnum.REPORT_FINISH.getStatus())){
|
|
|
+ //办结后生成pdf时需要生成报告版本信息
|
|
|
+ taskOrderIssueReportVersionService.generateIssueReportVersion(taskOrderItemDO.getId(), fileUrl, 200);
|
|
|
+ }
|
|
|
+
|
|
|
updateOb.setId(taskOrderItemDO.getId());
|
|
|
updateOb.setIssueUrl(fileUrl);
|
|
|
taskOrderItemMapper.updateById(updateOb);
|
|
|
@@ -1968,6 +1984,48 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void generateAllRecordIssueUrl(String orderItemId) {
|
|
|
+
|
|
|
+ BoilerTaskOrderItemDO taskOrderItemDO = taskOrderItemMapper.selectById(orderItemId);
|
|
|
+ if (taskOrderItemDO != null){
|
|
|
+
|
|
|
+ List<BoilerTaskOrderItemReportDO> taskOrderItemReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>()
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId)
|
|
|
+ .in(BoilerTaskOrderItemReportDO::getReportType, TaskOrderItemReportTypeEnum.MAIN_REPORT.getType(),
|
|
|
+ TaskOrderItemReportTypeEnum.SUB_REPORT.getType(),TaskOrderItemReportTypeEnum.SOLO_TRIP_REPORT.getType()));
|
|
|
+
|
|
|
+ // 判断是否有taskStatus小于报告编制的状态
|
|
|
+ boolean hasStatusLessThanReportPrepare = taskOrderItemReportDOS.stream()
|
|
|
+ .anyMatch(report -> report.getTaskStatus() < TaskOrderStatusEnum.REPORT_PREPARE.getStatus());
|
|
|
+ if (hasStatusLessThanReportPrepare){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ CompletableFuture.runAsync(() -> {
|
|
|
+ try {
|
|
|
+ log.info("记录校核全通过生成总记录PDF");
|
|
|
+
|
|
|
+ BoilerTaskOrderItemDO updateOb = new BoilerTaskOrderItemDO();
|
|
|
+ updateOb.setId(orderItemId);
|
|
|
+
|
|
|
+ byte[] pdfRecord = taskOrderService.getRecordOutputStreamMerge(orderItemId);
|
|
|
+ String fileUrl = fileApi.createFile(pdfRecord);
|
|
|
+ updateOb.setEnterPdfUrl(fileUrl);
|
|
|
+ taskOrderItemMapper.updateById(updateOb);
|
|
|
+
|
|
|
+ //增加总记录PDF版本
|
|
|
+ taskOrderIssueReportVersionService.generateIssueReportVersion(orderItemId, fileUrl, 100);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("记录校核全通过生成总记录PDF错误,{}", e.getMessage());
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public PageResult<BoilerOrderItemPageRespVO> orderItemReportConclusionPage(BoilerTaskOrderPageReqVO pageReqVO) {
|
|
|
pageReqVO.setInReportTypes(Lists.newArrayList(TaskOrderItemReportTypeEnum.MAIN_REPORT.getType(),
|
|
|
@@ -2125,6 +2183,7 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
LambdaQueryWrapper<BoilerTaskOrderItemReportDO> queryWrapper = new LambdaQueryWrapperX<>();
|
|
|
queryWrapper.eq(BoilerTaskOrderItemReportDO::getOrderItemId, orderItemId);
|
|
|
queryWrapper.eq(BoilerTaskOrderItemReportDO::getTaskStatus, 800);
|
|
|
+ queryWrapper.orderByAsc(BoilerTaskOrderItemReportDO::getSort);
|
|
|
List<BoilerTaskOrderItemReportDO> taskOrderItemReportDOS = taskOrderItemReportMapper.selectList(queryWrapper);
|
|
|
if (CollUtil.isNotEmpty(taskOrderItemReportDOS)) {
|
|
|
//任务单相关文件
|
|
|
@@ -2496,6 +2555,27 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
taskOrderArchiveDetail.setImages(allImages);
|
|
|
taskOrderArchiveDetail.setVideos(allVideos);
|
|
|
taskOrderArchiveDetail.setAttachments(allAttachments);
|
|
|
+
|
|
|
+ // 查询完整记录/报告版本列表,按 reportType 和创建时间排序
|
|
|
+ List<BoilerTaskOrderIssueReportVersionDO> versionDOs = boilerTaskOrderIssueReportVersionMapper.selectList(
|
|
|
+ new LambdaQueryWrapperX<BoilerTaskOrderIssueReportVersionDO>()
|
|
|
+ .eq(BoilerTaskOrderIssueReportVersionDO::getOrderItemId, orderItemId)
|
|
|
+ .orderByAsc(BoilerTaskOrderIssueReportVersionDO::getReportType)
|
|
|
+ .orderByDesc(BoilerTaskOrderIssueReportVersionDO::getCreateTime));
|
|
|
+ if (CollUtil.isNotEmpty(versionDOs)) {
|
|
|
+ List<BoilerTaskOrderArchiveDetailRespVO.IssueReportVersionVO> versionList = versionDOs.stream()
|
|
|
+ .map(vo -> {
|
|
|
+ BoilerTaskOrderArchiveDetailRespVO.IssueReportVersionVO v = new BoilerTaskOrderArchiveDetailRespVO.IssueReportVersionVO();
|
|
|
+ v.setReportNo(vo.getReportNo());
|
|
|
+ v.setReportType(vo.getReportType());
|
|
|
+ v.setReportVersion(vo.getReportVersion());
|
|
|
+ v.setIssueUrl(vo.getIssueUrl());
|
|
|
+ v.setCreateTime(vo.getCreateTime());
|
|
|
+ return v;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ taskOrderArchiveDetail.setIssueReportVersionList(versionList);
|
|
|
+ }
|
|
|
+
|
|
|
return taskOrderArchiveDetail;
|
|
|
}
|
|
|
|