From 2381fc00297bc668a35b3eed0debc5e6969d3fc1 Mon Sep 17 00:00:00 2001 From: blankk <2649084208@qq.com> Date: Fri, 1 Jul 2022 15:03:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E7=AB=99=E6=B0=B4=E4=BD=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/WaterPhotoInfoController.java | 23 ++++--- .../ruoyi/code/camera/domain/ChartData.java | 38 +++++++++++ .../code/camera/domain/WaterPhotoInfo.java | 4 +- .../com/ruoyi/code/camera/domain/YcData.java | 30 +++++++++ .../camera/mapper/WaterPhotoInfoMapper.java | 6 ++ .../service/IWaterPhotoInfoService.java | 9 +-- .../impl/WaterPhotoInfoServiceImpl.java | 65 +++++++++++++++++-- .../mapper/camera/WaterPhotoInfoMapper.xml | 49 ++++++++++++-- 8 files changed, 195 insertions(+), 29 deletions(-) create mode 100644 ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/ChartData.java create mode 100644 ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/YcData.java diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/controller/WaterPhotoInfoController.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/controller/WaterPhotoInfoController.java index 59881ff..918cbf3 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/camera/controller/WaterPhotoInfoController.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/controller/WaterPhotoInfoController.java @@ -1,20 +1,14 @@ package com.ruoyi.code.camera.controller; import com.ruoyi.code.camera.service.IWaterPhotoInfoService; -import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.page.R; -import com.ruoyi.common.core.page.TableDataInfo; -import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.poi.ExcelUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.util.Arrays; -import java.util.List; import java.util.Map; /** @@ -37,4 +31,15 @@ public class WaterPhotoInfoController extends BaseController public R list(@RequestParam Map params){ return waterPhotoInfoService.queryPage(params); } + + @RequestMapping("/getScWaterCurrentDataList") + public R getScWaterCurrentDataList(@RequestParam Map params){ + return waterPhotoInfoService.getScWaterCurrentDataList(params); + } + + @RequestMapping("/getChart") + public R getChart(@RequestParam Map params){ + Map map = waterPhotoInfoService.getChart(params); + return R.ok().put("data",map); + } } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/ChartData.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/ChartData.java new file mode 100644 index 0000000..34c3192 --- /dev/null +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/ChartData.java @@ -0,0 +1,38 @@ +package com.ruoyi.code.camera.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +@Data +public class ChartData implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + + private String name; + + private Integer stnmId; + + private String type; + + private String barMaxWidth = "20"; + + private boolean smooth = false; + + private String symbol = "none"; + + private List data; + + public ChartData(Integer id, String name, Integer stnmId, String type, List data) { + this.id = id; + this.name = name; + this.stnmId = stnmId; + this.type = type; + this.data = data; + } + + public ChartData() { + } +} diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/WaterPhotoInfo.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/WaterPhotoInfo.java index b3d0c6f..101e99f 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/WaterPhotoInfo.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/WaterPhotoInfo.java @@ -3,11 +3,9 @@ package com.ruoyi.code.camera.domain; import com.alibaba.fastjson.annotation.JSONField; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.io.Serializable; -import java.math.BigDecimal; /** @@ -43,7 +41,7 @@ public class WaterPhotoInfo implements Serializable private String imgName; /** 水位计名称*/ - private String name; + private String stcd; /** 起始时间*/ private String startTime; diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/YcData.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/YcData.java new file mode 100644 index 0000000..e9fb135 --- /dev/null +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/domain/YcData.java @@ -0,0 +1,30 @@ +package com.ruoyi.code.camera.domain; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class YcData implements Serializable { + private static final long serialVersionUID = 1L; + + private Integer id; + + private String stnm; + + private String stcd; + + private Integer stnmId; + + private String tm; + + private Long clock; + + private String status; + + private Integer modNum; + + private Double value; + + private String dtmnm; +} diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/mapper/WaterPhotoInfoMapper.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/mapper/WaterPhotoInfoMapper.java index 8f1f676..aa4b784 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/camera/mapper/WaterPhotoInfoMapper.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/mapper/WaterPhotoInfoMapper.java @@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.code.camera.domain.WaterPhotoInfo; +import com.ruoyi.code.camera.domain.YcData; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -19,4 +21,8 @@ import java.util.Map; public interface WaterPhotoInfoMapper extends BaseMapper { IPage queryPhotoList(Page page, @Param("params") Map params); + + IPage selectWaterCurrentDataList(Page page, @Param("params") Map params); + + List selectWaterData(@Param("params") Map params); } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/IWaterPhotoInfoService.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/IWaterPhotoInfoService.java index 1fd4ecb..e439ca7 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/IWaterPhotoInfoService.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/IWaterPhotoInfoService.java @@ -1,15 +1,9 @@ package com.ruoyi.code.camera.service; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; - import com.ruoyi.code.camera.domain.WaterPhotoInfo; import com.ruoyi.common.core.page.R; -import org.apache.ibatis.annotations.Param; -import org.springframework.web.multipart.MultipartFile; -import java.util.List; import java.util.Map; /** @@ -23,4 +17,7 @@ public interface IWaterPhotoInfoService extends IService R queryPage(Map params); + R getScWaterCurrentDataList(Map params); + + Map getChart(Map params); } diff --git a/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/impl/WaterPhotoInfoServiceImpl.java b/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/impl/WaterPhotoInfoServiceImpl.java index f85812a..82941de 100644 --- a/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/impl/WaterPhotoInfoServiceImpl.java +++ b/ruoyi-code/src/main/java/com/ruoyi/code/camera/service/impl/WaterPhotoInfoServiceImpl.java @@ -1,21 +1,18 @@ package com.ruoyi.code.camera.service.impl; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.code.camera.domain.ChartData; import com.ruoyi.code.camera.domain.WaterPhotoInfo; +import com.ruoyi.code.camera.domain.YcData; import com.ruoyi.code.camera.mapper.WaterPhotoInfoMapper; import com.ruoyi.code.camera.service.IWaterPhotoInfoService; import com.ruoyi.common.core.page.R; import com.ruoyi.common.utils.Query; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Collection; -import java.util.Map; -import java.util.function.Function; +import java.text.SimpleDateFormat; +import java.util.*; /** * Service业务层处理 @@ -39,4 +36,58 @@ public class WaterPhotoInfoServiceImpl extends ServiceImpl params) { + IPage page = baseMapper.selectWaterCurrentDataList( + new Query().getPage(params), + params + ); + return R.ok().put("count", page.getTotal()).put("data", page.getRecords()); + } + + @Override + public Map getChart(Map params) { + params.put("startTime",formatDate(new Long((String) params.get("startTime")))); + params.put("endTime",formatDate(new Long((String) params.get("endTime")))); + Map map = new HashMap<>(); + List legend = new ArrayList<>(); + List series = new ArrayList<>(); + // 图表的数据 + 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 String formatDate(Long d){ + Date date = new Date(d); + SimpleDateFormat sm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + return sm.format(date); + } + 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.setStnmId(dataList.get(0).getStnmId()); + data.setName(dataList.get(0).getStnm()); + 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/camera/WaterPhotoInfoMapper.xml b/ruoyi-code/src/main/resources/mapper/camera/WaterPhotoInfoMapper.xml index 7381e2a..58be98b 100644 --- a/ruoyi-code/src/main/resources/mapper/camera/WaterPhotoInfoMapper.xml +++ b/ruoyi-code/src/main/resources/mapper/camera/WaterPhotoInfoMapper.xml @@ -12,11 +12,52 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join camera c on s.camera_sn = c.devsn left join sc_water_data w on s.id = w.stnm_id - and s.stnm like concat('%',#{params.stnm},'%') - and c.name like concat('%',#{params.name},'%') - and w.tm >= #{params.startTime } - and w.tm <= #{params.endTime} + + and s.stnm like concat('%',#{params.stnm},'%') + and c.name like concat('%',#{params.name},'%') + and w.tm >= #{params.startTime } + and w.tm <= #{params.endTime} + + + +