fix(文档拆分): 字典翻译
This commit is contained in:
+4
@@ -56,6 +56,10 @@ public class DocumentSplitCommon {
|
|||||||
* <=
|
* <=
|
||||||
*/
|
*/
|
||||||
public static final String LT = " <= ";
|
public static final String LT = " <= ";
|
||||||
|
/**
|
||||||
|
* 翻译后缀
|
||||||
|
*/
|
||||||
|
public static final String DIC_TEXT = "_dictText";
|
||||||
/**
|
/**
|
||||||
* 条目类型 TEXT:文本, IMG:图片, TABLE:表格, INTERPRETATION:解读
|
* 条目类型 TEXT:文本, IMG:图片, TABLE:表格, INTERPRETATION:解读
|
||||||
*/
|
*/
|
||||||
|
|||||||
+53
-2
@@ -1,6 +1,7 @@
|
|||||||
package com.jero.modules.laws.documenttool.service.impl;
|
package com.jero.modules.laws.documenttool.service.impl;
|
||||||
|
|
||||||
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.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
@@ -11,6 +12,7 @@ import com.jero.common.exception.JeroBootException;
|
|||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.util.MessageUtils;
|
import com.jero.common.util.MessageUtils;
|
||||||
import com.jero.common.util.UUIDUtils;
|
import com.jero.common.util.UUIDUtils;
|
||||||
|
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||||
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
|
import com.jero.modules.laws.common.mapper.LawsCommonMapper;
|
||||||
import com.jero.modules.laws.documenttool.common.DocumentSplitCommon;
|
import com.jero.modules.laws.documenttool.common.DocumentSplitCommon;
|
||||||
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
import com.jero.modules.laws.documenttool.entity.DocumentSplitInfo;
|
||||||
@@ -29,6 +31,10 @@ import com.jero.modules.split.mapper.SarFileSplitItemsValEOMapper;
|
|||||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||||
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
import com.jero.modules.split.service.ISarFileSplitMenuEOService;
|
||||||
import com.jero.modules.split.service.impl.FileSpiltService;
|
import com.jero.modules.split.service.impl.FileSpiltService;
|
||||||
|
import com.jero.modules.system.entity.SysDict;
|
||||||
|
import com.jero.modules.system.entity.SysDictItem;
|
||||||
|
import com.jero.modules.system.service.ISysDictItemService;
|
||||||
|
import com.jero.modules.system.service.ISysDictService;
|
||||||
import com.jero.modules.tag.entity.LawsTag;
|
import com.jero.modules.tag.entity.LawsTag;
|
||||||
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
|
import com.jero.modules.tag.enums.LawsFieldTypeEnum;
|
||||||
import com.jero.modules.tag.enums.TableNameEnum;
|
import com.jero.modules.tag.enums.TableNameEnum;
|
||||||
@@ -69,6 +75,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
private final ISarFileSplitMenuEOService sarFileSplitMenuEOService;
|
private final ISarFileSplitMenuEOService sarFileSplitMenuEOService;
|
||||||
private final LawsDocumentSplitMapper lawsDocumentSplitMapper;
|
private final LawsDocumentSplitMapper lawsDocumentSplitMapper;
|
||||||
private final SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper;
|
private final SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper;
|
||||||
|
private final ISysDictService sysDictService;
|
||||||
|
private final ISysDictItemService sysDictItemService;
|
||||||
private static final String INFO_ID = "info_id";
|
private static final String INFO_ID = "info_id";
|
||||||
private static final String ID = "id";
|
private static final String ID = "id";
|
||||||
private static final String IDS = "ids";
|
private static final String IDS = "ids";
|
||||||
@@ -84,7 +92,9 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
FileSpiltService fileSpiltService,
|
FileSpiltService fileSpiltService,
|
||||||
ISarFileSplitMenuEOService sarFileSplitMenuEOService,
|
ISarFileSplitMenuEOService sarFileSplitMenuEOService,
|
||||||
LawsDocumentSplitMapper lawsDocumentSplitMapper,
|
LawsDocumentSplitMapper lawsDocumentSplitMapper,
|
||||||
SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper) {
|
SarFileSplitItemsValEOMapper sarFileSplitItemsValEOMapper,
|
||||||
|
ISysDictService sysDictService,
|
||||||
|
ISysDictItemService sysDictItemService) {
|
||||||
this.documentSplitMapper = documentSplitMapper;
|
this.documentSplitMapper = documentSplitMapper;
|
||||||
this.sarFileSplitInfoService = sarFileSplitInfoService;
|
this.sarFileSplitInfoService = sarFileSplitInfoService;
|
||||||
this.lawsCommonMapper = lawsCommonMapper;
|
this.lawsCommonMapper = lawsCommonMapper;
|
||||||
@@ -92,6 +102,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
this.sarFileSplitMenuEOService = sarFileSplitMenuEOService;
|
this.sarFileSplitMenuEOService = sarFileSplitMenuEOService;
|
||||||
this.lawsDocumentSplitMapper = lawsDocumentSplitMapper;
|
this.lawsDocumentSplitMapper = lawsDocumentSplitMapper;
|
||||||
this.sarFileSplitItemsValEOMapper = sarFileSplitItemsValEOMapper;
|
this.sarFileSplitItemsValEOMapper = sarFileSplitItemsValEOMapper;
|
||||||
|
this.sysDictService = sysDictService;
|
||||||
|
this.sysDictItemService = sysDictItemService;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -146,7 +158,46 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
|
|||||||
String selectCondition = getSelectCondition(parameter, fieldListCondition);
|
String selectCondition = getSelectCondition(parameter, fieldListCondition);
|
||||||
|
|
||||||
// 查询数据
|
// 查询数据
|
||||||
return documentSplitMapper.queryDocumentSplitDetail(new Page<>(pageNo, pageSize), selectColumn, selectCondition);
|
IPage<Map<String, Object>> mapIPage = documentSplitMapper.queryDocumentSplitDetail(new Page<>(pageNo, pageSize), selectColumn, selectCondition);
|
||||||
|
// 翻译
|
||||||
|
dicTranslate(mapIPage.getRecords(), fieldListSelect);
|
||||||
|
return mapIPage;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void dicTranslate(List<Map<String, Object>> records, List<LawsTag> fieldListSelect) {
|
||||||
|
// 单选树结构、多选树结构
|
||||||
|
List<String> treeTypeList = Arrays.asList(LawsFieldTypeEnum.TREE_BOX.getValue(), LawsFieldTypeEnum.TREE_BOX_SINGLE.getValue());
|
||||||
|
List<LawsTag> lawsTags = fieldListSelect.stream()
|
||||||
|
.filter(j -> FieldCommon.TYPE_DICT.contains(j.getFieldShowType())).collect(Collectors.toList());
|
||||||
|
for (Map<String, Object> map : records) {
|
||||||
|
for (LawsTag lawsTag : lawsTags) {
|
||||||
|
String dbFieldName = lawsTag.getDbFieldName();
|
||||||
|
if (map.containsKey(dbFieldName)){
|
||||||
|
// 字典查找
|
||||||
|
SysDict sysDict = sysDictService.getById(lawsTag.getDictId());
|
||||||
|
if (!Objects.isNull(sysDict)){
|
||||||
|
setDicText(treeTypeList, map, lawsTag, dbFieldName, sysDict);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDicText(List<String> treeTypeList, Map<String, Object> map, LawsTag lawsTag, String dbFieldName, SysDict sysDict) {
|
||||||
|
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>()
|
||||||
|
.eq(SysDictItem::getDictId, sysDict.getId());
|
||||||
|
// 树结构查询dic_id
|
||||||
|
if (treeTypeList.contains(lawsTag.getFieldShowType())){
|
||||||
|
queryWrapper.in(SysDictItem::getId, Arrays.asList(map.get(dbFieldName).toString().split(",")));
|
||||||
|
}else {
|
||||||
|
queryWrapper.in(SysDictItem::getItemValue, Arrays.asList(map.get(dbFieldName).toString().split(",")));
|
||||||
|
}
|
||||||
|
// 字典值查询
|
||||||
|
List<SysDictItem> list = sysDictItemService.list(queryWrapper);
|
||||||
|
if(!list.isEmpty()){
|
||||||
|
List<String> itemTextList = list.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
|
||||||
|
map.put(dbFieldName + DocumentSplitCommon.DIC_TEXT, String.join(",", itemTextList));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user