From 63d5cce6ed35f04e6e58c4214eea578a5ba6ac1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=B5=A9?= Date: Sat, 23 Sep 2023 15:00:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3=3D?= =?UTF-8?q?=E5=B0=86=E4=B8=8A=E6=8A=A5=E5=BA=93=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E8=87=B3=E6=94=B6=E9=9B=86=E6=B8=85=E5=8D=95(?= =?UTF-8?q?=E4=BB=85=E9=99=90=E5=8F=98=E6=9B=B4=E7=8A=B6=E6=80=81)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ParamsManifestEOController.java | 16 +++++ .../service/IParamsManifestEOService.java | 3 + .../impl/ParamsManifestEOServiceImpl.java | 58 +++++++++++++++++++ .../mapper/xml/ParamsReportDetailEOMapper.xml | 1 + 4 files changed, 78 insertions(+) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java index 14c8158b0..f9a6525c8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/controller/ParamsManifestEOController.java @@ -382,4 +382,20 @@ public class ParamsManifestEOController extends JeroController syncChangeDataFromReport(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId, + @RequestParam(name="reportManifestId",required=true) String reportManifestId) { + paramsManifestEOService.syncChangeDataFromReport(paramsManifestId, reportManifestId); + return Result.OK("操作成功!"); + } + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java index 175fc4866..3fadb4d47 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/IParamsManifestEOService.java @@ -119,4 +119,7 @@ public interface IParamsManifestEOService extends IService { * @param json */ void replacementUser(JSONObject json); + + + void syncChangeDataFromReport(String paramsManifestId, String reportManifestId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java index 4b8742a10..b475f1391 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsManifestEOServiceImpl.java @@ -733,6 +733,63 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl paramsCollectManifestEOList = paramsCollectManifestEOMapper.queryByParamManifestId(paramsManifestId); + + // 查询配置信息 + List pcList = paramsConfigEOService.queryList(paramsManifestId); + List configIdList = pcList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList()); + Map ocNameMap = pcList.stream().collect(Collectors.toMap(ParamsConfigEO::getId, ParamsConfigEO::getConfigName)); + List paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(configIdList); + List updateList = new ArrayList<>(); + + // 查询上报库的项目所有参数项的配置数据 + ParamsReportEO paramsReportEO = paramsReportEOService.getById(reportManifestId); + List> paramsReportConfigDataList = paramsReportDetailEOService.listInfoForChange(paramsReportEO.getId()); + + for (ParamsCollectManifestEO pcm : paramsCollectManifestEOList) { + if (CollectManifestStateEnum.CHANGE.getValue().equals(pcm.getState()) && !"11".equals(pcm.getControlType())) { + List pcdList = paramsConfigDataEOList.stream().filter(e -> e.getParamsCollectManifestId().equals(pcm.getId())).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(pcdList)) { + for (ParamsConfigDataEO pcd : pcdList) { + boolean flag = false; + List> prcdList = paramsReportConfigDataList.stream().filter(o -> + o.get("nio_number").equals(pcm.getNioNumber()) + && o.get("config_name").equals(ocNameMap.get(pcd.getParamsConfigId())) + ).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(prcdList) && prcdList.size() == 1) {//多值情况忽略 + Map prcdMap = prcdList.get(0); + if (ObjectUtil.isNotEmpty(prcdMap.get("text_data")) && !StringUtils.equals(pcd.getTextData(), String.valueOf(prcdMap.get("text_data")))) { + flag = true; + pcd.setTextData(String.valueOf(prcdMap.get("text_data"))); + } + if (ObjectUtil.isNotEmpty(prcdMap.get("pull_data")) && !StringUtils.equals(pcd.getPullData(), String.valueOf(prcdMap.get("pull_data")))) { + flag = true; + pcd.setPullData(String.valueOf(prcdMap.get("pull_data"))); + } + if (ObjectUtil.isNotEmpty(prcdMap.get("file_connect_id")) && !StringUtils.equals(pcd.getFileConnectId(), String.valueOf(prcdMap.get("file_connect_id")))) { + flag = true; + pcd.setFileConnectId(String.valueOf(prcdMap.get("file_connect_id"))); + } + if(flag){ + updateList.add(pcd); + } + } + } + } + } + } + if(CollectionUtils.isNotEmpty(updateList)){ + paramsConfigDataEOService.updateBatchById(updateList); + } + } + + /** * 从历史版本进行扩展变更 */ @@ -1465,4 +1522,5 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl