瀏覽代碼

快速入库的表迁移文件

LD 6 年之前
父節點
當前提交
eb90f16cc7

+ 10 - 0
app/Depository.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Depository extends Model
+{
+    //
+}

+ 85 - 0
app/Http/Controllers/DepositoryController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Depository;
+use Illuminate\Http\Request;
+
+class DepositoryController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\Depository  $depository
+     * @return \Illuminate\Http\Response
+     */
+    public function show(Depository $depository)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\Depository  $depository
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(Depository $depository)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\Depository  $depository
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, Depository $depository)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\Depository  $depository
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(Depository $depository)
+    {
+        //
+    }
+}

+ 85 - 0
app/Http/Controllers/StoreController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Store;
+use Illuminate\Http\Request;
+
+class StoreController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\Store  $store
+     * @return \Illuminate\Http\Response
+     */
+    public function show(Store $store)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\Store  $store
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(Store $store)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\Store  $store
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, Store $store)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\Store  $store
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(Store $store)
+    {
+        //
+    }
+}

+ 85 - 0
app/Http/Controllers/StoreItemsController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\StoreItems;
+use Illuminate\Http\Request;
+
+class StoreItemsController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\StoreItems  $storeItems
+     * @return \Illuminate\Http\Response
+     */
+    public function show(StoreItems $storeItems)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\StoreItems  $storeItems
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(StoreItems $storeItems)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\StoreItems  $storeItems
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, StoreItems $storeItems)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\StoreItems  $storeItems
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(StoreItems $storeItems)
+    {
+        //
+    }
+}

+ 85 - 0
app/Http/Controllers/WarehouseController.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Warehouse;
+use Illuminate\Http\Request;
+
+class WarehouseController extends Controller
+{
+    /**
+     * Display a listing of the resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function index()
+    {
+        //
+    }
+
+    /**
+     * Show the form for creating a new resource.
+     *
+     * @return \Illuminate\Http\Response
+     */
+    public function create()
+    {
+        //
+    }
+
+    /**
+     * Store a newly created resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @return \Illuminate\Http\Response
+     */
+    public function store(Request $request)
+    {
+        //
+    }
+
+    /**
+     * Display the specified resource.
+     *
+     * @param  \App\Warehouse  $warehouse
+     * @return \Illuminate\Http\Response
+     */
+    public function show(Warehouse $warehouse)
+    {
+        //
+    }
+
+    /**
+     * Show the form for editing the specified resource.
+     *
+     * @param  \App\Warehouse  $warehouse
+     * @return \Illuminate\Http\Response
+     */
+    public function edit(Warehouse $warehouse)
+    {
+        //
+    }
+
+    /**
+     * Update the specified resource in storage.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \App\Warehouse  $warehouse
+     * @return \Illuminate\Http\Response
+     */
+    public function update(Request $request, Warehouse $warehouse)
+    {
+        //
+    }
+
+    /**
+     * Remove the specified resource from storage.
+     *
+     * @param  \App\Warehouse  $warehouse
+     * @return \Illuminate\Http\Response
+     */
+    public function destroy(Warehouse $warehouse)
+    {
+        //
+    }
+}

+ 150 - 2
app/Http/Controllers/api/thirdPart/flux/ReceiveController.php

@@ -10,6 +10,7 @@ use App\OrderBarcode;
 use App\RejectedBill;
 use App\RejectedBillItem;
 use App\SkuNew;
+use App\Store;
 use App\WMSReflectReceive;
 use App\WMSReflectReceiveSku;
 use Illuminate\Http\Request;
