设备状态修改,

1.提交维修方案时,修改为故障
2.驳回维修方案或客户确认完成时,修改为运行中
3.设备添加时,默认为运行中
master
liuqingkun 1 year ago
parent 050e7e58a3
commit 8ed2e8cc95
  1. 8
      src/main/java/org/springblade/common/constant/CommonConstant.java
  2. 52
      src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java
  3. 10
      src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java
  4. 2
      src/main/java/org/springblade/modules/business/pojo/entity/Device.java
  5. 10
      src/main/java/org/springblade/modules/business/service/IDeviceService.java
  6. 15
      src/main/java/org/springblade/modules/business/service/IWorkOrderService.java
  7. 31
      src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java
  8. 68
      src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java

@ -99,4 +99,12 @@ public interface CommonConstant {
Integer ERIOD_MONTH = 1;
Integer ERIOD_QUARTER = 2;
Integer ERIOD_HALF_YEAR = 3;
/**
* 设备状态1运行中,2故障
*/
Integer DEVICE_RUN_STATUS_WORKING = 1;
Integer DEVICE_RUN_STATUS_BREAKDOWN = 2;
}

@ -17,7 +17,6 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
import org.springblade.modules.business.pojo.dto.workorder.WorkOrderDTO;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
@ -222,7 +221,7 @@ public class WorkOrderController extends BladeController {
workOrderOld.setPlanCompleteTime(workOrder.getPlanCompleteTime());
workOrderOld.setRemark(workOrder.getRemark());
workOrderOld.setCustomerOpinion(workOrder.getCustomerOpinion());
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_SUBMIT.getValue());
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_ALLOT.getValue());
workOrderService.updateById(workOrderOld);
// todo 审核通过
@ -269,11 +268,7 @@ public class WorkOrderController extends BladeController {
@ApiLog(value = "提报管理-维修人员提交维修方案")
@PostMapping("/serviceman-submit")
public R serviceSubmit(@RequestBody WorkOrder workOrder) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_PLAN_SUBMIT.getValue());
workOrderService.updateById(workOrderOld);
// todo 审核通过
workOrderService.repairPlanSubmit(workOrder);
return R.success("");
}
@ -295,7 +290,6 @@ public class WorkOrderController extends BladeController {
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
// todo 审核通过
return R.success("");
}
@ -306,20 +300,7 @@ public class WorkOrderController extends BladeController {
@ApiLog(value = "提报管理-主管驳回维修方案")
@PostMapping("/supervisor-reject")
public R supervisorReject(@RequestBody WorkOrder workOrder) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApprovePoint("主管审批维修方案");
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason());
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_REFUSE.getValue());
workOrderService.updateById(workOrderOld);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
// todo 审核通过
workOrderService.repairPlanRefuse(workOrder);
return R.success("");
}
@ -390,32 +371,7 @@ public class WorkOrderController extends BladeController {
@ApiLog(value = "提报管理-评价签字")
@PostMapping("/customer-repair-confirm")
public R customerRepairConfirm(@RequestBody WorkOrder workOrder) {
WorkOrder workOrderOld = workOrderService.getById(workOrder.getId());
workOrderOld.setApprovePoint("客户审批维修结果");
workOrderOld.setApprovePerson(AuthUtil.getUserId());
workOrderOld.setApproveResult(CommonConstant.TRUE_INT);
workOrderOld.setApproveTime(DateUtil.now());
workOrderOld.setApproveRemark(StringPool.EMPTY);
workOrderOld.setFinishTime(DateUtil.now());
workOrderOld.setSignaturePerson(workOrder.getSignaturePerson());
workOrderOld.setSignatureUrl(workOrder.getSignatureUrl());
workOrderOld.setSignatureTime(workOrder.getSignatureTime());
workOrderOld.setIsOkSecure(workOrder.getIsOkSecure());
workOrderOld.setIsOkValidity(workOrder.getIsOkValidity());
workOrderOld.setIsOkQuality(workOrder.getIsOkQuality());
// 若未产生费用,直接关闭工单
if (workOrderOld.getDiscountPrice() == null || workOrderOld.getDiscountPrice() == 0) {
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue());
} else {
workOrderOld.setStatus(WorkOrderStatusEnum.KH_EVALUATE_FINISH.getValue());
}
workOrderService.updateById(workOrderOld);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
// todo 审核通过
workOrderService.repairFinish(workOrder);
return R.success("");
}

