Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-03-01 17:24:40 +08:00
24 changed files with 503 additions and 272 deletions
@@ -251,8 +251,9 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
@ApiOperation(value="文档库信息表-新增表单", notes="文档库信息表-新增表单")
@GetMapping(value = "/getAddForm")
public Result<List<Map<String,Object>>> getAddForm(@RequestParam(name="flag",required=true) String flag,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String, Object>> list = bussDocumentLibraryEOService.getAddForm(flag,cut);
@RequestParam(name="cut",required=true) String cut,
@RequestParam(name="type",required=true) String type) {
List<Map<String, Object>> list = bussDocumentLibraryEOService.getAddForm(flag,cut,type);
return Result.OK(list);
}
@@ -68,4 +68,14 @@ public interface BussDocumentLibraryEOMapper extends BaseMapper<BussDocumentLibr
@Param("condition") String condition);
/**
* 根据代替标准列表查询
*
* @param
* @param replaceStandard
* @return
*/
List<Map<String, Object>> getInfoListByReplaceStandard(@Param("replaceStandard") String replaceStandard);
}
@@ -59,5 +59,16 @@
select ${field}
${condition}
</select>
<!--根据代替标准列表查询-->
<select id="getInfoListByReplaceStandard" resultType="java.util.LinkedHashMap">
select * from buss_document_library
where 1=1
<if test="replaceStandard != null" >
and replace_standard in
<foreach collection="replaceStandard.split(',')" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper>
@@ -68,7 +68,7 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*
* @return
*/
List<Map<String,Object>> getAddForm(String flag,String cut);
List<Map<String,Object>> getAddForm(String flag,String cut,String type);
/**
* 编辑数据查询
@@ -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) {
public List<Map<String, Object>> getAddForm(String flag, String cut, String type) {
OnlCgformArea onlCgformArea = new OnlCgformArea();
onlCgformArea.setIsModel(ModuleEnum.DOCUMENT_LIBRARY.getValue());
//区域管理
@@ -246,14 +245,24 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (fieldList.size() != 0) {
//过滤出表单字段(is_show_form-->表单是否显示0否 1是)
fieldList = fieldList.stream().filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm()))).collect(Collectors.toList());
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 {
fieldList = fieldList.stream()
.filter(e -> YesOrNoEnum.YES.getValue().equals(String.valueOf(e.getIsShowForm())))
.collect(Collectors.toList());
}
}
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());
@@ -279,6 +288,48 @@ 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)) {
String serialNumber = (String) map.get("serial_number");
replaceStandardNameList.add(serialNumber);
}
}
//对应标准中文
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)) {
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) {
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);
}
}
return dataList;
}
@@ -290,6 +341,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
*/
@Override
public List<Map<String, Object>> getInfoById(String id, String cut) {
//处理被代替标准
//根据代替标准查询被代替标准集合
List<Map<String, Object>> replaceStandardList = bussDocumentLibraryEOMapper.getInfoListByReplaceStandard(id);
List<String> replaceStandardNameList = new ArrayList<>();
for (Map<String, Object> map : replaceStandardList) {
String serialNumber = (String) map.get("serial_number");
replaceStandardNameList.add(serialNumber);
}
//区域管理
List<OnlCgformArea> areaList = onlCgformAreaServiceImpl.queryList(new OnlCgformArea());
//字段属性
@@ -369,7 +428,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (dataList.size() != 0) {
dataList.get(0).entrySet().forEach(entry -> {
if (onlCgformField.getDbFieldName().equals(entry.getKey())) {
map.put("value", entry.getValue());
if (onlCgformField.getDbFieldName().equals("replaced_standard")) {
map.put("value", StringUtils.join(replaceStandardNameList, ","));
} else {
map.put("value", entry.getValue());
}
}
});
}
@@ -407,9 +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("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());
//时间类型字段
@@ -475,8 +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("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());
//时间类型字段
@@ -548,7 +627,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
} else {
valuesBuilder.append("'" + value + "'" + ",");
//编辑时replaced_standard被代替标准不存值,通过查询得到
if ("replaced_standard".equals(key)) {
valuesBuilder.append("'" + "" + "'" + ",");
} else {
valuesBuilder.append("'" + value + "'" + ",");
}
}
}
fieldsBuilder.append(key + ",");
@@ -969,38 +1053,41 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//查询条件处理
for (Map.Entry<String, Object> entry : parameter.entrySet()) {
String key = entry.getKey();
String value = (String) entry.getValue();
if (StringUtils.isNotBlank(value)) {
for (Map<String, Object> map : mapList) {
String fieldName = (String) map.get("db_field_name");//字段
if (key.equals(fieldName)) {
//字段类型(判断是输入框还是下拉,等等)
String fieldType = (String) map.get("field_show_type");//字段类型
if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldType)) {
//输入框
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldType)
|| FieldTypeEnum.PULL_MORE.getValue().equals(fieldType)) {
StringBuilder valueSb = new StringBuilder();
for (String valueTemp : value.split(",")) {
valueSb.append("'" + valueTemp + "',");
}
String substring = valueSb.substring(0, valueSb.length() - 1);
//下拉单选或下拉多选
conditionSb.append(" and " + key + " in(" + substring + ")");
if (!"pageNo".equals(key) && !"pageSize".equals(key)) {
String value = (String) entry.getValue();
if (StringUtils.isNotBlank(value)) {
for (Map<String, Object> map : mapList) {
String fieldName = (String) map.get("db_field_name");//字段
if (key.equals(fieldName)) {
//字段类型(判断是输入框还是下拉,等等)
String fieldType = (String) map.get("field_show_type");//字段类型
if (FieldTypeEnum.TEXT_STRING.getValue().equals(fieldType)) {
//输入框
conditionSb.append(" and " + key + " like concat(concat('%','" + value + "'),'%')");
} else if (FieldTypeEnum.PULL_SINGLE.getValue().equals(fieldType)
|| FieldTypeEnum.PULL_MORE.getValue().equals(fieldType)) {
StringBuilder valueSb = new StringBuilder();
for (String valueTemp : value.split(",")) {
valueSb.append("'" + valueTemp + "',");
}
String substring = valueSb.substring(0, valueSb.length() - 1);
//下拉单选或下拉多选
conditionSb.append(" and " + key + " in(" + substring + ")");
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldType)) {
//日期(区分单日期还时间范围)
if (value.contains(",")) {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
} else {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
} else if (FieldTypeEnum.DATE_SINGLE.getValue().equals(fieldType)) {
//日期(区分单日期还时间范围)
if (value.contains(",")) {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') >= '" + value.split(",")[0] + "'"
+ " and " + "date_format(" + key + ",'%Y-%m-%d') <= '" + value.split(",")[1] + "'");
} else {
conditionSb.append(" and " + "date_format(" + key + ",'%Y-%m-%d') = '" + value + "'");
}
}
}
}
}
}
}
//处理列表表头排序
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
@@ -1496,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);
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<>();//单选字段
@@ -1613,6 +1700,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* ocr识别调取已入库文件-中英文切换
*
* @param flag header-表头,condition-查询条件
* @param cut
* @return
@@ -1620,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;
}
}