diff --git a/src/main/java/org/springblade/common/constant/CommonConstant.java b/src/main/java/org/springblade/common/constant/CommonConstant.java index 7d46a4d..2fcc03b 100644 --- a/src/main/java/org/springblade/common/constant/CommonConstant.java +++ b/src/main/java/org/springblade/common/constant/CommonConstant.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; + + } diff --git a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java index 1b513ea..ea94626 100644 --- a/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java +++ b/src/main/java/org/springblade/modules/business/contraller/WorkOrderController.java @@ -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(""); } diff --git a/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java b/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java index f58a84d..cfe0520 100644 --- a/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java +++ b/src/main/java/org/springblade/modules/business/enums/WorkOrderStatusEnum.java @@ -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开头 /** * 主管审核拒绝,待提交维修方案 diff --git a/src/main/java/org/springblade/modules/business/pojo/entity/Device.java b/src/main/java/org/springblade/modules/business/pojo/entity/Device.java index 6cd914a..e47ba1b 100644 --- a/src/main/java/org/springblade/modules/business/pojo/entity/Device.java +++ b/src/main/java/org/springblade/modules/business/pojo/entity/Device.java @@ -68,7 +68,7 @@ public class Device extends BaseEntity { private String attachName; /** - * 运行状态( 0关机 1运行中 2报警中) + * 运行状态(1运行中 2故障) */ private Integer runStatus; diff --git a/src/main/java/org/springblade/modules/business/service/IDeviceService.java b/src/main/java/org/springblade/modules/business/service/IDeviceService.java index c78a874..6a6f876 100644 --- a/src/main/java/org/springblade/modules/business/service/IDeviceService.java +++ b/src/main/java/org/springblade/modules/business/service/IDeviceService.java @@ -48,5 +48,13 @@ public interface IDeviceService extends BaseService { void importGoods(List data, Boolean isCovered); - List limsList(Device device); + List limsList(Device device); + + /** + * 根据id更新设备状态 + * + * @param status + * @param id + */ + void updateStatus(Integer status, Long id); } diff --git a/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java b/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java index 0bb30a2..6b775c3 100644 --- a/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java +++ b/src/main/java/org/springblade/modules/business/service/IWorkOrderService.java @@ -73,4 +73,19 @@ public interface IWorkOrderService extends BaseService { List selectDeptCount(String startTime, String endTime); + + /** + * 维修人员提交维修方案 + */ + void repairPlanSubmit(WorkOrder workOrder); + + /** + * 运维主管审批拒绝维修方案 + */ + void repairPlanRefuse(WorkOrder workOrder); + + /** + * 客户确认维修完成 + */ + void repairFinish(WorkOrder workOrder); } diff --git a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java index b1ecbd0..4b9d088 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/DeviceServiceImpl.java @@ -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 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 attaches = device.getAttaches(); @@ -221,7 +227,16 @@ public class DeviceServiceImpl extends BaseServiceImpl 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 diff --git a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java index 71da0fa..0b463e7 100644 --- a/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java +++ b/src/main/java/org/springblade/modules/business/service/impl/WorkOrderServiceImpl.java @@ -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 videoAttaches, List picAttaches, Long orderId) { // 保存视频附件