文档库--分页数据字典处理

This commit is contained in:
zhn
2022-02-16 16:53:28 +08:00
parent 79bfe693a7
commit 21e51bf25b
5 changed files with 72 additions and 1 deletions
@@ -1,6 +1,7 @@
package com.jero.modules.system.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
@@ -63,6 +64,9 @@ public class SysDictItem implements Serializable {
private Integer sortOrder;
@TableField(exist = false)
private String dictCode;
/**
* 状态(1启用 0不启用)
*/
@@ -17,4 +17,7 @@ import java.util.List;
public interface SysDictItemMapper extends BaseMapper<SysDictItem> {
@Select("SELECT * FROM sys_dict_item WHERE DICT_ID = #{mainId} order by sort_order asc, item_value asc")
public List<SysDictItem> selectItemsByMainId(String mainId);
@Select("SELECT sys_dict.dict_code,sys_dict_item.* from sys_dict_item LEFT JOIN sys_dict ON sys_dict_item.dict_id = sys_dict.id where status = 1")
List<SysDictItem> selectItemsAll();
}
@@ -15,4 +15,10 @@ import java.util.List;
*/
public interface ISysDictItemService extends IService<SysDictItem> {
public List<SysDictItem> selectItemsByMainId(String mainId);
/**
* 查询所有数据字典信息
* @return
*/
public List<SysDictItem> selectItemsAll();
}
@@ -27,4 +27,13 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
public List<SysDictItem> selectItemsByMainId(String mainId) {
return sysDictItemMapper.selectItemsByMainId(mainId);
}
/**
* 查询所有数据字典信息
* @return
*/
@Override
public List<SysDictItem> selectItemsAll() {
return sysDictItemMapper.selectItemsAll();
}
}
@@ -15,6 +15,8 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.tag.entity.OnlCgformArea;
import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl;
import org.apache.commons.lang3.ObjectUtils;
@@ -49,6 +51,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
private BussDocumentLibraryEOMapper bussDocumentLibraryEOMapper;
@Autowired
private IOSSFileService iOSSFileService;
@Autowired
private SysDictItemServiceImpl sysDictItemServiceImpl;
/**
@@ -474,10 +478,55 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
// int pageSize = Integer.parseInt(parameter.get("pageSize").toString());
IPage page = new Page(pageNo, pageSize);
IPage infoPage = bussDocumentLibraryEOMapper.getInfoPage(page, " " + StringUtils.join(fieldListNew, ","), conditionSb.toString());
//数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
//下拉选处理数据字典
List records = infoPage.getRecords();
for (Object record : records) {
Map<String,Object> record1 = (Map) record;
for (Map.Entry<String, Object> entry : record1.entrySet()) {
List<OnlCgformField> collect = fieldList.stream()
.filter(e -> entry.getKey().equals(e.getDictField()))
.collect(Collectors.toList());
//下拉选处理数据字典
dictItem(sysDictItems, entry, collect);
}
}
return infoPage;
}
/**
* 下拉选处理数据字典
* @param sysDictItems
* @param entry
* @param collect
*/
private void dictItem(List<SysDictItem> sysDictItems, Map.Entry<String, Object> entry, List<OnlCgformField> collect) {
//通过dictField判断字段是否为下拉选(不为空则为下拉选)
if(collect.size() != 0 && StringUtils.isNotBlank(collect.get(0).getDictField())){
String value = (String) entry.getValue();
//数据字典中文
List<String> dictItemsCh = new ArrayList<>();
for (String itemValue : value.split(",")) {
//字段的数据字典
List<SysDictItem> dictItemList = sysDictItems.stream()
.filter(e -> e.getDictCode().equals(entry.getKey()))
.collect(Collectors.toList());
if(dictItemList.size() != 0){
List<SysDictItem> dictItems = dictItemList.stream()
.filter(e -> itemValue.equals(e.getItemValue()))
.collect(Collectors.toList());
if(dictItems.size() != 0){
List<String> itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList());
dictItemsCh.addAll(itemText);
}
}
}
entry.setValue(StringUtils.join(dictItemsCh, ","));
}
}
}