data["active_test"] = "active"; } public function method(Request $request, $method) { return call_user_func([$this, $method], $request); } private function valFormat($val):?string { if ($val!==null){ $ret = date("Y-m-d H:i:s",strtotime($val))===(string)$val; if ($ret)$val = "to_date('".$val."','yyyy-mm-dd hh24:mi:ss')"; else $val = "'".$val."'"; }else $val = "null"; return $val; } public function test1($task,$amount){ DB::connection("oracle")->beginTransaction(); try { $columns = ''; $values = ''; foreach ($task as $key => $val) { if (Str::upper($key) == 'TASKID_SEQUENCE') { $taskMax = DB::connection("oracle")->selectOne(DB::raw("select MAX(TASKID_SEQUENCE) maxseq from TSK_TASKLISTS where taskid = ?"), [$task->taskid]); $val = $taskMax->maxseq + 1; } if (Str::upper($key) == 'FMQTY' || Str::upper($key) == 'FMQTY_EACH' || Str::upper($key) == 'PLANTOQTY' || Str::upper($key) == 'PLANTOQTY_EACH') { $val -= $amount; $task->$key = $amount; } $columns .= $key . ","; $values .= $this->valFormat($val) . ","; } $columns = mb_substr($columns, 0, -1); $values = mb_substr($values, 0, -1); $sql = <<where("id",">=","265")->delete(); StationTaskMaterialBox::query()->whereIn("id",[85010,85011])->get(); app("CacheShelfService")->_stationCacheLightOff("HAIB1-01-01"); Station::query()->where("station_type_id",5) ->whereNotNull("parent_id")->where("id","!=",11)->update(["status"=>1]); TaskTransaction::query()->find(265)->update(["status"=>0,"material_box_id"=>4562]); StationTaskMaterialBox::query()->find(85010)->update(["status"=>"待处理","material_box_id"=>4562]); Cache::forget("CACHE_SHELF_AVAILABLE"); $task = StationTaskMaterialBox::query()->find(85010); //11 HAIB1-01-01 $a = new ForeignHaiRoboticsService(); $toLocation = collect(["HAIB1-01-01"]); $taskMaterialBoxes= collect([$task]); $a-> fetchGroup_multiLocation($toLocation, $taskMaterialBoxes, '', '立架出至缓存架',20); foreach ($toLocation as $value){ app("CacheShelfService")->lightUp($value,'3','0',["title"=>"机器人取箱中,禁止操作"]); Cache::forever("CACHE_SHELF_OCCUPANCY_11",true); } app("StationService")->locationOccupyMulti($toLocation->toArray()); } public function update_order_packages_is_manual_update() { $descriptions = Log::query() ->select('description') ->whereBetween('created_at', ['2021-08-31 10:30:00', '2021-08-31 10:35:00']) ->where('class', 'like', 'https://was.baoshi56.com/package/logistic/batchUpdate%')->pluck('description'); foreach ($descriptions as $description) { $description = substr($description, 9); $description = \Illuminate\Support\Str::before($description,"}"); $obj= json_decode($description.'}',true); OrderPackage::query() ->whereIn('logistic_number', $obj['logistic_numbers']) ->update([ 'status' => '无', 'is_manual_update' => false, ]); } } }