From 77c7c8237b9241073e439bd5082503c5a7f71c44 Mon Sep 17 00:00:00 2001 From: sunjianxi <839419401@qq.com> Date: Tue, 24 Dec 2024 10:09:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/LargeScreenController.java | 120 ++++++++++++++++++ .../mapper/MaintenanceTaskMapper.java | 6 + .../business/mapper/MaintenanceTaskMapper.xml | 33 +++++ .../business/mapper/WorkOrderMapper.java | 14 ++ .../business/mapper/WorkOrderMapper.xml | 88 +++++++++++++ .../pojo/vo/workorder/WorkOrderVO.java | 10 ++ .../service/IMaintenanceTaskService.java | 5 + .../business/service/IWorkOrderService.java | 12 ++ .../impl/MaintenanceTaskServiceImpl.java | 10 ++ .../service/impl/WorkOrderServiceImpl.java | 34 +++++ 10 files changed, 332 insertions(+) create mode 100644 src/main/java/org/springblade/modules/business/contraller/LargeScreenController.java diff --git a/src/main/java/org/springblade/modules/business/contraller/LargeScreenController.java b/src/main/java/org/springblade/modules/business/contraller/LargeScreenController.java new file mode 100644 index 0000000..876f562 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/contraller/LargeScreenController.java @@ -0,0 +1,120 @@ +package org.springblade.modules.business.contraller; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.time.DateFormatUtils; +import org.apache.commons.lang3.StringUtils; +import org.springblade.common.constant.CommonConstant; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.mp.base.BaseEntity; +import org.springblade.core.tool.api.R; +import org.springblade.modules.business.pojo.entity.workorder.WorkOrderLog; +import org.springblade.modules.business.service.IMaintenanceTaskService; +import org.springblade.modules.business.service.IWorkOrderLogService; +import org.springblade.modules.business.service.IWorkOrderService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.List; +import java.util.Map; + +/** + * 大屏 控制器 + * + * @author BladeX + * @since 2024-10-14 + */ +@Slf4j +@RestController +@AllArgsConstructor +@RequestMapping(CommonConstant.APPLICATION_PROJECT + "/large-screen") +public class LargeScreenController extends BladeController { + + private final IWorkOrderService workOrderService; + private final IMaintenanceTaskService maintenanceTaskService; + + /** + * 故障设备TOP5 + */ + @GetMapping("/select-fault-equip-top5") + public R>> selectFaultEquipTop5() { + List> list = workOrderService.selectFaultEquipTop5(); + return R.data(list); + } + + + /** + * 设备概况 + */ + @GetMapping("/select-equip-overview") + public R>> selectEquipOverview() { + List> list = workOrderService.selectEquipOverview(); + return R.data(list); + } + + /** + * 设备维修数量统计 + */ + @GetMapping("/select-equip-repair-count") + public R>> selectEquipRepairCount() { + List> list = workOrderService.selectEquipRepairCount(); + return R.data(list); + } + + /** + * 设备维保数量统计 + */ + @GetMapping("/select-maintenance-task-count") + public R>> selectMaintenanceTaskCount() { + List> list = maintenanceTaskService.selectMaintenanceTaskCount(); + return R.data(list); + } + + + /** + * 当年每个月设备维修数量 + */ + @GetMapping("/select-equip-repair-count-by-month") + public R>> selectEquipRepairCountByMonth(String deviceId) { + List> list = workOrderService.selectEquipRepairCountByMonth(deviceId); + return R.data(list); + } + + /** + * 平均故障响应时间 + */ + @GetMapping("/select-average-fault-response-time") + public R selectAverageFaultResponseTime(String month) { + if(StringUtils.isEmpty(month)){ + month = DateFormatUtils.format(new Date(),"yyyy-MM"); + } + Integer duration = workOrderService.selectAverageFaultResponseTime(month); + return R.data(duration); + } + + /** + * 平均故障修复时间 + */ + @GetMapping("/select-average-fault-repair-time") + public R selectAverageFaultRepairTime(String month) { + if(StringUtils.isEmpty(month)){ + month = DateFormatUtils.format(new Date(),"yyyy-MM"); + } + Integer duration = workOrderService.selectAverageFaultRepairTime(month); + return R.data(duration); + } + + /** + * 巡检任务状态统计 + */ + @GetMapping("/select-maintenance-task-status") + public R>> selectMaintenanceTaskStatus(String startTimeBegin,String startTimeEnd) { + List> list = maintenanceTaskService.selectMaintenanceTaskStatus(startTimeBegin,startTimeEnd); + return R.data(list); + } + + +} diff --git a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java index 462282e..2899631 100644 --- a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java @@ -7,6 +7,7 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; import java.util.List; +import java.util.Map; /** * 维保任务 Mapper 接口 @@ -17,4 +18,9 @@ import java.util.List; public interface MaintenanceTaskMapper extends BaseMapper { List limsTaskList(@Param("deptId") String deptId); + + + List> selectMaintenanceTaskCount(); + + List> selectMaintenanceTaskStatus(@Param("startTimeBegin")String startTimeBegin,@Param("startTimeEnd")String startTimeEnd); } diff --git a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml index 1b6648f..419cbde 100644 --- a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml @@ -28,4 +28,37 @@ AND b.dept_id = #{deptId} + + + + diff --git a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java index 5228e02..2a786a9 100644 --- a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java @@ -11,6 +11,7 @@ import org.springblade.modules.business.pojo.vo.PieStatVO; import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO; import java.util.List; +import java.util.Map; /** * 工单表 Mapper 接口 @@ -40,5 +41,18 @@ public interface WorkOrderMapper extends BaseMapper { List selectDeptCount(String startTime, String endTime); + List> selectFaultEquipTop5(); + + List> selectEquipOverview(); + + List> selectEquipRepairCount(); + + List> selectEquipRepairCountByMonth(@Param("deviceId")String deviceId); + + Integer selectAverageFaultResponseTime(@Param("month")String month); + + Integer selectAverageFaultRepairTime(@Param("month")String month); + + } diff --git a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml index 28386e6..a125fca 100644 --- a/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml +++ b/src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml @@ -28,4 +28,92 @@ b.dept_name + + + + + + + + + + + diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/workorder/WorkOrderVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/workorder/WorkOrderVO.java index 391f429..3eb9b61 100644 --- a/src/main/java/org/springblade/modules/business/pojo/vo/workorder/WorkOrderVO.java +++ b/src/main/java/org/springblade/modules/business/pojo/vo/workorder/WorkOrderVO.java @@ -43,8 +43,18 @@ public class WorkOrderVO extends WorkOrder { */ private String repairPersonName; + /** + * 维修人员电话 + */ + private String repairPersonPhone; + /** * 审批人 */ private String approvePersonName; + + /** + * 提交用户地址 + */ + private String address; } diff --git a/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java b/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java index b40a690..78e49a4 100644 --- a/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java +++ b/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java @@ -11,6 +11,7 @@ import org.springframework.http.ResponseEntity; import java.io.IOException; import java.util.List; +import java.util.Map; /** * 维保任务 服务类 @@ -39,4 +40,8 @@ public interface IMaintenanceTaskService extends BaseService { MaintenanceTask repairDetail(Long taskId); void taskDetailConfiguration(Long taskId, HttpServletResponse httpServletResponse) throws IOException; + + public List> selectMaintenanceTaskCount(); + + public List> selectMaintenanceTaskStatus(String startTimeBegin,String startTimeEnd); } diff --git a/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java b/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java index c299d69..ef4d1c0 100644 --- a/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java +++ b/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java @@ -7,6 +7,7 @@ import org.springblade.modules.business.pojo.vo.PieStatVO; import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO; import java.util.List; +import java.util.Map; /** * 工单表 服务类 @@ -82,4 +83,15 @@ public interface IWorkOrderService extends BaseService { public void repairPlanRefuse(WorkOrder workOrder); public void repairPlanSubmit(WorkOrder workOrder); + + public List> selectFaultEquipTop5(); + + public List> selectEquipOverview(); + + public List> selectEquipRepairCount(); + + public List> selectEquipRepairCountByMonth(String deviceId); + public Integer selectAverageFaultResponseTime(String month); + + public Integer selectAverageFaultRepairTime(String month); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java index a6a5214..071671b 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.java @@ -141,5 +141,15 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl> selectMaintenanceTaskCount() { + return baseMapper.selectMaintenanceTaskCount(); + } + + @Override + public List> selectMaintenanceTaskStatus(String startTimeBegin, String startTimeEnd) { + return baseMapper.selectMaintenanceTaskStatus(startTimeBegin,startTimeEnd); + } + } diff --git a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java index d3a2b34..d71e72f 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java @@ -91,9 +91,13 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> selectFaultEquipTop5() { + return baseMapper.selectFaultEquipTop5(); + } + + @Override + public List> selectEquipOverview() { + return baseMapper.selectEquipOverview(); + } + + @Override + public List> selectEquipRepairCount() { + return baseMapper.selectEquipRepairCount(); + } + + @Override + public List> selectEquipRepairCountByMonth(String deviceId) { + return baseMapper.selectEquipRepairCountByMonth(deviceId); + } + + @Override + public Integer selectAverageFaultResponseTime(String month) { + return baseMapper.selectAverageFaultResponseTime(month); + } + + @Override + public Integer selectAverageFaultRepairTime(String month) { + return baseMapper.selectAverageFaultRepairTime(month); + } + @Transactional(rollbackFor = Exception.class) @Override public void repairPlanRefuse(WorkOrder workOrder) {