模拟数据配置

This commit is contained in:
pengjie 2025-05-30 17:33:02 +08:00
parent 6a2706a31c
commit 0debb337ce
44 changed files with 1986 additions and 764 deletions

View File

@ -0,0 +1,89 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmConfigService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
/**
* @Title: Controller
* @Description: 架桥机报警数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/bridgeErectMachineAlarmConfig")
@Slf4j
@Api(tags = "架桥机报警数据生成配置管理")
public class BridgeErectMachineAlarmConfigController {
@Autowired
private IBridgeErectMachineAlarmConfigService bridgeErectMachineAlarmConfigService;
/**
* 查询配置
* @return
*/
@OperLog(operModul = "架桥机报警数据生成配置管理", operType = "删除", operDesc = "查询配置")
@ApiOperation(value = "查询配置", notes = "查询配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/queryInfo")
public Result<BridgeErectMachineAlarmConfig> queryInfo(@RequestBody BridgeErectMachineAlarmConfig bridgeErectMachineAlarmConfig) {
return Result.success(bridgeErectMachineAlarmConfigService.getOne(Wrappers.<BridgeErectMachineAlarmConfig>lambdaQuery()
.eq(BridgeErectMachineAlarmConfig::getProjectSn, bridgeErectMachineAlarmConfig.getProjectSn())));
}
/**
* 清空配置
* @return
*/
@OperLog(operModul = "架桥机报警数据生成配置管理", operType = "删除", operDesc = "重置配置")
@ApiOperation(value = "重置配置", notes = "重置配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/delete")
public Result<BridgeErectMachineAlarmConfig> delete(@RequestBody BridgeErectMachineAlarmConfig bridgeErectMachineAlarmConfig) {
Result<BridgeErectMachineAlarmConfig> result = new Result<BridgeErectMachineAlarmConfig>();
bridgeErectMachineAlarmConfigService.remove(Wrappers.<BridgeErectMachineAlarmConfig>lambdaQuery()
.eq(BridgeErectMachineAlarmConfig::getProjectSn, bridgeErectMachineAlarmConfig.getProjectSn()));
result.success("清除成功!");
return result;
}
}

View File

