工作台接口开发

master
litao 1 year ago
parent d81246f749
commit 6a7c09303a
  1. 488
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  2. 5
      src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.java
  3. 31
      src/main/java/org/springblade/modules/business/mapper/MaintenanceTaskMapper.xml
  4. 43
      src/main/java/org/springblade/modules/business/pojo/vo/MaintenanceTaskVO.java
  5. 4
      src/main/java/org/springblade/modules/business/service/IMaintenanceTaskService.java
  6. 7
      src/main/java/org/springblade/modules/business/service/impl/MaintenanceTaskServiceImpl.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<List<Map<String, Object>>> overview() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "实验室巡检");
map1.put("num", 10);
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "报送记录");
map2.put("num", 8);
list.add(map2);
Map<String, Object> 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<List<Map<String, Object>>> workList() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> 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<String, Object> 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<List<Map<String, Object>>> overview() {
List<Map<String, Object>> list = new ArrayList<>();
// 实验室巡检数量
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "实验室巡检");
map1.put("num", maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class)));
list.add(map1);
// 报送记录数量
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "报送记录");
map2.put("num", workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).ne(WorkOrder::getStatus, -1)));
list.add(map2);
// 设备报警数量
Map<String, Object> 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<List<Map<String, Object>>> deviceList() {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> 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<String, Object> 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<List<MaintenanceTaskVO>> workList() {
List<MaintenanceTaskVO> tasks = maintenanceTaskService.limsTaskList(AuthUtil.getDeptId());
return R.data(tasks);
}
/**
* 维修统计
*/
@GetMapping("/upkeepStat")
public R<Map<String, Object>> upkeepStat(String startTime, String endTime) {
Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>();
xData.add("报送维修");
xData.add("巡检维修");
map.put("xData", xData);
List<Integer> total = new ArrayList<>();
total.add(10);
total.add(20);
map.put("total", total);
List<Integer> completed = new ArrayList<>();
completed.add(3);
completed.add(12);
map.put("completed", completed);
List<Integer> unCompleted = new ArrayList<>();
unCompleted.add(7);
unCompleted.add(8);
map.put("unCompleted", unCompleted);
return R.data(map);
}
/**
* 设备报警列表
*/
@GetMapping("/deviceList")
public R<List<Map<String, Object>>> deviceList() {
List<Device> devices = deviceService.list(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2));
List<Map<String, Object>> list = new ArrayList<>();
if (CollectionUtil.isNotEmpty(devices)) {
devices.forEach(device -> {
Map<String, Object> 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<Map<String, Object>> pieStat(String startTime, String endTime) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>();
fault1.put("name", "电气");
fault1.put("value", 300);
fault.add(fault1);
Map<String, Object> fault2 = new HashMap<>();
fault2.put("name", "空调");
fault2.put("value", 248);
fault.add(fault2);
Map<String, Object> fault3 = new HashMap<>();
fault3.put("name", "装修类");
fault3.put("value", 135);
fault.add(fault3);
Map<String, Object> fault4 = new HashMap<>();
fault4.put("name", "智能设备");
fault4.put("value", 180);
fault.add(fault4);
Map<String, Object> fault5 = new HashMap<>();
fault5.put("name", "暖通、自控");
fault5.put("value", 654);
fault.add(fault5);
map.put("fault", fault);
/**
* 维修统计
*/
@GetMapping("/upkeepStat")
public R<Map<String, Object>> upkeepStat(String startTime, String endTime) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>();
xData.add("报送维修");
xData.add("巡检维修");
map.put("xData", xData);
List<WorkOrder> workOrders = workOrderService.list(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getCreateTime, format.parse(startTime), format.parse(endTime)));
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).between(MaintenanceTask::getCreateTime, format.parse(startTime), format.parse(endTime)));
List<Integer> total = new ArrayList<>();
total.add(workOrders.size());
total.add(tasks.size());
map.put("total", total);
List<Long> 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<Long> 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<Map<String, Object>> device = new ArrayList<>();
Map<String, Object> device1 = new HashMap<>();
device1.put("name", "设备1");
device1.put("value", 580);
device.add(device1);
Map<String, Object> device2 = new HashMap<>();
device2.put("name", "空调");
device2.put("value", 1048);
device.add(device2);
Map<String, Object> 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<Map<String, Object>> pieStat(String startTime, String endTime) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>();
fault1.put("name", "电气");
fault1.put("value", 300);
fault.add(fault1);
Map<String, Object> fault2 = new HashMap<>();
fault2.put("name", "空调");
fault2.put("value", 248);
fault.add(fault2);
Map<String, Object> fault3 = new HashMap<>();
fault3.put("name", "装修类");
fault3.put("value", 135);
fault.add(fault3);
Map<String, Object> fault4 = new HashMap<>();
fault4.put("name", "智能设备");
fault4.put("value", 180);
fault.add(fault4);
Map<String, Object> fault5 = new HashMap<>();
fault5.put("name", "暖通、自控");
fault5.put("value", 654);
fault.add(fault5);
map.put("fault", fault);
/**
* 地图相关数据
*/
@GetMapping("/mapAddress")
public R<Map<String, Object>> mapAddress(String perType) {
Map<String, Object> map = new HashMap<>();
List<String> fault = new ArrayList<>();
fault.add("120.49149829538277");
fault.add("36.15297000628537");
map.put("软件创新园", fault);
return R.data(map);
}
List<Map<String, Object>> device = new ArrayList<>();
Map<String, Object> device1 = new HashMap<>();
device1.put("name", "设备1");
device1.put("value", 580);
device.add(device1);
Map<String, Object> device2 = new HashMap<>();
device2.put("name", "空调");
device2.put("value", 1048);
device.add(device2);
Map<String, Object> 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<List<Map<String, Object>>> limsInspecList(String perType) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "水系统检查");
map1.put("planTime", "2024-11-11");
list.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "设备检查");
map2.put("planTime", "2024-11-11");
list.add(map2);
return R.data(list);
}
/**
* 地图相关数据
*/
@GetMapping("/mapAddress")
public R<Map<String, Object>> mapAddress(String perType) {
Map<String, Object> map = new HashMap<>();
List<String> fault = new ArrayList<>();
fault.add("120.49149829538277");
fault.add("36.15297000628537");
map.put("软件创新园", fault);
return R.data(map);
}
/**
* 工作台
*/
@GetMapping("/overview1")
public R<List<Map<String, Object>>> overview1(String perType) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
map1.put("title", "我的任务");
map1.put("mainName", "今日待办");
map1.put("subName", "今日已办");
map1.put("num", 5);
map1.put("num1", 10);
/**
* 实验室巡检列表
*/
@GetMapping("/limsInspecList")
public R<List<Map<String, Object>>> limsInspecList(String perType) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "水系统检查");
map1.put("planTime", "2024-11-11");
list.add(map1);
Map<String, Object> 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<List<Map<String, Object>>> overview1(String perType) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> 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<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>();
List<String> 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<Integer> 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<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>();
fault1.put("name", "空调");
fault1.put("value", 115);
fault.add(fault1);
map.put("fault", fault);
/**
* 实验室巡检图表
*/
@GetMapping("/limsInspecChart")
public R<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>();
List<String> 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<Integer> total = new ArrayList<>();
total.add(172);
total.add(160);
map.put("yData", total);
return R.data(map);
}
List<Map<String, Object>> rate = new ArrayList<>();
Map<String, Object> 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<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>();
fault1.put("name", "空调");
fault1.put("value", 115);
fault.add(fault1);
map.put("fault", fault);
List<Map<String, Object>> rate = new ArrayList<>();
Map<String, Object> device1 = new HashMap<>();
device1.put("name", "正常数量");
device1.put("value", 115);
rate.add(device1);
map.put("rate", rate);
return R.data(map);
}
}

