logService = app('WorkOrderLogService'); $this->detailService = app('WorkOrderDetailService'); $this->issueTypeService = app('OrderIssueTypeService'); $this->orderService = app('OrderService'); $this->workOrderService = app('WorkOrderService'); } /* * 错漏发处理流程 * 1:创建错漏发工单 * 2:宝时审核商品数量 * 3:商家进行处理结果填充 */ public function store($params) { $issueType = $this->issueTypeService->firstOrCreate(['name' => '错漏发']); $order = $this->orderService->first(['code' => $params['order_no']]); $workOrder = $this->workOrderService->createAndNotification($order, $issueType, $params['remark'] ?? ''); $detail = $this->detailService->createWorkOrderDetail($workOrder, $params); $this->logService->createLog($detail, '创建', '创建'); $workOrder->changeStatus('宝时处理'); $detail->changeStatus('宝时处理'); } public function baoShiReview(WorkOrderDetail $detail,$params) { $this->detailService->updateDetail($detail,$params); $detail->changeStatus('待货主完结'); $detail->workOrder->clearWorkOrderStatus(); $detail->workOrder->changeStatus('待货主完结'); $this->logService->createLog($detail, '处理', '承运商处理'); } public function ownerReviewAndEnd(WorkOrderDetail $detail,$params) { $this->detailService->updateDetail($detail,$params); $this->logService->createLog($detail, '处理', '货主处理'); $this->logService->createLog($detail, '完结', '货主完结'); $detail->changeStatus('完成'); $detail->workOrder->changeStatus('完成'); $this->detailService->endDetail($detail); } }