工作台接口开发

master
litao 1 year ago
parent 2e3936f463
commit 2acc7d9284
  1. 82
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java
  2. 4
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.java
  3. 24
      src/main/java/org/springblade/modules/business/mapper/DeviceMapper.xml
  4. 2
      src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.java
  5. 12
      src/main/java/org/springblade/modules/business/mapper/WorkOrderMapper.xml
  6. 21
      src/main/java/org/springblade/modules/business/pojo/vo/PieStatVO.java
  7. 5
      src/main/java/org/springblade/modules/business/service/IDeviceService.java
  8. 2
      src/main/java/org/springblade/modules/business/service/IWorkOrderService.java
  9. 12
      src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java
  10. 6
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java

@ -12,10 +12,13 @@ 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.workorder.WorkOrder;
import org.springblade.modules.business.pojo.vo.MaintenanceTaskVO;
import org.springblade.modules.business.pojo.vo.PieStatVO;
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.springblade.modules.system.pojo.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@ -43,6 +46,7 @@ public class WorkBenchesController extends BladeController {
private final IMaintenanceTaskService maintenanceTaskService;
private final IWorkOrderService workOrderService;
private final IDeviceService deviceService;
private final IUserService userService;
/**
* 工作台
@ -132,42 +136,9 @@ public class WorkBenchesController extends BladeController {
@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);
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime);
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);
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);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime);
map.put("device", device);
return R.data(map);
}
@ -178,10 +149,13 @@ public class WorkBenchesController extends BladeController {
@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);
List<User> users = userService.list(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).isNotNull(User::getAddressLon));
for (User user : users) {
List<String> fault = new ArrayList<>();
fault.add(user.getAddressLon());
fault.add(user.getAddressLat());
map.put(user.getDeptName(), fault);
}
return R.data(map);
}
@ -190,15 +164,15 @@ public class WorkBenchesController extends BladeController {
*/
@GetMapping("/limsInspecList")
public R<List<Map<String, Object>>> limsInspecList(String perType) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
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);
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).isNotNull(MaintenanceTask::getStartTime).orderByDesc(MaintenanceTask::getStartTime));
for (MaintenanceTask task : tasks) {
Map<String, Object> map = new HashMap<>();
map.put("name", task.getDeptName() + "-设备巡检");
map.put("planTime", format.format(task.getStartTime()));
list.add(map);
}
return R.data(list);
}
@ -249,17 +223,13 @@ public class WorkBenchesController extends BladeController {
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");
List<Integer> total = new ArrayList<>();
List<PieStatVO> list = workOrderService.selectDeptCount(startTime, endTime);
for (PieStatVO pieStatVO : list) {
xData.add(pieStatVO.getName());
total.add(pieStatVO.getValue());
}
map.put("xData", xData);
List<Integer> total = new ArrayList<>();
total.add(172);
total.add(160);
map.put("yData", total);
return R.data(map);
}

@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
import org.springblade.modules.business.pojo.entity.Device;
import org.springblade.modules.business.excel.DeviceExcel;
import org.springblade.modules.business.pojo.vo.DeviceVO;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import java.util.List;
@ -37,4 +38,7 @@ public interface DeviceMapper extends BaseMapper<Device> {
*/
List<DeviceExcel> exportDevice(@Param("ew") Wrapper<Device> queryWrapper);
List<PieStatVO> selectTypeCount(String startTime, String endTime);
List<PieStatVO> selectStatusCount(String startTime, String endTime);
}

@ -15,5 +15,29 @@
<select id="exportDevice" resultType="org.springblade.modules.business.excel.DeviceExcel">
SELECT * FROM lab_device ${ew.customSqlSegment}
</select>
<select id="selectTypeCount" resultType="org.springblade.modules.business.pojo.vo.PieStatVO">
SELECT
type as 'name',
COUNT( 1 ) as 'value'
FROM
`lab_device`
WHERE is_deleted = 0 and type is not null
GROUP BY type
</select>
<select id="selectStatusCount" resultType="org.springblade.modules.business.pojo.vo.PieStatVO">
SELECT
CASE run_status
WHEN 0 THEN '关机'
WHEN 1 THEN '运行中'
WHEN 2 THEN '报警中'
END as 'name',
COUNT( 1 ) as 'value'
FROM
`lab_device`
WHERE
is_deleted = 0 and run_status is not null
GROUP BY
run_status
</select>
</mapper>

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.excel.workorder.WorkOrderExcel;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
import java.util.List;
@ -37,4 +38,5 @@ public interface WorkOrderMapper extends BaseMapper<WorkOrder> {
*/
List<WorkOrderExcel> exportWorkOrder(@Param("ew") Wrapper<WorkOrder> queryWrapper);
List<PieStatVO> selectDeptCount(String startTime, String endTime);
}

