路面压实

This commit is contained in:
guo 2024-01-26 10:09:08 +08:00
parent a68423703d
commit 409587205b
8 changed files with 132 additions and 5 deletions

View File

@ -1,5 +1,7 @@
package com.zhgd.xmgl.modules.pave.controller;
import com.zhgd.xmgl.modules.pave.entity.vo.CountPaveCompactionDevVo;
import com.zhgd.xmgl.modules.pave.entity.vo.CountPaveDevVo;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionDevService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -136,4 +138,12 @@ public class PaveCompactionDevController {
return result;
}
@ApiOperation(value = "统计路面压实", notes = "统计路面压实", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/countPaveCompactionDev")
public Result<CountPaveCompactionDevVo> countPaveCompactionDev(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(paveCompactionDevService.countPaveCompactionDev(paramMap));
}
}

View File

@ -4,6 +4,7 @@ import java.io.Serializable;
import java.util.Date;
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 lombok.Data;
@ -98,4 +99,14 @@ public class PaveCompactionDev implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
private java.util.Date updateDate;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "上次数据上传时间 yyyy-MM-dd HH:mm:ss")
private java.util.Date lastDataTime;
@TableField(exist = false)
@ApiModelProperty(value = "设备在线状态0.离线 1.在线)")
private java.lang.Integer devOnline;
@TableField(exist = false)
@ApiModelProperty(value = "最新的路面摊铺-记录")
private PaveCompactionRecord newestRecord;
}

View File

@ -0,0 +1,12 @@
package com.zhgd.xmgl.modules.pave.entity.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CountPaveCompactionDevVo {
@ApiModelProperty(value = "路面压实设备数量")
private Integer devNum;
@ApiModelProperty(value = "路面压实在线设备数量")
private Integer onlineDevNum;
}

View File

@ -1,8 +1,17 @@
package com.zhgd.xmgl.modules.pave.mapper;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionDev;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
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.modules.pave.entity.PaveCompactionDev;
import com.zhgd.xmgl.modules.pave.entity.vo.CountPaveCompactionDevVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 路面压实-设备
@ -13,4 +22,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@Mapper
public interface PaveCompactionDevMapper extends BaseMapper<PaveCompactionDev> {
List<PaveCompactionDev> queryList(@Param(Constants.WRAPPER) QueryWrapper<PaveCompactionDev> queryWrapper);
IPage<PaveCompactionDev> queryList(Page<PaveCompactionDev> page, @Param(Constants.WRAPPER) QueryWrapper<PaveCompactionDev> queryWrapper);
CountPaveCompactionDevVo countPaveCompactionDev(HashMap<String, Object> paramMap);
}

View File

