文档库--新增和编辑时封装es查询全部的数据
This commit is contained in:
+157
-8
@@ -267,6 +267,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询条件
|
* 查询条件
|
||||||
|
*
|
||||||
* @param flag
|
* @param flag
|
||||||
* @param cut
|
* @param cut
|
||||||
* @param searchFlag 搜索中心标识 searchFlag = 0时,查询下拉,树形,日期等字段 type = 1时,查询输入框字段
|
* @param searchFlag 搜索中心标识 searchFlag = 0时,查询下拉,树形,日期等字段 type = 1时,查询输入框字段
|
||||||
@@ -327,6 +328,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 列表表头
|
* 列表表头
|
||||||
|
*
|
||||||
* @param flag
|
* @param flag
|
||||||
* @param cut
|
* @param cut
|
||||||
* @param searchFlag 搜索中心列表表头(searchFlag=search时)
|
* @param searchFlag 搜索中心列表表头(searchFlag=search时)
|
||||||
@@ -898,13 +900,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
map.remove("corresponding_standard_id");
|
map.remove("corresponding_standard_id");
|
||||||
//字段属性
|
//字段属性
|
||||||
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
|
||||||
//时间类型字段
|
|
||||||
//文件类型字段
|
//文件类型字段
|
||||||
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
|
List<OnlCgformField> fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
|
||||||
//下拉单选或下拉多选
|
//树形数据字典
|
||||||
List<OnlCgformField> fieldPullList = fieldList.stream()
|
List<SysCategory> categoryList = sysCategoryService.list();
|
||||||
.filter(e -> FieldTypeEnum.PULL_SINGLE.getValue().equals(e.getFieldShowType())
|
//普通数据字典
|
||||||
|| FieldTypeEnum.PULL_MORE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
|
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||||
|
//查询所有文档库信息
|
||||||
|
//查询所有
|
||||||
|
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMapsAll(null);
|
||||||
|
|
||||||
String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code";
|
String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code";
|
||||||
String idTemp = UUID.randomUUID().toString().replace("-", "");
|
String idTemp = UUID.randomUUID().toString().replace("-", "");
|
||||||
@@ -913,11 +917,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
StringBuilder fieldsBuilder = new StringBuilder();
|
StringBuilder fieldsBuilder = new StringBuilder();
|
||||||
//数据值
|
//数据值
|
||||||
StringBuilder valuesBuilder = new StringBuilder();
|
StringBuilder valuesBuilder = new StringBuilder();
|
||||||
for (Map.Entry<String, Object> entry : map.entrySet())
|
Map<String,Object> mapFullText = new HashMap<>();
|
||||||
|
mapFullText.put("module_type", "文档库");
|
||||||
|
mapFullText.put("serial_number", map.get("serial_number"));
|
||||||
|
mapFullText.put("title", map.get("title"));
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
try {
|
try {
|
||||||
{
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
|
//es全文新增数据(数据转换)
|
||||||
|
esFullText(cut, fieldList, categoryList, dictItemList, mapList, sb, entry);
|
||||||
|
|
||||||
//处理发布日期,标准实施日期
|
//处理发布日期,标准实施日期
|
||||||
if ("issue_time".equals(key) || "implement_time".equals(key)) {
|
if ("issue_time".equals(key) || "implement_time".equals(key)) {
|
||||||
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
@@ -955,6 +966,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
mapFullText.put("content", sb.toString());
|
||||||
String insertField = mustFields + fieldsBuilder.toString();
|
String insertField = mustFields + fieldsBuilder.toString();
|
||||||
String insertValue = mustValues + valuesBuilder.toString();
|
String insertValue = mustValues + valuesBuilder.toString();
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
@@ -968,6 +980,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
sendMsg(map, idTemp);
|
sendMsg(map, idTemp);
|
||||||
//添加es
|
//添加es
|
||||||
map.put("id", idTemp);
|
map.put("id", idTemp);
|
||||||
|
map.put("module_type", "文档库");
|
||||||
String json = JSON.toJSONString(map);
|
String json = JSON.toJSONString(map);
|
||||||
JSONObject jsonObject = JSON.parseObject(json);
|
JSONObject jsonObject = JSON.parseObject(json);
|
||||||
try {
|
try {
|
||||||
@@ -977,6 +990,123 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void esFullText(String cut, List<OnlCgformField> fieldList, List<SysCategory> categoryList, List<SysDictItem> dictItemList, List<Map<String, Object>> mapList, StringBuilder sb, Map.Entry<String, Object> entry) {
|
||||||
|
for (OnlCgformField onlCgformField : fieldList) {
|
||||||
|
|
||||||
|
//输入框
|
||||||
|
if((FieldTypeEnum.TEXT_STRING.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
|| FieldTypeEnum.TEXT_NUMBER.getValue().equals(onlCgformField.getFieldShowType()))
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue()+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//下拉框
|
||||||
|
if((FieldTypeEnum.PULL_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
|| FieldTypeEnum.PULL_MORE.getValue().equals(onlCgformField.getFieldShowType()))
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
List<SysDictItem> dictItems = dictItemList.stream()
|
||||||
|
.filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals(entry.getKey()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
StringBuilder sbText = new StringBuilder();
|
||||||
|
//处理数据字典
|
||||||
|
for (String item : entry.getValue().toString().split(",")) {
|
||||||
|
if(dictItems.size() != 0){
|
||||||
|
List<SysDictItem> itemValue = dictItems.stream().filter(e -> item.equals(e.getItemValue())).collect(Collectors.toList());
|
||||||
|
if(itemValue.size() != 0){
|
||||||
|
sbText.append(itemValue.get(0).getItemText()+",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
String substring = sbText.substring(0, sbText.length() - 1);
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//树形
|
||||||
|
if(FieldTypeEnum.TREE.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
StringBuilder sbTree = new StringBuilder();
|
||||||
|
List<String> idList = Arrays.asList(entry.getValue().toString().split(","));
|
||||||
|
List<SysCategory> sysCategoryList = categoryList.stream().filter(e -> idList.contains(e.getId())).collect(Collectors.toList());
|
||||||
|
List<String> nameList = sysCategoryList.stream().map(SysCategory::getName).collect(Collectors.toList());
|
||||||
|
List<String> nameEnList = sysCategoryList.stream().map(SysCategory::getEnName).collect(Collectors.toList());
|
||||||
|
if (CutEnum.CN.getValue().equals(cut)) {
|
||||||
|
sbTree.append(StringUtils.join(nameList, ","));
|
||||||
|
} else {
|
||||||
|
sbTree.append(StringUtils.join(nameEnList, ","));
|
||||||
|
}
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+sbTree.toString()+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//日期
|
||||||
|
if(FieldTypeEnum.DATE_SINGLE.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+entry.getValue().toString().split(" ")[0]+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//标准选择
|
||||||
|
if(FieldTypeEnum.STANDARD.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
StringBuilder standSb = new StringBuilder();
|
||||||
|
if("replaced_standard".equals(entry.getKey())){
|
||||||
|
//被代替标准
|
||||||
|
for (Map<String, Object> stringObjectMap : mapList) {
|
||||||
|
String replaceStandard = (String) stringObjectMap.get("replace_standard");
|
||||||
|
if(replaceStandard.contains((String)entry.getValue())){
|
||||||
|
standSb.append(stringObjectMap.get("serial_number")+",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//对应标准,代替标准
|
||||||
|
for (String valueTemp : entry.getValue().toString().split(",")) {
|
||||||
|
if(isId(valueTemp)){
|
||||||
|
//是id
|
||||||
|
for (Map<String, Object> stringObjectMap : mapList) {
|
||||||
|
if(stringObjectMap.get("id").equals(valueTemp)){
|
||||||
|
standSb.append(stringObjectMap.get("serial_number")+",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//不是id
|
||||||
|
standSb.append(valueTemp+",");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String substring = standSb.substring(0, standSb.length() - 1);
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+substring+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//文件
|
||||||
|
if(FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType())
|
||||||
|
&& onlCgformField.getDbFieldName().equals(entry.getKey())){
|
||||||
|
if(ObjectUtils.isEmpty(entry.getValue())){
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+"-- ");
|
||||||
|
}else{
|
||||||
|
List<OSSFile> fileInfos = iOSSFileService.getFileInfos((String) entry.getValue());
|
||||||
|
List<String> fileNameList = fileInfos.stream().map(OSSFile::getFileName).collect(Collectors.toList());
|
||||||
|
sb.append(onlCgformField.getDbFieldTxt()+":"+StringUtils.join(fileNameList,",")+" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void sendMsg(Map<String, Object> map, String idTemp) {
|
private void sendMsg(Map<String, Object> map, String idTemp) {
|
||||||
Map<String, Object> mapTemp = new HashMap<>();
|
Map<String, Object> mapTemp = new HashMap<>();
|
||||||
mapTemp.put("domainId", map.get("technology_territory"));
|
mapTemp.put("domainId", map.get("technology_territory"));
|
||||||
@@ -1061,13 +1191,28 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//处理修改代替标准,发送通知
|
//处理修改代替标准,发送通知
|
||||||
sendMessageUpdate(mapTemp, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
|
sendMessageUpdate(mapTemp, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
|
||||||
|
|
||||||
|
//树形数据字典
|
||||||
|
List<SysCategory> categoryList = sysCategoryService.list();
|
||||||
|
//普通数据字典
|
||||||
|
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
|
||||||
|
//查询所有
|
||||||
|
List<Map<String, Object>> listMap = bussDocumentLibraryEOMapper.selectMapsAll(null);
|
||||||
|
|
||||||
//字段
|
//字段
|
||||||
StringBuilder fieldsBuilder = new StringBuilder();
|
StringBuilder fieldsBuilder = new StringBuilder();
|
||||||
//数据值
|
//数据值
|
||||||
StringBuilder valuesBuilder = new StringBuilder();
|
StringBuilder valuesBuilder = new StringBuilder();
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
Map<String,Object> mapFullText = new HashMap<>();
|
||||||
|
mapFullText.put("module_type", "文档库");
|
||||||
|
mapFullText.put("serial_number", map.get("serial_number"));
|
||||||
|
mapFullText.put("title", map.get("title"));
|
||||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||||
String key = entry.getKey();
|
String key = entry.getKey();
|
||||||
Object value = entry.getValue();
|
Object value = entry.getValue();
|
||||||
|
//es全文新增数据(数据转换)
|
||||||
|
esFullText(cut, fieldList, categoryList, dictItemList, listMap, sb, entry);
|
||||||
|
|
||||||
if (ObjectUtils.isNotEmpty(value)) {
|
if (ObjectUtils.isNotEmpty(value)) {
|
||||||
//处理修改人和修改时间
|
//处理修改人和修改时间
|
||||||
if ("update_by".equals(key)) {
|
if ("update_by".equals(key)) {
|
||||||
@@ -1132,6 +1277,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
fieldsBuilder.append(key + ",");
|
fieldsBuilder.append(key + ",");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mapFullText.put("content", sb.toString());
|
||||||
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
|
String insertField = fieldsBuilder.substring(0, fieldsBuilder.length() - 1);
|
||||||
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
|
String insertValue = valuesBuilder.substring(0, valuesBuilder.length() - 1);
|
||||||
|
|
||||||
@@ -1153,11 +1299,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
//删除文档库数据
|
//删除文档库数据
|
||||||
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
bussDocumentLibraryEOMapper.deleteById((String) map.get("id"));
|
||||||
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
bussDocumentLibraryEOMapper.insertInfo(insertField, insertValue);
|
||||||
|
map.put("module_type", "文档库");
|
||||||
String json = JSON.toJSONString(map);//map转String
|
String json = JSON.toJSONString(map);//map转String
|
||||||
JSONObject jsonObject = JSON.parseObject(json);
|
JSONObject jsonObject = JSON.parseObject(json);
|
||||||
//修改es
|
//修改es
|
||||||
try {
|
try {
|
||||||
jeroElasticsearchTemplate.saveOrUpdate(SearchEnum.INDEX_NAME_DOCUMENT.getValue(), SearchEnum.TYPE_NAME_DOCUMENT.getValue(), (String) map.get("id"), jsonObject);
|
jeroElasticsearchTemplate.saveOrUpdate(SearchEnum.INDEX_NAME_DOCUMENT.getValue(), SearchEnum.TYPE_NAME_DOCUMENT.getValue(), (String) map.get("id"), jsonObject);
|
||||||
|
//添加全文
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("文档库编辑es失败");
|
log.error("文档库编辑es失败");
|
||||||
}
|
}
|
||||||
@@ -2591,7 +2740,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* 属性字典处理中文
|
* 属性字典处理中文
|
||||||
*
|
*
|
||||||
* @param categoryList
|
* @param categoryList
|
||||||
@@ -3098,6 +3246,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证字符串是不是id
|
* 验证字符串是不是id
|
||||||
|
*
|
||||||
* @param s
|
* @param s
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user