文档库--表单数据结构

This commit is contained in:
zhn
2022-03-14 15:56:24 +08:00
parent b7f04e477c
commit c051d51c90
13 changed files with 1033 additions and 42 deletions
@@ -168,7 +168,7 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
// @RequiresPermissions("document:queryCondition")
public Result<List<Map<String,Object>>> queryCondition(@RequestParam(name="flag",required=true) String flag,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String,Object>> list = bussDocumentLibraryEOService.queryCondition(flag,cut);
List<Map<String,Object>> list = bussDocumentLibraryEOService.queryCondition(flag,cut,null);
return Result.OK(list);
}
@@ -183,7 +183,7 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
// @RequiresPermissions("document:getHeader")
public Result<List<Map<String,Object>>> getHeader(@RequestParam(name="flag",required=true) String flag,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String,Object>> list = bussDocumentLibraryEOService.getHeader(flag,cut);
List<Map<String,Object>> list = bussDocumentLibraryEOService.getHeader(flag,cut,null);
return Result.OK(list);
}
@@ -54,14 +54,14 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*
* @return
*/
List<Map<String, Object>> queryCondition(String flag, String cut);
List<Map<String, Object>> queryCondition(String flag, String cut,String searchFlag);
/**
* 列表表头
*
* @return
*/
List<Map<String, Object>> getHeader(String flag, String cut);
List<Map<String, Object>> getHeader(String flag, String cut,String searchFlag);
/**
* 新增表单
@@ -1,6 +1,7 @@
package com.jero.modules.document.service.impl;
import cn.hutool.core.util.ZipUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.utils.IOUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -15,6 +16,7 @@ import com.jero.common.constant.enums.IsMustEnum;
import com.jero.common.constant.enums.MessageTypeEnum;
import com.jero.common.constant.enums.ModuleEnum;
import com.jero.common.constant.enums.YesOrNoEnum;
import com.jero.common.es.JeroElasticsearchTemplate;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.DateUtils;
@@ -136,6 +138,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
private SysCategoryServiceImpl sysCategoryService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private JeroElasticsearchTemplate jeroElasticsearchTemplate;
@Resource
private WebSocket webSocket;
@Resource
@@ -254,15 +258,22 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* 查询条件
*
* @param flag
* @param cut
* @param searchFlag 搜索中心标识(searchFlag=search时查询的是搜索中心的查询条件)
* @return
*/
@Override
public List<Map<String, Object>> queryCondition(String flag, String cut) {
public List<Map<String, Object>> queryCondition(String flag, String cut,String searchFlag) {
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
if (fieldList.size() != 0) {
//过滤出搜索条件()
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
if("search".equals(searchFlag)){
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowSearch()))).collect(Collectors.toList());
}else{
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsQuery()))).collect(Collectors.toList());
}
}
//树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree();
@@ -291,15 +302,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* 列表表头
*
* @param flag
* @param cut
* @param searchFlag 搜索中心列表表头(searchFlag=search时)
* @return
*/
@Override
public List<Map<String, Object>> getHeader(String flag, String cut) {
public List<Map<String, Object>> getHeader(String flag, String cut,String searchFlag) {
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(flag);
if (fieldList.size() != 0) {
//过滤列表字段(is_show_list-->列表是否显示0否 1是)
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
if("search".equals(searchFlag)){
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowSearch()))).collect(Collectors.toList());
}else{
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowList()))).collect(Collectors.toList());
}
}
List<Map<String, Object>> list = new ArrayList<>();
for (OnlCgformField onlCgformField : fieldList) {
@@ -357,8 +374,33 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
//树形数据字典
List<SysCategoryTreeVO> sysCategoryTree = sysCategoryService.getSysCategoryTree();
List<Map<String, Object>> result = new ArrayList<>();
// List<Map<String, Object>> result = new ArrayList<>();
// for (OnlCgformArea onlCgformAreaTemp : areaList) {
// String areaName = "";
// if (CutEnum.CN.getValue().equals(cut)) {
// areaName = onlCgformAreaTemp.getShowArea();
// } else {
// areaName = onlCgformAreaTemp.getEnName();
// }
// List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
// for (OnlCgformField onlCgformField : fieldListTemp) {
// String dictId = onlCgformField.getDictId();
// List<SysCategoryTreeVO> sysCategoryTreeVOList = new ArrayList<>();
// if (StringUtils.isNotBlank(dictId)) {
// sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList());
// }
// 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, sysCategoryTreeVOList);
// map.put("field_must_input", onlCgformField.getFieldMustInput());//是否必填
// map.put("db_length", onlCgformField.getDbLength());//字段长度
// result.add(map);
// }
// }
// return result;
List<Map<String, Object>> resultTemp = new ArrayList<>();
for (OnlCgformArea onlCgformAreaTemp : areaList) {
List<Map<String, Object>> result = new ArrayList<>();
Map<String,Object> mapTemp = new HashMap<>();
String areaName = "";
if (CutEnum.CN.getValue().equals(cut)) {
areaName = onlCgformAreaTemp.getShowArea();
@@ -367,19 +409,23 @@ 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();
List<SysCategoryTreeVO> sysCategoryTreeVOList = new ArrayList<>();
if (StringUtils.isNotBlank(dictId)) {
sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList());
if(onlCgformAreaTemp.getId().equals(onlCgformField.getShowArea())){
String dictId = onlCgformField.getDictId();
List<SysCategoryTreeVO> sysCategoryTreeVOList = new ArrayList<>();
if (StringUtils.isNotBlank(dictId)) {
sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList());
}
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, sysCategoryTreeVOList);
map.put("field_must_input", onlCgformField.getFieldMustInput());//是否必填
map.put("db_length", onlCgformField.getDbLength());//字段长度
result.add(map);
}
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, sysCategoryTreeVOList);
map.put("field_must_input", onlCgformField.getFieldMustInput());//是否必填
map.put("db_length", onlCgformField.getDbLength());//字段长度
result.add(map);
}
mapTemp.put(onlCgformAreaTemp.getShowArea(),result);
resultTemp.add(mapTemp);
}
return result;
return resultTemp;
}
/**
@@ -507,8 +553,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(null);
//原始对应标准,代替标准,被代替标准(原始数据存的是iD)
String correspondingStandardId = (String) dataList.get(0).get("corresponding_standard");//对应标准
String replaceStandardId = (String) dataList.get(0).get("replace_standard");//代替标准
String correspondingStandardId = "";
String replaceStandardId = "";//代替标准
if(dataList.size() != 0){
correspondingStandardId = (String) dataList.get(0).get("corresponding_standard");//对应标准
replaceStandardId = (String) dataList.get(0).get("replace_standard");//代替标准
}
//被代替标准
List<String> replacedStandardIdList = new ArrayList<>();//代替标准
@@ -879,6 +930,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
//向订阅该领域管理的人发消息
sendMsg(map, idTemp);
//添加es
map.put("id",idTemp);
String json = JSON.toJSONString(map);//map转String
JSONObject jsonObject = JSON.parseObject(json);
int a=0;
// jeroElasticsearchTemplate.saveOrUpdate(null,null,idTemp,jsonObject);
}
private void sendMsg(Map<String, Object> map, String idTemp) {
@@ -1604,7 +1662,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
//过滤查询条件字段类型使用
List<Map<String, Object>> mapList = queryCondition("1", null);
List<Map<String, Object>> mapList = queryCondition("1", null,null);
//查询条件处理
for (Map.Entry<String, Object> entry : parameter.entrySet()) {