@ -46,9 +46,14 @@ public enum WorkOrderStatusEnum {
KF_ORDER_DRAFT(200),
/**
* 客服电话提交工单并分配人员
* 客服电话提交工单
*/
KF_ORDER_SUBMIT(201),
KF_ORDER_SUBMIT(205),
/**
* 客服并分配维修人员
*/
KF_ORDER_ALLOT(201),
/**
* 客服沟通后关闭工单
@ -66,6 +71,7 @@ public enum WorkOrderStatusEnum {
KF_TICKET_FINISH(204),
// ---------------------------------- 维修主管以3开头
/**
* 主管审核拒绝待提交维修方案

@ -68,7 +68,7 @@ public class Device extends BaseEntity {
private String attachName;
/**
* 运行状态 0关机 1运行中 2报警中
* 运行状态1运行中 2故障
*/
private Integer runStatus;

@ -48,5 +48,13 @@ public interface IDeviceService extends BaseService<Device> {
void importGoods(List<DeviceExcel> data, Boolean isCovered);
List<DeviceVO> limsList(Device device);
List<DeviceVO> limsList(Device device);
/**
* 根据id更新设备状态
*
* @param status
* @param id
*/
void updateStatus(Integer status, Long id);
}

@ -73,4 +73,19 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
List<PieStatVO> selectDeptCount(String startTime, String endTime);
/**
* 维修人员提交维修方案
*/
void repairPlanSubmit(WorkOrder workOrder);
/**
* 运维主管审批拒绝维修方案
*/
void repairPlanRefuse(WorkOrder workOrder);
/**
* 客户确认维修完成
*/
void repairFinish(WorkOrder workOrder);
}

