瀏覽代碼

Merge branch 'zzd'

zhouzhendong 4 年之前
父節點
當前提交
a6935d88d8

+ 3 - 0
app/Http/Controllers/StorageController.php

@@ -21,6 +21,7 @@ use Illuminate\Foundation\Auth\AuthenticatesUsers;
 use Illuminate\Support\Collection;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Cookie;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Validator;
@@ -356,6 +357,8 @@ sql;
         request()->offsetSet("remember",true);
         if (!$this->attemptLogin(request()))return ['success'=>false,'errors'=>['name'=>['登录信息验证失败']]];
         if (!Gate::allows("入库管理-入库-缓存架入库") && !Gate::allows("入库管理-入库-半箱补货入库"))return ['success'=>false,'errors'=>['name'=>['用户无权操作入库']]];
+        $rememberTokenName = Auth::getRecallerName();
+        Cookie::queue($rememberTokenName, Cookie::get($rememberTokenName), 720);
         return ['success'=>true,'url'=>url("store/inStorage/android.index")];
     }
     public function username(): string

+ 10 - 44
app/Http/Controllers/TestController.php

@@ -6,6 +6,7 @@ use App\Components\AsyncResponse;
 use App\Components\ErrorPush;
 use App\ErrorTemp;
 use App\Feature;
+use App\MaterialBox;
 use App\MaterialBoxModel;
 use App\Owner;
 use App\OwnerFeeDetail;
@@ -18,7 +19,9 @@ use App\StationTaskMaterialBox;
 use App\TaskTransaction;
 use App\Unit;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Cache;
+use Illuminate\Support\Facades\Cookie;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Http;
 
@@ -54,50 +57,13 @@ class TestController extends Controller
     private $key = "CACHE_SHELF_AVAILABLE";
     public function test()
     {
-        TaskTransaction::query()->where("id",23)->update([
-            "to_station_id" => 10,
-            "status" => 0,
-            "updated_at" => date("Y-m-d H:i:s")
-        ]);
-        TaskTransaction::query()->where("id",27)->update([
-            "to_station_id" => 24,
-            "status" => 0,
-            "updated_at" => date("Y-m-d H:i:s")
-        ]);
-        dd("OK");
-        $ar = StationTaskMaterialBox::query()->whereIn("id",[66124,66125,66126,66127,66128])->get();
-        foreach ($ar as $stationTaskMaterialBox){
-            $stationTaskMaterialBox->materialBox['status']='在缓存架';
-            $stationTaskMaterialBox->materialBox->update();
-            $stationTaskMaterialBox->loadMissing("station");    //提前加载站,后续都需要站信息来处理
-            app("StorageService")->putCacheShelf($stationTaskMaterialBox);
-            app("StorageService")->releaseOccupation($stationTaskMaterialBox); //释放库位占用
-            $this->set($stationTaskMaterialBox,[
-                'id' => $stationTaskMaterialBox['station_id'],
-                'status' => '完成',
-            ]);
-            if (!$stationTaskMaterialBox->station_task_id)return;
-            $task = StationTaskMaterialBox::query()->select(DB::raw(1))
-                ->where("station_task_id",$stationTaskMaterialBox->station_task_id)
-                ->where("status","!=","完成")->first();
-            if (!$task)StationTask::query()->where("id",$stationTaskMaterialBox->station_task_id)
-                ->update(["status"=>"完成"]);
-        }
-    }
-
-    function set($target,array $kvPairs){
-        $update = $target->update($kvPairs);
-        Cache::forget($this->cachingKey($kvPairs));
-        if(isset($kvPairs['id'])){
-            Cache::forget($this->cachingKey(['id'=>$kvPairs['id']]));
-        }
-        return $update;
-    }
-    protected $modelClass=StationTaskMaterialBox::class;
-    protected function cachingKey(array $kvPairs): string
-    {
-        ksort($kvPairs);
-        return $this->modelClass.md5(json_encode($kvPairs));
+        $modelId = 1;
+        $blacklist = [];
+        $query = MaterialBox::query()->where("material_box_model_id",$modelId)
+            ->where("status",4);
+        $boxes = $query->whereNotIn("id",$query->select("id")->whereHas("performTask"));
+        if ($blacklist)$boxes = $boxes->whereNotIn("id",$blacklist);
+        dd($boxes->get());
     }
 
 }

+ 3 - 2
app/Services/MaterialBoxService.php

@@ -115,8 +115,9 @@ sql;
     public function getModelAvailableBox(int $modelId, bool $sqlQuery = false, array $blacklist = [])
     {
         $query = MaterialBox::query()->where("material_box_model_id",$modelId)->where("status",4);
-        $boxes = $query->whereNotIn("id",$query->whereHas("performTask"))
-            ->whereNotIn("id",$blacklist)->get();
+        $boxes = $query->whereNotIn("id",$query->select("id")->whereHas("performTask"));
+        if ($blacklist)$boxes = $boxes->whereNotIn("id",$blacklist);
+        $boxes = $boxes->get();
         if (!$sqlQuery)return $boxes;
         if ($boxes->count()==0)return null;
         $boxCodes = "";