diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java index fee131bd6..bc74036a0 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/oss/service/impl/OSSFileServiceImpl.java @@ -155,9 +155,11 @@ public class OSSFileServiceImpl extends ServiceImpl impl @Override public void deleteByConnectIdList(List connectIdList) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(OSSFile::getConnectId,connectIdList); - this.remove(lambdaQueryWrapper); + if(connectIdList.size() != 0){ + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(OSSFile::getConnectId,connectIdList); + this.remove(lambdaQueryWrapper); + } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java index dc6312388..21f309380 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/enums/FieldTypeEnum.java @@ -9,6 +9,7 @@ public enum FieldTypeEnum { TEXT("输入框","text"), LIST("下拉单选","list"), LIST_MULTI("下拉多选","list_multi"), + FILE("文件","file"), DATE("日期","date"); diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index d1cc99a3c..e215b3d6f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -74,23 +74,20 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl ids) { - //字段属性 List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); //文件类型字段 - List fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList()); - - //删除文件 + List fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); //删除文件 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.in(BussDocumentLibraryEO::getId,ids); + lambdaQueryWrapper.in(BussDocumentLibraryEO::getId, ids); List> mapList = bussDocumentLibraryEOMapper.selectMaps(lambdaQueryWrapper); List connectIdList = new ArrayList<>(); for (OnlCgformField onlCgformField : fieldFileList) { String connectId = (String) mapList.get(0).get(onlCgformField.getDbFieldName()); - if(StringUtils.isNotBlank(connectId)){ + if (StringUtils.isNotBlank(connectId)) { connectIdList.add(connectId); } } @@ -162,8 +159,8 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl map = new HashMap<>(); //单独处理发布日期和标准实施日期 - if("issue_time".equals(onlCgformField.getDbFieldName()) - || "implement_time".equals(onlCgformField.getDbFieldName())){ + if ("issue_time".equals(onlCgformField.getDbFieldName()) + || "implement_time".equals(onlCgformField.getDbFieldName())) { map.put("sort", "true");//列表排序标识 } map.put("db_field_name", onlCgformField.getDbFieldName());//字段 @@ -197,12 +194,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); for (OnlCgformField onlCgformField : fieldListTemp) { Map map = new HashMap<>(); - map.put("field_show_type", onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等) - map.put("dict_field", onlCgformField.getDictField()); - map.put("db_field_name", onlCgformField.getDbFieldName());//字段 - map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名 - map.put("db_field_en_name", onlCgformField.getDbFieldEnName());//字段英文名 - map.put("area", onlCgformAreaTemp.getShowArea());//区域 + mapPut(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", onlCgformAreaTemp.getShowArea()); map.put("field_must_input", onlCgformField.getFieldMustInput());//区域 result.add(map); } @@ -237,77 +229,85 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl> dataList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper); -// //一下代码为查看已上传的文件(此处已经单独提出一个接口-->/sys/common/getFileInfos) -// //字段属性 -// List fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); -// //文件类型字段 -// List fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList()); -// for (OnlCgformField onlCgformField : fieldFileList) { -// String dbFieldName = onlCgformField.getDbFieldName(); -// String value = (String) dataList.get(0).get(dbFieldName); -// if(StringUtils.isNotBlank(value)){ -// List fileInfos = iOSSFileService.getFileInfos(value); -// int a = 0; -// if(fileInfos.size() != 0){ -// dataList.get(0).put(dbFieldName +"_file",fileInfos); -// } -// } -// } - // //区域管理 - List areaList = onlCgformAreaServiceImpl.queryList(new OnlCgformArea()); - //字段属性 - List fieldList = onlCgformFieldService.getFieldList("1"); + //区域管理 + List areaList = onlCgformAreaServiceImpl.queryList(new OnlCgformArea()); + //字段属性 + List fieldList = onlCgformFieldService.getFieldList("1"); - 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()); - } - List> result = new ArrayList<>(); - for (OnlCgformArea onlCgformAreaTemp : areaList) { - Map mapTemp = new HashMap<>(); - List> resultTemp = new ArrayList<>(); - List fieldListTemp = fieldList.stream().filter(e->onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); - for (OnlCgformField onlCgformField : fieldListTemp) { - //处理文件 + 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()); + } + List> result = new ArrayList<>(); + for (OnlCgformArea onlCgformAreaTemp : areaList) { + Map mapTemp = new HashMap<>(); + List> resultTemp = new ArrayList<>(); + List fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList()); + for (OnlCgformField onlCgformField : fieldListTemp) { + //字段 String dbFieldName = onlCgformField.getDbFieldName(); + //字段类型 + String fieldShowType = onlCgformField.getFieldShowType(); String value = ""; - if(StringUtils.contains(dbFieldName,"_time")){ - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - value = sdf.format(dataList.get(0).get(dbFieldName)); - }else { + if (FieldTypeEnum.DATE.getValue().equals(fieldShowType)) { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + if (ObjectUtils.isNotEmpty(dataList.get(0).get(dbFieldName))) { + value = sdf.format(dataList.get(0).get(dbFieldName)); + } + } else { value = (String) dataList.get(0).get(dbFieldName); } - - if(StringUtils.isNotBlank(value)){ - List fileInfos = iOSSFileService.getFileInfosByConnectId(value); - if(fileInfos.size() != 0){ - dataList.get(0).put(dbFieldName +"_file",fileInfos); + Map map = new HashMap<>(); + //处理文件 + if (FieldTypeEnum.FILE.getValue().equals(fieldShowType)) { + if (StringUtils.isNotBlank(value)) { + List fileInfos = iOSSFileService.getFileInfosByConnectId(value); + //多文件处理 + if (fileInfos.size() > 1) { + if (fileInfos.size() != 0) { + for (OSSFile fileInfo : fileInfos) { + Map mapNew = new HashMap<>(); + mapNew.put("value", fileInfo); + mapPut(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", onlCgformAreaTemp.getShowArea()); + resultTemp.add(mapNew); + } + } + } else { + //单个文件处理 + map.put("value", fileInfos.get(0)); + mapPut(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", onlCgformAreaTemp.getShowArea()); + resultTemp.add(map); + } } + } else { + //处理字段类型为文件之外的字段 + if (dataList.size() != 0) { + dataList.get(0).entrySet().forEach(entry -> { + if (onlCgformField.getDbFieldName().equals(entry.getKey())) { + map.put("value", entry.getValue()); + } + }); + } + mapPut(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", onlCgformAreaTemp.getShowArea()); } - - Map map = new HashMap<>(); - if(dataList.size() != 0){ - dataList.get(0).entrySet().forEach(entry->{ - if(onlCgformField.getDbFieldName().equals(entry.getKey())){ - map.put("value",entry.getValue()); - } - }); - } - map.put("field_show_type",onlCgformField.getFieldShowType());//类型(判断是下拉还是输入框,等等) - map.put("dict_field",onlCgformField.getDictField()); - map.put("db_field_name",onlCgformField.getDbFieldName());//字段 - map.put("db_field_txt",onlCgformField.getDbFieldTxt());//字段中文名 - map.put("db_field_en_name",onlCgformField.getDbFieldEnName());//字段英文名 - map.put("area",onlCgformAreaTemp.getShowArea());//区域 - resultTemp.add(map); - } - mapTemp.put(onlCgformAreaTemp.getShowArea(),resultTemp); + if (map.size() != 0) { + resultTemp.add(map); + } + } + mapTemp.put(onlCgformAreaTemp.getShowArea(), resultTemp); result.add(mapTemp); - } - return dataList; - + } + return result; + } + private void mapPut(Map 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) { + map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等) + map.put(dict_field, dictField); + map.put(db_field_name, dbFieldName2);//字段 + map.put(db_field_txt, dbFieldTxt);//字段中文名 + map.put(db_field_en_name, dbFieldEnName);//字段英文名 + map.put(area, showArea);//区域 } /** @@ -319,9 +319,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); //时间类型字段 - List fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList()); + List fieldDateList = fieldList.stream().filter(e -> FieldTypeEnum.DATE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); //文件类型字段 - List fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList()); + List fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); String mustFields = "id,create_by,create_time,update_by,update_time,sys_org_code"; String mustValues = getMustValues(); //字段 @@ -384,18 +384,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl fieldList = onlCgformFieldService.getFieldList(ModuleEnum.DOCUMENT_LIBRARY.getValue()); //时间类型字段 - List fieldDateList = fieldList.stream().filter(e -> "Date".equals(e.getDbType())).collect(Collectors.toList()); + List fieldDateList = fieldList.stream().filter(e -> FieldTypeEnum.DATE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); //文件类型字段 - List fieldFileList = fieldList.stream().filter(e -> "file".equals(e.getFieldShowType())).collect(Collectors.toList()); - //一下3行代码为测试数据(暂时保留) -// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); -// queryWrapper.eq(BussDocumentLibraryEO::getId,"1"); -// List> dateList = bussDocumentLibraryEOMapper.selectMaps(queryWrapper); + List fieldFileList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList()); //字段 StringBuilder fieldsBuilder = new StringBuilder(); //数据值 StringBuilder valuesBuilder = new StringBuilder(); -// for (Map.Entry entry : dateList.get(0).entrySet()) { for (Map.Entry entry : map.entrySet()) { String key = entry.getKey(); Object value = entry.getValue(); @@ -441,18 +436,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(BussDocumentLibraryEO::getId,(String) map.get("id")); + lambdaQueryWrapper.eq(BussDocumentLibraryEO::getId, (String) map.get("id")); List> mapList = bussDocumentLibraryEOMapper.selectMaps(lambdaQueryWrapper); List connectIdList = new ArrayList<>(); for (OnlCgformField onlCgformField : fieldFileList) { String connectId = (String) mapList.get(0).get(onlCgformField.getDbFieldName()); - if(StringUtils.isNotBlank(connectId)){ + if (StringUtils.isNotBlank(connectId)) { connectIdList.add(connectId); } } @@ -495,7 +488,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl