diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java
index 6a2ea578..8445813a 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/LawsCommonMapper.java
@@ -90,5 +90,6 @@ public interface LawsCommonMapper {
* @Date: 2023/9/18 17:14
* @Description: 根据标准编号查询简单标准
**/
- ManyStandardSelectionBox getSingleStandard(@Param("standardNumber") String standardNumber);
+ ManyStandardSelectionBox getSingleStandard(@Param("standardNumber") String standardNumber,
+ @Param("id") String id);
}
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml
index 8fc67e74..de6e8907 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml
+++ b/laws-modules/src/main/java/com/jero/modules/laws/common/mapper/xml/LawsCommonMapper.xml
@@ -63,19 +63,37 @@
\ No newline at end of file
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java
index e1a7e46a..5fab6295 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/ILawsCommonService.java
@@ -122,7 +122,7 @@ public interface ILawsCommonService {
* @Date: 2023/9/18 17:02
* @Description: 根据标准编号查询简单标准
**/
- ManyStandardSelectionBox getSingleStandard(String standardNumber);
+ ManyStandardSelectionBox getSingleStandard(String standardNumber, String id);
/**
* 三标通用导出
diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java
index 58224f6c..a1c06d88 100644
--- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java
+++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java
@@ -4,6 +4,7 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
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.extension.plugins.pagination.Page;
import com.jero.common.constant.enums.LanguageEnum;
@@ -281,7 +282,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
// 对返回的字段值做处理
processResultFieldValue(key, value, fieldList, resultMap, dictItemList);
}
- processSpecificFieldValue(resultMap, key, id, standardNumber);
+ processSpecificFieldValue(resultMap, key, id, standardNumber, fieldList);
}
return resultMap;
}
@@ -292,9 +293,15 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
* @Description: 查询返回特殊值处理
**/
private void processSpecificFieldValue(Map resultMap, String key,
- String id, String standardNumber) {
- // 如果是标准体系(单独处理)
+ String id, String standardNumber, List fieldList) {
+ List 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)) {
+ // 如果是标准体系(单独处理)
List nodeRelationList = lawsNodeRelationService.getListByStandardId(id);
if (CollectionUtils.isNotEmpty(nodeRelationList)) {
List nodeIdList = nodeRelationList.stream()
@@ -304,22 +311,33 @@ public class LawsCommonServiceImpl implements ILawsCommonService {
resultMap.put(key, StringUtils.join(nodeIdList, ","));
resultMap.put(key + FieldCommon._DICT_TEXT, StringUtils.join(nodeNameList, ","));
}
- }
- // 如果是代替标准(单独处理)
- if (FieldCommon.REPLACED_STANDARD.equals(key)) {
+ } else if (FieldCommon.REPLACED_STANDARD.equals(key)) {
+ // 如果是代替标准(单独处理)
resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 1));
- }
- // 如果是被代替标准(单独处理)
- if (FieldCommon.REPLACED_BY_STANDARD.equals(key)) {
+ } else if (FieldCommon.REPLACED_BY_STANDARD.equals(key)) {
+ // 如果是被代替标准(单独处理)
resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 1));
- }
- // 如果是引用标准(单独处理)
- if (FieldCommon.REFERENCE_STANDARD.equals(key)) {
+ } else if (FieldCommon.REFERENCE_STANDARD.equals(key)) {
+ // 如果是引用标准(单独处理)
resultMap.put(key, lawsReplacedStandardService.getReplaced(standardNumber, 2));
- }
- // 如果是被引用标准(单独处理)
- if (FieldCommon.REFERENCED_STANDARD.equals(key)) {
+ } else if (FieldCommon.REFERENCED_STANDARD.equals(key)) {
+ // 如果是被引用标准(单独处理)
resultMap.put(key, lawsReplacedStandardService.getReplacedBy(standardNumber, 2));
+ } else if (LawsFieldTypeEnum.FILE_UP.getValue().equals(lawsTag.getFieldShowType())) {
+ // 如果是文件类型
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.eq(OSSFile::getStandardId, id);
+ queryWrapper.eq(OSSFile::getStandardFileType, key);
+ List 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