@@ -27,7 +28,7 @@ class ReceiveController extends Controller
     {
         $errors=$this->validatorForNew($request->all())->errors();
         if(count($errors)>0){
-            $this->log(__METHOD__, 'error' . __FUNCTION__, json_encode($request->all()));
+            $this->log(__METHOD__, 'error_body' . __FUNCTION__, json_encode($request->getContent()));
             (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'fields wrong, see Errors report please.'.'|'.json_encode($request).'|'.json_encode($errors));
             return response()->json(['response'=>['flag'=>'W','message'=>'fields wrong, see Errors report please.',
                 'errors'=>$errors]])
@@ -62,7 +63,7 @@ class ReceiveController extends Controller
             'request.*.WAREHOUSEID' => ['required', 'string', 'max:191'],
             'request.*.CUSTOMERID' => ['required', 'string', 'max:191'],
             'request.*.ASNTYPE' => ['nullable', 'string', 'max:191'],
-            'request.*.ASNREFERENCE1' => ['required', 'string', 'max:191'],
+            'request.*.ASNREFERENCE1' => ['nullable', 'string', 'max:191'],
             'request.*.ASNREFERENCE2' => ['nullable', 'string', 'max:191'],
             'request.*.ASNREFERENCE3' => ['required', 'string', 'max:191'],
             'request.*.ASNSTATUS' => ['nullable', 'string', 'max:191'],
@@ -257,4 +258,151 @@ class ReceiveController extends Controller
 
         return $success;
     }
+    /**
+     * 入库回传给WMS
+     * @param RejectedBill $rejectedBill
+     * @return bool
+     */
+    static public function accomplishStoreToWMS(Store $store)
+    {
+//        $bill=$rejectedBill;
+//        $wmsReceiveds=WMSReflectReceive::where('ASNREFERENCE3',$rejectedBill['logistic_number_return'])
+//            ->where('is_uploaded',0)->get();
+//        if($wmsReceiveds->isEmpty()){
+//            (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,'没有WMS入库单');
+//            return false;
+//        }
+//        $items=$bill->items()->get();
+//        $amountsItem=(function()use($items){
+//            $result=[];
+//            $items->each(function($item)use(&$result){
+//                $result[$item['id']]= $item['amount'];
+//            });
+//            return $result;
+//        })();
+//        $success=true;
+//        $wmsReceiveds->each(function ($wmsReceived)use(&$bill,&$amountsItem,$items,&$success){
+//            if(!$bill && $bill['is_loaded']!=0)return;
+//
+//            $wmsSkus=$wmsReceived->skus()->get();
+//            $orderNumberCode=$wmsReceived['ASNREFERENCE1']??$bill['order_number'];
+//            $amountsSku=(function()use($wmsSkus){
+//                $result=[];
+//                $wmsSkus->each(function($sku)use(&$result){
+//                    $result[$sku['id']]= $sku['EXPECTEDQTY_EACH'];
+//                });
+//                return $result;
+//            })();
+//            $skuStrList=[];
+//            $customerCode=$bill->owner()->first()['code'];
+//            $wmsSkus->each(function(WMSReflectReceiveSku $sku)use(&$items,&$skuList,&$amountsItem,&$amountsSku,&$skuStrList,$wmsReceived,$customerCode){
+//                $items->each(function(RejectedBillItem $item)use(&$sku,&$amountsItem,&$amountsSku,&$skuStrList,$wmsReceived,$customerCode){
+//                    if($item['barcode_goods']!=$sku['ALTERNATE_SKU1'])return;
+//                    if($amountsItem[$item['id']]==0||$amountsSku[$sku['id']]==0)return;
+//                    $uploadingAmount=(function()use(&$item,&$sku,&$amountsItem,&$amountsSku){
+//                        if($amountsItem[$item['id']]>$amountsSku[$sku['id']]){
+//                            $amountsItem[$item['id']]-=$amountsSku[$sku['id']];
+//                            $amount= $amountsSku[$sku['id']];
+//                            $amountsSku[$sku['id']]=0;
+//                            return $amount;
+//                        }
+//                        if($amountsItem[$item['id']]<$amountsSku[$sku['id']]){
+//                            $amount=$amountsItem[$item['id']];
+//                            $amountsSku[$sku['id']]-=$amount;
+//                            $amountsItem[$item['id']]=0;
+//                            return $amount;
+//                        }
+//                        $amount=$amountsItem[$item['id']];
+//                        $amountsItem[$item['id']]=0;
+//                        $amountsSku[$sku['id']]=0;
+//                        return $amount;
+//                    })();
+//                    if($item['is_loaded']=='已入库'){return;}
+//                    $STATUS=$item['id_quality_label']==1?'ZP':'CC';
+//                    $STATUS_code=$item['id_quality_label']==1?'01':'02';
+//                    $skuStr="
+//                        {
+//                            \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
+//                            \"ASNLINENO\": \"{$sku['ASNLINENO']}\",
+//                            \"SKUCODE\": \"{$sku['SKU']}\",
+//                            \"QUANTITY\": \"{$uploadingAmount}\",
+//                            \"LOTATT04\": \"{$sku['LOTATT04']}\",
+//                            \"LOTATT05\": \"{$sku['LOTATT05']}\",
+//                            \"STATUS\": \"{$STATUS}\",
+//                            \"PRODUCTION DATE\": \"{$item['made_at']}\",
+//                            \"EXPIRATION DATE\": \"{$item['validity_at']}\",
+//                            \"USERDEFINE1\": \"{$customerCode}{$STATUS_code}\",
+//                            \"USERDEFINE2\": \"\",
+//                            \"USERDEFINE3\": \"\",
+//                            \"UNIQUE_CODE_LIST\": [".
+////                                {
+////                                    \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
+////                                    \"SKUCODE\": \"{$sku['SKU']}\",
+////                                    \"STATUS\": \"{$STATUS}\",
+////                                    \"PRODUCTION DATE\": \"{$item['made_at']}\",
+////                                    \"EXPIRATION DATE\": \"{$item['validity_at']}\",
+////                                    \"LOTATT05\": \"{$sku['LOTATT05']}\",
+////                                    \"UNIQUE_CODE\": \"\"
+////                                }
+//                            "]
+//                        }
+//                    ";
+//                    $skuStrList[]=$skuStr;
+//                });
+//            });
+//            if(count($skuStrList)==0)return;
+//            $skuStrList = implode(',',$skuStrList);
+//            $json="
+//                {
+//                    \"request\": [
+//                        {
+//                            \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
+//                            \"CUSTOMERID\": \"{$customerCode}\",
+//                            \"ASNTYPE\": \"{$wmsReceived['ASNTYPE']}\",
+//                            \"ASNREFERENCE1\": \"{$orderNumberCode}\",
+//                            \"ADDWHO\": \"WCS\",
+//                            \"USERDEFINE1\": \"\",
+//                            \"USERDEFINE2\": \"\",
+//                            \"USERDEFINE3\": \"\",
+//                            \"SKU_LIST\": [{$skuStrList}]
+//                        }
+//                    ]
+//                }
+//        ";
+//
+//            $sendingJson = json_decode($json,true);
+//            $url=url(config('api.flux.receive.new'));
+//            $response = Zttp::post($url, $sendingJson);
+//            $noIssues=true;
+//            $json = $response->json();
+//            (new Controller())->log(__METHOD__,__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
+//            if(!$json||!isset($json['Response'])||!$json['Response']['return']['returnFlag']=='1'){
+//                $noIssues=false;
+//            }
+//            if($json&&isset($json['Response'])){
+//                if($json['Response']['return']['returnFlag']=='2'){
+//                    return true;
+//                }
+//                if(isset($json['Response']['return']['returnDesc'])&&strpos($json['Response']['return']['returnDesc'],'唯一约束')!==false){
+//                    (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
+//                    return true;
+//                }
+//                if(isset($json['Response']['return']['errordescr'])&&strpos($json['Response']['return']['errordescr'],'已完成')!==false){
+//                    (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
+//                    return true;
+//                }
+//            }
+//            if($noIssues&&$json['Response']['return']['returnFlag']=='1'){
+//                $wmsReceived['is_uploaded']=1;
+//                $wmsReceived->save();
+//                return true;
+//            }else{
+//                $success=false;
+//                (new Controller())->log(__METHOD__,'error_'.__FUNCTION__,$response->body().'|'.json_encode($sendingJson));
+//            }
+//        });
+//
+//
+//        return $success;
+    }
 }

