添加接口=将上报库数据同步至收集清单(仅限变更状态)
This commit is contained in:
+16
@@ -382,4 +382,20 @@ public class ParamsManifestEOController extends JeroController<ParamsManifestEO,
|
||||
return super.importExcel(request, response, ParamsManifestEO.class);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 将上报库数据同步至收集清单(仅限变更状态)
|
||||
*
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="参数清单-将上报库数据同步至收集清单(仅限变更状态)", notes="参数清单-将上报库数据同步至收集清单(仅限变更状态)")
|
||||
@GetMapping(value = "/syncChangeDataFromReport")
|
||||
public Result<?> syncChangeDataFromReport(@RequestParam(name="paramsManifestId",required=true) String paramsManifestId,
|
||||
@RequestParam(name="reportManifestId",required=true) String reportManifestId) {
|
||||
paramsManifestEOService.syncChangeDataFromReport(paramsManifestId, reportManifestId);
|
||||
return Result.OK("操作成功!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+3
@@ -119,4 +119,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
|
||||
* @param json
|
||||
*/
|
||||
void replacementUser(JSONObject json);
|
||||
|
||||
|
||||
void syncChangeDataFromReport(String paramsManifestId, String reportManifestId);
|
||||
}
|
||||
|
||||
+58
@@ -733,6 +733,63 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
|
||||
return updateById(updateManifestEO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将上报库数据同步至收集清单(仅限变更状态)
|
||||
*/
|
||||
public void syncChangeDataFromReport(String paramsManifestId, String reportManifestId) {
|
||||
ParamsManifestEO paramsManifestEO = getById(paramsManifestId);
|
||||
|
||||
List<ParamsCollectManifestEO> paramsCollectManifestEOList = paramsCollectManifestEOMapper.queryByParamManifestId(paramsManifestId);
|
||||
|
||||
// 查询配置信息
|
||||
List<ParamsConfigEO> pcList = paramsConfigEOService.queryList(paramsManifestId);
|
||||
List<String> configIdList = pcList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
|
||||
Map<String, String> ocNameMap = pcList.stream().collect(Collectors.toMap(ParamsConfigEO::getId, ParamsConfigEO::getConfigName));
|
||||
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(configIdList);
|
||||
List<ParamsConfigDataEO> updateList = new ArrayList<>();
|
||||
|
||||
// 查询上报库的项目所有参数项的配置数据
|
||||
ParamsReportEO paramsReportEO = paramsReportEOService.getById(reportManifestId);
|
||||
List<Map<String, Object>> paramsReportConfigDataList = paramsReportDetailEOService.listInfoForChange(paramsReportEO.getId());
|
||||
|
||||
for (ParamsCollectManifestEO pcm : paramsCollectManifestEOList) {
|
||||
if (CollectManifestStateEnum.CHANGE.getValue().equals(pcm.getState()) && !"11".equals(pcm.getControlType())) {
|
||||
List<ParamsConfigDataEO> 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<Map<String, Object>> 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<String, Object> 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<ParamsManifestEOMap
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+1
@@ -187,6 +187,7 @@
|
||||
select
|
||||
prcd.*,
|
||||
prc.old_params_config_id,
|
||||
prc.config_name,
|
||||
prd.nio_number
|
||||
from params_report_config_data prcd
|
||||
inner join params_report_detail prd on prd.id = prcd.params_collect_manifest_id
|
||||
|
||||
Reference in New Issue
Block a user