فهرست منبع

缓存架入库更改为跟踪号

Zhouzhendong 4 سال پیش
والد
کامیت
290cd50747

+ 77 - 103
app/Http/Controllers/StorageController.php

@@ -93,8 +93,6 @@ class StorageController extends Controller
      */
     public function checkMaximum()
     {
-        $track = request("track");
-        $barCode = request("barCode");
         $lotNum = request("lotNum");
         $sql = <<<SQL
 SELECT * FROM INV_LOT_ATT WHERE LOTNUM = '{$lotNum}'
@@ -106,7 +104,7 @@ SQL;
         })->where("sku",$lot->sku)->first();
         if (!$commodity)$this->error("WAS无此商品信息");
         $models = CommodityMaterialBoxModel::query()->where("commodity_id",$commodity->id)->get();
-        if ($models->count()==0)$this->success(["material_box_model_id"=>null]);
+        if ($models->count()==0)$this->success(["material_box_model_id"=>null,"commodity_id"=>$commodity->id]);
         $map = [];
         foreach ($models as $model)$map[$model->material_box_model_id] = $model;
         $models = app("MaterialBoxModelService")->getModelSortedByOwner($commodity->owner_id);
@@ -114,14 +112,9 @@ SQL;
         foreach ($models as $model){
             if (!isset($map[$model->id]))continue;
             $model->maximum = $map[$model->id]->maximum;
-            $boxes = app("MaterialBoxService")->getModelAvailableBox($model->id);
-            if ($boxes->count()==0)continue;
+            $boxCodes = app("MaterialBoxService")->getModelAvailableBox($model->id,true);
+            if (!$boxCodes)continue;
             if (!$m)$m = $model;
-            $boxCodes = "";
-            foreach ($boxes as $box){
-                $boxCodes .= "'".$box->code."',";
-            }
-            $boxCodes = rtrim($boxCodes,",");
             $sql = <<<SQL
 SELECT LOCATIONID,({$model->maximum}-QTY) AS QTY FROM INV_LOT_LOC_ID WHERE LOTNUM = '{$lotNum}'
 AND LOCATIONID IN ({$boxCodes}) AND TRACEID = '*' AND {$model->maximum}-QTY > 0 ORDER BY (CASE QTY WHEN 0 THEN 1 ELSE 0 END),{$model->maximum}-QTY
@@ -130,11 +123,12 @@ SQL;
             if ($res){
                 $m = $model;
                 $m->maximum = $res->qty;
+                $m->location = $res->locationid;
                 break;
             }
         }
         if (!$m)$this->error("没有可用料箱");
