修改 历史数据分页sql

master
wangh 7 months ago
parent 3eadca2e02
commit 3ccc30a394

@ -64,7 +64,7 @@ public class ApiController extends BaseController {
return AjaxResult.success(iApiService.queryPram(name));
}
@ApiOperation(tags = {"60脱水机"}, value = "获取设备状态")
@ApiOperation(tags = {"60脱水机"}, value = "获取设备状态 msg字段")
@GetMapping("/home/queryDeviceState")
public AjaxResult queryDeviceState(String name) {
if (name.equals("60型一体机A") ){
@ -89,47 +89,19 @@ public class ApiController extends BaseController {
// }
@ApiOperation(tags = {"60脱水机"}, value = "获取数据记录")
@GetMapping("/home/queryParamData")
public TableDataInfo queryParamData(QueryParam param) {
startPage();
List<RecordRaramData> recordRaramData = iApiService.queryParamData(param.getTimeInterval(),
param.getBeginTime(),param.getEndTime());
return getDataTable(recordRaramData);
}
//查询数据B
@ApiOperation(tags = {"60脱水机"}, value = "获取一体机B数据记录")
@GetMapping("/home/queryParamDataB")
public TableDataInfo queryParamDataB(@RequestParam(defaultValue = "1") int timeInterval, Date beginTime, Date endTime) {
public TableDataInfo queryParamData(@RequestParam(defaultValue = "1") int timeInterval, Date beginTime, Date endTime) {
System.out.println("时间间隔" + timeInterval);
startPage();
List<RecordRaramDataB> data = iApiService.queryParamData_B(timeInterval, beginTime, endTime);
return getDataTable(data);
}
//查询数据B
@ApiOperation(tags = {"60脱水机"}, value = "获取一体机B趋势")
@GetMapping("/home/queryBTrend")
public AjaxResult queryBTrend(@RequestParam(defaultValue = "1") int timeInterval, Date beginTime, Date endTime) {
return AjaxResult.success(iApiService.queryParamData_B(timeInterval, beginTime, endTime));
return getDataTable( iApiService.queryParamData(timeInterval, beginTime, endTime));
}
@ApiOperation(tags = {"60脱水机"}, value = "导出数据记录")
@PostMapping("/home/exportParamList")
@ResponseBody
public AjaxResult export(String name, String type, String colms, @RequestParam(defaultValue = "1") int timeInterval, Date beginTime, Date endTime) {
System.out.println("显示列:" + colms);
List<RecordRaramData> list = iApiService.queryParamData(timeInterval, beginTime, endTime);
ExcelUtil_2<RecordRaramData> util = new ExcelUtil_2(RecordRaramData.class);
List<RecordPiontData> list = iApiService.queryParamData(timeInterval, beginTime, endTime);
ExcelUtil_2<RecordPiontData> util = new ExcelUtil_2(RecordRaramData.class);
if (colms != null) {
List<String> tags = Arrays.asList(colms.split(","));
List<String> tagsF = new ArrayList<>(Arrays.asList("采集时间", "一体机A转速", "一体机A电流", "一体机A切刀转速", "一体机A切刀电流", "一体机A机头温度", "一体机A机头压力"));
@ -147,6 +119,13 @@ public class ApiController extends BaseController {
return util.exportExcel(list, "数据记录", name + "," + type);
}
//查询数据B
@ApiOperation(tags = {"60脱水机"}, value = "获取数据记录")
@GetMapping("/home/queryParamDataB")
public AjaxResult queryParamDataB(@RequestParam(defaultValue = "1") int timeInterval, Date beginTime, Date endTime) {
System.out.println("时间间隔" + timeInterval);
return AjaxResult.success(iApiService.queryParamData_B(timeInterval, beginTime, endTime));
}
@ApiOperation(tags = {"60脱水机"}, value = "导出数据记录")
@PostMapping("/home/exportParamListB")

@ -99,8 +99,8 @@
params.endTime = new Date($('#endTime1').val())
}
params.timeInterval=$('#timeInterval1').val();
$.get(ctx + 'broad/home/queryParamDataA', params, (e) => {
let data = e.rows
$.get(ctx + 'broad/home/queryParamData', params, (e) => {
let data = e.data
if (data.length > 0) {
$('#chart1').remove()
$("#modal1 .centerModal .centerModalInfo").append('<div class="chart1" id="chart1"></div>')
@ -133,8 +133,15 @@
el: '#chart2',
rowNum: 10,
timeout: 5,
header: ['序号', '<input type="checkbox" checked onchange="tableHeadChange(\'采集时间\',this)"/> 采集时间', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A转速\',this)"/> 一体机A转速', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A电流\',this)"/> 一体机A电流', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头压力\',this)"/> 一体机A机头压力', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头温度\',this)"/> 一体机A机头温度', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀电流\',this)"/> 一体机A切刀电流', '<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀转速\',this)"/> 一体机A切刀转速'],
data: data.map((val, i) => [i, val.time, val['一体机A转速'], val['一体机A电流'], val['一体机A机头压力'], val['一体机A机头温度'], val['一体机A切刀电流'], val['一体机A切刀转速']]),
header: ['序号', '<input type="checkbox" checked onchange="tableHeadChange(\'采集时间\',this)"/> 采集时间',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A转速\',this)"/> 一体机A转速',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A电流\',this)"/> 一体机A电流',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头压力\',this)"/> 一体机A机头压力',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A机头温度\',this)"/> 一体机A机头温度',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀电流\',this)"/> 一体机A切刀电流',
'<input type="checkbox" checked onchange="tableHeadChange(\'一体机A切刀转速\',this)"/> 一体机A切刀转速'],
data: data.map((val, i) => [i, val.recordTime, val['speedA'],
val['currentA'], val['pressureHead'], val['tempHead'], val['currentCutter'], val['speedCutter']]),
index: true,
fontColor: '#03BCD4 ',
indexBGC: '#86F3FF',

@ -24,27 +24,27 @@ public class RecordPiontData extends BaseEntity
private Date recordTime;
/** 一体机A转速 */
@Excel(name = "一体机A转速")
@Excel(name = "一体机转速")
private Double speedA;
/** 一体机A电流 */
@Excel(name = "一体机A电流")
@Excel(name = "一体机电流")
private Double currentA;
/** 一体机A切刀转速 */
@Excel(name = "一体机A切刀转速")
@Excel(name = "切刀转速")
private Double speedCutter;
/** 一体机A切刀电流 */
@Excel(name = "一体机A切刀电流")
@Excel(name = "切刀电流")
private Double currentCutter;
/** 一体机A机头温度 */
@Excel(name = "一体机A机头温度")
@Excel(name = "机头温度")
private Double tempHead;
/** 一体机A机头压力 */
@Excel(name = "一体机A机头压力")
@Excel(name = "机头压力")
private Double pressureHead;
public void setObjid(Long objid)

@ -1,9 +1,6 @@
package com.haiwei.manage.mapper;
import com.haiwei.manage.domain.DeviceState;
import com.haiwei.manage.domain.ParamVo;
import com.haiwei.manage.domain.RecordRaramData;
import com.haiwei.manage.domain.RecordRaramDataB;
import com.haiwei.manage.domain.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -21,7 +18,7 @@ public interface ApiMapper {
List<RecordRaramData> queryPramList(@Param("beginTime") Date beginTime,@Param("endTime") Date endTime);
List<RecordRaramData> queryParamData(@Param("timeInterval") int timeInterval, @Param("beginTime")Date beginTime,@Param("endTime") Date endTime);
List<RecordPiontData> queryParamData(@Param("timeInterval") int timeInterval, @Param("beginTime")Date beginTime, @Param("endTime") Date endTime);
List<RecordRaramDataB> queryPramList_B(@Param("beginTime") Date beginTime,@Param("endTime") Date endTime);
List<RecordRaramDataB> queryParamData_B(@Param("timeInterval") int timeInterval, @Param("beginTime")Date beginTime, @Param("endTime") Date endTime);

@ -1,9 +1,6 @@
package com.haiwei.manage.service;
import com.haiwei.manage.domain.DeviceState;
import com.haiwei.manage.domain.ParamVo;
import com.haiwei.manage.domain.RecordRaramData;
import com.haiwei.manage.domain.RecordRaramDataB;
import com.haiwei.manage.domain.*;
import java.util.Date;
import java.util.List;
@ -19,7 +16,7 @@ public interface IApiService {
List<RecordRaramData> queryPramList(Date beginTime, Date endTime);
List<RecordRaramData> queryParamData(int timeInterval, Date beginTime, Date endTime);
List<RecordPiontData> queryParamData(int timeInterval, Date beginTime, Date endTime);
List<RecordRaramDataB> queryParamData_B(int timeInterval, Date beginTime, Date endTime);
List<RecordRaramDataB> queryPramList_B(Date beginTime, Date endTime);

@ -1,9 +1,6 @@
package com.haiwei.manage.service.impl;
import com.haiwei.manage.domain.DeviceState;
import com.haiwei.manage.domain.ParamVo;
import com.haiwei.manage.domain.RecordRaramData;
import com.haiwei.manage.domain.RecordRaramDataB;
import com.haiwei.manage.domain.*;
import com.haiwei.manage.mapper.ApiMapper;
import com.haiwei.manage.service.IApiService;
import org.springframework.beans.factory.annotation.Autowired;
@ -37,7 +34,7 @@ public class ApiServiceImpl implements IApiService {
}
@Override
public List<RecordRaramData> queryParamData(int timeInterval, Date beginTime, Date endTime) {
public List<RecordPiontData> queryParamData(int timeInterval, Date beginTime, Date endTime) {
return mapper.queryParamData(timeInterval,beginTime,endTime);
}

@ -83,27 +83,35 @@
</select>
<select id="queryParamData" resultType="com.haiwei.manage.domain.RecordRaramData">
WITH CTE AS (
SELECT ROW_NUMBER() OVER (ORDER BY time) AS row_num,*
from (SELECT ee.point_name + info.PointName as pointname, ed.Data as data, CONVERT(varchar, ed.CreateTime, 120)
time
FROM EPointData ed
right join EPointsInfo info on ed.PID = info.ID
left join base_point_info ee on ee.objid = info.EID
<select id="queryParamData" resultMap="com.haiwei.manage.mapper.RecordPiontDataMapper.RecordPiontDataResult">
select *
from (SELECT row_number() over (order by record_time asc) AS row_num,
record_time,
MAX(CASE WHEN pointname = '一体机A转速' THEN data END) AS speed_a,
MAX(CASE WHEN pointname = '一体机A电流' THEN data END) AS current_a,
MAX(CASE WHEN pointname = '一体机A切刀转速' THEN data END) AS speed_cutter,
MAX(CASE WHEN pointname = '一体机A切刀电流' THEN data END) AS current_cutter,
MAX(CASE WHEN pointname = '一体机A机头温度' THEN data END) AS temp_head,
MAX(CASE WHEN pointname = '一体机A机头压力' THEN data END) AS pressure_head
FROM (SELECT ee.point_name + info.PointName AS pointname,
ed.Data AS data,
CONVERT(VARCHAR, ed.CreateTime, 120) AS record_time
FROM EPointData ed
RIGHT JOIN EPointsInfo info ON ed.PID = info.ID
LEFT JOIN base_point_info ee ON ee.objid = info.EID
<where>
device_name = '60型一体机A'
<if test="beginTime !=null and endTime !=null">
and ed.CreateTime between #{beginTime} and #{endTime}
</if>
</where>
) table_a
GROUP BY record_time) table_b
<where>
<if test="beginTime !=null and endTime !=null">
ed.CreateTime between #{beginTime} and #{endTime}
<if test="timeInterval != 1" >
row_num % #{timeInterval} = 0
</if>
</where>
) a PIVOT (max(data) FOR pointname IN ( 一体机A转速, 一体机A电流, 一体机A切刀转速, 一体机A切刀电流, 一体机A机头温度, 一体机A机头压力 )) t
)
SELECT *
FROM CTE
WHERE row_num % #{timeInterval} = 0
ORDER BY row_num;
</select>
<select id="queryParamData_B" resultType="com.haiwei.manage.domain.RecordRaramDataB">

@ -49,7 +49,7 @@
RIGHT JOIN EPointsInfo info ON ed.PID = info.ID
LEFT JOIN base_point_info ee ON ee.objid = info.EID
<where>
info.Status = 1
<if test="params.beginRecordTime != null and params.beginRecordTime != '' and params.endRecordTime != null and params.endRecordTime != ''">
and ed.CreateTime between #{params.beginRecordTime} and #{params.endRecordTime}
</if>

Loading…
Cancel
Save