From 6a7c09303a156b5fa675b7954751c1176cd567e3 Mon Sep 17 00:00:00 2001 From: litao Date: Tue, 26 Nov 2024 20:39:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../contraller/WorkBenchesController.java | 488 +++++++++--------- .../mapper/MaintenanceTaskMapper.java | 5 + .../business/mapper/MaintenanceTaskMapper.xml | 31 ++ .../business/pojo/vo/MaintenanceTaskVO.java | 43 ++ .../service/IMaintenanceTaskService.java | 4 + .../impl/MaintenanceTaskServiceImpl.java | 7 + 6 files changed, 338 insertions(+), 240 deletions(-) create mode 100644 src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml create mode 100644 src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskVO.java diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java index 102fb0c..4d1ccb8 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java @@ -1,12 +1,27 @@ package org.springblade.modules.business.contraller; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.CollectionUtil; +import org.springblade.modules.business.pojo.entity.Device; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenancePlan; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; +import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTaskDetail; +import org.springblade.modules.business.pojo.entity.workorder.WorkOrder; +import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; +import org.springblade.modules.business.service.IDeviceService; +import org.springblade.modules.business.service.IMaintenancePlanService; +import org.springblade.modules.business.service.IMaintenanceTaskService; +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.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -23,257 +38,250 @@ import java.util.Map; @RequestMapping("/workBenches") public class WorkBenchesController extends BladeController { - /** - * 工作台 - */ - @GetMapping("/overview") - public R>> overview() { - List> list = new ArrayList<>(); - Map map1 = new HashMap<>(); - map1.put("name", "实验室巡检"); - map1.put("num", 10); - list.add(map1); - Map map2 = new HashMap<>(); - map2.put("name", "报送记录"); - map2.put("num", 8); - list.add(map2); - Map map3 = new HashMap<>(); - map3.put("name", "设备报警"); - map3.put("num", 16); - list.add(map3); - return R.data(list); - } + private final IMaintenancePlanService maintenancePlanService; + private final IMaintenanceTaskService maintenanceTaskService; + private final IWorkOrderService workOrderService; + private final IDeviceService deviceService; - /** - * 实验室巡检列表 - */ - @GetMapping("/workList") - public R>> workList() { - List> list = new ArrayList<>(); - Map map1 = new HashMap<>(); - map1.put("inspectionName", "水系统检查"); - map1.put("inspectionTime", "2024-11-11"); - map1.put("inspectionPerson", "张三"); - map1.put("isStart", "0"); - map1.put("appointTime", "2024-11-15"); - map1.put("taskType", "1"); - list.add(map1); - Map map2 = new HashMap<>(); - map2.put("inspectionName", "设备检查"); - map2.put("inspectionTime", "2024-11-11"); - map2.put("inspectionPerson", "李四"); - map2.put("isStart", "1"); - map2.put("appointTime", "2024-11-15"); - map2.put("taskType", "2"); - list.add(map2); - return R.data(list); - } + /** + * 工作台 + */ + @GetMapping("/overview") + public R>> overview() { + List> list = new ArrayList<>(); + // 实验室巡检数量 + Map map1 = new HashMap<>(); + map1.put("name", "实验室巡检"); + map1.put("num", maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class))); + list.add(map1); + // 报送记录数量 + Map map2 = new HashMap<>(); + map2.put("name", "报送记录"); + map2.put("num", workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).ne(WorkOrder::getStatus, -1))); + list.add(map2); + // 设备报警数量 + Map map3 = new HashMap<>(); + map3.put("name", "设备报警"); + map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2))); + list.add(map3); + return R.data(list); + } - /** - * 设备报警列表 - */ - @GetMapping("/deviceList") - public R>> deviceList() { - List> list = new ArrayList<>(); - Map map1 = new HashMap<>(); - map1.put("alarmLevel", "1"); - map1.put("deviceName", "2024-11-11"); - map1.put("brand", "品牌A"); - map1.put("model", "GDXH-12582"); - map1.put("alarmTime", "2024-11-15"); - list.add(map1); - Map map2 = new HashMap<>(); - map2.put("alarmLevel", "2"); - map2.put("deviceName", "2024-11-11"); - map2.put("brand", "品牌B"); - map2.put("model", "GDXH-88542"); - map2.put("alarmTime", "2024-11-08"); - list.add(map2); - return R.data(list); - } + /** + * 实验室巡检列表 + */ + @GetMapping("/workList") + public R> workList() { + List tasks = maintenanceTaskService.limsTaskList(AuthUtil.getDeptId()); + return R.data(tasks); + } - /** - * 维修统计 - */ - @GetMapping("/upkeepStat") - public R> upkeepStat(String startTime, String endTime) { - Map map = new HashMap<>(); - List xData = new ArrayList<>(); - xData.add("报送维修"); - xData.add("巡检维修"); - map.put("xData", xData); - List total = new ArrayList<>(); - total.add(10); - total.add(20); - map.put("total", total); - List completed = new ArrayList<>(); - completed.add(3); - completed.add(12); - map.put("completed", completed); - List unCompleted = new ArrayList<>(); - unCompleted.add(7); - unCompleted.add(8); - map.put("unCompleted", unCompleted); - return R.data(map); - } + /** + * 设备报警列表 + */ + @GetMapping("/deviceList") + public R>> deviceList() { + List devices = deviceService.list(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)); + List> list = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(devices)) { + devices.forEach(device -> { + Map map = new HashMap<>(); + map.put("alarmLevel", "1"); + map.put("deviceName", device.getName()); + map.put("brand", device.getSupplier()); + map.put("model", device.getModel()); + map.put("alarmTime", device.getCreateTime()); + list.add(map); + }); + } + return R.data(list); + } - /** - * 饼图数据 - */ - @GetMapping("/pieStat") - public R> pieStat(String startTime, String endTime) { - Map map = new HashMap<>(); - List> fault = new ArrayList<>(); - Map fault1 = new HashMap<>(); - fault1.put("name", "电气"); - fault1.put("value", 300); - fault.add(fault1); - Map fault2 = new HashMap<>(); - fault2.put("name", "空调"); - fault2.put("value", 248); - fault.add(fault2); - Map fault3 = new HashMap<>(); - fault3.put("name", "装修类"); - fault3.put("value", 135); - fault.add(fault3); - Map fault4 = new HashMap<>(); - fault4.put("name", "智能设备"); - fault4.put("value", 180); - fault.add(fault4); - Map fault5 = new HashMap<>(); - fault5.put("name", "暖通、自控"); - fault5.put("value", 654); - fault.add(fault5); - map.put("fault", fault); + /** + * 维修统计 + */ + @GetMapping("/upkeepStat") + public R> upkeepStat(String startTime, String endTime) throws ParseException { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Map map = new HashMap<>(); + List xData = new ArrayList<>(); + xData.add("报送维修"); + xData.add("巡检维修"); + map.put("xData", xData); + List workOrders = workOrderService.list(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getCreateTime, format.parse(startTime), format.parse(endTime))); + List tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).between(MaintenanceTask::getCreateTime, format.parse(startTime), format.parse(endTime))); + List total = new ArrayList<>(); + total.add(workOrders.size()); + total.add(tasks.size()); + map.put("total", total); + List completed = new ArrayList<>(); + completed.add(workOrders.stream().filter(plan -> plan.getStatus() == 8).count()); + completed.add(tasks.stream().filter(plan -> plan.getTaskStatus() == 4).count()); + map.put("completed", completed); + List unCompleted = new ArrayList<>(); + unCompleted.add(workOrders.stream().filter(plan -> plan.getStatus() != 8).count()); + unCompleted.add(tasks.stream().filter(plan -> plan.getTaskStatus() != 4).count()); + map.put("unCompleted", unCompleted); + return R.data(map); + } - List> device = new ArrayList<>(); - Map device1 = new HashMap<>(); - device1.put("name", "设备1"); - device1.put("value", 580); - device.add(device1); - Map device2 = new HashMap<>(); - device2.put("name", "空调"); - device2.put("value", 1048); - device.add(device2); - Map device3 = new HashMap<>(); - device3.put("name", "通风柜"); - device3.put("value", 735); - device.add(device3); - map.put("device", device); - return R.data(map); - } + /** + * 饼图数据 + */ + @GetMapping("/pieStat") + public R> pieStat(String startTime, String endTime) { + Map map = new HashMap<>(); + List> fault = new ArrayList<>(); + Map fault1 = new HashMap<>(); + fault1.put("name", "电气"); + fault1.put("value", 300); + fault.add(fault1); + Map fault2 = new HashMap<>(); + fault2.put("name", "空调"); + fault2.put("value", 248); + fault.add(fault2); + Map fault3 = new HashMap<>(); + fault3.put("name", "装修类"); + fault3.put("value", 135); + fault.add(fault3); + Map fault4 = new HashMap<>(); + fault4.put("name", "智能设备"); + fault4.put("value", 180); + fault.add(fault4); + Map fault5 = new HashMap<>(); + fault5.put("name", "暖通、自控"); + fault5.put("value", 654); + fault.add(fault5); + map.put("fault", fault); - /** - * 地图相关数据 - */ - @GetMapping("/mapAddress") - public R> mapAddress(String perType) { - Map map = new HashMap<>(); - List fault = new ArrayList<>(); - fault.add("120.49149829538277"); - fault.add("36.15297000628537"); - map.put("软件创新园", fault); - return R.data(map); - } + List> device = new ArrayList<>(); + Map device1 = new HashMap<>(); + device1.put("name", "设备1"); + device1.put("value", 580); + device.add(device1); + Map device2 = new HashMap<>(); + device2.put("name", "空调"); + device2.put("value", 1048); + device.add(device2); + Map device3 = new HashMap<>(); + device3.put("name", "通风柜"); + device3.put("value", 735); + device.add(device3); + map.put("device", device); + return R.data(map); + } - /** - * 实验室巡检列表 - */ - @GetMapping("/limsInspecList") - public R>> limsInspecList(String perType) { - List> list = new ArrayList<>(); - Map map1 = new HashMap<>(); - map1.put("name", "水系统检查"); - map1.put("planTime", "2024-11-11"); - list.add(map1); - Map map2 = new HashMap<>(); - map2.put("name", "设备检查"); - map2.put("planTime", "2024-11-11"); - list.add(map2); - return R.data(list); - } + /** + * 地图相关数据 + */ + @GetMapping("/mapAddress") + public R> mapAddress(String perType) { + Map map = new HashMap<>(); + List fault = new ArrayList<>(); + fault.add("120.49149829538277"); + fault.add("36.15297000628537"); + map.put("软件创新园", fault); + return R.data(map); + } - /** - * 工作台 - */ - @GetMapping("/overview1") - public R>> overview1(String perType) { - List> list = new ArrayList<>(); - Map map1 = new HashMap<>(); - Map map2 = new HashMap<>(); - Map map3 = new HashMap<>(); - map1.put("title", "我的任务"); - map1.put("mainName", "今日待办"); - map1.put("subName", "今日已办"); - map1.put("num", 5); - map1.put("num1", 10); + /** + * 实验室巡检列表 + */ + @GetMapping("/limsInspecList") + public R>> limsInspecList(String perType) { + List> list = new ArrayList<>(); + Map map1 = new HashMap<>(); + map1.put("name", "水系统检查"); + map1.put("planTime", "2024-11-11"); + list.add(map1); + Map map2 = new HashMap<>(); + map2.put("name", "设备检查"); + map2.put("planTime", "2024-11-11"); + list.add(map2); + return R.data(list); + } - map2.put("title", "维修已办结"); - map2.put("mainName", "本月"); - map2.put("subName", "本年"); - map2.put("num", 16); - map2.put("num1", 129); + /** + * 工作台 + */ + @GetMapping("/overview1") + public R>> overview1(String perType) { + List> list = new ArrayList<>(); + Map map1 = new HashMap<>(); + Map map2 = new HashMap<>(); + Map map3 = new HashMap<>(); + map1.put("title", "我的任务"); + map1.put("mainName", "今日待办"); + map1.put("subName", "今日已办"); + map1.put("num", 5); + map1.put("num1", 10); - if ("0".equals(perType)) { - map3.put("title", "巡检计划"); - map3.put("mainName", "巡检签约"); - map3.put("subName", "巡检"); - map3.put("num", 22); - map3.put("num1", 159); - } else if ("1".equals(perType)) { - map3.put("title", "维修人员"); - map3.put("mainName", "在岗"); - map3.put("subName", "总计"); - map3.put("num", 22); - map3.put("num1", 159); - } - list.add(map1); - list.add(map2); - list.add(map3); - return R.data(list); - } + map2.put("title", "维修已办结"); + map2.put("mainName", "本月"); + map2.put("subName", "本年"); + map2.put("num", 16); + map2.put("num1", 129); - /** - * 实验室巡检图表 - */ - @GetMapping("/limsInspecChart") - public R> limsInspecChart(String startTime, String endTime, String perType) { - Map map = new HashMap<>(); - List xData = new ArrayList<>(); - if ("0".equals(perType)) { - xData.add("安池"); - xData.add("畜牧局"); - } else if ("1".equals(perType)) { - xData.add("班组1"); - xData.add("班组2"); - } - map.put("xData", xData); - List total = new ArrayList<>(); - total.add(172); - total.add(160); - map.put("yData", total); - return R.data(map); - } + if ("0".equals(perType)) { + map3.put("title", "巡检计划"); + map3.put("mainName", "巡检签约"); + map3.put("subName", "巡检"); + map3.put("num", 22); + map3.put("num1", 159); + } else if ("1".equals(perType)) { + map3.put("title", "维修人员"); + map3.put("mainName", "在岗"); + map3.put("subName", "总计"); + map3.put("num", 22); + map3.put("num1", 159); + } + list.add(map1); + list.add(map2); + list.add(map3); + return R.data(list); + } - /** - * 故障类占比统计 - */ - @GetMapping("/faultRatio") - public R> faultRatio(String startTime, String endTime, String perType) { - Map map = new HashMap<>(); - List> fault = new ArrayList<>(); - Map fault1 = new HashMap<>(); - fault1.put("name", "空调"); - fault1.put("value", 115); - fault.add(fault1); - map.put("fault", fault); + /** + * 实验室巡检图表 + */ + @GetMapping("/limsInspecChart") + public R> limsInspecChart(String startTime, String endTime, String perType) { + Map map = new HashMap<>(); + List xData = new ArrayList<>(); + if ("0".equals(perType)) { + xData.add("安池"); + xData.add("畜牧局"); + } else if ("1".equals(perType)) { + xData.add("班组1"); + xData.add("班组2"); + } + map.put("xData", xData); + List total = new ArrayList<>(); + total.add(172); + total.add(160); + map.put("yData", total); + return R.data(map); + } - List> rate = new ArrayList<>(); - Map device1 = new HashMap<>(); - device1.put("name", "正常数量"); - device1.put("value", 115); - rate.add(device1); - map.put("rate", rate); - return R.data(map); - } + /** + * 故障类占比统计 + */ + @GetMapping("/faultRatio") + public R> faultRatio(String startTime, String endTime, String perType) { + Map map = new HashMap<>(); + List> fault = new ArrayList<>(); + Map fault1 = new HashMap<>(); + fault1.put("name", "空调"); + fault1.put("value", 115); + fault.add(fault1); + map.put("fault", fault); + + List> rate = new ArrayList<>(); + Map device1 = new HashMap<>(); + device1.put("name", "正常数量"); + device1.put("value", 115); + rate.add(device1); + map.put("rate", rate); + return R.data(map); + } } 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 f7ef92c..462282e 100644 --- a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java +++ b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java @@ -2,7 +2,11 @@ package org.springblade.modules.business.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; +import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; + +import java.util.List; /** * 维保任务 Mapper 接口 @@ -12,4 +16,5 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; */ public interface MaintenanceTaskMapper extends BaseMapper { + List limsTaskList(@Param("deptId") String deptId); } diff --git a/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml new file mode 100644 index 0000000..1b6648f --- /dev/null +++ b/src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml @@ -0,0 +1,31 @@ + + + + + + + diff --git a/src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskVO.java b/src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskVO.java new file mode 100644 index 0000000..01c1745 --- /dev/null +++ b/src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskVO.java @@ -0,0 +1,43 @@ +package org.springblade.modules.business.pojo.vo; + +import lombok.Data; + +/** + * 工作台巡检列表 + * + * @author liuqingkun + */ +@Data +public class MaintenanceTaskVO { + + /** + * 设备名称 + */ + private String inspectionName; + + /** + * 巡检计划时间 + */ + private String inspectionTime; + + /** + * 巡检人 + */ + private String inspectionPerson; + + /** + * 是否开始 + */ + private String isStart; + + /** + * 预约时间 + */ + private String appointTime; + + /** + * 任务类型 + */ + private String taskType; + +} 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 f527e6d..b9c5dcb 100644 --- a/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java +++ b/src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java @@ -2,6 +2,9 @@ package org.springblade.modules.business.service; import org.springblade.core.mp.base.BaseService; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; +import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; + +import java.util.List; /** * 维保任务 服务类 @@ -11,4 +14,5 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; */ public interface IMaintenanceTaskService extends BaseService { + List limsTaskList(String deptId); } 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 8186b25..e17e876 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 @@ -2,11 +2,14 @@ package org.springblade.modules.business.service.impl; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO; import org.springblade.modules.business.service.IMaintenanceTaskService; import org.springblade.modules.business.mapper.MaintenanceTaskMapper; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springframework.stereotype.Service; +import java.util.List; + /** * 巡检任务 服务实现类 * @@ -17,4 +20,8 @@ import org.springframework.stereotype.Service; public class MaintenanceTaskServiceImpl extends BaseServiceImpl implements IMaintenanceTaskService { + @Override + public List limsTaskList(String deptId) { + return baseMapper.limsTaskList(deptId); + } }