From 9ed99486b5914f47710524c217a0ae4e7ac21e3b Mon Sep 17 00:00:00 2001 From: lizijie <lzjiiie@163.com> Date: Mon, 25 Apr 2022 13:34:39 +0800 Subject: [PATCH] 穿衣指数去掉时间参数 --- screen-api/src/main/java/com/moral/api/controller/ChartController.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 116 insertions(+), 0 deletions(-) diff --git a/screen-api/src/main/java/com/moral/api/controller/ChartController.java b/screen-api/src/main/java/com/moral/api/controller/ChartController.java index 2820c0a..21a13f2 100644 --- a/screen-api/src/main/java/com/moral/api/controller/ChartController.java +++ b/screen-api/src/main/java/com/moral/api/controller/ChartController.java @@ -1,11 +1,15 @@ package com.moral.api.controller; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.moral.api.entity.Organization; +import com.moral.api.entity.ServicesScope; import com.moral.api.mapper.OrganizationMapper; import com.moral.api.service.HistoryDailyService; import com.moral.api.service.HistoryHourlyService; import com.moral.api.service.HistoryMonthlyService; +import com.moral.api.service.ServicesScopeService; +import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.constant.ResultMessage; import com.moral.util.DateUtils; @@ -44,6 +48,9 @@ @Resource private HistoryMonthlyService historyMonthlyService; + + @Resource + private ServicesScopeService servicesScopeService; @RequestMapping(value = "getThermodynamicDiagramDataByCondition", method = RequestMethod.GET) @ResponseBody @@ -135,6 +142,115 @@ return ResultMessage.ok(resultMap); } + @RequestMapping(value = "getThermodynamicDiagramDataByConditionV2", method = RequestMethod.GET) + @ResponseBody + public ResultMessage getThermodynamicDiagramDataByConditionV2(HttpServletRequest request) throws ParseException { + Map<String, Object> parameters = WebUtils.getParametersStartingWith(request,null); + Object servicesScopeId = parameters.get("servicesScopeId"); + Object sensorCode = parameters.get("sensor_code"); + Object type = parameters.get("type"); + if (ObjectUtils.isEmpty(servicesScopeId) || ObjectUtils.isEmpty(sensorCode) || ObjectUtils.isEmpty(type)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + QueryWrapper<ServicesScope> servicesScopeQueryWrapper = new QueryWrapper<>(); + servicesScopeQueryWrapper.eq("is_delete",Constants.NOT_DELETE); + servicesScopeQueryWrapper.eq("id",servicesScopeId); + ServicesScope servicesScope = servicesScopeService.getOne(servicesScopeQueryWrapper); + if (ObjectUtils.isEmpty(servicesScope)){ + return ResultMessage.fail(ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getCode(), ResponseCodeEnum.ORGANIZATION_NOT_EXIST.getMsg()); + } + Map<String, Object> resultMap = new HashMap<>(); + List<Map<String,Object>> resultList = new ArrayList<>(); + if (type.equals("hourly")){ + Object time = parameters.get("time"); + if (ObjectUtils.isEmpty(time)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + resultMap = historyHourlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); + return ResultMessage.ok(resultMap); + } + if (type.equals("daily")){ + Object time = parameters.get("time"); + if (ObjectUtils.isEmpty(time)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + resultMap = historyDailyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); + return ResultMessage.ok(resultMap); + } + if (type.equals("monthly")){ + Object time = parameters.get("time"); + if (ObjectUtils.isEmpty(time)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + resultMap = historyMonthlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeV2(parameters); + return ResultMessage.ok(resultMap); + } + if (type.equals("custom")){ + String startTime = parameters.get("startTime").toString(); + String endTime = parameters.get("endTime").toString(); + if (ObjectUtils.isEmpty(startTime) || ObjectUtils.isEmpty(endTime)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + if (startTime.length() == 13){ + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24��������� + long newTime1 = simpleDateFormat.parse(startTime+":00:00").getTime(); + long newTime2 = simpleDateFormat.parse(endTime+":00:00").getTime(); + Long result = newTime2 - newTime1; //��������������������������������� + long nd = 1000 * 24 * 60 * 60; + long nh = 1000 * 60 * 60; + long nm = 1000 * 60; + long hour = result / nh; //������������������������ + if (hour+1>12){ + return ResultMessage.fail(-1, "������������������12������"); + } + if (hour<0){ + return ResultMessage.fail(ResponseCodeEnum.TIME_FORMAT_INVALID.getCode(), ResponseCodeEnum.TIME_FORMAT_INVALID.getMsg()); + } + parameters.put("hour",hour); + resultList = historyHourlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeslotV2(parameters); + return ResultMessage.ok(resultList); + } + if (startTime.length() == 10){ + long days = DateUtils.getQuotByDays(startTime, endTime); + if (days+1>12){ + return ResultMessage.fail(-1, "������������������12���"); + } + parameters.put("days",days); + resultList = historyDailyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(parameters); + return ResultMessage.ok(resultList); + } + if (startTime.length() == 7){ + SimpleDateFormat df = new SimpleDateFormat("yyyy-MM"); + Date satrtTimeDate = df.parse(startTime); + Date endTimeDate = df.parse(endTime); + long months = DateUtils.getMonth(satrtTimeDate,endTimeDate); //������������������������ + if (months+1>12){ + return ResultMessage.fail(-1, "������������������12���"); + } + parameters.put("months",months); + resultList = historyMonthlyService.getThermodynamicDiagramDataByOrgIdSensorCodeTimeSlotV2(parameters); + return ResultMessage.ok(resultList); + } + } + return ResultMessage.ok(resultMap); + } + + @GetMapping("honeycombDiagram") + public ResultMessage honeycombDiagram (HttpServletRequest httpServletRequest){ + Map<String, Object> params = WebUtils.getParametersStartingWith(httpServletRequest, null); + Object serviceScopeId = params.get("serviceScopeId"); + Object sensor_code = params.get("sensor_code"); + Object type = params.get("type"); + Object time = params.get("time"); + Object distance = params.get("distance"); + if (ObjectUtils.isEmpty(serviceScopeId)){ + return ResultMessage.fail(ResponseCodeEnum.PARAMETERS_IS_MISSING.getCode(), ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg()); + } + List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(Integer.parseInt(serviceScopeId.toString()), Integer.parseInt(distance.toString()), type.toString(), time.toString(), sensor_code.toString()); + //List<Map<String, Object>> resultList = servicesScopeService.honeycombDiagram(6, 40, "monthly", "2022-02", "a34004"); + return ResultMessage.ok(resultList); + } + @RequestMapping(value = "returnDataTest", method = RequestMethod.GET) @ResponseBody public ResultMessage returnDataTest(HttpServletRequest request) throws ParseException { -- Gitblit v1.8.0