fix: 外来标准编辑报错
This commit is contained in:
-9
@@ -79,15 +79,6 @@ public interface ILawsCommonService {
|
|||||||
**/
|
**/
|
||||||
String commonEdit(Map<String, Object> parameterMap);
|
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
|
* @Author: liao
|
||||||
* @Date: 2023/8/24 10:41
|
* @Date: 2023/8/24 10:41
|
||||||
|
|||||||
-157
@@ -802,9 +802,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
value = (String) entryMap.getValue();
|
value = (String) entryMap.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加更新记录
|
|
||||||
addUpdateRecord(fieldList, oldDataMap, recordBuffer, null, key, value);
|
|
||||||
|
|
||||||
// 如果value不为null和"",则拼接查询条件
|
// 如果value不为null和"",则拼接查询条件
|
||||||
if (StringUtils.isNotBlank(value)) {
|
if (StringUtils.isNotBlank(value)) {
|
||||||
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber, updateWrapper);
|
jointInsertFieldAndValue(fieldList, key, value, id, standardNumber, updateWrapper);
|
||||||
@@ -983,9 +980,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
value = (String) entryMap.getValue();
|
value = (String) entryMap.getValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 添加更新记录
|
|
||||||
addUpdateRecord(fieldList, oldDataMap, recordBuffer, null, key, value);
|
|
||||||
|
|
||||||
// 拼接更新sql语句
|
// 拼接更新sql语句
|
||||||
jointUpdateFieldAndValue(fieldList, updateWrapper, key, value, id, standardNumber);
|
jointUpdateFieldAndValue(fieldList, updateWrapper, key, value, id, standardNumber);
|
||||||
}
|
}
|
||||||
@@ -1061,157 +1055,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
|
|||||||
* @Date: 2023/9/12 15:40
|
* @Date: 2023/9/12 15:40
|
||||||
* @Description: 添加更新记录
|
* @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
|
* @Author: liao
|
||||||
|
|||||||
Reference in New Issue
Block a user