package com.gkhy.safePlatform.specialWork.service.impl; import com.gkhy.safePlatform.commons.enums.E; import com.gkhy.safePlatform.commons.exception.AusinessException; import com.gkhy.safePlatform.commons.exception.BusinessException; import com.gkhy.safePlatform.specialWork.entity.*; import com.gkhy.safePlatform.specialWork.enums.*; import com.gkhy.safePlatform.specialWork.service.*; import com.gkhy.safePlatform.specialWork.util.WorkExportPdfUtil; import com.gkhy.safePlatform.specialWork.util.WorkExportUtil; import com.itextpdf.text.DocumentException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Map; @Service("WorkPrintService") public class WorkPrintServiceImpl implements WorkPrintService { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private WorkHotPrintService workHotPrintService; @Autowired private WorkBlindPlatePluggingPrintService workBlindPlatePluggingPrintService; @Autowired private WorkAtHeightPrintService workAtHeightPrintService; @Autowired private WorkConfinedSpacePrintService workConfinedSpacePrintService; @Autowired private WorkBrokenCircuitPrintService workBrokenCircuitPrintService; @Autowired private WorkGroundBreakingPrintService workGroundBreakingPrintService; @Autowired private WorkHoistingPrintService workHoistingPrintService; @Autowired private WorkTemporaryPowerPrintService workTemporaryPowerPrintService; /** * 作业打印 * @param workApplyInfo */ /* public void workPrint(HttpServletResponse response, WorkApplyInfo workApplyInfo){ switch (WorkTypeEnum.parse(workApplyInfo.getWorkType())) { case WORK_FIRE: exportWork(response,workHotPrintService.workHotPrint(workApplyInfo)); break; case WORK_CLOSE_SPACE: exportWork(response,workConfinedSpacePrintService.workConfinedSpacePrint(response,workApplyInfo)); break; case WORK_BLIND_PLATE: exportWork(response,workBlindPlatePluggingPrintService.workBlindPlatePluggingPrint(response,workApplyInfo)); break; case WORK_BROKE_ROAD: exportWork(response,workBrokenCircuitPrintService.workBrokenCircuitPrint(response,workApplyInfo)); break; case WORK_DIF_SOLI: exportWork(response,workGroundBreakingPrintService.workGroundBreakingPrint(response,workApplyInfo)); break; case WORK_HIGH_SPACE: exportWork(response,workAtHeightPrintService.workAtHeightPrint(response,workApplyInfo)); break; case WORK_HANG: exportWork(response,workHoistingPrintService.workHoistingPrint(response,workApplyInfo)); break; case WORK_TEMP_ELECTRIC: exportWork(response,workTemporaryPowerPrintService.workTemporaryPowerPrint(response,workApplyInfo)); break; } }*/ @Override public void workPrintPdf(HttpServletResponse response, WorkApplyInfo workApplyInfo,WorkInfo workInfo) throws DocumentException, IOException { switch (WorkTypeEnum.parse(workApplyInfo.getWorkType())) { case WORK_FIRE: exportWorkPdf(response,workHotPrintService.workHotPrint(workApplyInfo,workInfo)); break; case WORK_CLOSE_SPACE: exportWorkPdf(response,workConfinedSpacePrintService.workConfinedSpacePrint(workApplyInfo, workInfo)); break; case WORK_BLIND_PLATE: exportWorkPdf(response,workBlindPlatePluggingPrintService.workBlindPlatePluggingPrint(workApplyInfo,workInfo)); break; case WORK_BROKE_ROAD: exportWorkPdf(response,workBrokenCircuitPrintService.workBrokenCircuitPrint(workApplyInfo,workInfo)); break; case WORK_DIF_SOLI: exportWorkPdf(response,workGroundBreakingPrintService.workGroundBreakingPrint(workApplyInfo,workInfo)); break; case WORK_HIGH_SPACE: exportWorkPdf(response,workAtHeightPrintService.workAtHeightPrint(workApplyInfo,workInfo)); break; case WORK_HANG: exportWorkPdf(response,workHoistingPrintService.workHoistingPrint(workApplyInfo,workInfo)); break; case WORK_TEMP_ELECTRIC: exportWorkPdf(response,workTemporaryPowerPrintService.workTemporaryPowerPrint(workApplyInfo,workInfo)); break; } } public void exportWork(HttpServletResponse response,Map dataMap){ try{ WorkExportUtil workExportUtil = new WorkExportUtil(); workExportUtil.setTempLocalPath((String)dataMap.get("filePath")); //设置模板的路径 workExportUtil.init(); //初始化工具类 workExportUtil.export(dataMap); //写入相关数据 workExportUtil.responseWord(response,(String)dataMap.get("fileName"),(String)dataMap.get("workCode")); }catch (AusinessException e) { e.printStackTrace(); throw new AusinessException(e.getCode(), e.getMessage()); }catch (BusinessException e) { e.printStackTrace(); throw new BusinessException(e.getCode(), e.getMessage()); }catch (Exception e){ logger.error("导出失败!",e); throw new AusinessException(E.EXPORT_FAIL,"导出失败!"); } } public void exportWorkPdf(HttpServletResponse response,Map dataMap) throws DocumentException, IOException { WorkExportPdfUtil workExportPdfUtil01 = new WorkExportPdfUtil(); workExportPdfUtil01.generate(response,dataMap); } }