From 5ae19a8847f402eb13a05296e70f5991a14a0ab7 Mon Sep 17 00:00:00 2001 From: liangdaliang Date: Wed, 23 Apr 2025 14:52:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=BA=E9=99=B7=E7=AE=A1=E7=90=86BUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/common/enums/EnumDefectStatus.java | 50 +++++++++++++++++++ .../test/common/enums/EnumSeverityLevel.java | 49 ++++++++++++++++++ .../test/controller/TestDefectController.java | 10 ++++ .../java/com/test/test/domain/TestDefect.java | 2 +- test-ui/src/views/test/bug/index.vue | 7 +-- 5 files changed, 114 insertions(+), 4 deletions(-) create mode 100644 test-common/src/main/java/com/test/common/enums/EnumDefectStatus.java create mode 100644 test-common/src/main/java/com/test/common/enums/EnumSeverityLevel.java diff --git a/test-common/src/main/java/com/test/common/enums/EnumDefectStatus.java b/test-common/src/main/java/com/test/common/enums/EnumDefectStatus.java new file mode 100644 index 0000000..7f6f688 --- /dev/null +++ b/test-common/src/main/java/com/test/common/enums/EnumDefectStatus.java @@ -0,0 +1,50 @@ +package com.test.common.enums; + +/** + * @author liangdaliang + * @Description:缺陷状态枚举 + * @date 2025-04-23 13:59 + */ +public enum EnumDefectStatus { + PENDING_CONFIRMATION("0", "待确认"), + UNDER_REPAIR("1", "修复中"), + COMPLETED("2", "已完成"), + INVALID_DEFECT("3", "无效缺陷"), + SUSPENDED("4", "挂起"), + PENDING_VERIFICATION("5", "待验证"); + + private final String code; + private final String description; + + EnumDefectStatus(String code, String description) { + this.code = code; + this.description = description; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + /** + * 根据状态码获取对应的枚举值 + */ + public static EnumDefectStatus fromCode(String code) { + for (EnumDefectStatus status : values()) { + if (status.code.equals(code)) { + return status; + } + } + throw new IllegalArgumentException("无效的状态码: " + code); + } + + /** + * 根据状态码获取中文描述(可选) + */ + public static String getDescriptionByCode(String code) { + return fromCode(code).getDescription(); + } +} diff --git a/test-common/src/main/java/com/test/common/enums/EnumSeverityLevel.java b/test-common/src/main/java/com/test/common/enums/EnumSeverityLevel.java new file mode 100644 index 0000000..b2ca72c --- /dev/null +++ b/test-common/src/main/java/com/test/common/enums/EnumSeverityLevel.java @@ -0,0 +1,49 @@ +package com.test.common.enums; + +/** + * @author liangdaliang + * @Description:缺陷严重程度枚举 + * @date 2025-04-23 14:06 + */ +public enum EnumSeverityLevel { + INVALID("0", "无效"), + MINOR("1", "轻微"), + MODERATE("2", "一般"), + SEVERE("3", "严重"), + CRITICAL("4", "致命"); + + private final String code; + private final String description; + + EnumSeverityLevel(String code, String description) { + this.code = code; + this.description = description; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + /** + * 根据严重程度码获取枚举实例 + */ + public static EnumSeverityLevel fromCode(String code) { + for (EnumSeverityLevel level : values()) { + if (level.code.equals(code)) { + return level; + } + } + throw new IllegalArgumentException("无效的严重程度码: " + code); + } + + /** + * 根据状态码直接获取中文描述 + */ + public static String getDescriptionByCode(String code) { + return fromCode(code).getDescription(); + } +} diff --git a/test-test/src/main/java/com/test/test/controller/TestDefectController.java b/test-test/src/main/java/com/test/test/controller/TestDefectController.java index bb45d30..f0c80b3 100644 --- a/test-test/src/main/java/com/test/test/controller/TestDefectController.java +++ b/test-test/src/main/java/com/test/test/controller/TestDefectController.java @@ -5,6 +5,8 @@ import com.test.common.core.controller.BaseController; import com.test.common.core.domain.AjaxResult; import com.test.common.core.page.TableDataInfo; import com.test.common.enums.BusinessType; +import com.test.common.enums.EnumDefectStatus; +import com.test.common.enums.EnumSeverityLevel; import com.test.common.utils.poi.ExcelUtil; import com.test.test.domain.TestDefect; import com.test.test.domain.qo.IDQO; @@ -49,6 +51,10 @@ public class TestDefectController extends BaseController public void export(HttpServletResponse response, @RequestBody TestDefectListQO qo) { List list = testDefectService.selectTestDefectList(qo); + for (TestDefect testDefect : list) { + testDefect.setStatus(EnumDefectStatus.getDescriptionByCode(testDefect.getStatus())); + testDefect.setLevel(EnumSeverityLevel.getDescriptionByCode(testDefect.getLevel())); + } ExcelUtil util = new ExcelUtil(TestDefect.class); util.exportExcel(response, list, "缺陷数据"); } @@ -61,6 +67,10 @@ public class TestDefectController extends BaseController public void batchExport(HttpServletResponse response, @RequestBody List list) { ExcelUtil util = new ExcelUtil(TestDefect.class); + for (TestDefect testDefect : list) { + testDefect.setStatus(EnumDefectStatus.getDescriptionByCode(testDefect.getStatus())); + testDefect.setLevel(EnumSeverityLevel.getDescriptionByCode(testDefect.getLevel())); + } util.exportExcel(response, list, "缺陷数据"); } diff --git a/test-test/src/main/java/com/test/test/domain/TestDefect.java b/test-test/src/main/java/com/test/test/domain/TestDefect.java index 3641cd0..1f24f71 100644 --- a/test-test/src/main/java/com/test/test/domain/TestDefect.java +++ b/test-test/src/main/java/com/test/test/domain/TestDefect.java @@ -19,7 +19,7 @@ public class TestDefect extends BaseEntity private Long id; /** 测试缺陷编码 */ - @Excel(name = "缺陷编码") + @Excel(name = "缺陷ID") private String serialNumber; /** 测试缺陷名称 */ diff --git a/test-ui/src/views/test/bug/index.vue b/test-ui/src/views/test/bug/index.vue index d2e9a2a..41dac41 100644 --- a/test-ui/src/views/test/bug/index.vue +++ b/test-ui/src/views/test/bug/index.vue @@ -68,13 +68,13 @@ -