工作台接口开发

master
litao 1 year ago
parent d81246f749
commit 6a7c09303a
  1. 98
      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,23 +38,31 @@ 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;
private final IDeviceService deviceService;
/** /**
* 工作台 * 工作台
*/ */
@GetMapping("/overview") @GetMapping("/overview")
public R<List<Map<String, Object>>> overview() { 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<>(); Map<String, Object> map1 = new HashMap<>();
map1.put("name", "实验室巡检"); map1.put("name", "实验室巡检");
map1.put("num", 10); map1.put("num", maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class)));
list.add(map1); list.add(map1);
// 报送记录数量
Map<String, Object> map2 = new HashMap<>(); Map<String, Object> map2 = new HashMap<>();
map2.put("name", "报送记录"); map2.put("name", "报送记录");
map2.put("num", 8); map2.put("num", workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).ne(WorkOrder::getStatus, -1)));
list.add(map2); list.add(map2);
// 设备报警数量
Map<String, Object> map3 = new HashMap<>(); Map<String, Object> map3 = new HashMap<>();
map3.put("name", "设备报警"); map3.put("name", "设备报警");
map3.put("num", 16); map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)));
list.add(map3); list.add(map3);
return R.data(list); return R.data(list);
} }
@ -48,25 +71,9 @@ public class WorkBenchesController extends BladeController {
* 实验室巡检列表 * 实验室巡检列表
*/ */
@GetMapping("/workList") @GetMapping("/workList")
public R<List<Map<String, Object>>> workList() { 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("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);
} }
/** /**
@ -74,21 +81,19 @@ public class WorkBenchesController extends BladeController {
*/ */
@GetMapping("/deviceList") @GetMapping("/deviceList")
public R<List<Map<String, Object>>> 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<>(); List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>(); if (CollectionUtil.isNotEmpty(devices)) {
map1.put("alarmLevel", "1"); devices.forEach(device -> {
map1.put("deviceName", "2024-11-11"); Map<String, Object> map = new HashMap<>();
map1.put("brand", "品牌A"); map.put("alarmLevel", "1");
map1.put("model", "GDXH-12582"); map.put("deviceName", device.getName());
map1.put("alarmTime", "2024-11-15"); map.put("brand", device.getSupplier());
list.add(map1); map.put("model", device.getModel());
Map<String, Object> map2 = new HashMap<>(); map.put("alarmTime", device.getCreateTime());
map2.put("alarmLevel", "2"); list.add(map);
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); return R.data(list);
} }
@ -96,23 +101,26 @@ public class WorkBenchesController extends BladeController {
* 维修统计 * 维修统计
*/ */
@GetMapping("/upkeepStat") @GetMapping("/upkeepStat")
public R<Map<String, Object>> upkeepStat(String startTime, String endTime) { 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<>(); Map<String, Object> map = new HashMap<>();
List<String> xData = new ArrayList<>(); List<String> xData = new ArrayList<>();
xData.add("报送维修"); xData.add("报送维修");
xData.add("巡检维修"); xData.add("巡检维修");
map.put("xData", xData); 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<>(); List<Integer> total = new ArrayList<>();
total.add(10); total.add(workOrders.size());
total.add(20); total.add(tasks.size());
map.put("total", total); map.put("total", total);
List<Integer> completed = new ArrayList<>(); List<Long> completed = new ArrayList<>();
completed.add(3); completed.add(workOrders.stream().filter(plan -> plan.getStatus() == 8).count());
completed.add(12); completed.add(tasks.stream().filter(plan -> plan.getTaskStatus() == 4).count());
map.put("completed", completed); map.put("completed", completed);
List<Integer> unCompleted = new ArrayList<>(); List<Long> unCompleted = new ArrayList<>();
unCompleted.add(7); unCompleted.add(workOrders.stream().filter(plan -> plan.getStatus() != 8).count());
unCompleted.add(8); unCompleted.add(tasks.stream().filter(plan -> plan.getTaskStatus() != 4).count());
map.put("unCompleted", unCompleted); map.put("unCompleted", unCompleted);
return R.data(map); 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