diff --git a/detection/src/main/java/com/njcn/gather/report/service/impl/ReportServiceImpl.java b/detection/src/main/java/com/njcn/gather/report/service/impl/ReportServiceImpl.java index c528f361..8a2feaf2 100644 --- a/detection/src/main/java/com/njcn/gather/report/service/impl/ReportServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/report/service/impl/ReportServiceImpl.java @@ -5,11 +5,13 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.gather.detection.pojo.vo.DetectionData; import com.njcn.gather.device.device.pojo.vo.PqDevVO; import com.njcn.gather.device.device.service.IPqDevService; +import com.njcn.gather.device.pojo.enums.DevReportStateEnum; import com.njcn.gather.device.script.pojo.po.PqScript; import com.njcn.gather.device.script.pojo.po.PqScriptCheckData; import com.njcn.gather.device.script.pojo.po.PqScriptDtls; @@ -98,7 +100,17 @@ public class ReportServiceImpl implements IReportService { System.out.println("报告生成成功!"); // 将改设备的报告生成状态调整为已生成 - iPqDevService.updatePqDevReportState(devReportParam.getDevId(),1); + iPqDevService.updatePqDevReportState(devReportParam.getDevId(), 1); + + // 判断该计划下是否所有设备报告已生成,如果已生成则将计划状态改为已完成 + int count = iPqDevService.countUnReportDev(devReportParam.getPlanId()); + if(count == 0){ + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(AdPlan::getId, devReportParam.getPlanId()) + .set(AdPlan::getReportState, DevReportStateEnum.GENERATED.getValue()); + adPlanService.update(updateWrapper); + } + } catch (Exception e) { throw new RuntimeException(e); } @@ -355,7 +367,7 @@ public class ReportServiceImpl implements IReportService { private String devValue(String dataJson, double baseValue) { DetectionData tempA = JSONUtil.toBean(dataJson, DetectionData.class); if (Objects.nonNull(tempA) && Objects.nonNull(tempA.getData())) { - return doubleRound(4, (tempA.getData()/100) * baseValue); + return doubleRound(4, (tempA.getData() / 100) * baseValue); } return "/"; } @@ -379,7 +391,7 @@ public class ReportServiceImpl implements IReportService { private void fillMapValueT(SingleNonHarmParam singleNonHarmParam, Map dataModelMap, String tSymbol) { AdNonHarmonicResult adNonHarmonicResult = adNonHarmonicService.getSingleResult(singleNonHarmParam); if (Objects.nonNull(adNonHarmonicResult)) { - dataModelMap.put("${".concat(tSymbol).concat("}"), devValue(adNonHarmonicResult.getTValue(), 1)); + dataModelMap.put("${".concat(tSymbol).concat("}"), devValue(adNonHarmonicResult.getTValue(), 1)); } } diff --git a/device/pom.xml b/device/pom.xml index 3fc98b80..eeaf245c 100644 --- a/device/pom.xml +++ b/device/pom.xml @@ -34,12 +34,6 @@ 1.0.0 compile - - com.njcn.gather - detection - 1.0.0 - compile - com.alibaba fastjson diff --git a/device/src/main/java/com/njcn/gather/device/device/mapper/PqDevMapper.java b/device/src/main/java/com/njcn/gather/device/device/mapper/PqDevMapper.java index 1734a4e6..5b912b1e 100644 --- a/device/src/main/java/com/njcn/gather/device/device/mapper/PqDevMapper.java +++ b/device/src/main/java/com/njcn/gather/device/device/mapper/PqDevMapper.java @@ -21,5 +21,7 @@ public interface PqDevMapper extends MPJBaseMapper { * @Date: 2024/12/12 11:46 */ List selectDevInfo(@Param("devIds") List devIds); + + void finishPlan(@Param("planId")String planId); } diff --git a/device/src/main/java/com/njcn/gather/device/device/mapper/mapping/PqDevMapper.xml b/device/src/main/java/com/njcn/gather/device/device/mapper/mapping/PqDevMapper.xml index bb623a71..41bba675 100644 --- a/device/src/main/java/com/njcn/gather/device/device/mapper/mapping/PqDevMapper.xml +++ b/device/src/main/java/com/njcn/gather/device/device/mapper/mapping/PqDevMapper.xml @@ -48,5 +48,9 @@ + + + update ad_plan set Test_State = 2 where id = #{planId} + 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 5a083360..aef5a91f 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 @@ -189,4 +189,6 @@ public interface IPqDevService extends IService { boolean updateResult(List ids,String code); void updatePqDevReportState(String devId, int i); + + int countUnReportDev(String planId); } 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 717ee0a4..3612bf24 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 @@ -26,7 +26,6 @@ import com.njcn.gather.device.monitor.pojo.po.PqMonitor; import com.njcn.gather.device.monitor.pojo.vo.PqMonitorExcel; import com.njcn.gather.device.monitor.service.IPqMonitorService; import com.njcn.gather.device.pojo.enums.*; -import com.njcn.gather.plan.service.IAdPlanService; import com.njcn.gather.storage.service.DetectionDataDealService; import com.njcn.gather.system.dictionary.pojo.po.DictData; import com.njcn.gather.system.dictionary.service.IDictDataService; @@ -53,7 +52,6 @@ public class PqDevServiceImpl extends ServiceImpl implements private final IDictDataService dictDataService; private final IPqMonitorService pqMonitorService; private final DetectionDataDealService detectionDataDealService; - private final IAdPlanService adPlanService; @Override @@ -461,9 +459,9 @@ public class PqDevServiceImpl extends ServiceImpl implements .eq(PqDev::getState, DataStateEnum.ENABLE.getCode()) .ne(PqDev::getCheckState, CheckStateEnum.DOCUMENTED.getValue()); int count = this.count(queryWrapper); - if(count == 0 ){ + if (count == 0) { // 如果非归档状态的设备数量为0,则更新计划已完成 - adPlanService.finishPlan(pqDev.getPlanId()); + this.baseMapper.finishPlan(pqDev.getPlanId()); } } return true; @@ -511,6 +509,16 @@ public class PqDevServiceImpl extends ServiceImpl implements this.update(updateWrapper); } + @Override + public int countUnReportDev(String planId) { + // 查询该计划下所有设备的检测状态,是否有未生成的 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(PqDev::getPlanId, planId) + .eq(PqDev::getState, DataStateEnum.ENABLE.getCode()) + .ne(PqDev::getReportState, DevReportStateEnum.GENERATED.getValue()); + return this.count(queryWrapper); + } + /** * 获取检测状态饼状图数据 *