参数收集清单-控件校验改造-保存、暂存方法修改。

This commit is contained in:
wangzhijiang
2023-01-31 18:02:18 +08:00
parent 74498f2ed3
commit fb388ffa90
3 changed files with 76 additions and 49 deletions
@@ -159,3 +159,7 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
-- 参数配置数据表,增加排序号字段sql 2023-1-31 未同步生产环境
ALTER TABLE `laws_weilai`.`params_config_data`
ADD COLUMN `order_num` int(10) NULL COMMENT '排序号' AFTER `params_collect_manifest_id`;
@@ -88,4 +88,6 @@ public class ParamsConfigDataEO implements Serializable {
@ApiModelProperty(value = "参数收集清单id")
private String paramsCollectManifestId;
/**排序号**/
private Integer orderNum;
}
@@ -93,6 +93,7 @@ import java.lang.reflect.Modifier;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.text.Collator;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -500,6 +501,16 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String paramsConfigId = paramsConfigEO.getId();
List<ParamsConfigDataEO> paramsConfigDatas = this.getConfigDataEOListByConfigIdAndCollectManifestId(paramsConfigId, paramsCollectManifestId, paramsConfigDataEOList); // 参数配置数据
if(CollectionUtils.isNotEmpty(paramsConfigDatas)){
// 匿名比较器排序
Collections.sort(paramsConfigDatas, new Comparator<ParamsConfigDataEO>() {
@Override
public int compare(ParamsConfigDataEO p1, ParamsConfigDataEO p2) {
if(p2.getOrderNum() == null || p1.getOrderNum() == null){
return 0;
}
return p1.getOrderNum().compareTo(p2.getOrderNum());
}
});
for (ParamsConfigDataEO paramsConfigDataEO : paramsConfigDatas) {
List<ParamsConfigDataVO> paramsConfigDataVOList = this.getConfigDataVOList(controlType, paramsConfigEO, paramsConfigDataEO, collectManifestEO); // 重新组合配置数据
paramsConfigDataVO.put(paramsConfigDataEO.getId(),paramsConfigDataVOList);
@@ -1364,9 +1375,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
@Override
public boolean save(List<Map<String, Object>> configDataList, String paramsManifestId) {
List<ParamsConfigDataEO> newConfigDataEOList = new ArrayList<>();
List<ParamsConfigEO> paramsConfigEOList = paramsConfigEOService.queryList(paramsManifestId); // 查询配置列
List<String> paramsConfigIdList = paramsConfigEOList.stream().map(ParamsConfigEO::getId).collect(Collectors.toList());
List<ParamsConfigDataEO> paramsConfigDataEOList = paramsConfigDataEOService.queryListByConfigIdList(paramsConfigIdList); // 查询所有配置数据
List<String> paramsCollectManifestIdList = new ArrayList<>();
// 处理数据
for (Map<String, Object> map : configDataList) {
@@ -1374,7 +1383,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
// 添加配置数据
for (Map.Entry<String, Object> entry : map.entrySet()) {
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
if ("id".equals(entry.getKey())) {
continue;
}
@@ -1383,70 +1392,82 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
String paramsConfigEOId = entry.getKey();
Map<String, Object> paramsConfigDataMap = (Map<String, Object>) entry.getValue();
// 无法转ParamsConfigDataVO遍历会出现该异常 LinkedHashMap cannot be cast to ParamsConfigDataVO
List<Map<String, Object>> paramsConfigDataVOList = (List<Map<String, Object>>) paramsConfigDataMap.get("list");
// List<Map<String, Object>> paramsConfigDataVOList = (List<Map<String, Object>>) paramsConfigDataMap.get("list");
Map<String, Object> paramsConfigDataVOMap = (Map<String, Object>) paramsConfigDataMap.get("paramsConfigData");
// 判断是新增还是修改
// ParamsConfigDataEO oldConfigDataEO = paramsConfigDataEOService.queryByConfigIdAndCollectManifestId(paramsConfigEOId, paramsCollectManifestId);
ParamsConfigDataEO oldConfigDataEO = getConfigDataEOByConfigIdAndCollectManifestId(paramsConfigEOId, paramsCollectManifestId,paramsConfigDataEOList);
if (ObjectUtil.isNotEmpty(oldConfigDataEO)) {
paramsConfigDataEO.setId(oldConfigDataEO.getId());
for (Map.Entry<String, Object> configDataMap : paramsConfigDataVOMap.entrySet()) {
List<Map<String, Object>> paramsConfigDataVOList = (List<Map<String, Object>>)configDataMap.getValue();
Integer orderNum = (Integer) paramsConfigDataVOList.get(0).get("orderNum");
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
ParamsConfigDataEO paramsConfigDataEO = new ParamsConfigDataEO();
}
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
if (CollectionUtil.isNotEmpty(paramsConfigDataVOList)) {
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
for (Map<String, Object> paramsConfigDataVO : paramsConfigDataVOList) {
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
String type = (String) paramsConfigDataVO.get("type");
String dataValue = (String) paramsConfigDataVO.get("dataValue");
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
|| type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) {
paramsConfigDataEO.setPullData(dataValue);
if (type.equals(ConfigDataTypeEnum.TEXT.getValue())) {
paramsConfigDataEO.setTextData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
updateFileList.add(ossFile);
}
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
} else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) {
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(dataValue);
if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件
} else if (type.equals(ConfigDataTypeEnum.PULL.getValue())
|| type.equals(ConfigDataTypeEnum.PULL_MORE.getValue())) {
paramsConfigDataEO.setPullData(dataValue);
} else if (type.equals(ConfigDataTypeEnum.FILE.getValue())) {
if (StringUtils.isNotEmpty(dataValue) && dataValue.contains(",")) { // 新加多个文件
// 处理文件connectId
String[] fileIdList = dataValue.split(",");
String connectId = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : dataValue.split(",")) {
List<OSSFile> updateFileList = new ArrayList<>();
for (int i = 0; i < fileIdList.length; i++) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setId(fileIdList[i]);
ossFile.setConnectId(connectId);
oSSFileList.add(ossFile);
updateFileList.add(ossFile);
}
ossFileService.updateFileInfo(oSSFileList);
ossFileService.updateBatchById(updateFileList);
dataValue = connectId;
} else if (StringUtils.isNotEmpty(dataValue) && !dataValue.contains(",")) {
List<OSSFile> ossFiles = ossFileService.getFileInfosByConnectId(dataValue);
if(CollectionUtil.isEmpty(ossFiles)){ // 新加了一个文件
String connectId = UUID.randomUUID().toString().replace("-", "");
//修改文件表关联信息connect_id
List<OSSFile> oSSFileList = new ArrayList<>();
for (String fileId : dataValue.split(",")) {
OSSFile ossFile = new OSSFile();
ossFile.setId(fileId);
ossFile.setConnectId(connectId);
oSSFileList.add(ossFile);
}
ossFileService.updateFileInfo(oSSFileList);
dataValue = connectId;
}
}
}
paramsConfigDataEO.setFileConnectId(dataValue);
paramsConfigDataEO.setFileConnectId(dataValue);
}
}
paramsConfigDataEO.setParamsCollectManifestId(paramsCollectManifestId);
paramsConfigDataEO.setParamsConfigId(paramsConfigEOId);
paramsConfigDataEO.setOrderNum(orderNum);
newConfigDataEOList.add(paramsConfigDataEO);
}
}
newConfigDataEOList.add(paramsConfigDataEO);
}
paramsCollectManifestIdList.add(paramsCollectManifestId);
}
if(CollectionUtils.isNotEmpty(paramsCollectManifestIdList)){
QueryWrapper<ParamsConfigDataEO> configDataRemoveWrap = new QueryWrapper<>();
configDataRemoveWrap.lambda().in(ParamsConfigDataEO::getParamsCollectManifestId,paramsCollectManifestIdList);
this.paramsConfigDataEOService.remove(configDataRemoveWrap);
}
// 批量更新
return paramsConfigDataEOService.saveOrUpdateBatch(newConfigDataEOList);
return paramsConfigDataEOService.saveBatch(newConfigDataEOList);
}
/**