From 0bd7f0dee66640bab77123827cd083db4bec53a7 Mon Sep 17 00:00:00 2001 From: cjl <chenjl@deyt.cn> Date: Thu, 06 Jul 2023 22:29:24 +0800 Subject: [PATCH] refactor: 导出格式和内容进行优化重构 --- screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 98 insertions(+), 9 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java b/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java index dab4c7f..93383e4 100644 --- a/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java +++ b/screen-api/src/main/java/com/moral/api/controller/MonitorPointController.java @@ -5,6 +5,8 @@ import com.moral.api.pojo.vo.monitorPoint.MonitorPointsVO; import com.moral.api.service.HistoryFiveMinutelyService; import com.moral.api.service.MonitorPointService; +import com.moral.api.utils.EasyExcelUtils; +import com.moral.api.utils.NoModelWriteData; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.WebUtils; @@ -14,16 +16,21 @@ import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; /** * @ClassName DeviceController @@ -61,14 +68,14 @@ } /** - * @Description: ������������������������������id������name - * @Param: [organizationId] - * @return: com.moral.constant.ResultMessage - * @Author: ��������� - * @Date: 2021/9/26 - */ + * @Description: ������������������������������id������name + * @Param: [organizationId] + * @return: com.moral.constant.ResultMessage + * @Author: ��������� + * @Date: 2021/9/26 + */ @GetMapping("queryAllMonitorPoints") - public ResultMessage queryAllMonitorPoints(Integer organizationId){ + public ResultMessage queryAllMonitorPoints(Integer organizationId) { //������������������ List<MonitorPoint> monitorPoints = monitorPointService.queryAllMonitorPoints(organizationId); //������������ @@ -92,9 +99,91 @@ return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); } String[] monitorPointIds = params.remove("monitorPointIds").toString().split(","); + if (monitorPointIds.length > 3) { + return ResultMessage.ok(); + } params.put("monitorPointIds", monitorPointIds); List<Object> response = historyFiveMinutelyService.getAreaWindData(params); return ResultMessage.ok(response); } + /** + * @Description: ������������������������������ + * @Param: [request] + * @return: com.moral.constant.ResultMessage + * @Author: lizijie + * @Date: 2022-10-10 14:00 + **/ + @GetMapping("getHourlyDataByMonitorPoint") + public ResultMessage getHourlyDataByMonitorPoint(HttpServletRequest request) { + Map<String, Object> params = WebUtils.getParametersStartingWith(request, null); + if (!params.containsKey("monitorPointId") || !params.containsKey("sensors") || !params.containsKey("startTime") || !params.containsKey("endTime")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> resultList = monitorPointService.getHourlyDataByMonitorPoint(params); + return ResultMessage.ok(resultList); + } + + /** + * ������������������������ + * + * @param params + * @return + */ + @PostMapping("getHourlyDataExcel") + public ResultMessage getHourlyDataExcel(@RequestBody Map<String, Object> params) { + if (!params.containsKey("macs") || !params.containsKey("sensors") || !params.containsKey("times") || !params.containsKey("type")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> resList = monitorPointService.getHourlyDataDataV3(params); + return ResultMessage.ok(resList); + } + + + @PostMapping("getHourlyDataExcelNew") + public ResultMessage getHourlyDataExcelNew(@RequestBody Map<String, Object> params) { + if (!params.containsKey("macs") || !params.containsKey("sensors") || !params.containsKey("times") || !params.containsKey("type")) { + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> resList = monitorPointService.getHourlyDataDataV3Excel(params); + return ResultMessage.ok(resList); + } + + @PostMapping("/exlOut") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "token", value = "token", required = true, paramType = "header", dataType = "String") + }) + public void exlOut(HttpServletResponse response) { + //������������������ + // List<ExcelHeader> excelHeaders = Arrays.asList(new ExcelHeader("phone", "���������"), new ExcelHeader("sexStr", "������")); + Map<String, Object> params = new HashMap<>(); + params.put("macs", Arrays.asList("p5dnd7a0245446", "p5dnd7a0745450")); + params.put("sensors", "a34004,a34002"); + params.put("type", "hours"); + params.put("times", Arrays.asList("2023-07-01 00", "2023-07-02 00")); + //������������ + List<Map<String, Object>> resList = monitorPointService.getHourlyDataDataV3Excel(params); + if (CollectionUtils.isEmpty(resList)) { + return; + } + Map<String, Object> map = resList.get(0); + List<String> list = new ArrayList<>(); + for (String key : map.keySet()) { + list.add(key); + } + String[] s2 = new String[list.size()]; + list.toArray(s2); + NoModelWriteData d = new NoModelWriteData(); + d.setFileName("������������"); + d.setHeadMap(s2); + d.setDataStrMap(s2); + d.setDataList(resList); + try { + EasyExcelUtils easyExcelUtils = new EasyExcelUtils(); + easyExcelUtils.noModleWrite(d, response); + } catch (Exception e) { + int i = 0; + } + + } } -- Gitblit v1.8.0