@ -4,6 +4,7 @@ package org.springblade.modules.business.service.impl;
import com.aliyun.oss.ServiceException;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@ -11,23 +12,24 @@ import com.google.zxing.WriterException;
import lombok.AllArgsConstructor;
import org.apache.commons.collections.CollectionUtils;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.common.utils.CommonUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
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;
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.mapper.DeviceMapper;
import org.springblade.modules.business.pojo.dto.DeviceDTO;
import org.springblade.modules.business.pojo.entity.Device;
import org.springblade.modules.business.pojo.entity.DeviceAttach;
import org.springblade.modules.business.pojo.entity.DeviceMaintenance;
import org.springblade.modules.business.pojo.vo.DeviceVO;
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;
import org.springblade.modules.system.pojo.entity.Dept;
import org.springblade.modules.system.pojo.vo.DeptVO;
import org.springblade.modules.system.service.IDeptService;
@ -35,7 +37,10 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.IOException;
import java.util.*;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -71,6 +76,7 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceMapper, Device> imp
@Transactional(rollbackFor = Exception.class)
public boolean add(DeviceDTO device) {
device.setCode("编码格式待定");
device.setRunStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING);
boolean save = this.save(device);
// 附件保存
List<DeviceAttach> attaches = device.getAttaches();
@ -221,7 +227,16 @@ public class DeviceServiceImpl extends BaseServiceImpl<DeviceMapper, Device> imp
return deviceVOList;
}
/**
@Override
public void updateStatus(Integer status, Long id) {
// 更新设备状态为故障
UpdateWrapper updateWrapper = new UpdateWrapper<>(Device.class);
updateWrapper.eq("id", id);
updateWrapper.set("run_status", status);
this.update(updateWrapper);
}
/**
* 获取两个list相同数据
*
* @param list1

@ -8,14 +8,17 @@ import org.apache.commons.collections.CollectionUtils;
import org.springblade.common.cache.DictBizCache;
import org.springblade.common.cache.SysCache;
import org.springblade.common.cache.UserCache;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.StringPool;
import org.springblade.modules.business.enums.WorkOrderStatusEnum;
import org.springblade.modules.business.mapper.WorkOrderMapper;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrder;
import org.springblade.modules.business.pojo.entity.workorder.WorkOrderApproval;
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;
@ -50,6 +53,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
private final IUserService userService;
private final IWorkOrderApprovalService approvalService;
private final IDeviceService deviceService;
private final IWorkOrderFlowService flowService;
@ -242,6 +247,69 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return baseMapper.selectDeptCount(startTime, endTime);
}
@Transactional(rollbackFor = Exception.class)
@Override
public void repairPlanSubmit(WorkOrder workOrder) {
// 修改工单状态
WorkOrder workOrderOld = this.getById(workOrder.getId());
workOrderOld.setStatus(WorkOrderStatusEnum.WX_REPAIR_PLAN_SUBMIT.getValue());
this.updateById(workOrderOld);
// 更新设备状态为故障
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_BREAKDOWN, workOrder.getDeviceId());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void repairPlanRefuse(WorkOrder workOrder) {
WorkOrder workOrderOld = this.getById(workOrder.getId());
workOrderOld.setApprovePoint("主管审批维修方案");
workOrderOld.setApprovePerson(workOrder.getApprovePerson());
workOrderOld.setApproveResult(workOrder.getApproveResult());
workOrderOld.setApproveTime(workOrder.getApproveTime());
workOrderOld.setApproveRemark(workOrder.getApproveRemark());
workOrderOld.setRepaiTeamRejectReason(workOrder.getRepaiTeamRejectReason());
workOrderOld.setStatus(WorkOrderStatusEnum.ZG_REPAIR_PLAN_REFUSE.getValue());
this.updateById(workOrderOld);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.FALSE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
// 更新设备状态为运行中
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId());
}
@Transactional(rollbackFor = Exception.class)
@Override
public void repairFinish(WorkOrder workOrder) {
WorkOrder workOrderOld = this.getById(workOrder.getId());
workOrderOld.setApprovePoint("客户审批维修结果");
workOrderOld.setApprovePerson(AuthUtil.getUserId());
workOrderOld.setApproveResult(CommonConstant.TRUE_INT);
workOrderOld.setApproveTime(org.springblade.core.tool.utils.DateUtil.now());
workOrderOld.setApproveRemark(StringPool.EMPTY);
workOrderOld.setFinishTime(org.springblade.core.tool.utils.DateUtil.now());
workOrderOld.setSignaturePerson(workOrder.getSignaturePerson());
workOrderOld.setSignatureUrl(workOrder.getSignatureUrl());
workOrderOld.setSignatureTime(workOrder.getSignatureTime());
workOrderOld.setIsOkSecure(workOrder.getIsOkSecure());
workOrderOld.setIsOkValidity(workOrder.getIsOkValidity());
workOrderOld.setIsOkQuality(workOrder.getIsOkQuality());
// 若未产生费用,直接关闭工单
if (workOrderOld.getDiscountPrice() == null || workOrderOld.getDiscountPrice() == 0) {
workOrderOld.setStatus(WorkOrderStatusEnum.KF_ORDER_CLOSE.getValue());
} else {
workOrderOld.setStatus(WorkOrderStatusEnum.KH_EVALUATE_FINISH.getValue());
}
this.updateById(workOrderOld);
WorkOrderApproval approval = new WorkOrderApproval(workOrder.getId(), AuthUtil.getUserId(), CommonConstant.TRUE_STR, org.springblade.core.tool.utils.DateUtil.now(), workOrder.getApproveRemark());
approvalService.save(approval);
// 更新设备状态为运行中
deviceService.updateStatus(CommonConstant.DEVICE_RUN_STATUS_WORKING, workOrder.getDeviceId());
}
private void saveFiles(List<WorkOrderAttach> videoAttaches, List<WorkOrderAttach> picAttaches, Long orderId) {
// 保存视频附件

Loading…
Cancel
Save