@ -15,5 +15,17 @@
<select id="exportWorkOrder" resultType="org.springblade.modules.business.excel.workorder.WorkOrderExcel">
SELECT * FROM lab_work_order ${ew.customSqlSegment}
</select>
<select id="selectDeptCount" resultType="org.springblade.modules.business.pojo.vo.PieStatVO">
SELECT
b.dept_name AS 'name',
COUNT( 1 ) AS 'value'
FROM
lab_work_order a
LEFT JOIN blade_dept b ON a.create_dept = b.id
WHERE
a.is_deleted = 0 AND a.STATUS != -1 AND b.dept_name IS NOT NULL
GROUP BY
b.dept_name
</select>
</mapper>

@ -0,0 +1,21 @@
package org.springblade.modules.business.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.modules.business.pojo.entity.DeviceAttach;
/**
* 工作台设备统计
*
* @author BladeX
* @since 2024-10-14
*/
@Data
public class PieStatVO {
private String name;
private Integer value;
}

@ -7,6 +7,7 @@ import org.springblade.modules.business.pojo.dto.DeviceDTO;
import org.springblade.modules.business.pojo.entity.Device;
import org.springblade.modules.business.excel.DeviceExcel;
import org.springblade.modules.business.pojo.vo.DeviceVO;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import java.util.List;
@ -40,4 +41,8 @@ public interface IDeviceService extends BaseService<Device> {
boolean edit(DeviceDTO device);
boolean qrcode(Device device);
List<PieStatVO> selectTypeCount(String startTime, String endTime);
List<PieStatVO> selectStatusCount(String startTime, String endTime);
}

@ -2,6 +2,7 @@ package org.springblade.modules.business.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
import java.util.List;
@ -55,4 +56,5 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
boolean updateAttach(WorkOrderVO workOrder);
List<PieStatVO> selectDeptCount(String startTime, String endTime);
}

@ -10,6 +10,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import org.springblade.modules.business.service.IDeviceAttachService;
import org.springblade.modules.business.service.IDeviceMaintenanceService;
import org.springblade.modules.business.service.IDeviceService;
@ -22,7 +23,6 @@ import org.springblade.modules.business.pojo.entity.DeviceMaintenance;
import org.springblade.modules.business.pojo.vo.DeviceVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.io.IOException;
import java.util.List;
@ -125,4 +125,14 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceMapper, Device> imp
}
return this.updateById(device);
}
@Override
public List<PieStatVO> selectTypeCount(String startTime, String endTime) {
return baseMapper.selectTypeCount(startTime, endTime);
}
@Override
public List<PieStatVO> selectStatusCount(String startTime, String endTime) {
return baseMapper.selectStatusCount(startTime, endTime);
}
}

@ -17,6 +17,7 @@ import org.springblade.modules.business.mapper.WorkOrderMapper;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderAttach;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderRepairMaterial;
import org.springblade.modules.business.pojo.vo.PieStatVO;
import org.springblade.modules.business.pojo.vo.workorder.WorkOrderVO;
import org.springblade.modules.business.service.*;
import org.springblade.modules.system.pojo.entity.User;
@ -183,6 +184,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return this.updateById(workOrder);
}
@Override
public List<PieStatVO> selectDeptCount(String startTime, String endTime) {
return baseMapper.selectDeptCount(startTime, endTime);
}
private void saveFiles(List<WorkOrderAttach> videoAttaches, List<WorkOrderAttach> picAttaches, Long orderId) {
// 保存视频附件

Loading…
Cancel
Save