-        $this->success(["need"=>$m->maximum,"material_box_model_id"=>$m->id,"commodity_id"=>$commodity->id]);
+        $this->success(["need"=>$m->maximum,"material_box_model_id"=>$m->id,"commodity_id"=>$commodity->id,"location"=>$m->locationid]);
     }
 
     /**
@@ -204,49 +198,59 @@ sql;
         if (!$station)$this->error("未知库位");
         $isAvailable = app("StationService")->isAvailable($station);
         if (!$isAvailable)$this->error("库存被占用或存在任务未处理");
-        $amount = app("StorageService")->checkPutAmount(request("asn"),request("barCode"));
+        $amount = app("StorageService")->checkPutAmount(request("track"),request("barCode"),request("lotNum"));
         if ($amount<request("amount"))$this->error("待上架数量不足,最大可上数量为{$amount}");
 
         //发起取箱任务
-        $exe = function ($boxId)use($station){
+        $exe = function ($boxId)use($station,$amount){
             DB::beginTransaction();
-            $collection = new Collection();
-            $task = StationTask::query()->create([
-                'status' => "待处理",
-                'station_id' => $station->id,
-            ]);
-            $collection->add(StationTaskMaterialBox::query()->create([
-                'station_id' => $station->id,
-                'material_box_id'=>$boxId,
-                'status'=>"待处理",
-                'type' => '取',
-                'station_task_id' => $task->id,
-            ]));
-            if (!app("ForeignHaiRoboticsService")->fetchGroup($station->code,$collection,'','立架出至缓存架'))$this->error("呼叫机器人失败");
-            //生成临时任务事务
-            TaskTransaction::query()->create([
-                "doc_code" => request("asn"),
-                "bar_code" => request("barCode"),
-                "fm_station_id" => $station->id,
-                "material_box_id" => $boxId,
-                "commodity_id" => request("commodity_id"),
-                "amount" => request("amount"),
-                "type" => "入库",
-                "user_id" => Auth::id(),
-                "mark" => 1
-            ]);
-            DB::commit();
-            //亮灯
-            app("CacheShelfService")->lightUp($station->code,'3','2');
-            app("StationService")->locationOccupy($station->code);//占用库位
-            Cache::forever("CACHE_SHELF_OCCUPANCY_{$station->id}",true);
+            try{
+                $collection = new Collection();
+                $task = StationTask::query()->create([
+                    'status' => "待处理",
+                    'station_id' => $station->id,
+                ]);
+                $collection->add(StationTaskMaterialBox::query()->create([
+                    'station_id' => $station->id,
+                    'material_box_id'=>$boxId,
+                    'status'=>"待处理",
+                    'type' => '取',
+                    'station_task_id' => $task->id,
+                ]));
+                if (!app("ForeignHaiRoboticsService")->fetchGroup($station->code,$collection,'','立架出至缓存架'))$this->error("呼叫机器人失败");
+                //生成临时任务事务
+                TaskTransaction::query()->create([
+                    //"doc_code" => request("asn"),
+                    "bar_code" => request("barCode"),
+                    "fm_station_id" => $station->id,
+                    "material_box_id" => $boxId,
+                    "commodity_id" => request("commodity_id"),
+                    "amount" => request("amount"),
+                    "type" => "入库",
+                    "user_id" => Auth::id(),
+                    "mark" => 1,
+                    "lot_num" => request("lotNum"),
+                    "track_num" => request("track"),
+                ]);
+                //亮灯
+                app("CacheShelfService")->lightUp($station->code,'3','2');
+                app("StationService")->locationOccupy($station->code);//占用库位
+                Cache::forever("CACHE_SHELF_OCCUPANCY_{$station->id}",true);
+                DB::commit();
+                return true;
+            }catch (\Exception $e){
+                DB::rollBack();
+                return false;
+            }
         };
-        if ($boxId && app("MaterialBoxService")->checkUsableBox($boxId))$this->success($exe($boxId));
-        $item = app("StoreItemService")->getMaxAvailableDetail(request("asn"),request("barCode"));
-        if (!$item)$this->error("无此单据记录");
-        $models = app("MaterialBoxModelService")->getModelSortedByOwner($item->store->owner_id);
-        $models->load(["commodity"=>function($query)use($item){
-            $query->where("commodity_id",$item->commodity_id);
+        //检查获取的料箱仍然可用
+        if ($boxId && app("MaterialBoxService")->checkUsableBox($boxId))$this->success(["status"=>$exe($boxId),"amount"=>$amount-request("amount")]);
+
+        $commodity = Commodity::query()->find(request("commodity_id"));
+        if (!$commodity)$this->error("商品在WAS丢失");
+        $models = app("MaterialBoxModelService")->getModelSortedByOwner($commodity->owner_id);
+        $models->load(["commodity"=>function($query)use($commodity){
+            $query->where("commodity_id",$commodity->id);
         }]);
         //获取料箱
         if ($boxId){
@@ -254,18 +258,18 @@ sql;
             $boxId = null;
             //料箱存在且不可用
             /** @var \Illuminate\Database\Eloquent\Collection $models */
-
             foreach ($models as $model){
                 if (!$model->commodity)continue;
                 //料箱不可用寻找新料箱
-                $result = app("StorageService")->getHalfBoxLocation($model->commodity,$item,request("asn"),$blacklist);
+                $result = app("StorageService")->getMaxAvailableHalfBoxLocation($model->commodity, request("lotNum"), $blacklist);
                 while ($result){
+                    $materialBox = MaterialBox::query()->where("code",$result->locationid)->first();
                     //料箱可用并且数量符合本次半箱数量 跳出
-                    if (app("MaterialBoxService")->checkUsableBox($result->material_box_id)
-                        && $model->maximum-$result->amount>=request("amount"))$this->success($exe($result->material_box_id));
-                    else $blacklist[] = $result->material_box_id;
+                    if ($materialBox && app("MaterialBoxService")->checkUsableBox($materialBox->id)
+                        && $result->qty>=request("amount"))$this->success(["status"=>$exe($materialBox->id),"amount"=>$amount-request("amount")]);
+                    else if ($materialBox)$blacklist[] = $materialBox->id;
                     //否则黑名单此料箱继续查找 直至料箱为空
-                    $result = app("StorageService")->getHalfBoxLocation($model->commodity,$item,request("asn"),$blacklist);
+                    $result = app("StorageService")->getMaxAvailableHalfBoxLocation($model->commodity, request("lotNum"), $blacklist);
                 }
             }
         }