@ -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<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(@Param("deptId") String deptId);
}

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace = "org.springblade.modules.business.mapper.MaintenanceTaskMapper">
<select id="limsTaskList" resultType="org.springblade.modules.business.pojo.vo.MaintenanceTaskVO">
SELECT
a.device_name AS inspectionName,
DATE_FORMAT( b.start_time, '%Y-%m-%d' ) AS inspectionTime,
c.real_name AS inspectionPerson,
CASE
b.task_status
WHEN 0 THEN
'0'
WHEN 1 THEN
'0' ELSE '1'
END AS isStart,
DATE_FORMAT( b.reservation_time, '%Y-%m-%d' ) AS appointTime,
'1' AS taskType
FROM
lab_maintenance_task_detail a
LEFT JOIN lab_maintenance_task b ON a.task_id = b.id
LEFT JOIN blade_user c ON b.serviceman_id = c.id
WHERE
a.is_deleted = 0
AND b.is_deleted = 0
<if test="deptId != null and deptId != ''">
AND b.dept_id = #{deptId}
</if>
</select>
</mapper>

@ -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;
}

@ -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<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(String deptId);
}

@ -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<MaintenanceTaskMapper, MaintenanceTask> implements IMaintenanceTaskService {
@Override
public List<MaintenanceTaskVO> limsTaskList(String deptId) {
return baseMapper.limsTaskList(deptId);
}
}

Loading…
Cancel
Save