| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.ots.common.enums.CapabilityEnum; |
| | | import com.ots.common.enums.LangTypeEnum; |
| | | import com.ots.common.enums.ReportTypeEnum; |
| | | import com.ots.common.utils.DateUtils; |
| | | import com.ots.common.utils.MapDataUtil; |
| | | import com.ots.common.utils.StringUtils; |
| | |
| | | import com.ots.framework.config.EssConfig; |
| | | import com.ots.project.exam.domain.TReportTemplate; |
| | | import com.ots.project.tool.PdfUtil; |
| | | import com.ots.project.tool.report.LAQ.LAQReport; |
| | | import com.ots.project.tool.report.LAQ.LAQTemplate; |
| | | import com.ots.project.tool.report.MAQ.base.RowData; |
| | | import com.ots.project.tool.report.MAQ.base.SeriesData; |
| | | import com.ots.project.tool.report.MAQNEW.MAQReport_V2; |
| | | import com.ots.project.tool.report.ReportResultData; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.poi.ooxml.POIXMLDocument; |
| | | import org.apache.poi.ooxml.POIXMLDocumentPart; |
| | |
| | | |
| | | |
| | | public static void main(String[] args) throws Exception { |
| | | String dataPath = "D:\\测评系统\\需求\\LAQ\\report\\LAQ表头数据文件.xlsx"; |
| | | /* String dataPath = "D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ表头数据文件.xlsx"; |
| | | // 获取导入数据 |
| | | File file = new File(dataPath); |
| | | InputStream in = new FileInputStream(file); |
| | |
| | | for (int i = 0; i < laqTemplateList.size(); i++) { |
| | | LAQTemplate laqTemplate = laqTemplateList.get(i); |
| | | //组装报告所用数据 |
| | | Map<String, Object> textMap = new HashMap<>(); |
| | | Map<String, String> textMap = new HashMap<>(); |
| | | textMap.put("sendEmailFileName",laqTemplate.getName()); |
| | | textMap.put("nowDate", DateUtils.getDate()); |
| | | MapDataUtil.objectToMap(laqTemplate,textMap); |
| | | |
| | | LAQReport report = new LAQReport(); |
| | | // ReportResultData resultData = report.getTemplateParameters(textMap, ReportTypeEnum.LAQ, LangTypeEnum.codeOf("English")); |
| | | // TReportTemplate template = null; |
| | | // String zipFileName = WordUtil.makeReportFile("D:\\测评系统\\需求\\LAQ\\report\\LAQ英文报告-20230926.docx", template, textMap, new HashMap<>(), deleteStrList); |
| | | // fileNameList.add(zipFileName); |
| | | ZipSecureFile.setMinInflateRatio(0.001); |
| | | try (OutputStream os = new FileOutputStream("D:\\测评系统\\需求\\LAQ\\report\\LAQ.docx");XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\测评系统\\需求\\LAQ\\report\\LAQ英文报告-20230926.docx"))){ |
| | | try (OutputStream os = new FileOutputStream("D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ编译报告.docx");XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ中文模板.docx"))){ |
| | | Map<Integer,List<SeriesData>> seriesDatas = initData(textMap); |
| | | changeChart(document,seriesDatas,textMap); |
| | | document.write(os); |
| | |
| | | |
| | | log.info("删除的文件名:{}", JSON.toJSONString(deleteStrList)); |
| | | WordUtil.deleteFileByStr(deleteStrList); |
| | | } |
| | | }*/ |
| | | } |
| | | |
| | | /** |
| | | * 替换LAQ图表数据 |
| | | * @param document 文档对象 |
| | | * @param textMap 数据源 |
| | | */ |
| | | public static void changeChart(XWPFDocument document, Map<String, Object> textMap) { |
| | | Map<Integer,List<SeriesData>> seriesDatas = initData(textMap); |
| | | changeChart(document,seriesDatas,textMap); |
| | | } |
| | | |
| | | /** |
| | |
| | | public static Map<Integer,List<SeriesData>> initData(Map<String, Object> textMap){ |
| | | Map<Integer,List<SeriesData>> seriesDataMap = new HashMap<>(); |
| | | //获取命中数值 |
| | | BigDecimal olas = (BigDecimal) textMap.get("olas"); |
| | | BigDecimal ca = (BigDecimal) textMap.get("ca"); |
| | | BigDecimal bla = (BigDecimal) textMap.get("bla"); |
| | | BigDecimal nr = (BigDecimal) textMap.get("nr"); |
| | | BigDecimal ar = (BigDecimal) textMap.get("ar"); |
| | | BigDecimal open = (BigDecimal) textMap.get("open"); |
| | | BigDecimal cons = (BigDecimal) textMap.get("cons"); |
| | | BigDecimal extra = (BigDecimal) textMap.get("extra"); |
| | | BigDecimal agree = (BigDecimal) textMap.get("agree"); |
| | | BigDecimal emosta = (BigDecimal) textMap.get("emosta"); |
| | | Double olas = Double.valueOf((String)textMap.get("olas")); |
| | | Double ca = Double.valueOf((String)textMap.get("ca")); |
| | | Double bla = Double.valueOf((String)textMap.get("bla")); |
| | | Double nr = Double.valueOf((String)textMap.get("nr")); |
| | | Double ar = Double.valueOf((String)textMap.get("ar")); |
| | | Double open = Double.valueOf((String)textMap.get("open")); |
| | | Double cons = Double.valueOf((String)textMap.get("cons")); |
| | | Double extra = Double.valueOf((String)textMap.get("extra")); |
| | | Double agree = Double.valueOf((String)textMap.get("agree")); |
| | | Double emosta = Double.valueOf((String)textMap.get("emosta")); |
| | | |
| | | // 图表1 |
| | | List<SeriesData> seriesDatas = Arrays.asList( |