修改参数多值排序问题

This commit is contained in:
高嵩
2023-10-15 16:14:07 +08:00
parent 30a9311110
commit ed16963026
5 changed files with 36 additions and 15 deletions
@@ -836,7 +836,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
});
for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDatas) {
List<ParamsConfigDataVO> paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
paramsConfigDataVO.put(paramsConfigDataEO.getId(), paramsConfigDataVOList);
paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum() + "+" + paramsConfigDataEO.getId(), paramsConfigDataVOList);
}
}else{
ParamsConfigDataEO paramsConfigDataEO = this.getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据
@@ -1631,14 +1631,22 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
// 拼接历史记录信息
for (Map.Entry<String, Object> configDataMap : paramsConfigDataVOMap.entrySet()) {
List<Map<String, Object>> paramsConfigDataVOList = (List<Map<String, Object>>) configDataMap.getValue();
int orderNum = 0;
//顺序号不存在ID中查询的时候会拼接
String paramsConfigDataId = configDataMap.getKey();
int plusIndex = paramsConfigDataId.indexOf("+");
if (plusIndex != -1) {
orderNum = Integer.parseInt(paramsConfigDataId.substring(0, plusIndex));
paramsConfigDataId = paramsConfigDataId.substring(plusIndex + 1);
}
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
if (CollectionUtils.isNotEmpty(oldConfigDataEOList)) {
String finalParamsConfigDataId = paramsConfigDataId;
List<ParamsConfigDataEO> oldConfigDataEOs = oldConfigDataEOList.stream().filter(configData -> {
boolean flag = false;
if (StringUtils.equals(configDataMap.getKey(), configData.getId())) {
if (StringUtils.equals(finalParamsConfigDataId, configData.getId())) {
flag = true;
}
return flag;
@@ -1648,8 +1656,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
paramsConfigDataEO.setId(oldConfigDataEOs.get(0).getId());
}
}
paramsConfigDataEO.setId(configDataMap.getKey());
paramsConfigDataEO.setId(paramsConfigDataId);
paramsConfigDataEO.setOrderNum(orderNum);
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
@@ -1799,7 +1807,14 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
Integer orderNum = (Integer) paramsConfigDataVOList.get(0).get("orderNum");
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
paramsConfigDataEO.setId(configDataMap.getKey());
//顺序号不存在ID中查询的时候会拼接
String paramsConfigDataId = configDataMap.getKey();
int plusIndex = paramsConfigDataId.indexOf("+");
if (plusIndex != -1) {
orderNum = Integer.parseInt(paramsConfigDataId.substring(0, plusIndex));
paramsConfigDataId = paramsConfigDataId.substring(plusIndex + 1);
}
paramsConfigDataEO.setId(paramsConfigDataId);
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
@@ -177,7 +177,7 @@ public class ParamsCollectManifestHistoryEOServiceImpl extends ServiceImpl<Param
});
for (ParamsConfigDataHistoryEO paramsConfigDataEO : configDataEOList) {
List<ParamsConfigDataVO> paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
paramsConfigDataVO.put(paramsConfigDataEO.getId(), paramsConfigDataVOList);
paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum()+"+"+paramsConfigDataEO.getId(), paramsConfigDataVOList);
}
}else{
ParamsConfigDataHistoryEO paramsConfigDataEO = this.getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据
@@ -723,6 +723,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
updateParamsConfigDataEO.setTextData((String) reportConfigDataEOList.get(0).get("text_data"));
updateParamsConfigDataEO.setPullData((String) reportConfigDataEOList.get(0).get("pull_data"));
updateParamsConfigDataEO.setFileConnectId((String) reportConfigDataEOList.get(0).get("file_connect_id"));
updateParamsConfigDataEO.setOrderNum((Integer) reportConfigDataEOList.get(0).get("order_num"));
updateConfigDataEOList.add(updateParamsConfigDataEO);
} else if (CollectionUtil.isNotEmpty(reportConfigDataEOList) && CollectionUtil.isEmpty(configDataEOList)) {
ParamsConfigDataEO addParamsConfigDataEO = new ParamsConfigDataEO();
@@ -730,6 +731,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
addParamsConfigDataEO.setTextData((String) reportConfigDataEOList.get(0).get("text_data"));
addParamsConfigDataEO.setPullData((String) reportConfigDataEOList.get(0).get("pull_data"));
addParamsConfigDataEO.setFileConnectId((String) reportConfigDataEOList.get(0).get("file_connect_id"));
addParamsConfigDataEO.setOrderNum((Integer) reportConfigDataEOList.get(0).get("order_num"));
addParamsConfigDataEO.setParamsConfigId(configId);
addParamsConfigDataEO.setParamsCollectManifestId(updateCollectManifestEO.getId());
updateConfigDataEOList.add(addParamsConfigDataEO);
@@ -204,6 +204,7 @@
left join params_report_config_data prcd on prd.id = prcd.params_collect_manifest_id
where prd.params_manifest_id = #{paramsReportId}
and prcd.params_config_id = #{paramsReportConfigId}
order by prcd.order_num ASC
</select>
</mapper>
@@ -234,7 +234,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
flag = true;
}
return flag;
}).distinct().collect(Collectors.toList());
}).collect(Collectors.toList());
// List<ParamsReportConfigDataEO> paramsConfigDataEOList = this.paramsReportConfigDataEOService.queryListByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId); // 参数配置数据
if(CollectionUtils.isNotEmpty(paramsConfigDataEOList)){
// 匿名比较器排序
@@ -249,7 +249,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
});
for (ParamsReportConfigDataEO paramsConfigDataEO : paramsConfigDataEOList) {
List<ParamsConfigDataVO> paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
paramsConfigDataVO.put(paramsConfigDataEO.getId(),paramsConfigDataVOList);
paramsConfigDataVO.put(paramsConfigDataEO.getOrderNum()+"+"+paramsConfigDataEO.getId(),paramsConfigDataVOList);
}
}
@@ -1876,14 +1876,18 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
Map<String, Object> paramsConfigDataVOMap = (Map<String, Object>) paramsReportConfigDataMap.get("paramsConfigData");
for (Map.Entry<String, Object> paramsConfigDataMap : paramsConfigDataVOMap.entrySet()) {
//顺序号不存在ID中,查询的时候会拼接
String configDataId = paramsConfigDataMap.getKey();
List<Map<String, Object>> configDataVOList = (List<Map<String, Object>>) paramsConfigDataMap.getValue();
if (CollectionUtil.isNotEmpty(configDataVOList)) {
Integer orderNum = (Integer) configDataVOList.get(0).get("orderNum");
int orderNum = (Integer) configDataVOList.get(0).get("orderNum");
int plusIndex = configDataId.indexOf("+");
if (plusIndex != -1) {
configDataId = configDataId.substring(plusIndex + 1);
orderNum = Integer.parseInt(configDataId.substring(0, plusIndex));
}
ParamsReportConfigDataEO paramsReportConfigDataEO = new ParamsReportConfigDataEO();
paramsReportConfigDataEO.setOrderNum(orderNum);
for (Map<String, Object> paramsConfigDataVO : configDataVOList) {
@@ -2053,7 +2057,6 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
paramsReportConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsReportConfigDataEO.setParamsConfigId(paramsReportConfigEOId);
paramsReportConfigDataEO.setId(configDataId);
newConfigDataEOList.add(paramsReportConfigDataEO);
}
//
@@ -2067,7 +2070,7 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
prcdQueryWrap.lambda().eq(ParamsReportConfigDataEO::getParamsCollectManifestId,paramsCollectManifestId);
List<ParamsReportConfigDataEO> prcdEoList = this.paramsReportConfigDataEOService.list(prcdQueryWrap);
if(CollectionUtils.isNotEmpty(prcdEoList)){
List<String> paramsConfigDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey()).distinct().collect(Collectors.toList());
List<String> paramsConfigDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey().split("\\+")[0]).distinct().collect(Collectors.toList());
List<String> newAddPcdDataIdList = paramsConfigDataVOMap.entrySet().stream().map(e -> e.getKey()).filter(e -> {
boolean flag = false;