文档库--树形数据字典
This commit is contained in:
+9
@@ -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;
|
||||
}
|
||||
|
||||
+15
-15
@@ -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<IPage<SysCategory>> result = new Result<IPage<SysCategory>>();
|
||||
|
||||
|
||||
//--author:os_chengtgen---date:20190804 -----for: 分类字典页面显示错误,issues:377--------start
|
||||
//QueryWrapper<SysCategory> queryWrapper = QueryGenerator.initQueryWrapper(sysCategory, req.getParameterMap());
|
||||
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<SysCategory>();
|
||||
@@ -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<SysCategory> loadOne(@RequestParam(name="field") String field,@RequestParam(name="val") String val) {
|
||||
Result<SysCategory> result = new Result<SysCategory>();
|
||||
try {
|
||||
|
||||
|
||||
QueryWrapper<SysCategory> query = new QueryWrapper<SysCategory>();
|
||||
query.eq(field, val);
|
||||
List<SysCategory> 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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+2
@@ -17,6 +17,8 @@ public class SysCategoryTreeVO {
|
||||
|
||||
private String title;
|
||||
|
||||
private String dictId;
|
||||
|
||||
private List<SysCategoryTreeVO> children;
|
||||
|
||||
}
|
||||
|
||||
+5
-5
@@ -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<SysCategory> {
|
||||
public static final String ROOT_PID_VALUE = "0";
|
||||
|
||||
void addSysCategory(SysCategory sysCategory);
|
||||
|
||||
|
||||
void updateSysCategory(SysCategory sysCategory);
|
||||
|
||||
|
||||
/**
|
||||
* 根据父级编码加载分类字典的数据
|
||||
* @param pcode
|
||||
* @return
|
||||
*/
|
||||
public List<TreeSelectModel> queryListByCode(String pcode) throws JeroBootException;
|
||||
|
||||
|
||||
/**
|
||||
* 根据pid查询子节点集合
|
||||
* @param pid
|
||||
@@ -70,5 +70,5 @@ public interface ISysCategoryService extends IService<SysCategory> {
|
||||
* 获取树形结构
|
||||
* @return
|
||||
*/
|
||||
Result getSysCategoryTree();
|
||||
List<SysCategoryTreeVO> getSysCategoryTree();
|
||||
}
|
||||
|
||||
+3
-3
@@ -62,7 +62,7 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
||||
sysCategory.setPid(categoryPid);
|
||||
baseMapper.insert(sysCategory);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updateSysCategory(SysCategory sysCategory) {
|
||||
if(oConvertUtils.isEmpty(sysCategory.getPid())){
|
||||
@@ -221,14 +221,14 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result getSysCategoryTree() {
|
||||
public List<SysCategoryTreeVO> getSysCategoryTree() {
|
||||
try {
|
||||
List<SysCategory> list = super.baseMapper.selectList(new QueryWrapper<>());
|
||||
List<SysCategoryTreeVO> 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("查询树形结构失败!");
|
||||
|
||||
+2
@@ -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());
|
||||
|
||||
+1
@@ -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"),
|
||||
|
||||
+26
-8
@@ -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<BussDocumentLi
|
||||
private SysUserMapper sysUserMapper;
|
||||
@Autowired
|
||||
private DomainUserRelService domainUserRelService;
|
||||
@Autowired
|
||||
private SysCategoryServiceImpl sysCategoryService;
|
||||
|
||||
@Value(value = "${jero.path.upload}")
|
||||
private String uploadpath;
|
||||
@@ -258,6 +259,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(onlCgformArea);
|
||||
//字段属性
|
||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
|
||||
//过滤出字段为树形结构的
|
||||
List<OnlCgformField> 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<BussDocumentLi
|
||||
}
|
||||
|
||||
}
|
||||
//树形数据字典
|
||||
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree();
|
||||
List<Map<String, Object>> result = new ArrayList<>();
|
||||
for (OnlCgformArea onlCgformAreaTemp : areaList) {
|
||||
String areaName = "";
|
||||
@@ -283,8 +288,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
List<OnlCgformField> 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<SysCategoryTreeVO> sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList());
|
||||
if(sysCategoryTreeVOList.size() != 0){
|
||||
sysCategoryTreeVO = sysCategoryTreeVOList.get(0);
|
||||
}
|
||||
}
|
||||
Map<String, Object> 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<BussDocumentLi
|
||||
for (OSSFile fileInfo : fileInfos) {
|
||||
Map<String, Object> 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<BussDocumentLi
|
||||
}
|
||||
});
|
||||
}
|
||||
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);
|
||||
}
|
||||
if (map.size() != 0) {
|
||||
resultTemp.add(map);
|
||||
@@ -531,7 +544,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
return result;
|
||||
}
|
||||
|
||||
private void mapPut(String cut, Map<String, Object> 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<String, Object> 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<BussDocumentLi
|
||||
map.put(db_field_txt, dbFieldTxt);//字段中文名
|
||||
}
|
||||
map.put(area, showArea);//区域
|
||||
map.put("tree", sysCategoryTreeVO);//区域
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user