fix: 外来标准编辑报错

This commit is contained in:
2024-09-02 14:23:16 +08:00
parent 2a9fc5cce9
commit 8074be5831
2 changed files with 0 additions and 166 deletions
@@ -79,15 +79,6 @@ public interface ILawsCommonService {
**/
String commonEdit(Map<String, Object> parameterMap);
/**
* @Author: liao
* @Date: 2023/11/29 16:11
* @Description: 更新语句
**/
void addUpdateRecord(List<LawsTag> fieldList, Map<String, Object> oldDataMap,
StringBuilder recordBuffer, StringBuilder recordBuffer2,
String key, String value);
/**
* @Author: liao
* @Date: 2023/8/24 10:41
@@ -802,9 +802,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
value = (String) entryMap.getValue();
}
// 添加更新记录
addUpdateRecord(fieldList, oldDataMap, recordBuffer, null, key, value);
// 如果value不为null和"",则拼接查询条件
if (StringUtils.isNotBlank(value)) {
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber, updateWrapper);
@@ -983,9 +980,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
value = (String) entryMap.getValue();
}
// 添加更新记录
addUpdateRecord(fieldList, oldDataMap, recordBuffer, null, key, value);
// 拼接更新sql语句
jointUpdateFieldAndValue(fieldList, updateWrapper, key, value, id, standardNumber);
}
@@ -1061,157 +1055,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Date: 2023/9/12 15:40
* @Description: 添加更新记录
**/
@Override
public void addUpdateRecord(List<LawsTag> fieldList, Map<String, Object> oldDataMap,
StringBuilder recordBuffer, StringBuilder recordBuffer2,
String key, String value) {
String oldValue = "";
if (!Objects.isNull(oldDataMap.get(key))) oldValue = (String) oldDataMap.get(key);
List<LawsTag> lawsTagList = fieldList.stream().filter(lawsTag ->
key.equals(lawsTag.getDbFieldName())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(lawsTagList)) {
return;
}
LawsTag lawsTag = lawsTagList.get(0);
// 对特殊值做处理(新旧值)
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
// 文件处理
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<OSSFile> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(OSSFile::getId, valueList);
queryWrapper.orderByDesc(OSSFile::getId);
List<OSSFile> fileList = ossFileService.list(queryWrapper);
List<String> textList = fileList.stream()
.map(OSSFile::getFileName).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
} else if (FieldCommon.STANDARD_SYSTEM.equals(key)) {
// 标准体系
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<LawsTreeNode> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(LawsTreeNode::getId, valueList);
queryWrapper.orderByDesc(LawsTreeNode::getId);
List<LawsTreeNode> nodeList = lawsTreeNodeService.list(queryWrapper);
List<String> textList = nodeList.stream()
.map(LawsTreeNode::getNodeName).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
} else if (FieldCommon.TYPE_DICT.contains(lawsTag.getFieldShowType())) {
// 字典翻译
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDictItem::getDictId, lawsTag.getDictId());
queryWrapper.in(SysDictItem::getItemValue, valueList);
queryWrapper.orderByDesc(SysDictItem::getId);
List<SysDictItem> dictList = sysDictItemService.list(queryWrapper);
List<String> textList = dictList.stream()
.map(SysDictItem::getItemText).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
} else if (LawsFieldTypeEnum.USER_SINGLE.getValue().equals(lawsTag.getFieldShowType())) {
// 用户处理
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysUser::getId, valueList);
queryWrapper.orderByDesc(SysUser::getId);
List<SysUser> userList = sysUserService.list(queryWrapper);
List<String> textList = userList.stream()
.map(SysUser::getRealname).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
} else if (FieldCommon.GROUP.contains(lawsTag.getFieldShowType())) {
// 部门处理
oldValue = (String) oldDataMap.get(key + FieldCommon._DICT_TEXT);
if (StringUtils.isNotBlank(value)) {
List<String> valueList = Arrays.asList(value.split(","));
LambdaQueryWrapper<SysDepart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(SysDepart::getId, valueList);
queryWrapper.orderByDesc(SysDepart::getId);
List<SysDepart> userList = sysDepartService.list(queryWrapper);
List<String> textList = userList.stream()
.map(SysDepart::getDepartName).collect(Collectors.toList());
value = StringUtils.join(textList, ",");
// 因为排序问题,值可能不一样
if (StringUtils.isNotBlank(oldValue)) {
List<String> differentList = Arrays.asList(oldValue.split(","));
textList.removeAll(differentList);
// 如果值一样,只是排序问题,则不更新
if (CollectionUtils.isEmpty(textList)) {
oldValue = "";
value = "";
}
}
}
}
if (Objects.isNull(oldValue)) oldValue = "";
if (Objects.isNull(value)) value = "";
if (StringUtils.isBlank(oldValue) && StringUtils.isBlank(value)) return;
// 如果新旧值不一样
if (!oldValue.equals(value)) {
if (recordBuffer2 == null) { // 标准编辑
recordBuffer.append(FieldCommon.QUOTE + lawsTag.getDbFieldTxt() + FieldCommon.QUOTE + "");
recordBuffer.append(FieldCommon.QUOTE + oldValue + FieldCommon.QUOTE + "改为");
recordBuffer.append(FieldCommon.QUOTE + value + FieldCommon.QUOTE + "");
} else { // 法规变更流程
recordBuffer.append("[" + lawsTag.getDbFieldTxt() + "]" + "");
recordBuffer.append("[" + oldValue + "]" + "");
recordBuffer2.append("[" + lawsTag.getDbFieldTxt() + "]" + "");
recordBuffer2.append("[" + value + "]" + "");
}
}
}
/**
* @Author: liao