+ 11 - 0
app/Store.php

@@ -0,0 +1,11 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+class Store extends Model
+{
+    use SoftDeletes;
+}

+ 10 - 0
app/StoreItems.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class StoreItems extends Model
+{
+    //
+}

+ 10 - 0
app/Warehouse.php

@@ -0,0 +1,10 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class Warehouse extends Model
+{
+    //
+}

+ 12 - 0
database/factories/DepositoryFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\Depository;
+use Faker\Generator as Faker;
+
+$factory->define(Depository::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 12 - 0
database/factories/StoreFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\Store;
+use Faker\Generator as Faker;
+
+$factory->define(Store::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 12 - 0
database/factories/StoreItemsFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\StoreItems;
+use Faker\Generator as Faker;
+
+$factory->define(StoreItems::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 12 - 0
database/factories/WarehouseFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\Warehouse;
+use Faker\Generator as Faker;
+
+$factory->define(Warehouse::class, function (Faker $faker) {
+    return [
+        //
+    ];
+});

+ 1 - 1
database/migrations/2019_12_16_140649_create_w_m_s_reflect_receives_table.php

@@ -21,7 +21,7 @@ class CreateWMSReflectReceivesTable extends Migration
             $table->string('WAREHOUSEID')->index()->comment('仓库编号');
             $table->string('CUSTOMERID')->index()->comment('货主编号');
             $table->string('ASNTYPE')->nullable()->comment('订单类型');
-            $table->string('ASNREFERENCE1')->index()->comment('客户订单号');
+            $table->string('ASNREFERENCE1')->index()->nullable()->comment('客户订单号');
             $table->string('ASNREFERENCE2')->nullable()->comment('出库单号');
             $table->string('ASNREFERENCE3')->index()->nullable()->comment('退货快递单号');
             $table->string('ASNSTATUS')->nullable()->comment('');

+ 17 - 10
database/migrations/2020_03_05_080123_add_weigh_excepted_authority.php

@@ -7,6 +7,16 @@ use Illuminate\Database\Migrations\Migration;
 
 class AddWeighExceptedAuthority extends Migration
 {
+
+
+
+    protected $authNames=[
+        '称重管理-查看异常',
+        '称重管理-录入',
+        '称重管理-查询',
+        '称重管理',
+    ];
+
     /**
      * Run the migrations.
      *
@@ -14,11 +24,9 @@ class AddWeighExceptedAuthority extends Migration
      */
     public function up()
     {
-
-        if(!Authority::where('name','称重管理-查看异常')->first())(new Authority(['name'=>'称重管理-查看异常','alias_name'=>'称重管理-查看异常']))->save();
-        if(!Authority::where('name','称重管理-录入')->first())(new Authority(['name'=>'称重管理-录入','alias_name'=>'称重管理-录入']))->save();
-        if(!Authority::where('name','称重管理-查询')->first())(new Authority(['name'=>'称重管理-查询','alias_name'=>'称重管理-查询']))->save();
-        if(!Authority::where('name','称重管理')->first())(new Authority(['name'=>'称重管理-查询','alias_name'=>'称重管理-查询']))->save();
+        foreach ($this->authNames as $name){
+            if(!Authority::where('name',$name)->first())(new Authority(['name'=>$name,'alias_name'=>$name]))->save();
+        }
     }
 
     /**
@@ -28,10 +36,9 @@ class AddWeighExceptedAuthority extends Migration
      */
     public function down()
     {
-        Authority::where('name','称重管理-查看异常')->delete();
-        Authority::where('name','称重管理-录入')->delete();
-        Authority::where('name','称重管理-查询')->delete();
-        Authority::where('name','称重管理')->delete();
-
+        foreach ($this->authNames as $name){
+            Authority::where('name','$name')->delete();
+        }
     }
+
 }

+ 48 - 0
database/migrations/2020_03_09_132100_add_store_transfer_authority.php

@@ -0,0 +1,48 @@
+<?php
+
+use App\Authority;
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddStoreTransferAuthority extends Migration
+{
+
+    protected $authNames=[
+        '入库管理',
+        '入库管理-快速入库',
+        '入库管理-快速入库-查询',
+        '入库管理-快速入库-录入',
+        '入库管理-快速入库-编辑',
+        '入库管理-快速入库-删除',
+        '仓库管理',
+        '仓库管理-查询',
+        '仓库管理-录入',
+        '仓库管理-编辑',
+        '仓库管理-删除',
+    ];
+
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        foreach ($this->authNames as $name){
+            if(!Authority::where('name',$name)->first())(new Authority(['name'=>$name,'alias_name'=>$name]))->save();
+        }
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        foreach ($this->authNames as $name){
+            Authority::where('name','$name')->delete();
+        }
+    }
+}

+ 40 - 0
database/migrations/2020_03_09_153510_create_stores_table.php

@@ -0,0 +1,40 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateStoresTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('stores', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->bigInteger('id_owner')->index();
+            $table->string('asn_code')->nullable()->unique()->comment('WMS的ASNNO单号');
+            $table->integer('warehouse_id')->nullable()->comment('仓库ID');
+            $table->integer('owner_id')->index()->nullable()->comment('货主ID');
+            $table->enum('stored_method',['正常','快速入库'])->default('正常');
+            $table->enum('status',['无需入库','已入库','未入库','待推单'])->nullable();
+            $table->string('remark')->nullable();
+            $table->timestamp('deleted_at')->nullable()->index();
+            $table->timestamp('updated_at')->nullable();
+            $table->timestamp('created_at')->nullable()->index();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('stores');
+    }
+}

+ 33 - 0
database/migrations/2020_03_09_171432_create_warehouses_table.php

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateWarehousesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('warehouses', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('name')->index();
+            $table->string('code')->unique();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('warehouses');
+    }
+}

