issueTypeService->firstOrCreate(['name' => '信息更改']); $orderQuery = Order::query()->select('id')->where('code', $nos); $workOrder = WorkOrder::query()->select('id')->whereIn('order_id', $orderQuery)->first(); if (!$workOrder) return false; return WorkOrderDetail::query() ->where('order_issue_type_id', $issueType['id']) ->where('work_order_id', $workOrder->id)->exists(); } /* * 错漏发处理流程 * 1:创建错漏发工单 * 2:宝时审核商品数量 * 3:商家进行处理结果填充 */ public function store($params) { $issueType = $this->issueTypeService->firstOrCreate(['name' => '错漏发']); $order = $this->syncOrder($params['order_no']); $workOrder = $this->createAndNotification($order, $issueType, $params['remark'] ?? '', '商家已创建'); $detail = $this->detailService->createWorkOrderDetail($workOrder, $params); $workOrder->update([ 'status'=> WorkOrder::$BAO_SHI_HANDLER_STATUS, 'process_progress' => '商家创建', 'last_status' => WorkOrder::$DEFAULT_STATUS, 'bao_shi_tag' => WorkOrder::$NEW_TAG, 'logistic_tag' => WorkOrder::$DEFAULT_TAG, 'owner_tag' => WorkOrder::$DEFAULT_TAG, 'logistic_handle_tag' =>0, ]); $detail->update([ 'status'=> WorkOrder::$BAO_SHI_HANDLER_STATUS, 'process_progress' => '商家创建', 'last_status' => WorkOrder::$DEFAULT_STATUS, ]); $this->logService->createLog($detail, '创建', '商家创建'); } /** * 创建工单后的修改操作 货主 * @param WorkOrderDetail $detail * @param $params */ public function ownerEdit(WorkOrderDetail $detail, $params) { $this->detailService->updateDetail($detail, $params); $detail->update([ 'status' => WorkOrder::$BAO_SHI_HANDLER_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$DEFAULT_STATUS, 'logistic_handle_tag' =>0, ]); $detail->workOrder()->update([ 'status' => WorkOrder::$BAO_SHI_HANDLER_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$DEFAULT_STATUS, 'work_order_status' => 0, ]); $this->logService->createLog($detail, '处理', '商家修改'); } /** * 宝时复核 * @param WorkOrderDetail $detail * @param $params */ public function baoShiCheckMistake(WorkOrderDetail $detail, $params) { $this->detailService->updateDetail($detail, $params); $detail->update([ 'status' => WorkOrder::$OWNER_HANDLER_STATUS, 'process_progress' => '已核实', 'last_status' => WorkOrder::$BAO_SHI_HANDLER_STATUS, 'logistic_handle_tag' =>0, ]); $detail->workOrder()->update([ 'status' => WorkOrder::$OWNER_HANDLER_STATUS, 'process_progress' => '已核实', 'last_status' => WorkOrder::$BAO_SHI_HANDLER_STATUS, 'owner_tag' => WorkOrder::$STRAND_TAG, 'bao_shi_tag' => WorkOrder::$DEFAULT_TAG, 'logistic_tag' => WorkOrder::$DEFAULT_TAG, 'work_order_status' => 0, ]); $this->logService->createLog($detail, '处理', '已核实'.'-宝时处理'); } /** * 货主审核宝时复核结果 * @param WorkOrderDetail $detail * @param $params */ public function ownerReview(WorkOrderDetail $detail, $params) { $this->detailService->updateDetail($detail, $params); $detail->update([ 'status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$OWNER_HANDLER_STATUS, 'logistic_handle_tag' =>0, ]); $detail->workOrder()->update([ 'status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$OWNER_HANDLER_STATUS, 'bao_shi_tag' => WorkOrder::$STRAND_TAG, 'owner_tag' => WorkOrder::$DEFAULT_TAG, 'logistic_tag' => WorkOrder::$DEFAULT_TAG, 'work_order_status' => 0, ]); $this->logService->createLog($detail, '处理', $params['process_progress'].'-货主处理'); } /** * 货主编辑 * @param WorkOrderDetail $detail * @param $params */ public function ownerEditReview(WorkOrderDetail $detail, $params) { $this->detailService->updateDetail($detail, $params); $detail->update([ 'status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$OWNER_HANDLER_STATUS, 'logistic_handle_tag' =>0, ]); $detail->workOrder()->update([ 'status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$OWNER_HANDLER_STATUS, 'work_order_status' => 0, ]); $this->logService->createLog($detail, '处理', $params['process_progress'].'-货主编辑'); } /** * 宝时终审 * @param $detail * @param $params */ public function baoShiReview($detail, $params) { $this->detailService->updateDetail($detail, $params); $detail->update([ 'status' => WorkOrder::$TO_BO_OWNER_END_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'logistic_handle_tag' =>0, ]); $detail->workOrder()->update([ 'status' => WorkOrder::$TO_BO_OWNER_END_STATUS, 'process_progress' => $params['process_progress'], 'last_status' => WorkOrder::$BAO_SHI_REVIEW_STATUS, 'owner_tag' => WorkOrder::$STRAND_TAG, 'logistic_tag' => WorkOrder::$DEFAULT_TAG, 'bao_shi_tag' => WorkOrder::$DEFAULT_TAG, 'work_order_status' => 0, ]); $this->syncOrderIssueProcessLogs($detail); $this->logService->createLog($detail, '终审', $params['process_progress'].'-宝时终审'); } }