fix: 企标编辑-保存报错

This commit is contained in:
2023-09-26 08:56:29 +08:00
parent 14e89d68cf
commit 45556be91c
@@ -552,14 +552,24 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 执行企标独有的逻辑
if (module.equals(TableNameEnum.ENTERPRISE_STANDARDS.getValue())) {
this.enterpriseStandardAdd(inspectContents, id, standardNumber);
this.esInspectContentSaveOrUpdate(inspectContents, id, standardNumber);
}
return MessageUtils.getMessage(ResultCommon.OK);
}
public void enterpriseStandardAdd(List<EnterpriseStandardInspectContent> inspectContents, String standardId, String standardNo) {
// 保存新增企标时的稽查内容
/**
* 保存新增编辑企标时的稽查内容
* @param inspectContents
* @param standardId
* @param standardNo
*/
public void esInspectContentSaveOrUpdate(List<EnterpriseStandardInspectContent> inspectContents, String standardId, String standardNo) {
// 先删后增
LambdaUpdateWrapper<EnterpriseStandardInspectContent> removeWrapper = new LambdaUpdateWrapper<>();
removeWrapper.eq(EnterpriseStandardInspectContent::getStandardId, standardId);
removeWrapper.eq(EnterpriseStandardInspectContent::getStandardNo, standardNo);
esInspectContentService.remove(removeWrapper);
// 设置标准Id和标准编号
for (EnterpriseStandardInspectContent inspectContent : inspectContents) {
inspectContent.setStandardId(standardId);
@@ -603,6 +613,14 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
String id = (String) parameterMap.get(FieldCommon.ID);
parameterMap.remove(FieldCommon.ID);
// 提前处理企标的稽查内容,否则后面转换会报错
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(module)) {
List<LinkedHashMap> checkList = (List<LinkedHashMap>) parameterMap.get(FieldCommon.CHECK_LIST);
List<EnterpriseStandardInspectContent> inspectContents = this.convertList(checkList);
parameterMap.put(FieldCommon.CHECK_LIST, null);
this.esInspectContentSaveOrUpdate(inspectContents, id, (String) parameterMap.get(FieldCommon.STANDARD_NUMBER));
}
ManyStandardSelectionBox singleStandard = getSingleStandard(null, id);
String standardNumber = singleStandard.getStandardNumber();
@@ -611,7 +629,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 获取数据库里没修改的数据
Map<String, Object> oldDataMap = getByIdAndModule(id, module, "2", standardNumber);
// 提前处理企标的稽查内容,否则后面转换会报错
if (TableNameEnum.ENTERPRISE_STANDARDS.getValue().equals(module)) {
// 处理列表属性,否则后面的逻辑会报错
oldDataMap.put(FieldCommon.CHECK_LIST, null);
}
// 组装更新内容
StringBuilder recordBuffer = new StringBuilder();
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();