diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java index 2908a7b54..1e20e07cd 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsIntegrityJob.java @@ -78,8 +78,8 @@ public class PqsIntegrityJob { log.error("补招时间格式错误"); return; } else { - startTime = startTime + " 00:00:00"; - endTime = endTime + " 23:59:59"; + startTime = startTime + START_TIME; + endTime = endTime + END_TIME; } } List lineDetail = lineFeignClient.getLineDetail(lineList).getData(); diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java index d6c9260f7..80ec06f6e 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/PqsOnlineRateJob.java @@ -52,8 +52,6 @@ public class PqsOnlineRateJob { private final LineFeignClient lineFeignClient; - private final Integer DAY_MINUTE= 60*24; - @XxlJob("pqsOnlineRateJobHandler") public void pqsOnlineRateJobHandler() throws ParseException { List result = new ArrayList<>(); @@ -79,8 +77,8 @@ public class PqsOnlineRateJob { log.error("补招时间格式错误"); return; } else { - startTime = startTime + " 00:00:00"; - endTime = endTime + " 23:59:59"; + startTime = startTime + START_TIME; + endTime = endTime + END_TIME; } } if (CollectionUtils.isEmpty(deviceList)){ diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/enums/EnergyResponseEnum.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/enums/EnergyResponseEnum.java index 823cbe50e..387bffd2b 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/enums/EnergyResponseEnum.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/enums/EnergyResponseEnum.java @@ -35,6 +35,7 @@ public enum EnergyResponseEnum { EXIST_ERROR("400","注册失败,存在已注册的装置"), CANCEL_ERROR("400","取消注册失败,存在未注册或者接入的装置,无法取消注册"), NO_MODEL_FIND("402","接入失败,模板未找到"), + MODEL_UPGRADE("402","接入失败,模板版本需升级"), MISSING_MODEL("402","接入失败,模板数据缺失"), MISSING_TOPIC("402","接入失败,缺少网关主题相关信息"), NO_DID_FIND("400","接入失败,需要接入的装置未找到"), diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/param/DevVersionParam.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/param/DevVersionParam.java index 12c0f3812..c87ad3f45 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/param/DevVersionParam.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/param/DevVersionParam.java @@ -31,6 +31,13 @@ public class DevVersionParam{ @NotBlank(message = "网关id不可为空") private String ndid; + /** + * 模板名称 + */ + @ApiModelProperty(value = "模板名称",required = true) + @NotBlank(message = "模板名称不可为空") + private String name; + /** * 设备类型(0:联网设备;1:逻辑设备) diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/constant/ModelState.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/constant/ModelState.java index f00bdf530..31962b6e1 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/constant/ModelState.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/constant/ModelState.java @@ -42,9 +42,12 @@ public interface ModelState { /** * 设备类型(0:联网设备;1:逻辑设备) + * 模板类型(0:联网设备模板;1:逻辑设备模板;2:用户模板;3:典表数据模板) */ Integer NET_DEV = 0; Integer LOGIC_DEV = 1; + Integer USER = 2; + Integer DICTIONARY = 3; /** * 操作类型 diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/DevCfgDTO.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/DevCfgDTO.java index 4cfef317c..4c45d8a58 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/DevCfgDTO.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/DevCfgDTO.java @@ -16,6 +16,9 @@ import java.util.List; @Data public class DevCfgDTO implements Serializable { + @SerializedName("Name") + private String name; + @SerializedName("Version") private String version; diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/NetDevDTO.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/NetDevDTO.java index af2c5a376..e8fdd3707 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/NetDevDTO.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/NetDevDTO.java @@ -16,6 +16,9 @@ import java.util.List; @Data public class NetDevDTO implements Serializable { + @SerializedName("Name") + private String name; + @SerializedName("Version") private String version; diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/UserCfgDTO.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/UserCfgDTO.java index 38a886d04..6c593fda4 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/UserCfgDTO.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/dto/UserCfgDTO.java @@ -16,6 +16,9 @@ import java.util.List; @Data public class UserCfgDTO implements Serializable { + @SerializedName("Name") + private String name; + @SerializedName("Version") private String version; diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/DevVersion.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/DevVersion.java index 058a28965..ad9e8d7af 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/DevVersion.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/DevVersion.java @@ -29,7 +29,12 @@ public class DevVersion { private String ndid; /** - * 设备类型(0:联网设备;1:逻辑设备) + * 模板名称 + */ + private String name; + + /** + * 模板类型(0:联网设备模板;1:逻辑设备模板;2:用户模板;3:典表数据模板) */ private Integer type; diff --git a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/EleInformation.java b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/EleInformation.java index 0c6d1bbed..3dddc16c8 100644 --- a/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/EleInformation.java +++ b/pqs-quality/quality-api/src/main/java/com/njcn/quality/pojo/po/EleInformation.java @@ -18,6 +18,8 @@ public class EleInformation { private static final long serialVersionUID = 1L; + private String id; + /** * 数据更新时间 */ diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/DevVersionController.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/DevVersionController.java index 5509cd79b..ddc28e82b 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/DevVersionController.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/DevVersionController.java @@ -19,6 +19,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Objects; /** @@ -59,4 +60,27 @@ public class DevVersionController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + + @PostMapping("/find") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("获取网关下所有模板") + @ApiImplicitParam(name = "nDId", value = "网关id", required = true) + public HttpResult> find(@RequestParam String nDId){ + String methodDescribe = getMethodDescribe("find"); + LogUtil.njcnDebug(log, "{},网关id:{}", methodDescribe, nDId); + List list = IDevVersionService.findListById(nDId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + + @PostMapping("/deleteById") + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @ApiOperation("根据网关删除所有模板") + @ApiImplicitParam(name = "nDId", value = "网关id", required = true) + public HttpResult deleteById(@RequestParam String nDId){ + String methodDescribe = getMethodDescribe("deleteById"); + LogUtil.njcnDebug(log, "{},网关id:{}", methodDescribe, nDId); + boolean result = IDevVersionService.deleteById(nDId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + } diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/LogicDeviceLineController.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/LogicDeviceLineController.java index f80fead68..571fd33e1 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/LogicDeviceLineController.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/controller/LogicDeviceLineController.java @@ -258,16 +258,16 @@ public class LogicDeviceLineController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - @DeleteMapping("/deleteByVersionId") - @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.DELETE) - @ApiOperation("根据版本id删除逻辑设备") - @ApiImplicitParam(name = "id", value = "逻辑设备版本id", required = true) - public HttpResult deleteByVersionId(@RequestParam String id){ - String methodDescribe = getMethodDescribe("deleteByVersionId"); - LogUtil.njcnDebug(log, "{},设备的did:{}", methodDescribe, id); - boolean result = iLogicDeviceLineService.deleteByVersionId(id); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - } +// @DeleteMapping("/deleteByVersionId") +// @OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.DELETE) +// @ApiOperation("根据版本id删除逻辑设备") +// @ApiImplicitParam(name = "id", value = "逻辑设备版本id", required = true) +// public HttpResult deleteByVersionId(@RequestParam String id){ +// String methodDescribe = getMethodDescribe("deleteByVersionId"); +// LogUtil.njcnDebug(log, "{},设备的did:{}", methodDescribe, id); +// boolean result = iLogicDeviceLineService.deleteByVersionId(id); +// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); +// } @GetMapping("/getLogicDevByVersionId") @OperateInfo(info = LogEnum.SYSTEM_COMMON) diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IDevVersionService.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IDevVersionService.java index ceaeb6ee3..d8fe9dbee 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IDevVersionService.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IDevVersionService.java @@ -3,6 +3,8 @@ package com.njcn.quality.service; import com.njcn.quality.param.DevVersionParam; import com.njcn.quality.pojo.po.DevVersion; +import java.util.List; + /** * @author 徐扬 */ @@ -26,4 +28,22 @@ public interface IDevVersionService { */ boolean deleteDevVersion(String id); + /** + * 功能描述: 获取网关下所有模板 + * @author xy + * @param id 网关id + * @date 2022/7/13 15:58 + * @return + */ + List findListById(String id); + + /** + * 功能描述: 根据网关删除所有模板 + * @author xy + * @param id 网关id + * @date 2022/7/13 15:58 + * @return + */ + boolean deleteById(String id); + } diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/ILogicDeviceLineService.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/ILogicDeviceLineService.java index 770fa41a5..e34c45254 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/ILogicDeviceLineService.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/ILogicDeviceLineService.java @@ -164,14 +164,14 @@ public interface ILogicDeviceLineService { List getLogicDevByPid(List list); /** - * 功能描述: 根据版本id删除逻辑设备 + * 功能描述: 根据网关id删除逻辑设备 * * @param id * @return * @author xy * @date 2022/3/17 14:45 */ - boolean deleteByVersionId(String id); + boolean deleteByNDid(String id); /** * 功能描述: 根据版本id查询逻辑设备 diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IModelService.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IModelService.java index 4c5336a1c..400d51eb4 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IModelService.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/IModelService.java @@ -4,7 +4,6 @@ package com.njcn.quality.service; import com.njcn.quality.param.UpdateDeviceVersion; import java.util.List; -import java.util.concurrent.CompletableFuture; /** * @author 徐扬 diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/DevVersionServiceImpl.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/DevVersionServiceImpl.java index d0daf9a61..04e2ee054 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/DevVersionServiceImpl.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/DevVersionServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.quality.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.quality.mapper.DevVersionMapper; @@ -9,6 +10,8 @@ import com.njcn.quality.service.IDevVersionService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import java.util.List; + /** * 类的介绍: * @@ -20,7 +23,6 @@ import org.springframework.stereotype.Service; @Service public class DevVersionServiceImpl extends ServiceImpl implements IDevVersionService { - @Override public DevVersion addDevVersion(DevVersionParam devVersionParam) { DevVersion devVersion = new DevVersion(); @@ -34,4 +36,18 @@ public class DevVersionServiceImpl extends ServiceImpl findListById(String id) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DevVersion::getNdid,id); + return this.baseMapper.selectList(lambdaQueryWrapper); + } + + @Override + public boolean deleteById(String id) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(DevVersion::getNdid,id); + return this.remove(lambdaQueryWrapper); + } } diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/EleInformationServiceImpl.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/EleInformationServiceImpl.java index 3b33146b2..377fd9136 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/EleInformationServiceImpl.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/EleInformationServiceImpl.java @@ -53,7 +53,9 @@ public class EleInformationServiceImpl extends ServiceImpl list) { - this.saveBatch(list); + if (!CollectionUtils.isEmpty(list)){ + list.forEach(this::save); + } } @Override diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/LogicDeviceLineServiceImpl.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/LogicDeviceLineServiceImpl.java index 6c1c9e499..dff1269f5 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/LogicDeviceLineServiceImpl.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/LogicDeviceLineServiceImpl.java @@ -572,9 +572,9 @@ public class LogicDeviceLineServiceImpl extends ServiceImpl logicDevQueryWrapper = new QueryWrapper<>(); - logicDevQueryWrapper.eq("Version_Id", id); + logicDevQueryWrapper.eq("Pid", id); return this.remove(logicDevQueryWrapper); } diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/ModelServiceImpl.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/ModelServiceImpl.java index a96a1fe02..b3e498659 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/ModelServiceImpl.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/ModelServiceImpl.java @@ -311,18 +311,35 @@ public class ModelServiceImpl implements IModelService { return gson.toJson(response); } } + //判断所有模板版本 List tpList = access.getParam().getTpList(); - tpList.forEach(item->{ - versionSet.add(item.getName() + "+" +item.getVersion() + "+" + item.getTime()); - }); - for (String item: versionSet) { - QueryWrapper dataMouldQueryWrapper = new QueryWrapper<>(); - dataMouldQueryWrapper.eq("Name",item.split("\\+")[0]).eq("Version", item.split("\\+")[1]).eq("Time", item.split("\\+")[2]); - DataMould dataMould = dataMouldMapper.selectOne(dataMouldQueryWrapper); - if (Objects.isNull(dataMould)) { + if (CollectionUtils.isEmpty(tpList)){ + response.setCode(Integer.parseInt(EnergyResponseEnum.NO_MODEL_FIND.getCode())); + response.setMsg(EnergyResponseEnum.NO_MODEL_FIND.getMessage()); + return gson.toJson(response); + } else { + //获取当前网关下的所有模板 + List devVersions = devVersionService.findListById(ndid); + if (CollectionUtils.isEmpty(devVersions)){ response.setCode(Integer.parseInt(EnergyResponseEnum.NO_MODEL_FIND.getCode())); response.setMsg(EnergyResponseEnum.NO_MODEL_FIND.getMessage()); return gson.toJson(response); + } else { + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + Map map1 = new HashMap<>(),map2 = new HashMap<>(); + tpList.forEach(item->{ + map1.put(item.getName(),item.getName()+item.getVersion()+item.getTime()); + }); + devVersions.forEach(item->{ + map2.put(item.getName(),item.getName()+item.getVersion()+df.format(item.getTime())); + }); + for (String item:map1.keySet()) { + if (Objects.isNull(map2.get(item)) || !Objects.equals(map1.get(item),map2.get(item))){ + response.setCode(Integer.parseInt(EnergyResponseEnum.MODEL_UPGRADE.getCode())); + response.setMsg(EnergyResponseEnum.MODEL_UPGRADE.getMessage()); + return gson.toJson(response); + } + } } } //将接入的装置添加模板装置id @@ -377,10 +394,14 @@ public class ModelServiceImpl implements IModelService { Gson gson = new Gson(); AskDataDTO.AskDataResponse response = gson.fromJson(json,AskDataDTO.AskDataResponse.class); if (Objects.equals(response.getCode(),Integer.parseInt(EnergyResponseEnum.SUCCESS.getCode()))){ + NetDevDTO netDevDTO = response.getParam().getDataArray().get(0).getTemplate().getNetDev(); + /** + * 删除模板记录 + */ + devVersionService.deleteById(netDevDTO.getNDid()); /** * 解析联网(网关)模板 */ - NetDevDTO netDevDTO = response.getParam().getDataArray().get(0).getTemplate().getNetDev(); //获取联网设备信息 LambdaQueryWrapper netDevQueryWrapper = new LambdaQueryWrapper<>(); netDevQueryWrapper.eq(NetDev::getNdid,netDevDTO.getNDid()).eq(NetDev::getState,DataStateEnum.ENABLE.getCode()); @@ -388,10 +409,6 @@ public class ModelServiceImpl implements IModelService { if(Objects.isNull(netDev)){ throw new BusinessException(EnergyResponseEnum.NET_DEV_MODEL_ERROR); } - //根据网关的versionId判断,如果存在,更新的时候就先根据id删除版本表记录,重新生成一个,再给网关赋予这个id;如果不存在id,就直接生成一个,再赋予网关 - if (StringUtils.isNotBlank(netDev.getVersionId())){ - devVersionService.deleteDevVersion(netDev.getVersionId()); - } //新增系统版本表 DevVersionParam devVersionParam = new DevVersionParam(); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); @@ -400,6 +417,7 @@ public class ModelServiceImpl implements IModelService { devVersionParam.setVersion(netDevDTO.getVersion()); devVersionParam.setTime(LocalDateTime.parse(netDevDTO.getTime(),df)); devVersionParam.setCreateTime(LocalDateTime.now()); + devVersionParam.setName(netDevDTO.getName()); DevVersion netDevVersion = devVersionService.addDevVersion(devVersionParam); //更新网关设备表 netDev.setVersionId(netDevVersion.getId()); @@ -426,34 +444,33 @@ public class ModelServiceImpl implements IModelService { * 解析装置模板 */ List devList = response.getParam().getDataArray().get(0).getTemplate().getDev(); - Map map = analyzeDev(devList); + Map map = analyzeDev(devList,netDevDTO.getNDid()); /** * 解析逻辑模板 */ DevCfgDTO devCfgDTO = response.getParam().getDataArray().get(0).getTemplate().getDevCfg(); - //获取当前网关下的逻辑设备版本信息 - QueryWrapper devVersionQueryWrapper = new QueryWrapper<>(); - devVersionQueryWrapper.eq("NDID",netDevDTO.getNDid()).eq("Type",ModelState.LOGIC_DEV).eq("State",DataStateEnum.ENABLE.getCode()); - DevVersion devCfgVersion = devVersionMapper.selectOne(devVersionQueryWrapper); - //如果版本信息为空,直接写入;如果不为空,就先删除之前的数据,然后重新录入信息 - if (!Objects.isNull(devCfgVersion)){ - List logicList = logicDeviceLineService.getLogicDevByVersionId(devCfgVersion.getId()).stream().map(LogicDev::getId).collect(Collectors.toList()); - //删除逻辑设备信息 - logicDeviceLineService.deleteByVersionId(devCfgVersion.getId()); - //删除逻辑设备版本信息 - devVersionService.deleteDevVersion(devCfgVersion.getId()); - //删除监测点信息 - lineService.deleteByList(logicList); - //删除硬件信息 - hardwareService.deleteHardware(logicList); - } DevVersionParam devCfgVersionParam = new DevVersionParam(); - BeanUtil.copyProperties(devCfgDTO,devCfgVersionParam); - devCfgVersionParam.setType(ModelState.LOGIC_DEV); - devCfgVersionParam.setCreateTime(LocalDateTime.now()); devCfgVersionParam.setNdid(netDevDTO.getNDid()); + devCfgVersionParam.setName(devCfgDTO.getName()); + devCfgVersionParam.setType(ModelState.LOGIC_DEV); + devCfgVersionParam.setVersion(devCfgDTO.getVersion()); + devCfgVersionParam.setTime(LocalDateTime.parse(devCfgDTO.getTime(),df)); + devCfgVersionParam.setCreateTime(LocalDateTime.now()); //逻辑设备入库->设备版本信息表 DevVersion devVersion = devVersionService.addDevVersion(devCfgVersionParam); + List nDidList = Collections.singletonList(netDevService.findByNdid(netDevDTO.getNDid()).getId()); + if (!CollectionUtils.isEmpty(nDidList)){ + List logicDevList =logicDeviceLineService.getLogicDevByPid(nDidList); + if (!CollectionUtils.isEmpty(logicDevList)){ + List list =logicDevList.stream().map(LogicDev::getId).collect(Collectors.toList()); + //删除逻辑设备信息 + logicDeviceLineService.deleteByNDid(nDidList.get(0)); + //删除监测点信息 + lineService.deleteByList(list); + //删除硬件信息 + hardwareService.deleteHardware(list); + } + } List list = devCfgDTO.getCfg(); if (!CollectionUtils.isEmpty(list)){ list.forEach(item->{ @@ -466,7 +483,10 @@ public class ModelServiceImpl implements IModelService { } devCfgParam.setDid(item.getId()); devCfgParam.setVersionId(devVersion.getId()); - if (Objects.isNull(map.get(item.getName() + item.getVersion() + item.getTime()))){ +// if (Objects.isNull(map.get(item.getName() + item.getVersion() + item.getTime()))){ +// throw new BusinessException(EnergyResponseEnum.MODEL_ERROR); +// } + if (Objects.isNull(map.get(item.getName()))){ throw new BusinessException(EnergyResponseEnum.MODEL_ERROR); } devCfgParam.setIdx(map.get(item.getName() + item.getVersion() + item.getTime())); @@ -500,6 +520,17 @@ public class ModelServiceImpl implements IModelService { } }); } + /** + * 解析用户模板 + */ + UserCfgDTO userCfgDTO = response.getParam().getDataArray().get(0).getTemplate().getUserCfg(); + DevVersionParam devCfgVersionParam2 = new DevVersionParam(); + BeanUtil.copyProperties(userCfgDTO,devCfgVersionParam2); + devCfgVersionParam2.setType(ModelState.USER); + devCfgVersionParam2.setCreateTime(LocalDateTime.now()); + devCfgVersionParam2.setNdid(netDevDTO.getNDid()); + //逻辑设备入库->设备版本信息表 + devVersionService.addDevVersion(devCfgVersionParam2); } else { log.error("获取数据失败"); } @@ -652,9 +683,19 @@ public class ModelServiceImpl implements IModelService { /** * 解析设备模板 */ - public Map analyzeDev(List devList){ + public Map analyzeDev(List devList,String ndid){ Map map = new HashMap<>(); devList.forEach(item->{ + //装置模板库录入 + DevVersionParam devVersionParam = new DevVersionParam(); + DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + devVersionParam.setNdid(ndid); + devVersionParam.setName(item.getName()); + devVersionParam.setType(ModelState.DICTIONARY); + devVersionParam.setVersion(item.getVersion()); + devVersionParam.setTime(LocalDateTime.parse(item.getTime(),df)); + devVersionParam.setCreateTime(LocalDateTime.now()); + devVersionService.addDevVersion(devVersionParam); //先将数据类型入库 addDataType(item); QueryWrapper dataMouldQueryWrapper = new QueryWrapper<>(); @@ -685,7 +726,8 @@ public class ModelServiceImpl implements IModelService { if (!Objects.isNull(mould)){ logicDeviceLineService.updateLogicDevice(mould.getId(),dataMould.getId()); } - String tmp = item.getName() + item.getVersion() + item.getTime(); +// String tmp = item.getName() + item.getVersion() + item.getTime(); + String tmp = item.getName(); map.put(tmp,dataMould.getId()); //入库->ele_data_set if (!CollectionUtils.isEmpty(item.getDataSet())){ diff --git a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/NetDevServiceImpl.java b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/NetDevServiceImpl.java index ff2d0c944..c1d568a02 100644 --- a/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/NetDevServiceImpl.java +++ b/pqs-quality/quality-boot/src/main/java/com/njcn/quality/service/impl/NetDevServiceImpl.java @@ -104,7 +104,7 @@ public class NetDevServiceImpl extends ServiceImpl impleme public void offlineNetDev(String netDev) { this.lambdaUpdate() .set(NetDev::getComFlag, ModelState.UNREGISTER) - .eq(NetDev::getId,netDev) + .eq(NetDev::getNdid,netDev) .update(); }