@@ -279,7 +283,7 @@ sql;
             }
         }else $box = app("MaterialBoxService")->getAnEmptyBox(MaterialBoxModel::query()->find($modelId));
         if (!$box)$this->error("无可用料箱");
-        $this->success($exe($box->id));
+        $this->success(["status"=>$exe($box->id),"amount"=>$amount-request("amount")]);
     }
 
     /**
@@ -432,7 +436,6 @@ sql;
     {
         $insert = function ($commodityId){
             $in = [];
-            $map = [];
             $ids = [];
             foreach (request("models") as $model){
                 $in[] = [
@@ -440,59 +443,30 @@ sql;
                     "material_box_model_id" => $model["id"],
                     "maximum" => $model["maximum"]
                 ];
-                $map[$model["id"]] = $model;
                 $ids[] = $model["id"];
             }
-            return array($in,$map,$ids);
+            return array($in,$ids);
         };
-        if (request("commodityId")){
-            list($in,$map,$ids) = $insert(request("commodityId"));
-            if ($ids){
-                $map = array_flip($ids);
-                foreach (CommodityMaterialBoxModel::query()->where("commodity_id",request("commodityId"))
-                             ->lockForUpdate()->get() as $model){
-                    $index = $map[$model->material_box_model_id];
-                    if ($model->maximum != $in[$index]["maximum"]){
-                        CommodityMaterialBoxModel::query()->where("commodity_id",request("commodityId"))
-                            ->where("material_box_model_id",$model->material_box_model_id)
-                            ->update(["maximum"=>$in[$index]["maximum"]]);
-                    }
-                    unset($in[$index]);
+        list($in,$ids) = $insert(request("commodityId"));
+        if ($ids){
+            $map = array_flip($ids);
+            foreach (CommodityMaterialBoxModel::query()->where("commodity_id",request("commodityId"))
+                         ->lockForUpdate()->get() as $model){
+                $index = $map[$model->material_box_model_id];
+                if ($model->maximum != $in[$index]["maximum"]){
+                    CommodityMaterialBoxModel::query()->where("commodity_id",request("commodityId"))
+                        ->where("material_box_model_id",$model->material_box_model_id)
+                        ->update(["maximum"=>$in[$index]["maximum"]]);
                 }
-                $in = array_values($in);
-            }
-            if ($in){
-                LogService::log(__CLASS__,__METHOD__,json_encode($in));
-                CommodityMaterialBoxModel::query()->insert($in);
+                unset($in[$index]);
             }
-            $this->success();
+            $in = array_values($in);
         }
-        $item = StoreItem::query()->whereHas("store",function (Builder $query){
-            $query->where("asn_code",request("asn"));
-        })->whereHas("commodity",function (Builder $query){
-            $query->whereHas("barcodes",function (Builder $query){
-                $query->where("code",request("barCode"));
-            });
-        })->first();
-        if (!$item)$this->error("商品不存在");
-        list($in,$map,$ids) = $insert($item->store->commodity_id);
-        LogService::log(__CLASS__,__METHOD__,json_encode($in));
-        CommodityMaterialBoxModel::query()->insert($in);
-        $this->getMaterBoxModel($item,$map);
-    }
-
-    private function getMaterBoxModel($commodity,$map)
-    {
-        $models = app("MaterialBoxModelService")->getModelSortedByOwner($commodity->owner_id);
-        foreach ($models as $model){
-            if (!isset($map[$model->id]))continue;
-            //$result = app("StorageService")->getHalfBoxLocation($map[$model->id],$item,$item->store->asn_code);
-            $result = app("StorageService")->getMaxAvailableHalfBoxLocation($map[$model->id],$item,$item->store->asn_code);
-            if (!$result)continue;
-            $result->maximum = $model->maximum-$result->amount;
-            $this->success($result);
+        if ($in){
+            LogService::log(__CLASS__,__METHOD__,json_encode($in));
+            CommodityMaterialBoxModel::query()->insert($in);
         }
-        $this->success(["need"=>$models[0]->maximum,"material_box_model_id"=>$models[0]->material_box_model_id,"commodity_id"=>$commodity->id]);
+        $this->success();
     }
 
     /**

+ 11 - 3
app/Services/MaterialBoxService.php

@@ -110,11 +110,19 @@ sql;
      *
      * @param integer $modelId
      *
-     * @return Collection
+     * @return Collection|string|null
      */
