From b78e416ad8ef14026f2939f306b71bba95afa7fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Wed, 29 Mar 2023 19:25:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91OTA=E5=A4=87=E6=A1=88?= =?UTF-8?q?=E5=B7=A5=E5=85=B7-=E8=BD=A6=E8=BE=86=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jero/modules/ota/enums/OtaTitleEnum.java | 4 +- .../impl/OtaBaCxKsjxtmccsServiceImpl.java | 94 +++++++++++++++---- 2 files changed, 78 insertions(+), 20 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java index 33d7f382a..6f2e3736e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/enums/OtaTitleEnum.java @@ -40,8 +40,8 @@ public enum OtaTitleEnum { XTLB("xtlb", "系统类别", "0"), SFKSJ("sfksj", "是否可升级", "2"), - SJBGCS("sjbgcs", "升级变更技术参数", "0"), - TPT("tpt", "系统电子控制器架构拓扑图", "0"), + SJBGCS("sjbgcs", "升级可能变更的《公告》技术参数(如有)", "0"), + //TPT("tpt", "系统-电子控制器架构拓扑图(附件需含拓扑图介绍)", "0"), KZQMC("kzqmc", "电子控制器名称", "0"), AQWZXDJ("aqwzxdj", "安全完整性等级", "0"), KZQSCQY("kzqscqy", "电子控制器生产企业", "0"), diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjxtmccsServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjxtmccsServiceImpl.java index d5461ddf2..0d82b2afd 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjxtmccsServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/ota/service/impl/OtaBaCxKsjxtmccsServiceImpl.java @@ -32,6 +32,8 @@ import java.io.File; import java.io.InputStream; import java.lang.reflect.Field; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.web.multipart.MultipartFile; @@ -108,27 +110,83 @@ public class OtaBaCxKsjxtmccsServiceImpl extends ServiceImpl reList = cu.comparisonListRecord(otaId, OtaModuleEnum.CX_KSJDXTMCYCS, OtaTitleEnum.XTLB.getName(), oldList, newList, sysDictService); saveOrUpdateBatch(newList); - - for (OtaBaCxKsjxtmccs newMccs:newList) { - String newTpt = newMccs.getTpt(); - if(StringUtils.isNotEmpty(newTpt)){ - - + Map newMap = newList.stream().collect(Collectors.toMap(OtaBaCxKsjxtmccs::getId, Function.identity())); + Map oldMap = oldList.stream().collect(Collectors.toMap(OtaBaCxKsjxtmccs::getId, Function.identity())); + for (String nId : newMap.keySet()) { + if (oldMap.containsKey(nId)) { + String newTptStr = newMap.get(nId).getTpt(); + if (StringUtils.isNotEmpty(newTptStr)) { + String[] newTpts = newTptStr.split(","); + String oldTptStr = oldMap.get(nId).getTpt(); + for (String nt : newTpts) { + if (StringUtils.isEmpty(oldTptStr) || !oldTptStr.contains(nt)) { + List fileList = ossFileService.getFileInfos(nt); + if (ObjectUtils.isNotEmpty(fileList)) { + for (OSSFile f : fileList) { + reList.add(cu.addAttRecord(otaId, OtaModuleEnum.CX_KSJDXTMCYCS, newMap.get(nId).getXtlb() + "-系统-电子控制器架构拓扑图(附件需含拓扑图介绍)", f.getFileName())); + } + } + } + } + } } + } + for (String oId : oldMap.keySet()) { + if (newMap.containsKey(oId)) { + String oldTptStr = oldMap.get(oId).getTpt(); + if (StringUtils.isNotEmpty(oldTptStr)) { + String[] oldTpts = oldTptStr.split(","); + String newTptStr = newMap.get(oId).getTpt(); + for (String ot : oldTpts) { + if (StringUtils.isEmpty(newTptStr) || !newTptStr.contains(ot)) { + List fileList = ossFileService.getFileInfos(ot); + if (ObjectUtils.isNotEmpty(fileList)) { + for (OSSFile f : fileList) { + reList.add(cu.delAttRecord(otaId, OtaModuleEnum.CX_KSJDXTMCYCS, oldMap.get(oId).getXtlb() + "-系统-电子控制器架构拓扑图(附件需含拓扑图介绍)", f.getFileName())); + } + } + } + } + } + } + } + + String fj = (String) json.get("fj"); + OtaBaCxList otaBaCxList = otaBaCxListService.queryById(otaId); + String oldFjStr = otaBaCxList.getZxsjxtfj(); + otaBaCxList.setZxsjxtfj(fj); + otaBaCxListService.editById(otaBaCxList); + String[] newFjList = {}; + if (StringUtils.isNotEmpty(fj)) { + newFjList = fj.split(","); + } + for (String nf : newFjList) { + if (StringUtils.isEmpty(oldFjStr) || !oldFjStr.contains(nf)) { + List fileList = ossFileService.getFileInfos(nf); + if (ObjectUtils.isNotEmpty(fileList)) { + for (OSSFile f : fileList) { + reList.add(cu.addAttRecord(otaId, OtaModuleEnum.CX_KSJDXTMCYCS, "附件", f.getFileName())); + } + } + } + } + String[] oldFjList = {}; + if (StringUtils.isNotEmpty(oldFjStr)) { + oldFjList = oldFjStr.split(","); + } + for (String of : oldFjList) { + if (StringUtils.isEmpty(fj) || !fj.contains(of)) { + List fileList = ossFileService.getFileInfos(of); + if (ObjectUtils.isNotEmpty(fileList)) { + for (OSSFile f : fileList) { + reList.add(cu.delAttRecord(otaId, OtaModuleEnum.CX_KSJDXTMCYCS, "附件", f.getFileName())); + } + } + } } otaBaCxTxjlService.saveBatch(reList); - String fj = (String) json.get("fj"); - if (StringUtils.isNotEmpty(fj)) { - OtaBaCxList otaBaCxList = otaBaCxListService.queryById(otaId); - if (ObjectUtils.isNotEmpty(otaBaCxList)) { - otaBaCxList.setZxsjxtfj(fj); - otaBaCxListService.editById(otaBaCxList); - } - } } - - } /** @@ -203,7 +261,7 @@ public class OtaBaCxKsjxtmccsServiceImpl extends ServiceImpl getByOtaId(String otaId) { - if(org.apache.commons.lang3.StringUtils.isEmpty(otaId)){ + if (org.apache.commons.lang3.StringUtils.isEmpty(otaId)) { return null; } LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -381,7 +439,7 @@ public class OtaBaCxKsjxtmccsServiceImpl extends ServiceImpl