[测评系统]--测评系统核心代码库
林致杰
2023-10-26 765d9a3de208ba1ea9a10f9b1bd6fba08afd2079
新增LAQ图表替换
2个文件已修改
43 ■■■■■ 已修改文件
src/main/java/com/ots/common/utils/poi/WordUtil.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -19,6 +19,7 @@
import com.ots.project.tool.exam.ZipUtil;
import com.ots.project.tool.libreoffice.LibreOfficeUtil;
import com.ots.project.tool.report.CIAQ.chart.CIAQChart;
import com.ots.project.tool.report.LAQ.chart.LAQChart;
import com.ots.project.tool.report.MAQTR.chart.MAQTRChart;
import com.ots.project.tool.report.PAQ.chart.PAQChart;
import org.apache.commons.collections.map.HashedMap;
@@ -1415,6 +1416,8 @@
                MAQTRChart.changeMAQTRChart(document, dataPath);
            } else if (StringUtils.equals(reportType, ReportTypeEnum.CIAQ.getCode())) {
                CIAQChart.changeChart(document, textMap);
            } else if (StringUtils.equals(reportType, ReportTypeEnum.LAQ.getCode())) {
                LAQChart.changeChart(document, textMap);
            } else {
                return;
            }
src/main/java/com/ots/project/tool/report/LAQ/chart/LAQChart.java
@@ -48,7 +48,7 @@
    public static void main(String[] args) throws Exception {
        String dataPath = "D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ表头数据文件.xlsx";
/*        String dataPath = "D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ表头数据文件.xlsx";
        // 获取导入数据
        File file = new File(dataPath);
        InputStream in = new FileInputStream(file);
@@ -71,7 +71,7 @@
//            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:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ编译报告英文.docx");XWPFDocument document = new XWPFDocument(POIXMLDocument.openPackage("D:\\测评系统\\需求\\2023\\5.领导潜力报告\\report\\LAQ英文版.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);
@@ -81,7 +81,17 @@
            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);
    }
    /**
@@ -89,19 +99,19 @@
     * @param textMap
     * @return
     */
    public static Map<Integer,List<SeriesData>> initData(Map<String, String> textMap){
    public static Map<Integer,List<SeriesData>> initData(Map<String, Object> textMap){
        Map<Integer,List<SeriesData>> seriesDataMap = new HashMap<>();
        //获取命中数值
        Double olas = Double.valueOf(textMap.get("olas"));
        Double ca = Double.valueOf(textMap.get("ca"));
        Double bla = Double.valueOf(textMap.get("bla"));
        Double nr = Double.valueOf(textMap.get("nr"));
        Double ar = Double.valueOf(textMap.get("ar"));
        Double open = Double.valueOf(textMap.get("open"));
        Double cons = Double.valueOf(textMap.get("cons"));
        Double extra = Double.valueOf(textMap.get("extra"));
        Double agree = Double.valueOf(textMap.get("agree"));
        Double emosta = Double.valueOf(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(
@@ -266,7 +276,7 @@
     * @param seriesDataMap
     * @param textMap 数据源
     */
    public static void changeChart(XWPFDocument document, Map<Integer,List<SeriesData>> seriesDataMap, Map<String, String> textMap) {
    public static void changeChart(XWPFDocument document, Map<Integer,List<SeriesData>> seriesDataMap, Map<String, Object> textMap) {
        if(StringUtils.isEmpty(textMap)){
            return;
        }