From 21e51bf25b9efa61c692893b0f952de766f0435d Mon Sep 17 00:00:00 2001 From: zhn <947514737@qq.com> Date: Wed, 16 Feb 2022 16:53:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=E5=BA=93--=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=AD=97=E5=85=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/system/entity/SysDictItem.java | 4 ++ .../system/mapper/SysDictItemMapper.java | 3 ++ .../system/service/ISysDictItemService.java | 6 +++ .../service/impl/SysDictItemServiceImpl.java | 9 ++++ .../BussDocumentLibraryEOServiceImpl.java | 51 ++++++++++++++++++- 5 files changed, 72 insertions(+), 1 deletion(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java index 6b4fdc5bf..2b1ccedb8 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysDictItem.java @@ -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不启用) */ diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java index fd73fb936..62c0d1704 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/SysDictItemMapper.java @@ -17,4 +17,7 @@ import java.util.List; public interface SysDictItemMapper extends BaseMapper { @Select("SELECT * FROM sys_dict_item WHERE DICT_ID = #{mainId} order by sort_order asc, item_value asc") public List 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 selectItemsAll(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java index 81c0cba97..e1ad6ef68 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDictItemService.java @@ -15,4 +15,10 @@ import java.util.List; */ public interface ISysDictItemService extends IService { public List selectItemsByMainId(String mainId); + + /** + * 查询所有数据字典信息 + * @return + */ + public List selectItemsAll(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java index 11922993e..b1e9a426f 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDictItemServiceImpl.java @@ -27,4 +27,13 @@ public class SysDictItemServiceImpl extends ServiceImpl selectItemsByMainId(String mainId) { return sysDictItemMapper.selectItemsByMainId(mainId); } + + /** + * 查询所有数据字典信息 + * @return + */ + @Override + public List selectItemsAll() { + return sysDictItemMapper.selectItemsAll(); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 0ecffe576..e0f2fbfeb 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -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 sysDictItems = sysDictItemServiceImpl.selectItemsAll(); + + //下拉选处理数据字典 + List records = infoPage.getRecords(); + for (Object record : records) { + Map record1 = (Map) record; + for (Map.Entry entry : record1.entrySet()) { + List 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 sysDictItems, Map.Entry entry, List collect) { + //通过dictField判断字段是否为下拉选(不为空则为下拉选) + if(collect.size() != 0 && StringUtils.isNotBlank(collect.get(0).getDictField())){ + String value = (String) entry.getValue(); + //数据字典中文 + List dictItemsCh = new ArrayList<>(); + for (String itemValue : value.split(",")) { + //字段的数据字典 + List dictItemList = sysDictItems.stream() + .filter(e -> e.getDictCode().equals(entry.getKey())) + .collect(Collectors.toList()); + if(dictItemList.size() != 0){ + List dictItems = dictItemList.stream() + .filter(e -> itemValue.equals(e.getItemValue())) + .collect(Collectors.toList()); + if(dictItems.size() != 0){ + List itemText = dictItems.stream().map(SysDictItem::getItemText).collect(Collectors.toList()); + dictItemsCh.addAll(itemText); + } + } + } + entry.setValue(StringUtils.join(dictItemsCh, ",")); + } } }