4670101279 8 months ago
parent
commit
2aa4fb69ff
  1. 6
      ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java
  2. 14
      ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java
  3. 8
      ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java
  4. 2
      ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java
  5. 49
      ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java
  6. 17
      ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml

6
ruoyi-code/src/main/java/com/ruoyi/code/rtudata/controller/RtuDataController.java

@ -104,4 +104,10 @@ public class RtuDataController extends BaseController @@ -104,4 +104,10 @@ public class RtuDataController extends BaseController
return R.ok();
}
@RequestMapping("/getChart")
public R getChart(@RequestParam Map<String, Object> params){
Map<String, Object> map = rtuDataService.getChart(params);
return R.ok().put("data",map);
}
}

14
ruoyi-code/src/main/java/com/ruoyi/code/rtudata/domain/RtuData.java

@ -1,16 +1,13 @@ @@ -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 @@ -52,5 +49,6 @@ public class RtuData implements Serializable
/** 上报时间 */
private Date updDt;
/** 原始数据 */
private String originData;
}

8
ruoyi-code/src/main/java/com/ruoyi/code/rtudata/mapper/RtuDataMapper.java

@ -1,10 +1,13 @@ @@ -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<RtuData> @@ -17,4 +20,9 @@ public interface RtuDataMapper extends BaseMapper<RtuData>
{
List<RtuData> tabsList();
List<Integer> getSids(@Param("params") Map<String, Object> params);
List<YcData> selectWaterData(@Param("params") Map<String, Object> params);
}

2
ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/IRtuDataService.java

@ -20,4 +20,6 @@ public interface IRtuDataService extends IService<RtuData> @@ -20,4 +20,6 @@ public interface IRtuDataService extends IService<RtuData>
R queryPage(Map<String, Object> params);
R tabsList();
Map<String, Object> getChart(Map<String, Object> params);
}

49
ruoyi-code/src/main/java/com/ruoyi/code/rtudata/service/impl/RtuDataServiceImpl.java

@ -3,6 +3,8 @@ package com.ruoyi.code.rtudata.service.impl; @@ -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; @@ -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<RtuDataMapper, RtuData> impl @@ -43,4 +47,49 @@ public class RtuDataServiceImpl extends ServiceImpl<RtuDataMapper, RtuData> impl
return R.ok().put("data", list);
}
@Override
public Map<String, Object> getChart(Map<String, Object> params) {
Map<String, Object> map = new HashMap<>();
List<String> legend = new ArrayList<>();
List<ChartData> series = new ArrayList<>();
List<Integer> 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<String, Object> params){
ChartData data = null;
List<YcData> 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<Object> formatChartData(List<YcData> dataList){
List<Object> 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;
}
}

17
ruoyi-code/src/main/resources/mapper/rtudata/RtuDataMapper.xml

@ -7,4 +7,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -7,4 +7,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="tabsList" resultType="com.ruoyi.code.rtudata.domain.RtuData">
SELECT DISTINCT item,item_code FROM `rtu_data`
</select>
<select id="getSids" resultType="java.lang.Integer">
SELECT DISTINCT sid FROM rtu_data
<where>
item_code = #{params.itemCode}
<if test="params.startTime != null">
and dt>=#{params.startTime}
</if>
<if test="params.endTime != null">
and dt &lt;=#{params.endTime}
</if>
</where>
</select>
<select id="selectWaterData" resultType="com.ruoyi.code.camera.domain.YcData">
SELECT id, sid as stnm, dt as tm, unix_timestamp(dt) as clock, val as value from rtu_data
where item_code = #{params.itemCode} and sid = #{params.sid} and dt>=#{params.startTime} and dt &lt;=#{params.endTime}
order by dt desc
</select>
</mapper>

Loading…
Cancel
Save