|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package com.hnac.hzims.ticket.repair.service.impl; |
|
|
|
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.entity.TemplateExportParams; |
|
|
|
|
import cn.afterturn.easypoi.word.WordExportUtil; |
|
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
|
import com.alibaba.fastjson.TypeReference; |
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
@ -12,13 +13,16 @@ import com.hnac.hzims.ticket.repair.service.IWorkTaskService;
|
|
|
|
|
import com.hnac.hzims.ticket.repair.vo.WorkTaskContentVO; |
|
|
|
|
import com.hnac.hzims.ticket.repair.vo.WorkTaskPreviewVO; |
|
|
|
|
import com.hnac.hzims.ticket.repair.vo.WorkTaskVO; |
|
|
|
|
import com.hnac.hzims.ticket.utils.AsposeUtil; |
|
|
|
|
import com.hnac.hzims.ticket.utils.ExcelUtil; |
|
|
|
|
import com.hnac.hzims.ticket.utils.PdfUtils; |
|
|
|
|
import com.hnac.hzims.ticket.utils.WordUtils; |
|
|
|
|
import com.hnac.hzims.ticket.workTicket.entity.WorkTicketInfoEntity; |
|
|
|
|
import com.hnac.hzims.ticket.workTicket.service.IWorkTicketInfoService; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.apache.poi.ss.usermodel.Workbook; |
|
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFDocument; |
|
|
|
|
import org.springblade.core.log.exception.ServiceException; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.mp.support.Condition; |
|
|
|
@ -39,6 +43,10 @@ import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
|
import org.springframework.web.context.request.ServletRequestAttributes; |
|
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse; |
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.FileInputStream; |
|
|
|
|
import java.io.FileOutputStream; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -57,8 +65,8 @@ public class WorkTaskServiceImpl extends BaseServiceImpl<WorkTaskMapper, WorkTas
|
|
|
|
|
|
|
|
|
|
private final IUserClient userClient; |
|
|
|
|
|
|
|
|
|
@Value("${hzims.ticket.workTask.saveWrokTask.xlsx}") |
|
|
|
|
private String saveWrokTaskXlsxPath; |
|
|
|
|
@Value("${hzims.ticket.workTask.saveWrokTask.work}") |
|
|
|
|
private String saveWrokTaskWorkPath; |
|
|
|
|
|
|
|
|
|
@Value("${hzims.ticket.workTask.saveWrokTask.pdf}") |
|
|
|
|
private String saveWrokTaskPdfPath; |
|
|
|
@ -185,7 +193,7 @@ public class WorkTaskServiceImpl extends BaseServiceImpl<WorkTaskMapper, WorkTas
|
|
|
|
|
//准备数据
|
|
|
|
|
WorkTaskPreviewVO preview = this.workTaskExport(id); |
|
|
|
|
if(ObjectUtil.isEmpty(preview)){ |
|
|
|
|
throw new ServiceException("查询应急抢修单失败"); |
|
|
|
|
throw new ServiceException("查询工作任务单失败"); |
|
|
|
|
} |
|
|
|
|
Map<String,Object> params = new HashMap<>(); |
|
|
|
|
try { |
|
|
|
@ -194,27 +202,15 @@ public class WorkTaskServiceImpl extends BaseServiceImpl<WorkTaskMapper, WorkTas
|
|
|
|
|
}catch (Exception e) { |
|
|
|
|
log.error("转换对象失败!"); |
|
|
|
|
} |
|
|
|
|
TemplateExportParams templateExportParams = new TemplateExportParams("template/excel/work_task_template.xlsx", true); |
|
|
|
|
Workbook workbook = null; |
|
|
|
|
try { |
|
|
|
|
workbook = ExcelUtil.getWorkbook(templateExportParams,params); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
//上传xlsx至服务器
|
|
|
|
|
String fileName = preview.getCode() + "_工作任务单" + PdfUtils.XLSX_SUFFIX; |
|
|
|
|
try { |
|
|
|
|
ExcelUtil.upload(workbook,saveWrokTaskXlsxPath,fileName); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
e.printStackTrace(); |
|
|
|
|
} |
|
|
|
|
// 保存wrok至本地服务器
|
|
|
|
|
String fileName = preview.getCode() + "_工作任务单"; |
|
|
|
|
String path = WordUtils.uploadWord("/template/work/",saveWrokTaskWorkPath,params,"work_task_template",fileName); |
|
|
|
|
//将docx文件转换为pdf并保存
|
|
|
|
|
String pdfFileName = preview.getCode() + "_工作任务单" + PdfUtils.PDF_SUFFIX; |
|
|
|
|
String xlsxFileName = preview.getCode() + "_工作任务单" + PdfUtils.XLSX_SUFFIX; |
|
|
|
|
PdfUtils.convertPdf(saveWrokTaskPdfPath, xlsxFileName, saveWrokTaskPdfPath, pdfFileName); |
|
|
|
|
String savePath = saveWrokTaskPdfPath + pdfFileName; |
|
|
|
|
String savePdfPath = saveWrokTaskPdfPath + preview.getCode() + "_工作任务单" + PdfUtils.PDF_SUFFIX; |
|
|
|
|
AsposeUtil.wordToPdf(path,savePdfPath); |
|
|
|
|
|
|
|
|
|
// 设置response参数,可以打开下载页面
|
|
|
|
|
PdfUtils.readPdf(response,savePath); |
|
|
|
|
PdfUtils.readPdf(response,savePdfPath); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|