|
|
@@ -19,6 +19,7 @@ import cn.vber.common.notice.dto.NoticeMessageDetailDto;
|
|
|
import cn.vber.common.notice.dto.NoticeMessageDto;
|
|
|
import cn.vber.common.satoken.utils.LoginHelper;
|
|
|
import cn.vber.device.core.enums.*;
|
|
|
+import cn.vber.device.domain.Device;
|
|
|
import cn.vber.device.domain.DeviceOrder;
|
|
|
import cn.vber.device.domain.DeviceOrderAssistant;
|
|
|
import cn.vber.device.domain.DeviceOrderFlow;
|
|
|
@@ -29,6 +30,7 @@ import cn.vber.device.domain.vo.DeviceOrderAssistantUserVo;
|
|
|
import cn.vber.device.domain.vo.DeviceOrderFlowVo;
|
|
|
import cn.vber.device.domain.vo.DeviceOrderVo;
|
|
|
import cn.vber.device.domain.vo.DeviceTaskVo;
|
|
|
+import cn.vber.device.mapper.DeviceMapper;
|
|
|
import cn.vber.device.mapper.DeviceOrderAssistantMapper;
|
|
|
import cn.vber.device.mapper.DeviceOrderFlowMapper;
|
|
|
import cn.vber.device.mapper.DeviceOrderMapper;
|
|
|
@@ -54,6 +56,7 @@ import java.util.stream.Collectors;
|
|
|
public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
|
|
|
private final DeviceOrderMapper baseMapper;
|
|
|
+ private final DeviceMapper deviceMapper;
|
|
|
private final DeviceOrderFlowMapper deviceOrderFlowMapper;
|
|
|
private final DeviceOrderAssistantMapper deviceOrderAssistantMapper;
|
|
|
|
|
|
@@ -84,6 +87,13 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
return TableDataInfo.build(result);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public TableDataInfo<DeviceOrderVo> queryPageListFilterData(DeviceOrderBo bo, PageQuery pageQuery) {
|
|
|
+ LambdaQueryWrapper<DeviceOrder> lqw = buildQueryWrapper(bo);
|
|
|
+ Page<DeviceOrderVo> result = baseMapper.selectVoListPage(pageQuery.build(), lqw);
|
|
|
+ return TableDataInfo.build(result);
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询设备工单列表
|
|
|
*/
|
|
|
@@ -188,7 +198,7 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
order.setOrderNo(orderNo);
|
|
|
order.setDeviceId(task.getDeviceId());
|
|
|
order.setTaskId(task.getId());
|
|
|
- WorkOrderTypeEnum type = getOrderType(task.getTaskType());
|
|
|
+ WorkOrderTypeEnum type = getOrderType(task.getTaskType(), task.getCleanType());
|
|
|
order.setTitle("系统自动创建" + task.getTaskName() + "工单");
|
|
|
order.setOrderType(type.getType());
|
|
|
String deviceName = SpringUtils.getBean(DeviceService.class).selectNameById(task.getDeviceId());
|
|
|
@@ -217,13 +227,11 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private WorkOrderTypeEnum getOrderType(Integer taskType) {
|
|
|
+ private WorkOrderTypeEnum getOrderType(int taskType, int cleanType) {
|
|
|
return taskType == TaskTypeEnum.MAINTENANCE_MANAGEMENT.getType()
|
|
|
? WorkOrderTypeEnum.MAINTENANCE_MANAGEMENT
|
|
|
- : taskType == TaskTypeEnum.CLEANING.getType()
|
|
|
- ? WorkOrderTypeEnum.CLEANING
|
|
|
- : taskType == TaskTypeEnum.DISINFECTION.getType()
|
|
|
- ? WorkOrderTypeEnum.DISINFECTION
|
|
|
+ : taskType == TaskTypeEnum.CLEANING_DISINFECTION.getType()
|
|
|
+ ? cleanType == 1 ? WorkOrderTypeEnum.CLEANING : WorkOrderTypeEnum.DISINFECTION
|
|
|
: WorkOrderTypeEnum.MAINTENANCE_MANAGEMENT;
|
|
|
}
|
|
|
|
|
|
@@ -256,6 +264,13 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
boolean flag = baseMapper.updateById(order) > 0;
|
|
|
if (flag) {
|
|
|
String content = "接收工单:工单编号:" + order.getOrderNo() + ",接收人:" + LoginHelper.getNickname();
|
|
|
+ if (order.getOrderType() == WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ Device device = deviceMapper.selectById(order.getDeviceId());
|
|
|
+ if (device != null) {
|
|
|
+ device.setStatus(DeviceStatusEnum.REPAIRING.getStatus());
|
|
|
+ deviceMapper.updateById(device);
|
|
|
+ }
|
|
|
+ }
|
|
|
insertDeviceOrderFlow(order, WorkOrderFlowTypeEnum.RECEIVE, content);
|
|
|
pushOrder(order, "已被接收", content, "receive", Convert.toList(Long.class, order.getCreateBy()));
|
|
|
}
|
|
|
@@ -343,6 +358,10 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
if (WorkOrderStatusEnum.NOT_STARTED.getStatus() == order.getStatus()) {
|
|
|
throw new ServiceException("当前工单状态不能暂缓");
|
|
|
}
|
|
|
+ if (order.getOrderType() != WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ throw new ServiceException("当前工单类型不能暂缓");
|
|
|
+ }
|
|
|
+
|
|
|
Date now = DateUtils.getNowDate();
|
|
|
setFaultDuration(order, now);
|
|
|
order.setStatus(WorkOrderStatusEnum.SUSPENDED.getStatus());
|
|
|
@@ -351,6 +370,13 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
boolean flag = baseMapper.updateById(order) > 0;
|
|
|
if (flag) {
|
|
|
String content = "暂缓工单:工单编号:" + order.getOrderNo() + ",暂缓原因:" + bo.getReason();
|
|
|
+ Device device = deviceMapper.selectById(order.getDeviceId());
|
|
|
+ if (order.getOrderType() == WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ if (device != null) {
|
|
|
+ device.setStatus(DeviceStatusEnum.BREAKING.getStatus());
|
|
|
+ deviceMapper.updateById(device);
|
|
|
+ }
|
|
|
+ }
|
|
|
insertDeviceOrderFlow(order, WorkOrderFlowTypeEnum.SUSPEND, content, bo.getImages());
|
|
|
pushOrder(order, "已被暂缓", content, "suspend", Convert.toList(Long.class, order.getCreateBy()));
|
|
|
}
|
|
|
@@ -371,6 +397,9 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
if (WorkOrderStatusEnum.SUSPENDED.getStatus() != order.getStatus()) {
|
|
|
throw new ServiceException("当前工单状态不能恢复");
|
|
|
}
|
|
|
+ if (order.getOrderType() != WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ throw new ServiceException("当前工单类型不能恢复");
|
|
|
+ }
|
|
|
|
|
|
Date now = DateUtils.getNowDate();
|
|
|
order.setResumeTime(now);
|
|
|
@@ -381,6 +410,13 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
boolean flag = baseMapper.updateById(order) > 0;
|
|
|
if (flag) {
|
|
|
String content = "恢复工单:工单编号:" + order.getOrderNo();
|
|
|
+ if (order.getOrderType() == WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ Device device = deviceMapper.selectById(order.getDeviceId());
|
|
|
+ if (device != null) {
|
|
|
+ device.setStatus(DeviceStatusEnum.REPAIRING.getStatus());
|
|
|
+ deviceMapper.updateById(device);
|
|
|
+ }
|
|
|
+ }
|
|
|
insertDeviceOrderFlow(order, WorkOrderFlowTypeEnum.RESTORE, content);
|
|
|
pushOrder(order, "已被恢复", content, "resume", Convert.toList(Long.class, order.getCreateBy()));
|
|
|
}
|
|
|
@@ -437,6 +473,13 @@ public class DeviceOrderServiceImpl implements IDeviceOrderService {
|
|
|
boolean flag = baseMapper.updateById(order) > 0;
|
|
|
if (flag) {
|
|
|
String content = "验收工单:工单编号:" + order.getOrderNo();
|
|
|
+ if (order.getOrderType() == WorkOrderTypeEnum.FAULT_REPAIR.getType()) {
|
|
|
+ Device device = deviceMapper.selectById(order.getDeviceId());
|
|
|
+ if (device != null) {
|
|
|
+ device.setStatus(DeviceStatusEnum.NORMAL.getStatus());
|
|
|
+ deviceMapper.updateById(device);
|
|
|
+ }
|
|
|
+ }
|
|
|
insertDeviceOrderFlow(order, WorkOrderFlowTypeEnum.ACCEPTANCE_PASS, content, bo.getImages());
|
|
|
pushOrder(order, "已验收通过!", content, "accept", Convert.toList(Long.class, order.getReceiverId()));
|
|
|
}
|