模拟数据生成
This commit is contained in:
parent
bbfc593bff
commit
0aee8f3e8a
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.bigdevice.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -154,4 +157,16 @@ public class MockTowerAlarmConfigController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟塔机报警数据配置管理", operType = "重置", operDesc = "重置模拟塔机报警数据配置信息")
|
||||
@ApiOperation(value = "重置模拟塔机报警数据配置信息", notes = "重置模拟塔机报警数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockTowerAlarmConfig mockWorkerAttendanceConfig) {
|
||||
MockTowerAlarmConfig one = mockTowerAlarmConfigService.getOne(new LambdaQueryWrapper<MockTowerAlarmConfig>()
|
||||
.eq(MockTowerAlarmConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockTowerAlarmConfigService, MockTowerAlarmConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.bigdevice.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.MockTowerAlarmConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,17 @@ public class MockTowerCurrentDataConfigController {
|
||||
mockTowerCurrentDataConfigService.saveEntity(mockTowerCurrentDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟塔基实时数据配置管理", operType = "重置", operDesc = "重置模拟塔基实时数据配置信息")
|
||||
@ApiOperation(value = "重置模拟塔基实时数据配置信息", notes = "重置模拟塔基实时数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockTowerCurrentDataConfig mockWorkerAttendanceConfig) {
|
||||
MockTowerCurrentDataConfig one = mockTowerCurrentDataConfigService.getOne(new LambdaQueryWrapper<MockTowerCurrentDataConfig>()
|
||||
.eq(MockTowerCurrentDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockTowerCurrentDataConfigService, MockTowerCurrentDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
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.zhgd.annotation.OperLog;
|
||||
@ -21,6 +22,7 @@ import com.zhgd.xmgl.modules.bigdevice.entity.vo.DriverTowerAbnormalCountVo;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.IMockTowerAlarmConfigService;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.ITowerAlarmService;
|
||||
import com.zhgd.xmgl.modules.bigdevice.service.ITowerService;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiImplicitParams;
|
||||
@ -111,11 +113,26 @@ public class TowerAlarmController {
|
||||
@PostMapping(value = "/add")
|
||||
public Result<TowerAlarm> add(@RequestBody TowerAlarm towerAlarm) {
|
||||
log.info("添加塔机报警数据:{}", JSON.toJSONString(towerAlarm));
|
||||
|
||||
towerAlarmService.saveTowerAlarm(towerAlarm);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "塔机管理", operType = "编辑塔机报警数据", operDesc = "编辑塔机报警数据")
|
||||
@ApiOperation(value = "编辑塔机报警数据", notes = "编辑塔机报警数据", httpMethod = "POST")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<TowerAlarm> edit(@RequestBody TowerAlarm towerAlarm) {
|
||||
QueryWrapper<Tower> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(Tower::getDevSn, towerAlarm.getDevSn());
|
||||
Tower tower = towerService.getOne(queryWrapper);
|
||||
if (tower == null) {
|
||||
throw new OpenAlertException(MessageUtil.get("EquipmentNumIncorrectErr"));
|
||||
}
|
||||
log.info("编辑塔机报警数据:{}", JSON.toJSONString(towerAlarm));
|
||||
towerAlarmService.updateById(towerAlarm);
|
||||
towerAlarmService.sendAlarm(towerAlarm, tower);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "列表查询塔机间碰撞报警", notes = "列表查询塔机间碰撞报警", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "opType", value = "类型,1当日,2本周,默认当日", dataType = "String", paramType = "body", required = true),
|
||||
|
||||
@ -205,6 +205,7 @@ public class TowerCurrentDataController {
|
||||
for (int i = 0; i < config.getDevGenerateNum(); i++) {
|
||||
TowerCurrentData data = new TowerCurrentData();
|
||||
BeanUtils.copyProperties(config, data);
|
||||
data.setId(null);
|
||||
data.setDevSn(devId);
|
||||
data.setDevName(Optional.ofNullable(devSnMap.get(devId)).map(m -> m.getDevName()).orElse(null));
|
||||
data.setProjectSn(config.getProjectSn());
|
||||
|
||||
@ -433,4 +433,6 @@ public class MockTowerCurrentDataConfig implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty(value = "回转状态 0:停止回转 1:向右回转 2:向左回转(多个数字,分割)")
|
||||
private java.lang.String angleDirections;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.bigdevice.service;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.Tower;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.TowerAlarm;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.TowerCurrentData;
|
||||
import com.zhgd.xmgl.modules.bigdevice.entity.vo.AlarmsDistinguishedNumberByAlarmType;
|
||||
@ -42,6 +43,14 @@ public interface ITowerAlarmService extends IService<TowerAlarm> {
|
||||
|
||||
void saveTowerAlarm(TowerAlarm towerAlarm);
|
||||
|
||||
/**
|
||||
* 发送报警
|
||||
*
|
||||
* @param towerAlarm
|
||||
* @param tower
|
||||
*/
|
||||
void sendAlarm(TowerAlarm towerAlarm, Tower tower);
|
||||
|
||||
void addEarlyWarning(TowerCurrentData towerCurrentData, int alarmType);
|
||||
|
||||
IPage<EntityMap> selectAllAlarmList(Map<String, Object> map);
|
||||
|
||||
@ -348,7 +348,11 @@ public class TowerAlarmServiceImpl extends ServiceImpl<TowerAlarmMapper, TowerAl
|
||||
towerAlarm.setAddTime(new Date());
|
||||
towerAlarm.setProjectSn(tower.getProjectSn());
|
||||
towerAlarmMapper.insert(towerAlarm);
|
||||
// todo: 如果出现 报警 推送报警数据
|
||||
sendAlarm(towerAlarm, tower);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendAlarm(TowerAlarm towerAlarm, Tower tower) {
|
||||
if (null != towerAlarm.getMomentAlarm() && towerAlarm.getMomentAlarm() == 1) {
|
||||
// 力矩报警
|
||||
towerService.sendLifterAlarm(tower, towerAlarm, "力矩报警");
|
||||
|
||||
@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.environment.controller;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -157,4 +159,17 @@ public class MockDustNoiseDataConfigController {
|
||||
}
|
||||
|
||||
|
||||
@OperLog(operModul = "绿色设备扬尘噪声实时数据配置管理", operType = "重置", operDesc = "重置绿色设备扬尘噪声实时数据配置信息")
|
||||
@ApiOperation(value = "重置绿色设备扬尘噪声实时数据配置信息", notes = "重置绿色设备扬尘噪声实时数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockDustNoiseDataConfig mockWorkerAttendanceConfig) {
|
||||
MockDustNoiseDataConfig one = mockDustNoiseDataConfigService.getOne(new LambdaQueryWrapper<MockDustNoiseDataConfig>()
|
||||
.eq(MockDustNoiseDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockDustNoiseDataConfigService, MockDustNoiseDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.frontier.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -154,4 +157,17 @@ public class MockFrontierProtectionDevCurrentDataConfigController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@OperLog(operModul = "模拟临边防护设备实时数据配置管理", operType = "重置", operDesc = "重置模拟临边防护设备实时数据配置信息")
|
||||
@ApiOperation(value = "重置模拟临边防护设备实时数据配置信息", notes = "重置模拟临边防护设备实时数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockFrontierProtectionDevCurrentDataConfig mockWorkerAttendanceConfig) {
|
||||
MockFrontierProtectionDevCurrentDataConfig one = mockFrontierProtectionDevCurrentDataConfigService.getOne(new LambdaQueryWrapper<MockFrontierProtectionDevCurrentDataConfig>()
|
||||
.eq(MockFrontierProtectionDevCurrentDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockFrontierProtectionDevCurrentDataConfigService, MockFrontierProtectionDevCurrentDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,9 +3,7 @@ package com.zhgd.xmgl.modules.frontier.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 com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
@ -45,6 +43,7 @@ public class MockFrontierProtectionDevCurrentDataConfig implements Serializable
|
||||
* 每个设备随机生成数量
|
||||
*/
|
||||
@ApiModelProperty(value = "每个设备随机生成数量")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.lang.Integer devGenerateNum;
|
||||
/**
|
||||
* 开始时间
|
||||
@ -52,6 +51,7 @@ public class MockFrontierProtectionDevCurrentDataConfig implements Serializable
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.util.Date startTime;
|
||||
/**
|
||||
* 结束时间
|
||||
@ -59,6 +59,7 @@ public class MockFrontierProtectionDevCurrentDataConfig implements Serializable
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.util.Date endTime;
|
||||
/**
|
||||
* 创建时间
|
||||
@ -78,11 +79,13 @@ public class MockFrontierProtectionDevCurrentDataConfig implements Serializable
|
||||
* 剩余电量百分比(0-100)开始
|
||||
*/
|
||||
@ApiModelProperty(value = "剩余电量百分比(0-100)开始")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.lang.Float batteryBegin;
|
||||
/**
|
||||
* 剩余电量百分比(0-100)结束
|
||||
*/
|
||||
@ApiModelProperty(value = "剩余电量百分比(0-100)结束")
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private java.lang.Float batteryEnd;
|
||||
/**
|
||||
* 线锁1 状态 1-正常;2-断开;3-正常断开(多个数字,分割)
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.frontierprotectionnonet.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,18 @@ public class MockFrontierProtectionNoNetDataConfigController {
|
||||
mockFrontierProtectionNoNetDataConfigService.saveEntity(mockFrontierProtectionNoNetDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
@OperLog(operModul = "模拟临边防护(无网)数据配置管理", operType = "重置", operDesc = "重置模拟临边防护(无网)数据配置信息")
|
||||
@ApiOperation(value = "重置模拟临边防护(无网)数据配置信息", notes = "重置模拟临边防护(无网)数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockFrontierProtectionNoNetDataConfig mockWorkerAttendanceConfig) {
|
||||
MockFrontierProtectionNoNetDataConfig one = mockFrontierProtectionNoNetDataConfigService.getOne(new LambdaQueryWrapper<MockFrontierProtectionNoNetDataConfig>()
|
||||
.eq(MockFrontierProtectionNoNetDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockFrontierProtectionNoNetDataConfigService, MockFrontierProtectionNoNetDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.location.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,17 @@ public class MockLocationDataConfigController {
|
||||
mockLocationDataConfigService.saveEntity(mockLocationDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟定位数据配置管理", operType = "重置", operDesc = "重置模拟定位数据配置信息")
|
||||
@ApiOperation(value = "重置模拟定位数据配置信息", notes = "重置模拟定位数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockLocationDataConfig mockWorkerAttendanceConfig) {
|
||||
MockLocationDataConfig one = mockLocationDataConfigService.getOne(new LambdaQueryWrapper<MockLocationDataConfig>()
|
||||
.eq(MockLocationDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockLocationDataConfigService, MockLocationDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.safetyhat.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -146,4 +149,17 @@ public class MockSafetyHatAlarmConfigController {
|
||||
mockSafetyHatAlarmConfigService.saveEntity(mockSafetyHatAlarmConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟智能安全帽报警配置管理", operType = "重置", operDesc = "重置模拟智能安全帽报警配置信息")
|
||||
@ApiOperation(value = "重置模拟智能安全帽报警配置信息", notes = "重置模拟智能安全帽报警配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockSafetyHatAlarmConfig mockWorkerAttendanceConfig) {
|
||||
MockSafetyHatAlarmConfig one = mockSafetyHatAlarmConfigService.getOne(new LambdaQueryWrapper<MockSafetyHatAlarmConfig>()
|
||||
.eq(MockSafetyHatAlarmConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockSafetyHatAlarmConfigService, MockSafetyHatAlarmConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.safetyhat.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -154,4 +157,16 @@ public class MockSafetyHatDataConfigController {
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟智能安全帽实时数据配置管理", operType = "重置", operDesc = "重置模拟智能安全帽实时数据配置信息")
|
||||
@ApiOperation(value = "重置模拟智能安全帽实时数据配置信息", notes = "重置模拟智能安全帽实时数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockSafetyHatDataConfig mockWorkerAttendanceConfig) {
|
||||
MockSafetyHatDataConfig one = mockSafetyHatDataConfigService.getOne(new LambdaQueryWrapper<MockSafetyHatDataConfig>()
|
||||
.eq(MockSafetyHatDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockSafetyHatDataConfigService, MockSafetyHatDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.vehicleposition.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,17 @@ public class MockVehiclePositionAlarmConfigController {
|
||||
mockVehiclePositionAlarmConfigService.saveEntity(mockVehiclePositionAlarmConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟车辆(人员)定位报警记录配置管理", operType = "重置", operDesc = "重置模拟车辆(人员)定位报警记录配置信息")
|
||||
@ApiOperation(value = "重置模拟车辆(人员)定位报警记录配置信息", notes = "重置模拟车辆(人员)定位报警记录配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockVehiclePositionAlarmConfig mockWorkerAttendanceConfig) {
|
||||
MockVehiclePositionAlarmConfig one = mockVehiclePositionAlarmConfigService.getOne(new LambdaQueryWrapper<MockVehiclePositionAlarmConfig>()
|
||||
.eq(MockVehiclePositionAlarmConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockVehiclePositionAlarmConfigService, MockVehiclePositionAlarmConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.vehicleposition.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,17 @@ public class MockVehiclePositionDataConfigController {
|
||||
mockVehiclePositionDataConfigService.saveEntity(mockVehiclePositionDataConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟车辆(人员)定位实时数据配置管理", operType = "重置", operDesc = "重置模拟车辆(人员)定位实时数据配置信息")
|
||||
@ApiOperation(value = "重置模拟车辆(人员)定位实时数据配置信息", notes = "重置模拟车辆(人员)定位实时数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockVehiclePositionDataConfig mockWorkerAttendanceConfig) {
|
||||
MockVehiclePositionDataConfig one = mockVehiclePositionDataConfigService.getOne(new LambdaQueryWrapper<MockVehiclePositionDataConfig>()
|
||||
.eq(MockVehiclePositionDataConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockVehiclePositionDataConfigService, MockVehiclePositionDataConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
package com.zhgd.xmgl.modules.vehicleposition.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.modules.worker.entity.MockWorkerAttendanceConfig;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -153,4 +156,18 @@ public class MockVehiclePositionDayRecordConfigController {
|
||||
mockVehiclePositionDayRecordConfigService.saveEntity(mockVehiclePositionDayRecordConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟车辆(人员)定位日行数据配置管理", operType = "重置", operDesc = "重置模拟车辆(人员)定位日行数据配置信息")
|
||||
@ApiOperation(value = "重置模拟车辆(人员)定位日行数据配置信息", notes = "重置模拟车辆(人员)定位日行数据配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockVehiclePositionDayRecordConfig mockWorkerAttendanceConfig) {
|
||||
MockVehiclePositionDayRecordConfig one = mockVehiclePositionDayRecordConfigService.getOne(new LambdaQueryWrapper<MockVehiclePositionDayRecordConfig>()
|
||||
.eq(MockVehiclePositionDayRecordConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockVehiclePositionDayRecordConfigService, MockVehiclePositionDayRecordConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -2,7 +2,9 @@ package com.zhgd.xmgl.modules.worker.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.zhgd.annotation.OperLog;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@ -154,5 +156,19 @@ public class MockWorkerAttendanceConfigController {
|
||||
mockWorkerAttendanceConfigService.saveEntity(mockWorkerAttendanceConfig);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@OperLog(operModul = "模拟人员考勤配置管理", operType = "重置", operDesc = "重置模拟人员考勤配置信息")
|
||||
@ApiOperation(value = "重置模拟人员考勤配置信息", notes = "重置模拟人员考勤配置信息", httpMethod = "POST")
|
||||
@PostMapping(value = "/reset")
|
||||
public Result reset(@RequestBody @Validate MockWorkerAttendanceConfig mockWorkerAttendanceConfig) {
|
||||
MockWorkerAttendanceConfig one = mockWorkerAttendanceConfigService.getOne(new LambdaQueryWrapper<MockWorkerAttendanceConfig>()
|
||||
.eq(MockWorkerAttendanceConfig::getProjectSn, mockWorkerAttendanceConfig.getProjectSn())
|
||||
);
|
||||
if (one != null) {
|
||||
RefUtil.setFieldsToNull(mockWorkerAttendanceConfigService, MockWorkerAttendanceConfig.class, one.getId());
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -3,9 +3,7 @@ package com.zhgd.xmgl.modules.worker.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 com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@ -1,6 +1,10 @@
|
||||
package com.zhgd.xmgl.util;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.util.ReflectionUtils;
|
||||
@ -9,6 +13,7 @@ import java.beans.Introspector;
|
||||
import java.lang.invoke.SerializedLambda;
|
||||
import java.lang.reflect.Field;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -102,4 +107,78 @@ public class RefUtil {
|
||||
}
|
||||
throw new NoSuchFieldError(fieldName);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id清空实体类字段,保留id,projectSn不清除
|
||||
*
|
||||
* @param service
|
||||
* @param clazz
|
||||
* @param id
|
||||
* @param <S>
|
||||
* @param <T>
|
||||
*/
|
||||
public static <S extends IService<T>, T> void setFieldsToNull(S service, Class<T> clazz, Object id) {
|
||||
UpdateWrapper<T> updateWrapper = new UpdateWrapper<>();
|
||||
String idColumn = getIdColumnName(clazz);
|
||||
|
||||
for (Field field : clazz.getDeclaredFields()) {
|
||||
// 新增过滤条件:跳过静态字段和serialVersionUID字段
|
||||
if (Modifier.isStatic(field.getModifiers()) || "serialVersionUID".equals(field.getName()) || "projectSn".equals(field.getName())) {
|
||||
continue;
|
||||
}
|
||||
if (field.isAnnotationPresent(TableId.class)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
TableField tableField = field.getAnnotation(TableField.class);
|
||||
if (tableField != null && !tableField.exist()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
String columnName = getColumnName(field);
|
||||
updateWrapper.set(columnName, null);
|
||||
}
|
||||
|
||||
updateWrapper.eq(idColumn, id);
|
||||
service.update(updateWrapper);
|
||||
}
|
||||
|
||||
private static <T> String getIdColumnName(Class<T> clazz) {
|
||||
// 保持原有逻辑不变
|
||||
for (Field field : clazz.getDeclaredFields()) {
|
||||
if (field.isAnnotationPresent(TableId.class)) {
|
||||
TableId tableId = field.getAnnotation(TableId.class);
|
||||
if (tableId != null && !tableId.value().isEmpty()) {
|
||||
return tableId.value();
|
||||
}
|
||||
return camelToUnderline(field.getName());
|
||||
}
|
||||
}
|
||||
throw new IllegalArgumentException("No @TableId field found in " + clazz.getName());
|
||||
}
|
||||
|
||||
private static String getColumnName(Field field) {
|
||||
// 保持原有逻辑不变
|
||||
TableField tableField = field.getAnnotation(TableField.class);
|
||||
if (tableField != null && !tableField.value().isEmpty()) {
|
||||
return tableField.value();
|
||||
}
|
||||
return camelToUnderline(field.getName());
|
||||
}
|
||||
|
||||
private static String camelToUnderline(String camel) {
|
||||
// 保持原有逻辑不变
|
||||
if (camel == null || camel.isEmpty()) return camel;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < camel.length(); i++) {
|
||||
char c = camel.charAt(i);
|
||||
if (Character.isUpperCase(c)) {
|
||||
if (i > 0) sb.append('_');
|
||||
sb.append(Character.toLowerCase(c));
|
||||
} else {
|
||||
sb.append(c);
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user