模拟数据生成
This commit is contained in:
parent
9fb4d2bfea
commit
d0bc30157d
@ -0,0 +1,146 @@
|
||||
package com.zhgd.xmgl.modules.rt.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig;
|
||||
import com.zhgd.xmgl.modules.rt.service.IMockRtToolHistoryConfigService;
|
||||
import com.zhgd.xmgl.util.mysql.MysqlDataUtil;
|
||||
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.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.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: 模拟工器具历史数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/mockRtToolHistoryConfig")
|
||||
@Slf4j
|
||||
@Api(tags = "模拟工器具历史数据配置相关Api")
|
||||
public class MockRtToolHistoryConfigController {
|
||||
@Autowired
|
||||
private IMockRtToolHistoryConfigService mockRtToolHistoryConfigService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "分页查询", operDesc = "分页列表查询模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "分页列表查询模拟工器具历史数据配置信息", notes = "分页列表查询模拟工器具历史数据配置信息", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||
})
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<MockRtToolHistoryConfig>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
return Result.success(mockRtToolHistoryConfigService.queryPageList(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "列表查询", operDesc = "列表查询模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "列表查询模拟工器具历史数据配置信息", notes = "列表查询模拟工器具历史数据配置信息", httpMethod = "GET")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<MockRtToolHistoryConfig>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
return Result.success(mockRtToolHistoryConfigService.queryList(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param mockRtToolHistoryConfig
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "添加", operDesc = "添加模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "添加模拟工器具历史数据配置信息", notes = "添加模拟工器具历史数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<MockRtToolHistoryConfig> add(@RequestBody @Validate MockRtToolHistoryConfig mockRtToolHistoryConfig) {
|
||||
mockRtToolHistoryConfigService.add(mockRtToolHistoryConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param mockRtToolHistoryConfig
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "编辑", operDesc = "编辑模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "编辑模拟工器具历史数据配置信息", notes = "编辑模拟工器具历史数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<MockRtToolHistoryConfig> edit(@RequestBody MockRtToolHistoryConfig mockRtToolHistoryConfig) {
|
||||
mockRtToolHistoryConfigService.edit(mockRtToolHistoryConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "删除", operDesc = "删除模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "删除模拟工器具历史数据配置信息", notes = "删除模拟工器具历史数据配置信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "模拟工器具历史数据配置ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<MockRtToolHistoryConfig> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||
mockRtToolHistoryConfigService.delete(MapUtils.getString(map, "id"));
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "通过id查询", operDesc = "通过id查询模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "通过id查询模拟工器具历史数据配置信息", notes = "通过id查询模拟工器具历史数据配置信息", httpMethod = "GET")
|
||||
@ApiImplicitParam(name = "id", value = "模拟工器具历史数据配置ID", paramType = "query", required = true, dataType = "Integer")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<MockRtToolHistoryConfig> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
return Result.success(mockRtToolHistoryConfigService.queryById(id));
|
||||
}
|
||||
|
||||
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "保存", operDesc = "保存模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "保存模拟工器具历史数据配置信息", notes = "保存模拟工器具历史数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/save")
|
||||
public Result saveEntity(@RequestBody @Validate MockRtToolHistoryConfig mockWorkerAttendanceConfig) {
|
||||
mockRtToolHistoryConfigService.saveEntity(mockWorkerAttendanceConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟工器具历史数据配置管理", operType = "重置", operDesc = "重置模拟工器具历史数据配置信息")
|
||||
@ApiOperation(value = "重置模拟工器具历史数据配置信息", notes = "重置模拟工器具历史数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockRtToolHistoryConfig mockWorkerAttendanceConfig) {
|
||||
MockRtToolHistoryConfig one = mockRtToolHistoryConfigService.getOne(new LambdaQueryWrapper<MockRtToolHistoryConfig>()
|
||||
.eq(MockRtToolHistoryConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
MysqlDataUtil.setFieldsToNull(mockRtToolHistoryConfigService, MockRtToolHistoryConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,27 +1,34 @@
|
||||
package com.zhgd.xmgl.modules.rt.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtTool;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtToolHistory;
|
||||
import com.zhgd.xmgl.modules.rt.service.IMockRtToolHistoryConfigService;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtToolHistoryService;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtToolService;
|
||||
import com.zhgd.xmgl.util.EntityUtils;
|
||||
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 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.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
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 lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
/**
|
||||
@ -38,6 +45,12 @@ import org.springframework.web.bind.annotation.*;
|
||||
public class RtToolHistoryController {
|
||||
@Autowired
|
||||
private IRtToolHistoryService rtToolHistoryService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IMockRtToolHistoryConfigService mockRtToolHistoryConfigService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IRtToolService rtToolService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@ -136,4 +149,53 @@ public class RtToolHistoryController {
|
||||
return result;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "生成榕图-工器具历史数据", notes = "生成榕图-工器具历史数据", httpMethod = "POST")
|
||||
@PostMapping(value = "/mockData")
|
||||
public Result mockData(@RequestBody MockRtToolHistoryConfig config) {
|
||||
if (config.getStartTime() == null) {
|
||||
throw new OpenAlertException("开始时间不能为空");
|
||||
}
|
||||
if (config.getEndTime() == null) {
|
||||
throw new OpenAlertException("结束时间不能为空");
|
||||
}
|
||||
mockRtToolHistoryConfigService.saveEntity(config);
|
||||
List<String> devIdList = StrUtil.split(config.getDevSns(), ",");
|
||||
ThreadLocalRandom random = ThreadLocalRandom.current();
|
||||
List<RtToolHistory> datas = new ArrayList<>();
|
||||
Map<String, RtTool> devSnMap = rtToolService.list(new LambdaQueryWrapper<RtTool>()
|
||||
.eq(RtTool::getProjectSn, config.getProjectSn())).stream().collect(Collectors.toMap(RtTool::getDevSn, Function.identity(), (o1, o2) -> o1));
|
||||
for (String devId : devIdList) {
|
||||
for (int i = 0; i < config.getDevGenerateNum(); i++) {
|
||||
RtToolHistory data = new RtToolHistory();
|
||||
data.setDevSn(devId);
|
||||
data.setToolName(Optional.ofNullable(devSnMap.get(devId)).map(RtTool::getToolName).orElse(null));
|
||||
EntityUtils.setRandomIntByPoint(config.getToolStatuses(), data::setToolStatus, random);
|
||||
EntityUtils.setRandomDateTime(config.getStartTime(), config.getEndTime(), data::setEntryTime, random);
|
||||
EntityUtils.setRandomDateTime(data.getEntryTime(), config.getEndTime(), data::setExitTime, random);
|
||||
data.setProjectSn(config.getProjectSn());
|
||||
datas.add(data);
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(datas)) {
|
||||
rtToolHistoryService.saveBatch(datas);
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "批量删除榕图-工器具历史数据", notes = "批量删除榕图-工器具历史数据", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "榕图-工器具历史数据ID字符串(多个以,分割)", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result deleteBatch(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
String ids = MapUtils.getString(paramMap, "ids");
|
||||
Result result = new Result<>();
|
||||
if (ids == null || "".equals(ids.trim())) {
|
||||
result.error500("参数不识别!");
|
||||
} else {
|
||||
rtToolHistoryService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
Result.success("删除成功!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,80 @@
|
||||
package com.zhgd.xmgl.modules.rt.entity;
|
||||
|
||||
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.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 模拟工器具历史数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("mock_rt_tool_history_config")
|
||||
@ApiModel(value = "MockRtToolHistoryConfig实体类", description = "MockRtToolHistoryConfig")
|
||||
public class MockRtToolHistoryConfig implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 所属项目SN
|
||||
*/
|
||||
@ApiModelProperty(value = "所属项目SN")
|
||||
private java.lang.String projectSn;
|
||||
/**
|
||||
* 设备sn(多个,分隔)
|
||||
*/
|
||||
@ApiModelProperty(value = "设备sn(多个,分隔)")
|
||||
private java.lang.String devSns;
|
||||
/**
|
||||
* 每个设备随机生成数量
|
||||
*/
|
||||
@ApiModelProperty(value = "每个设备随机生成数量")
|
||||
private java.lang.Integer devGenerateNum;
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
private java.util.Date startTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
private java.util.Date endTime;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createDate;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateDate;
|
||||
/**
|
||||
* 工器具状态:1在场2离场(多个数字,分割)
|
||||
*/
|
||||
@ApiModelProperty(value = "工器具状态:1在场2离场(多个数字,分割)")
|
||||
private java.lang.String toolStatuses;
|
||||
}
|
||||
@ -1,17 +1,16 @@
|
||||
package com.zhgd.xmgl.modules.rt.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;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 榕图-工器具历史数据
|
||||
@ -44,10 +43,10 @@ public class RtToolHistory implements Serializable {
|
||||
@ApiModelProperty(value = "工器具名称")
|
||||
private java.lang.String toolName;
|
||||
/**
|
||||
* 工器具状态
|
||||
* 工器具状态:1在场2离场
|
||||
*/
|
||||
@Excel(name = "工器具状态", width = 15)
|
||||
@ApiModelProperty(value = "工器具状态")
|
||||
@Excel(name = "工器具状态:1在场2离场", width = 15)
|
||||
@ApiModelProperty(value = "工器具状态:1在场2离场")
|
||||
private java.lang.Integer toolStatus;
|
||||
/**
|
||||
* 进场时间
|
||||
@ -87,4 +86,9 @@ public class RtToolHistory implements Serializable {
|
||||
@Excel(name = "项目sn", width = 15)
|
||||
@ApiModelProperty(value = "项目sn")
|
||||
private java.lang.String projectSn;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "模拟生成时间")
|
||||
private java.util.Date mockTime;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package com.zhgd.xmgl.modules.rt.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 模拟工器具历史数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MockRtToolHistoryConfigMapper extends BaseMapper<MockRtToolHistoryConfig> {
|
||||
|
||||
/**
|
||||
* 分页列表查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
IPage<MockRtToolHistoryConfig> queryList(Page<MockRtToolHistoryConfig> page, @Param(Constants.WRAPPER) QueryWrapper<MockRtToolHistoryConfig> queryWrapper, @Param("param") HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 列表查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<MockRtToolHistoryConfig> queryList(@Param(Constants.WRAPPER) QueryWrapper<MockRtToolHistoryConfig> queryWrapper, @Param("param") HashMap<String, Object> param);
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
MockRtToolHistoryConfig queryById(String id);
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
<?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.rt.mapper.MockRtToolHistoryConfigMapper">
|
||||
<select id="queryList" resultType="com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig">
|
||||
select * from (
|
||||
select t.*
|
||||
from mock_rt_tool_history_config t
|
||||
)t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="queryById" resultType="com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig">
|
||||
select * from (
|
||||
select t.*
|
||||
from mock_rt_tool_history_config t
|
||||
)t
|
||||
where t.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -0,0 +1,66 @@
|
||||
package com.zhgd.xmgl.modules.rt.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.rt.entity.MockRtToolHistoryConfig;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 模拟工器具历史数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IMockRtToolHistoryConfigService extends IService<MockRtToolHistoryConfig> {
|
||||
/**
|
||||
* 分页列表查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param param 参数map
|
||||
* @return
|
||||
*/
|
||||
IPage<MockRtToolHistoryConfig> queryPageList(HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 列表查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param param 参数map
|
||||
* @return
|
||||
*/
|
||||
List<MockRtToolHistoryConfig> queryList(HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 添加模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param mockRtToolHistoryConfig 模拟工器具历史数据配置
|
||||
* @return
|
||||
*/
|
||||
void add(MockRtToolHistoryConfig mockRtToolHistoryConfig);
|
||||
|
||||
/**
|
||||
* 编辑模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param mockRtToolHistoryConfig 模拟工器具历史数据配置
|
||||
* @return
|
||||
*/
|
||||
void edit(MockRtToolHistoryConfig mockRtToolHistoryConfig);
|
||||
|
||||
/**
|
||||
* 根据id删除模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param id 模拟工器具历史数据配置的id
|
||||
* @return
|
||||
*/
|
||||
void delete(String id);
|
||||
|
||||
/**
|
||||
* 根据id查询模拟工器具历史数据配置信息
|
||||
*
|
||||
* @param id 模拟工器具历史数据配置的id
|
||||
* @return
|
||||
*/
|
||||
MockRtToolHistoryConfig queryById(String id);
|
||||
|
||||
void saveEntity(MockRtToolHistoryConfig mockWorkerAttendanceConfig);
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
package com.zhgd.xmgl.modules.rt.service.impl;
|
||||
|
||||
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.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.modules.rt.entity.MockRtToolHistoryConfig;
|
||||
import com.zhgd.xmgl.modules.rt.mapper.MockRtToolHistoryConfigMapper;
|
||||
import com.zhgd.xmgl.modules.rt.service.IMockRtToolHistoryConfigService;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import com.zhgd.xmgl.util.mysql.MysqlDataUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 模拟工器具历史数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class MockRtToolHistoryConfigServiceImpl extends ServiceImpl<MockRtToolHistoryConfigMapper, MockRtToolHistoryConfig> implements IMockRtToolHistoryConfigService {
|
||||
@Autowired
|
||||
private MockRtToolHistoryConfigMapper mockRtToolHistoryConfigMapper;
|
||||
|
||||
@Override
|
||||
public IPage<MockRtToolHistoryConfig> queryPageList(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockRtToolHistoryConfig> queryWrapper = this.getQueryWrapper(param);
|
||||
Page<MockRtToolHistoryConfig> page = PageUtil.getPage(param);
|
||||
IPage<MockRtToolHistoryConfig> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||
pageList.setRecords(this.dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MockRtToolHistoryConfig> queryList(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockRtToolHistoryConfig> queryWrapper = getQueryWrapper(param);
|
||||
return dealList(baseMapper.queryList(queryWrapper, param));
|
||||
}
|
||||
|
||||
private QueryWrapper<MockRtToolHistoryConfig> getQueryWrapper(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockRtToolHistoryConfig> queryWrapper = QueryGenerator.initPageQueryWrapper(MockRtToolHistoryConfig.class, param, true);
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(MockRtToolHistoryConfig::getId));
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
private List<MockRtToolHistoryConfig> dealList(List<MockRtToolHistoryConfig> list) {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(MockRtToolHistoryConfig mockRtToolHistoryConfig) {
|
||||
mockRtToolHistoryConfig.setId(null);
|
||||
baseMapper.insert(mockRtToolHistoryConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(MockRtToolHistoryConfig mockRtToolHistoryConfig) {
|
||||
MockRtToolHistoryConfig oldMockRtToolHistoryConfig = baseMapper.selectById(mockRtToolHistoryConfig.getId());
|
||||
if (oldMockRtToolHistoryConfig == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.updateById(mockRtToolHistoryConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
MockRtToolHistoryConfig mockRtToolHistoryConfig = baseMapper.selectById(id);
|
||||
if (mockRtToolHistoryConfig == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MockRtToolHistoryConfig queryById(String id) {
|
||||
MockRtToolHistoryConfig entity = baseMapper.queryById(id);
|
||||
if (entity == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveEntity(MockRtToolHistoryConfig config) {
|
||||
MockRtToolHistoryConfig dbConfig = this.getOne(new LambdaQueryWrapper<MockRtToolHistoryConfig>()
|
||||
.eq(MockRtToolHistoryConfig::getProjectSn, config.getProjectSn()));
|
||||
if (dbConfig == null) {
|
||||
this.add(config);
|
||||
} else {
|
||||
config.setId(dbConfig.getId());
|
||||
this.edit(config);
|
||||
}
|
||||
MysqlDataUtil.setFieldsToNull(this, config);
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,22 +1,23 @@
|
||||
package com.zhgd.xmgl.modules.rt.service.impl;
|
||||
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtToolHistory;
|
||||
import com.zhgd.xmgl.modules.rt.mapper.RtToolHistoryMapper;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtToolHistoryService;
|
||||
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 com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.modules.rt.entity.RtToolHistory;
|
||||
import com.zhgd.xmgl.modules.rt.mapper.RtToolHistoryMapper;
|
||||
import com.zhgd.xmgl.modules.rt.service.IRtToolHistoryService;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @Description: 榕图-工器具历史数据
|
||||
@ -48,7 +49,12 @@ public class RtToolHistoryServiceImpl extends ServiceImpl<RtToolHistoryMapper, R
|
||||
private QueryWrapper<RtToolHistory> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||
String alias = "";
|
||||
QueryWrapper<RtToolHistory> queryWrapper = QueryGenerator.initPageQueryWrapper(RtToolHistory.class, paramMap, alias);
|
||||
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtToolHistory::getId));
|
||||
if (Objects.equals(MapUtils.getInteger(paramMap, "mockDesc"), 1)) {
|
||||
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtToolHistory::getMockTime));
|
||||
} else {
|
||||
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(RtToolHistory::getId));
|
||||
}
|
||||
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,146 @@
|
||||
package com.zhgd.xmgl.modules.sewage.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig;
|
||||
import com.zhgd.xmgl.modules.sewage.service.IMockSewageDataConfigService;
|
||||
import com.zhgd.xmgl.util.mysql.MysqlDataUtil;
|
||||
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.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.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Title: Controller
|
||||
* @Description: 模拟污水数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/xmgl/mockSewageDataConfig")
|
||||
@Slf4j
|
||||
@Api(tags = "模拟污水数据配置相关Api")
|
||||
public class MockSewageDataConfigController {
|
||||
@Autowired
|
||||
private IMockSewageDataConfigService mockSewageDataConfigService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "分页查询", operDesc = "分页列表查询模拟污水数据配置信息")
|
||||
@ApiOperation(value = "分页列表查询模拟污水数据配置信息", notes = "分页列表查询模拟污水数据配置信息", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||
})
|
||||
@GetMapping(value = "/page")
|
||||
public Result<IPage<MockSewageDataConfig>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
return Result.success(mockSewageDataConfigService.queryPageList(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表查询
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "列表查询", operDesc = "列表查询模拟污水数据配置信息")
|
||||
@ApiOperation(value = "列表查询模拟污水数据配置信息", notes = "列表查询模拟污水数据配置信息", httpMethod = "GET")
|
||||
@GetMapping(value = "/list")
|
||||
public Result<List<MockSewageDataConfig>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||
return Result.success(mockSewageDataConfigService.queryList(param));
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加
|
||||
*
|
||||
* @param mockSewageDataConfig
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "添加", operDesc = "添加模拟污水数据配置信息")
|
||||
@ApiOperation(value = "添加模拟污水数据配置信息", notes = "添加模拟污水数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<MockSewageDataConfig> add(@RequestBody @Validate MockSewageDataConfig mockSewageDataConfig) {
|
||||
mockSewageDataConfigService.add(mockSewageDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
*
|
||||
* @param mockSewageDataConfig
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "编辑", operDesc = "编辑模拟污水数据配置信息")
|
||||
@ApiOperation(value = "编辑模拟污水数据配置信息", notes = "编辑模拟污水数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<MockSewageDataConfig> edit(@RequestBody MockSewageDataConfig mockSewageDataConfig) {
|
||||
mockSewageDataConfigService.edit(mockSewageDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id删除
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "删除", operDesc = "删除模拟污水数据配置信息")
|
||||
@ApiOperation(value = "删除模拟污水数据配置信息", notes = "删除模拟污水数据配置信息", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "id", value = "模拟污水数据配置ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
|
||||
@PostMapping(value = "/delete")
|
||||
public Result<MockSewageDataConfig> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||
mockSewageDataConfigService.delete(MapUtils.getString(map, "id"));
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过id查询
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "通过id查询", operDesc = "通过id查询模拟污水数据配置信息")
|
||||
@ApiOperation(value = "通过id查询模拟污水数据配置信息", notes = "通过id查询模拟污水数据配置信息", httpMethod = "GET")
|
||||
@ApiImplicitParam(name = "id", value = "模拟污水数据配置ID", paramType = "query", required = true, dataType = "Integer")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<MockSewageDataConfig> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||
return Result.success(mockSewageDataConfigService.queryById(id));
|
||||
}
|
||||
|
||||
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "保存", operDesc = "保存模拟污水数据配置信息")
|
||||
@ApiOperation(value = "保存模拟污水数据配置信息", notes = "保存模拟污水数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/save")
|
||||
public Result saveEntity(@RequestBody @Validate MockSewageDataConfig mockWorkerAttendanceConfig) {
|
||||
mockSewageDataConfigService.saveEntity(mockWorkerAttendanceConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟污水数据配置管理", operType = "重置", operDesc = "重置模拟污水数据配置信息")
|
||||
@ApiOperation(value = "重置模拟污水数据配置信息", notes = "重置模拟污水数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockSewageDataConfig mockWorkerAttendanceConfig) {
|
||||
MockSewageDataConfig one = mockSewageDataConfigService.getOne(new LambdaQueryWrapper<MockSewageDataConfig>()
|
||||
.eq(MockSewageDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
MysqlDataUtil.setFieldsToNull(mockSewageDataConfigService, MockSewageDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -1,11 +1,17 @@
|
||||
package com.zhgd.xmgl.modules.sewage.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig;
|
||||
import com.zhgd.xmgl.modules.sewage.entity.SewageData;
|
||||
import com.zhgd.xmgl.modules.sewage.service.IMockSewageDataConfigService;
|
||||
import com.zhgd.xmgl.modules.sewage.service.ISewageDataService;
|
||||
import com.zhgd.xmgl.util.EntityUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@ -16,12 +22,13 @@ 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.context.annotation.Lazy;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
|
||||
/**
|
||||
@ -38,6 +45,9 @@ import java.util.List;
|
||||
public class SewageDataController {
|
||||
@Autowired
|
||||
private ISewageDataService sewageDataService;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IMockSewageDataConfigService mockSewageDataConfigService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@ -67,7 +77,6 @@ public class SewageDataController {
|
||||
return Result.success(sewageDataService.queryList(paramMap));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "列表查询污水设备和最新的一条数据信息", notes = "列表查询污水设备和最新的一条数据信息", httpMethod = "GET")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||
@ -202,4 +211,55 @@ public class SewageDataController {
|
||||
return Result.success(values);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "生成污水数据", notes = "生成污水数据", httpMethod = "POST")
|
||||
@PostMapping(value = "/mockData")
|
||||
public Result mockData(@RequestBody MockSewageDataConfig config) {
|
||||
if (config.getStartTime() == null) {
|
||||
throw new OpenAlertException("开始时间不能为空");
|
||||
}
|
||||
if (config.getEndTime() == null) {
|
||||
throw new OpenAlertException("结束时间不能为空");
|
||||
}
|
||||
mockSewageDataConfigService.saveEntity(config);
|
||||
List<String> devIdList = StrUtil.split(config.getDevSns(), ",");
|
||||
ThreadLocalRandom random = ThreadLocalRandom.current();
|
||||
List<SewageData> datas = new ArrayList<>();
|
||||
for (String devId : devIdList) {
|
||||
for (int i = 0; i < config.getDevGenerateNum(); i++) {
|
||||
SewageData data = new SewageData();
|
||||
data.setDevSn(devId);
|
||||
EntityUtils.setRandomDouble(config.getPhValueBegin(), config.getPhValueEnd(), data::setPhValue, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getTurbidityValueBegin(), config.getTurbidityValueEnd(), data::setTurbidityValue, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getConductivityBegin(), config.getConductivityEnd(), data::setConductivity, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getDissolvedOxygenBegin(), config.getDissolvedOxygenEnd(), data::setDissolvedOxygen, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getWaterTemperatureBegin(), config.getWaterTemperatureEnd(), data::setWaterTemperature, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getFlowVelocityBegin(), config.getFlowVelocityEnd(), data::setFlowVelocity, 2, random);
|
||||
EntityUtils.setRandomDouble(config.getWaterLevelBegin(), config.getWaterLevelEnd(), data::setWaterLevel, 2, random);
|
||||
data.setProjectSn(config.getProjectSn());
|
||||
data.setCreateDate(new Date(random.nextLong(config.getStartTime().getTime(), config.getEndTime().getTime() + 1)));
|
||||
datas.add(data);
|
||||
}
|
||||
}
|
||||
if (CollUtil.isNotEmpty(datas)) {
|
||||
sewageDataService.saveBatch(datas);
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "批量删除污水数据", notes = "批量删除污水数据", httpMethod = "POST")
|
||||
@ApiImplicitParam(name = "ids", value = "污水数据ID字符串(多个以,分割)", paramType = "body", required = true, dataType = "String")
|
||||
@PostMapping(value = "/deleteBatch")
|
||||
public Result deleteBatch(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
String ids = MapUtils.getString(paramMap, "ids");
|
||||
Result result = new Result<>();
|
||||
if (ids == null || "".equals(ids.trim())) {
|
||||
result.error500("参数不识别!");
|
||||
} else {
|
||||
sewageDataService.removeByIds(Arrays.asList(ids.split(",")));
|
||||
Result.success("删除成功!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,145 @@
|
||||
package com.zhgd.xmgl.modules.sewage.entity;
|
||||
|
||||
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.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description: 模拟污水数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("mock_sewage_data_config")
|
||||
@ApiModel(value = "MockSewageDataConfig实体类", description = "MockSewageDataConfig")
|
||||
public class MockSewageDataConfig implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "id")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 所属项目SN
|
||||
*/
|
||||
@ApiModelProperty(value = "所属项目SN")
|
||||
private java.lang.String projectSn;
|
||||
/**
|
||||
* 设备sn(多个,分隔)
|
||||
*/
|
||||
@ApiModelProperty(value = "设备sn(多个,分隔)")
|
||||
private java.lang.String devSns;
|
||||
/**
|
||||
* 每个设备随机生成数量
|
||||
*/
|
||||
@ApiModelProperty(value = "每个设备随机生成数量")
|
||||
private java.lang.Integer devGenerateNum;
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
private java.util.Date startTime;
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
private java.util.Date endTime;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.util.Date createDate;
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间")
|
||||
private java.util.Date updateDate;
|
||||
/**
|
||||
* PH值开始
|
||||
*/
|
||||
@ApiModelProperty(value = "PH值开始")
|
||||
private java.lang.Double phValueBegin;
|
||||
/**
|
||||
* PH值结束
|
||||
*/
|
||||
@ApiModelProperty(value = "PH值结束")
|
||||
private java.lang.Double phValueEnd;
|
||||
/**
|
||||
* 浊度值(NTU)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "浊度值(NTU)开始")
|
||||
private java.lang.Double turbidityValueBegin;
|
||||
/**
|
||||
* 浊度值(NTU)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "浊度值(NTU)结束")
|
||||
private java.lang.Double turbidityValueEnd;
|
||||
/**
|
||||
* 电导率(μS/cm)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "电导率(μS/cm)开始")
|
||||
private java.lang.Double conductivityBegin;
|
||||
/**
|
||||
* 电导率(μS/cm)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "电导率(μS/cm)结束")
|
||||
private java.lang.Double conductivityEnd;
|
||||
/**
|
||||
* 溶解氧(mg/L)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "溶解氧(mg/L)开始")
|
||||
private java.lang.Double dissolvedOxygenBegin;
|
||||
/**
|
||||
* 溶解氧(mg/L)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "溶解氧(mg/L)结束")
|
||||
private java.lang.Double dissolvedOxygenEnd;
|
||||
/**
|
||||
* 水温(℃)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "水温(℃)开始")
|
||||
private java.lang.Double waterTemperatureBegin;
|
||||
/**
|
||||
* 水温(℃)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "水温(℃)结束")
|
||||
private java.lang.Double waterTemperatureEnd;
|
||||
/**
|
||||
* 流速(m/s)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "流速(m/s)开始")
|
||||
private java.lang.Double flowVelocityBegin;
|
||||
/**
|
||||
* 流速(m/s)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "流速(m/s)结束")
|
||||
private java.lang.Double flowVelocityEnd;
|
||||
/**
|
||||
* 水位(m)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "水位(m)开始")
|
||||
private java.lang.Double waterLevelBegin;
|
||||
/**
|
||||
* 水位(m)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "水位(m)结束")
|
||||
private java.lang.Double waterLevelEnd;
|
||||
}
|
||||
@ -1,18 +1,18 @@
|
||||
package com.zhgd.xmgl.modules.sewage.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
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;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 污水数据
|
||||
@ -92,26 +92,30 @@ public class SewageData implements Serializable {
|
||||
@Excel(name = "创建时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date createDate;
|
||||
/**
|
||||
* 更新时间 yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date updateDate;
|
||||
@ApiModelProperty(value = "创建时间 yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date createDate;
|
||||
/**
|
||||
* 更新时间 yyyy-MM-dd HH:mm:ss
|
||||
*/
|
||||
@Excel(name = "更新时间 yyyy-MM-dd HH:mm:ss", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "更新时间 yyyy-MM-dd HH:mm:ss")
|
||||
private java.util.Date updateDate;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "模拟生成时间")
|
||||
private java.util.Date mockTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private java.lang.String devName;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private java.lang.String devName;
|
||||
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "time")
|
||||
private java.lang.String time;
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "time")
|
||||
private java.lang.String time;
|
||||
|
||||
@TableField(exist = false)
|
||||
@TableField(exist = false)
|
||||
@ApiModelProperty(value = "是否报警")
|
||||
private java.lang.Boolean isWarning;
|
||||
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
package com.zhgd.xmgl.modules.sewage.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.HashMap;
|
||||
|
||||
import com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* @Description: 模拟污水数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface MockSewageDataConfigMapper extends BaseMapper<MockSewageDataConfig> {
|
||||
|
||||
/**
|
||||
* 分页列表查询模拟污水数据配置信息
|
||||
*
|
||||
* @param page
|
||||
* @param queryWrapper
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
IPage<MockSewageDataConfig> queryList(Page<MockSewageDataConfig> page, @Param(Constants.WRAPPER) QueryWrapper<MockSewageDataConfig> queryWrapper, @Param("param") HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 列表查询模拟污水数据配置信息
|
||||
*
|
||||
* @param queryWrapper
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<MockSewageDataConfig> queryList(@Param(Constants.WRAPPER) QueryWrapper<MockSewageDataConfig> queryWrapper, @Param("param") HashMap<String, Object> param);
|
||||
|
||||
|
||||
/**
|
||||
* 通过id查询模拟污水数据配置信息
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
MockSewageDataConfig queryById(String id);
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
package com.zhgd.xmgl.modules.sewage.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@ -25,4 +26,6 @@ public interface SewageDataMapper extends BaseMapper<SewageData> {
|
||||
List<SewageData> countSewageDataTrend(HashMap<String, Object> paramMap);
|
||||
|
||||
SewageData queryNewestData(HashMap<String, Object> paramMap);
|
||||
|
||||
IPage<SewageData> queryList(Page<SewageData> page, @Param(Constants.WRAPPER) QueryWrapper<SewageData> queryWrapper);
|
||||
}
|
||||
|
||||
@ -0,0 +1,18 @@
|
||||
<?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.sewage.mapper.MockSewageDataConfigMapper">
|
||||
<select id="queryList" resultType="com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig">
|
||||
select * from (
|
||||
select t.*
|
||||
from mock_sewage_data_config t
|
||||
)t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
<select id="queryById" resultType="com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig">
|
||||
select * from (
|
||||
select t.*
|
||||
from mock_sewage_data_config t
|
||||
)t
|
||||
where t.id = #{id}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -51,4 +51,14 @@
|
||||
order by create_date desc
|
||||
limit 1
|
||||
</select>
|
||||
|
||||
<select id="queryList" resultType="com.zhgd.xmgl.modules.sewage.entity.SewageData">
|
||||
select * from (
|
||||
select t.*
|
||||
,sd.dev_name
|
||||
from sewage_data t
|
||||
left join sewage_dev sd on t.dev_sn = sd.dev_sn
|
||||
)t
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -0,0 +1,66 @@
|
||||
package com.zhgd.xmgl.modules.sewage.service;
|
||||
|
||||
import com.zhgd.xmgl.modules.sewage.entity.MockSewageDataConfig;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 模拟污水数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
public interface IMockSewageDataConfigService extends IService<MockSewageDataConfig> {
|
||||
/**
|
||||
* 分页列表查询模拟污水数据配置信息
|
||||
*
|
||||
* @param param 参数map
|
||||
* @return
|
||||
*/
|
||||
IPage<MockSewageDataConfig> queryPageList(HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 列表查询模拟污水数据配置信息
|
||||
*
|
||||
* @param param 参数map
|
||||
* @return
|
||||
*/
|
||||
List<MockSewageDataConfig> queryList(HashMap<String, Object> param);
|
||||
|
||||
/**
|
||||
* 添加模拟污水数据配置信息
|
||||
*
|
||||
* @param mockSewageDataConfig 模拟污水数据配置
|
||||
* @return
|
||||
*/
|
||||
void add(MockSewageDataConfig mockSewageDataConfig);
|
||||
|
||||
/**
|
||||
* 编辑模拟污水数据配置信息
|
||||
*
|
||||
* @param mockSewageDataConfig 模拟污水数据配置
|
||||
* @return
|
||||
*/
|
||||
void edit(MockSewageDataConfig mockSewageDataConfig);
|
||||
|
||||
/**
|
||||
* 根据id删除模拟污水数据配置信息
|
||||
*
|
||||
* @param id 模拟污水数据配置的id
|
||||
* @return
|
||||
*/
|
||||
void delete(String id);
|
||||
|
||||
/**
|
||||
* 根据id查询模拟污水数据配置信息
|
||||
*
|
||||
* @param id 模拟污水数据配置的id
|
||||
* @return
|
||||
*/
|
||||
MockSewageDataConfig queryById(String id);
|
||||
|
||||
void saveEntity(MockSewageDataConfig mockWorkerAttendanceConfig);
|
||||
}
|
||||
@ -0,0 +1,104 @@
|
||||
package com.zhgd.xmgl.modules.sewage.service.impl;
|
||||
|
||||
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.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.modules.sewage.entity.MockSewageDataConfig;
|
||||
import com.zhgd.xmgl.modules.sewage.mapper.MockSewageDataConfigMapper;
|
||||
import com.zhgd.xmgl.modules.sewage.service.IMockSewageDataConfigService;
|
||||
import com.zhgd.xmgl.util.PageUtil;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import com.zhgd.xmgl.util.mysql.MysqlDataUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Description: 模拟污水数据配置
|
||||
* @author: pds
|
||||
* @date: 2025-05-26
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
public class MockSewageDataConfigServiceImpl extends ServiceImpl<MockSewageDataConfigMapper, MockSewageDataConfig> implements IMockSewageDataConfigService {
|
||||
@Autowired
|
||||
private MockSewageDataConfigMapper mockSewageDataConfigMapper;
|
||||
|
||||
@Override
|
||||
public IPage<MockSewageDataConfig> queryPageList(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockSewageDataConfig> queryWrapper = this.getQueryWrapper(param);
|
||||
Page<MockSewageDataConfig> page = PageUtil.getPage(param);
|
||||
IPage<MockSewageDataConfig> pageList = baseMapper.queryList(page, queryWrapper, param);
|
||||
pageList.setRecords(this.dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MockSewageDataConfig> queryList(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockSewageDataConfig> queryWrapper = getQueryWrapper(param);
|
||||
return dealList(baseMapper.queryList(queryWrapper, param));
|
||||
}
|
||||
|
||||
private QueryWrapper<MockSewageDataConfig> getQueryWrapper(HashMap<String, Object> param) {
|
||||
QueryWrapper<MockSewageDataConfig> queryWrapper = QueryGenerator.initPageQueryWrapper(MockSewageDataConfig.class, param, true);
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(MockSewageDataConfig::getId));
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
private List<MockSewageDataConfig> dealList(List<MockSewageDataConfig> list) {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void add(MockSewageDataConfig mockSewageDataConfig) {
|
||||
mockSewageDataConfig.setId(null);
|
||||
baseMapper.insert(mockSewageDataConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(MockSewageDataConfig mockSewageDataConfig) {
|
||||
MockSewageDataConfig oldMockSewageDataConfig = baseMapper.selectById(mockSewageDataConfig.getId());
|
||||
if (oldMockSewageDataConfig == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.updateById(mockSewageDataConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delete(String id) {
|
||||
MockSewageDataConfig mockSewageDataConfig = baseMapper.selectById(id);
|
||||
if (mockSewageDataConfig == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
baseMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MockSewageDataConfig queryById(String id) {
|
||||
MockSewageDataConfig entity = baseMapper.queryById(id);
|
||||
if (entity == null) {
|
||||
throw new OpenAlertException("未找到对应实体");
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveEntity(MockSewageDataConfig config) {
|
||||
MockSewageDataConfig dbConfig = this.getOne(new LambdaQueryWrapper<MockSewageDataConfig>()
|
||||
.eq(MockSewageDataConfig::getProjectSn, config.getProjectSn()));
|
||||
if (dbConfig == null) {
|
||||
this.add(config);
|
||||
} else {
|
||||
config.setId(dbConfig.getId());
|
||||
this.edit(config);
|
||||
}
|
||||
MysqlDataUtil.setFieldsToNull(this, config);
|
||||
}
|
||||
|
||||
}
|
||||
@ -49,7 +49,7 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
public IPage<SewageData> queryPageList(HashMap<String, Object> paramMap) {
|
||||
QueryWrapper<SewageData> queryWrapper = getQueryWrapper(paramMap);
|
||||
Page<SewageData> page = PageUtil.getPage(paramMap);
|
||||
IPage<SewageData> pageList = this.page(page, queryWrapper);
|
||||
IPage<SewageData> pageList = baseMapper.queryList(page, queryWrapper);
|
||||
pageList.setRecords(dealList(pageList.getRecords()));
|
||||
return pageList;
|
||||
}
|
||||
@ -269,7 +269,11 @@ public class SewageDataServiceImpl extends ServiceImpl<SewageDataMapper, SewageD
|
||||
|
||||
private QueryWrapper<SewageData> getQueryWrapper(HashMap<String, Object> paramMap) {
|
||||
QueryWrapper<SewageData> queryWrapper = QueryGenerator.initPageQueryWrapper(SewageData.class, paramMap);
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageData::getId));
|
||||
if (Objects.equals(MapUtils.getInteger(paramMap, "mockDesc"), 1)) {
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageData::getMockTime));
|
||||
} else {
|
||||
queryWrapper.orderByDesc(RefUtil.fieldNameUlc(SewageData::getCreateDate));
|
||||
}
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
|
||||
@ -1,46 +1,27 @@
|
||||
package com.zhgd.xmgl.modules.smarttension.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.xmgl.base.entity.vo.FlexibleBigScreenVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendVo;
|
||||
import com.zhgd.xmgl.modules.smartgrout.entity.vo.CountSmartGroutDataVo;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.SmartTensionData;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.vo.CountSmartTensionDataRealTimeVo;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.vo.CountSmartTensionDataVo;
|
||||
import com.zhgd.xmgl.modules.smarttension.service.ISmartTensionDataService;
|
||||
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 org.glassfish.jersey.message.internal.Qualified;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.List;
|
||||
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 org.apache.commons.collections.MapUtils;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
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 java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
@ -107,7 +88,7 @@ public class SmartTensionDataController {
|
||||
@ApiOperation(value = "编辑智能张拉-数据信息", notes = "编辑智能张拉-数据信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<SmartTensionData> edit(@RequestBody SmartTensionData smartTensionData) {
|
||||
smartTensionDataService.updateById(smartTensionData);
|
||||
smartTensionDataService.edit(smartTensionData);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@ -1,11 +1,9 @@
|
||||
package com.zhgd.xmgl.modules.smarttension.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.gexin.fastjson.TypeReference;
|
||||
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.base.entity.vo.FlexibleBigScreenVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.SmartTensionSteelBeamData;
|
||||
@ -16,18 +14,10 @@ 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 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.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@ -145,6 +135,16 @@ public class SmartTensionSteelBeamDataController {
|
||||
if (smartTensionSteelBeamData == null) {
|
||||
result.error500("未找到对应实体");
|
||||
} else {
|
||||
String curveDataJson = smartTensionSteelBeamData.getCurveDataJson();
|
||||
String tripProgressJson = smartTensionSteelBeamData.getTripProgressJson();
|
||||
if (StrUtil.isNotBlank(curveDataJson)) {
|
||||
smartTensionSteelBeamData.setCurveDataList(com.gexin.fastjson.JSON.parseObject(curveDataJson, new TypeReference<List<SmartTensionSteelBeamData.CurveData>>() {
|
||||
}));
|
||||
}
|
||||
if (StrUtil.isNotBlank(tripProgressJson)) {
|
||||
smartTensionSteelBeamData.setTripProgressList(com.gexin.fastjson.JSON.parseObject(tripProgressJson, new TypeReference<List<SmartTensionSteelBeamData.TripProgress>>() {
|
||||
}));
|
||||
}
|
||||
result.setResult(smartTensionSteelBeamData);
|
||||
result.setSuccess(true);
|
||||
}
|
||||
|
||||
@ -71,4 +71,6 @@ public interface ISmartTensionDataService extends IService<SmartTensionData> {
|
||||
* @return
|
||||
*/
|
||||
SectorVo countBeamType(HashMap<String, Object> paramMap);
|
||||
|
||||
void edit(SmartTensionData smartTensionData);
|
||||
}
|
||||
|
||||
@ -10,7 +10,6 @@ import com.gexin.fastjson.JSON;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||
import com.zhgd.xmgl.base.entity.vo.*;
|
||||
import com.zhgd.xmgl.modules.concretemixstation.entity.ConcreteMixStationDev;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.SmartTensionData;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.SmartTensionDev;
|
||||
import com.zhgd.xmgl.modules.smarttension.entity.SmartTensionSteelBeamData;
|
||||
@ -20,11 +19,13 @@ import com.zhgd.xmgl.modules.smarttension.mapper.SmartTensionDataMapper;
|
||||
import com.zhgd.xmgl.modules.smarttension.mapper.SmartTensionDevMapper;
|
||||
import com.zhgd.xmgl.modules.smarttension.mapper.SmartTensionSteelBeamDataMapper;
|
||||
import com.zhgd.xmgl.modules.smarttension.service.ISmartTensionDataService;
|
||||
import com.zhgd.xmgl.modules.smarttension.service.ISmartTensionSteelBeamDataService;
|
||||
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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -32,7 +33,6 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @Description: 智能张拉-数据
|
||||
@ -47,6 +47,9 @@ public class SmartTensionDataServiceImpl extends ServiceImpl<SmartTensionDataMap
|
||||
private SmartTensionDevMapper smartTensionDevMapper;
|
||||
@Autowired
|
||||
private SmartTensionSteelBeamDataMapper smartTensionSteelBeamDataMapper;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ISmartTensionSteelBeamDataService smartTensionSteelBeamDataService;
|
||||
|
||||
@Override
|
||||
public IPage<SmartTensionData> queryPageList(HashMap<String, Object> paramMap) {
|
||||
@ -75,6 +78,10 @@ public class SmartTensionDataServiceImpl extends ServiceImpl<SmartTensionDataMap
|
||||
smartTensionData.setId(null);
|
||||
smartTensionData.setProjectSn(projectSn);
|
||||
save(smartTensionData);
|
||||
saveSmartTensionSteelBeamDatas(smartTensionData, devSn, projectSn);
|
||||
}
|
||||
|
||||
private void saveSmartTensionSteelBeamDatas(SmartTensionData smartTensionData, String devSn, String projectSn) {
|
||||
List<SmartTensionSteelBeamData> beamDataList = smartTensionData.getBeamDataList();
|
||||
if (CollUtil.isNotEmpty(beamDataList)) {
|
||||
for (SmartTensionSteelBeamData beamData : beamDataList) {
|
||||
@ -105,7 +112,6 @@ public class SmartTensionDataServiceImpl extends ServiceImpl<SmartTensionDataMap
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public FlexibleBigScreenVo countStatus(HashMap<String, Object> paramMap) {
|
||||
Integer type = MapUtils.getInteger(paramMap, "type");
|
||||
@ -130,7 +136,6 @@ public class SmartTensionDataServiceImpl extends ServiceImpl<SmartTensionDataMap
|
||||
return baseMapper.countSmartTensionData(paramMap);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<TrendVo> countQualifiedTrend(HashMap<String, Object> paramMap) {
|
||||
String projectSn = MapUtils.getString(paramMap, "projectSn");
|
||||
@ -167,4 +172,12 @@ public class SmartTensionDataServiceImpl extends ServiceImpl<SmartTensionDataMap
|
||||
return SectorVo.getSectorVo(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void edit(SmartTensionData smartTensionData) {
|
||||
this.updateById(smartTensionData);
|
||||
smartTensionSteelBeamDataService.list(new LambdaQueryWrapper<SmartTensionSteelBeamData>()
|
||||
.eq(SmartTensionSteelBeamData::getSmartTensionDataId, smartTensionData.getId()));
|
||||
saveSmartTensionSteelBeamDatas(smartTensionData, smartTensionData.getDevSn(), smartTensionData.getProjectSn());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ public class EntityUtils {
|
||||
|
||||
/**
|
||||
* 对象保存随机的Double
|
||||
* eg:EntityUtils.setRandomDouble(config.getStopBegin(), config.getStopEnd(), data::setStop, 2, random);
|
||||
* eg:EntityUtils.setRandomDouble(config.getXBegin(), config.getXEnd(), data::setX, 2, random);
|
||||
*
|
||||
* @param begin
|
||||
* @param end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user