调整设备类型

This commit is contained in:
2025-01-14 10:12:30 +08:00
parent cd82ea6c43
commit 7054098b76
5 changed files with 40 additions and 27 deletions

View File

@@ -3,9 +3,11 @@ package com.njcn.gather.detection.service.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.njcn.common.bean.CustomCacheUtil;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.gather.detection.handler.SocketDevResponseService; import com.njcn.gather.detection.handler.SocketDevResponseService;

View File

@@ -221,13 +221,13 @@ public class PqDevController extends BaseController {
} }
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@GetMapping("/documented") @PostMapping("/documented")
@ApiOperation("设备归档") @ApiOperation("设备归档")
@ApiImplicitParam(name = "id", value = "设备id", required = true) @ApiImplicitParam(name = "id", value = "设备id", required = true)
public HttpResult<List<PqDev>> documented(@RequestParam String id) { public HttpResult<List<PqDev>> documented(@RequestBody List<String> ids) {
String methodDescribe = getMethodDescribe("documented"); String methodDescribe = getMethodDescribe("documented");
LogUtil.njcnDebug(log, "{}设备id为{}", methodDescribe, id); LogUtil.njcnDebug(log, "{}设备id为{}", methodDescribe, ids);
boolean result = pqDevService.documented(id); boolean result = pqDevService.documented(ids);
if (result) { if (result) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else { } else {

View File

@@ -170,7 +170,7 @@ public interface IPqDevService extends IService<PqDev> {
* @param id 设备id * @param id 设备id
* @return 归档成功返回true否则返回false * @return 归档成功返回true否则返回false
*/ */
boolean documented(String id); boolean documented(List<String> id);
/** /**
* 修改监测状态 * 修改监测状态

View File

@@ -446,31 +446,41 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
@Override @Override
@Transactional(rollbackFor = {Exception.class}) @Transactional(rollbackFor = {Exception.class})
public boolean documented(String id) { public boolean documented(List<String> ids) {
// 只有检测完成的设备才可以进行归档 if (CollUtil.isNotEmpty(ids)) {
PqDev pqDev = this.getById(id); for (String id : ids) {
if (ObjectUtil.isNotNull(pqDev) && !pqDev.getCheckState().equals(CheckStateEnum.CHECKED.getValue())) { // 只有检测完成的设备才可以进行归档
boolean update = this.lambdaUpdate() PqDev pqDev = this.getById(id);
.set(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()) if (ObjectUtil.isNotNull(pqDev)) {
.eq(PqDev::getId, id) if(!pqDev.getCheckState().equals(CheckStateEnum.CHECKED.getValue())){
.update(); throw new BusinessException(DevResponseEnum.DEV_UN_CHECKED);
if (update) { }
// 判断计划下所有设备是否都已归档,如果是则将计划改为已完成 if(!pqDev.getReportState().equals(DevReportStateEnum.GENERATED.getValue())){
// 查询该计划下所有设备的检测状态,是否有不为归档的 throw new BusinessException(DevResponseEnum.DEV_UN_REPORT);
LambdaQueryWrapper<PqDev> queryWrapper = new LambdaQueryWrapper<>(); }
queryWrapper.eq(PqDev::getPlanId, pqDev.getPlanId()) boolean update = this.lambdaUpdate()
.eq(PqDev::getState, DataStateEnum.ENABLE.getCode()) .set(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue())
.ne(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()); .eq(PqDev::getId, id)
int count = this.count(queryWrapper); .update();
if (count == 0) { if (update) {
// 如果非归档状态的设备数量为0则更新计划已完成 // 判断计划下所有设备是否都已归档,如果是则将计划改为已完成
this.baseMapper.finishPlan(pqDev.getPlanId()); // 查询该计划下所有设备的检测状态,是否有不为归档的
LambdaQueryWrapper<PqDev> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PqDev::getPlanId, pqDev.getPlanId())
.eq(PqDev::getState, DataStateEnum.ENABLE.getCode())
.ne(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue());
int count = this.count(queryWrapper);
if (count == 0) {
// 如果非归档状态的设备数量为0则更新计划已完成
this.baseMapper.finishPlan(pqDev.getPlanId());
}
}
} else {
throw new BusinessException(DevResponseEnum.DEV_UN_CHECKED);
} }
} }
return true;
} else {
throw new BusinessException(DevResponseEnum.DEV_UN_CHECKED);
} }
return true;
} }
@Override @Override

View File

@@ -20,6 +20,7 @@ public enum DevResponseEnum {
IMPORT_SOURCE_ERROR("A001012","当前模式下一个检测计划只能有一个检测源" ), IMPORT_SOURCE_ERROR("A001012","当前模式下一个检测计划只能有一个检测源" ),
IMPORT_DATASOURCE_ERROR("A001013","当前模式下一个检测计划只能有一个数据源" ), IMPORT_DATASOURCE_ERROR("A001013","当前模式下一个检测计划只能有一个数据源" ),
DEV_UN_CHECKED("A001013","装置还未检测完成!" ), DEV_UN_CHECKED("A001013","装置还未检测完成!" ),
DEV_UN_REPORT("A001013","装置报告未生成!" ),
DEVICE_DIS_ERROR("A001014","装置配置异常" ); DEVICE_DIS_ERROR("A001014","装置配置异常" );
private final String message; private final String message;