+ 39 - 0
database/migrations/2020_03_09_172120_create_store_items_table.php

@@ -0,0 +1,39 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateStoreItemsTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('store_items', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('asn_line_code')->nullable()->unique()->comment('来自WMS的ASN行号,唯一');
+            $table->string('name')->nullable();
+            $table->string('sku')->nullable()->index();
+            $table->string('barcode')->nullable()->index();
+            $table->integer('depository_id')->nullable()->index()->comment('属性仓ID');
+            $table->integer('amount')->default(0);
+            $table->enum('quality',['无','正品','残次'])->default('正品');
+            $table->enum('status',['无需入库','已入库','未入库','待推单'])->nullable();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('store_items');
+    }
+}

+ 34 - 0
database/migrations/2020_03_10_092012_create_depositories_table.php

@@ -0,0 +1,34 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateDepositoriesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('depositories', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('name')->index();
+            $table->string('code')->unique();
+            $table->string('property')->nullable();
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('depositories');
+    }
+}

+ 3 - 0
resources/views/layouts/menu.blade.php

@@ -4,6 +4,9 @@
         @can('退货管理')
             <li class="nav-item"><a href="{{url("rejected/")}}" class="nav-link"
                                     :class="{active:isActive('rejected',1)}">退货管理</a></li> @endcan
+        @can('入库管理')
+            <li class="nav-item"><a href="{{url("store/fast")}}" class="nav-link"
+                                    :class="{active:isActive('store',1)}">入库管理</a></li> @endcan
         @can('运输管理')
             <li class="nav-item"><a href="{{url("waybill/index")}}" class="nav-link"
                                     :class="{active:isActive('waybill',1)}">运输管理</a></li> @endcan

+ 11 - 0
resources/views/store/menu.blade.php

@@ -0,0 +1,11 @@
+
+<div class="container-fluid mt-3" id="nav2">
+    <div class="card">
+        <ul class="nav nav-pills">
+            @can('入库管理-快速入库')
+                <li class="nav-item">
+                    <a class="nav-link" href="{{url('store/fast')}}" :class="{active:isActive('',2)}">快速入库</a>
+                </li> @endcan
+        </ul>
+    </div>
+</div>