fix: 外来标准编辑报错
This commit is contained in:
-9
@@ -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
|
||||
|
||||
-157
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user