bug修复

This commit is contained in:
guo 2023-08-08 16:22:13 +08:00
parent eab1e05e2d
commit 8c6e852c4c
9 changed files with 112 additions and 100 deletions

View File

@ -2,9 +2,9 @@ package com.zhgd.xmgl.modules.concrete.controller;
import com.gexin.fastjson.JSON;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
import com.zhgd.xmgl.entity.vo.ConcreteMonitorCurrentDataVo;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorDevPointPosition;
import com.zhgd.xmgl.modules.concrete.service.IConcreteMonitorCurrentDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -25,7 +25,7 @@ import java.util.Map;
* @Title: Controller
* @Description: 混凝土监测-实时数据
* @author pds
* @date 2021-04-22
* @date 2021-04-22
* @version V1.0
*/
@RestController
@ -33,31 +33,32 @@ import java.util.Map;
@Slf4j
@Api(tags = "混凝土监测-实时数据")
public class ConcreteMonitorCurrentDataController {
@Autowired
private IConcreteMonitorCurrentDataService concreteMonitorCurrentDataService;
@Autowired
private IConcreteMonitorCurrentDataService concreteMonitorCurrentDataService;
/**
* 添加
* 添加
*
* @param
* @return
*/
@ApiOperation(value = " 添加混凝土监测-实时数据信息", notes = "添加混凝土监测-实时数据信息" , httpMethod="POST")
@PostMapping(value = "/add")
public Result<ConcreteMonitorCurrentData> add(@RequestBody ConcreteMonitorCurrentDataVo concreteMonitorCurrentDataVo) {
@ApiOperation(value = " 添加混凝土监测-实时数据信息", notes = "添加混凝土监测-实时数据信息", httpMethod = "POST")
@PostMapping(value = "/add")
public Result<ConcreteMonitorCurrentData> add(@RequestBody ConcreteMonitorCurrentDataVo concreteMonitorCurrentDataVo) {
log.info("添加混凝土监测-实时数据信息:{}", JSON.toJSONString(concreteMonitorCurrentDataVo));
concreteMonitorCurrentDataService.saveConcreteMonitorCurrentData(concreteMonitorCurrentDataVo);
return Result.ok();
}
}
@ApiOperation(value = "查询混凝土监测设备各点位最新一条实时数据", notes = "查询凝土监测设备各点位最新一条实时数据" , httpMethod="POST")
@ApiOperation(value = "查询混凝土监测设备各点位最新一条实时数据", notes = "查询凝土监测设备各点位最新一条实时数据", httpMethod = "POST")
@ApiImplicitParam(name = "devSn", value = "塔机设备编号", paramType = "query", required = true, dataType = "Integer")
@PostMapping(value = "/getNewestConcreteMonitorCurrentData")
public Result<List<EntityMap>> getNewestConcreteMonitorCurrentData(@RequestBody Map<String,Object> map) {
public Result<List<ConcreteMonitorDevPointPosition>> getNewestConcreteMonitorCurrentData(@RequestBody Map<String, Object> map) {
return Result.success(concreteMonitorCurrentDataService.getNewestConcreteMonitorCurrentData(map));
}
@ApiOperation(value = "查询混凝土监测当日实时数据", notes = "查询凝土监测当日实时数据" , httpMethod="POST")
@ApiOperation(value = "查询混凝土监测当日实时数据", notes = "查询凝土监测当日实时数据", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "devSn", value = "塔机设备编号", paramType = "query", required = true, dataType = "String"),
@ -65,7 +66,7 @@ public class ConcreteMonitorCurrentDataController {
@ApiImplicitParam(name = "pointNo", value = "监测点点位号", paramType = "query", required = true, dataType = "String")
})
@PostMapping(value = "/getTodayConcreteMonitorCurrentDataList")
public Result<List<ConcreteMonitorCurrentData>> getTodayConcreteMonitorCurrentDataList(@RequestBody Map<String,Object> map) {
public Result<List<ConcreteMonitorCurrentData>> getTodayConcreteMonitorCurrentDataList(@RequestBody Map<String, Object> map) {
return Result.success(concreteMonitorCurrentDataService.getTodayConcreteMonitorCurrentDataList(map));
}

View File

@ -1,50 +1,66 @@
package com.zhgd.xmgl.modules.concrete.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.util.List;
/**
* @Description: 混凝土监测设备-监测点位置
* @author pds
* @date 2021-04-22
* @date 2021-04-22
* @version V1.0
*/
@Data
@TableName("concrete_monitor_dev_point_position")
@ApiModel(value="ConcreteMonitorDevPointPosition实体类",description="ConcreteMonitorDevPointPosition")
@ApiModel(value = "ConcreteMonitorDevPointPosition实体类", description = "ConcreteMonitorDevPointPosition")
public class ConcreteMonitorDevPointPosition implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value="id")
private java.lang.Long id ;
/**设备编号*/
@Excel(name = "设备编号", width = 15)
@ApiModelProperty(value="设备编号")
private java.lang.String devSn ;
/**项目sn*/
@ApiModelProperty(value = "id")
private java.lang.Long id;
/**
* 设备编号
*/
@Excel(name = "设备编号", width = 15)
@ApiModelProperty(value = "设备编号")
private java.lang.String devSn;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value="项目sn")
private java.lang.String projectSn ;
/**监测点点位名称*/
@Excel(name = "监测点点位名称", width = 15)
@ApiModelProperty(value="监测点点位名称")
private java.lang.String pointName ;
/**监测点点位号*/
@Excel(name = "监测点点位号", width = 15)
@ApiModelProperty(value="监测点点位号")
private java.lang.Integer pointNo ;
/**温度报警阀值*/
@Excel(name = "温度报警阀值", width = 15)
@ApiModelProperty(value="温度报警阀值")
private java.lang.Double temperatureThreshold ;
@ApiModelProperty(value = "项目sn")
private java.lang.String projectSn;
/**
* 监测点点位名称
*/
@Excel(name = "监测点点位名称", width = 15)
@ApiModelProperty(value = "监测点点位名称")
private java.lang.String pointName;
/**
* 监测点点位号
*/
@Excel(name = "监测点点位号", width = 15)
@ApiModelProperty(value = "监测点点位号")
private java.lang.Integer pointNo;
/**
* 温度报警阀值
*/
@Excel(name = "温度报警阀值", width = 15)
@ApiModelProperty(value = "温度报警阀值")
private java.lang.Double temperatureThreshold;
@TableField(exist = false)
@ApiModelProperty(value = "混凝土监测-实时数据")
private List<ConcreteMonitorCurrentData> list;
}

View File

@ -20,5 +20,5 @@ public interface ConcreteMonitorCurrentDataMapper extends BaseMapper<ConcreteMon
List<ConcreteMonitorCurrentData> getTodayConcreteMonitorCurrentDataList(Map<String, Object> map);
List<EntityMap> getNewestConcreteMonitorCurrentData(@Param("devSn") String devSn, @Param("pointNo")String pointNo);
List<ConcreteMonitorCurrentData> getNewestConcreteMonitorCurrentData(@Param("devSn") String devSn, @Param("pointNo") String pointNo);
}

View File

@ -4,6 +4,7 @@ import java.util.List;
import java.util.Map;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorDevPointPosition;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@ -17,5 +18,4 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface ConcreteMonitorDevPointPositionMapper extends BaseMapper<ConcreteMonitorDevPointPosition> {
List<EntityMap> selectConcreteMonitorDevPointPositionList(Map<String, Object> map);
}

View File

@ -17,12 +17,12 @@
</select>
<select id="getNewestConcreteMonitorCurrentData" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
<select id="getNewestConcreteMonitorCurrentData"
resultType="com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData">
SELECT a.*
from concrete_monitor_current_data a
WHERE dev_sn=#{devSn} and point_no=#{pointNo}
ORDER BY receive_time DESC
LIMIT 1
</select>
</mapper>
</mapper>

View File

@ -2,11 +2,4 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.concrete.mapper.ConcreteMonitorDevPointPositionMapper">
<select id="selectConcreteMonitorDevPointPositionList"
resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
select *
from concrete_monitor_dev_point_position
where dev_sn=#{devSn}
</select>
</mapper>
</mapper>

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
import com.zhgd.xmgl.entity.vo.ConcreteMonitorCurrentDataVo;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorDevPointPosition;
import java.util.List;
import java.util.Map;
@ -20,5 +21,5 @@ public interface IConcreteMonitorCurrentDataService extends IService<ConcreteMon
List<ConcreteMonitorCurrentData> getTodayConcreteMonitorCurrentDataList(Map<String, Object> map);
List<EntityMap> getNewestConcreteMonitorCurrentData(Map<String, Object> map);
List<ConcreteMonitorDevPointPosition> getNewestConcreteMonitorCurrentData(Map<String, Object> map);
}

View File

