包头bug修改
This commit is contained in:
parent
a65c3927ca
commit
0bb5257904
@ -1,12 +1,11 @@
|
||||
package com.zhgd.xmgl.modules.concrete.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.entity.vo.ConcreteMonitorCurrentDataVo;
|
||||
import com.zhgd.xmgl.modules.baotou.entity.ConstructionPlanLedgerSet;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorDevPointPosition;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.vo.BaotouConcreteMonitorCurrentDataVo;
|
||||
@ -140,11 +139,37 @@ public class ConcreteMonitorCurrentDataController {
|
||||
|
||||
@ApiOperation(value = "手动采集添加混凝土监测-实时数据信息", notes = "手动采集添加混凝土监测-实时数据信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/manual/add")
|
||||
public Result<ConcreteMonitorCurrentData> addByManual(@RequestBody ConcreteMonitorCurrentDataVo concreteMonitorCurrentDataVo) {
|
||||
concreteMonitorCurrentDataVo.setUploadType(2);
|
||||
concreteMonitorCurrentDataService.saveConcreteMonitorCurrentData(concreteMonitorCurrentDataVo);
|
||||
public Result addByManual(@RequestBody ConcreteMonitorCurrentDataVo vo) {
|
||||
concreteMonitorCurrentDataService.remove(new LambdaQueryWrapper<ConcreteMonitorCurrentData>()
|
||||
.eq(ConcreteMonitorCurrentData::getDevSn, vo.getDevSn())
|
||||
.eq(ConcreteMonitorCurrentData::getReceiveTime, vo.getReceiveTime())
|
||||
);
|
||||
vo.setUploadType(2);
|
||||
concreteMonitorCurrentDataService.saveConcreteMonitorCurrentData(vo);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "包头删除混凝土监测-实时数据", notes = "包头删除混凝土监测-实时数据", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "devSn", value = "设备编号", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "receiveTime", value = "接收时间", paramType = "body", required = true, dataType = "String"),
|
||||
})
|
||||
@PostMapping(value = "/deleteByBaotou")
|
||||
public Result deleteByBaotou(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||
concreteMonitorCurrentDataService.remove(new LambdaQueryWrapper<ConcreteMonitorCurrentData>()
|
||||
.eq(ConcreteMonitorCurrentData::getDevSn, MapUtils.getString(map, "devSn"))
|
||||
.eq(ConcreteMonitorCurrentData::getReceiveTime, MapUtils.getString(map, "receiveTime")));
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "编辑混凝土监测-实时数据", notes = "编辑混凝土监测-实时数据", httpMethod = "POST")
|
||||
@PostMapping(value = "/manual/edit")
|
||||
public Result editByManual(@RequestBody ConcreteMonitorCurrentDataVo vo) {
|
||||
concreteMonitorCurrentDataService.remove(new LambdaQueryWrapper<ConcreteMonitorCurrentData>()
|
||||
.eq(ConcreteMonitorCurrentData::getDevSn, vo.getDevSn())
|
||||
.eq(ConcreteMonitorCurrentData::getReceiveTime, vo.getReceiveTime())
|
||||
);
|
||||
this.addByManual(vo);
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,5 +65,7 @@ public class ConcreteMonitorCurrentData implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "报警等级,1 紧急告警,2 重要告警,3 次要告警,4 提示告警,5 正常")
|
||||
private Integer alarmLevel;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "监测点点位名称")
|
||||
private String pointName;
|
||||
}
|
||||
|
||||
@ -1,23 +1,18 @@
|
||||
package com.zhgd.xmgl.modules.concrete.entity.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class BaotouConcreteMonitorCurrentDataVo {
|
||||
/**
|
||||
* 混凝土监测设备唯一标识
|
||||
*/
|
||||
@ApiModelProperty(value = "混凝土监测设备唯一标识")
|
||||
private String devSn;
|
||||
public class BaotouConcreteMonitorCurrentDataVo extends ConcreteMonitorCurrentData {
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private String devName;
|
||||
@ApiModelProperty(value = "1自动采集2手动采集")
|
||||
private Integer uploadType;
|
||||
@ApiModelProperty(value = "接收时间")
|
||||
private String receiveTime;
|
||||
@ApiModelProperty(value = "监控点数量")
|
||||
private Integer pointNum;
|
||||
private List<ConcreteMonitorCurrentData> dataList;
|
||||
}
|
||||
|
||||
@ -6,16 +6,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.entity.vo.ConcreteMonitorCurrentDataVo;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
|
||||
import com.zhgd.xmgl.modules.concrete.entity.vo.BaotouConcreteMonitorCurrentDataVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @Description: 混凝土监测-实时数据
|
||||
@ -35,4 +31,6 @@ public interface ConcreteMonitorCurrentDataMapper extends BaseMapper<ConcreteMon
|
||||
ConcreteMonitorCurrentData newestCurrentData(Map<String, Object> map);
|
||||
|
||||
IPage<BaotouConcreteMonitorCurrentDataVo> queryList(Page<BaotouConcreteMonitorCurrentDataVo> page, @Param(Constants.WRAPPER) QueryWrapper<BaotouConcreteMonitorCurrentDataVo> queryWrapper, @Param("param") HashMap<String, Object> param);
|
||||
|
||||
List<ConcreteMonitorCurrentData> queryDetailList(@Param("param") HashMap<String, Object> param);
|
||||
}
|
||||
|
||||
@ -72,11 +72,33 @@
|
||||
<select id="queryList" resultType="com.zhgd.xmgl.modules.concrete.entity.vo.BaotouConcreteMonitorCurrentDataVo">
|
||||
select * from (
|
||||
select t.*
|
||||
,cmdpp.point_name
|
||||
,cmd.dev_name
|
||||
,cmd.point_num
|
||||
from concrete_monitor_current_data t
|
||||
left join concrete_monitor_dev cmd on t.dev_sn=cmd.dev_sn
|
||||
join concrete_monitor_dev_point_position cmdpp on t.point_no = cmdpp.point_no and cmdpp.dev_sn=t.dev_sn
|
||||
join concrete_monitor_dev cmd on t.dev_sn=cmd.dev_sn
|
||||
group by t.receive_time
|
||||
)t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="queryDetailList" resultType="com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData">
|
||||
select t.*
|
||||
,cmdpp.point_name
|
||||
,cmd.dev_name
|
||||
,cmd.point_num
|
||||
from concrete_monitor_current_data t
|
||||
join concrete_monitor_dev_point_position cmdpp on t.point_no = cmdpp.point_no and cmdpp.dev_sn=t.dev_sn
|
||||
join concrete_monitor_dev cmd on t.dev_sn=cmd.dev_sn
|
||||
where t.project_sn=#{param.projectSn}
|
||||
and t.dev_sn in
|
||||
<foreach collection="param.devSns" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
and t.receive_time in
|
||||
<foreach collection="param.times" index="index" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -27,6 +27,7 @@ import com.zhgd.xmgl.modules.concrete.mapper.ConcreteMonitorDevPointPositionMapp
|
||||
import com.zhgd.xmgl.modules.concrete.service.IConcreteMonitorAlarmService;
|
||||
import com.zhgd.xmgl.modules.concrete.service.IConcreteMonitorCurrentDataService;
|
||||
import com.zhgd.xmgl.util.DateUtils;
|
||||
import com.zhgd.xmgl.util.MapBuilder;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@ -77,6 +78,7 @@ public class ConcreteMonitorCurrentDataServiceImpl extends ServiceImpl<ConcreteM
|
||||
if (concreteMonitorCurrentDataVo.getUploadType() != null) {
|
||||
currentData.setUploadType(concreteMonitorCurrentDataVo.getUploadType());
|
||||
}
|
||||
currentData.setId(null);
|
||||
concreteMonitorCurrentDataMapper.insert(currentData);
|
||||
QueryWrapper<ConcreteMonitorDevPointPosition> qu = new QueryWrapper<>();
|
||||
qu.lambda().eq(ConcreteMonitorDevPointPosition::getProjectSn, projectSn)
|
||||
@ -184,19 +186,24 @@ public class ConcreteMonitorCurrentDataServiceImpl extends ServiceImpl<ConcreteM
|
||||
public IPage<BaotouConcreteMonitorCurrentDataVo> queryPageList(HashMap<String, Object> param) {
|
||||
Page<BaotouConcreteMonitorCurrentDataVo> page = PageUtil.getPage(param);
|
||||
QueryWrapper<BaotouConcreteMonitorCurrentDataVo> queryWrapper = QueryGenerator.initPageQueryWrapper(BaotouConcreteMonitorCurrentDataVo.class, param, true);
|
||||
;
|
||||
IPage<BaotouConcreteMonitorCurrentDataVo> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||
List<BaotouConcreteMonitorCurrentDataVo> records = pageList.getRecords();
|
||||
if (CollUtil.isNotEmpty(records)) {
|
||||
List<String> times = records.stream().map(BaotouConcreteMonitorCurrentDataVo::getReceiveTime).collect(Collectors.toList());
|
||||
List<String> devsns = records.stream().map(BaotouConcreteMonitorCurrentDataVo::getDevSn).collect(Collectors.toList());
|
||||
Map<String, List<ConcreteMonitorCurrentData>> timeMap = this.list(new LambdaQueryWrapper<ConcreteMonitorCurrentData>()
|
||||
.in(ConcreteMonitorCurrentData::getReceiveTime, times).in(ConcreteMonitorCurrentData::getDevSn, devsns)).stream().collect(Collectors.groupingBy(ConcreteMonitorCurrentData::getReceiveTime));
|
||||
Map<String, List<ConcreteMonitorCurrentData>> timeMap = baseMapper.queryDetailList(new MapBuilder<String, Object>()
|
||||
.put("projectSn", MapUtils.getString(param, "projectSn"))
|
||||
.put("times", times)
|
||||
.put("devSns", devsns)
|
||||
.build()).stream().collect(Collectors.groupingBy(ConcreteMonitorCurrentData::getReceiveTime));
|
||||
for (BaotouConcreteMonitorCurrentDataVo record : records) {
|
||||
List<ConcreteMonitorCurrentData> concreteMonitorCurrentDatas = timeMap.get(record.getReceiveTime());
|
||||
if (concreteMonitorCurrentDatas != null) {
|
||||
concreteMonitorCurrentDatas.sort((o1, o2) -> o1.getPointNo().compareTo(o2.getPointNo()));
|
||||
record.setDataList(concreteMonitorCurrentDatas);
|
||||
}
|
||||
}
|
||||
}
|
||||
pageList.setRecords(records);
|
||||
return pageList;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user