|
|
@@ -1961,6 +1961,67 @@ public class BoilerTaskOrderIssueReportServiceImpl extends ServiceImpl<BoilerTas
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void generateAllReportsIssueUrl(String orderId) {
|
|
|
+ try {
|
|
|
+
|
|
|
+ List<BoilerTaskOrderItemDO> taskOrderItemDOS = taskOrderItemMapper.selectList(BoilerTaskOrderItemDO::getOrderId, orderId);
|
|
|
+ if (CollUtil.isNotEmpty(taskOrderItemDOS)) {
|
|
|
+ for (BoilerTaskOrderItemDO taskOrderItemDO : taskOrderItemDOS) {
|
|
|
+
|
|
|
+ //报告办结状态的主报告、子报告和独走报告
|
|
|
+ List<BoilerTaskOrderItemReportDO> taskOrderItemReportDOS = taskOrderItemReportMapper.selectList(new LambdaQueryWrapperX<BoilerTaskOrderItemReportDO>()
|
|
|
+ .eq(BoilerTaskOrderItemReportDO::getOrderItemId, taskOrderItemDO.getId())
|
|
|
+ .in(BoilerTaskOrderItemReportDO::getReportType, TaskOrderItemReportTypeEnum.MAIN_REPORT.getType(),
|
|
|
+ TaskOrderItemReportTypeEnum.SUB_REPORT.getType(),TaskOrderItemReportTypeEnum.SOLO_TRIP_REPORT.getType()));
|
|
|
+
|
|
|
+ for (BoilerTaskOrderItemReportDO taskOrderItemReportDO : taskOrderItemReportDOS) {
|
|
|
+ generateReportIssueUrl(taskOrderItemReportDO.getId());
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("生成任务单设备报告失败", e);
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void generateReportIssueUrl(String reportId) {
|
|
|
+
|
|
|
+ BoilerTaskOrderItemReportDO itemReportDO = taskOrderItemReportMapper.selectById(reportId);
|
|
|
+
|
|
|
+ if (itemReportDO != null){
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ BoilerTaskOrderItemReportDO updateIssueDo = new BoilerTaskOrderItemReportDO();
|
|
|
+ updateIssueDo.setId(reportId);
|
|
|
+
|
|
|
+ if (itemReportDO.getTemplateId() != null){
|
|
|
+ byte[] bytes = pdfService.pdfByRefId(itemReportDO.getTemplateId(), itemReportDO.getId());
|
|
|
+ String fileUrl = fileApi.createFile(bytes);
|
|
|
+ updateIssueDo.setEnterPdfUrl(fileUrl);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (itemReportDO.getReportTemplateId() != null && TaskOrderStatusEnum.REPORT_FINISH.getStatus().equals(itemReportDO.getTaskStatus())){
|
|
|
+ byte[] bytes = pdfService.pdfByRefId(itemReportDO.getReportTemplateId(), "report_" + itemReportDO.getId());
|
|
|
+ String fileUrl = fileApi.createFile(bytes);
|
|
|
+ updateIssueDo.setIssueUrl(fileUrl);
|
|
|
+ }
|
|
|
+
|
|
|
+ taskOrderItemReportMapper.updateById(updateIssueDo);
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("报告编号{}生成报表PDF失败",reportId, e);
|
|
|
+ throw new RuntimeException(e);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public PageResult<BoilerOrderItemPageRespVO> orderItemReportConclusionPage(BoilerTaskOrderPageReqVO pageReqVO) {
|
|
|
pageReqVO.setInReportTypes(Lists.newArrayList(TaskOrderItemReportTypeEnum.MAIN_REPORT.getType(),
|