diff --git a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java index 793130043..4e916ce16 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java +++ b/jero-boot/jero-boot-base/jero-boot-base-generater/src/main/java/com/jero/generater/modules/online/cgform/entity/OnlCgformField.java @@ -47,6 +47,7 @@ public class OnlCgformField implements Serializable { private Integer orderNum; private String updateBy; private String showArea; + private String dictId; @JsonFormat( timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss" @@ -75,6 +76,14 @@ public class OnlCgformField implements Serializable { private String queryMustInput; private String sortFlag; + public String getDictId() { + return dictId; + } + + public void setDictId(String dictId) { + this.dictId = dictId; + } + public String getShowArea() { return showArea; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java index 0e9f50e82..c3c877bc2 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysCategoryController.java @@ -48,7 +48,7 @@ import java.util.stream.Collectors; public class SysCategoryController { @Autowired private ISysCategoryService sysCategoryService; - + /** * 分页列表查询 * @param sysCategory @@ -67,7 +67,7 @@ public class SysCategoryController { sysCategory.setPid("0"); } Result> result = new Result>(); - + //--author:os_chengtgen---date:20190804 -----for: 分类字典页面显示错误,issues:377--------start //QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(sysCategory, req.getParameterMap()); QueryWrapper queryWrapper = new QueryWrapper(); @@ -126,7 +126,7 @@ public class SysCategoryController { } return result; } - + /** * 编辑 * @param sysCategory @@ -145,7 +145,7 @@ public class SysCategoryController { } return result; } - + /** * 通过id删除 * @param id @@ -162,10 +162,10 @@ public class SysCategoryController { this.sysCategoryService.deleteSysCategory(id); result.success("删除成功!"); } - + return result; } - + /** * 批量删除 * @param ids @@ -183,7 +183,7 @@ public class SysCategoryController { } return result; } - + /** * 通过id查询 * @param id @@ -285,9 +285,9 @@ public class SysCategoryController { } return Result.error("文件导入失败!"); } - - - + + + /** * 加载单个数据 用于回显 */ @@ -296,7 +296,7 @@ public class SysCategoryController { public Result loadOne(@RequestParam(name="field") String field,@RequestParam(name="val") String val) { Result result = new Result(); try { - + QueryWrapper query = new QueryWrapper(); query.eq(field, val); List ls = this.sysCategoryService.list(query); @@ -317,7 +317,7 @@ public class SysCategoryController { } return result; } - + /** * 加载节点的子数据 */ @@ -336,7 +336,7 @@ public class SysCategoryController { } return result; } - + /** * 加载一级节点/如果是同步 则所有数据 */ @@ -358,7 +358,7 @@ public class SysCategoryController { } return result; } - + /** * 递归求子节点 同步加载用到 */ @@ -518,7 +518,7 @@ public class SysCategoryController { @GetMapping("/getSysCategoryTree") public Result getSysCategoryTree() { - return sysCategoryService.getSysCategoryTree(); + return Result.OK(sysCategoryService.getSysCategoryTree()); } } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java index 791df3339..3d3870f77 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/entity/SysCategoryTreeVO.java @@ -17,6 +17,8 @@ public class SysCategoryTreeVO { private String title; + private String dictId; + private List children; } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java index c28a7a6cd..083e178db 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysCategoryService.java @@ -1,9 +1,9 @@ package com.jero.modules.system.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.jero.common.api.vo.Result; import com.jero.common.exception.JeroBootException; import com.jero.modules.system.entity.SysCategory; +import com.jero.modules.system.entity.SysCategoryTreeVO; import com.jero.modules.system.model.TreeSelectModel; import java.util.List; @@ -21,16 +21,16 @@ public interface ISysCategoryService extends IService { public static final String ROOT_PID_VALUE = "0"; void addSysCategory(SysCategory sysCategory); - + void updateSysCategory(SysCategory sysCategory); - + /** * 根据父级编码加载分类字典的数据 * @param pcode * @return */ public List queryListByCode(String pcode) throws JeroBootException; - + /** * 根据pid查询子节点集合 * @param pid @@ -70,5 +70,5 @@ public interface ISysCategoryService extends IService { * 获取树形结构 * @return */ - Result getSysCategoryTree(); + List getSysCategoryTree(); } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java index 37ebe7271..db051dbcd 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysCategoryServiceImpl.java @@ -62,7 +62,7 @@ public class SysCategoryServiceImpl extends ServiceImpl getSysCategoryTree() { try { List list = super.baseMapper.selectList(new QueryWrapper<>()); List tree = new ArrayList<>(); if(CollectionUtils.isNotEmpty(list)){ tree = TreeUtils.getSysCategoryTree(list); } - return Result.OK(tree); + return tree; }catch (Exception ex){ log.error("查询树形结构失败: " + ex.getMessage()); throw new JeroBootException("查询树形结构失败!"); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java index 3574683c7..c577bff78 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/TreeUtils.java @@ -25,6 +25,7 @@ public class TreeUtils { if (TREE_ROOT_CODE.equals(sysCategory.getPid())) { SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); sysCategoryTreeVO.setId(sysCategory.getId()); + sysCategoryTreeVO.setDictId(sysCategory.getSysDictId()); sysCategoryTreeVO.setTitle(sysCategory.getName()); sysCategoryTreeVO.setParentId(sysCategory.getPid()); sysCategoryTreeVO.setChildren(getSysCategoryTreeChild(sysCategory.getId(), sysCategoryList)); @@ -39,6 +40,7 @@ public class TreeUtils { for (SysCategory sysCategory : sysCategoryList) { if (id.equals(sysCategory.getPid())) { SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); + sysCategoryTreeVO.setDictId(sysCategory.getSysDictId()); sysCategoryTreeVO.setId(sysCategory.getId()); sysCategoryTreeVO.setTitle(sysCategory.getName()); sysCategoryTreeVO.setParentId(sysCategory.getPid()); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java index 9868a1b7f..885b25b39 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java @@ -12,6 +12,7 @@ public enum FieldTypeEnum { // FILE("文件","file"), // DATE("日期","date"); //属性类型 1输入框(字符串),2输入框(数字),3单选下拉框,4多选下拉框,5单日期选择,6多日期选择,7文件,8文本框,9人员选择,10标准选择 + TREE("树形结构","0"), TEXT_STRING("输入框(字符串)","1"), TEXT_NUMBER("输入框(数字)","2"), PULL_SINGLE("单选下拉框","3"), 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 cf5749e68..6715dcd23 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 @@ -29,13 +29,12 @@ 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.SysAnnouncementSend; +import com.jero.modules.system.entity.SysCategoryTreeVO; import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.mapper.SysUserMapper; -import com.jero.modules.system.service.ISysAnnouncementSendService; import com.jero.modules.system.service.ISysAnnouncementService; -import com.jero.modules.system.service.impl.SysBaseApiImpl; +import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.tag.entity.OnlCgformArea; import com.jero.modules.tag.service.impl.OnlCgformAreaServiceImpl; @@ -112,6 +111,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea); //字段属性 List fieldList = onlCgformFieldService.getFieldList(flag); + //过滤出字段为树形结构的 + List onlCgformFieldTree = fieldList.stream().filter(e -> FieldTypeEnum.TREE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); if (fieldList.size() != 0) { //过滤出表单字段(is_show_form-->表单是否显示0否 1是) @@ -273,6 +276,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl sysCategoryTree = sysCategoryService.getSysCategoryTree(); List> result = new ArrayList<>(); for (OnlCgformArea onlCgformAreaTemp : areaList) { String areaName = ""; @@ -283,8 +288,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); for (OnlCgformField onlCgformField : fieldListTemp) { + String dictId = onlCgformField.getDictId(); + SysCategoryTreeVO sysCategoryTreeVO = new SysCategoryTreeVO(); + if(StringUtils.isNotBlank(dictId)){ + List sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList()); + if(sysCategoryTreeVOList.size() != 0){ + sysCategoryTreeVO = sysCategoryTreeVOList.get(0); + } + } Map map = new HashMap<>(); - mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,sysCategoryTreeVO); map.put("field_must_input", onlCgformField.getFieldMustInput());//区域 result.add(map); } @@ -479,14 +492,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl mapNew = new HashMap<>(); mapNew.put("value", fileInfo); - mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, mapNew, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null); resultTemp.add(mapNew); } } } else if (fileInfos.size() == 1) { //单个文件处理 map.put("value", fileInfos.get(0)); - mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName); + mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName,null); resultTemp.add(map); } } @@ -513,7 +526,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map, String field_show_type, String fieldShowType2, String dict_field, String dictField, String db_field_name, String dbFieldName2, String db_field_txt, String dbFieldTxt, String db_field_en_name, String dbFieldEnName, String area, String showArea) { + private void mapPut(String cut, Map map, String field_show_type, + String fieldShowType2, String dict_field, String dictField, + String db_field_name, String dbFieldName2, String db_field_txt, + String dbFieldTxt, String db_field_en_name, String dbFieldEnName, + String area, String showArea,SysCategoryTreeVO sysCategoryTreeVO) { map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等) map.put(dict_field, dictField); map.put(db_field_name, dbFieldName2);//字段 @@ -545,6 +562,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl