|
|
|
|
@ -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) { |
|
|
|
|
// 保存视频附件
|
|
|
|
|
|