From ce663f476e7134bb4f9e34d5491fc37be53cc09f Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 21 三月 2024 11:30:39 +0800 Subject: [PATCH] 添加项目名称 --- src/main/java/com/lf/server/service/sys/ReportService.java | 66 ++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/lf/server/service/sys/ReportService.java b/src/main/java/com/lf/server/service/sys/ReportService.java index 9afeee4..3ca486a 100644 --- a/src/main/java/com/lf/server/service/sys/ReportService.java +++ b/src/main/java/com/lf/server/service/sys/ReportService.java @@ -11,6 +11,7 @@ import com.lf.server.helper.*; import com.lf.server.mapper.sys.ReportMapper; import com.lf.server.service.all.RedisService; +import com.lf.server.service.data.DirService; import com.lf.server.service.data.DownloadService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -50,6 +51,9 @@ @Resource RedisService redisService; + + @Resource + DirService dirService; private final static Log log = LogFactory.getLog(ReportService.class); @@ -248,7 +252,6 @@ @Override public List<CountEntity> countVariousDataByPrj(String code) { code = StringHelper.getRightLike(code); - return reportMapper.countVariousDataByPrj(code); } @@ -303,7 +306,7 @@ /** * 鍒涘缓鎶ュ憡 */ - public void createReport(UserEntity ue, ReportEntity re, HttpServletResponse res) throws Exception { + public void createReport(UserEntity ue, ReportEntity re, String code, HttpServletResponse res) throws Exception { AttachEntity ae = attachService.selectByGuid(re.getGuid()); if (null == ae) { return; @@ -317,7 +320,7 @@ if (!sourceFile.exists() || sourceFile.isDirectory()) { return; } - generateReport(source, target, re); + generateReport(source, target, re, code); File targetFile = new File(target); if (!targetFile.exists() || sourceFile.isDirectory()) { @@ -334,39 +337,41 @@ /** * 鐢熸垚鎶ュ憡 */ - private void generateReport(String source, String target, ReportEntity re) { + private void generateReport(String source, String target, ReportEntity re, String code) { if (StaticData.S1.equals(re.getType())) { - createWord(source, target, re); + createWord(source, target, re, code); } else { - createExcel(source, target, re); + createExcel(source, target, re, code); } } /** * 鐢熸垚Word */ - private void createWord(String source, String target, ReportEntity re) { - List<CountEntity> list = selectListByMethodName(re); + private void createWord(String source, String target, ReportEntity re, String code) { + List<CountEntity> list = selectListByMethodName(re, code); list = processListData(list); - Map<String, List<CountEntity>> map = new HashMap<>(1); - map.put("data", list); + Map<String, String> textMap = new HashMap<>(); + if (!StringHelper.isEmpty(code)) { + textMap.put("title", dirService.selectNameByCode(code)); + } - List<String[]> addList = new ArrayList<>(); + List<String[]> tableList = new ArrayList<>(); for (CountEntity ce : list) { switch (re.getCode()) { case "countSizesByType": case "countSizesByPrj": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount(), ce.getM2()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount(), ce.getM2()}); break; case "countSizes": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM2()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM2()}); break; case "countOperates": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM2(), "" + ce.getCount()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM2(), "" + ce.getCount()}); break; case "countExplorationPoints": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount(), ce.getM2(), ce.getM3()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount(), ce.getM2(), ce.getM3()}); break; case "countDemAreaByPrj": case "countMptAreaByPrj": @@ -375,31 +380,40 @@ case "countDlgAreaByPrj": case "countDomAreaByPrj": case "countGeoModelAreaByPrj": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM3()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), ce.getM3()}); break; case "countLineLength": - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getLen()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getLen()}); + break; + case "countVariousDataByPrj": + String str = "count".equals(ce.getM2()) ? "" + ce.getCount() : ("area".equals(ce.getM2()) ? "" + ce.getArea() : "" + ce.getLen()); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), str}); break; default: - addList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount()}); + tableList.add(new String[]{"" + ce.getNo(), ce.getM1(), "" + ce.getCount()}); break; } } - WordHelper.generateWord(source, target, null, addList); + WordHelper.generateWord(source, target, textMap, tableList); } /** * 鐢熸垚Excel */ - private void createExcel(String source, String target, ReportEntity re) { - List<CountEntity> list = selectListByMethodName(re); + private void createExcel(String source, String target, ReportEntity re, String code) { + List<CountEntity> list = selectListByMethodName(re, code); list = processListData(list); - Map<String, List<CountEntity>> map = new HashMap<>(1); - map.put("data", list); + Map<String, Object> map = new HashMap<>(); + if (!StringHelper.isEmpty(code)) { + map.put("title", dirService.selectNameByCode(code)); + } - ExcelHelper.writeToTemplate(source, target, map); + Map<String, List<CountEntity>> listMap = new HashMap<>(1); + listMap.put("data", list); + + ExcelHelper.writeToTemplate(source, target, map, listMap); } /** @@ -443,11 +457,11 @@ /** * 鏍规嵁鏂规硶鍚嶇О鏌ヨ鏁版嵁鍒楄〃 */ - private List<CountEntity> selectListByMethodName(ReportEntity re) { + private List<CountEntity> selectListByMethodName(ReportEntity re, String code) { List<CountEntity> list = null; try { Method method = ReportService.class.getDeclaredMethod(re.getCode()); - Object obj = method.invoke(this); + Object obj = "countVariousDataByPrj".equals(re.getCode()) ? method.invoke(this, code) : method.invoke(this); if (obj instanceof List<?>) { list = (List<CountEntity>) obj; } -- Gitblit v1.9.3