-    public function getModelAvailableBox(int $modelId):Collection
+    public function getModelAvailableBox(int $modelId, bool $sqlQuery = false, array $blacklist = [])
     {
         $query = MaterialBox::query()->where("material_box_model_id",$modelId)->where("status",4);
-        return $query->whereNotIn("id",$query->whereHas("performTask"))->get();
+        $boxes = $query->whereNotIn("id",$query->whereHas("performTask"))
+            ->whereNotIn("id",$blacklist)->get();
+        if (!$sqlQuery)return $boxes;
+        if ($boxes->count()==0)return null;
+        $boxCodes = "";
+        foreach ($boxes as $box){
+            $boxCodes .= "'".$box->code."',";
+        }
+        return rtrim($boxCodes,",");
     }
 }

+ 35 - 12
app/Services/StorageService.php

@@ -61,7 +61,7 @@ class StorageService
                         case 1:
                             $task = $tasks[0];
                             $options["detail01"] = $task->materialBox->code ?? '';
-                            $options["detail02"] = $task->doc_code;
+                            $options["detail02"] = $task->doc_code ?: $task->track_num;
                             $options["detail03"] = $task->bar_code;
                             $options["qty01"] = $task->amount;
                             $options["uomDesc01"] = '件';
@@ -187,7 +187,7 @@ class StorageService
         DB::beginTransaction();
         try{
             //get flux
-            $tasks = $this->getFluxTask($task->doc_code,$task->bar_code,$task->amount);
+            $tasks = $this->getFluxTask($task->track_num,$task->lot_num,$task->bar_code,$task->amount);
             if (!$tasks)return false;
             $ide = $task->materialBox->code;
             DB::connection("oracle")->beginTransaction();
@@ -288,22 +288,23 @@ class StorageService
     /**
      * 获取FLUX上架任务列表
      *
-     * @param string $asn
+     * @param string $trace
+     * @param string $lotNum
      * @param string $barCode
      * @param int $amount
      *
      * @return array|null
      */
-    public function getFluxTask(string $asn,string $barCode,int $amount):array
+    public function getFluxTask(string $trace, string $lotNum, string $barCode,int $amount):array
     {
         $sql = <<<SQL
 SELECT TSK_TASKLISTS.* FROM TSK_TASKLISTS LEFT JOIN BAS_SKU ON TSK_TASKLISTS.CUSTOMERID = BAS_SKU.CUSTOMERID
 AND TSK_TASKLISTS.SKU = BAS_SKU.SKU
-WHERE FMID = ? AND (ALTERNATE_SKU1 = ? OR ALTERNATE_SKU2 = ? OR ALTERNATE_SKU3 = ?)
+WHERE FMID = ? AND FMLOTNUM = ? AND (ALTERNATE_SKU1 = ? OR ALTERNATE_SKU2 = ? OR ALTERNATE_SKU3 = ?)
 AND TASKPROCESS = '00' AND TASKTYPE = 'PA'
 SQL;
 
-        $tasks = DB::connection("oracle")->select(DB::raw($sql),[$asn,$barCode,$barCode,$barCode,$amount]);
+        $tasks = DB::connection("oracle")->select(DB::raw($sql),[$trace,$lotNum,$barCode,$barCode,$barCode,$amount]);
         if (!$tasks)return [];
         $nums = [];
         $sum = 0;
@@ -594,6 +595,26 @@ SQL;
             ]);
     }
 
