where('type',WorkOrder::TYPE_OFFLINE) ->where('status',WorkOrder::STATUS_NO) ->get(); if(count($workOrder) == 0) return ; foreach ($workOrder as $v){ $bike_no = $v->bike_no; $bike = Bike::query()->where('bike_no',$bike_no)->first(); if($bike->is_link == Bike::LOCK_YES){ $this->overWorkOrder($v->id); } } } /** * 完结工单 * @param $workOrderId int 工单id * */ private function overWorkOrder($workOrderId){ try{ $work_order = WorkOrder::find($workOrderId); $work_order->planned = WorkOrder::PLANNED_STATUS_OVER; $work_order->status = WorkOrder::STATUS_OK; $work_order->fix_start_time = Carbon::now(); $work_order->worker_id = 0; $work_order->work_over_id = 0; $work_order->fix_end_time = Carbon::now(); $work_order->save(); }catch (\Exception $e){ Log::error($e->getMessage()); } } }