diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java index ec1fcc5..bdb4c1e 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java @@ -104,4 +104,10 @@ public class RtuDataController extends BaseController return R.ok(); } + @RequestMapping("/getChart") + public R getChart(@RequestParam Map params){ + Map map = rtuDataService.getChart(params); + return R.ok().put("data",map); + } + } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java index 4815c2b..1702e60 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java @@ -1,16 +1,13 @@ package com.ruoyi.code.rtudata.domain; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; import com.baomidou.mybatisplus.annotation.IdType; -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableId; -import com.ruoyi.common.annotation.Excel; -import java.io.Serializable; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.io.Serializable; +import java.util.Date; + /** * 数据列表对象 rtu_data @@ -52,5 +49,6 @@ public class RtuData implements Serializable /** 上报时间 */ private Date updDt; - + /** 原始数据 */ + private String originData; } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java index 99c8f2c..8d7b6ba 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java @@ -1,10 +1,13 @@ package com.ruoyi.code.rtudata.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.code.camera.domain.YcData; import com.ruoyi.code.rtudata.domain.RtuData; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; +import java.util.Map; /** * Mapper接口 @@ -17,4 +20,9 @@ public interface RtuDataMapper extends BaseMapper { List tabsList(); + + List getSids(@Param("params") Map params); + + List selectWaterData(@Param("params") Map params); + } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java index 660afd7..fcaefc7 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java @@ -20,4 +20,6 @@ public interface IRtuDataService extends IService R queryPage(Map params); R tabsList(); + + Map getChart(Map params); } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java index f0591c4..d6b3aa5 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.code.rtudata.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.code.camera.domain.ChartData; +import com.ruoyi.code.camera.domain.YcData; import com.ruoyi.code.rtudata.domain.RtuData; import com.ruoyi.code.rtudata.mapper.RtuDataMapper; import com.ruoyi.code.rtudata.service.IRtuDataService; @@ -11,6 +13,8 @@ import com.ruoyi.common.utils.Query; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,4 +47,49 @@ public class RtuDataServiceImpl extends ServiceImpl impl return R.ok().put("data", list); } + @Override + public Map getChart(Map params) { + Map map = new HashMap<>(); + List legend = new ArrayList<>(); + List series = new ArrayList<>(); + List sids = baseMapper.getSids(params); + for (Integer sid : sids) { + params.put("sid", sid); + // 图表的数据 + ChartData chartData = getChartOptionData(params); + if (chartData != null) { + series.add(chartData); + legend.add(chartData.getName()); + } + } + map.put("legend",legend); + map.put("series",series); + return map; + } + + public ChartData getChartOptionData(Map params){ + ChartData data = null; + List dataList = baseMapper.selectWaterData(params); + if(dataList != null && dataList.size()>0){ + data = new ChartData(); + data.setId(dataList.get(0).getId()); + data.setName(dataList.get(0).getStnm()); + String item = (String) params.get("item"); + if (item.contains("降水量")){ + data.setType("bar"); + }else{ + data.setType("line"); + } + data.setData(formatChartData(dataList)); + } + return data; + } + + public List formatChartData(List dataList){ + List objs = new ArrayList<>(); + for (int j = 0 ; j< dataList.size() ; j++){ + objs.add(new Object[]{dataList.get(j).getClock()*1000,dataList.get(j).getValue()}); + } + return objs; + } } diff --git a/ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml b/ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml index 5c5c538..f0cda92 100644 --- a/ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml +++ b/ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml @@ -7,4 +7,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + +