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/mapper/data/DirMapper.java | 8 ++++ src/main/resources/mapper/data/DirMapper.xml | 4 ++ src/main/java/com/lf/server/controller/data/DataCountController.java | 7 ++- src/main/java/com/lf/server/service/data/DirService.java | 5 ++ src/main/java/com/lf/server/service/sys/ReportService.java | 66 ++++++++++++++++++++------------- 5 files changed, 61 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/lf/server/controller/data/DataCountController.java b/src/main/java/com/lf/server/controller/data/DataCountController.java index 1d2ee3a..2ed516b 100644 --- a/src/main/java/com/lf/server/controller/data/DataCountController.java +++ b/src/main/java/com/lf/server/controller/data/DataCountController.java @@ -147,10 +147,11 @@ @SysLog() @ApiOperation(value = "涓嬭浇鎶ュ憡") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "鎶ュ憡ID", dataType = "Integer", paramType = "query", example = "18") + @ApiImplicitParam(name = "id", value = "鎶ュ憡ID", dataType = "Integer", paramType = "query", example = "18"), + @ApiImplicitParam(name = "code", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00"), }) @GetMapping(value = "/downloadReport") - public void downloadReport(Integer id, HttpServletRequest req, HttpServletResponse res) { + public void downloadReport(Integer id, String code, HttpServletRequest req, HttpServletResponse res) { try { if (null == id || id < 1) { return; @@ -163,7 +164,7 @@ UserEntity ue = tokenService.getCurrentUser(req); - reportService.createReport(ue, re, res); + reportService.createReport(ue, re, code, res); } catch (Exception ex) { log.error(ex.getMessage(), ex); } diff --git a/src/main/java/com/lf/server/mapper/data/DirMapper.java b/src/main/java/com/lf/server/mapper/data/DirMapper.java index 5ae6110..edd4793 100644 --- a/src/main/java/com/lf/server/mapper/data/DirMapper.java +++ b/src/main/java/com/lf/server/mapper/data/DirMapper.java @@ -131,4 +131,12 @@ * @return */ public DirEntity selectDirByName(String name, Integer pid); + + /** + * 鏍规嵁缂栫爜鏌ヨ鍚嶇О + * + * @param code + * @return + */ + public String selectNameByCode(String code); } diff --git a/src/main/java/com/lf/server/service/data/DirService.java b/src/main/java/com/lf/server/service/data/DirService.java index e46f6ae..d9fd76b 100644 --- a/src/main/java/com/lf/server/service/data/DirService.java +++ b/src/main/java/com/lf/server/service/data/DirService.java @@ -138,6 +138,11 @@ return dirMapper.selectDirByName(name, pid); } + @Override + public String selectNameByCode(String code) { + return dirMapper.selectNameByCode(code); + } + /** * 娓呴櫎缂撳瓨 */ 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; } diff --git a/src/main/resources/mapper/data/DirMapper.xml b/src/main/resources/mapper/data/DirMapper.xml index 6215baf..2800fc2 100644 --- a/src/main/resources/mapper/data/DirMapper.xml +++ b/src/main/resources/mapper/data/DirMapper.xml @@ -67,6 +67,10 @@ </where> </select> + <select id="selectNameByCode" resultType="java.lang.String"> + select name from lf.sys_dir where code = #{code}; + </select> + <!-- 鎻掑叆涓�鏉� --> <insert id="insert" parameterType="com.lf.server.entity.data.DirEntity"> <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id"> -- Gitblit v1.9.3