工作台接口开发

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; package org.springblade.modules.business.contraller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController; 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.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.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -23,257 +38,250 @@ import java.util.Map;
@RequestMapping("/workBenches") @RequestMapping("/workBenches")
public class WorkBenchesController extends BladeController { public class WorkBenchesController extends BladeController {
/** private final IMaintenancePlanService maintenancePlanService;
* 工作台 private final IMaintenanceTaskService maintenanceTaskService;
*/ private final IWorkOrderService workOrderService;
@GetMapping("/overview") private final IDeviceService deviceService;
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);
}
/** /**
* 实验室巡检列表 * 工作台
*/ */
@GetMapping("/workList") @GetMapping("/overview")
public R<List<Map<String, Object>>> workList() { public R<List<Map<String, Object>>> overview() {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>(); // 实验室巡检数量
map1.put("inspectionName", "水系统检查"); Map<String, Object> map1 = new HashMap<>();
map1.put("inspectionTime", "2024-11-11"); map1.put("name", "实验室巡检");
map1.put("inspectionPerson", "张三"); map1.put("num", maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class)));
map1.put("isStart", "0"); list.add(map1);
map1.put("appointTime", "2024-11-15"); // 报送记录数量
map1.put("taskType", "1"); Map<String, Object> map2 = new HashMap<>();
list.add(map1); map2.put("name", "报送记录");
Map<String, Object> map2 = new HashMap<>(); map2.put("num", workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).ne(WorkOrder::getStatus, -1)));
map2.put("inspectionName", "设备检查"); list.add(map2);
map2.put("inspectionTime", "2024-11-11"); // 设备报警数量
map2.put("inspectionPerson", "李四"); Map<String, Object> map3 = new HashMap<>();
map2.put("isStart", "1"); map3.put("name", "设备报警");
map2.put("appointTime", "2024-11-15"); map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)));
map2.put("taskType", "2"); list.add(map3);
list.add(map2); return R.data(list);
return R.data(list); }
}
/** /**
* 设备报警列表 * 实验室巡检列表
*/ */
@GetMapping("/deviceList") @GetMapping("/workList")
public R<List<Map<String, Object>>> deviceList() { public R<List<MaintenanceTaskVO>> workList() {
List<Map<String, Object>> list = new ArrayList<>(); List<MaintenanceTaskVO> tasks = maintenanceTaskService.limsTaskList(AuthUtil.getDeptId());
Map<String, Object> map1 = new HashMap<>(); return R.data(tasks);
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("/upkeepStat") @GetMapping("/deviceList")
public R<Map<String, Object>> upkeepStat(String startTime, String endTime) { public R<List<Map<String, Object>>> deviceList() {
Map<String, Object> map = new HashMap<>(); List<Device> devices = deviceService.list(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2));
List<String> xData = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
xData.add("报送维修"); if (CollectionUtil.isNotEmpty(devices)) {
xData.add("巡检维修"); devices.forEach(device -> {
map.put("xData", xData); Map<String, Object> map = new HashMap<>();
List<Integer> total = new ArrayList<>(); map.put("alarmLevel", "1");
total.add(10); map.put("deviceName", device.getName());
total.add(20); map.put("brand", device.getSupplier());
map.put("total", total); map.put("model", device.getModel());
List<Integer> completed = new ArrayList<>(); map.put("alarmTime", device.getCreateTime());
completed.add(3); list.add(map);
completed.add(12); });
map.put("completed", completed); }
List<Integer> unCompleted = new ArrayList<>(); return R.data(list);
unCompleted.add(7); }
unCompleted.add(8);
map.put("unCompleted", unCompleted);
return R.data(map);
}
/** /**
* 饼图数据 * 维修统计
*/ */
@GetMapping("/pieStat") @GetMapping("/upkeepStat")
public R<Map<String, Object>> pieStat(String startTime, String endTime) { public R<Map<String, Object>> upkeepStat(String startTime, String endTime) throws ParseException {
Map<String, Object> map = new HashMap<>(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
List<Map<String, Object>> fault = new ArrayList<>(); Map<String, Object> map = new HashMap<>();
Map<String, Object> fault1 = new HashMap<>(); List<String> xData = new ArrayList<>();
fault1.put("name", "电气"); xData.add("报送维修");
fault1.put("value", 300); xData.add("巡检维修");
fault.add(fault1); map.put("xData", xData);
Map<String, Object> fault2 = new HashMap<>(); List<WorkOrder> workOrders = workOrderService.list(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getCreateTime, format.parse(startTime), format.parse(endTime)));
fault2.put("name", "空调"); List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).between(MaintenanceTask::getCreateTime, format.parse(startTime), format.parse(endTime)));
fault2.put("value", 248); List<Integer> total = new ArrayList<>();
fault.add(fault2); total.add(workOrders.size());
Map<String, Object> fault3 = new HashMap<>(); total.add(tasks.size());
fault3.put("name", "装修类"); map.put("total", total);
fault3.put("value", 135); List<Long> completed = new ArrayList<>();
fault.add(fault3); completed.add(workOrders.stream().filter(plan -> plan.getStatus() == 8).count());
Map<String, Object> fault4 = new HashMap<>(); completed.add(tasks.stream().filter(plan -> plan.getTaskStatus() == 4).count());
fault4.put("name", "智能设备"); map.put("completed", completed);
fault4.put("value", 180); List<Long> unCompleted = new ArrayList<>();
fault.add(fault4); unCompleted.add(workOrders.stream().filter(plan -> plan.getStatus() != 8).count());
Map<String, Object> fault5 = new HashMap<>(); unCompleted.add(tasks.stream().filter(plan -> plan.getTaskStatus() != 4).count());
fault5.put("name", "暖通、自控"); map.put("unCompleted", unCompleted);
fault5.put("value", 654); return R.data(map);
fault.add(fault5); }
map.put("fault", fault);
List<Map<String, Object>> device = new ArrayList<>(); /**
Map<String, Object> device1 = new HashMap<>(); * 饼图数据
device1.put("name", "设备1"); */
device1.put("value", 580); @GetMapping("/pieStat")
device.add(device1); public R<Map<String, Object>> pieStat(String startTime, String endTime) {
Map<String, Object> device2 = new HashMap<>(); Map<String, Object> map = new HashMap<>();
device2.put("name", "空调"); List<Map<String, Object>> fault = new ArrayList<>();
device2.put("value", 1048); Map<String, Object> fault1 = new HashMap<>();
device.add(device2); fault1.put("name", "电气");
Map<String, Object> device3 = new HashMap<>(); fault1.put("value", 300);
device3.put("name", "通风柜"); fault.add(fault1);
device3.put("value", 735); Map<String, Object> fault2 = new HashMap<>();
device.add(device3); fault2.put("name", "空调");
map.put("device", device); fault2.put("value", 248);
return R.data(map); 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);
/** List<Map<String, Object>> device = new ArrayList<>();
* 地图相关数据 Map<String, Object> device1 = new HashMap<>();
*/ device1.put("name", "设备1");
@GetMapping("/mapAddress") device1.put("value", 580);
public R<Map<String, Object>> mapAddress(String perType) { device.add(device1);
Map<String, Object> map = new HashMap<>(); Map<String, Object> device2 = new HashMap<>();
List<String> fault = new ArrayList<>(); device2.put("name", "空调");
fault.add("120.49149829538277"); device2.put("value", 1048);
fault.add("36.15297000628537"); device.add(device2);
map.put("软件创新园", fault); Map<String, Object> device3 = new HashMap<>();
return R.data(map); device3.put("name", "通风柜");
} device3.put("value", 735);
device.add(device3);
map.put("device", device);
return R.data(map);
}
/** /**
* 实验室巡检列表 * 地图相关数据
*/ */
@GetMapping("/limsInspecList") @GetMapping("/mapAddress")
public R<List<Map<String, Object>>> limsInspecList(String perType) { public R<Map<String, Object>> mapAddress(String perType) {
List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> map = new HashMap<>();
Map<String, Object> map1 = new HashMap<>(); List<String> fault = new ArrayList<>();
map1.put("name", "水系统检查"); fault.add("120.49149829538277");
map1.put("planTime", "2024-11-11"); fault.add("36.15297000628537");
list.add(map1); map.put("软件创新园", fault);
Map<String, Object> map2 = new HashMap<>(); return R.data(map);
map2.put("name", "设备检查"); }
map2.put("planTime", "2024-11-11");
list.add(map2);
return R.data(list);
}
/** /**
* 工作台 * 实验室巡检列表
*/ */
@GetMapping("/overview1") @GetMapping("/limsInspecList")
public R<List<Map<String, Object>>> overview1(String perType) { public R<List<Map<String, Object>>> limsInspecList(String perType) {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>(); Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>(); map1.put("name", "水系统检查");
Map<String, Object> map3 = new HashMap<>(); map1.put("planTime", "2024-11-11");
map1.put("title", "我的任务"); list.add(map1);
map1.put("mainName", "今日待办"); Map<String, Object> map2 = new HashMap<>();
map1.put("subName", "今日已办"); map2.put("name", "设备检查");
map1.put("num", 5); map2.put("planTime", "2024-11-11");
map1.put("num1", 10); list.add(map2);
return R.data(list);
}
map2.put("title", "维修已办结"); /**
map2.put("mainName", "本月"); * 工作台
map2.put("subName", "本年"); */
map2.put("num", 16); @GetMapping("/overview1")
map2.put("num1", 129); 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)) { map2.put("title", "维修已办结");
map3.put("title", "巡检计划"); map2.put("mainName", "本月");
map3.put("mainName", "巡检签约"); map2.put("subName", "本年");
map3.put("subName", "巡检"); map2.put("num", 16);
map3.put("num", 22); map2.put("num1", 129);
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);
}
/** if ("0".equals(perType)) {
* 实验室巡检图表 map3.put("title", "巡检计划");
*/ map3.put("mainName", "巡检签约");
@GetMapping("/limsInspecChart") map3.put("subName", "巡检");
public R<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) { map3.put("num", 22);
Map<String, Object> map = new HashMap<>(); map3.put("num1", 159);
List<String> xData = new ArrayList<>(); } else if ("1".equals(perType)) {
if ("0".equals(perType)) { map3.put("title", "维修人员");
xData.add("安池"); map3.put("mainName", "在岗");
xData.add("畜牧局"); map3.put("subName", "总计");
} else if ("1".equals(perType)) { map3.put("num", 22);
xData.add("班组1"); map3.put("num1", 159);
xData.add("班组2"); }
} list.add(map1);
map.put("xData", xData); list.add(map2);
List<Integer> total = new ArrayList<>(); list.add(map3);
total.add(172); return R.data(list);
total.add(160); }
map.put("yData", total);
return R.data(map);
}
/** /**
* 故障类占比统计 * 实验室巡检图表
*/ */
@GetMapping("/faultRatio") @GetMapping("/limsInspecChart")
public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) { public R<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>(); List<String> xData = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>(); if ("0".equals(perType)) {
fault1.put("name", "空调"); xData.add("安池");
fault1.put("value", 115); xData.add("畜牧局");
fault.add(fault1); } else if ("1".equals(perType)) {
map.put("fault", fault); 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); @GetMapping("/faultRatio")
rate.add(device1); public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
map.put("rate", rate); Map<String, Object> map = new HashMap<>();
return R.data(map); 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; package org.springblade.modules.business.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.entity.maintenance.MaintenanceTask;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO;
import java.util.List;
/** /**
* 维保任务 Mapper 接口 * 维保任务 Mapper 接口
@ -12,4 +16,5 @@ import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
*/ */
public interface MaintenanceTaskMapper extends BaseMapper<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.core.mp.base.BaseService;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; 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> { public interface IMaintenanceTaskService extends BaseService<MaintenanceTask> {
List<MaintenanceTaskVO> limsTaskList(String deptId);
} }

@ -2,11 +2,14 @@
package org.springblade.modules.business.service.impl; package org.springblade.modules.business.service.impl;
import org.springblade.core.mp.base.BaseServiceImpl; 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.service.IMaintenanceTaskService;
import org.springblade.modules.business.mapper.MaintenanceTaskMapper; import org.springblade.modules.business.mapper.MaintenanceTaskMapper;
import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask; import org.springblade.modules.business.pojo.entity.maintenance.MaintenanceTask;
import org.springframework.stereotype.Service; 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 { public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskMapper, MaintenanceTask> implements IMaintenanceTaskService {
@Override
public List<MaintenanceTaskVO> limsTaskList(String deptId) {
return baseMapper.limsTaskList(deptId);
}
} }

Loading…
Cancel
Save