From ee56da57b55f924e4c32941ec4824b17ca8b448d Mon Sep 17 00:00:00 2001 From: liao Date: Wed, 23 Aug 2023 11:57:35 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E8=8E=B7=E5=8F=96=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/jero/common/system/util/JwtUtil.java | 3 +- .../BussDocumentLibraryEOServiceImpl.java | 7 +- .../controller/LawsBasicInfoController.java | 8 ++ .../service/ILawsBasicInfoService.java | 7 + .../impl/LawsBasicInfoServiceImpl.java | 124 ++++++++++++++++-- 5 files changed, 133 insertions(+), 16 deletions(-) diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java index 537e5f75..286d9397 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/util/JwtUtil.java @@ -34,7 +34,8 @@ public class JwtUtil { // Token过期时间30分钟(用户登录过期时间也是30分钟,以token在reids缓存时间为准) - public static final long EXPIRE_TIME = 180 * 60 * 1000L; + //public static final long EXPIRE_TIME = 180 * 60 * 1000L; + public static final long EXPIRE_TIME = 7 * 24 * 60 * 60 * 1000L; // 设置成七天(开发用) private static final String USERNAME_FIELD = "username"; diff --git a/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java b/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java index 3acf6547..717b06c7 100644 --- a/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java +++ b/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java @@ -631,7 +631,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl dictId.equals(e.getDictId())).collect(Collectors.toList()); } Map 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); + + 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());//字段长度 if (fieldFileList.contains(onlCgformField.getDbFieldName()) && onlCgformField.getIsReadOnly() == 1) { diff --git a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/controller/LawsBasicInfoController.java b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/controller/LawsBasicInfoController.java index 551050e5..7752574c 100644 --- a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/controller/LawsBasicInfoController.java +++ b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/controller/LawsBasicInfoController.java @@ -51,4 +51,12 @@ public class LawsBasicInfoController extends JeroController>> getFormModel(@RequestParam(name="flag") String flag) { + List> list = lawsBasicInfoService.getFormModel(flag); + return Result.OK(list); + } + } diff --git a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/ILawsBasicInfoService.java b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/ILawsBasicInfoService.java index 8f6f9c3d..8e6684cb 100644 --- a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/ILawsBasicInfoService.java +++ b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/ILawsBasicInfoService.java @@ -34,4 +34,11 @@ public interface ILawsBasicInfoService extends IService { * @Description: 获取列表表头 **/ List> getListHeader(String flag); + + /** + * @Author: liao + * @Date: 2023/8/23 11:20 + * @Description: 获取表单模型 + **/ + List> getFormModel(String flag); } diff --git a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/impl/LawsBasicInfoServiceImpl.java b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/impl/LawsBasicInfoServiceImpl.java index 0ccab3b0..49776547 100644 --- a/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/impl/LawsBasicInfoServiceImpl.java +++ b/jero-boot-modules/src/main/java/com/jero/modules/laws/regulation/service/impl/LawsBasicInfoServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.constant.enums.LanguageEnum; +import com.jero.common.constant.enums.ModuleEnum; import com.jero.common.constant.enums.YesOrNoEnum; import com.jero.common.exception.JeroBootException; import com.jero.common.util.MessageUtils; @@ -20,9 +21,11 @@ import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.service.ISysDictItemService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.util.MyStringUtils; +import com.jero.modules.tag.entity.LawsArea; import com.jero.modules.tag.entity.LawsTag; import com.jero.modules.tag.enums.FileTableIdEnum; import com.jero.modules.tag.mapper.LawsTagMapper; +import com.jero.modules.tag.service.ILawsAreaService; import com.jero.modules.tag.service.ILawsTagService; import com.spire.ms.System.Collections.ArrayList; import org.apache.commons.collections.CollectionUtils; @@ -60,6 +63,8 @@ public class LawsBasicInfoServiceImpl extends ServiceImpl> getFormModel(String flag) { + String cut = MessageUtils.getLanguage().getValue(); + LawsArea lawsArea = new LawsArea(); + lawsArea.setIsModel(flag); + // 区域管理 + List areaList = lawsAreaService.queryList(lawsArea); + // 字段字段集合 + List fieldList = getFieldList(flag); + // 文件类型字段集合 + List lawsTagFieldList = fieldList.stream().filter(lawsTag -> FieldTypeEnum.FILE.getValue() + .equals(lawsTag.getFieldShowType())).collect(Collectors.toList()); + List fieldFileList = lawsTagFieldList.stream().map(LawsTag::getDbFieldName).collect(Collectors.toList()); + //过滤出字段为树形结构的 + if (fieldList.size() != 0) { + //过滤出表单字段(is_show_form-->表单是否显示0否 1是) + fieldList = fieldList.stream() + .filter(e -> YesOrNoEnum.YES.getValue().equals(MyStringUtils.valueOf(e.getIsShowForm()))) + .collect(Collectors.toList()); + } + Map params = new HashedMap(); + params.put("cut",cut); + // 获取树型字典 + List sysCategoryTree = sysCategoryService.getSysCategoryTree(null,params); + List> resultTemp = new java.util.ArrayList<>(); + for (LawsArea lawsAreaTemp : areaList) { + List> Results = new java.util.ArrayList<>(); + Map mapTemp = new HashMap<>(); + String areaName = ""; + // 获取展示区域名称 + if (LanguageEnum.CN.getValue().equals(cut)) { + areaName = lawsAreaTemp.getShowArea(); + } else { + areaName = lawsAreaTemp.getEnName(); + } + // 获取该区域的所有字段 + List fieldListTemp = fieldList.stream().filter(e -> lawsAreaTemp.getId() + .equals(e.getShowArea())).collect(Collectors.toList()); + + for (LawsTag lawsTag : fieldListTemp) { + if (lawsAreaTemp.getId().equals(lawsTag.getShowArea())) { + String dictId = lawsTag.getDictId(); + List sysCategoryTreeVOList = new java.util.ArrayList<>(); + // 如果字典标识字段不为空,则筛选出该字典的全部配置项集合 + if (StringUtils.isNotBlank(dictId)) { + sysCategoryTreeVOList = sysCategoryTree.stream().filter(e -> dictId.equals(e.getDictId())).collect(Collectors.toList()); + } + Map map = new HashMap<>(); + mapPut(cut, map, "field_show_type", lawsTag.getFieldShowType(), + "dict_field", lawsTag.getDictField(), "db_field_name", + lawsTag.getDbFieldName(), "db_field_txt", lawsTag.getDbFieldTxt(), + "db_field_en_name", lawsTag.getDbFieldEnName(), "area", areaName, sysCategoryTreeVOList); + + map.put("field_must_input", lawsTag.getFieldMustInput());//是否必填 + map.put("db_length", lawsTag.getDbLength());//字段长度 + if (fieldFileList.contains(lawsTag.getDbFieldName()) && lawsTag.getIsReadOnly() == 1) { + map.put("flag", "1");//固定文件标识 + } else if (fieldFileList.contains(lawsTag.getDbFieldName()) && lawsTag.getIsReadOnly() == 0) { + map.put("flag", "0");//非固定文件字段 + } + Results.add(map); + } + } + if (LanguageEnum.CN.getValue().equals(cut)) { + mapTemp.put(lawsAreaTemp.getShowArea(), Results); + } else { + mapTemp.put(lawsAreaTemp.getEnName(), Results); + } + resultTemp.add(mapTemp); + } + return resultTemp; + } + + private void mapPut(String cut, 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, List sysCategoryTreeVOS) { + if(FieldTypeEnum.TEXT_LINK.getValue().equals(fieldShowType2)){ + map.put("urlClick", "true"); + } + map.put(field_show_type, fieldShowType2);//类型(判断是下拉还是输入框,等等) + map.put(dict_field, dictField); + map.put(db_field_name, dbFieldName2);//字段 + if (StringUtils.isNotBlank(cut)) { + if (LanguageEnum.CN.getValue().equals(cut)) { + map.put(db_field_txt, dbFieldTxt);//字段中文名 + } else { + map.put(db_field_txt, dbFieldEnName);//字段中文名 + } + } else { + map.put(db_field_txt, dbFieldTxt);//字段中文名 + } + map.put(area, showArea);//区域 + map.put("tree", sysCategoryTreeVOS);//区域 + } + /** * @Author: liao * @Date: 2023/8/22 13:41 * @Description: 属性字典处理中文 **/ - public void treeDictItem(List categoryList, Map.Entry entry, List treeFieldList, String cut,String flag) { + private void treeDictItem(List categoryList, Map.Entry entry, List treeFieldList, String cut,String flag) { List treeFields = treeFieldList.stream().map(LawsTag::getDbFieldName).collect(Collectors.toList()); String key = entry.getKey(); if (treeFields.contains(entry.getKey())) { @@ -232,7 +339,7 @@ public class LawsBasicInfoServiceImpl extends ServiceImpl sysDictItems, Map.Entry entry, String cut, List fieldList,String flag) { + private void dictItem(List sysDictItems, Map.Entry entry, String cut, List fieldList,String flag) { //通过dictField判断字段是否为下拉选(不为空则为下拉选) List lawsTagFieldList = fieldList.stream().filter(field -> entry.getKey().equals(field.getDbFieldName())).collect(Collectors.toList()); @@ -433,18 +540,7 @@ public class LawsBasicInfoServiceImpl extends ServiceImpl getFieldList(String flag) { - List fieldList = new java.util.ArrayList<>(); - if (FileTableIdEnum.DOMESTIC_REGULATIONS.getValue().equals(flag)) { - // 国内法规 - fieldList = lawsTagMapper.getFieldList(FileTableIdEnum.DOMESTIC_REGULATIONS.getTableName()); - } else if (FileTableIdEnum.FOREIGN_REGULATIONS.getValue().equals(flag)) { - // 国外法规 - fieldList = lawsTagMapper.getFieldList(FileTableIdEnum.FOREIGN_REGULATIONS.getTableName()); - } else if (FileTableIdEnum.ENTERPRISE_STANDARDS.getValue().equals(flag)) { - // 企业标准 - fieldList = lawsTagMapper.getFieldList(FileTableIdEnum.ENTERPRISE_STANDARDS.getTableName()); - } - return fieldList; + return lawsTagMapper.getFieldList(FileTableIdEnum.getTableName(flag)); } /**