@ -1,9 +1,9 @@
package com.zhgd.xmgl.modules.concrete.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.entity.vo.ConcreteMonitorCurrentDataVo;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorAlarm;
import com.zhgd.xmgl.modules.concrete.entity.ConcreteMonitorCurrentData;
@ -91,12 +91,13 @@ public class ConcreteMonitorCurrentDataServiceImpl extends ServiceImpl<ConcreteM
}
@Override
public List<EntityMap> getNewestConcreteMonitorCurrentData(Map<String, Object> map) {
List<EntityMap> pointList = concreteMonitorDevPointPositionMapper.selectConcreteMonitorDevPointPositionList(map);
public List<ConcreteMonitorDevPointPosition> getNewestConcreteMonitorCurrentData(Map<String, Object> map) {
String devSn = MapUtils.getString(map, "devSn");
List<ConcreteMonitorDevPointPosition> pointList = concreteMonitorDevPointPositionMapper.selectList(new LambdaQueryWrapper<ConcreteMonitorDevPointPosition>().eq(ConcreteMonitorDevPointPosition::getDevSn, devSn));
if (pointList != null && pointList.size() > 0) {
for (EntityMap data : pointList) {
List<EntityMap> list = concreteMonitorCurrentDataMapper.getNewestConcreteMonitorCurrentData(MapUtils.getString(data, "devSn"), MapUtils.getString(data, "pointNo"));
data.put("list", list);
for (ConcreteMonitorDevPointPosition data : pointList) {
List<ConcreteMonitorCurrentData> list = concreteMonitorCurrentDataMapper.getNewestConcreteMonitorCurrentData(devSn, String.valueOf(data.getPointNo()));
data.setList(list);
}
}
return pointList;

View File

@ -27,7 +27,7 @@ import java.util.UUID;
/**
* @Description: 混凝土监测设备
* @author pds
* @date 2021-04-22
* @date 2021-04-22
* @version V1.0
*/
@Service
@ -43,21 +43,21 @@ public class ConcreteMonitorDevServiceImpl extends ServiceImpl<ConcreteMonitorDe
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
Page<EntityMap> page = new Page<>(pageNo, pageSize);
List<EntityMap> list=concreteMonitorDevMapper.selectConcreteMonitorDevPageList(page, map);
List<EntityMap> list = concreteMonitorDevMapper.selectConcreteMonitorDevPageList(page, map);
return page.setRecords(list);
}
@Override
public List<ConcreteMonitorDev> selectConcreteMonitorDevList(Map<String, Object> map) {
QueryWrapper<ConcreteMonitorDev> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDev::getProjectSn, MapUtils.getString(map,"projectSn"));
List<ConcreteMonitorDev> list=concreteMonitorDevMapper.selectList(queryWrapper);
if(list!=null&&list.size()>0){
for (ConcreteMonitorDev dev:list){
QueryWrapper<ConcreteMonitorDevPointPosition> qu=new QueryWrapper<>();
qu.lambda().eq(ConcreteMonitorDevPointPosition::getDevSn,dev.getDevSn())
.eq(ConcreteMonitorDevPointPosition::getProjectSn,dev.getProjectSn());
List<ConcreteMonitorDevPointPosition> pointList=concreteMonitorDevPointPositionMapper.selectList(qu);
QueryWrapper<ConcreteMonitorDev> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDev::getProjectSn, MapUtils.getString(map, "projectSn"));
List<ConcreteMonitorDev> list = concreteMonitorDevMapper.selectList(queryWrapper);
if (list != null && list.size() > 0) {
for (ConcreteMonitorDev dev : list) {
QueryWrapper<ConcreteMonitorDevPointPosition> qu = new QueryWrapper<>();
qu.lambda().eq(ConcreteMonitorDevPointPosition::getDevSn, dev.getDevSn())
.eq(ConcreteMonitorDevPointPosition::getProjectSn, dev.getProjectSn());
List<ConcreteMonitorDevPointPosition> pointList = concreteMonitorDevPointPositionMapper.selectList(qu);
dev.setPointList(pointList);
}
}
@ -68,20 +68,20 @@ public class ConcreteMonitorDevServiceImpl extends ServiceImpl<ConcreteMonitorDe
public void saveConcreteMonitorDev(ConcreteMonitorDev concreteMonitorDev) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
concreteMonitorDev.setAddTime(sdf.format(new Date()));
if(StringUtils.isEmpty(concreteMonitorDev.getDevSn())){
if (StringUtils.isEmpty(concreteMonitorDev.getDevSn())) {
concreteMonitorDev.setDevSn(UUID.randomUUID().toString().replace("-", "").toUpperCase());
}else{
QueryWrapper<ConcreteMonitorDev> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDev::getDevSn,concreteMonitorDev.getDevSn());
int count=concreteMonitorDevMapper.selectCount(queryWrapper);
if(count>0){
} else {
QueryWrapper<ConcreteMonitorDev> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDev::getDevSn, concreteMonitorDev.getDevSn());
int count = concreteMonitorDevMapper.selectCount(queryWrapper);
if (count > 0) {
throw new OpenAlertException(MessageUtil.get("EquipmentNumExistErr"));
}
}
concreteMonitorDev.setRealTime(new Date());
concreteMonitorDevMapper.insert(concreteMonitorDev);
if(concreteMonitorDev.getPointList()!=null&&concreteMonitorDev.getPointList().size()>0){
for (ConcreteMonitorDevPointPosition pointPosition:concreteMonitorDev.getPointList()){
if (concreteMonitorDev.getPointList() != null && concreteMonitorDev.getPointList().size() > 0) {
for (ConcreteMonitorDevPointPosition pointPosition : concreteMonitorDev.getPointList()) {
pointPosition.setDevSn(concreteMonitorDev.getDevSn());
pointPosition.setProjectSn(concreteMonitorDev.getProjectSn());
concreteMonitorDevPointPositionMapper.insert(pointPosition);
@ -93,12 +93,12 @@ public class ConcreteMonitorDevServiceImpl extends ServiceImpl<ConcreteMonitorDe
public void editConcreteMonitorDev(ConcreteMonitorDev concreteMonitorDev) {
concreteMonitorDev.setRealTime(null);
concreteMonitorDevMapper.updateById(concreteMonitorDev);
if(concreteMonitorDev.getPointList()!=null&&concreteMonitorDev.getPointList().size()>0){
QueryWrapper<ConcreteMonitorDevPointPosition> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDevPointPosition::getProjectSn,concreteMonitorDev.getProjectSn())
.eq(ConcreteMonitorDevPointPosition::getDevSn,concreteMonitorDev.getDevSn());
if (concreteMonitorDev.getPointList() != null && concreteMonitorDev.getPointList().size() > 0) {
QueryWrapper<ConcreteMonitorDevPointPosition> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDevPointPosition::getProjectSn, concreteMonitorDev.getProjectSn())
.eq(ConcreteMonitorDevPointPosition::getDevSn, concreteMonitorDev.getDevSn());
concreteMonitorDevPointPositionMapper.delete(queryWrapper);
for (ConcreteMonitorDevPointPosition pointPosition:concreteMonitorDev.getPointList()){
for (ConcreteMonitorDevPointPosition pointPosition : concreteMonitorDev.getPointList()) {
pointPosition.setDevSn(concreteMonitorDev.getDevSn());
pointPosition.setProjectSn(concreteMonitorDev.getProjectSn());
concreteMonitorDevPointPositionMapper.insert(pointPosition);
@ -108,24 +108,24 @@ public class ConcreteMonitorDevServiceImpl extends ServiceImpl<ConcreteMonitorDe
@Override
public void deleteConcreteMonitorDev(String id) {
ConcreteMonitorDev concreteMonitorDev=concreteMonitorDevMapper.selectById(id);
ConcreteMonitorDev concreteMonitorDev = concreteMonitorDevMapper.selectById(id);
concreteMonitorDevMapper.deleteById(id);
if(concreteMonitorDev!=null){
QueryWrapper<ConcreteMonitorDevPointPosition> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDevPointPosition::getProjectSn,concreteMonitorDev.getProjectSn())
.eq(ConcreteMonitorDevPointPosition::getDevSn,concreteMonitorDev.getDevSn());
if (concreteMonitorDev != null) {
QueryWrapper<ConcreteMonitorDevPointPosition> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ConcreteMonitorDevPointPosition::getProjectSn, concreteMonitorDev.getProjectSn())
.eq(ConcreteMonitorDevPointPosition::getDevSn, concreteMonitorDev.getDevSn());
concreteMonitorDevPointPositionMapper.delete(queryWrapper);
}
}
@Override
public ConcreteMonitorDev selectConcreteMonitorDevById(String id) {
ConcreteMonitorDev concreteMonitorDev=concreteMonitorDevMapper.selectById(id);
if(concreteMonitorDev!=null){
QueryWrapper<ConcreteMonitorDevPointPosition> qu=new QueryWrapper<>();
qu.lambda().eq(ConcreteMonitorDevPointPosition::getDevSn,concreteMonitorDev.getDevSn())
.eq(ConcreteMonitorDevPointPosition::getProjectSn,concreteMonitorDev.getProjectSn());
List<ConcreteMonitorDevPointPosition> pointList=concreteMonitorDevPointPositionMapper.selectList(qu);
ConcreteMonitorDev concreteMonitorDev = concreteMonitorDevMapper.selectById(id);
if (concreteMonitorDev != null) {
QueryWrapper<ConcreteMonitorDevPointPosition> qu = new QueryWrapper<>();
qu.lambda().eq(ConcreteMonitorDevPointPosition::getDevSn, concreteMonitorDev.getDevSn())
.eq(ConcreteMonitorDevPointPosition::getProjectSn, concreteMonitorDev.getProjectSn());
List<ConcreteMonitorDevPointPosition> pointList = concreteMonitorDevPointPositionMapper.selectList(qu);
concreteMonitorDev.setPointList(pointList);
}
return concreteMonitorDev;