文档库--编辑中对应标准处理

This commit is contained in:
zhn
2022-03-01 17:13:05 +08:00
parent 7416239a07
commit 1e541da4c1
@@ -21,7 +21,6 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.log.entity.BussLogEO;
import com.jero.modules.log.service.IBussLogEOService;
import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
@@ -236,7 +235,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
* @return
*/
@Override
public List<Map<String, Object>> getAddForm(String flag, String cut,String type) {
public List<Map<String, Object>> getAddForm(String flag, String cut, String type) {
OnlCgformArea onlCgformArea = new OnlCgformArea();
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//区域管理
@@ -246,12 +245,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (fieldList.size() != 0) {
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
if("add".equals(type)){
if ("add".equals(type)) {
//新增时,被代替标准在表单中不显示
fieldList = fieldList.stream()
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())) && !e.getDbFieldName().equals("replaced_standard"))
.collect(Collectors.toList());
}else{
} else {
fieldList = fieldList.stream()
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())))
.collect(Collectors.toList());
@@ -261,9 +260,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<Map<String, Object>> result = new ArrayList<>();
for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = "";
if(CutEnum.CN.getValue().equals(cut)){
if (CutEnum.CN.getValue().equals(cut)) {
areaName = onlCgformAreaTemp.getShowArea();
}else{
} else {
areaName = onlCgformAreaTemp.getEnName();
}
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
@@ -289,34 +288,46 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
queryWrapper.eq(BussDocumentLibraryEO::getId, id);
//通过id查询数据
List<Map<String, Object>> dataList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper);
//处理被代替标准
//查询所有
List<Map<String, Object>> mapList = bussDocumentLibraryEOMapper.selectMaps(null);
//对应标准id
String correspondingStandard = (String) dataList.get(0).get("corresponding_standard");
//处理被代替标准和对应标准
List<String> replaceStandardNameList = new ArrayList<>();
List<String> correspondingStandardNameList = new ArrayList<>();
for (Map<String, Object> map : mapList) {
//对应标准处理
if (StringUtils.isNotBlank(correspondingStandard) && correspondingStandard.contains((String) map.get("id"))) {
correspondingStandardNameList.add((String) map.get("serial_number"));
}
//代替标准
String replaceStandard = (String) map.get("replace_standard");
if(StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains(id)){
if (StringUtils.isNotBlank(replaceStandard) && replaceStandard.contains(id)) {
String serialNumber = (String) map.get("serial_number");
replaceStandardNameList.add(serialNumber);
}
}
if(replaceStandardNameList.size() != 0){
dataList.get(0).put("replaced_standard",StringUtils.join(replaceStandardNameList,","));
//对应标准中文
if (correspondingStandardNameList.size() != 0) {
dataList.get(0).put("corresponding_standard", StringUtils.join(correspondingStandardNameList, ","));
dataList.get(0).put("corresponding_standard_id", correspondingStandard);
}
if (replaceStandardNameList.size() != 0) {
dataList.get(0).put("replaced_standard", StringUtils.join(replaceStandardNameList, ","));
}
//代替标准中文
String replaceStandard = (String) dataList.get(0).get("replace_standard");
if(StringUtils.isNotBlank(replaceStandard)){
if (StringUtils.isNotBlank(replaceStandard)) {
LambdaQueryWrapper<BussDocumentLibraryEO> queryWrapperTemp = new LambdaQueryWrapper<>();
queryWrapperTemp.in(BussDocumentLibraryEO::getId, Arrays.asList(replaceStandard.split(",")));
List<Map<String, Object>> dataListTemp = bussDocumentLibraryEOMapper.selectMaps(queryWrapperTemp);
if(dataListTemp.size()!= 0){
if (dataListTemp.size() != 0) {
List<String> replaceStandardListNew = new ArrayList<>();
for (Map<String, Object> map : dataListTemp) {
replaceStandardListNew.add((String) map.get("serial_number"));
}
dataList.get(0).put("replace_standard",StringUtils.join(replaceStandardListNew,","));
dataList.get(0).put("replace_standard_id",replaceStandard);
dataList.get(0).put("replace_standard", StringUtils.join(replaceStandardListNew, ","));
dataList.get(0).put("replace_standard_id", replaceStandard);
}
}
return dataList;
@@ -417,9 +428,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (dataList.size() != 0) {
dataList.get(0).entrySet().forEach(entry -> {
if (onlCgformField.getDbFieldName().equals(entry.getKey())) {
if(onlCgformField.getDbFieldName().equals("replaced_standard")){
map.put("value", StringUtils.join(replaceStandardNameList,","));
}else{
if (onlCgformField.getDbFieldName().equals("replaced_standard")) {
map.put("value", StringUtils.join(replaceStandardNameList, ","));
} else {
map.put("value", entry.getValue());
}
}
@@ -459,14 +470,18 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
* @param map
*/
public void addInfo(Map<String, Object> map) {
if(ObjectUtils.isNotEmpty(map.get("replace_standard_id"))){
map.put("replace_standard",map.get("replace_standard_id"));
if (ObjectUtils.isNotEmpty(map.get("replace_standard_id"))) {
map.put("replace_standard", map.get("replace_standard_id"));
}
if (ObjectUtils.isNotEmpty(map.get("corresponding_standard"))) {
map.put("corresponding_standard", map.get("corresponding_standard_id"));
}
//代替标准不为空,需要向被替代标准的法规工程师发送站内通知和飞书信息,提醒内容:"新标准编号"已实施,请注意更新“替代标准编号”状态
map.remove("cut");
map.remove("replace_standard_id");
map.remove("corresponding_standard_id");
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//时间类型字段
@@ -532,11 +547,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
* @param map
*/
public void updateInfo(Map<String, Object> map) {
if(ObjectUtils.isNotEmpty(map.get("replace_standard_id"))){
map.put("replace_standard",map.get("replace_standard_id"));
if (ObjectUtils.isNotEmpty(map.get("replace_standard_id"))) {
map.put("replace_standard", map.get("replace_standard_id"));
}
if (ObjectUtils.isNotEmpty(map.get("corresponding_standard_id"))) {
map.put("corresponding_standard", map.get("corresponding_standard_id"));
}
map.remove("cut");
map.remove("replace_standard_id");
map.remove("corresponding_standard_id");
//字段属性
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//时间类型字段
@@ -609,9 +628,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
} else {
//编辑时replaced_standard被代替标准不存值,通过查询得到
if("replaced_standard".equals(key)){
if ("replaced_standard".equals(key)) {
valuesBuilder.append("'" + "" + "'" + ",");
}else{
} else {
valuesBuilder.append("'" + value + "'" + ",");
}
}
@@ -1034,7 +1053,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//查询条件处理
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
String key = entry.getKey();
if(!"pageNo".equals(key) && !"pageSize".equals(key)){
if (!"pageNo".equals(key) && !"pageSize".equals(key)) {
String value = (String) entry.getValue();
if (StringUtils.isNotBlank(value)) {
for (Map<String, Object> map : mapList) {
@@ -1564,7 +1583,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
* @return
*/
private List<String> getWorkbookTitle(String cut) {
List<Map<String, Object>> addForm = getAddForm(ModuleEnum.DOCUMENT_LIBRARY.getValue(), cut,"add");
List<Map<String, Object>> addForm = getAddForm(ModuleEnum.DOCUMENT_LIBRARY.getValue(), cut, "add");
StringBuilder sb = new StringBuilder();
List<String> pullMoreList = new LinkedList<>();//多选字段
List<String> pullSingleList = new LinkedList<>();//单选字段
@@ -1681,6 +1700,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* ocr识别调取已入库文件-中英文切换
*
* @param flag header-表头,condition-查询条件
* @param cut
* @return
@@ -1688,85 +1708,85 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
@Override
public List<Map<String, Object>> getHeaderOrConditionForOcr(String flag, String cut) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
Map<String, Object> map4 = new HashMap<>();
Map<String, Object> map5 = new HashMap<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
Map<String, Object> map4 = new HashMap<>();
Map<String, Object> map5 = new HashMap<>();
if("header".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "状态");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "文件名称");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "文件信息");//字段中文名
list.add(map5);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "state");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "file name");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "text info");//字段中文名
list.add(map5);
}
}else if("condition".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
}
if ("header".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "状态");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "文件名称");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "文件信息");//字段中文名
list.add(map5);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "state");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "file name");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "text info");//字段中文名
list.add(map5);
}
} else if ("condition".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
}
}
return list;
}
}