文档库--技术领域转中文处理
This commit is contained in:
+55
-2
@@ -30,6 +30,7 @@ import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
|
||||
import com.jero.modules.subscribe.service.IOnlCgformSubscribeService;
|
||||
import com.jero.modules.system.entity.SysAnnouncement;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.entity.SysCategoryTreeVO;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
@@ -372,6 +373,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
dataList.get(0).put("replace_standard_id", replaceStandard);
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank((String)dataList.get(0).get("technology_territory"))){
|
||||
String technologyTerritory = (String) dataList.get(0).get("technology_territory");
|
||||
dataList.get(0).put("technology_territory",Arrays.asList(technologyTerritory.split(",")));
|
||||
}
|
||||
return dataList;
|
||||
}
|
||||
|
||||
@@ -451,12 +456,25 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
.filter(e -> FieldTypeEnum.PULL_SINGLE.getValue().equals(e.getFieldShowType())
|
||||
|| FieldTypeEnum.PULL_MORE.getValue().equals(e.getFieldShowType()))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
//过滤出树形字段
|
||||
List<OnlCgformField> treeFieldList = fieldList.stream()
|
||||
.filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType()))
|
||||
.collect(Collectors.toList());
|
||||
//下拉选字段
|
||||
List<String> fieldPullList = onlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||
|
||||
//数据字典
|
||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
||||
|
||||
//树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
//处理树形数据字典
|
||||
dataList.get(0).entrySet().forEach(entry -> {
|
||||
//下拉选处理数据字典
|
||||
treeDictItem(categoryList, entry, treeFieldList,cut);
|
||||
});
|
||||
|
||||
//下拉单选和下拉多选数据字典处理
|
||||
dataList.get(0).entrySet().forEach(entry -> {
|
||||
if (fieldPullList.contains(entry.getKey())) {
|
||||
@@ -1712,6 +1730,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
|
||||
//文件字段
|
||||
List<OnlCgformField> fileFieldList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||
//过滤出树形字段
|
||||
List<OnlCgformField> treeFieldList = fieldList.stream()
|
||||
.filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType()))
|
||||
.collect(Collectors.toList());
|
||||
//过滤出所有文件字段对应的connect_id
|
||||
List<String> connectIdList = new ArrayList<>();
|
||||
for (Map<String, Object> data : datas) {
|
||||
@@ -1727,17 +1749,23 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
if (connectIdList.size() != 0) {
|
||||
fileInfos = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectIdList, ","));
|
||||
}
|
||||
|
||||
//树形数据字典
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
int i = 0;
|
||||
for (Map<String, Object> data : datas) {
|
||||
|
||||
for (Map.Entry<String, Object> entry : data.entrySet()) {
|
||||
List<OnlCgformField> collect = fieldList.stream()
|
||||
.filter(e -> entry.getKey().equals(e.getDictField()))
|
||||
.filter(e -> entry.getKey().equals(e.getDictField()) && !FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType()))
|
||||
.collect(Collectors.toList());
|
||||
//下拉选处理数据字典
|
||||
dictItem(sysDictItems, entry, collect,cut);
|
||||
//处理树形数据字典
|
||||
treeDictItem(categoryList, entry, treeFieldList,cut);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Row row = sheet.createRow(i + 1);
|
||||
i++;
|
||||
int sheetNum = 0;
|
||||
@@ -2145,6 +2173,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, content, contentInfo);
|
||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||
return "推送成功" ;
|
||||
}
|
||||
|
||||
/**
|
||||
* 属性字典处理中文
|
||||
* @param categoryList
|
||||
* @param entry
|
||||
* @param treeFieldList
|
||||
* @param cut
|
||||
*/
|
||||
private void treeDictItem(List<SysCategory> categoryList ,Map.Entry<String, Object> entry,List<OnlCgformField> treeFieldList,String cut){
|
||||
List<String> treeFields = treeFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
|
||||
String key = entry.getKey();
|
||||
if(treeFields.contains(entry.getKey())){
|
||||
String value = (String) entry.getValue();
|
||||
if(StringUtils.isNotBlank(value)){
|
||||
List<String> idList = Arrays.asList(value.split(","));
|
||||
List<SysCategory> sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList());
|
||||
List<String> nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||
List<String> nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||
if(CutEnum.CN.getValue().equals(cut)){
|
||||
entry.setValue(StringUtils.join(nameList,","));
|
||||
}else{
|
||||
entry.setValue(StringUtils.join(nameEnList,","));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user