条款检索添加适用市场

This commit is contained in:
梁琦涛
2024-09-11 18:47:35 +08:00
parent d336a52a09
commit 6cb0290a62
@@ -483,25 +483,28 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
// 组织结构
List<LawsTag> lawsTags2 = fieldListSelect.stream()
.filter(j -> FieldCommon.GROUP.contains(j.getFieldShowType())).collect(Collectors.toList());
List<SysDict> sysDictList = sysDictService.list();
List<SysDictItem> sysDictItemList = sysDictItemService.list();
List<SysDepart> sysDepartListAll = sysDepartService.list();
records.parallelStream().forEach(map->{
for (LawsTag lawsTag : lawsTags) {
String dbFieldName = lawsTag.getDbFieldName();
if (map.containsKey(dbFieldName)){
// 字典查找
SysDict sysDict = sysDictService.getById(lawsTag.getDictId());
if (!Objects.isNull(sysDict)){
setDicText(map, dbFieldName, sysDict);
}
Optional<SysDict> op = sysDictList.stream().filter(o->Objects.equals(o.getId(),lawsTag.getDictId())).findFirst();
op.ifPresent(sysDict -> setDicText(map, dbFieldName, sysDict, sysDictItemList));
}
}
for (LawsTag lawsTag : lawsTags2) {
String dbFieldName = lawsTag.getDbFieldName();
if (map.containsKey(dbFieldName)){
List<SysDepart> sysDepartList =
sysDepartService.listByIds(Arrays.asList(map.get(dbFieldName).toString().split(",")));
List<String> itemTextList = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.toList());
map.put(dbFieldName + DocumentSplitCommon.DIC_TEXT, String.join(",", itemTextList));
if(!CollectionUtils.isEmpty(sysDepartListAll)){
List<SysDepart> sysDepartList = sysDepartListAll.stream().filter(o->
Arrays.asList(map.get(dbFieldName).toString().split(",")).contains(o.getId()))
.collect(Collectors.toList());
List<String> itemTextList = sysDepartList.stream().map(SysDepart::getDepartName).collect(Collectors.toList());
map.put(dbFieldName + DocumentSplitCommon.DIC_TEXT, String.join(",", itemTextList));
}
}
}
// 特殊翻译
@@ -531,12 +534,14 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
}
}
private void setDicText(Map<String, Object> map, String dbFieldName, SysDict sysDict) {
LambdaQueryWrapper<SysDictItem> queryWrapper = new LambdaQueryWrapper<SysDictItem>()
.eq(SysDictItem::getDictId, sysDict.getId())
.in(SysDictItem::getItemValue, Arrays.asList(map.get(dbFieldName).toString().split(",")));
private void setDicText(Map<String, Object> map, String dbFieldName, SysDict sysDict,List<SysDictItem> sysDictItemList) {
if(CollectionUtils.isEmpty(sysDictItemList)){
return;
}
// 字典值查询
List<SysDictItem> list = sysDictItemService.list(queryWrapper);
List<SysDictItem> list = sysDictItemList.stream().filter(o->Objects.equals(sysDict.getId(),o.getDictId()) &&
Arrays.asList(map.get(dbFieldName).toString().split(",")).contains(o.getItemValue()))
.collect(Collectors.toList());
if(!list.isEmpty()){
List<String> itemTextList = list.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
map.put(dbFieldName + DocumentSplitCommon.DIC_TEXT, String.join(",", itemTextList));