+    /**
+     * 获取指定型号的半箱库位
+     *
+     * @param CommodityMaterialBoxModel $model
+     * @param string $lotNum
+     * @return string|null
+     */
+    public function getMaxAvailableHalfBoxLocation(CommodityMaterialBoxModel $model, string $lotNum, array $blacklist = []):?string
+    {
+        $boxCodes = app("MaterialBoxService")->getModelAvailableBox($model->material_box_model_id,true,$blacklist);
+        if (!$boxCodes)return null;
+        $sql = <<<SQL
+SELECT LOCATIONID,({$model->maximum}-QTY) AS QTY FROM INV_LOT_LOC_ID WHERE LOTNUM = '{$lotNum}'
+AND LOCATIONID IN ({$boxCodes}) AND TRACEID = '*' AND {$model->maximum}-QTY > 0 ORDER BY (CASE QTY WHEN 0 THEN 1 ELSE 0 END),{$model->maximum}-QTY
+SQL;
+        $res = DB::connection("oracle")->selectOne(DB::raw($sql));
+        if ($res)return $res;
+        return null;
+    }
+
     /**
      * 获取半箱库位库存信息  废弃
      *
@@ -654,22 +675,24 @@ sql;
     /**
      * 检查可上架数量
      *
-     * @param string $asn
+     * @param string $track
      * @param string $barCode
+     * @param string $lotNum
      *
      * @return int
      */
-    public function checkPutAmount(string $asn,string $barCode):int
+    public function checkPutAmount(string $track, string $barCode, string $lotNum):int
     {
         $sql = <<<SQL
 SELECT SUM(FMQTY) qty FROM TSK_TASKLISTS
 LEFT JOIN BAS_SKU ON TSK_TASKLISTS.CUSTOMERID = BAS_SKU.CUSTOMERID AND TSK_TASKLISTS.SKU = BAS_SKU.SKU
-WHERE DOCNO = ? AND (ALTERNATE_SKU1 = ? OR ALTERNATE_SKU2 = ? OR ALTERNATE_SKU3 = ?) AND TASKTYPE = 'PA'
+WHERE FMID = ? AND FMLOTNUM = ? AND (ALTERNATE_SKU1 = ? OR ALTERNATE_SKU2 = ? OR ALTERNATE_SKU3 = ?) AND TASKTYPE = 'PA'
 AND TASKPROCESS = '00'
 SQL;
-        $tsk = DB::connection("oracle")->selectOne(DB::raw($sql),[$asn,$barCode,$barCode,$barCode]);
-        if (!$tsk)return  0;
-        $trk = TaskTransaction::query()->select(DB::raw("SUM(amount) amount"))->where("doc_code",$asn)->where("bar_code",$barCode)
+        $tsk = DB::connection("oracle")->selectOne(DB::raw($sql),[$track,$lotNum,$barCode,$barCode,$barCode]);
+        if (!$tsk)return 0;
+        $trk = TaskTransaction::query()->select(DB::raw("SUM(amount) amount"))->where("track_num",$track)
+            ->where("lot_num",$lotNum)->where("bar_code",$barCode)
             ->where("type","入库")->where("status",0)->first();
         if (!$trk)return $tsk->qty;
         return $tsk->qty - $trk->amount;

+ 25 - 29
resources/views/store/inStorage/halfChestStorage.blade.php

@@ -12,8 +12,7 @@
                     </div>
                     <div class="form-group row">
                         <label for="track" class="col-sm-2 col-3 text-right">跟踪号:</label>
-                        <input type="text" class="form-control col-8" id="track"
-                             @change="downSign()" :class="errors.track ? 'is-invalid' : ''" @keydown.enter="enterVal($event)" v-model="info.track" @blur="check()">
+                        <input type="text" class="form-control col-8" id="track" :class="errors.track ? 'is-invalid' : ''" @keydown.enter="enterVal($event)" v-model="info.track" @blur="check()">
                         <span class="invalid-feedback offset-3" role="alert" v-if="errors.track">
                             <strong>@{{ errors.track[0] }}</strong>
                         </span>
@@ -29,7 +28,7 @@
                     <div class="form-group row">
                         <label for="barCode" class="col-sm-2 col-3 text-right">条码:</label>
                         <input type="text" class="form-control col-8" id="barCode" placeholder="扫描商品条码"
-                               @change="downSign()" :class="errors.barCode ? 'is-invalid' : ''" v-model="info.barCode" @blur="check()" @keydown.enter="enterVal($event)">
+                               :class="errors.barCode ? 'is-invalid' : ''" v-model="info.barCode" @blur="check()" @keydown.enter="enterVal($event)">
                         <span class="invalid-feedback offset-3" role="alert" v-if="errors.barCode">
                             <strong>@{{ errors.barCode[0] }}</strong>
                         </span>
@@ -102,13 +101,10 @@
                 ],
                 info:{},
                 mount:false,
