参数收集清单-控件校验改造-保存、暂存方法修改。
This commit is contained in:
@@ -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`;
|
||||
|
||||
+2
@@ -88,4 +88,6 @@ public class ParamsConfigDataEO implements Serializable {
|
||||
@ApiModelProperty(value = "参数收集清单id")
|
||||
private String paramsCollectManifestId;
|
||||
|
||||
/**排序号**/
|
||||
private Integer orderNum;
|
||||
}
|
||||
|
||||
+70
-49
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user