update 法规文件类型处理、标准拆分查询表单处理

This commit is contained in:
liao
2023-09-25 14:40:59 +08:00
parent 01d73e6f3d
commit 9b487cecb4
6 changed files with 199 additions and 73 deletions
@@ -90,5 +90,6 @@ public interface LawsCommonMapper {
* @Date: 2023/9/18 17:14 * @Date: 2023/9/18 17:14
* @Description: 根据标准编号查询简单标准 * @Description: 根据标准编号查询简单标准
**/ **/
ManyStandardSelectionBox getSingleStandard(@Param("standardNumber") String standardNumber); ManyStandardSelectionBox getSingleStandard(@Param("standardNumber") String standardNumber,
@Param("id") String id);
} }
@@ -63,19 +63,37 @@
<select id="getSingleStandard" resultType="com.jero.modules.laws.common.vo.ManyStandardSelectionBox"> <select id="getSingleStandard" resultType="com.jero.modules.laws.common.vo.ManyStandardSelectionBox">
SELECT id, standard_number, standard_name, release_date, standard_state SELECT id, standard_number, standard_name, release_date, standard_state
FROM laws_domestic_standard FROM laws_domestic_standard
WHERE del_flag = 0 AND standard_number = #{standardNumber} WHERE del_flag = 0
<if test="standardNumber != null and standardNumber != ''">
AND standard_number = #{standardNumber}
</if>
<if test="id != null and id != ''">
AND id = #{id}
</if>
UNION ALL UNION ALL
SELECT id, standard_number, standard_name, release_date, standard_state SELECT id, standard_number, standard_name, release_date, standard_state
FROM laws_overseas_standard FROM laws_overseas_standard
WHERE del_flag = 0 AND standard_number = #{standardNumber} WHERE del_flag = 0
<if test="standardNumber != null and standardNumber != ''">
AND standard_number = #{standardNumber}
</if>
<if test="id != null and id != ''">
AND id = #{id}
</if>
UNION ALL UNION ALL
SELECT id, standard_number, standard_name, release_date, standard_state SELECT id, standard_number, standard_name, release_date, standard_state
FROM laws_enterprise_standard FROM laws_enterprise_standard
WHERE del_flag = 0 AND standard_number = #{standardNumber} WHERE del_flag = 0
<if test="standardNumber != null and standardNumber != ''">
AND standard_number = #{standardNumber}
</if>
<if test="id != null and id != ''">
AND id = #{id}
</if>
</select> </select>
</mapper> </mapper>
@@ -122,7 +122,7 @@ public interface ILawsCommonService {
* @Date: 2023/9/18 17:02 * @Date: 2023/9/18 17:02
* @Description: 根据标准编号查询简单标准 * @Description: 根据标准编号查询简单标准
**/ **/
ManyStandardSelectionBox getSingleStandard(String standardNumber); ManyStandardSelectionBox getSingleStandard(String standardNumber, String id);
/** /**
* 三标通用导出 * 三标通用导出
@@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.constant.enums.LanguageEnum; import com.jero.common.constant.enums.LanguageEnum;
@@ -281,7 +282,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 对返回的字段值做处理 // 对返回的字段值做处理
processResultFieldValue(key, value, fieldList, resultMap, dictItemList); processResultFieldValue(key, value, fieldList, resultMap, dictItemList);
} }
processSpecificFieldValue(resultMap, key, id, standardNumber); processSpecificFieldValue(resultMap, key, id, standardNumber, fieldList);
} }
return resultMap; return resultMap;
} }
@@ -292,9 +293,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 查询返回特殊值处理 * @Description: 查询返回特殊值处理
**/ **/
private void processSpecificFieldValue(Map<String, Object> resultMap, String key, private void processSpecificFieldValue(Map<String, Object> resultMap, String key,
String id, String standardNumber) { String id, String standardNumber, List<LawsTag> fieldList) {
// 如果是标准体系(单独处理) 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 (FieldCommon.STANDARD_SYSTEM.equals(key)) { if (FieldCommon.STANDARD_SYSTEM.equals(key)) {
// 如果是标准体系(单独处理)
List<LawsNodeRelation> nodeRelationList = lawsNodeRelationService.getListByStandardId(id); List<LawsNodeRelation> nodeRelationList = lawsNodeRelationService.getListByStandardId(id);
if (CollectionUtils.isNotEmpty(nodeRelationList)) { if (CollectionUtils.isNotEmpty(nodeRelationList)) {
List<String> nodeIdList = nodeRelationList.stream() List<String> nodeIdList = nodeRelationList.stream()
@@ -304,22 +311,33 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
resultMap.put(key, StringUtils.join(nodeIdList, ",")); resultMap.put(key, StringUtils.join(nodeIdList, ","));
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nodeNameList, ",")); resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nodeNameList, ","));
} }
} } else if (FieldCommon.REPLACED_STANDARD.equals(key)) {
// 如果是代替标准(单独处理) // 如果是代替标准(单独处理)
if (FieldCommon.REPLACED_STANDARD.equals(key)) {
resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 1)); resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 1));
} } else if (FieldCommon.REPLACED_BY_STANDARD.equals(key)) {
// 如果是被代替标准(单独处理) // 如果是被代替标准(单独处理)
if (FieldCommon.REPLACED_BY_STANDARD.equals(key)) {
resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 1)); resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 1));
} } else if (FieldCommon.REFERENCE_STANDARD.equals(key)) {
// 如果是引用标准(单独处理) // 如果是引用标准(单独处理)
if (FieldCommon.REFERENCE_STANDARD.equals(key)) {
resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 2)); resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 2));
} } else if (FieldCommon.REFERENCED_STANDARD.equals(key)) {
// 如果是被引用标准(单独处理) // 如果是被引用标准(单独处理)
if (FieldCommon.REFERENCED_STANDARD.equals(key)) {
resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 2)); resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 2));
} else if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
// 如果是文件类型
LambdaQueryWrapper<OSSFile> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OSSFile::getStandardId, id);
queryWrapper.eq(OSSFile::getStandardFileType, key);
List<OSSFile> fileList = ossFileService.list(queryWrapper);
if (CollectionUtils.isEmpty(fileList)) {
resultMap.put(key, "");
resultMap.put(key + FieldCommon._DICT_TEXT, "");
} else {
resultMap.put(key, StringUtils.join(fileList.stream()
.map(OSSFile::getId).collect(Collectors.toList()), ""));
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(fileList.stream()
.map(OSSFile::getFileName).collect(Collectors.toList()), ""));
}
} }
} }
@@ -334,6 +352,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
List<Map<String, Object>> resultMapList = new ArrayList<>(); List<Map<String, Object>> resultMapList = new ArrayList<>();
for (Map<String, Object> map : records) { for (Map<String, Object> map : records) {
Map<String, Object> resultMap = new LinkedHashMap<>(); Map<String, Object> resultMap = new LinkedHashMap<>();
String id = (String) map.get("id");
String standardNumber = (String) map.get(FieldCommon.STANDARD_NUMBER);
for (Map.Entry<String, Object> entryMap : map.entrySet()) { for (Map.Entry<String, Object> entryMap : map.entrySet()) {
String key = entryMap.getKey(); String key = entryMap.getKey();
String value = ""; String value = "";
@@ -347,6 +367,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 对返回的字段值做处理 // 对返回的字段值做处理
processResultFieldValue(key, value, fieldList, resultMap, dictItemList); processResultFieldValue(key, value, fieldList, resultMap, dictItemList);
} }
processSpecificFieldValue(resultMap, key, id, standardNumber, fieldList);
} }
resultMapList.add(resultMap); resultMapList.add(resultMap);
} }
@@ -402,13 +423,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
List<SysDepart> departList = sysDepartService.list(sysDepartLambdaQueryWrapper); List<SysDepart> departList = sysDepartService.list(sysDepartLambdaQueryWrapper);
List<String> nameList = departList.stream().map(SysDepart::getDepartName).collect(Collectors.toList()); List<String> nameList = departList.stream().map(SysDepart::getDepartName).collect(Collectors.toList());
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nameList, ",")); resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nameList, ","));
} else if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
// 如果是文件上传(详情页展示,如果列表展示则重写一下)
LambdaQueryWrapper<OSSFile> ossFileLambdaQueryWrapper = new LambdaQueryWrapper<>();
ossFileLambdaQueryWrapper.in(OSSFile::getId, valueList);
List<OSSFile> fileList = ossFileService.list(ossFileLambdaQueryWrapper);
List<String> nameList = fileList.stream().map(OSSFile::getFileName).collect(Collectors.toList());
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nameList, ","));
} else if (FieldCommon.TYPE_DICT.contains(lawsTag.getFieldShowType())) { } else if (FieldCommon.TYPE_DICT.contains(lawsTag.getFieldShowType())) {
// 如果是字典翻译 // 如果是字典翻译
List<String> nameList = dictItemList.stream().filter(dictItem -> List<String> nameList = dictItemList.stream().filter(dictItem ->
@@ -461,7 +475,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (StringUtils.isBlank(standardNumber)) { if (StringUtils.isBlank(standardNumber)) {
throw new JeroBootException(ResultCommon.EMPTY_STANDARD_NUMBER); throw new JeroBootException(ResultCommon.EMPTY_STANDARD_NUMBER);
} }
ManyStandardSelectionBox singleStandard = getSingleStandard(standardNumber); ManyStandardSelectionBox singleStandard = getSingleStandard(standardNumber, null);
if (!Objects.isNull(singleStandard)) { if (!Objects.isNull(singleStandard)) {
throw new JeroBootException(ResultCommon.EXIST_STANDARD_NUMBER); throw new JeroBootException(ResultCommon.EXIST_STANDARD_NUMBER);
} }
@@ -499,11 +513,11 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
String key = entryMap.getKey(); String key = entryMap.getKey();
String value = ""; String value = "";
if (!Objects.isNull(entryMap.getValue())) { if (!Objects.isNull(entryMap.getValue())) {
value = entryMap.getValue().toString(); value = (String) entryMap.getValue();
} }
// 如果value不为null和"",则拼接查询条件 // 如果value不为null和"",则拼接查询条件
if (StringUtils.isNotBlank(value)) { if (StringUtils.isNotBlank(value)) {
jointInsertFieldAndValue(fieldList, fieldsBuilder, valuesBuilder, key, value); jointInsertFieldAndValue(fieldList, fieldsBuilder, valuesBuilder, key, value, id, standardNumber);
} }
} }
// 操作数据库进行新增数据 // 操作数据库进行新增数据
@@ -560,11 +574,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
@Override @Override
@Transactional @Transactional
public String commonEdit(Map<String, Object> parameterMap) { public String commonEdit(Map<String, Object> parameterMap) {
// 法规编号不能为空
String standardNumber = (String) parameterMap.get(FieldCommon.STANDARD_NUMBER);
if (StringUtils.isBlank(standardNumber)) {
throw new JeroBootException(ResultCommon.EMPTY_STANDARD_NUMBER, "");
}
// 标准名称不能为空 // 标准名称不能为空
String standardName = (String) parameterMap.get(FieldCommon.STANDARD_NAME); String standardName = (String) parameterMap.get(FieldCommon.STANDARD_NAME);
if (StringUtils.isBlank(standardName)) { if (StringUtils.isBlank(standardName)) {
@@ -575,18 +584,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (StringUtils.isBlank(standardSystem)) { if (StringUtils.isBlank(standardSystem)) {
throw new JeroBootException(ResultCommon.EMPTY_COMMON, FieldCommon.STANDARD_SYSTEM); throw new JeroBootException(ResultCommon.EMPTY_COMMON, FieldCommon.STANDARD_SYSTEM);
} }
// 将更新数据库的标准体系字段设置为空
parameterMap.put(FieldCommon.STANDARD_SYSTEM, "");
// 处理新增和编辑时的代替标准、引用标准
processReplaced(parameterMap, standardNumber);
// 获取操作模块 // 获取操作模块
String module = parameterMap.get(FieldCommon.MODULE).toString(); String module = parameterMap.get(FieldCommon.MODULE).toString();
parameterMap.remove(FieldCommon.MODULE); parameterMap.remove(FieldCommon.MODULE);
// 获取id // 获取id
String id = (String) parameterMap.get(FieldCommon.ID); String id = (String) parameterMap.get(FieldCommon.ID);
parameterMap.remove(FieldCommon.ID); parameterMap.remove(FieldCommon.ID);
ManyStandardSelectionBox singleStandard = getSingleStandard(null, id);
String standardNumber = singleStandard.getStandardNumber();
// 处理新增和编辑时的代替标准、引用标准
processReplaced(parameterMap, standardNumber);
// 获取数据库里没修改的数据 // 获取数据库里没修改的数据
Map<String, Object> oldDataMap = getByIdAndModule(id, module, "2", standardNumber); Map<String, Object> oldDataMap = getByIdAndModule(id, module, "2", standardNumber);
@@ -618,13 +628,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
String key = entryMap.getKey(); String key = entryMap.getKey();
String value = ""; String value = "";
if (!Objects.isNull(entryMap.getValue())) { if (!Objects.isNull(entryMap.getValue())) {
value = entryMap.getValue().toString(); value = (String) entryMap.getValue();
} }
// 添加更新记录 // 添加更新记录
addUpdateRecord(fieldList, oldDataMap, recordBuffer, key, value); addUpdateRecord(fieldList, oldDataMap, recordBuffer, key, value);
// 如果value不为null和"",则拼接sql语句 // 如果value不为null和"",则拼接sql语句
if (StringUtils.isNotBlank(value)) { if (StringUtils.isNotBlank(value)) {
jointUpdateFieldAndValue(fieldList, updateBuilder, key, value); jointUpdateFieldAndValue(fieldList, updateBuilder, key, value, id, standardNumber);
} }
} }
// 操作数据库进行更新数据 // 操作数据库进行更新数据
@@ -655,8 +667,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (StringUtils.isNotBlank(replacedStandard)) { if (StringUtils.isNotBlank(replacedStandard)) {
// 再添加新的关联 // 再添加新的关联
lawsReplacedStandardService.addRelation(replacedStandard, standardNumber, 1); lawsReplacedStandardService.addRelation(replacedStandard, standardNumber, 1);
parameterMap.put(FieldCommon.REPLACED_STANDARD, ""); /*parameterMap.put(FieldCommon.REPLACED_STANDARD, "");
parameterMap.put(FieldCommon.REPLACED_BY_STANDARD, ""); parameterMap.put(FieldCommon.REPLACED_BY_STANDARD, "");*/
} }
// 引用标准 // 引用标准
String referenceStandard = (String) parameterMap.get(FieldCommon.REFERENCE_STANDARD); String referenceStandard = (String) parameterMap.get(FieldCommon.REFERENCE_STANDARD);
@@ -665,8 +677,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
if (StringUtils.isNotBlank(referenceStandard)) { if (StringUtils.isNotBlank(referenceStandard)) {
// 再添加新的关联 // 再添加新的关联
lawsReplacedStandardService.addRelation(referenceStandard, standardNumber, 2); lawsReplacedStandardService.addRelation(referenceStandard, standardNumber, 2);
parameterMap.put(FieldCommon.REFERENCE_STANDARD, ""); /*parameterMap.put(FieldCommon.REFERENCE_STANDARD, "");
parameterMap.put(FieldCommon.REFERENCED_STANDARD, ""); parameterMap.put(FieldCommon.REFERENCED_STANDARD, "");*/
} }
} }
@@ -677,20 +689,33 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
**/ **/
private void addUpdateRecord(List<LawsTag> fieldList, Map<String, Object> oldDataMap, private void addUpdateRecord(List<LawsTag> fieldList, Map<String, Object> oldDataMap,
StringBuilder recordBuffer, String key, String value) { StringBuilder recordBuffer, String key, String value) {
if (FieldCommon.SPECIFIC_UPDATE_FIELD.contains(key)) { 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; return;
} }
String oldValue = ""; LawsTag lawsTag = lawsTagList.get(0);
if (!Objects.isNull(oldDataMap.get(key))) oldValue = oldDataMap.get(key).toString();
// 对特殊值做处理(新旧值)
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
// 文件处理
} else if (FieldCommon.STANDARD_SYSTEM.equals(key)) {
// 标准体系
} else if (FieldCommon.REPLACED_STANDARD.equals(key)) {
// 代替标准号
} else if (FieldCommon.REFERENCE_STANDARD.equals(key)) {
// 引用标准
} else if (FieldCommon.TYPE_DICT.contains(lawsTag.getFieldShowType())) {
// 字典翻译
}
// 如果新旧值不一样 // 如果新旧值不一样
if (!oldValue.equals(value)) { if (!oldValue.equals(value)) {
List<String> nameList = fieldList.stream().filter(lawsTag -> key.equals(lawsTag.getDbFieldName())) recordBuffer.append(FieldCommon.QUOTE + lawsTag.getDbFieldTxt() + FieldCommon.QUOTE + "");
.map(LawsTag::getDbFieldTxt).collect(Collectors.toList());
if (CollectionUtils.isEmpty(nameList)) {
return;
}
recordBuffer.append(FieldCommon.QUOTE + nameList.get(0) + FieldCommon.QUOTE + "");
recordBuffer.append(FieldCommon.QUOTE + oldValue + FieldCommon.QUOTE + "改为"); recordBuffer.append(FieldCommon.QUOTE + oldValue + FieldCommon.QUOTE + "改为");
recordBuffer.append(FieldCommon.QUOTE + value + FieldCommon.QUOTE + ""); recordBuffer.append(FieldCommon.QUOTE + value + FieldCommon.QUOTE + "");
} }
@@ -744,16 +769,31 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} }
// 获取区域管理 // 获取区域管理
List<LawsArea> areaList = new ArrayList<>();
LawsArea lawsArea = new LawsArea(); LawsArea lawsArea = new LawsArea();
lawsArea.setIsModel(module); lawsArea.setIsModel(module);
List<LawsArea> areaList = lawsAreaService.queryList(lawsArea); if (TableNameEnum.DOCUMENT_SPLIT.getValue().equals(module)) {
// 条款拆分没有关联区域,手动赋值一个
lawsArea.setShowArea(module);
lawsArea.setEnName(module);
areaList.add(lawsArea);
} else {
areaList = lawsAreaService.queryList(lawsArea);
}
// 用于返回的区域集合 // 用于返回的区域集合
Map<String, Object> areaMap = new LinkedHashMap<>(); Map<String, Object> areaMap = new LinkedHashMap<>();
// 遍历每个区域做处理 // 遍历每个区域做处理
for (LawsArea area : areaList) { for (LawsArea area : areaList) {
// 获取该区域的所有字段 // 获取该区域的所有字段
List<LawsTag> areaFieldList = fieldList.stream().filter(lawsTag -> area.getId() List<LawsTag> areaFieldList;
.equals(lawsTag.getShowArea())).collect(Collectors.toList()); if ("4".equals(module)) {
// 条款拆分没有关联区域,直接是全部字段
areaFieldList = fieldList;
} else {
// 筛选该显示区域字段
areaFieldList = fieldList.stream().filter(lawsTag -> area.getId()
.equals(lawsTag.getShowArea())).collect(Collectors.toList());
}
// 获取展示区域名称 // 获取展示区域名称
String areaName = area.getShowArea(); String areaName = area.getShowArea();
if (LanguageEnum.EN.equals(language)) { if (LanguageEnum.EN.equals(language)) {
@@ -880,8 +920,8 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 根据标准编号查询简单标准 * @Description: 根据标准编号查询简单标准
**/ **/
@Override @Override
public ManyStandardSelectionBox getSingleStandard(String standardNumber) { public ManyStandardSelectionBox getSingleStandard(String standardNumber, String id) {
return lawsCommonMapper.getSingleStandard(standardNumber); return lawsCommonMapper.getSingleStandard(standardNumber, id);
} }
@Override @Override
@@ -1092,15 +1132,14 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 拼接添加字段和数据值 * @Description: 拼接添加字段和数据值
**/ **/
private void jointInsertFieldAndValue(List<LawsTag> fieldList, StringBuilder fieldsBuilder, private void jointInsertFieldAndValue(List<LawsTag> fieldList, StringBuilder fieldsBuilder,
StringBuilder valuesBuilder, String key, String value) { StringBuilder valuesBuilder, String key, String value,
String id, String standardNumber) {
for (LawsTag lawsTag : fieldList) { for (LawsTag lawsTag : fieldList) {
if (key.equals(lawsTag.getDbFieldName())) { if (key.equals(lawsTag.getDbFieldName())) {
// 拼接新增字段 jointInsertFieldSetValue(lawsTag, fieldsBuilder, valuesBuilder, key, value, id, standardNumber);
fieldsBuilder.append("," + key);
// 对数据值做格式处理
valuesBuilder.append("," + setValue(lawsTag.getFieldShowType(), value));
} }
} }
// 如果是标准编号
if (FieldCommon.STANDARD_NUMBER.equals(key)) { if (FieldCommon.STANDARD_NUMBER.equals(key)) {
List<LawsTag> standardNumberList = fieldList.stream().filter(lawsTag -> List<LawsTag> standardNumberList = fieldList.stream().filter(lawsTag ->
FieldCommon.STANDARD_NUMBER.equals(lawsTag.getDbFieldName())).collect(Collectors.toList()); FieldCommon.STANDARD_NUMBER.equals(lawsTag.getDbFieldName())).collect(Collectors.toList());
@@ -1114,6 +1153,54 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
} }
} }
/**
* @Author: liao
* @Date: 2023/9/25 9:49
* @Description: 新增字段设置value
**/
private void jointInsertFieldSetValue(LawsTag lawsTag, StringBuilder fieldsBuilder,
StringBuilder valuesBuilder, String key, String value,
String id, String standardNumber) {
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
updateOSSFile(key, value, id, standardNumber);
} else {
// 拼接新增字段
fieldsBuilder.append("," + key);
// 对数据值做格式处理
valuesBuilder.append("," + setValue(lawsTag.getFieldShowType(), value));
}
}
/**
* @Author: liao
* @Date: 2023/9/25 10:27
* @Description: 更新文件表
**/
private void updateOSSFile(String key, String value, String id, String standardNumber) {
List<String> fileIdList = Arrays.asList(value.split(","));
LambdaUpdateWrapper<OSSFile> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(OSSFile::getId, fileIdList);
updateWrapper.set(OSSFile::getStandardId, id);
updateWrapper.set(OSSFile::getStandardNo, standardNumber);
updateWrapper.set(OSSFile::getStandardFileType, key);
ossFileService.update(updateWrapper);
}
/**
* @Author: liao
* @Date: 2023/9/25 10:38
* @Description: 删除文件表
**/
private void removeOSSFile(String key, String id) {
LambdaUpdateWrapper<OSSFile> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(OSSFile::getStandardId, id);
updateWrapper.eq(OSSFile::getStandardFileType, key);
updateWrapper.set(OSSFile::getStandardId, "");
updateWrapper.set(OSSFile::getStandardNo, "");
updateWrapper.set(OSSFile::getStandardFileType, "");
ossFileService.update(updateWrapper);
}
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/8/25 11:22 * @Date: 2023/8/25 11:22
@@ -1151,15 +1238,34 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 拼接更新语句字段和数据值 * @Description: 拼接更新语句字段和数据值
**/ **/
private void jointUpdateFieldAndValue(List<LawsTag> fieldList, StringBuilder updateBuilder, private void jointUpdateFieldAndValue(List<LawsTag> fieldList, StringBuilder updateBuilder,
String key, String value) { String key, String value, String id, String standardNumber) {
if (FieldCommon.SPECIFIC_UPDATE_FIELD.contains(key)) {
// 特殊字段不做更新sql
return;
}
for (LawsTag lawsTag : fieldList) { for (LawsTag lawsTag : fieldList) {
if (key.equals(lawsTag.getDbFieldName())) { if (key.equals(lawsTag.getDbFieldName())) {
// 做格式处理 jointUpdateFieldSetValue(lawsTag, updateBuilder, key, value, id, standardNumber);
updateBuilder.append("," + key + " = " + setValue(lawsTag.getFieldShowType(), value));
} }
} }
} }
/**
* @Author: liao
* @Date: 2023/9/25 10:32
* @Description: 设置更新语句value
**/
private void jointUpdateFieldSetValue(LawsTag lawsTag, StringBuilder updateBuilder,
String key, String value, String id, String standardNumber) {
if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
removeOSSFile(key, id);
updateOSSFile(key, value, id, standardNumber);
} else {
// 做格式处理
updateBuilder.append("," + key + " = " + setValue(lawsTag.getFieldShowType(), value));
}
}
/** /**
* @Author: liao * @Author: liao
* @Date: 2023/8/24 14:43 * @Date: 2023/8/24 14:43
@@ -92,7 +92,7 @@ public class LawsNodeRelationServiceImpl extends ServiceImpl<LawsNodeRelationMap
public void addRelation(String nodeIds, String standardNumber, String standardId) { public void addRelation(String nodeIds, String standardNumber, String standardId) {
if (StringUtils.isBlank(standardId)) { if (StringUtils.isBlank(standardId)) {
// 根据standardNumber查询标准id // 根据standardNumber查询标准id
ManyStandardSelectionBox singleStandard = lawsCommonService.getSingleStandard(standardNumber); ManyStandardSelectionBox singleStandard = lawsCommonService.getSingleStandard(standardNumber, null);
standardId = singleStandard.getId(); standardId = singleStandard.getId();
} }
@@ -50,8 +50,9 @@ public class ClauseSplitController {
@AutoLog(value = "条款拆分-获取表单模型") @AutoLog(value = "条款拆分-获取表单模型")
@ApiOperation(value="条款拆分-获取表单模型", notes="条款拆分-获取表单模型") @ApiOperation(value="条款拆分-获取表单模型", notes="条款拆分-获取表单模型")
@GetMapping(value = "getFormModel") @GetMapping(value = "getFormModel")
public Result<Map<String,Object>> getFormModel(@RequestParam(name="type") String type) { public Result<Object> getFormModel(@RequestParam(name="type") String type) {
return Result.OK(lawsCommonService.getFormModel(MODULE_VALUE, type)); Map<String, Object> formModel = lawsCommonService.getFormModel(MODULE_VALUE, type);
return Result.OK(formModel.get(MODULE_VALUE));
} }
} }