From 4d1b8c784d8e10d4edf8ed1be507e9ab35c54f4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Tue, 1 Apr 2025 18:49:42 +0800 Subject: [PATCH] =?UTF-8?q?refactor(ticket):=20=E4=BC=98=E5=8C=96=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=92=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -调整 AdminTicketReportVO 和 AdminTicketVO 结构,优化字段顺序和注解 - 修改 DeviceMapper.xml 中的 SQL 查询,增加排序和限制条件 - 优化 DeviceServiceImpl 中的 getByDeviceNo 方法,增加空值检查 -调整 TicketController 中的工单处理逻辑,移除冗余代码 - 修改 TicketSolutionServiceImpl 中的解决方案创建逻辑,增加备注字段 - 优化 TiketController 中的设备信息获取,增加空值检查 --- .../admin/controller/TicketController.java | 15 ++++++------- .../cfs/controller/TiketController.java | 2 +- .../common/pojo/vo/AdminTicketReportVO.java | 21 ++++++++++++++----- .../common/pojo/vo/AdminTicketVO.java | 1 + .../service/impl/DeviceServiceImpl.java | 7 ++++--- .../impl/TicketSolutionServiceImpl.java | 4 +++- .../main/resources/mapper/DeviceMapper.xml | 21 +++++++++++++------ 7 files changed, 48 insertions(+), 23 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java index 0f3f1aa6..5c7c3191 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/TicketController.java @@ -574,12 +574,13 @@ public class TicketController extends ControllerBase { DictionaryItem warrantyState = dictionaryItemService.getById(device.getWarrantyState()); warrantyStateDesc = warrantyState.getName(); } - String handle = ticket.getHandle(); - List handleIds= Arrays.stream(handle.split(",")).map(Integer::parseInt).collect(Collectors.toList()); - if (StrUtil.isNotBlank(handle)) { - List adminUsers = adminUserService.listByIds(handleIds); - handle = adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.joining(",")); - } +// String handle = ticket.getHandle(); +// List handleIds= Arrays.stream(handle.split(",")).map(Integer::parseInt).collect(Collectors.toList()); +// if (StrUtil.isNotBlank(handle)) { +// List adminUsers = adminUserService.listByIds(handleIds); +// handle = adminUsers.stream().map(AdminUser::getUserName).collect(Collectors.joining(",")); +// } + List handleIds=StrUtil.split(ticket.getHandle(),",").stream().map(Integer::parseInt).collect(Collectors.toList()); List cqms=adminUserService.getCQMIds(); TicketInfoVO vo = new TicketInfoVO() .setId(ticket.getId()) @@ -610,7 +611,7 @@ public class TicketController extends ControllerBase { .setCreateTime(ticket.getCreateTime()) .setAreaName(areaName) .setCompanyName(device.getCustomerName()) - .setHandle(handle) + .setHandle(ticket.getHandleName()) .setSolution(ticket.getReason()) .setAccidentLevel(ticket.getAccidentLevel()) .setUserIsHandle(handleIds.contains(AdminUserUtil.getUserId())) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java index 6e4d4290..80b594bd 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/TiketController.java @@ -207,7 +207,7 @@ public class TiketController extends ControllerBase { .setTitle(ticket.getTitle()) .setDeviceNo(ticket.getDeviceNo()) .setDeviceAddress(ticket.getDeviceAddress()) - .setModelNo(device.getModelNo()) + .setModelNo(Objects.nonNull(device)?device.getModelNo():"已删除") .setComponent(ticket.getComponent()) .setUseTime(ticket.getUseTime()) .setDescription(ticket.getDescription()) diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketReportVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketReportVO.java index cac38f4b..f54ef569 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketReportVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketReportVO.java @@ -8,6 +8,7 @@ import lombok.Data; import org.ttzero.excel.annotation.ExcelColumn; import org.ttzero.excel.annotation.IgnoreExport; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.temporal.ChronoUnit; import java.util.Objects; @@ -31,38 +32,45 @@ public class AdminTicketReportVO { //紧急程度 @ExcelColumn("紧急程度") private String urgencyDesc; + //设备编号 @ExcelColumn("设备编号") private String deviceNo; + //设备类型 @ExcelColumn("设备类型") private String deviceType; + //使用时长 @ExcelColumn("使用时长(小时)") private Integer useTime; + //代理商 @ExcelColumn("代理商") private String agentName; + //客户 @ExcelColumn("客户") private String customerName; + //提交时间 @ExcelColumn("提交时间") - private LocalDateTime createTime; + private LocalDate createTime; + //根本原因分析 @IgnoreExport private String reason; - //根本原因分析 - @ExcelColumn("根本原因分析") - private String reason1; + //工单状态 @JsonIgnore @IgnoreExport private Byte state; + //处理完成时间 @JsonIgnore @IgnoreExport private LocalDateTime completeTime; + //处理时长 @ExcelColumn("处理时长") private Long processingTime; @@ -81,10 +89,13 @@ public class AdminTicketReportVO { public String getReason1() { return reason; } + //根本原因分析 + @ExcelColumn("根本原因分析") + private String reason1; public Long getProcessingTime() { if (TicketState.Processing.getState().compareTo(state)>=0){ - return ChronoUnit.DAYS.between(createTime.toLocalDate(),LocalDateTime.now().toLocalDate())+1; + return ChronoUnit.DAYS.between(createTime,LocalDateTime.now().toLocalDate())+1; } if (TicketState.Closed.getState().compareTo(state)>=0) { return ChronoUnit.DAYS.between(completeTime, LocalDateTime.now()) + 1; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java index 1be5c8f1..8da9e2b6 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AdminTicketVO.java @@ -63,6 +63,7 @@ public class AdminTicketVO { } //根本原因分析 + @JsonIgnore @ExcelColumn("根本原因分析") private String reason1; diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DeviceServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DeviceServiceImpl.java index bf439b0d..7e592fea 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DeviceServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DeviceServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Objects; +import java.util.Optional; /** *

@@ -31,11 +32,11 @@ public class DeviceServiceImpl extends ServiceImpl impleme @Override public DeviceInfoVO getByDeviceNo(String deviceNo) { - DeviceInfoVO vo=baseMapper.getByDeviceNo(deviceNo); - if (Objects.nonNull(vo.getComponentId())){ + DeviceInfoVO vo = baseMapper.getByDeviceNo(deviceNo); + if (Objects.nonNull(vo) && Objects.nonNull(vo.getComponentId())) { vo.setComponents(baseMapper.getComponents(vo.getComponentId(), MultilingualUtil.getLanguage())); } - return vo; + return Optional.ofNullable(vo).orElse(new DeviceInfoVO()); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java index ab34908e..18dc2168 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketSolutionServiceImpl.java @@ -134,13 +134,15 @@ public class TicketSolutionServiceImpl extends ServiceImpl