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 = <<getVisibleFunctionList()); $url = 'denied'; header('Location: /'.$url,true,302); die(); TaskTransaction::query()->where("id",">=",280)->delete(); /*$a= new StorageService(); $a->clearTask(["HAIB1-01-01"]); $task = StationTaskMaterialBox::query()->find(90233); $station = Station::query()->find(11); $foreignHaiRoboticsService = new ForeignHaiRoboticsService(); $foreignHaiRoboticsService->putBinToStore_fromCacheShelf($task, $station); dd(1);*/ /*$batchService = new BatchService(); $batches = Batch::query()->where("id",171829)->get(); $batchService->assignTasks($batches); dd();*/ /*TaskTransaction::query()->where("id",">=",277)->delete(); StationTaskMaterialBox::query()->whereIn("id",[89685,89686,89687])->delete(); app("CacheShelfService")->_stationCacheLightOff("HAIB1-01-01");//灭灯 app("CacheShelfService")->_stationCacheLightOff("HAIB1-02-01");//灭灯 dd(1);*/ Station::query()->where("station_type_id",5)->update(["status"=>1]); Cache::forget("CACHE_SHELF_AVAILABLE"); $station = ["HAIB1-01-01","HAIB1-02-01"]; $material = ["IDE0001824","IDE0001740","IDE0002710"]; Station::query()->whereIn("code",$station)->update(["status"=>0]); $stations = Station::query()->whereIn("code",$station)->get(); $materials = MaterialBox::query()->whereIn("code",$material)->get(); $dateTime = date("Y-m-d H:i:s"); $task1 = StationTaskMaterialBox::query()->create([ 'station_id'=>$stations[0]->id, 'material_box_id'=>$materials[0]->id, 'station_task_batch_id'=>1, 'status'=>'待处理' ]); $task2=StationTaskMaterialBox::query()->create([ 'station_id'=>$stations[1]->id, 'material_box_id'=>$materials[1]->id, 'station_task_batch_id'=>1, 'status'=>'待处理' ]); $task3=StationTaskMaterialBox::query()->create([ 'station_id'=>6, 'material_box_id'=>$materials[2]->id, 'station_task_batch_id'=>1, 'status'=>'待处理' ]); TaskTransaction::query()->insert([[ "doc_code" => "test", "bar_code" => "test", "to_station_id" => $stations[0]->id, "material_box_id" => $materials[0]->id, "task_id" => $task1->id, "commodity_id" => 505012,//XUNI03 "amount" => 1, "type" => "出库", "status" => 0, "mark" => 2, "bin_number"=>1, "created_at"=>$dateTime, "updated_at"=>$dateTime, ],[ "doc_code" => "test", "bar_code" => "test", "to_station_id" => $stations[1]->id, "material_box_id" => $materials[1]->id, "task_id" => $task2->id, "commodity_id" => 505012,//XUNI03 "amount" => 1, "type" => "出库", "status" => 0, "mark" => 2, "bin_number"=>1, "created_at"=>$dateTime, "updated_at"=>$dateTime, ],[ "doc_code" => "test", "bar_code" => "test", "to_station_id" => 6, "material_box_id" => $materials[2]->id, "task_id" => $task3->id, "commodity_id" => 505012,//XUNI03 "amount" => 1, "type" => "出库", "status" => 3, "mark" => 2, "bin_number"=>1, "created_at"=>$dateTime, "updated_at"=>$dateTime, ]]); $foreignHaiRoboticsService = new ForeignHaiRoboticsService(); $toLocation = collect($station); $taskMaterialBoxes = collect([$task1,$task2]); $foreignHaiRoboticsService-> fetchGroup_multiLocation($toLocation, $taskMaterialBoxes, '', '立架出至缓存架',20,false); foreach ($toLocation as $index=>$value){ app("CacheShelfService")->lightUp($value,'3','0',["title"=>"机器人取箱中,禁止操作"]); Cache::forever("CACHE_SHELF_OCCUPANCY_{$stations[$index]->id}",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, ]); } } public function updateWorkOrder(){ $items = WorkOrder::query()->with('order.owner')->get(); $params = []; $items->each(function($item)use(&$params){ if ($item->order){ $owner_id = $item->order->owner_id; $params[] = [ 'id' => $item->id, 'order_id' => $item->order->id, 'owner_id' => $owner_id, ]; $item->owner_id = $owner_id; $item->save(); } }); } public function testUpdateInv() { ini_set('max_execution_time', 0); ini_set('memory_limit', '4096M'); $sql = <<=TO_DATE(?,'yyyy-mm-dd hh24:mi:ss') and OPENTIME<=TO_DATE(?,'yyyy-mm-dd hh24:mi:ss') sql; $CUSTOMERID = 'JIANSHANG'; $FMLOCATION = 'STAGEWH02'; $OPENWHO = 'WCS'; $TASKPROCESS = '00'; $DOCTYPE = 'ASN'; $TASKTYPE = 'PA'; $LOTATT05 = 'MJ-CP'; $LOTATT08 = 'ZP'; $PLANTOID = '*'; $traceid = 'JIANSHANG03'; $start = '2021-09-02 23:59:59'; $end = '2021-09-03 11:10:00'; $res = DB::connection("oracle")->select(DB::raw($sql), [$CUSTOMERID, $FMLOCATION, $OPENWHO, $TASKPROCESS, $DOCTYPE, $TASKTYPE, $LOTATT05, $LOTATT08, $PLANTOID, $start, $end]); $resItems = array_chunk($res, 200); foreach ($resItems as $res) { DB::connection("oracle")->beginTransaction(); try { foreach ($res as $re) { DB::connection("oracle")->table('INV_LOT_LOC_ID') ->where([ 'LOTNUM' => $re->fmlotnum, 'LOCATIONID' => $re->fmlocation, 'CUSTOMERID' => $re->customerid, 'sku' => $re->sku, 'TRACEID' => '*', ]) ->update([ 'TRACEID' => $traceid, 'EDITWHO' => 'WCS_', ]); if ($re->fmlocation != $re->plantolocation) { DB::connection("oracle")->table('INV_LOT_LOC_ID') ->where([ 'LOTNUM' => $re->fmlotnum, 'LOCATIONID' => $re->plantolocation, 'CUSTOMERID' => $re->customerid, 'sku' => $re->sku, 'TRACEID' => '*', ]) ->update([ 'TRACEID' => $traceid, 'EDITWHO' => 'WCS_', ]); } DB::connection("oracle")->commit(); } dd(true); } catch (\Exception $e) { DB::connection("oracle")->rollBack(); dd($e->getMessage()); } } } public function testDocOrder() { $now=Carbon::now()->toDateTimeString(); $before=Carbon::now()->subMinutes(30)->toDateTimeString(); // dd($now,$before); $orders=OracleDOCOrderHeader::query() ->whereIn('sostatus',['40','50','60','61']) // ->where('edittime','>=',$before) // ->where('edittime','<=',$now) ->whereNotNull('soreference5') ->where('manualflag','N') ->whereIn('customerid',['BAOSHI']) //指定货主 ->where('releasestatus','!=','H') ->get(); // ->update(['manualflag'=>'N','edittime'=>$now]); dd($orders); } }