From 41863d2c44c03dca9f0bff4e3fad2be454362da0 Mon Sep 17 00:00:00 2001 From: fengxiang <110431245@qq.com> Date: Fri, 24 Aug 2018 16:20:59 +0800 Subject: [PATCH] 霸屏页面 接口 --- src/main/java/com/moral/entity/charts/TimePeriod.java | 6 + src/main/resources/mapper/DictionaryDataMapper.xml | 6 src/main/java/com/moral/mapper/DictionaryDataMapper.java | 1 src/main/resources/mapper/HangzhouAqiMapper.xml | 35 +++++ src/main/java/com/moral/service/HangzhouAqiService.java | 14 ++ src/main/java/com/moral/service/impl/DeviceServiceImpl.java | 41 ++++++ src/main/java/com/moral/service/DeviceService.java | 2 src/main/resources/mapper/HistoryMinutelyMapper.xml | 2 src/main/java/com/moral/entity/HangzhouAqi.java | 18 +++ src/main/java/com/moral/common/util/ReportTimeFormat.java | 60 ++++++++- src/main/java/com/moral/service/MonitorPointService.java | 4 src/main/java/com/moral/controller/ScreenController.java | 27 ++++ src/main/java/com/moral/mapper/OrganizationMapper.java | 6 + src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java | 79 +++++++++++++ src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java | 24 ++- src/main/java/com/moral/mapper/HangzhouAqiMapper.java | 14 ++ 16 files changed, 313 insertions(+), 26 deletions(-) diff --git a/src/main/java/com/moral/common/util/ReportTimeFormat.java b/src/main/java/com/moral/common/util/ReportTimeFormat.java index 47aa811..8528d0e 100644 --- a/src/main/java/com/moral/common/util/ReportTimeFormat.java +++ b/src/main/java/com/moral/common/util/ReportTimeFormat.java @@ -10,13 +10,24 @@ import java.util.List; public class ReportTimeFormat { + // ������mysql format���������java���format������������ + public final static String YEAR_FORMAT = "yyyy"; + public final static String MONTH_FORMAT = "yyyy-MM"; + public final static String DAY_FORMAT = "yyyy-MM-dd"; + public final static String HOUR_FORMAT = "yyyy-MM-dd/HH"; + public final static String MINUTE_FORMAT = "yyyy-MM-dd/HH:mm"; + public final static String YEAR_FORMAT_OF_MYSQL = "%Y"; + public final static String MONTH_FORMAT_OF_MYSQL = "%Y-%m"; + public final static String DAY_FORMAT_OF_MYSQL = "%Y-%m-%d"; + public final static String HOUR_FORMAT_OF_MYSQL = "%Y-%m-%d/%H"; + public final static String MINUTE_FORMAT_OF_MYSQL = "%Y-%m-%d/%H:%i"; public static String toMySqlTimeFormat(TimeUnits timeUnits){ switch (timeUnits){ - case YEAR: return "%Y"; - case MONTH: return "%Y-%m"; - case DAY: return "%Y-%m-%d"; - case HOUR: return "%Y-%m-%d/%H"; - case MINUTE:return "%Y-%m-%d/%H:%i"; + case YEAR: return YEAR_FORMAT_OF_MYSQL; + case MONTH: return MONTH_FORMAT_OF_MYSQL; + case DAY: return DAY_FORMAT_OF_MYSQL; + case HOUR: return HOUR_FORMAT_OF_MYSQL; + case MINUTE:return MINUTE_FORMAT_OF_MYSQL; } return "%Y-%m-%d%H:%i:%s"; } @@ -30,6 +41,12 @@ } return "%s"; } + + /** + * ������ ������������������ ������������ + * @param timePeriod + * @return + */ public static List<String> makeTimeList(TimePeriod timePeriod){ Calendar start = Calendar.getInstance(); start.setTime(timePeriod.getStartTime()); @@ -39,15 +56,15 @@ String formatStyle = ""; int timeUnit = 0; switch (timePeriod.getTimeUnits()){ - case YEAR: formatStyle ="yyyy"; + case YEAR: formatStyle = YEAR_FORMAT; timeUnit = Calendar.YEAR;break; - case MONTH: formatStyle ="yyyy-MM"; + case MONTH: formatStyle =MONTH_FORMAT; timeUnit = Calendar.MONTH;break; - case DAY: formatStyle ="yyyy-MM-dd"; + case DAY: formatStyle =DAY_FORMAT; timeUnit = Calendar.DAY_OF_YEAR;break; - case HOUR: formatStyle ="yyyy-MM-dd/HH"; + case HOUR: formatStyle =HOUR_FORMAT; timeUnit = Calendar.HOUR;break; - case MINUTE: formatStyle ="yyyy-MM-dd/HH:mm"; + case MINUTE: formatStyle =MINUTE_FORMAT; timeUnit = Calendar.MINUTE;break; } do{ @@ -58,6 +75,29 @@ while (start.getTimeInMillis()<end.getTimeInMillis()); return timeList; } + + /** + * ������������������ + * @param date ��������������� + * @param timeUnits ������������������������������������������ + * @param amount ������������������������������������ + * @return + */ + public static Date dateCalc(Date date,TimeUnits timeUnits,Integer amount) { + Calendar rightNow = Calendar.getInstance(); + rightNow.setTime(date); + rightNow.add(toCalendarTimeUnit(timeUnits), amount); + return rightNow.getTime(); + } + private static int toCalendarTimeUnit(TimeUnits timeUnits) { + switch (timeUnits) { + case YEAR: return Calendar.YEAR; + case MONTH: return Calendar.MONTH; + case DAY: return Calendar.DAY_OF_YEAR; + case HOUR: return Calendar.HOUR; + default: return Calendar.MINUTE; + } + } /**"yyyy-MM-dd hh:mm:ss" * ������������date��������������������������������������������� * @param date diff --git a/src/main/java/com/moral/controller/ScreenController.java b/src/main/java/com/moral/controller/ScreenController.java index 85ca2b6..48888a9 100644 --- a/src/main/java/com/moral/controller/ScreenController.java +++ b/src/main/java/com/moral/controller/ScreenController.java @@ -126,7 +126,7 @@ Object orgId = resultMap.get("orgId"); if(resultMap.get("orgId")!=null && resultMap.get("orgId") instanceof Integer) { StringBuilder areaNamesBuilder = new StringBuilder("������"); - if((Integer) orgId != dictionaryDataService.querySupperOrgId()) { + if(!((Integer) orgId).equals(dictionaryDataService.querySupperOrgId())) { Organization organization = organizationService.getOrganizationById((Integer) orgId); if(organization.getAreaNames()!=null){ AreaNames areaNames = organization.getAreaNames(); @@ -673,4 +673,29 @@ MonitorPoint monitorPoint = monitorPointService.queryMonitorPointById(monitorPointId); return new ResultBean<>(monitorPoint); } + @Resource + HangzhouAqiService hangzhouAqiService; + @GetMapping("aqi24hours") + @ApiOperation(value = "������24������aqi������", notes = "������24������������aqi������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "������id", required = true, paramType = "query", dataType = "Integer"), + }) + public ResultBean<List<Map>> getAqi24HoursNC(@RequestParam("orgid") Integer organizationId) { + return new ResultBean<>(hangzhouAqiService.queryAqi24Hours(organizationId)); + } + @GetMapping("mpt-dev-summary") + @ApiOperation(value = "���������������������������������", notes = "���������������������������������") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "orgid",defaultValue = "5",value = "������id", required = true, paramType = "query", dataType = "Integer"), + }) + public ResultBean<Map> getMptAndDevSummary(@RequestParam("orgid") Integer organizationId){ + Map<String,Map> result = new HashMap<>(2); + Integer mptCount = monitorPointService.countOfSubOrgs(organizationId); + Map monitorPointSummary = new HashMap(); + monitorPointSummary.put("all",mptCount); + Map deviceSummary = deviceService.queryDeviceStateSummary(organizationId); + result.put("monitorPoint",monitorPointSummary); + result.put("device",deviceSummary); + return new ResultBean<>(result); + } } diff --git a/src/main/java/com/moral/entity/HangzhouAqi.java b/src/main/java/com/moral/entity/HangzhouAqi.java new file mode 100644 index 0000000..56c9291 --- /dev/null +++ b/src/main/java/com/moral/entity/HangzhouAqi.java @@ -0,0 +1,18 @@ +package com.moral.entity; + +import lombok.Data; + +import java.util.Date; + +@Data +public class HangzhouAqi { + private Date time; + + private Object aqiJson; + + private String cityCode; + + public Date getTime() { + return time; + } +} \ No newline at end of file diff --git a/src/main/java/com/moral/entity/charts/TimePeriod.java b/src/main/java/com/moral/entity/charts/TimePeriod.java index aec4a62..44c0a8f 100644 --- a/src/main/java/com/moral/entity/charts/TimePeriod.java +++ b/src/main/java/com/moral/entity/charts/TimePeriod.java @@ -6,6 +6,12 @@ @Data public class TimePeriod { + public TimePeriod (Date startTime,Date endTime,TimeUnits timeUnits) + { + this.startTime = startTime; + this.endTime = endTime; + this.timeUnits = timeUnits; + } private TimeUnits timeUnits;//������������ private Date startTime;//������������ private Date endTime;//������������ diff --git a/src/main/java/com/moral/mapper/DictionaryDataMapper.java b/src/main/java/com/moral/mapper/DictionaryDataMapper.java index 0bb1798..f1720de 100644 --- a/src/main/java/com/moral/mapper/DictionaryDataMapper.java +++ b/src/main/java/com/moral/mapper/DictionaryDataMapper.java @@ -6,4 +6,5 @@ public interface DictionaryDataMapper extends BaseMapper<DictionaryData> { public Integer selectSupperOrgId(); + public boolean isSupperOrgId(Integer orgId); } \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/HangzhouAqiMapper.java b/src/main/java/com/moral/mapper/HangzhouAqiMapper.java new file mode 100644 index 0000000..e4e263c --- /dev/null +++ b/src/main/java/com/moral/mapper/HangzhouAqiMapper.java @@ -0,0 +1,14 @@ +package com.moral.mapper; + +import com.moral.common.mapper.BaseMapper; +import com.moral.entity.HangzhouAqi; +import com.moral.entity.charts.TimePeriod; +import org.apache.ibatis.annotations.Param; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +public interface HangzhouAqiMapper extends BaseMapper<HangzhouAqi> { + public List<Map> selectAqisByCodeAndTimePeriod(@Param("code")String code,@Param("timePeriod") TimePeriod timePeriod); +} \ No newline at end of file diff --git a/src/main/java/com/moral/mapper/OrganizationMapper.java b/src/main/java/com/moral/mapper/OrganizationMapper.java index 0bf3158..56c73bb 100644 --- a/src/main/java/com/moral/mapper/OrganizationMapper.java +++ b/src/main/java/com/moral/mapper/OrganizationMapper.java @@ -10,5 +10,11 @@ public interface OrganizationMapper extends BaseMapper<Organization> { List<Organization> selectWithAreaNameByExample(Example example); List<Organization> getOrganizationsByAreaName(Map<String, Object> parameters); + + /** + * ���������������������������������id���������id���������0 + * @param orgId + * @return + */ List<Integer> selectLowerOrgIds(Integer orgId); } \ No newline at end of file diff --git a/src/main/java/com/moral/service/DeviceService.java b/src/main/java/com/moral/service/DeviceService.java index e76912f..9f29d35 100644 --- a/src/main/java/com/moral/service/DeviceService.java +++ b/src/main/java/com/moral/service/DeviceService.java @@ -44,4 +44,6 @@ List<Device> getDevicesByProfessionId(Map<String, Object> parameters); List<Device> getDevicesByOrganizationId(Map<String, Object> parameters); + + Map<String,Long> queryDeviceStateSummary(Integer orgId); } diff --git a/src/main/java/com/moral/service/HangzhouAqiService.java b/src/main/java/com/moral/service/HangzhouAqiService.java new file mode 100644 index 0000000..2138803 --- /dev/null +++ b/src/main/java/com/moral/service/HangzhouAqiService.java @@ -0,0 +1,14 @@ +package com.moral.service; + +import javax.validation.constraints.NotNull; +import java.util.List; +import java.util.Map; + +/** + * @Auther: fengxiang + * @Date: 2018/8/24 10:30 + * @Description: ������api������������ + */ +public interface HangzhouAqiService { + public List<Map> queryAqi24Hours(@NotNull Integer orgId); +} diff --git a/src/main/java/com/moral/service/MonitorPointService.java b/src/main/java/com/moral/service/MonitorPointService.java index 4328dc4..ad0afe4 100644 --- a/src/main/java/com/moral/service/MonitorPointService.java +++ b/src/main/java/com/moral/service/MonitorPointService.java @@ -23,7 +23,9 @@ List<MonitorPoint> getMonitorPointsByName(String name); List<Map<String,String>> queryMonitroPointsState(List<Integer> idList); - List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId); + Integer countOfSubOrgs(Integer orgId); + + List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId); List<MonitorPoint> getMonitorPointsByRegion(Map<String, Object> parameters); diff --git a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java index 264ed65..345dceb 100644 --- a/src/main/java/com/moral/service/impl/DeviceServiceImpl.java +++ b/src/main/java/com/moral/service/impl/DeviceServiceImpl.java @@ -4,6 +4,7 @@ import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.Page; @@ -14,9 +15,7 @@ import com.moral.common.util.ExampleUtil; import com.moral.common.util.RedisUtils; import com.moral.entity.DeviceVersion; -import com.moral.mapper.DeviceVersionMapper; -import com.moral.mapper.MonitorPointMapper; -import com.moral.mapper.OrganizationMapper; +import com.moral.mapper.*; import org.apache.commons.collections.MapUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; @@ -28,7 +27,6 @@ import com.github.pagehelper.PageHelper; import com.moral.common.util.ValidateUtil; import com.moral.entity.Device; -import com.moral.mapper.DeviceMapper; import com.moral.service.AccountService; import com.moral.service.DeviceService; import tk.mybatis.mapper.entity.Example; @@ -64,6 +62,10 @@ DeviceVersionMapper deviceVersionMapper; @Resource RedisUtils redisUtils; + @Resource + OrganizationMapper organizationMapper; + @Resource + DictionaryDataMapper dictionaryDataMapper; @Override public Map<String, Object> getDeviceStatesByAccount(Map<String, Object> parameters) { ValidateUtil.notNull(parameters.get("accountId"), "param.is.null"); @@ -479,5 +481,34 @@ ValidateUtil.notNull(parameters.get("organizationId"), "param.is.null"); return deviceMapper.getDevicesByOrganizationId(parameters); } - + @Override + public Map<String,Long> queryDeviceStateSummary(@NotNull Integer orgId){ + Map<String,Object> params = new HashMap<>(); + if(!dictionaryDataMapper.isSupperOrgId(orgId)){ + List<Integer> orgIds = organizationMapper.selectLowerOrgIds(orgId); + params.put("orgIds",orgIds); + } + List<Map<String, Object>> list = deviceMapper.getDeviceStatesByAccount(params); + Long all = 0L, normal = 0L, abnormal = 0L, stop = 0L; + for (Map<String, Object> map : list) { + Long count = (Long) map.get("count"); + all += count; + switch (Integer.valueOf((String) map.get("state"))) { + case 0: + normal = count; + break; + case 4: + stop = count; + break; + default: + abnormal += count; + } + } + Map<String,Long> result = new HashMap<>(); + result.put("all", all); + result.put("normal", normal); + result.put("abnormal", abnormal); + result.put("stop", stop); + return result; + } } diff --git a/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java new file mode 100644 index 0000000..1e2b781 --- /dev/null +++ b/src/main/java/com/moral/service/impl/HangzhouAqiServiceImpl.java @@ -0,0 +1,79 @@ +package com.moral.service.impl; + +import com.moral.common.exception.BusinessException; +import com.moral.common.util.ReportTimeFormat; +import com.moral.entity.Organization; +import com.moral.entity.charts.TimePeriod; +import com.moral.entity.charts.TimeUnits; +import com.moral.mapper.HangzhouAqiMapper; +import com.moral.mapper.OrganizationMapper; +import com.moral.service.HangzhouAqiService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +/** + * @Auther: fengxiang + * @Date: 2018/8/24 10:32 + * @Description:������api��������������� + */ +@Service +public class HangzhouAqiServiceImpl implements HangzhouAqiService{ + @Resource + private OrganizationMapper organizationMapper; + @Resource + private HangzhouAqiMapper hangzhouAqiMapper; + /** + * ������������id������������24������������aqi������ + * @param orgId + * @return ���������������24���������������������������������������0 + */ + @Override + public List<Map> queryAqi24Hours(Integer orgId){ + return queryAqi24Hours(orgId,false); + } + private List<Map> queryAqi24Hours(Integer orgId,boolean isGetCity) { + List<Map> aqi24HoursValues = new ArrayList<>(24); + Date start = ReportTimeFormat.dateCalc(new Date(), TimeUnits.HOUR,-24); + Date end = new Date(); + TimePeriod timePeriod = new TimePeriod(start,end,TimeUnits.HOUR); + Integer code = getCode(orgId,isGetCity); + if(code == null) { + throw new BusinessException("citeCode or areaCode is null;"); + } + List<Map> aqis = hangzhouAqiMapper.selectAqisByCodeAndTimePeriod(code.toString(),timePeriod); + List<String> timeList = ReportTimeFormat.makeTimeList(timePeriod); + if(aqis!=null && aqis.size()==0 && !isGetCity) { + return queryAqi24Hours(orgId,true); + } + int mTemp = 0; + for(int n =0;n<timeList.size();n++) { + String time = timeList.get(n); + Object aqiValue = null; + for(int m =mTemp;m<aqis.size();m++) { + Map<String,Object> rowData = aqis.get(m); + Object dbTime = rowData.get("time"); + if(time.equals(dbTime)){ + mTemp = m+1; + aqiValue = rowData.get("aqi"); + } + } + Map<String,Object> aqiItem = new HashMap<>(); + aqiItem.put("time",time); + aqiValue = aqiValue!=null?Float.valueOf(aqiValue.toString().replace("\"","")):null; + aqiItem.put("aqi",aqiValue); + aqi24HoursValues.add(aqiItem); + } + return aqi24HoursValues; + } + private Integer getCode(Integer orgId,boolean isGetCityCode) + { + Organization org = organizationMapper.selectByPrimaryKey(orgId); + if(isGetCityCode) { + return org.getCityCode(); + }else{ + return org.getAreaCode()!=null? org.getAreaCode() : org.getCityCode(); + } + } +} diff --git a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java index 78c626f..e79b10e 100644 --- a/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MonitorPointServiceImpl.java @@ -8,6 +8,8 @@ import java.util.stream.Collectors; import javax.annotation.Resource; +import javax.validation.constraints.NotNull; + import com.moral.mapper.DictionaryDataMapper; import com.moral.mapper.OrganizationMapper; import org.apache.commons.collections.CollectionUtils; @@ -83,13 +85,6 @@ public PageBean queryByPageBean(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS,pageBean); List<Example.Criteria> criteriaList = example.getOredCriteria(); - if(criteriaList!=null&&criteriaList.size()>0){ - for(Example.Criteria cri : criteriaList){ - cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE); - } - }else { - example.or().andNotEqualTo("isDelete",Constants.IS_DELETE_TRUE); - } PageHelper.startPage(pageBean.getPageIndex(),pageBean.getPageSize()); List<MonitorPoint> monitorPointList = monitorPointMapper.selectWithAreaNameByExample(example); return new PageBean(monitorPointList); @@ -214,6 +209,21 @@ return list; } + /** + * ������������������������������������ + * @param orgId + * @return + */ + @Override + public Integer countOfSubOrgs(@NotNull Integer orgId){ + Example example = new Example(ENTITY_CLASS); + //��������������������������� + if(!dictionaryDataMapper.isSupperOrgId(orgId)){ + List<Integer> orgIds = orgMapper.selectLowerOrgIds(orgId); + example.or().andIn("organizationId",orgIds); + } + return monitorPointMapper.selectCountByExample(example); + } @Override public List<MonitorPoint> getMonitorPointsByOrganizationId(Integer orgId) { Example example = new Example(MonitorPoint.class); diff --git a/src/main/resources/mapper/DictionaryDataMapper.xml b/src/main/resources/mapper/DictionaryDataMapper.xml index 67efb58..9e18298 100644 --- a/src/main/resources/mapper/DictionaryDataMapper.xml +++ b/src/main/resources/mapper/DictionaryDataMapper.xml @@ -16,8 +16,12 @@ id, dict_id, dict_data_key, dict_data_name, dict_data_value, is_fixed, is_delete, parent_id, description </sql> - <select id="selectSupperOrgId" parameterType="java.lang.String" resultType="java.lang.Integer"> + <select id="selectSupperOrgId" resultType="java.lang.Integer"> select dict_data_value from dictionary_data where dict_data_key = 'auth_config_super_org' </select> + <select id="isSupperOrgId" resultType="java.lang.Boolean"> + select count(*) from dictionary_data + where dict_data_key = 'auth_config_super_org' and dict_data_value = #{orgId,jdbcType=INTEGER} + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/HangzhouAqiMapper.xml b/src/main/resources/mapper/HangzhouAqiMapper.xml new file mode 100644 index 0000000..75d5c97 --- /dev/null +++ b/src/main/resources/mapper/HangzhouAqiMapper.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > +<mapper namespace="com.moral.mapper.HangzhouAqiMapper" > + <resultMap id="BaseResultMap" type="com.moral.entity.HangzhouAqi" > + <id column="time" property="time" jdbcType="TIMESTAMP" /> + <result column="aqi_json" property="aqiJson" jdbcType="OTHER" /> + <result column="city_code" property="cityCode" jdbcType="VARCHAR" /> + </resultMap> + <sql id="Base_Column_List" > + time, aqi_json, city_code + </sql> + <!--<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.util.Date" >--> + <!--select--> + <!--<include refid="Base_Column_List" />--> + <!--from hangzhou_aqi--> + <!--where time = #{time,jdbcType=TIMESTAMP}--> + <!--</select>--> + <select id="selectAqisByCodeAndTimePeriod" resultType="map" parameterType="java.util.Date" > + select + aqi_json->'$.AQI' as aqi,DATE_FORMAT(time,'${@com.moral.common.util.ReportTimeFormat@toMySqlTimeFormat(timePeriod.timeUnits)}') as 'time' + from hangzhou_aqi + where + ( + time >= #{timePeriod.startTime} + and time <![CDATA[<=]]> #{timePeriod.endTime} + ) + and + ( + city_code = #{code} + or + aqi_json->'$.city_code' = #{code} + ) + order by time asc + </select> +</mapper> \ No newline at end of file diff --git a/src/main/resources/mapper/HistoryMinutelyMapper.xml b/src/main/resources/mapper/HistoryMinutelyMapper.xml index 1509a27..d9c4cd8 100644 --- a/src/main/resources/mapper/HistoryMinutelyMapper.xml +++ b/src/main/resources/mapper/HistoryMinutelyMapper.xml @@ -31,7 +31,7 @@ AND time < #{end} </select> - <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.LinkedHashMap"> + <select id="getMonitorPointOrDeviceAvgData" resultType="java.util.Map"> SELECT DATE_FORMAT(time, #{typeFormat}) time <foreach collection="sensorKeys" open="," separator="," item="sensorKey"> -- Gitblit v1.8.0