From 7054098b76c7f25b79fe7fef9881442a3c5fabc6 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Tue, 14 Jan 2025 10:12:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E8=AE=BE=E5=A4=87=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PreDetectionServiceImpl.java | 2 + .../device/controller/PqDevController.java | 8 +-- .../device/device/service/IPqDevService.java | 2 +- .../device/service/impl/PqDevServiceImpl.java | 54 +++++++++++-------- .../device/pojo/enums/DevResponseEnum.java | 1 + 5 files changed, 40 insertions(+), 27 deletions(-) diff --git a/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java b/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java index ba451350..75a16468 100644 --- a/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/detection/service/impl/PreDetectionServiceImpl.java @@ -3,9 +3,11 @@ package com.njcn.gather.detection.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.extra.spring.SpringUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.exception.BusinessException; import com.njcn.gather.detection.handler.SocketDevResponseService; diff --git a/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java b/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java index c6568ebf..c91376a9 100644 --- a/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java +++ b/device/src/main/java/com/njcn/gather/device/device/controller/PqDevController.java @@ -221,13 +221,13 @@ public class PqDevController extends BaseController { } @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE) - @GetMapping("/documented") + @PostMapping("/documented") @ApiOperation("设备归档") @ApiImplicitParam(name = "id", value = "设备id", required = true) - public HttpResult> documented(@RequestParam String id) { + public HttpResult> documented(@RequestBody List ids) { String methodDescribe = getMethodDescribe("documented"); - LogUtil.njcnDebug(log, "{},设备id为:{}", methodDescribe, id); - boolean result = pqDevService.documented(id); + LogUtil.njcnDebug(log, "{},设备id为:{}", methodDescribe, ids); + boolean result = pqDevService.documented(ids); if (result) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } else { diff --git a/device/src/main/java/com/njcn/gather/device/device/service/IPqDevService.java b/device/src/main/java/com/njcn/gather/device/device/service/IPqDevService.java index aef5a91f..c9d5acfb 100644 --- a/device/src/main/java/com/njcn/gather/device/device/service/IPqDevService.java +++ b/device/src/main/java/com/njcn/gather/device/device/service/IPqDevService.java @@ -170,7 +170,7 @@ public interface IPqDevService extends IService { * @param id 设备id * @return 归档成功返回true,否则返回false */ - boolean documented(String id); + boolean documented(List id); /** * 修改监测状态 diff --git a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java index fc3c49c9..a02c70fb 100644 --- a/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java +++ b/device/src/main/java/com/njcn/gather/device/device/service/impl/PqDevServiceImpl.java @@ -446,31 +446,41 @@ public class PqDevServiceImpl extends ServiceImpl implements @Override @Transactional(rollbackFor = {Exception.class}) - public boolean documented(String id) { - // 只有检测完成的设备才可以进行归档 - PqDev pqDev = this.getById(id); - if (ObjectUtil.isNotNull(pqDev) && !pqDev.getCheckState().equals(CheckStateEnum.CHECKED.getValue())) { - boolean update = this.lambdaUpdate() - .set(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()) - .eq(PqDev::getId, id) - .update(); - if (update) { - // 判断计划下所有设备是否都已归档,如果是则将计划改为已完成 - // 查询该计划下所有设备的检测状态,是否有不为归档的 - LambdaQueryWrapper 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()); + public boolean documented(List ids) { + if (CollUtil.isNotEmpty(ids)) { + for (String id : ids) { + // 只有检测完成的设备才可以进行归档 + PqDev pqDev = this.getById(id); + if (ObjectUtil.isNotNull(pqDev)) { + if(!pqDev.getCheckState().equals(CheckStateEnum.CHECKED.getValue())){ + throw new BusinessException(DevResponseEnum.DEV_UN_CHECKED); + } + if(!pqDev.getReportState().equals(DevReportStateEnum.GENERATED.getValue())){ + throw new BusinessException(DevResponseEnum.DEV_UN_REPORT); + } + boolean update = this.lambdaUpdate() + .set(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()) + .eq(PqDev::getId, id) + .update(); + if (update) { + // 判断计划下所有设备是否都已归档,如果是则将计划改为已完成 + // 查询该计划下所有设备的检测状态,是否有不为归档的 + LambdaQueryWrapper 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 diff --git a/device/src/main/java/com/njcn/gather/device/pojo/enums/DevResponseEnum.java b/device/src/main/java/com/njcn/gather/device/pojo/enums/DevResponseEnum.java index a6786499..72ea4329 100644 --- a/device/src/main/java/com/njcn/gather/device/pojo/enums/DevResponseEnum.java +++ b/device/src/main/java/com/njcn/gather/device/pojo/enums/DevResponseEnum.java @@ -20,6 +20,7 @@ public enum DevResponseEnum { IMPORT_SOURCE_ERROR("A001012","当前模式下一个检测计划只能有一个检测源" ), IMPORT_DATASOURCE_ERROR("A001013","当前模式下一个检测计划只能有一个数据源" ), DEV_UN_CHECKED("A001013","装置还未检测完成!" ), + DEV_UN_REPORT("A001013","装置报告未生成!" ), DEVICE_DIS_ERROR("A001014","装置配置异常" ); private final String message;