data["active_test"] = "active"; } public function method(Request $request, $method) { try { return call_user_func([$this, $method], $request); }catch (\BadMethodCallException $e){ dd("方法不存在"); } } public function assignBatch($code) { $batches = Batch::query()->where("code",$code)->get(); if (!$batches->count()){ $wave = DB::connection("oracle")->selectOne(DB::raw("select * from DOC_WAVE_HEADER where WAVENO = ?"),[$code]); if (!$wave){ dd("FLUX无波次"); } $owner = app("OwnerService")->codeGetOwner($wave->customerid); $obj = [ "wms_status" => $this->wms_status($wave), "wms_type"=>$wave->descr, "created_at"=>date("Y-m-d H:i:s"), "wms_created_at"=>$wave->addtime, "updated_at"=>$wave->edittime, "owner_id"=>$owner->id, ]; $wave = Batch::query()->where("code",$code)->first(); if (!$wave){ $obj["code"] = $code; $wave = Batch::query()->create($obj); }else{ Batch::query()->where("code",$code)->update($obj); } $ordernos = array_column(DB::connection("oracle")->select(DB::raw("select orderno from DOC_WAVE_DETAILS where WAVENO = ?"),[$code]),"orderno"); Order::query()->whereIn("code",$ordernos)->update([ "batch_id"=>$wave->id ]); Order::query()->with(["batch","bin"])->whereIn("code",$ordernos)->get()->each(function ($order){ if (!$order->bin){ $bin = DB::connection("oracle")->selectOne(DB::raw("select seqno from DOC_WAVE_DETAILS where waveno = ? and orderno = ?"),[$order->batch->code,$order->code]); if ($bin){ OrderBin::query()->create([ 'order_id' => $order->id, 'number' => $bin->seqno, ]); } } }); $batches = Batch::query()->where("code",$code)->get(); } app("BatchService")->assignTasks($batches); } public function syncWorkOrder(){ WorkOrder::query() ->where('work_order_status','1') ->where('bao_shi_tag', 1) ->update(['bao_shi_tag' => 3]); WorkOrder::query() ->whereIn('status',[1,4] ) ->where('work_order_status','<>','1') ->update(['bao_shi_tag' => 2]); WorkOrder::query() ->where('work_order_status','1') ->where('owner_tag', 1) ->update(['owner_tag' => 3]); WorkOrder::query() ->whereIn('status',[2,6] ) ->where('work_order_status','<>','1') ->update(['bao_shi_tag' => 2]); WorkOrder::query() ->where('work_order_status','1') ->where('logistic_tag', 1) ->update(['logistic_tag' => 3]); WorkOrder::query() ->whereIn('status',[3] ) ->where('work_order_status','<>','1') ->update(['logistic_tag' => 2]); } public function baoHandler(){ $service = new WorkOrderService(); $service->timingTask(); } }