From 272cf9305518aa6ce3ddc401df7a50a4b742293a Mon Sep 17 00:00:00 2001 From: weitang Date: Sat, 7 Jun 2025 13:59:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AlgorithmArrangeController.java | 7 ++++--- .../SubstationMaindeviceResumeController.java | 4 ++-- .../basedata/domain/SubstationMaindevice.java | 8 ++------ .../SubstationMaindeviceResumeMapper.java | 2 +- .../ISubstationMaindeviceResumeService.java | 2 +- ...SubstationMaindeviceResumeServiceImpl.java | 4 ++-- .../src/main/resources/application-dev.yml | 1 + .../SubstationMaindeviceResumeMapper.xml | 3 +++ .../resources/templates/布点报告模板.docx | Bin 13231 -> 13052 bytes 9 files changed, 16 insertions(+), 15 deletions(-) diff --git a/riis-system/src/main/java/com/yfd/platform/modules/algorithm/controller/AlgorithmArrangeController.java b/riis-system/src/main/java/com/yfd/platform/modules/algorithm/controller/AlgorithmArrangeController.java index 4ace801..dfe59b8 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/algorithm/controller/AlgorithmArrangeController.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/algorithm/controller/AlgorithmArrangeController.java @@ -195,7 +195,7 @@ public class AlgorithmArrangeController { } @GetMapping("/exportArrangeById") - @ApiOperation("导出报告") + @ApiOperation("导出布点报告") public void exportArrangeById(String id, HttpServletResponse response) throws IOException { Map map = new HashMap<>(); AlgorithmArrange algorithmArrange = algorithmArrangeService.getById(id); @@ -222,7 +222,7 @@ public class AlgorithmArrangeController { String arrangeImageUrl = algorithmArrange.getArrangeImageUrl(); if (StrUtil.isNotBlank(arrangeImageUrl)) { map.put("img", - Pictures.ofStream(Files.newInputStream(new File(httpServerConfig.getPlanFilePath() + arrangeImageUrl).toPath()), FileUtil.getPictureType(arrangeImageUrl)).size(800, 200).create()); + Pictures.ofStream(Files.newInputStream(new File(httpServerConfig.getPlanFilePath() + arrangeImageUrl).toPath()), FileUtil.getPictureType(arrangeImageUrl)).fitSize().create()); } } catch (Exception e) { @@ -243,8 +243,9 @@ public class AlgorithmArrangeController { "")).getPath() + "templates" + File.separator + "布点报告模板.docx"; XWPFTemplate compile = XWPFTemplate.compile(path, config); XWPFTemplate template = compile.render(map); +// template.write(new FileOutputStream("E:\\巡视报告模板.docx")); response.setContentType("application/octet-stream"); - response.setHeader("Content-disposition", "attachment;filename='reportTemp.docx'"); + response.setHeader("Content-disposition", "attachment;filename=reportTemp.docx"); OutputStream out = response.getOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(out); diff --git a/riis-system/src/main/java/com/yfd/platform/modules/basedata/controller/SubstationMaindeviceResumeController.java b/riis-system/src/main/java/com/yfd/platform/modules/basedata/controller/SubstationMaindeviceResumeController.java index c0b41fc..1618a38 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/basedata/controller/SubstationMaindeviceResumeController.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/basedata/controller/SubstationMaindeviceResumeController.java @@ -46,10 +46,10 @@ public class SubstationMaindeviceResumeController { @GetMapping("/getMaindeviceResume") @ApiOperation("分页查看主设备维修记录") public ResponseResult getMaindeviceResume(Page> page, String stationCode, String areaId, - String bayId, String deviceType, String mainDeviceName, + String bayId, String type,String deviceType, String mainDeviceName, String startDate, String endDate) { - Page> mapPage = resumeService.getMaindeviceResume(page, stationCode, areaId, bayId, + Page> mapPage = resumeService.getMaindeviceResume(page, stationCode, areaId, bayId,type, deviceType, mainDeviceName, startDate, endDate); return ResponseResult.successData(mapPage); } diff --git a/riis-system/src/main/java/com/yfd/platform/modules/basedata/domain/SubstationMaindevice.java b/riis-system/src/main/java/com/yfd/platform/modules/basedata/domain/SubstationMaindevice.java index 8f60983..31dab9d 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/basedata/domain/SubstationMaindevice.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/basedata/domain/SubstationMaindevice.java @@ -89,14 +89,10 @@ public class SubstationMaindevice implements Serializable { private String fileUrl; /** - * 关联点位id,用于展示主设备全景画面 + * 相机参数[{"patroldevice_name":"1","patroldevice_code":"","patroldevice_channelcode":"","patroldevice_pos":"","pos_name":""}] */ - private String deviceId; + private String patroldeviceJson; - /** - * 是否关联点位0:未关联;1:已关联 - */ - private String contactFlag; /** * 数据状态 diff --git a/riis-system/src/main/java/com/yfd/platform/modules/basedata/mapper/SubstationMaindeviceResumeMapper.java b/riis-system/src/main/java/com/yfd/platform/modules/basedata/mapper/SubstationMaindeviceResumeMapper.java index 1425660..5e96eb1 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/basedata/mapper/SubstationMaindeviceResumeMapper.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/basedata/mapper/SubstationMaindeviceResumeMapper.java @@ -17,7 +17,7 @@ import java.util.Map; public interface SubstationMaindeviceResumeMapper extends BaseMapper { Page> getMaindeviceResume(Page> page, String stationCode, String areaId, - String bayId, String deviceType, String mainDeviceName, + String bayId,String type, String deviceType, String mainDeviceName, String startDate, String endDate); } diff --git a/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/ISubstationMaindeviceResumeService.java b/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/ISubstationMaindeviceResumeService.java index 72904f9..6a4696a 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/ISubstationMaindeviceResumeService.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/ISubstationMaindeviceResumeService.java @@ -17,6 +17,6 @@ import java.util.Map; public interface ISubstationMaindeviceResumeService extends IService { Page> getMaindeviceResume(Page> page, String stationCode, String areaId, - String bayId, String deviceType, String mainDeviceName, + String bayId,String type, String deviceType, String mainDeviceName, String startDate, String endDate); } diff --git a/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/impl/SubstationMaindeviceResumeServiceImpl.java b/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/impl/SubstationMaindeviceResumeServiceImpl.java index 13af111..11f1d8a 100644 --- a/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/impl/SubstationMaindeviceResumeServiceImpl.java +++ b/riis-system/src/main/java/com/yfd/platform/modules/basedata/service/impl/SubstationMaindeviceResumeServiceImpl.java @@ -24,7 +24,7 @@ public class SubstationMaindeviceResumeServiceImpl extends ServiceImpl> getMaindeviceResume(Page> page, String stationCode, String areaId, String bayId, String deviceType, String mainDeviceName, String startDate, String endDate) { - return maindeviceResumeMapper.getMaindeviceResume(page, stationCode, areaId, bayId,deviceType, mainDeviceName,startDate,endDate); + public Page> getMaindeviceResume(Page> page, String stationCode, String areaId, String bayId,String type, String deviceType, String mainDeviceName, String startDate, String endDate) { + return maindeviceResumeMapper.getMaindeviceResume(page, stationCode, areaId, bayId,type,deviceType, mainDeviceName,startDate,endDate); } } diff --git a/riis-system/src/main/resources/application-dev.yml b/riis-system/src/main/resources/application-dev.yml index 9d66546..1be16f8 100644 --- a/riis-system/src/main/resources/application-dev.yml +++ b/riis-system/src/main/resources/application-dev.yml @@ -75,6 +75,7 @@ logging: com.genersoft.iot: error com.genersoft.iot.vmp.storager.dao: info com.genersoft.iot.vmp.gb28181: info + com.deepoove.poi: warn # 在线文档: swagger-ui(生产环境建议关闭) swagger-ui: diff --git a/riis-system/src/main/resources/mapper/basedata/SubstationMaindeviceResumeMapper.xml b/riis-system/src/main/resources/mapper/basedata/SubstationMaindeviceResumeMapper.xml index 6ae5253..50a6543 100644 --- a/riis-system/src/main/resources/mapper/basedata/SubstationMaindeviceResumeMapper.xml +++ b/riis-system/src/main/resources/mapper/basedata/SubstationMaindeviceResumeMapper.xml @@ -17,6 +17,9 @@ AND bay_id= #{bayId} + + AND type= #{type} + AND device_type= #{deviceType} diff --git a/riis-system/src/main/resources/templates/布点报告模板.docx b/riis-system/src/main/resources/templates/布点报告模板.docx index 4e1fa978ca4daaa634f50157a41fdee5d0b0ec94..d366d1519e2d596772592e426e9b59002084994f 100644 GIT binary patch delta 5111 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