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