From 89c108ec06b286fdcbeb058308965623a70f5865 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 30 Nov 2023 19:11:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BD=93=E7=B3=BB=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=96=B0=E6=8E=92=E5=BA=8F=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/StandCategoryEnum.java | 85 ------------------- .../entity/StandCategorySortUtil.java | 48 +++++++++++ .../SarMenuStandardNewServiceNewImpl.java | 15 +++- .../SarBussionessStandMapper.xml | 21 +---- .../tsDictionaryType/TsDicTypeMapper.xml | 3 +- 5 files changed, 63 insertions(+), 109 deletions(-) delete mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategorySortUtil.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java deleted file mode 100644 index ce8c946d..00000000 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategoryEnum.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.adc.da.slrs.sarMenuStandard.entity; - -import com.adc.da.exception.AdcDaBaseException; - -/** - * @author: Mzaxd - * @Date: 2023/11/15 17:36 - */ -public enum StandCategoryEnum { - // INLAND 类型的枚举实例 - INLAND_GB("INLAND", "GB", 0), - INLAND_GBT("INLAND", "GB/T", 1), - INLAND_QCT("INLAND", "QC/T", 2), - INLAND_JT("INLAND", "JT", 3), - INLAND_JB("INLAND", "JB", 4), - INLAND_GA("INLAND", "GA", 5), - INLAND_GJB("INLAND", "GJB", 6), - INLAND_HJ("INLAND", "HJ", 7), - - // FOREIGN 类型的枚举实例 - FOREIGN_ECE("FOREIGN", "ECE", 0), - FOREIGN_EU("FOREIGN", "EU", 1), - FOREIGN_EC("FOREIGN", "EC", 2), - FOREIGN_EEC("FOREIGN", "EEC", 3), - FOREIGN_ISO("FOREIGN", "ISO", 4), - FOREIGN_IEC("FOREIGN", "IEC", 5), - FOREIGN_GTR("FOREIGN", "GTR", 6), - FOREIGN_CFR("FOREIGN", "CFR", 7), - FOREIGN_JASO("FOREIGN", "JASO", 8), - FOREIGN_JIS("FOREIGN", "JIS", 9), - FOREIGN_GSO("FOREIGN", "GSO", 10), - FOREIGN_GOST("FOREIGN", "GOST", 11), - FOREIGN_ΓOCT("FOREIGN", "ΓOCT", 12), - FOREIGN_TP("FOREIGN", "TP", 13), - FOREIGN_SASO("FOREIGN", "SASO", 14), - FOREIGN_UAE("FOREIGN", "UAE", 15), - FOREIGN_CONTRAN("FOREIGN", "CONTRAN", 16), - FOREIGN_DENATRAN("FOREIGN", "DENATRAN", 17), - FOREIGN_ABNT_NBR("FOREIGN", "ABNT NBR", 18), - FOREIGN_NBR("FOREIGN", "NBR", 19), - FOREIGN_INMETRO("FOREIGN", "INMETRO", 20), - FOREIGN_CONAMA("FOREIGN", "CONAMA", 21), - FOREIGN_Normative_Instruction("FOREIGN", "Normative Instruction", 22), - FOREIGN_ADR("FOREIGN", "ADR", 23), - ; - - private final String standType; - private final String standSort; - private final int sortValue; - - StandCategoryEnum(String standType, String standSort, int sortValue) { - this.standType = standType; - this.standSort = standSort; - this.sortValue = sortValue; - } - - // 根据 standSort 返回 value 的静态方法 - public static int getSortByStandType(String standType, String standSort) { - for (StandCategoryEnum category : StandCategoryEnum.values()) { - if (category.getStandType().equals(standType) && category.getStandSort().equals(standSort)) { - return category.getSortValue(); - } - // 给国标 外标默认值 - if (category.getStandType().equals("INLAND")) { - return 8; - } else if (category.getStandType().equals("FOREIGN")) { - return 24; - } - } - throw new AdcDaBaseException("标准类型错误"); - } - - // Getter 方法 - public String getStandType() { - return standType; - } - - public String getStandSort() { - return standSort; - } - - public int getSortValue() { - return sortValue; - } -} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategorySortUtil.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategorySortUtil.java new file mode 100644 index 00000000..12a5e4ac --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/entity/StandCategorySortUtil.java @@ -0,0 +1,48 @@ +package com.adc.da.slrs.sarMenuStandard.entity; + + +import com.adc.da.slrs.tsDictionaryType.entity.TsDicType; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author: Mzaxd + * @Date: 2023/11/15 17:36 + */ +@Component +public class StandCategorySortUtil { + + // 构造器 + public static Integer getSortByStandType(List gbSortDictList, + List fbSortDictList, + List esSortDictList, + String standType, String standSort) { + switch (standType) { + case "INLAND": + for (TsDicType gbSortDict : gbSortDictList) { + if (gbSortDict.getDicTypeName().equals(standSort)) { + return gbSortDict.getShowIndex().intValue(); + } + } + break; + case "FOREIGN": + for (TsDicType fbSortDict : fbSortDictList) { + if (fbSortDict.getDicTypeName().equals(standSort)) { + return fbSortDict.getShowIndex().intValue(); + } + } + break; + case "ENTERPRISE": + for (TsDicType esSortDict : esSortDictList) { + if (esSortDict.getDicTypeName().equals(standSort)) { + return esSortDict.getShowIndex().intValue(); + } + } + break; + default: + break; + } + return 0; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java index 4c7e5156..fe74cbb5 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarMenuStandard/service/impl/SarMenuStandardNewServiceNewImpl.java @@ -14,7 +14,7 @@ import com.adc.da.slrs.sarBussionessStand.dao.SarBussionessStandDao; import com.adc.da.slrs.sarLawsTopic.entity.SarLawsTopicVO; import com.adc.da.slrs.sarMenuStandard.dao.SarMenuStandardNewDao; import com.adc.da.slrs.sarMenuStandard.entity.SarMenuStandardNew; -import com.adc.da.slrs.sarMenuStandard.entity.StandCategoryEnum; +import com.adc.da.slrs.sarMenuStandard.entity.StandCategorySortUtil; import com.adc.da.slrs.sarMenuStandard.entity.StandSystemDTO; import com.adc.da.slrs.sarMenuStandard.service.ISarMenuStandardNewService; import com.adc.da.slrs.sarResource.dao.TsResourceDao; @@ -282,11 +282,20 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl esStateDictList = dicItemService.selectAllDicTypeNameByDicCode("TEXTSTATUSBUSS"); + // 国标排序字典 + List gbSortDictList = dicItemService.selectAllDicTypeNameByDicCode("ES_INLAND"); + // 外标排序字典 + List fbSortDictList = dicItemService.selectAllDicTypeNameByDicCode("ES_FOREIGN"); + // 企标排序字典 + List esSortDictList = dicItemService.selectAllDicTypeNameByDicCode("ES_BUSS"); + // 构造体系路径 && 设置标准内部类别排序号 && 翻译 for (StandSystemDTO dto : resultList) { String fullPath = pathMap.get(dto.getMenuId()); dto.setStandSystem(fullPath); - dto.setStandCategorySort(StandCategoryEnum.getSortByStandType(dto.getDataSource(), dto.getStandSort())); + dto.setStandCategorySort(StandCategorySortUtil.getSortByStandType( + gbSortDictList, fbSortDictList, esSortDictList, dto.getDataSource(), dto.getStandSort()) + ); // 设置体系排序号 SarMenuStandard node = SarMenuStandard.findNodeById(targetNode, dto.getMenuId()); dto.setSystemSort(node.getSystemSort()); @@ -418,7 +427,7 @@ public class SarMenuStandardNewServiceNewImpl extends ServiceImpl menuUpdateWrapper = new LambdaUpdateWrapper<>(); menuUpdateWrapper.eq(SarMenuStandard::getId, menuId); diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml index 146ae22f..4b4e1d5c 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarBussionessStand/SarBussionessStandMapper.xml @@ -1287,26 +1287,7 @@ 'ENTERPRISE' AS dataSource, sms.ID AS menuId, 3 AS standTypeSort, - CASE - when es.stand_code like concat('%', 'Q/FT A', '%') THEN 0 - when es.stand_code like concat('%', 'Q/FT B', '%') THEN 1 - when es.stand_code like concat('%', 'Q/FT E', '%') THEN 2 - when es.stand_code like concat('%', 'Q/FT F', '%') THEN 3 - when es.stand_code like concat('%', 'Q/FT G', '%') THEN 4 - when es.stand_code like concat('%', 'Q/FT M', '%') THEN 5 - when es.stand_code like concat('%', 'Q/FT Q', '%') THEN 6 - when es.stand_code like concat('%', 'Q/FT R', '%') THEN 7 - when es.stand_code like concat('%', 'Q/FT S', '%') THEN 8 - when es.stand_code like concat('%', 'Q/FT T', '%') THEN 9 - when es.stand_code like concat('%', 'Q/FT V', '%') THEN 10 - when es.stand_code like concat('%', 'Q/FT X', '%') THEN 11 - when es.stand_code like concat('%', 'Q/FT Y', '%') THEN 12 - when es.stand_code like concat('%', 'Q/FT Z', '%') THEN 13 - when es.stand_code like concat('%', 'Q/QCBFC', '%') THEN 14 - when es.stand_code like concat('%', '雷萨企标Q/FL', '%') THEN 15 - when es.stand_code like concat('%', 'Q/QCFLC', '%') THEN 16 - ELSE 17 - END AS standCategorySort + stand_sort AS standSort FROM `sar_bussioness_stand` AS es LEFT JOIN `sar_buss_stand_attr_info` AS esa ON es.ID = esa.STAND_ID diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/tsDictionaryType/TsDicTypeMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/tsDictionaryType/TsDicTypeMapper.xml index 916d5ba1..287122c2 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/tsDictionaryType/TsDicTypeMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/tsDictionaryType/TsDicTypeMapper.xml @@ -17,6 +17,7 @@ +