工作台接口开发

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;
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,23 +38,31 @@ import java.util.Map;
@RequestMapping("/workBenches")
public class WorkBenchesController extends BladeController {
private final IMaintenancePlanService maintenancePlanService;
private final IMaintenanceTaskService maintenanceTaskService;
private final IWorkOrderService workOrderService;
private final IDeviceService deviceService;
/**
* 工作台
*/
@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);
map1.put("num", maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class)));
list.add(map1);
// 报送记录数量
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "报送记录");
map2.put("num", 8);
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", 16);
map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)));
list.add(map3);
return R.data(list);
}
@ -48,25 +71,9 @@ public class WorkBenchesController extends BladeController {
* 实验室巡检列表
*/
@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);
public R<List<MaintenanceTaskVO>> workList() {
List<MaintenanceTaskVO> tasks = maintenanceTaskService.limsTaskList(AuthUtil.getDeptId());
return R.data(tasks);
}
/**
@ -74,21 +81,19 @@ public class WorkBenchesController extends BladeController {
*/
@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<>();
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);
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);
}
@ -96,23 +101,26 @@ public class WorkBenchesController extends BladeController {
* 维修统计
*/
@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<>();
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(10);
total.add(20);
total.add(workOrders.size());
total.add(tasks.size());
map.put("total", total);
List<Integer> completed = new ArrayList<>();
completed.add(3);
completed.add(12);
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<Integer> unCompleted = new ArrayList<>();
unCompleted.add(7);
unCompleted.add(8);
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);
}

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