@ -1,30 +1,27 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gexin.fastjson.JSON;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarm;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineAlarmDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import com.zhgd.jeecg.common.api.vo.Result;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -119,6 +116,26 @@ public class BridgeErectMachineAlarmController {
return result;
}
/**
* 批量删除
*
* @return
*/
@ApiOperation(value = "批量删除架桥机-报警数据表信息", notes = "批量删除架桥机-报警数据表信息", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "架桥机报警数据ID字符串", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<BridgeErectMachineDataConfig> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<BridgeErectMachineDataConfig> result = new Result<BridgeErectMachineDataConfig>();
String ids = MapUtils.getString(map, "ids");
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.bridgeErectMachineAlarmService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
@ -142,7 +159,7 @@ public class BridgeErectMachineAlarmController {
@ApiOperation(value = "生成随机数据", notes = "生成随机数据", httpMethod = "POST")
@PostMapping(value = "/randomData")
public Result randomData(@RequestBody BridgeErectMachineAlarmDto alarmDto) {
public Result randomData(@RequestBody BridgeErectMachineAlarmConfig alarmDto) {
bridgeErectMachineAlarmService.randomData(alarmDto);
return Result.ok();
}

View File

@ -0,0 +1,91 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineDataConfigService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
/**
* @Title: Controller
* @Description: 架桥机实时数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/bridgeErectMachineDataConfig")
@Slf4j
@Api(tags = "架桥机实时数据生成配置管理")
public class BridgeErectMachineDataConfigController {
@Autowired
private IBridgeErectMachineDataConfigService bridgeErectMachineDataConfigService;
/**
* 查询配置
* @return
*/
@OperLog(operModul = "架桥机报警数据生成配置管理", operType = "删除", operDesc = "查询配置")
@ApiOperation(value = "查询配置", notes = "查询配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/queryInfo")
public Result<BridgeErectMachineDataConfig> queryInfo(@ApiIgnore @RequestBody BridgeErectMachineDataConfig bridgeErectMachineDataConfig) {
return Result.success(bridgeErectMachineDataConfigService.getOne(Wrappers.<BridgeErectMachineDataConfig>lambdaQuery()
.eq(BridgeErectMachineDataConfig::getProjectSn, bridgeErectMachineDataConfig.getProjectSn())));
}
/**
* 清空配置
* @return
*/
@OperLog(operModul = "架桥机报警数据生成配置管理", operType = "删除", operDesc = "重置配置")
@ApiOperation(value = "重置配置", notes = "重置配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/delete")
public Result<BridgeErectMachineDataConfig> delete(@RequestBody BridgeErectMachineDataConfig bridgeErectMachineDataConfig) {
Result<BridgeErectMachineDataConfig> result = new Result<BridgeErectMachineDataConfig>();
bridgeErectMachineDataConfigService.remove(Wrappers.<BridgeErectMachineDataConfig>lambdaQuery()
.eq(BridgeErectMachineDataConfig::getProjectSn, bridgeErectMachineDataConfig.getProjectSn()));
result.success("清除成功!");
return result;
}
}

View File

@ -1,44 +1,38 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.controller;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.vo.CountTodayVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineData;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.vo.CountTodayVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineDataService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -133,6 +127,26 @@ public class BridgeErectMachineDataController {
return result;
}
/**
* 批量删除
*
* @return
*/
@ApiOperation(value = "批量删除架桥机实时数据信息", notes = "批量删除架桥机实时数据信息", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "架桥机实时数据ID字符串", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<BridgeErectMachineDataConfig> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<BridgeErectMachineDataConfig> result = new Result<BridgeErectMachineDataConfig>();
String ids = MapUtils.getString(map, "ids");
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.bridgeErectMachineDataService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
@ -229,7 +243,7 @@ public class BridgeErectMachineDataController {
@ApiOperation(value = "生成随机数据", notes = "生成随机数据", httpMethod = "POST")
@PostMapping(value = "/randomData")
public Result randomData(@RequestBody BridgeErectMachineDataDto dataDto) {
public Result randomData(@RequestBody BridgeErectMachineDataConfig dataDto) {
bridgeErectMachineDataService.randomData(dataDto);
return Result.ok();
}

View File

@ -0,0 +1,154 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 架桥机报警数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Data
@TableName("bridge_erect_machine_alarm_config")
@ApiModel(value = "BridgeErectMachineAlarmConfig实体类", description = "BridgeErectMachineAlarmConfig")
public class BridgeErectMachineAlarmConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 报警数据生成配置ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "报警数据生成配置ID")
private Long id;
/**
* 设备编号
*/
@Excel(name = "设备编号", width = 15)
@ApiModelProperty(value = "设备编号")
private String devSn;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value = "项目sn")
private String projectSn;
/**
* 开始时间
*/
@Excel(name = "开始时间", width = 15)
@ApiModelProperty(value = "开始时间")
private String startTime;
/**
* 结束时间
*/
@Excel(name = "结束时间", width = 15)
@ApiModelProperty(value = "结束时间")
private String endTime;
/**
* 架桥机报警时间最小
*/
@Excel(name = "架桥机报警时间最小", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "架桥机报警时间最小")
private String addTimeMin;
/**
* 架桥机报警时间最大
*/
@Excel(name = "架桥机报警时间最大", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "架桥机报警时间最大")
private String addTimeMax;
/**
* 司机姓名
*/
@Excel(name = "司机姓名", width = 15)
@ApiModelProperty(value = "司机姓名")
private String driverName;
/**
* 司机身份证号
*/
@Excel(name = "司机身份证号", width = 15)
@ApiModelProperty(value = "司机身份证号")
private String driverIdCard;
/**
* 特种作业号
*/
@Excel(name = "特种作业号", width = 15)
@ApiModelProperty(value = "特种作业号")
private String certification;
/**
* 主钩吊重状态 0: 正常1: 报警
*/
@Excel(name = "主钩吊重状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "主钩吊重状态 0: 正常1: 报警")
private Integer masterHookWeightAlarm;
/**
* 副钩吊重状态 0: 正常1: 报警
*/
@Excel(name = "副钩吊重状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "副钩吊重状态 0: 正常1: 报警")
private Integer subHookWeightAlarm;
/**
* 小车2主钩吊重状态 0: 正常1: 报警
*/
@Excel(name = "小车2主钩吊重状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "小车2主钩吊重状态 0: 正常1: 报警")
private Integer secondMasterHookWeightAlarm;
/**
* 小车2副钩吊重状态 0: 正常1: 报警
*/
@Excel(name = "小车2副钩吊重状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "小车2副钩吊重状态 0: 正常1: 报警")
private Integer secondSubHookWeightAlarm;
/**
* 大车行程状态 0: 正常1: 报警
*/
@Excel(name = "大车行程状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "大车行程状态 0: 正常1: 报警")
private Integer largeCarRangePreAlarm;
/**
* 小车(天车)行程状态 0: 正常1: 报警
*/
@Excel(name = "小车(天车)行程状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "小车(天车)行程状态 0: 正常1: 报警")
private Integer smallCarRangePreAlarm;
/**
* 小车2行程状态 0: 正常1: 报警
*/
@Excel(name = "小车2行程状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "小车2行程状态 0: 正常1: 报警")
private Integer secondSmallCarRangePreAlarm;
/**
* 大车速度状态 0: 正常1: 报警
*/
@Excel(name = "大车速度状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "大车速度状态 0: 正常1: 报警")
private Integer largeCarSpeedAlarm;
/**
* 小车速度状态 0: 正常1: 报警
*/
@Excel(name = "小车速度状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "小车速度状态 0: 正常1: 报警")
private Integer smallCarSpeedAlarm;
/**
* 风速状态 0: 正常1: 报警
*/
@Excel(name = "风速状态 0: 正常1: 报警", width = 15)
@ApiModelProperty(value = "风速状态 0: 正常1: 报警")
private Integer windSpeedAlarm;
/**
* 数据条数
*/
@Excel(name = "数据条数", width = 15)
@ApiModelProperty(value = "数据条数")
private Integer dataNum;
}

View File

@ -0,0 +1,196 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 架桥机实时数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Data
@TableName("bridge_erect_machine_data_config")
@ApiModel(value = "BridgeErectMachineDataConfig实体类", description = "BridgeErectMachineDataConfig")
public class BridgeErectMachineDataConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 实时数据生成配置ID
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "实时数据生成配置ID")
private Long id;
/**
* 设备编码
*/
@Excel(name = "设备编码", width = 15)
@ApiModelProperty(value = "设备编码")
private String devSn;
/**
* 项目SN
*/
@Excel(name = "项目SN", width = 15)
@ApiModelProperty(value = "项目SN")
private String projectSn;
/**
* 最小风速(m/s)
*/
@Excel(name = "最小风速(m/s)", width = 15)
@ApiModelProperty(value = "最小风速(m/s)")
private Double windSpeedMin;
/**
* 最大风速(m/s)
*/
@Excel(name = "最大风速(m/s)", width = 15)
@ApiModelProperty(value = "最大风速(m/s)")
private Double windSpeedMax;
/**
* 最小主钩吊重(t)
*/
@Excel(name = "最小主钩吊重(t)", width = 15)
@ApiModelProperty(value = "最小主钩吊重(t)")
private Double mainHookLiftingWeightMin;
/**
* 最大主钩吊重(t)
*/
@Excel(name = "最大主钩吊重(t)", width = 15)
@ApiModelProperty(value = "最大主钩吊重(t)")
private Double mainHookLiftingWeightMax;
/**
* 最小主钩高度(m)
*/
@Excel(name = "最小主钩高度(m)", width = 15)
@ApiModelProperty(value = "最小主钩高度(m)")
private Double mainHookHeightMin;
/**
* 最大主钩高度(m)
*/
@Excel(name = "最大主钩高度(m)", width = 15)
@ApiModelProperty(value = "最大主钩高度(m)")
private Double mainHookHeightMax;
/**
* 最小主钩速度(m/min)
*/
@Excel(name = "最小主钩速度(m/min)", width = 15)
@ApiModelProperty(value = "最小主钩速度(m/min)")
private Double mainHookSpeedMin;
/**
* 最大主钩速度(m/min)
*/
@Excel(name = "最大主钩速度(m/min)", width = 15)
@ApiModelProperty(value = "最大主钩速度(m/min)")
private Double mainHookSpeedMax;
/**
* 最小副钩吊重(t)
*/
@Excel(name = "最小副钩吊重(t)", width = 15)
@ApiModelProperty(value = "最小副钩吊重(t)")
private Double auxiliaryHookLiftingWeightMin;
/**
* 最大副钩吊重(t)
*/
@Excel(name = "最大副钩吊重(t)", width = 15)
@ApiModelProperty(value = "最大副钩吊重(t)")
private Double auxiliaryHookLiftingWeightMax;
/**
* 最小副钩高度(m)
*/
@Excel(name = "最小副钩高度(m)", width = 15)
@ApiModelProperty(value = "最小副钩高度(m)")
private Double auxiliaryHookHeightMin;
/**
* 最大副钩高度(m)
*/
@Excel(name = "最大副钩高度(m)", width = 15)
@ApiModelProperty(value = "最大副钩高度(m)")
private Double auxiliaryHookHeightMax;
/**
* 最小副钩速度(m/min)
*/
@Excel(name = "最小副钩速度(m/min)", width = 15)
@ApiModelProperty(value = "最小副钩速度(m/min)")
private Double auxiliaryHookSpeedMin;
/**
* 最大副钩速度(m/min)
*/
@Excel(name = "最大副钩速度(m/min)", width = 15)
@ApiModelProperty(value = "最大副钩速度(m/min)")
private Double auxiliaryHookSpeedMax;
/**
* 最小大车行程(m)
*/
@Excel(name = "最小大车行程(m)", width = 15)
@ApiModelProperty(value = "最小大车行程(m)")
private Double bigCarTripMin;
/**
* 最大大车行程(m)
*/
@Excel(name = "最大大车行程(m)", width = 15)
@ApiModelProperty(value = "最大大车行程(m)")
private Double bigCarTripMax;
/**
* 最小大车速度(m/min)
*/
@Excel(name = "最小大车速度(m/min)", width = 15)
@ApiModelProperty(value = "最小大车速度(m/min)")
private Double bigCartSpeedMin;
/**
* 最大大车速度(m/min)
*/
@Excel(name = "最大大车速度(m/min)", width = 15)
@ApiModelProperty(value = "最大大车速度(m/min)")
private Double bigCartSpeedMax;
/**
* 最小小车行程(m)
*/
@Excel(name = "最小小车行程(m)", width = 15)
@ApiModelProperty(value = "最小小车行程(m)")
private Double carTripMin;
/**
* 最大小车行程(m)
*/
@Excel(name = "最大小车行程(m)", width = 15)
@ApiModelProperty(value = "最大小车行程(m)")
private Double carTripMax;
/**
* 最小小车速度(m/min)
*/
@Excel(name = "最小小车速度(m/min)", width = 15)
@ApiModelProperty(value = "最小小车速度(m/min)")
private Double carSpeedMin;
/**
* 最大小车速度(m/min)
*/
@Excel(name = "最大小车速度(m/min)", width = 15)
@ApiModelProperty(value = "最大小车速度(m/min)")
private Double carSpeedMax;
/**
* 数据条数
*/
@Excel(name = "数据条数", width = 15)
@ApiModelProperty(value = "数据条数")
private Integer dataNum;
/**
* 时间范围开始时间
*/
@Excel(name = "时间范围开始时间", width = 15)
@ApiModelProperty(value = "时间范围开始时间")
private String startTime;
/**
* 时间范围结束时间
*/
@Excel(name = "时间范围结束时间", width = 15)
@ApiModelProperty(value = "时间范围结束时间")
private String endTime;
}

View File

@ -1,80 +0,0 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto;
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.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
public class BridgeErectMachineAlarmDto implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "设备编号")
private String devSn;
@ApiModelProperty(value = "项目sn")
private String projectSn;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "架桥机报警时间")
private String addTimeMin;
@ApiModelProperty(value = "架桥机报警时间")
private String addTimeMax;
@ApiModelProperty(value = "司机姓名")
private String driverName;
@ApiModelProperty(value = "司机身份证号")
private String driverIdCard;
@ApiModelProperty(value = "特种作业号")
private String certification;
@ApiModelProperty(value = "主钩吊重状态 0: 正常1: 报警")
private Integer masterHookWeightAlarm;
@ApiModelProperty(value = "副钩吊重状态 0: 正常1: 报警")
private Integer subHookWeightAlarm;
@ApiModelProperty(value = "小车2主钩吊重状态 0: 正常1: 报警")
private Integer secondMasterHookWeightAlarm;
@ApiModelProperty(value = "小车2副钩吊重状态 0: 正常1: 报警")
private Integer secondSubHookWeightAlarm;
@ApiModelProperty(value = "大车行程状态 0: 正常1: 报警")
private Integer largeCarRangePreAlarm;
@ApiModelProperty(value = "小车(天车)行程状态 0: 正常1: 报警")
private Integer smallCarRangePreAlarm;
@ApiModelProperty(value = "小车2行程状态 0: 正常1: 报警")
private Integer secondSmallCarRangePreAlarm;
@ApiModelProperty(value = "大车速度状态 0: 正常1: 报警")
private Integer largeCarSpeedAlarm;
@ApiModelProperty(value = "小车速度状态 0: 正常1: 报警")
private Integer smallCarSpeedAlarm;
@ApiModelProperty(value = "风速状态 0: 正常1: 报警")
private Integer windSpeedAlarm;
@ApiModelProperty(value = "数据条数")
private java.lang.Integer dataNum;
}

View File

@ -1,95 +0,0 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
@Data
public class BridgeErectMachineDataDto {
@ApiModelProperty(value = "风速(m/s)")
private java.lang.Double windSpeedMin;
@ApiModelProperty(value = "风速(m/s)")
private java.lang.Double windSpeedMax;
@ApiModelProperty(value = "主钩吊重(t)")
private java.lang.Double mainHookLiftingWeightMin;
@ApiModelProperty(value = "主钩吊重(t)")
private java.lang.Double mainHookLiftingWeightMax;
@ApiModelProperty(value = "主钩高度(m)")
private java.lang.Double mainHookHeightMin;
@ApiModelProperty(value = "主钩高度(m)")
private java.lang.Double mainHookHeightMax;
@ApiModelProperty(value = "主钩速度(m/min)")
private java.lang.Double mainHookSpeedMin;
@ApiModelProperty(value = "主钩速度(m/min)")
private java.lang.Double mainHookSpeedMax;
@ApiModelProperty(value = "副钩吊重(t)")
private java.lang.Double auxiliaryHookLiftingWeightMin;
@ApiModelProperty(value = "副钩吊重(t)")
private java.lang.Double auxiliaryHookLiftingWeightMax;
@ApiModelProperty(value = "副钩高度(m)")
private java.lang.Double auxiliaryHookHeightMin;
@ApiModelProperty(value = "副钩高度(m)")
private java.lang.Double auxiliaryHookHeightMax;
@ApiModelProperty(value = "副钩速度(m/min)")
private java.lang.Double auxiliaryHookSpeedMin;
@ApiModelProperty(value = "副钩速度(m/min)")
private java.lang.Double auxiliaryHookSpeedMax;
@ApiModelProperty(value = "大车行程(m)")
private java.lang.Double bigCarTripMin;
@ApiModelProperty(value = "大车行程(m)")
private java.lang.Double bigCarTripMax;
@ApiModelProperty(value = "大车速度(m/min)")
private java.lang.Double bigCartSpeedMin;
@ApiModelProperty(value = "大车速度(m/min)")
private java.lang.Double bigCartSpeedMax;
@ApiModelProperty(value = "小车行程(m)")
private java.lang.Double carTripMin;
@ApiModelProperty(value = "小车行程(m)")
private java.lang.Double carTripMax;
@ApiModelProperty(value = "小车速度(m/min)")
private java.lang.Double carSpeedMin;
@ApiModelProperty(value = "小车速度(m/min)")
private java.lang.Double carSpeedMax;
@ApiModelProperty(value = "项目sn")
private java.lang.String projectSn;
@ApiModelProperty(value = "设备编码")
private java.lang.String devSn;
@ApiModelProperty(value = "数据条数")
private java.lang.Integer dataNum;
@ApiModelProperty(value = "时间范围开始时间")
private java.lang.String startTime;
@ApiModelProperty(value = "时间范围结束时间")
private java.lang.String endTime;
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 架桥机报警数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Mapper
public interface BridgeErectMachineAlarmConfigMapper extends BaseMapper<BridgeErectMachineAlarmConfig> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 架桥机实时数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Mapper
public interface BridgeErectMachineDataConfigMapper extends BaseMapper<BridgeErectMachineDataConfig> {
}

View File

@ -0,0 +1,5 @@
<?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.bridgeerectmachine.mapper.BridgeErectMachineAlarmConfigMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.bridgeerectmachine.mapper.BridgeErectMachineDataConfigMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 架桥机报警数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
public interface IBridgeErectMachineAlarmConfigService extends IService<BridgeErectMachineAlarmConfig> {
}

View File

@ -1,10 +1,9 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarm;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineAlarmDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarm;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import java.util.HashMap;
import java.util.List;
@ -25,5 +24,5 @@ public interface IBridgeErectMachineAlarmService extends IService<BridgeErectMac
void edit(BridgeErectMachineAlarm bridgeErectMachineAlarm);
void randomData(BridgeErectMachineAlarmDto alarmDto);
void randomData(BridgeErectMachineAlarmConfig alarmDto);
}

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 架桥机实时数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
public interface IBridgeErectMachineDataConfigService extends IService<BridgeErectMachineDataConfig> {
}

View File

@ -1,10 +1,10 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.vo.CountTodayVo;
import java.util.HashMap;
@ -33,5 +33,5 @@ public interface IBridgeErectMachineDataService extends IService<BridgeErectMach
List<TrendOneVo> countWindSpeed(HashMap<String, Object> paramMap);
void randomData(BridgeErectMachineDataDto dataDto);
void randomData(BridgeErectMachineDataConfig dataDto);
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service.impl;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineAlarmConfigMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmConfigService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 架桥机报警数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Service
public class BridgeErectMachineAlarmConfigServiceImpl extends ServiceImpl<BridgeErectMachineAlarmConfigMapper, BridgeErectMachineAlarmConfig> implements IBridgeErectMachineAlarmConfigService {
}

View File

@ -3,32 +3,28 @@ package com.zhgd.xmgl.modules.bridgeerectmachine.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarm;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineData;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDev;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineAlarmDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineAlarmMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineDevMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarm;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineAlarmConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDev;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineAlarmMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineDevMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmConfigService;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineAlarmService;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
/**
* @Description: 架桥机-报警数据表
@ -43,6 +39,8 @@ public class BridgeErectMachineAlarmServiceImpl extends ServiceImpl<BridgeErectM
private BridgeErectMachineAlarmMapper bridgeErectMachineAlarmMapper;
@Autowired
private BridgeErectMachineDevMapper bridgeErectMachineDevMapper;
@Autowired
private IBridgeErectMachineAlarmConfigService bridgeErectMachineAlarmConfigService;
@Override
public IPage<BridgeErectMachineAlarm> queryPageList(HashMap<String, Object> paramMap) {
@ -88,26 +86,36 @@ public class BridgeErectMachineAlarmServiceImpl extends ServiceImpl<BridgeErectM
}
@Override
public void randomData(BridgeErectMachineAlarmDto alarmDto) {
BridgeErectMachineDev bridgeErectMachineDev = bridgeErectMachineDevMapper.selectOne(Wrappers.<BridgeErectMachineDev>lambdaQuery()
.eq(BridgeErectMachineDev::getDevSn, alarmDto.getDevSn())
.eq(BridgeErectMachineDev::getProjectSn, alarmDto.getProjectSn()));
if (bridgeErectMachineDev != null) {
DateTime startTime = DateUtil.parseDateTime(alarmDto.getAddTimeMin());
DateTime endTime = DateUtil.parseDateTime(alarmDto.getAddTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<BridgeErectMachineAlarm> list = new ArrayList<>();
for (int i = 0; i < alarmDto.getDataNum(); i++) {
BridgeErectMachineAlarm alarm = new BridgeErectMachineAlarm();
BeanUtils.copyProperties(alarmDto, alarm);
alarm.setProjectSn(bridgeErectMachineDev.getProjectSn());
alarm.setDevSn(bridgeErectMachineDev.getDevSn());
alarm.setDevName(bridgeErectMachineDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
alarm.setAddTime(DateUtil.offsetMinute(dateTime, randomInt(0, 1440)));
list.add(alarm);
public void randomData(BridgeErectMachineAlarmConfig alarmDto) {
BridgeErectMachineAlarmConfig one = bridgeErectMachineAlarmConfigService.getOne(Wrappers.<BridgeErectMachineAlarmConfig>lambdaQuery()
.eq(BridgeErectMachineAlarmConfig::getProjectSn, alarmDto.getProjectSn()));
if (one != null) {
alarmDto.setId(one.getId());
}
bridgeErectMachineAlarmConfigService.saveOrUpdate(alarmDto);
alarmDto.setId(null);
List<String> snList = new ArrayList<>(Arrays.asList(alarmDto.getDevSn().split(",")));
for (String dev : snList) {
BridgeErectMachineDev bridgeErectMachineDev = bridgeErectMachineDevMapper.selectOne(Wrappers.<BridgeErectMachineDev>lambdaQuery()
.eq(BridgeErectMachineDev::getDevSn, dev)
.eq(BridgeErectMachineDev::getProjectSn, alarmDto.getProjectSn()));
if (bridgeErectMachineDev != null) {
DateTime startTime = DateUtil.parseDateTime(alarmDto.getAddTimeMin());
DateTime endTime = DateUtil.parseDateTime(alarmDto.getAddTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<BridgeErectMachineAlarm> list = new ArrayList<>();
for (int i = 0; i < alarmDto.getDataNum(); i++) {
BridgeErectMachineAlarm alarm = new BridgeErectMachineAlarm();
BeanUtils.copyProperties(alarmDto, alarm);
alarm.setProjectSn(bridgeErectMachineDev.getProjectSn());
alarm.setDevSn(bridgeErectMachineDev.getDevSn());
alarm.setDevName(bridgeErectMachineDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
alarm.setAddTime(DateUtil.offsetMinute(dateTime, randomInt(0, 1440)));
list.add(alarm);
}
this.saveBatch(list);
}
this.saveBatch(list);
}
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.bridgeerectmachine.service.impl;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineDataConfigMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineDataConfigService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 架桥机实时数据生成配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Service
public class BridgeErectMachineDataConfigServiceImpl extends ServiceImpl<BridgeErectMachineDataConfigMapper, BridgeErectMachineDataConfig> implements IBridgeErectMachineDataConfigService {
}

View File

@ -2,38 +2,35 @@ package com.zhgd.xmgl.modules.bridgeerectmachine.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineData;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDev;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.bo.CountAlarmBo;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.vo.CountTodayVo;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineAlarmMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineDataMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.mapper.BridgeErectMachineDevMapper;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineDataConfigService;
import com.zhgd.xmgl.modules.bridgeerectmachine.service.IBridgeErectMachineDataService;
import com.zhgd.xmgl.util.AqiUtil;
import com.zhgd.xmgl.util.DateUtils;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.RefUtil;
import org.apache.commons.collections.MapUtils;
import org.jsoup.helper.DataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
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.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.math.RoundingMode;
import java.util.*;
import com.zhgd.xmgl.util.RefUtil;
/**
* @Description: 架桥机生产数据
* @author pds
@ -46,6 +43,8 @@ public class BridgeErectMachineDataServiceImpl extends ServiceImpl<BridgeErectMa
private BridgeErectMachineDevMapper bridgeErectMachineDevMapper;
@Autowired
private BridgeErectMachineAlarmMapper bridgeErectMachineAlarmMapper;
@Autowired
private IBridgeErectMachineDataConfigService bridgeErectMachineDataConfigService;
@Override
public IPage<BridgeErectMachineData> queryPageList(HashMap<String, Object> paramMap) {
@ -126,36 +125,46 @@ public class BridgeErectMachineDataServiceImpl extends ServiceImpl<BridgeErectMa
}
@Override
public void randomData(BridgeErectMachineDataDto dataDto) {
BridgeErectMachineDev bridgeErectMachineDev = bridgeErectMachineDevMapper.selectOne(Wrappers.<BridgeErectMachineDev>lambdaQuery()
.eq(BridgeErectMachineDev::getDevSn, dataDto.getDevSn())
.eq(BridgeErectMachineDev::getProjectSn, dataDto.getProjectSn()));
if (bridgeErectMachineDev != null) {
DateTime startTime = DateUtil.parseDateTime(dataDto.getStartTime());
DateTime endTime = DateUtil.parseDateTime(dataDto.getEndTime());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<BridgeErectMachineData> list = new ArrayList<>();
for (int i = 0; i < dataDto.getDataNum(); i++) {
BridgeErectMachineData data = new BridgeErectMachineData();
data.setProjectSn(bridgeErectMachineDev.getProjectSn());
data.setDevSn(bridgeErectMachineDev.getDevSn());
data.setDevName(bridgeErectMachineDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
data.setCreateDate(DateUtil.offsetMinute(dateTime, randomInt(0, 1440)));
data.setWindSpeed(randomDouble(dataDto.getWindSpeedMin(), dataDto.getWindSpeedMax()));
data.setMainHookLiftingWeight(randomDouble(dataDto.getMainHookLiftingWeightMin(), dataDto.getMainHookLiftingWeightMax()));
data.setMainHookHeight(randomDouble(dataDto.getMainHookHeightMin(), dataDto.getMainHookHeightMax()));
data.setMainHookSpeed(randomDouble(dataDto.getMainHookSpeedMin(), dataDto.getMainHookSpeedMax()));
data.setAuxiliaryHookLiftingWeight(randomDouble(dataDto.getAuxiliaryHookLiftingWeightMin(), dataDto.getAuxiliaryHookLiftingWeightMax()));
data.setAuxiliaryHookHeight(randomDouble(dataDto.getAuxiliaryHookHeightMin(), dataDto.getAuxiliaryHookHeightMax()));
data.setAuxiliaryHookSpeed(randomDouble(dataDto.getAuxiliaryHookSpeedMin(), dataDto.getAuxiliaryHookSpeedMax()));
data.setBigCarTrip(randomDouble(dataDto.getBigCarTripMin(), dataDto.getBigCarTripMax()));
data.setBigCartSpeed(randomDouble(dataDto.getBigCartSpeedMin(), dataDto.getBigCartSpeedMax()));
data.setCarTrip(randomDouble(dataDto.getCarTripMin(), dataDto.getCarTripMax()));
data.setCarSpeed(randomDouble(dataDto.getCarSpeedMin(), dataDto.getCarSpeedMax()));
list.add(data);
public void randomData(BridgeErectMachineDataConfig dataDto) {
BridgeErectMachineDataConfig one = bridgeErectMachineDataConfigService.getOne(Wrappers.<BridgeErectMachineDataConfig>lambdaQuery()
.eq(BridgeErectMachineDataConfig::getProjectSn, dataDto.getProjectSn()));
if (one != null) {
dataDto.setId(one.getId());
}
bridgeErectMachineDataConfigService.saveOrUpdate(dataDto);
List<String> snList = new ArrayList<>(Arrays.asList(dataDto.getDevSn().split(",")));
for (String dev : snList) {
BridgeErectMachineDev bridgeErectMachineDev = bridgeErectMachineDevMapper.selectOne(Wrappers.<BridgeErectMachineDev>lambdaQuery()
.eq(BridgeErectMachineDev::getDevSn, dev)
.eq(BridgeErectMachineDev::getProjectSn, dataDto.getProjectSn()));
if (bridgeErectMachineDev != null) {
DateTime startTime = DateUtil.parseDateTime(dataDto.getStartTime());
DateTime endTime = DateUtil.parseDateTime(dataDto.getEndTime());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<BridgeErectMachineData> list = new ArrayList<>();
for (int i = 0; i < dataDto.getDataNum(); i++) {
BridgeErectMachineData data = new BridgeErectMachineData();
data.setProjectSn(bridgeErectMachineDev.getProjectSn());
data.setDevSn(bridgeErectMachineDev.getDevSn());
data.setDevName(bridgeErectMachineDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
data.setCreateDate(DateUtil.offsetMinute(dateTime, randomInt(0, 1440)));
data.setWindSpeed(randomDouble(dataDto.getWindSpeedMin(), dataDto.getWindSpeedMax()));
data.setMainHookLiftingWeight(randomDouble(dataDto.getMainHookLiftingWeightMin(), dataDto.getMainHookLiftingWeightMax()));
data.setMainHookHeight(randomDouble(dataDto.getMainHookHeightMin(), dataDto.getMainHookHeightMax()));
data.setMainHookSpeed(randomDouble(dataDto.getMainHookSpeedMin(), dataDto.getMainHookSpeedMax()));
data.setAuxiliaryHookLiftingWeight(randomDouble(dataDto.getAuxiliaryHookLiftingWeightMin(), dataDto.getAuxiliaryHookLiftingWeightMax()));
data.setAuxiliaryHookHeight(randomDouble(dataDto.getAuxiliaryHookHeightMin(), dataDto.getAuxiliaryHookHeightMax()));
data.setAuxiliaryHookSpeed(randomDouble(dataDto.getAuxiliaryHookSpeedMin(), dataDto.getAuxiliaryHookSpeedMax()));
data.setBigCarTrip(randomDouble(dataDto.getBigCarTripMin(), dataDto.getBigCarTripMax()));
data.setBigCartSpeed(randomDouble(dataDto.getBigCartSpeedMin(), dataDto.getBigCartSpeedMax()));
data.setCarTrip(randomDouble(dataDto.getCarTripMin(), dataDto.getCarTripMax()));
data.setCarSpeed(randomDouble(dataDto.getCarSpeedMin(), dataDto.getCarSpeedMax()));
list.add(data);
}
this.saveBatch(list);
}
this.saveBatch(list);
}
}

View File

@ -0,0 +1,90 @@
package com.zhgd.xmgl.modules.pave.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionRecordConfigService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
/**
* @Title: Controller
* @Description: 路面压实实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/paveCompactionRecordConfig")
@Slf4j
@Api(tags = "路面压实实时数据配置管理")
public class PaveCompactionRecordConfigController {
@Autowired
private IPaveCompactionRecordConfigService paveCompactionRecordConfigService;
/**
* 查询配置
* @return
*/
@OperLog(operModul = "路面压实实时数据生成配置管理", operType = "删除", operDesc = "查询配置")
@ApiOperation(value = "查询配置", notes = "查询配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/queryInfo")
public Result<PaveCompactionRecordConfig> queryInfo(@ApiIgnore @RequestBody PaveCompactionRecordConfig paveCompactionRecordConfig) {
return Result.success(paveCompactionRecordConfigService.getOne(Wrappers.<PaveCompactionRecordConfig>lambdaQuery()
.eq(PaveCompactionRecordConfig::getProjectSn, paveCompactionRecordConfig.getProjectSn())));
}
/**
* 清空配置
* @return
*/
@OperLog(operModul = "路面压实实时数据生成配置管理", operType = "删除", operDesc = "重置配置")
@ApiOperation(value = "重置配置", notes = "重置配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/delete")
public Result<PaveCompactionRecordConfig> delete(@RequestBody PaveCompactionRecordConfig paveCompactionRecordConfig) {
Result<PaveCompactionRecordConfig> result = new Result<PaveCompactionRecordConfig>();
paveCompactionRecordConfigService.remove(Wrappers.<PaveCompactionRecordConfig>lambdaQuery()
.eq(PaveCompactionRecordConfig::getProjectSn, paveCompactionRecordConfig.getProjectSn()));
result.success("清除成功!");
return result;
}
}

View File

@ -2,19 +2,21 @@ package com.zhgd.xmgl.modules.pave.controller;
import com.gexin.fastjson.JSON;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveCompactionRecordDto;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveRecordDto;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.Arrays;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
import com.zhgd.jeecg.common.api.vo.Result;
import org.apache.commons.collections.MapUtils;
@ -119,6 +121,26 @@ public class PaveCompactionRecordController {
return result;
}
/**
* 批量删除
*
* @return
*/
@ApiOperation(value = "批量删除路面压实-记录信息", notes = "批量删除路面压实-记录信息", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "压实记录数据ID字符串", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<PaveCompactionRecord> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<PaveCompactionRecord> result = new Result<PaveCompactionRecord>();
String ids = MapUtils.getString(map, "ids");
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.paveCompactionRecordService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
@ -142,7 +164,7 @@ public class PaveCompactionRecordController {
@ApiOperation(value = "生成随机数据", notes = "生成随机数据", httpMethod = "POST")
@PostMapping(value = "/randomData")
public Result randomData(@RequestBody PaveCompactionRecordDto recordDto) {
public Result randomData(@RequestBody PaveCompactionRecordConfig recordDto) {
paveCompactionRecordService.randomData(recordDto);
return Result.ok();
}

View File

@ -0,0 +1,91 @@
package com.zhgd.xmgl.modules.pave.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.annotation.OperLog;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDataConfig;
import com.zhgd.xmgl.util.PageUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordConfigService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import springfox.documentation.annotations.ApiIgnore;
/**
* @Title: Controller
* @Description: 路面摊铺实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@RestController
@RequestMapping("/xmgl/paveRecordConfig")
@Slf4j
@Api(tags = "路面摊铺实时数据配置管理")
public class PaveRecordConfigController {
@Autowired
private IPaveRecordConfigService paveRecordConfigService;
/**
* 查询配置
* @return
*/
@OperLog(operModul = "路面摊铺实时数据生成配置管理", operType = "删除", operDesc = "查询配置")
@ApiOperation(value = "查询配置", notes = "查询配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/queryInfo")
public Result<PaveRecordConfig> queryInfo(@ApiIgnore @RequestBody PaveRecordConfig paveRecordConfig) {
return Result.success(paveRecordConfigService.getOne(Wrappers.<PaveRecordConfig>lambdaQuery()
.eq(PaveRecordConfig::getProjectSn, paveRecordConfig.getProjectSn())));
}
/**
* 清空配置
* @return
*/
@OperLog(operModul = "路面摊铺实时数据生成配置管理", operType = "删除", operDesc = "重置配置")
@ApiOperation(value = "重置配置", notes = "重置配置", httpMethod = "POST")
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/delete")
public Result<PaveRecordConfig> delete(@RequestBody PaveRecordConfig paveRecordConfig) {
Result<PaveRecordConfig> result = new Result<PaveRecordConfig>();
paveRecordConfigService.remove(Wrappers.<PaveRecordConfig>lambdaQuery()
.eq(PaveRecordConfig::getProjectSn, paveRecordConfig.getProjectSn()));
result.success("清除成功!");
return result;
}
}

View File

@ -1,30 +1,26 @@
package com.zhgd.xmgl.modules.pave.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gexin.fastjson.JSON;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveRecordDto;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import com.zhgd.jeecg.common.api.vo.Result;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -119,6 +115,25 @@ public class PaveRecordController {
return result;
}
/**
* 批量删除
*
* @return
*/
@ApiOperation(value = "批量删除路面摊铺-记录信息", notes = "批量删除路面摊铺-记录信息", httpMethod = "POST")
@ApiImplicitParam(name = "ids", value = "摊铺记录数据ID字符串", paramType = "body", required = true, dataType = "String")
@PostMapping(value = "/deleteBatch")
public Result<PaveRecord> deleteBatch(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<PaveRecord> result = new Result<PaveRecord>();
String ids = MapUtils.getString(map, "ids");
if (ids == null || "".equals(ids.trim())) {
result.error500("参数不识别!");
} else {
this.paveRecordService.removeByIds(Arrays.asList(ids.split(",")));
result.success("删除成功!");
}
return result;
}
/**
* 通过id查询
*
@ -142,7 +157,7 @@ public class PaveRecordController {
@ApiOperation(value = "生成随机数据", notes = "生成随机数据", httpMethod = "POST")
@PostMapping(value = "/randomData")
public Result randomData(@RequestBody PaveRecordDto recordDto) {
public Result randomData(@RequestBody PaveRecordConfig recordDto) {
paveRecordService.randomData(recordDto);
return Result.ok();
}

View File

@ -0,0 +1,322 @@
package com.zhgd.xmgl.modules.pave.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 路面压实实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Data
@TableName("pave_compaction_record_config")
@ApiModel(value = "PaveCompactionRecordConfig实体类", description = "PaveCompactionRecordConfig")
public class PaveCompactionRecordConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 路面压实-设备id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "路面压实-设备id")
private Long id;
/**
* 设备编码
*/
@Excel(name = "设备编码", width = 15)
@ApiModelProperty(value = "设备编码")
private String devSn;
/**
* 最小压实速度(m/min)
*/
@Excel(name = "最小压实速度(m/min)", width = 15)
@ApiModelProperty(value = "最小压实速度(m/min)")
private Double paveSpeedMin;
/**
* 最大压实速度(m/min)
*/
@Excel(name = "最大压实速度(m/min)", width = 15)
@ApiModelProperty(value = "最大压实速度(m/min)")
private Double paveSpeedMax;
/**
* 最小平均压实温度(C)
*/
@Excel(name = "最小平均压实温度(C)", width = 15)
@ApiModelProperty(value = "最小平均压实温度(C)")
private Double averagePaveTempMin;
/**
* 最大平均压实温度(C)
*/
@Excel(name = "最大平均压实温度(C)", width = 15)
@ApiModelProperty(value = "最大平均压实温度(C)")
private Double averagePaveTempMax;
/**
* 最小压实度(mm)
*/
@Excel(name = "最小压实度(mm)", width = 15)
@ApiModelProperty(value = "最小压实度(mm)")
private Double paveDegreeMin;
/**
* 最大压实度(mm)
*/
@Excel(name = "最大压实度(mm)", width = 15)
@ApiModelProperty(value = "最大压实度(mm)")
private Double paveDegreeMax;
/**
* 最小振幅
*/
@Excel(name = "最小振幅", width = 15)
@ApiModelProperty(value = "最小振幅")
private Double amplitudeMin;
/**
* 最大振幅
*/
@Excel(name = "最大振幅", width = 15)
@ApiModelProperty(value = "最大振幅")
private Double amplitudeMax;
/**
* 最小频率(Hz)
*/
@Excel(name = "最小频率(Hz)", width = 15)
@ApiModelProperty(value = "最小频率(Hz)")
private Double frequencyMin;
/**
* 最大频率(Hz)
*/
@Excel(name = "最大频率(Hz)", width = 15)
@ApiModelProperty(value = "最大频率(Hz)")
private Double frequencyMax;
/**
* 范围类型1标准区域2自定义
*/
@ApiModelProperty(value = "范围类型1标准区域2自定义")
private java.lang.Integer rangeType;
/**
* 区域半径
*/
@ApiModelProperty(value = "区域半径")
private java.lang.Integer areaRadius;
/**
* 围栏形状经度和纬度用|分隔坐标对见用, 分隔经度1|维度1,经度2|维度2
*/
@ApiModelProperty(value = "围栏形状(经度和纬度用“|“分隔,坐标对见用“, ”分隔经度1|维度1,经度2|维度2")
private java.lang.String fenceShape;
/**
* 圆心维度
*/
@ApiModelProperty(value = "圆心维度")
private java.lang.Double latitude;
/**
* 圆心经度
*/
@ApiModelProperty(value = "圆心经度")
private java.lang.Double longitude;
/**
* 围栏形状json数组
*/
@ApiModelProperty(value = "围栏形状json数组")
private java.lang.String fenceShapeArr;
/**
* 最小压实时间
*/
@Excel(name = "最小压实时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最小压实时间")
private String paveTimeMin;
/**
* 最大压实时间
*/
@Excel(name = "最大压实时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最大压实时间")
private String paveTimeMax;
/**
* 最小传感器1-压实温度(C)
*/
@Excel(name = "最小传感器1-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器1-压实温度(C)")
private Double sensor1PaveTempMin;
/**
* 最大传感器1-压实温度(C)
*/
@Excel(name = "最大传感器1-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器1-压实温度(C)")
private Double sensor1PaveTempMax;
/**
* 最小传感器2-压实温度(C)
*/
@Excel(name = "最小传感器2-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器2-压实温度(C)")
private Double sensor2PaveTempMin;
/**
* 最大传感器2-压实温度(C)
*/
@Excel(name = "最大传感器2-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器2-压实温度(C)")
private Double sensor2PaveTempMax;
/**
* 最小传感器3-压实温度(C)
*/
@Excel(name = "最小传感器3-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器3-压实温度(C)")
private Double sensor3PaveTempMin;
/**
* 最大传感器3-压实温度(C)
*/
@Excel(name = "最大传感器3-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器3-压实温度(C)")
private Double sensor3PaveTempMax;
/**
* 最小传感器4-压实温度(C)
*/
@Excel(name = "最小传感器4-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器4-压实温度(C)")
private Double sensor4PaveTempMin;
/**
* 最大传感器4-压实温度(C)
*/
@Excel(name = "最大传感器4-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器4-压实温度(C)")
private Double sensor4PaveTempMax;
/**
* 最小传感器5-压实温度(C)
*/
@Excel(name = "最小传感器5-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器5-压实温度(C)")
private Double sensor5PaveTempMin;
/**
* 最大传感器5-压实温度(C)
*/
@Excel(name = "最大传感器5-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器5-压实温度(C)")
private Double sensor5PaveTempMax;
/**
* 最小传感器6-压实温度(C)
*/
@Excel(name = "最小传感器6-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器6-压实温度(C)")
private Double sensor6PaveTempMin;
/**
* 最大传感器6-压实温度(C)
*/
@Excel(name = "最大传感器6-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器6-压实温度(C)")
private Double sensor6PaveTempMax;
/**
* 最小传感器7-压实温度(C)
*/
@Excel(name = "最小传感器7-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器7-压实温度(C)")
private Double sensor7PaveTempMin;
/**
* 最大传感器7-压实温度(C)
*/
@Excel(name = "最大传感器7-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器7-压实温度(C)")
private Double sensor7PaveTempMax;
/**
* 最小传感器8-压实温度(C)
*/
@Excel(name = "最小传感器8-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器8-压实温度(C)")
private Double sensor8PaveTempMin;
/**
* 最大传感器8-压实温度(C)
*/
@Excel(name = "最大传感器8-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器8-压实温度(C)")
private Double sensor8PaveTempMax;
/**
* 最小传感器9-压实温度(C)
*/
@Excel(name = "最小传感器9-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器9-压实温度(C)")
private Double sensor9PaveTempMin;
/**
* 最大传感器9-压实温度(C)
*/
@Excel(name = "最大传感器9-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器9-压实温度(C)")
private Double sensor9PaveTempMax;
/**
* 最小传感器10-压实温度(C)
*/
@Excel(name = "最小传感器10-压实温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器10-压实温度(C)")
private Double sensor10PaveTempMin;
/**
* 最大传感器10-压实温度(C)
*/
@Excel(name = "最大传感器10-压实温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器10-压实温度(C)")
private Double sensor10PaveTempMax;
/**
* 最小传感器1-压实度(C)
*/
@Excel(name = "最小传感器1-压实度(C)", width = 15)
@ApiModelProperty(value = "最小传感器1-压实度(C)")
private Double sensor1PaveDegreeMin;
/**
* 最大传感器1-压实度(C)
*/
@Excel(name = "最大传感器1-压实度(C)", width = 15)
@ApiModelProperty(value = "最大传感器1-压实度(C)")
private Double sensor1PaveDegreeMax;
/**
* 最小传感器2-压实度(C)
*/
@Excel(name = "最小传感器2-压实度(C)", width = 15)
@ApiModelProperty(value = "最小传感器2-压实度(C)")
private Double sensor2PaveDegreeMin;
/**
* 最大传感器2-压实度(C)
*/
@Excel(name = "最大传感器2-压实度(C)", width = 15)
@ApiModelProperty(value = "最大传感器2-压实度(C)")
private Double sensor2PaveDegreeMax;
/**
* 最小传感器3-压实度(C)
*/
@Excel(name = "最小传感器3-压实度(C)", width = 15)
@ApiModelProperty(value = "最小传感器3-压实度(C)")
private Double sensor3PaveDegreeMin;
/**
* 最大传感器3-压实度(C)
*/
@Excel(name = "最大传感器3-压实度(C)", width = 15)
@ApiModelProperty(value = "最大传感器3-压实度(C)")
private Double sensor3PaveDegreeMax;
/**
* 最小传感器4-压实度(C)
*/
@Excel(name = "最小传感器4-压实度(C)", width = 15)
@ApiModelProperty(value = "最小传感器4-压实度(C)")
private Double sensor4PaveDegreeMin;
/**
* 最大传感器4-压实度(C)
*/
@Excel(name = "最大传感器4-压实度(C)", width = 15)
@ApiModelProperty(value = "最大传感器4-压实度(C)")
private Double sensor4PaveDegreeMax;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value = "项目sn")
private String projectSn;
/**
* 数据条数
*/
@Excel(name = "数据条数", width = 15)
@ApiModelProperty(value = "数据条数")
private Integer dataNum;
}

View File

@ -0,0 +1,322 @@
package com.zhgd.xmgl.modules.pave.entity;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @Description: 路面摊铺实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Data
@TableName("pave_record_config")
@ApiModel(value = "PaveRecordConfig实体类", description = "PaveRecordConfig")
public class PaveRecordConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 路面摊铺-数据配置id
*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "路面摊铺-数据配置id")
private Long id;
/**
* 设备编码
*/
@Excel(name = "设备编码", width = 15)
@ApiModelProperty(value = "设备编码")
private String devSn;
/**
* 最小摊铺速度(m/min)
*/
@Excel(name = "最小摊铺速度(m/min)", width = 15)
@ApiModelProperty(value = "最小摊铺速度(m/min)")
private Double paveSpeedMin;
/**
* 最大摊铺速度(m/min)
*/
@Excel(name = "最大摊铺速度(m/min)", width = 15)
@ApiModelProperty(value = "最大摊铺速度(m/min)")
private Double paveSpeedMax;
/**
* 最小平均摊铺温度(C)
*/
@Excel(name = "最小平均摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小平均摊铺温度(C)")
private Double averagePaveTempMin;
/**
* 最大平均摊铺温度(C)
*/
@Excel(name = "最大平均摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大平均摊铺温度(C)")
private Double averagePaveTempMax;
/**
* 最小平均摊铺厚度(mm)
*/
@Excel(name = "最小平均摊铺厚度(mm)", width = 15)
@ApiModelProperty(value = "最小平均摊铺厚度(mm)")
private Double averagePaveThicknessMin;
/**
* 最大平均摊铺厚度(mm)
*/
@Excel(name = "最大平均摊铺厚度(mm)", width = 15)
@ApiModelProperty(value = "最大平均摊铺厚度(mm)")
private Double averagePaveThicknessMax;
/**
* 最小振幅
*/
@Excel(name = "最小振幅", width = 15)
@ApiModelProperty(value = "最小振幅")
private Double amplitudeMin;
/**
* 最大振幅
*/
@Excel(name = "最大振幅", width = 15)
@ApiModelProperty(value = "最大振幅")
private Double amplitudeMax;
/**
* 最小频率(Hz)
*/
@Excel(name = "最小频率(Hz)", width = 15)
@ApiModelProperty(value = "最小频率(Hz)")
private Double frequencyMin;
/**
* 最大频率(Hz)
*/
@Excel(name = "最大频率(Hz)", width = 15)
@ApiModelProperty(value = "最大频率(Hz)")
private Double frequencyMax;
/**
* 范围类型1标准区域2自定义
*/
@ApiModelProperty(value = "范围类型1标准区域2自定义")
private java.lang.Integer rangeType;
/**
* 区域半径
*/
@ApiModelProperty(value = "区域半径")
private java.lang.Integer areaRadius;
/**
* 围栏形状经度和纬度用|分隔坐标对见用, 分隔经度1|维度1,经度2|维度2
*/
@ApiModelProperty(value = "围栏形状(经度和纬度用“|“分隔,坐标对见用“, ”分隔经度1|维度1,经度2|维度2")
private java.lang.String fenceShape;
/**
* 圆心维度
*/
@ApiModelProperty(value = "圆心维度")
private java.lang.Double latitude;
/**
* 圆心经度
*/
@ApiModelProperty(value = "圆心经度")
private java.lang.Double longitude;
/**
* 围栏形状json数组
*/
@ApiModelProperty(value = "围栏形状json数组")
private java.lang.String fenceShapeArr;
/**
* 最小摊铺时间
*/
@Excel(name = "最小摊铺时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最小摊铺时间")
private String paveTimeMin;
/**
* 最大摊铺时间
*/
@Excel(name = "最大摊铺时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "最大摊铺时间")
private String paveTimeMax;
/**
* 最小传感器1-摊铺温度(C)
*/
@Excel(name = "最小传感器1-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器1-摊铺温度(C)")
private Double sensor1PaveTempMin;
/**
* 最大传感器1-摊铺温度(C)
*/
@Excel(name = "最大传感器1-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器1-摊铺温度(C)")
private Double sensor1PaveTempMax;
/**
* 最小传感器2-摊铺温度(C)
*/
@Excel(name = "最小传感器2-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器2-摊铺温度(C)")
private Double sensor2PaveTempMin;
/**
* 最大传感器2-摊铺温度(C)
*/
@Excel(name = "最大传感器2-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器2-摊铺温度(C)")
private Double sensor2PaveTempMax;
/**
* 最小传感器3-摊铺温度(C)
*/
@Excel(name = "最小传感器3-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器3-摊铺温度(C)")
private Double sensor3PaveTempMin;
/**
* 最大传感器3-摊铺温度(C)
*/
@Excel(name = "最大传感器3-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器3-摊铺温度(C)")
private Double sensor3PaveTempMax;
/**
* 最小传感器4-摊铺温度(C)
*/
@Excel(name = "最小传感器4-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器4-摊铺温度(C)")
private Double sensor4PaveTempMin;
/**
* 最大传感器4-摊铺温度(C)
*/
@Excel(name = "最大传感器4-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器4-摊铺温度(C)")
private Double sensor4PaveTempMax;
/**
* 最小传感器5-摊铺温度(C)
*/
@Excel(name = "最小传感器5-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器5-摊铺温度(C)")
private Double sensor5PaveTempMin;
/**
* 最大传感器5-摊铺温度(C)
*/
@Excel(name = "最大传感器5-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器5-摊铺温度(C)")
private Double sensor5PaveTempMax;
/**
* 最小传感器6-摊铺温度(C)
*/
@Excel(name = "最小传感器6-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器6-摊铺温度(C)")
private Double sensor6PaveTempMin;
/**
* 最大传感器6-摊铺温度(C)
*/
@Excel(name = "最大传感器6-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器6-摊铺温度(C)")
private Double sensor6PaveTempMax;
/**
* 最小传感器7-摊铺温度(C)
*/
@Excel(name = "最小传感器7-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器7-摊铺温度(C)")
private Double sensor7PaveTempMin;
/**
* 最大传感器7-摊铺温度(C)
*/
@Excel(name = "最大传感器7-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器7-摊铺温度(C)")
private Double sensor7PaveTempMax;
/**
* 最小传感器8-摊铺温度(C)
*/
@Excel(name = "最小传感器8-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器8-摊铺温度(C)")
private Double sensor8PaveTempMin;
/**
* 最大传感器8-摊铺温度(C)
*/
@Excel(name = "最大传感器8-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器8-摊铺温度(C)")
private Double sensor8PaveTempMax;
/**
* 最小传感器9-摊铺温度(C)
*/
@Excel(name = "最小传感器9-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器9-摊铺温度(C)")
private Double sensor9PaveTempMin;
/**
* 最大传感器9-摊铺温度(C)
*/
@Excel(name = "最大传感器9-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器9-摊铺温度(C)")
private Double sensor9PaveTempMax;
/**
* 最小传感器10-摊铺温度(C)
*/
@Excel(name = "最小传感器10-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最小传感器10-摊铺温度(C)")
private Double sensor10PaveTempMin;
/**
* 最大传感器10-摊铺温度(C)
*/
@Excel(name = "最大传感器10-摊铺温度(C)", width = 15)
@ApiModelProperty(value = "最大传感器10-摊铺温度(C)")
private Double sensor10PaveTempMax;
/**
* 最小传感器1-摊铺厚度(C)
*/
@Excel(name = "最小传感器1-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最小传感器1-摊铺厚度(C)")
private Double sensor1PaveThicknessMin;
/**
* 最大传感器1-摊铺厚度(C)
*/
@Excel(name = "最大传感器1-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最大传感器1-摊铺厚度(C)")
private Double sensor1PaveThicknessMax;
/**
* 最小传感器2-摊铺厚度(C)
*/
@Excel(name = "最小传感器2-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最小传感器2-摊铺厚度(C)")
private Double sensor2PaveThicknessMin;
/**
* 最大传感器2-摊铺厚度(C)
*/
@Excel(name = "最大传感器2-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最大传感器2-摊铺厚度(C)")
private Double sensor2PaveThicknessMax;
/**
* 最小传感器3-摊铺厚度(C)
*/
@Excel(name = "最小传感器3-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最小传感器3-摊铺厚度(C)")
private Double sensor3PaveThicknessMin;
/**
* 最大传感器3-摊铺厚度(C)
*/
@Excel(name = "最大传感器3-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最大传感器3-摊铺厚度(C)")
private Double sensor3PaveThicknessMax;
/**
* 最小传感器4-摊铺厚度(C)
*/
@Excel(name = "最小传感器4-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最小传感器4-摊铺厚度(C)")
private Double sensor4PaveThicknessMin;
/**
* 最大传感器4-摊铺厚度(C)
*/
@Excel(name = "最大传感器4-摊铺厚度(C)", width = 15)
@ApiModelProperty(value = "最大传感器4-摊铺厚度(C)")
private Double sensor4PaveThicknessMax;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value = "项目sn")
private String projectSn;
/**
* 数据条数
*/
@Excel(name = "数据条数", width = 15)
@ApiModelProperty(value = "数据条数")
private Integer dataNum;
}

View File

@ -1,161 +0,0 @@
package com.zhgd.xmgl.modules.pave.entity.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
public class PaveCompactionRecordDto implements Serializable {
@ApiModelProperty(value = "设备编码")
private String devSn;
@ApiModelProperty(value = "压实速度(m/min)")
private Double paveSpeedMin;
@ApiModelProperty(value = "压实速度(m/min)")
private Double paveSpeedMax;
@ApiModelProperty(value = "平均压实温度(C)")
private Double averagePaveTempMin;
@ApiModelProperty(value = "平均压实温度(C)")
private Double averagePaveTempMax;
@ApiModelProperty(value = "压实度(mm)")
private Double paveDegreeMin;
@ApiModelProperty(value = "压实度(mm)")
private Double paveDegreeMax;
@ApiModelProperty(value = "振幅")
private Double amplitudeMin;
@ApiModelProperty(value = "振幅")
private Double amplitudeMax;
@ApiModelProperty(value = "频率(Hz)")
private Double frequencyMin;
@ApiModelProperty(value = "频率(Hz)")
private Double frequencyMax;
@ApiModelProperty(value = "地理经度(W/E)")
private Double geographicalLongitudeMin;
@ApiModelProperty(value = "地理经度(W/E)")
private Double geographicalLongitudeMax;
@ApiModelProperty(value = "地理纬度(N/S)")
private Double geographicalLatitudeMin;
@ApiModelProperty(value = "地理纬度(N/S)")
private Double geographicalLatitudeMax;
@ApiModelProperty(value = "压实时间")
private String paveTimeMin;
@ApiModelProperty(value = "压实时间")
private String paveTimeMax;
@ApiModelProperty(value = "传感器1-压实温度(C)")
private Double sensor1PaveTempMin;
@ApiModelProperty(value = "传感器1-压实温度(C)")
private Double sensor1PaveTempMax;
@ApiModelProperty(value = "传感器2-压实温度(C)")
private Double sensor2PaveTempMin;
@ApiModelProperty(value = "传感器2-压实温度(C)")
private Double sensor2PaveTempMax;
@ApiModelProperty(value = "传感器3-压实温度(C)")
private Double sensor3PaveTempMin;
@ApiModelProperty(value = "传感器3-压实温度(C)")
private Double sensor3PaveTempMax;
@ApiModelProperty(value = "传感器4-压实温度(C)")
private Double sensor4PaveTempMin;
@ApiModelProperty(value = "传感器4-压实温度(C)")
private Double sensor4PaveTempMax;
@ApiModelProperty(value = "传感器5-压实温度(C)")
private Double sensor5PaveTempMin;
@ApiModelProperty(value = "传感器5-压实温度(C)")
private Double sensor5PaveTempMax;
@ApiModelProperty(value = "传感器6-压实温度(C)")
private Double sensor6PaveTempMin;
@ApiModelProperty(value = "传感器6-压实温度(C)")
private Double sensor6PaveTempMax;
@ApiModelProperty(value = "传感器7-压实温度(C)")
private Double sensor7PaveTempMin;
@ApiModelProperty(value = "传感器7-压实温度(C)")
private Double sensor7PaveTempMax;
@ApiModelProperty(value = "传感器8-压实温度(C)")
private Double sensor8PaveTempMin;
@ApiModelProperty(value = "传感器8-压实温度(C)")
private Double sensor8PaveTempMax;
@ApiModelProperty(value = "传感器9-压实温度(C)")
private Double sensor9PaveTempMin;
@ApiModelProperty(value = "传感器9-压实温度(C)")
private Double sensor9PaveTempMax;
@ApiModelProperty(value = "传感器10-压实温度(C)")
private Double sensor10PaveTempMin;
@ApiModelProperty(value = "传感器10-压实温度(C)")
private Double sensor10PaveTempMax;
@ApiModelProperty(value = "传感器1-压实度(C)")
private Double sensor1PaveDegreeMin;
@ApiModelProperty(value = "传感器1-压实度(C)")
private Double sensor1PaveDegreeMax;
@ApiModelProperty(value = "传感器2-压实度(C)")
private Double sensor2PaveDegreeMin;
@ApiModelProperty(value = "传感器2-压实度(C)")
private Double sensor2PaveDegreeMax;
@ApiModelProperty(value = "传感器3-压实度(C)")
private Double sensor3PaveDegreeMin;
@ApiModelProperty(value = "传感器3-压实度(C)")
private Double sensor3PaveDegreeMax;
@ApiModelProperty(value = "传感器4-压实度(C)")
private Double sensor4PaveDegreeMin;
@ApiModelProperty(value = "传感器4-压实度(C)")
private Double sensor4PaveDegreeMax;
@ApiModelProperty(value = "项目sn")
private String projectSn;
@ApiModelProperty(value = "数据条数")
private java.lang.Integer dataNum;
}

View File

@ -1,161 +0,0 @@
package com.zhgd.xmgl.modules.pave.entity.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
public class PaveRecordDto implements Serializable {
@ApiModelProperty(value = "设备编码")
private String devSn;
@ApiModelProperty(value = "摊铺速度(m/min)")
private Double paveSpeedMin;
@ApiModelProperty(value = "摊铺速度(m/min)")
private Double paveSpeedMax;
@ApiModelProperty(value = "平均摊铺温度(C)")
private Double averagePaveTempMin;
@ApiModelProperty(value = "平均摊铺温度(C)")
private Double averagePaveTempMax;
@ApiModelProperty(value = "平均摊铺厚度(mm)")
private Double averagePaveThicknessMin;
@ApiModelProperty(value = "平均摊铺厚度(mm)")
private Double averagePaveThicknessMax;
@ApiModelProperty(value = "振幅")
private Double amplitudeMin;
@ApiModelProperty(value = "振幅")
private Double amplitudeMax;
@ApiModelProperty(value = "频率(Hz)")
private Double frequencyMin;
@ApiModelProperty(value = "频率(Hz)")
private Double frequencyMax;
@ApiModelProperty(value = "地理经度(W/E)")
private Double geographicalLongitudeMin;
@ApiModelProperty(value = "地理经度(W/E)")
private Double geographicalLongitudeMax;
@ApiModelProperty(value = "地理纬度(N/S)")
private Double geographicalLatitudeMin;
@ApiModelProperty(value = "地理纬度(N/S)")
private Double geographicalLatitudeMax;
@ApiModelProperty(value = "摊铺时间")
private String paveTimeMin;
@ApiModelProperty(value = "摊铺时间")
private String paveTimeMax;
@ApiModelProperty(value = "传感器1-摊铺温度(C)")
private Double sensor1PaveTempMin;
@ApiModelProperty(value = "传感器1-摊铺温度(C)")
private Double sensor1PaveTempMax;
@ApiModelProperty(value = "传感器2-摊铺温度(C)")
private Double sensor2PaveTempMin;
@ApiModelProperty(value = "传感器2-摊铺温度(C)")
private Double sensor2PaveTempMax;
@ApiModelProperty(value = "传感器3-摊铺温度(C)")
private Double sensor3PaveTempMin;
@ApiModelProperty(value = "传感器3-摊铺温度(C)")
private Double sensor3PaveTempMax;
@ApiModelProperty(value = "传感器4-摊铺温度(C)")
private Double sensor4PaveTempMin;
@ApiModelProperty(value = "传感器4-摊铺温度(C)")
private Double sensor4PaveTempMax;
@ApiModelProperty(value = "传感器5-摊铺温度(C)")
private Double sensor5PaveTempMin;
@ApiModelProperty(value = "传感器5-摊铺温度(C)")
private Double sensor5PaveTempMax;
@ApiModelProperty(value = "传感器6-摊铺温度(C)")
private Double sensor6PaveTempMin;
@ApiModelProperty(value = "传感器6-摊铺温度(C)")
private Double sensor6PaveTempMax;
@ApiModelProperty(value = "传感器7-摊铺温度(C)")
private Double sensor7PaveTempMin;
@ApiModelProperty(value = "传感器7-摊铺温度(C)")
private Double sensor7PaveTempMax;
@ApiModelProperty(value = "传感器8-摊铺温度(C)")
private Double sensor8PaveTempMin;
@ApiModelProperty(value = "传感器8-摊铺温度(C)")
private Double sensor8PaveTempMax;
@ApiModelProperty(value = "传感器9-摊铺温度(C)")
private Double sensor9PaveTempMin;
@ApiModelProperty(value = "传感器9-摊铺温度(C)")
private Double sensor9PaveTempMax;
@ApiModelProperty(value = "传感器10-摊铺温度(C)")
private Double sensor10PaveTempMin;
@ApiModelProperty(value = "传感器10-摊铺温度(C)")
private Double sensor10PaveTempMax;
@ApiModelProperty(value = "传感器1-摊铺厚度(C)")
private Double sensor1PaveThicknessMin;
@ApiModelProperty(value = "传感器1-摊铺厚度(C)")
private Double sensor1PaveThicknessMax;
@ApiModelProperty(value = "传感器2-摊铺厚度(C)")
private Double sensor2PaveThicknessMin;
@ApiModelProperty(value = "传感器2-摊铺厚度(C)")
private Double sensor2PaveThicknessMax;
@ApiModelProperty(value = "传感器3-摊铺厚度(C)")
private Double sensor3PaveThicknessMin;
@ApiModelProperty(value = "传感器3-摊铺厚度(C)")
private Double sensor3PaveThicknessMax;
@ApiModelProperty(value = "传感器4-摊铺厚度(C)")
private Double sensor4PaveThicknessMin;
@ApiModelProperty(value = "传感器4-摊铺厚度(C)")
private Double sensor4PaveThicknessMax;
@ApiModelProperty(value = "项目sn")
private String projectSn;
@ApiModelProperty(value = "数据条数")
private java.lang.Integer dataNum;
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.pave.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 路面压实实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Mapper
public interface PaveCompactionRecordConfigMapper extends BaseMapper<PaveCompactionRecordConfig> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.pave.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 路面摊铺实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Mapper
public interface PaveRecordConfigMapper extends BaseMapper<PaveRecordConfig> {
}

View File

@ -0,0 +1,5 @@
<?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.PaveCompactionRecordConfigMapper">
</mapper>

View File

@ -0,0 +1,5 @@
<?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.PaveRecordConfigMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.pave.service;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 路面压实实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
public interface IPaveCompactionRecordConfigService extends IService<PaveCompactionRecordConfig> {
}

View File

@ -3,7 +3,7 @@ package com.zhgd.xmgl.modules.pave.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveCompactionRecordDto;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import java.util.HashMap;
import java.util.List;
@ -45,5 +45,5 @@ public interface IPaveCompactionRecordService extends IService<PaveCompactionRec
*/
void edit(PaveCompactionRecord paveCompactionRecord);
void randomData(PaveCompactionRecordDto recordDto);
void randomData(PaveCompactionRecordConfig recordDto);
}

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.pave.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
/**
* @Description: 路面摊铺实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
public interface IPaveRecordConfigService extends IService<PaveRecordConfig> {
}

View File

@ -2,9 +2,8 @@ package com.zhgd.xmgl.modules.pave.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.dto.BridgeErectMachineDataDto;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveRecordDto;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import java.util.HashMap;
import java.util.List;
@ -46,5 +45,5 @@ public interface IPaveRecordService extends IService<PaveRecord> {
*/
void edit(PaveRecord paveRecord);
void randomData(PaveRecordDto recordDto);
void randomData(PaveRecordConfig recordDto);
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.pave.service.impl;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.zhgd.xmgl.modules.pave.mapper.PaveCompactionRecordConfigMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionRecordConfigService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 路面压实实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Service
public class PaveCompactionRecordConfigServiceImpl extends ServiceImpl<PaveCompactionRecordConfigMapper, PaveCompactionRecordConfig> implements IPaveCompactionRecordConfigService {
}

View File

@ -7,12 +7,16 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionDev;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecord;
import com.zhgd.xmgl.modules.pave.entity.PaveDev;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveCompactionRecordDto;
import com.zhgd.xmgl.modules.pave.entity.PaveCompactionRecordConfig;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.modules.pave.mapper.PaveCompactionDevMapper;
import com.zhgd.xmgl.modules.pave.mapper.PaveCompactionRecordMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionRecordConfigService;
import com.zhgd.xmgl.modules.pave.service.IPaveCompactionRecordService;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordConfigService;
import com.zhgd.xmgl.modules.safetyhat.generator.CircleTrajectoryGenerator;
import com.zhgd.xmgl.modules.safetyhat.generator.Point;
import com.zhgd.xmgl.modules.safetyhat.generator.PolygonTrajectoryGenerator;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -40,6 +44,8 @@ public class PaveCompactionRecordServiceImpl extends ServiceImpl<PaveCompactionR
private PaveCompactionRecordMapper paveCompactionRecordMapper;
@Autowired
private PaveCompactionDevMapper paveCompactionDevMapper;
@Autowired
private IPaveCompactionRecordConfigService paveCompactionRecordConfigService;
@Override
public IPage<PaveCompactionRecord> queryPageList(HashMap<String, Object> paramMap) {
@ -88,48 +94,71 @@ public class PaveCompactionRecordServiceImpl extends ServiceImpl<PaveCompactionR
}
@Override
public void randomData(PaveCompactionRecordDto recordDto) {
PaveCompactionDev paveCompactionDev = paveCompactionDevMapper.selectOne(Wrappers.<PaveCompactionDev>lambdaQuery()
.eq(PaveCompactionDev::getDevSn, recordDto.getDevSn())
.eq(PaveCompactionDev::getProjectSn, recordDto.getProjectSn()));
if (paveCompactionDev != null) {
DateTime startTime = DateUtil.parseDateTime(recordDto.getPaveTimeMin());
DateTime endTime = DateUtil.parseDateTime(recordDto.getPaveTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<PaveCompactionRecord> list = new ArrayList<>();
for (int i = 0; i < recordDto.getDataNum(); i++) {
PaveCompactionRecord record = new PaveCompactionRecord();
record.setProjectSn(paveCompactionDev.getProjectSn());
record.setDevSn(paveCompactionDev.getDevSn());
record.setDevName(paveCompactionDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
DateTime paveTime = DateUtil.offsetMinute(dateTime, randomInt(0, 1440));
record.setPaveTime(paveTime);
record.setCreateDate(paveTime);
record.setPaveSpeed(randomDouble(recordDto.getPaveSpeedMin(), recordDto.getPaveSpeedMax()));
record.setAveragePaveTemp(randomDouble(recordDto.getAveragePaveTempMin(), recordDto.getAveragePaveTempMax()));
record.setPaveDegree(randomDouble(recordDto.getPaveDegreeMin(), recordDto.getPaveDegreeMax()));
record.setAmplitude(randomDouble(recordDto.getAmplitudeMin(), recordDto.getAmplitudeMax()));
record.setFrequency(randomDouble(recordDto.getFrequencyMin(), recordDto.getFrequencyMax()));
record.setGeographicalLatitude(randomDouble(recordDto.getGeographicalLatitudeMin(), recordDto.getGeographicalLatitudeMax()));
record.setGeographicalLongitude(randomDouble(recordDto.getGeographicalLongitudeMin(), recordDto.getGeographicalLongitudeMax()));
record.setSensor1PaveTemp(randomDouble(recordDto.getSensor1PaveTempMin(), recordDto.getSensor1PaveTempMax()));
record.setSensor2PaveTemp(randomDouble(recordDto.getSensor2PaveTempMin(), recordDto.getSensor2PaveTempMax()));
record.setSensor3PaveTemp(randomDouble(recordDto.getSensor3PaveTempMin(), recordDto.getSensor3PaveTempMax()));
record.setSensor4PaveTemp(randomDouble(recordDto.getSensor4PaveTempMin(), recordDto.getSensor4PaveTempMax()));
record.setSensor5PaveTemp(randomDouble(recordDto.getSensor5PaveTempMin(), recordDto.getSensor5PaveTempMax()));
record.setSensor6PaveTemp(randomDouble(recordDto.getSensor6PaveTempMin(), recordDto.getSensor6PaveTempMax()));
record.setSensor7PaveTemp(randomDouble(recordDto.getSensor7PaveTempMin(), recordDto.getSensor7PaveTempMax()));
record.setSensor8PaveTemp(randomDouble(recordDto.getSensor8PaveTempMin(), recordDto.getSensor8PaveTempMax()));
record.setSensor9PaveTemp(randomDouble(recordDto.getSensor9PaveTempMin(), recordDto.getSensor9PaveTempMax()));
record.setSensor10PaveTemp(randomDouble(recordDto.getSensor10PaveTempMin(), recordDto.getSensor10PaveTempMax()));
record.setSensor1PaveDegree(randomDouble(recordDto.getSensor1PaveDegreeMin(), recordDto.getSensor1PaveDegreeMax()));
record.setSensor2PaveDegree(randomDouble(recordDto.getSensor2PaveDegreeMin(), recordDto.getSensor2PaveDegreeMax()));
record.setSensor3PaveDegree(randomDouble(recordDto.getSensor3PaveDegreeMin(), recordDto.getSensor3PaveDegreeMax()));
record.setSensor4PaveDegree(randomDouble(recordDto.getSensor4PaveDegreeMin(), recordDto.getSensor4PaveDegreeMax()));
list.add(record);
public void randomData(PaveCompactionRecordConfig recordDto) {
PaveCompactionRecordConfig one = paveCompactionRecordConfigService.getOne(Wrappers.<PaveCompactionRecordConfig>lambdaQuery()
.eq(PaveCompactionRecordConfig::getProjectSn, recordDto.getProjectSn()));
if (one != null) {
recordDto.setId(one.getId());
}
paveCompactionRecordConfigService.saveOrUpdate(recordDto);
List<String> snList = new ArrayList<>(Arrays.asList(recordDto.getDevSn().split(",")));
List<List<double[]>> trajectorys = new ArrayList<>();
List<List<Point>> points = new ArrayList<>();
for (String devSn : snList) {
if (recordDto.getRangeType() == 1) {
trajectorys.add(CircleTrajectoryGenerator.generateRandomCircleTrajectory(recordDto.getLatitude(), recordDto.getLongitude(), recordDto.getAreaRadius(), recordDto.getDataNum()));
} else {
points.add(PolygonTrajectoryGenerator.generateRandomTrajectoryInPolygon(recordDto.getFenceShape(), recordDto.getDataNum(), 0.001));
}
}
int j = 0;
for (String dev : snList) {
List<double[]> doubles = trajectorys.size() > 0 ? trajectorys.get(j) : new ArrayList<>();
List<Point> points1 = points.size() > 0 ? points.get(j) : new ArrayList<>();
j++;
PaveCompactionDev paveCompactionDev = paveCompactionDevMapper.selectOne(Wrappers.<PaveCompactionDev>lambdaQuery()
.eq(PaveCompactionDev::getDevSn, dev)
.eq(PaveCompactionDev::getProjectSn, recordDto.getProjectSn()));
if (paveCompactionDev != null) {
DateTime startTime = DateUtil.parseDateTime(recordDto.getPaveTimeMin());
DateTime endTime = DateUtil.parseDateTime(recordDto.getPaveTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<PaveCompactionRecord> list = new ArrayList<>();
for (int i = 0; i < recordDto.getDataNum(); i++) {
PaveCompactionRecord record = new PaveCompactionRecord();
record.setProjectSn(paveCompactionDev.getProjectSn());
record.setDevSn(paveCompactionDev.getDevSn());
record.setDevName(paveCompactionDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
DateTime paveTime = DateUtil.offsetMinute(dateTime, randomInt(0, 1440));
record.setPaveTime(paveTime);
record.setCreateDate(paveTime);
record.setPaveSpeed(randomDouble(recordDto.getPaveSpeedMin(), recordDto.getPaveSpeedMax()));
record.setAveragePaveTemp(randomDouble(recordDto.getAveragePaveTempMin(), recordDto.getAveragePaveTempMax()));
record.setPaveDegree(randomDouble(recordDto.getPaveDegreeMin(), recordDto.getPaveDegreeMax()));
record.setAmplitude(randomDouble(recordDto.getAmplitudeMin(), recordDto.getAmplitudeMax()));
record.setFrequency(randomDouble(recordDto.getFrequencyMin(), recordDto.getFrequencyMax()));
record.setGeographicalLatitude(recordDto.getRangeType() == 1 ? doubles.get(i)[0] : points1.get(i).getLat());
record.setGeographicalLongitude(recordDto.getRangeType() == 1 ? doubles.get(i)[1] : points1.get(i).getLng());
record.setSensor1PaveTemp(randomDouble(recordDto.getSensor1PaveTempMin(), recordDto.getSensor1PaveTempMax()));
record.setSensor2PaveTemp(randomDouble(recordDto.getSensor2PaveTempMin(), recordDto.getSensor2PaveTempMax()));
record.setSensor3PaveTemp(randomDouble(recordDto.getSensor3PaveTempMin(), recordDto.getSensor3PaveTempMax()));
record.setSensor4PaveTemp(randomDouble(recordDto.getSensor4PaveTempMin(), recordDto.getSensor4PaveTempMax()));
record.setSensor5PaveTemp(randomDouble(recordDto.getSensor5PaveTempMin(), recordDto.getSensor5PaveTempMax()));
record.setSensor6PaveTemp(randomDouble(recordDto.getSensor6PaveTempMin(), recordDto.getSensor6PaveTempMax()));
record.setSensor7PaveTemp(randomDouble(recordDto.getSensor7PaveTempMin(), recordDto.getSensor7PaveTempMax()));
record.setSensor8PaveTemp(randomDouble(recordDto.getSensor8PaveTempMin(), recordDto.getSensor8PaveTempMax()));
record.setSensor9PaveTemp(randomDouble(recordDto.getSensor9PaveTempMin(), recordDto.getSensor9PaveTempMax()));
record.setSensor10PaveTemp(randomDouble(recordDto.getSensor10PaveTempMin(), recordDto.getSensor10PaveTempMax()));
record.setSensor1PaveDegree(randomDouble(recordDto.getSensor1PaveDegreeMin(), recordDto.getSensor1PaveDegreeMax()));
record.setSensor2PaveDegree(randomDouble(recordDto.getSensor2PaveDegreeMin(), recordDto.getSensor2PaveDegreeMax()));
record.setSensor3PaveDegree(randomDouble(recordDto.getSensor3PaveDegreeMin(), recordDto.getSensor3PaveDegreeMax()));
record.setSensor4PaveDegree(randomDouble(recordDto.getSensor4PaveDegreeMin(), recordDto.getSensor4PaveDegreeMax()));
list.add(record);
}
this.saveBatch(list);
}
this.saveBatch(list);
}
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.pave.service.impl;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.modules.pave.mapper.PaveRecordConfigMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordConfigService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 路面摊铺实时数据配置
* @author pengj
* @date 2025-05-30
* @version V1.0
*/
@Service
public class PaveRecordConfigServiceImpl extends ServiceImpl<PaveRecordConfigMapper, PaveRecordConfig> implements IPaveRecordConfigService {
}

View File

@ -3,31 +3,31 @@ package com.zhgd.xmgl.modules.pave.service.impl;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineData;
import com.zhgd.xmgl.modules.bridgeerectmachine.entity.BridgeErectMachineDev;
import com.zhgd.xmgl.modules.concretemixstation.entity.ConcreteMixStationDev;
import com.zhgd.xmgl.modules.pave.entity.PaveDev;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.entity.dto.PaveRecordDto;
import com.zhgd.xmgl.modules.pave.mapper.PaveDevMapper;
import com.zhgd.xmgl.modules.pave.mapper.PaveRecordMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.pave.entity.PaveDev;
import com.zhgd.xmgl.modules.pave.entity.PaveRecord;
import com.zhgd.xmgl.modules.pave.entity.PaveRecordConfig;
import com.zhgd.xmgl.modules.pave.mapper.PaveDevMapper;
import com.zhgd.xmgl.modules.pave.mapper.PaveRecordMapper;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordConfigService;
import com.zhgd.xmgl.modules.pave.service.IPaveRecordService;
import com.zhgd.xmgl.modules.safetyhat.generator.CircleTrajectoryGenerator;
import com.zhgd.xmgl.modules.safetyhat.generator.Point;
import com.zhgd.xmgl.modules.safetyhat.generator.PolygonTrajectoryGenerator;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
/**
* @Description: 路面摊铺-记录
* @author pds
@ -41,6 +41,8 @@ public class PaveRecordServiceImpl extends ServiceImpl<PaveRecordMapper, PaveRec
private PaveRecordMapper paveRecordMapper;
@Autowired
private PaveDevMapper paveDevMapper;
@Autowired
private IPaveRecordConfigService paveRecordConfigService;
@Override
public IPage<PaveRecord> queryPageList(HashMap<String, Object> paramMap) {
@ -89,48 +91,70 @@ public class PaveRecordServiceImpl extends ServiceImpl<PaveRecordMapper, PaveRec
}
@Override
public void randomData(PaveRecordDto recordDto) {
PaveDev paveDev = paveDevMapper.selectOne(Wrappers.<PaveDev>lambdaQuery()
.eq(PaveDev::getDevSn, recordDto.getDevSn())
.eq(PaveDev::getProjectSn, recordDto.getProjectSn()));
if (paveDev != null) {
DateTime startTime = DateUtil.parseDateTime(recordDto.getPaveTimeMin());
DateTime endTime = DateUtil.parseDateTime(recordDto.getPaveTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<PaveRecord> list = new ArrayList<>();
for (int i = 0; i < recordDto.getDataNum(); i++) {
PaveRecord record = new PaveRecord();
record.setProjectSn(paveDev.getProjectSn());
record.setDevSn(paveDev.getDevSn());
record.setDevName(paveDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
DateTime paveTime = DateUtil.offsetMinute(dateTime, randomInt(0, 1440));
record.setPaveTime(paveTime);
record.setCreateDate(paveTime);
record.setPaveSpeed(randomDouble(recordDto.getPaveSpeedMin(), recordDto.getPaveSpeedMax()));
record.setAveragePaveTemp(randomDouble(recordDto.getAveragePaveTempMin(), recordDto.getAveragePaveTempMax()));
record.setAveragePaveThickness(randomDouble(recordDto.getAveragePaveThicknessMin(), recordDto.getAveragePaveThicknessMax()));
record.setAmplitude(randomDouble(recordDto.getAmplitudeMin(), recordDto.getAmplitudeMax()));
record.setFrequency(randomDouble(recordDto.getFrequencyMin(), recordDto.getFrequencyMax()));
record.setGeographicalLatitude(randomDouble(recordDto.getGeographicalLatitudeMin(), recordDto.getGeographicalLatitudeMax()));
record.setGeographicalLongitude(randomDouble(recordDto.getGeographicalLongitudeMin(), recordDto.getGeographicalLongitudeMax()));
record.setSensor1PaveTemp(randomDouble(recordDto.getSensor1PaveTempMin(), recordDto.getSensor1PaveTempMax()));
record.setSensor2PaveTemp(randomDouble(recordDto.getSensor2PaveTempMin(), recordDto.getSensor2PaveTempMax()));
record.setSensor3PaveTemp(randomDouble(recordDto.getSensor3PaveTempMin(), recordDto.getSensor3PaveTempMax()));
record.setSensor4PaveTemp(randomDouble(recordDto.getSensor4PaveTempMin(), recordDto.getSensor4PaveTempMax()));
record.setSensor5PaveTemp(randomDouble(recordDto.getSensor5PaveTempMin(), recordDto.getSensor5PaveTempMax()));
record.setSensor6PaveTemp(randomDouble(recordDto.getSensor6PaveTempMin(), recordDto.getSensor6PaveTempMax()));
record.setSensor7PaveTemp(randomDouble(recordDto.getSensor7PaveTempMin(), recordDto.getSensor7PaveTempMax()));
record.setSensor8PaveTemp(randomDouble(recordDto.getSensor8PaveTempMin(), recordDto.getSensor8PaveTempMax()));
record.setSensor9PaveTemp(randomDouble(recordDto.getSensor9PaveTempMin(), recordDto.getSensor9PaveTempMax()));
record.setSensor10PaveTemp(randomDouble(recordDto.getSensor10PaveTempMin(), recordDto.getSensor10PaveTempMax()));
record.setSensor1PaveThickness(randomDouble(recordDto.getSensor1PaveThicknessMin(), recordDto.getSensor1PaveThicknessMax()));
record.setSensor2PaveThickness(randomDouble(recordDto.getSensor2PaveThicknessMin(), recordDto.getSensor2PaveThicknessMax()));
record.setSensor3PaveThickness(randomDouble(recordDto.getSensor3PaveThicknessMin(), recordDto.getSensor3PaveThicknessMax()));
record.setSensor4PaveThickness(randomDouble(recordDto.getSensor4PaveThicknessMin(), recordDto.getSensor4PaveThicknessMax()));
list.add(record);
public void randomData(PaveRecordConfig recordDto) {
PaveRecordConfig one = paveRecordConfigService.getOne(Wrappers.<PaveRecordConfig>lambdaQuery()
.eq(PaveRecordConfig::getProjectSn, recordDto.getProjectSn()));
if (one != null) {
recordDto.setId(one.getId());
}
paveRecordConfigService.saveOrUpdate(recordDto);
List<String> snList = new ArrayList<>(Arrays.asList(recordDto.getDevSn().split(",")));
List<List<double[]>> trajectorys = new ArrayList<>();
List<List<Point>> points = new ArrayList<>();
for (String devSn : snList) {
if (recordDto.getRangeType() == 1) {
trajectorys.add(CircleTrajectoryGenerator.generateRandomCircleTrajectory(recordDto.getLatitude(), recordDto.getLongitude(), recordDto.getAreaRadius(), recordDto.getDataNum()));
} else {
points.add(PolygonTrajectoryGenerator.generateRandomTrajectoryInPolygon(recordDto.getFenceShape(), recordDto.getDataNum(), 0.001));
}
}
int j = 0;
for (String dev : snList) {
List<double[]> doubles = trajectorys.size() > 0 ? trajectorys.get(j) : new ArrayList<>();
List<Point> points1 = points.size() > 0 ? points.get(j) : new ArrayList<>();
j++;
PaveDev paveDev = paveDevMapper.selectOne(Wrappers.<PaveDev>lambdaQuery()
.eq(PaveDev::getDevSn, dev)
.eq(PaveDev::getProjectSn, recordDto.getProjectSn()));
if (paveDev != null) {
DateTime startTime = DateUtil.parseDateTime(recordDto.getPaveTimeMin());
DateTime endTime = DateUtil.parseDateTime(recordDto.getPaveTimeMax());
long betweenDay = DateUtil.betweenDay(startTime, endTime, true);
List<PaveRecord> list = new ArrayList<>();
for (int i = 0; i < recordDto.getDataNum(); i++) {
PaveRecord record = new PaveRecord();
record.setProjectSn(paveDev.getProjectSn());
record.setDevSn(paveDev.getDevSn());
record.setDevName(paveDev.getDevName());
DateTime dateTime = DateUtil.offsetDay(DateUtil.beginOfDay(startTime), randomInt(1, (int) betweenDay));
DateTime paveTime = DateUtil.offsetMinute(dateTime, randomInt(0, 1440));
record.setPaveTime(paveTime);
record.setCreateDate(paveTime);
record.setPaveSpeed(randomDouble(recordDto.getPaveSpeedMin(), recordDto.getPaveSpeedMax()));
record.setAveragePaveTemp(randomDouble(recordDto.getAveragePaveTempMin(), recordDto.getAveragePaveTempMax()));
record.setAveragePaveThickness(randomDouble(recordDto.getAveragePaveThicknessMin(), recordDto.getAveragePaveThicknessMax()));
record.setAmplitude(randomDouble(recordDto.getAmplitudeMin(), recordDto.getAmplitudeMax()));
record.setFrequency(randomDouble(recordDto.getFrequencyMin(), recordDto.getFrequencyMax()));
record.setGeographicalLatitude(recordDto.getRangeType() == 1 ? doubles.get(i)[0] : points1.get(i).getLat());
record.setGeographicalLongitude(recordDto.getRangeType() == 1 ? doubles.get(i)[1] : points1.get(i).getLng());
record.setSensor1PaveTemp(randomDouble(recordDto.getSensor1PaveTempMin(), recordDto.getSensor1PaveTempMax()));
record.setSensor2PaveTemp(randomDouble(recordDto.getSensor2PaveTempMin(), recordDto.getSensor2PaveTempMax()));
record.setSensor3PaveTemp(randomDouble(recordDto.getSensor3PaveTempMin(), recordDto.getSensor3PaveTempMax()));
record.setSensor4PaveTemp(randomDouble(recordDto.getSensor4PaveTempMin(), recordDto.getSensor4PaveTempMax()));
record.setSensor5PaveTemp(randomDouble(recordDto.getSensor5PaveTempMin(), recordDto.getSensor5PaveTempMax()));
record.setSensor6PaveTemp(randomDouble(recordDto.getSensor6PaveTempMin(), recordDto.getSensor6PaveTempMax()));
record.setSensor7PaveTemp(randomDouble(recordDto.getSensor7PaveTempMin(), recordDto.getSensor7PaveTempMax()));
record.setSensor8PaveTemp(randomDouble(recordDto.getSensor8PaveTempMin(), recordDto.getSensor8PaveTempMax()));
record.setSensor9PaveTemp(randomDouble(recordDto.getSensor9PaveTempMin(), recordDto.getSensor9PaveTempMax()));
record.setSensor10PaveTemp(randomDouble(recordDto.getSensor10PaveTempMin(), recordDto.getSensor10PaveTempMax()));
record.setSensor1PaveThickness(randomDouble(recordDto.getSensor1PaveThicknessMin(), recordDto.getSensor1PaveThicknessMax()));
record.setSensor2PaveThickness(randomDouble(recordDto.getSensor2PaveThicknessMin(), recordDto.getSensor2PaveThicknessMax()));
record.setSensor3PaveThickness(randomDouble(recordDto.getSensor3PaveThicknessMin(), recordDto.getSensor3PaveThicknessMax()));
record.setSensor4PaveThickness(randomDouble(recordDto.getSensor4PaveThicknessMin(), recordDto.getSensor4PaveThicknessMax()));
list.add(record);
}
this.saveBatch(list);
}
this.saveBatch(list);
}
}

View File

@ -77,7 +77,7 @@ public class SafetyHatDevServiceImpl extends ServiceImpl<SafetyHatDevMapper, Saf
QueryWrapper<SafetyHatDev> queryWrapper = getQueryWrapper(paramMap);
Page<SafetyHatDev> page = PageUtil.getPage(paramMap);
if (StringUtils.isNotBlank(noExist)) {
queryWrapper.notLike("shd.fence_id", fenceId);
queryWrapper.and(a -> a.notLike("shd.fence_id", fenceId).or().isNull("shd.fence_id"));
} else if (StringUtils.isNotBlank(fenceId)) {
queryWrapper.like("shd.fence_id", fenceId);
}

View File

@ -66,7 +66,7 @@ public class VehiclePositionDev implements Serializable {
*/
@Excel(name = "车种", width = 15)
@ApiModelProperty(value = "车种")
private java.lang.Long carType;
private java.lang.String carType;
/**
* 人员姓名
*/

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.vehicleposition.mapper.VehiclePositionDevMapper">
<select id="pageList" resultType="com.zhgd.xmgl.modules.vehicleposition.entity.VehiclePositionDev">
select * from (select vpd.id, vpd.fence_id, CONCAT(IFNULL(vpd.enterprise_name, ''), IFNULL(en.enterprise_name, '')) enterpriseName,
select * from (select vpd.id, vpd.project_sn, vpd.dev_sn, vpd.heartbeat_time, vpd.fence_id, CONCAT(IFNULL(vpd.enterprise_name, ''), IFNULL(en.enterprise_name, '')) enterpriseName,
CONCAT(IFNULL(vpd.number_plate, ''), IFNULL(ci.car_number, '')) numberPlate,
CONCAT(IFNULL(vpd.car_type, ''), IFNULL(ct.car_type_name, '')) carType,
CONCAT(IFNULL(vpd.driver, ''), IFNULL(wi.worker_name, '')) driver,

View File

@ -56,7 +56,7 @@ public class VehiclePositionDevServiceImpl extends ServiceImpl<VehiclePositionDe
QueryWrapper<VehiclePositionDev> queryWrapper = Wrappers.<VehiclePositionDev>query();
Page<VehiclePositionDev> page = PageUtil.getPage(paramMap);
if (StringUtils.isNotBlank(noExist)) {
queryWrapper.notLike("a.fence_id", fenceId);
queryWrapper.and(a -> a.notLike("a.fence_id", fenceId).or().isNull("a.fence_id"));
} else if (StringUtils.isNotBlank(fenceId)) {
queryWrapper.like("a.fence_id", fenceId);
}
@ -111,7 +111,7 @@ public class VehiclePositionDevServiceImpl extends ServiceImpl<VehiclePositionDe
}
private QueryWrapper<VehiclePositionDev> getQueryWrapper(HashMap<String, Object> paramMap) {
String alias = "vpd.";
String alias = "a.";
QueryWrapper<VehiclePositionDev> queryWrapper = QueryGenerator.initPageQueryWrapper(VehiclePositionDev.class, paramMap, alias);
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(VehiclePositionDev::getId));
Integer online = MapUtils.getInteger(paramMap, "online");