-                before:{
-
-                },
+                /*before:{},*/
                 focus:"",
                 errors:{},
                 ov:{},//溢出减量数值
-                checkSign:false,
                 element:[
                     "track","station","barCode","amount","submit"
                 ],
@@ -173,7 +169,7 @@
                         document.getElementById("location").focus();
                     },500);
                 },
-                //聚焦 白名单
+                /*//聚焦 白名单
                 codeFocus(){
                     if (!this.permissionList.includes(document.activeElement.id)) document.getElementById("barCode").focus();
                 },
@@ -183,7 +179,7 @@
                     this.mount = turn;//防止重复挂载事件
                     if (turn) window.addEventListener("click",this.codeFocus);
                     else window.removeEventListener("click",this.codeFocus);
-                },
+                },*/
 
                 checkInfo(){
                     let error = {};
@@ -197,12 +193,19 @@
                 },
                 _exeTask(){
                     window.tempTip.postBasicRequest("{{url('store/inStorage/acquireBox')}}",this.info,()=>{
-                        this.info = {track:this.info.track};
+                        if (!this.status){
+                            window.tempTip.show("调取失败,内部错误");
+                            return;
+                        }
+                        if (this.amount>0){
+                            this.info.station = "";
+                            this.info.amount = "";
+                        }else this.info = {track:this.info.track};
                         this.errors = {};
                         return "上架成功!";
                     });
                 },
-                createBefore(){
+  /*              createBefore(){
                     let now = new Date();
                     let yy = now.getFullYear().toString().substr(2, 2);
                     let mm = now.getMonth() + 1;
@@ -210,26 +213,24 @@
                     let dd = now.getDate();
                     dd = dd <10 ? '0'+dd : dd.toString();
                     this.before.asn = 'ASN'+yy+mm+dd+'000';
-                },
-                downSign(){
-                    this.checkSign = false;
-                },
+                },*/
                 checkMaximum(){
                     window.tempTip.postBasicRequest("{{url('store/inStorage/checkMaximum')}}",this.info,res=>{
                         if (!res.material_box_model_id){
+                            this.info.commodity_id = res.commodity_id;
                             this.showMaximumModal();
                             return;
                         }
-                        this.info.maximum = res.maximum;
-                        this.info.material_box_id = res.material_box_id;
+                        this.info.maximum = res.need;
+                        this.info.location = res.location;
                         this.info.material_box_model_id = res.material_box_model_id;
                         this.info.commodity_id = res.commodity_id;
-                        if(!this.info.amount)this.info.amount = res.maximum;
-                        return "该库位最大可上数为"+res.maximum;
+                        if(!this.info.amount)this.info.amount = res.need;
+                        return "该库位最大可上数为"+res.need;
                     });
                 },
                 check(){
-                    if (!this.info.track || !this.info.barCode || this.checkSign)return;
+                    if (!this.info.track || !this.info.barCode)return;
                     if (!this.info.lotNum || this.info.track !== this.oldInfo.track || this.info.barCode !== this.oldInfo.barCode){
                         window.tempTip.postBasicRequest("{{url('store/inStorage/checkTask')}}",this.info,res=>{
                             this.oldInfo = {track:this.info.track,barCode:this.info.barCode};
@@ -247,8 +248,8 @@
                             }
                         });
                     }
-                    this.checkSign = true;
                 },
+                //回车向下TAB
                 enterVal(e){
                     let index = this.element.indexOf(e.target.id)+1;
                     let element = document.getElementById(this.element[index]);
@@ -319,19 +320,14 @@
                         return;
                     }
                     window.tempTip.postBasicRequest("{{url('store/inStorage/setMaximum')}}",
-                        {models:models,track:this.info.track,barCode:this.info.barCode},res=>{
-                        this.info.maximum = res.maximum;
-                        this.info.material_box_id = res.material_box_id;
-                        this.info.material_box_model_id = res.material_box_model_id;
-                        this.info.commodity_id = res.commodity_id;
-                        if(!this.info.amount)this.info.amount = res.maximum;
-                        $("#maximumModal").modal("hide");
-                        return "该库位最大可上数为"+res.maximum;
+                        {models:models,commodityId:this.info.commodity_id},res=>{
+                        this.checkMaximum();
                     },true);
                 },
                 selectedLot(index){
                     this.info.lotNum = this.lots[index].lotnum;
                     this.checkMaximum();
+                    $("#lotModal").modal("hide");
                 },
             },
         });