@ -1,9 +1,12 @@
package com.zhgd.xmgl.modules.pave.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/**
* @Description: 路面摊铺-记录
* @author pds

View File

@ -1,4 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.pave.mapper.PaveCompactionDevMapper">
<resultMap id="paveCompactionDevRm" type="com.zhgd.xmgl.modules.pave.entity.PaveCompactionDev" autoMapping="true">
<id column="id" property="id"/>
<association property="newestRecord" javaType="com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecord"
columnPrefix="pcr_"
autoMapping="true">
<id column="id" property="id"/>
</association>
</resultMap>
<select id="queryList" resultMap="paveCompactionDevRm">
select pcd.*,IFNULL(((case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(pcd.last_data_time)) / 60) &lt;= 30 then 1
else 0 end)), 0) devOnline,
pcr.id as pcr_id,
pcr.dev_name as pcr_dev_name,
pcr.dev_sn as pcr_dev_sn,
pcr.pave_speed as pcr_pave_speed,
pcr.average_pave_temp as pcr_average_pave_temp,
pcr.pave_degree as pcr_pave_degree,
pcr.amplitude as pcr_amplitude,
pcr.frequency as pcr_frequency,
pcr.geographical_longitude as pcr_geographical_longitude,
pcr.geographical_latitude as pcr_geographical_latitude,
pcr.pave_time as pcr_pave_time,
pcr.sensor1_pave_temp as pcr_sensor1_pave_temp,
pcr.sensor2_pave_temp as pcr_sensor2_pave_temp,
pcr.sensor3_pave_temp as pcr_sensor3_pave_temp,
pcr.sensor4_pave_temp as pcr_sensor4_pave_temp,
pcr.sensor5_pave_temp as pcr_sensor5_pave_temp,
pcr.sensor6_pave_temp as pcr_sensor6_pave_temp,
pcr.sensor7_pave_temp as pcr_sensor7_pave_temp,
pcr.sensor8_pave_temp as pcr_sensor8_pave_temp,
pcr.sensor9_pave_temp as pcr_sensor9_pave_temp,
pcr.sensor10_pave_temp as pcr_sensor10_pave_temp,
pcr.sensor1_pave_degree as pcr_sensor1_pave_degree,
pcr.sensor2_pave_degree as pcr_sensor2_pave_degree,
pcr.sensor3_pave_degree as pcr_sensor3_pave_degree,
pcr.sensor4_pave_degree as pcr_sensor4_pave_degree,
pcr.project_sn as pcr_project_sn,
pcr.create_date as pcr_create_date,
pcr.update_date as pcr_update_date
from pave_compaction_dev pcd
left join (
select t1.*
from pave_compaction_record t1
join (
select dev_sn, max(id) id
from pave_compaction_record
group by dev_sn
) t2 on t2.id = t1.id
) pcr on pcr.dev_sn = pcd.dev_sn and pcd.project_sn=pcd.project_sn
${ew.customSqlSegment}
</select>
<select id="countPaveCompactionDev" resultType="com.zhgd.xmgl.modules.pave.entity.vo.CountPaveCompactionDevVo">
select
count(*) devNum,
IFNULL((sum(case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(last_data_time)) / 60) &lt;= 30 then 1
else 0 end)), 0) onlineDevNum
from pave_compaction_dev
where 1=1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
</select>
</mapper>

View File

@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.pave.service;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionDev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.modules.pave.entity.vo.CountPaveCompactionDevVo;
import java.util.HashMap;
import java.util.List;
@ -22,4 +23,6 @@ public interface IPaveCompactionDevService extends IService<PaveCompactionDev> {
void add(PaveCompactionDev paveCompactionDev);
void edit(PaveCompactionDev paveCompactionDev);
CountPaveCompactionDevVo countPaveCompactionDev(HashMap<String, Object> paramMap);
}

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.pave.service.impl;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionDev;
import com.zhgd.xmgl.modules.pave.entity.vo.CountPaveCompactionDevVo;
import com.zhgd.xmgl.modules.pave.mapper.PaveCompactionDevMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionDevService;
import org.springframework.stereotype.Service;
@ -34,7 +35,7 @@ public class PaveCompactionDevServiceImpl extends ServiceImpl<PaveCompactionDevM
public IPage<PaveCompactionDev> queryPageList(HashMap<String, Object> paramMap) {
QueryWrapper<PaveCompactionDev> queryWrapper = getQueryWrapper(paramMap);
Page<PaveCompactionDev> page = PageUtil.getPage(paramMap);
IPage<PaveCompactionDev> pageList = this.page(page, queryWrapper);
IPage<PaveCompactionDev> pageList = baseMapper.queryList(page, queryWrapper);
pageList.setRecords(dealList(pageList.getRecords()));
return pageList;
}
@ -42,11 +43,11 @@ public class PaveCompactionDevServiceImpl extends ServiceImpl<PaveCompactionDevM
@Override
public List<PaveCompactionDev> queryList(HashMap<String, Object> paramMap) {
QueryWrapper<PaveCompactionDev> queryWrapper = getQueryWrapper(paramMap);
return dealList(this.list(queryWrapper));
return dealList(baseMapper.queryList(queryWrapper));
}
private QueryWrapper<PaveCompactionDev> getQueryWrapper(HashMap<String, Object> paramMap) {
String alias = "";
String alias = "pcd.";
QueryWrapper<PaveCompactionDev> queryWrapper = QueryGenerator.initPageQueryWrapper(PaveCompactionDev.class, paramMap, alias);
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(PaveCompactionDev::getId));
return queryWrapper;
@ -66,4 +67,9 @@ public class PaveCompactionDevServiceImpl extends ServiceImpl<PaveCompactionDevM
public void edit(PaveCompactionDev paveCompactionDev) {
baseMapper.updateById(paveCompactionDev);
}
@Override
public CountPaveCompactionDevVo countPaveCompactionDev(HashMap<String, Object> paramMap) {
return baseMapper.countPaveCompactionDev(paramMap);
}
}