Bläddra i källkod

Merge branch 'master' into zengjun

ajun 5 år sedan
förälder
incheckning
b8f7d6d88a

+ 5 - 5
app/Http/Controllers/InventoryCompareController.php

@@ -110,16 +110,16 @@ class InventoryCompareController extends Controller
                 return '<h1 class="text-danger">导入Excel失败<br><p style="color: red">' . Cache::pull('error') . '</p></h1>';
             } else {
                 $exception = Cache::get('exception');
-                if ($exception){
+//                if ($exception){
                     $a = '';
                     for ($i = 0; $i < count($exception); $i++) {
                         $a .= implode(',', $exception[$i]) . '&#10';
                     };
                     $this->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']);
-                    return '<h1 class="text-danger">导入Excel失败<br><textarea style="width: 50%;height: 50%">' . $a . '</textarea></h1>';
-                }else {
-                    return '<h1 class="text-danger">导入Excel成功</h1>';
-                }
+                    return '<h1 class="text-danger">导入Excel成功<br><textarea style="width: 50%;height: 50%">' . $a . '</textarea></h1>';
+//                }else {
+//                    return '<h1 class="text-danger">导入Excel成功</h1>';
+//                }
 
             }
         } else {

+ 3 - 1
app/Http/Controllers/MeasureMonitorController.php

@@ -23,7 +23,9 @@ class MeasureMonitorController extends Controller
     public function data(Request $request){
         $measuring_machine_id=$request->input('id');
         if ($measuring_machine_id){
-            $package=OrderPackage::with('order','paperBox','measuringMachine')->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
+            $package=OrderPackage::with(['order'=>function($query){
+                $query->with('owner','logistic');
+            },'paperBox','measuringMachine'])->where('measuring_machine_id',$measuring_machine_id)->orderBy('id','DESC')->first();
             if (!$package){
                 $measuringMachine=MeasuringMachine::query()->where('id',$measuring_machine_id)->first();
                 $package=new OrderPackage();

+ 1 - 1
app/Http/Controllers/OrderController.php

@@ -238,7 +238,7 @@ class OrderController extends Controller
                       DOC_ORDER_HEADER.Picking_Print_Flag,DOC_ORDER_HEADER.EDISENDFLAG,DOC_ORDER_HEADER.ReleaseStatus,DOC_ORDER_HEADER.C_Address1,
                       DOC_ORDER_HEADER.OrderTime,DOC_Order_Details.CustomerID,DOC_Order_Details.SKU,DOC_Order_Details.QtyOrdered,
                       DOC_Order_Details.LineStatus,DOC_Order_Details.OrderLineNo,order_code.codename_c,order_detail_code.codename_c,BAS_Customer.descr_c,
-                      BAS_SKU.Alternate_SKU1,BAS_SKU.Descr_C";
+                      BAS_SKU.Alternate_SKU1,BAS_SKU.Descr_C ORDER BY DOC_ORDER_HEADER.ADDTIME desc";
         //转导出
         if ($checkData || $export){
             $post = Http::post(config('go.export.url'),['type'=>'order','sql'=>$sql]);

+ 1 - 0
app/Http/Controllers/PackageController.php

@@ -36,6 +36,7 @@ class PackageController extends Controller
     {
         if(!Gate::allows('称重管理-查询')){ return redirect(url('/'));  }
         $paginateParams = $request->input();
+        /** @var PackageService */
         $packages = app('packageService')->paginate($request);
         return view('weight.package.index',['packages'=>$packages,'owners'=>$ownerService->getSelection(),'paginateParams'=>$paginateParams]);
     }

+ 27 - 12
app/Http/Controllers/ProcessController.php

@@ -1019,20 +1019,35 @@ class ProcessController extends Controller
                     $this->log(__METHOD__,"二次加工单录入导入商品数据时添加货主".__FUNCTION__,json_encode($owner),Auth::user()['id']);
                 }
             }
-            $commodity = Commodity::query()->with('barcodes')->whereNull('owner_id')
+            $goods = Commodity::query()->with('barcodes')->whereNull('owner_id')
                 ->where('sku',$commodityData['sku'])->first();
-            if (!$commodity){
-                $commodity = Commodity::query()->create($commodityData);
-                $commodityBarCode=CommodityBarcode::query()->create([
-                    'code' => $barcode,
-                    'commodity_id' => $commodity->id
-                ]);
-                $commodity_barcodes = [$commodityBarCode];
-            }else $commodity_barcodes = $commodity->barcodes;
+            $commodity_barcodes = [];
+            if (!$goods){
+                $goods = Commodity::query()->create($commodityData);
+                if ($barcode){
+                    $commodityBarCode=CommodityBarcode::query()->create([
+                        'code' => $barcode,
+                        'commodity_id' => $goods->id
+                    ]);
+                    $commodity_barcodes = [$commodityBarCode];
+                }
+            }else {
+                if ($barcode){
+                    $commodity_barcodes = $goods->barcodes->toArray();
+                    $commodityBarCode = $goods->barcodes->where('code',$barcode)->first();
+                    if (!$commodityBarCode){
+                        $commodityBarCode = CommodityBarcode::query()->create([
+                            'code' => $barcode,
+                            'commodity_id' => $goods->id
+                        ]);
+                        array_push($commodity_barcodes,$commodityBarCode);
+                    }
+                }
+            }
             $this->log(__METHOD__,"二次加工单录入导入商品数据时添加商品及条码".__FUNCTION__,
-                json_encode($commodity)." || ".json_encode($commodity_barcodes),Auth::user()['id']);
-            $processContent=['bill_type'=>'入库单','commodity_id'=>$commodity->id,'wms_code'=>$wmsCode,'amount'=>$amount,
-                'commodity_name'=>$commodity->name,'commodity_barcodes'=>$commodity_barcodes,'commodity_sku'=>$commodity->sku,
+                json_encode($goods)." || ".json_encode($commodity_barcodes),Auth::user()['id']);
+            $processContent=['bill_type'=>'入库单','commodity_id'=>$goods->id,'wms_code'=>$wmsCode,'amount'=>$amount,
+                'commodity_name'=>$goods->name,'commodity_barcodes'=>$commodity_barcodes,'commodity_sku'=>$goods->sku,
                 'lineNo'=>1,'owner_id'=>$owner->id,'owner_name'=>$owner->name,'addBtnShow'=>false,'type'=>$request->type];
             array_push($processContents,$processContent);
         }

+ 49 - 13
app/Http/Controllers/TestController.php

@@ -8,11 +8,14 @@ use App\Batch;
 use App\City;
 use App\Commodity;
 use App\Events\CancelOrder;
+use App\Log;
 use App\Logistic;
 use App\OracleActAllocationDetails;
 use App\OracleDOCOrderHeader;
 use App\OracleDocOrderPackingSummary;
 use App\OracleDOCWaveDetails;
+use App\Order;
+use App\OrderPackage;
 use App\Owner;
 use App\Package;
 use App\RejectedBillItem;
@@ -44,7 +47,6 @@ class TestController extends Controller
 
     function packageFromLog(Request $request)
     { //x        $packagesBatch=Package::where('batch_number',$batch_number)->first();
-
         ini_set('max_execution_time', 2500);
         ini_set('memory_limit', '1526M');
         $uploaded = 0;
@@ -192,9 +194,10 @@ class TestController extends Controller
         ini_set('max_execution_time',36000);
         ini_set('memory_limit','1526M');
         $number = 3000;
-        $sum = Package::query()->count();
+        $start_at = 1;
+        $sum = Package::query()->where('id','>', $start_at)->count();
         $len = ceil($sum / $number);
-        $id = 0;
+        $id = $start_at;
         for ($i = 1;$i <= $len; $i++){
             $packages = Package::query()->orderBy('id')->where('id','>',$id)->limit($number)->get();
             $error = [];
@@ -294,16 +297,49 @@ class TestController extends Controller
     }
 
     function test(){
-        dd(Owner::query()->where('code','CHAIJING')->first());
-        $owner = app('ownerService')->first(['code' => "CHAIJING"]);
-        dd($owner);
-        dd(Waybill::query()->with('uploadFile')->find(695));
-        $actAllocationDetail = OracleActAllocationDetails::query();
-        $actAllocationDetail->with(['oracleDocOrderHeader'=>function(Builder $query){
-            $query->with('oracleBASCustomer','oracleBASCode');
-        }])->first();//报错
-
-        dd($actAllocationDetail);
+        $ids = [];
+        $logs = Log::query()->select('description')->where('type','同步时WMS中未找到这些订单')->get();
+        foreach ($logs as $log){
+            $arr = [];
+            eval("\$arr = ".$log->description.'; ');
+            if (count($arr) < 1)continue;
+            $ids = array_merge($ids,$arr);
+        }
+        $ids = array_unique($ids);
+        $error = [];
+        foreach($ids as $id){
+            $package = Package::query()->find($id);
+            /** @var OrderPackageService */
+            $orderPackage =  app('orderPackageService')->firstOrCreate($package->logistic_number,
+                ['batch_number'=>$package->batch_number,
+                    'batch_rule'=>$package->batch_rule,
+                    'bulk'=>$package->bulk,
+                    'weight'=>$package->weight,
+                    'length'=>$package->length,
+                    'width'=>$package->width,
+                    'height'=>$package->height,
+                    'paper_box_id'=>$package->paper_box_id,
+                    'measuring_machine_id'=>$package->measuring_machine_id,
+                    'weighed_at'=>$package->weighed_at,
+                    'status'=>$package->status]);
+            if (!$orderPackage)array_push($error,$package->id);
+        }
+        if (count($error) > 0)LogService::log(__METHOD__,"同步时WMS中未找到这些订单_two",json_encode($error));
+    }
+
+    function test1(){
+        $package = OrderPackage::query()->whereNull('order_id')->first();
+        $package->load(['order'=>function($query){
+            $query->with('owner','logistic');
+        },'paperBox','measuringMachine']);
+        $logisticNumberController = new LogisticNumberFeatureController();
+        if (!$package->order){
+            $package->order = new Order();
+        }
+        if (!$package->order->logistic){
+            $package->order->logistic = $logisticNumberController->getLogisticByFeatures($package->logistic_number);
+        }
+        dd($package);
     }
 
     /*1*/

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

@@ -43,7 +43,7 @@ class ProcessController extends Controller
         }
         $docOrders=OracleDOCOrderDetail::where("OrderNo",$wms_code)->get();//出库单
         if (count($docOrders)>0){
-            $owners=Owner::withTrashed()->where("code",$docOrders[0]->customerid)->get();
+            $owners=Owner::query()->where("code",$docOrders[0]->customerid)->get();
             if ($owners->isEmpty()){
                 $owner=$this->storeOwner($docOrders[0]->customerid);
             }else{
@@ -156,7 +156,7 @@ class ProcessController extends Controller
         $commodityBarCodeData=[];
         $commodityBarCodeTem=[];
         $owners_code=array_column($oracleBasSkus->toArray(),'customerid');
-        $ownersTem=Owner::withTrashed()->whereIn('code',$owners_code)->get();
+        $ownersTem=Owner::query()->whereIn('code',$owners_code)->get();
         $owners=array_column($ownersTem->toArray(),'id','code');
         for($i=0;$i<count($oracleBasSkus);$i++){
             if (!$owners[$oracleBasSkus[$i]->customerid])$owners[$oracleBasSkus[$i]->customerid]=$this->storeOwner($oracleBasSkus[$i]->customerid);

+ 28 - 1
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -4,8 +4,10 @@ namespace App\Http\Controllers\Api\thirdPart\weight;
 
 use App\Events\WeighedEvent;
 use App\Http\Controllers\Controller;
+use App\Http\Controllers\LogisticNumberFeatureController;
 use App\Jobs\FetchPackageFromOracle;
 use App\MeasuringMachine;
+use App\Order;
 use App\OrderPackage;
 use App\Services\OrderService;
 use App\Waybill;
@@ -213,7 +215,23 @@ class PackageController extends Controller
                 }catch (\Exception $e){
                     $package->status="未上传";
                 }
+            }
+            try{
                 $package->save();
+                $package->load(['order'=>function($query){
+                    $query->with('owner','logistic');
+                },'paperBox','measuringMachine']);
+                $logisticNumberController = new LogisticNumberFeatureController();
+                if (!$package->order){
+                    $package->order = new Order();
+                }
+                if (!$package->order->logistic){
+                    $package->order->logistic = $logisticNumberController->getLogisticByFeatures($package->logistic_number);
+                }
+            }catch (\Exception $e){
+                $response=["msg"=>"称重下发修改时发生错误!".json_encode($e),"code"=>500,"data"=>null];
+                $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.json_encode($e),null);
+                return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
         }
         if (!$package){
@@ -241,7 +259,16 @@ class PackageController extends Controller
             $package->fetchPaperBox();
             try{
                 $package->save();
-                $package->load(['order','paperBox','measuringMachine']);
+                $package->load(['order'=>function($query){
+                    $query->with('owner','logistic');
+                },'paperBox','measuringMachine']);
+                $logisticNumberController = new LogisticNumberFeatureController();
+                if (!$package->order){
+                    $package->order = new Order();
+                }
+                if (!$package->order->logistic){
+                    $package->order->logistic = $logisticNumberController->getLogisticByFeatures($package->logistic_number);
+                }
             }catch (\Exception $e){
                 $response=["msg"=>$e->getMessage(),"code"=>500,"data"=>$e->getTraceAsString()];
                 $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.$e->getTraceAsString(),null);

+ 2 - 2
app/Imports/InventoryCompareImport.php

@@ -151,12 +151,12 @@ class InventoryCompareImport implements ToCollection, WithHeadingRow, WithMultip
                 array_push($inventoryCompares,$inventoryCompare);
                 $sum++;
             }
-            if(empty($exception)){
+//            if(empty($exception)){
                 /** @var InventoryCompareService $service */
                 $service = app('inventoryCompareService');
                 $inventoryCompare= $service->createInventoryCompares($inventoryCompares);
                 if (!$inventoryCompare) array_push($exception, ['创建库存对比失败!']);
-            }
+//            }
 
         }
         Cache::put('exception', $exception, 86400);

+ 2 - 2
app/Order.php

@@ -23,7 +23,7 @@ class Order extends Model
 
     public function logistic()
     {
-        return $this->belongsTo('App\Logistic', 'logistic_id', 'id');
+        return $this->hasOne('App\Logistic', 'id', 'logistic_id');
     }
 
     public function issue()
@@ -38,7 +38,7 @@ class Order extends Model
 
     public function owner()
     {
-        return $this->belongsTo('App\Owner', 'owner_id', 'id');
+        return $this->hasOne('App\Owner', 'id', 'owner_id');
     }
 
     public function packages()

+ 5 - 7
app/Services/OrderPackageService.php

@@ -121,16 +121,14 @@ class OrderPackageService
      * @return OrderPackage $package
      */
     public function firstOrCreate($logistic_number, array $values){
-        /** @var $package OrderPackage  */
-        $package = OrderPackage::query()->where('logistic_number',$logistic_number)->first();
+        /** @var OrderPackage $package */
+        $package = OrderPackage::query()->where('logistic_number','=',$logistic_number)->first();
         if ($package)return $package;
 
-        /** @var $orderService OrderService */
-        $orderService = app('orderService');
-        $order = $orderService->logisticNumberCreateOrder($logistic_number);
-        if (!$order)return null;
+        /** @var OrderService */
+        $order = app('orderService')->logisticNumberCreateOrder($logistic_number);
+        if ($order)$values["order_id"] = $order->id;
 
-        $values["order_id"] = $order->id;
         $values["logistic_number"] = $logistic_number;
         /** @var OrderPackage $package */
         $package = OrderPackage::query()->create($values);

+ 1 - 0
app/Services/OrderService.php

@@ -154,6 +154,7 @@ class OrderService
         $shop = null;
         $shop_name = $orderHeader->issuepartyname;
         if ($shop_name && $owner) {
+            /** @var ShopService */
             $shop = app('shopService')->firstOrCreate(['name' => $shop_name, 'owner_id' => $owner->id]);
         }
 

+ 1 - 1
app/Services/OwnerService.php

@@ -28,7 +28,7 @@ Class OwnerService
         $ownerCount=Owner::count();
         if(count($basCustomers)==$ownerCount)return null;
         foreach ($basCustomers as $basCustomer){
-           $owner=Owner::withTrashed()->where('code',$basCustomer['customerid'])->first();
+           $owner=Owner::query()->where('code',$basCustomer['customerid'])->first();
            if (!isset($owner))
                Owner::query()->create([
               'code'=> $basCustomer['customerid'],

+ 1 - 1
app/Services/PackageService.php

@@ -13,7 +13,7 @@ Class PackageService
     private function conditionQuery($params){
         $packages = OrderPackage::query()->with(['order'=>function($query){
             $query->with('owner','logistic');
-        }])->orderBy(TABLE.'id','DESC');
+        },'paperBox','measuringMachine'])->orderBy(TABLE.'id','DESC');
         $columnQueryRules=[
             'logistic_number' => ['like' => ''],
             'batch_number' => ['like' => ''],

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

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class DropShopUniqueNameIndex extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('shops', function (Blueprint $table) {
+            $table->dropIndex('shops_name_unique');
+            $table->string('name')->index()->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('shops', function (Blueprint $table) {
+            $table->string('name')->unique();
+        });
+    }
+}

+ 32 - 0
database/migrations/2020_09_11_101357_change_table_order_package_change_column_order_id_not_null.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class ChangeTableOrderPackageChangeColumnOrderIdNotNull extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('order_packages', function (Blueprint $table) {
+            $table->integer('order_id')->nullable()->comment('订单ID外键')->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('order_packages', function (Blueprint $table) {
+            $table->integer('order_id')->comment('订单ID外键')->change();
+        });
+    }
+}

+ 1 - 1
resources/views/personnel/checking-in/clockAudit.blade.php

@@ -23,7 +23,7 @@
                             <td>组长审核</td>
                             <td >打卡时间</td>
                             <td>打卡类型</td>
-                            <td>手机号</td>
+                            <td>手机号</td>
                             <td>劳务所</td>
                             <td>工作组</td>
                             <td>异常</td>

+ 1 - 1
resources/views/process/create.blade.php

@@ -718,7 +718,7 @@
                                 res.data.data.forEach(function (processContent) {
                                     if (!_this._seekSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type)){
                                         _this.processContents.push(processContent);
-                                        _this._seekSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type);
+                                        _this._addSignCommodity(processContent.wms_code,processContent.commodity_id,processContent.type);
                                         if (!processContent.type) sum += Number(processContent.amount);
                                         if (processContent.owner_id && !_this.process.owner_id)
                                             _this.process.owner_id = processContent.owner_id;

+ 10 - 15
resources/views/weight/measureMonitor/index.blade.php

@@ -119,16 +119,16 @@
                     }else{
                         _this.currentAudioIndex=_this.currentAudioIndex+1;
                     }
-                    if (package && package.measuringMachine && package.measuringMachine.name ===_this.package.measuringMachine){
+                    if (package && package.measuring_machine && package.measuring_machine.name ===_this.package.measuringMachine){
                         if (package.id ===_this.package.id){
-                            _this.package.measuringMachine_status=package.measuringMachine.status;
-                            _this.measuringMachinesIndex[package.package.measuringMachine.name].status=package.measuringMachine_status;
+                            _this.package.measuringMachine_status=package.measuring_machine.status;
+                            _this.measuringMachinesIndex[package.measuring_machine.name].status=package.measuring_machine.status;
                             tempTip.setDuration(4000);
                             tempTip.showSuccess('暂无新数据');
                             return;
                         }
                         _this.updateData(_this,package);
-                        let logistic_name = package.logistic ? package.logistic.name : '';
+                        let logistic_name = package.order ? (package.order.logistic ? package.order.logistic.name : '') : '';
                         if (_this.logisticAudioURL[logistic_name]){
                             audio.src=_this.logisticAudioURL[logistic_name];
                             audio.play();
@@ -153,11 +153,6 @@
                         tempTip.showSuccess('刷新成功!');
                     }
                 });
-                /*                if(this.timer){
-                                    clearInterval(this.timer);
-                                }else {
-                                    this.timer=setInterval(()=>{this.flushData();},18000);
-                                }*/
             },
             methods:{
                 clickMeasuringMachine(e){
@@ -167,7 +162,7 @@
                             if (response.data.id){
                                 let orderPackage=response.data;
                                 _this.updateData(_this,orderPackage);
-                                _this.package.measuringMachine=orderPackage.measuringMachine ? orderPackage.measuringMachine.name : '';                            }else {
+                                _this.package.measuringMachine=orderPackage.measuring_machine ? orderPackage.measuring_machine.name : '';                            }else {
                                 tempTip.setDuration(4000);
                                 tempTip.showSuccess('暂无数据!');
                             }
@@ -182,14 +177,14 @@
                     _this.package.logistic_number=package.logistic_number;
                     _this.package.orderno = package.order ?  package.order.code : '';
                     _this.package.weight=package.weight;
-                    _this.package.owner=package.owner ? package.owner.name : '';
-                    _this.package.paperBox=package.paperBox ? package.paperBox.name : '';
+                    _this.package.owner=package.order ? (package.order.owner ? package.order.owner.name : '') : '';
+                    _this.package.paperBox=package.paper_box ? package.paper_box.name : '';
                     _this.package.recipient=package.order ? package.order.recipient : '';
                     _this.package.status=package.status;
                     _this.package.weighed_at=package.weighed_at;_this.package.bulk=package.bulk;
-                    _this.package.logistic_name=package.logistic ? package.logistic.name : '';
-                    _this.package.measuringMachine_status=package.measuringMachine ? package.measuringMachine.status : '';
-                    _this.measuringMachinesIndex[package.measuringMachine ? package.measuringMachine.name : ''].status=package.measuringMachine_status;
+                    _this.package.logistic_name=package.order ? (package.order.logistic ? package.order.logistic.name : '') : '';
+                    _this.package.measuringMachine_status=package.measuring_machine ? package.measuring_machine.status : '';
+                    _this.measuringMachinesIndex[package.measuring_machine ? package.measuring_machine.name : ''].status=package.measuring_machine ? package.measuring_machine.status : '离线';
                 }
             },
         });

+ 2 - 2
resources/views/weight/package/index.blade.php

@@ -75,9 +75,9 @@
                         ,batchNumber:'{{$package->batch_number}}',batchRule:'{{$package->batch_rule}}',
                         recipient:'{{$package->order ? $package->order->consignee_name : ''}}',recipientMobile:'{{$package->order ? $package->order->consignee_phone : ''}}'
                         ,logisticNumber:'{{$package->logistic_number}}'
-                        ,measuringMachineName:'{{$package->measuring_machine ? $package->measuring_machine->name : ''}}',
+                        ,measuringMachineName:'{{$package->measuringMachine ? $package->measuringMachine->name : ''}}',
                         weight:'{{$package->weight}}', length:'{{$package->length}}',width:'{{$package->width}}',height:'{{$package->height}}',
-                        bulk:'{{$package->bulk}}',paperBoxName:'{{$package->paper_box ? $package->paper_box->name : ''}}',
+                        bulk:'{{$package->bulk}}',paperBoxName:'{{$package->paperBox ? $package->paperBox->name : ''}}',
                         status:'{{$package->status}}',created_at:'{{$package->created_at}}',weighed_at:'{{$package->weighed_at}}',
                         paperBox : {!! $package->paperBox??'""' !!} },
                     @endforeach

+ 305 - 312
routes/web.php

@@ -23,398 +23,391 @@ Auth::routes();
 Route::get('/home', 'HomeController@index')->name('home');
 Route::get('/homeTemp', 'HomeController@home');
 
-Route::get('password/change', 'Auth\PasswordController@change');
-Route::post('password/update', 'Auth\PasswordController@update');
-Route::get('maintenance/commodity/import', 'CommodityController@import');
-Route::post('maintenance/commodity/import/excel', 'CommodityController@importExcel');
-
-Route::resource('maintenance/log', 'LogController');
-Route::resource('maintenance/user', 'UserController');
-Route::resource('maintenance/role', 'RoleController');
-Route::resource('maintenance/authority', 'AuthorityController');
-Route::resource('maintenance/owner', 'OwnerController');
-Route::resource('maintenance/logistic', 'LogisticController');
-Route::resource('maintenance/qualityLabel', 'QualityLabelController');
-Route::resource('maintenance/carrier', 'CarriersController');
-Route::resource('maintenance/carType','CarTypesController');
-Route::resource('maintenance/unit','UnitsController');
-Route::resource('maintenance/province','ProvincesController');
-Route::resource('maintenance/city','CitiesController');
-Route::resource('maintenance/commodity', 'CommodityController');
-Route::resource('maintenance/measuringMachine', 'MeasuringMachineController');
-Route::resource('maintenance/userWorkgroup', 'UserWorkgroupController');
-Route::resource('maintenance/laborCompany', 'LaborCompanyController');
-Route::resource('maintenance/warehouse', 'WarehouseController');
-Route::resource('maintenance/jobType', 'JobTypeController');
-//教程管理
-Route::resource('maintenance/tutorial', 'TutorialController');
-//停用货主
-Route::get('maintenance/owners/recycle','OwnerController@recycle');
-//教程展示
-Route::post('maintenance/tutorial/showContent/{id}', 'TutorialController@showContent');
-//临时工管理
-Route::resource('maintenance/userLabor','UserLaborController');
-//获取劳务记录
-Route::post('maintenance/userLabor/getWorkRecord', 'UserLaborController@getWorkRecord');
-//获取打卡记录
-Route::post('maintenance/userLabor/getClockRecord', 'UserLaborController@getClockRecord');
-//解除绑定设备
-Route::post('maintenance/userLabor/relieve', 'UserLaborController@relieve');
-
-Route::get('maintenance/paperBox/index/model', 'PaperBoxController@indexModel');
-Route::get('maintenance/paperBox/index/owner', 'PaperBoxController@indexOwner');
-Route::post('maintenance/paperBox/excel/import','PaperBoxController@import');
-Route::resource('maintenance/paperBox', 'PaperBoxController');
-Route::get('maintenance/paperBox/excel/goImport',function (){return view('maintenance.paperBox.import');});
-
-Route::post('waybill/deleteImg','WaybillController@deleteImg');
-Route::post('waybill/upload','WaybillController@upload');
-Route::get('waybill/relating',function (){return view('waybill.menuWaybill');});
-Route::resource('maintenance/waybillPriceModel','WaybillPriceModelsController');
-Route::get('maintenance/waybillPriceModel/excel/goImport',function (){return view('maintenance.waybillPriceModel.import');});
-Route::get('maintenance/waybillPriceModel/cities/{province_id}','WaybillPriceModelsController@getCities');
-
-Route::resource('waybill/waybillFinancialSnapshot','WaybillFinancialSnapshotsController');
-Route::resource('waybill/waybillFinancialExcepted','WaybillFinancialExceptedController');
-
-Route::get('waybill/recycle', 'WaybillController@recycle');   //回收站
-Route::any('waybill/ontop/top','WaybillController@waybillOnTop');
-Route::any('waybill/ontop/cancel','WaybillController@cancelOnTop');
-
-Route::post('waybill/refreshWaveHouseWeight','WaybillController@refreshWaveHouseWeight');
-
-Route::get('waybill/index','WaybillController@index');
-Route::get('waybill/delivering','WaybillController@delivering');
-Route::any('waybill/deliveringExport','WaybillController@deliveringExport');
-Route::post('waybill/storeCarrierBill','WaybillController@storeCarrierBill');
-Route::post('waybill/is/waybillPriceModel','WaybillController@isWaybillPriceModel');
-Route::post('waybill/addCounty','WaybillController@addCounty');
-Route::any('waybill/waybillAudit','WaybillController@waybillAudit');
-Route::any('waybill/waybillEdit/{id}','WaybillController@waybillEdit');
-Route::any('waybill/waybillRetreatAudit','WaybillController@waybillRetreatAudit');
-Route::any('waybill/waybillEndAudit','WaybillController@waybillEndAudit');
-Route::any('waybill/export','WaybillController@export');
-Route::any('waybill/waybillUpdate/{id}','WaybillController@waybillUpdate');
-Route::resource('waybill','WaybillController');
+/** 密码 */
+Route::group(['prefix'=>'password'],function(){
+    Route::get('change', 'Auth\PasswordController@change');
+    Route::post('update', 'Auth\PasswordController@update');
+});
+
+/** 基础设置 */
+Route::group(['prefix'=>'maintenance'],function(){
+    /** 商品 */
+    Route::group(['prefix'=>'commodity'],function(){
+        /** 导出 */
+        Route::group(['prefix'=>'import'],function(){
+            Route::post('excel', 'CommodityController@importExcel');
+        });
+
+        Route::get('import', 'CommodityController@import');
+    });
+    /** 货主 */
+    Route::group(['prefix'=>'owners'],function(){
+        Route::get('recycle','OwnerController@recycle');
+    });
+    /** 教程 */
+    Route::group(['prefix'=>'tutorial'],function(){
+        Route::post('showContent/{id}', 'TutorialController@showContent');
+    });
+    /** 临时工 */
+    Route::group(['prefix'=>'userLabor'],function(){
+        Route::post('getWorkRecord', 'UserLaborController@getWorkRecord');
+        Route::post('getClockRecord', 'UserLaborController@getClockRecord');
+        Route::post('relieve', 'UserLaborController@relieve');
+    });
+    /** 纸箱 */
+    Route::group(['prefix'=>'paperBox'],function(){
+        /** 首页 */
+        Route::group(['prefix'=>'index'],function(){
+            Route::get('model', 'PaperBoxController@indexModel');
+            Route::get('owner', 'PaperBoxController@indexOwner');
+        });
+        /** excel */
+        Route::group(['prefix'=>'excel'],function(){
+            Route::post('import','PaperBoxController@import');
+            Route::get('goImport',function (){return view('maintenance.paperBox.import');});
+        });
+    });
+    /** 计费模型 */
+    Route::group(['prefix'=>'waybillPriceModel'],function(){
+        /** excel */
+        Route::group(['prefix'=>'excel'],function(){
+            Route::get('goImport',function (){return view('maintenance.waybillPriceModel.import');});
+        });
+        Route::get('cities/{province_id}','WaybillPriceModelsController@getCities');
+    });
 
+    Route::resource('log', 'LogController');
+    Route::resource('user', 'UserController');
+    Route::resource('role', 'RoleController');
+    Route::resource('authority', 'AuthorityController');
+    Route::resource('owner', 'OwnerController');
+    Route::resource('logistic', 'LogisticController');
+    Route::resource('qualityLabel', 'QualityLabelController');
+    Route::resource('carrier', 'CarriersController');
+    Route::resource('carType','CarTypesController');
+    Route::resource('unit','UnitsController');
+    Route::resource('province','ProvincesController');
+    Route::resource('city','CitiesController');
+    Route::resource('commodity', 'CommodityController');
+    Route::resource('measuringMachine', 'MeasuringMachineController');
+    Route::resource('userWorkgroup', 'UserWorkgroupController');
+    Route::resource('laborCompany', 'LaborCompanyController');
+    Route::resource('warehouse', 'WarehouseController');
+    Route::resource('jobType', 'JobTypeController');
+    Route::resource('tutorial', 'TutorialController');
+    Route::resource('userLabor','UserLaborController');
+    Route::resource('paperBox', 'PaperBoxController');
+    Route::resource('waybillPriceModel','WaybillPriceModelsController');
+});
+Route::get('maintenance', function () {return view('maintenance.index');});
+
+/** 运输 */
+Route::group(['prefix'=>'waybill'],function(){
+    /** 置顶 */
+    Route::group(['prefix'=>'ontop'],function(){
+        Route::any('top','WaybillController@waybillOnTop');
+        Route::any('cancel','WaybillController@cancelOnTop');
+    });
+    /** 判断 */
+    Route::group(['prefix'=>'is'],function(){
+        Route::post('waybillPriceModel','WaybillController@isWaybillPriceModel');
+    });
+    Route::post('deleteImg','WaybillController@deleteImg');
+    Route::post('upload','WaybillController@upload');
+    Route::get('relating',function (){return view('waybill.menuWaybill');});
+    Route::get('recycle', 'WaybillController@recycle');
+    Route::post('refreshWaveHouseWeight','WaybillController@refreshWaveHouseWeight');
+    Route::get('index','WaybillController@index');
+    Route::get('delivering','WaybillController@delivering');
+    Route::any('deliveringExport','WaybillController@deliveringExport');
+    Route::post('storeCarrierBill','WaybillController@storeCarrierBill');
+    Route::post('addCounty','WaybillController@addCounty');
+    Route::any('waybillAudit','WaybillController@waybillAudit');
+    Route::any('waybillEdit/{id}','WaybillController@waybillEdit');
+    Route::any('waybillRetreatAudit','WaybillController@waybillRetreatAudit');
+    Route::any('waybillEndAudit','WaybillController@waybillEndAudit');
+    Route::any('export','WaybillController@export');
+    Route::any('waybillUpdate/{id}','WaybillController@waybillUpdate');
+
+    Route::resource('waybillFinancialSnapshot','WaybillFinancialSnapshotsController');
+    Route::resource('waybillFinancialExcepted','WaybillFinancialExceptedController');
+});
+Route::resource('waybill','WaybillController');
 
-Route::any('waybillFinancialSnapshot/export','WaybillFinancialSnapshotsController@export');
-Route::post('waybillPriceModel/excel/import','WaybillPriceModelsController@import');
+/** 运输财务 */
+Route::group(['prefix'=>'waybillFinancialSnapshot'],function(){
+    Route::any('export','WaybillFinancialSnapshotsController@export');
+});
 
+/** 运输计费模型 */
+Route::group(['prefix'=>'waybillPriceModel'],function(){
+    /** excel */
+    Route::group(['prefix'=>'excel'],function(){
+        Route::post('import','WaybillPriceModelsController@import');
+    });
+});
 
-Route::post('rejectedBill/{rejectedBill}/edit', 'RejectedBillController@edit');
+/** 退货明细 */
+Route::group(['prefix'=>'rejectedBill'],function(){
+    Route::post('{rejectedBill}/edit', 'RejectedBillController@edit');
+});
 Route::resource('rejectedBill', 'RejectedBillController');
-Route::get('rejected/import', 'RejectedController@import');
-Route::post('rejected/import/excel', 'RejectedController@importExcel');
-Route::get('rejected/relating', function () {return view('rejected.relating');});
-Route::get('rejected/recycle', 'RejectedController@recycle');
-Route::post('rejected/ajaxCheck', 'RejectedController@ajaxCheck');
-Route::post('rejected/ajaxCheckAll', 'RejectedController@ajaxCheckAll');
-Route::post('rejected/ajaxFinishAll', 'RejectedController@ajaxFinishAll');
-Route::any('rejected/export', 'RejectedController@export');
-Route::any('rejected/index/general','RejectedController@index');  // 一般查询
-Route::any('rejected/index/analyze','RejectedController@indexAnalyze');  // 统计查询
-Route::any('rejected/exportAnalyze', 'RejectedController@exportAnalyze');
-Route::resource('rejected', 'RejectedController');
 
+/** 退货 */
+Route::group(['prefix'=>'rejected'],function(){
+    /** 导出 */
+    Route::group(['prefix'=>'import'],function(){
+        Route::post('excel', 'RejectedController@importExcel');
+    });
+    /** 主页 */
+    Route::group(['prefix'=>'index'],function(){
+        Route::any('general','RejectedController@index');
+        Route::any('analyze','RejectedController@indexAnalyze');
+    });
+    /** 分析 */
+    Route::group(['prefix'=>'analyze'],function(){
+        Route::post('exportExcelOnParams', 'RejectedController@exportExcelOnParams');
+        Route::post('exportAllExcelOnParams', 'RejectedController@exportAllExcelOnParams');
+    });
 
-Route::post('rejected/analyze/exportExcelOnParams', 'RejectedController@exportExcelOnParams');
-Route::post('rejected/analyze/exportAllExcelOnParams', 'RejectedController@exportAllExcelOnParams');
-Route::post('rejected/ajaxGetRejected', 'RejectedController@ajaxGetRejected');
+    Route::get('relating', function () {return view('rejected.relating');});
+    Route::get('recycle', 'RejectedController@recycle');
+    Route::post('ajaxCheck', 'RejectedController@ajaxCheck');
+    Route::post('ajaxCheckAll', 'RejectedController@ajaxCheckAll');
+    Route::post('ajaxFinishAll', 'RejectedController@ajaxFinishAll');
+    Route::get('import', 'RejectedController@import');
+    Route::any('export', 'RejectedController@export');
+    Route::any('exportAnalyze', 'RejectedController@exportAnalyze');
+    Route::post('ajaxGetRejected', 'RejectedController@ajaxGetRejected');
+});
+Route::resource('rejected', 'RejectedController');
 
-Route::get('maintenance/', function () {return view('maintenance.index');});
-Route::any('package/measureMonitor/speech','MeasureMonitorController@speech');
-Route::post('package/measureMonitor/data','MeasureMonitorController@data');
-Route::resource('package/measureMonitor','MeasureMonitorController');
-Route::any('package/export','PackageController@export');
-Route::get('package/statistics','PackageController@statistics');
+
+/** 包裹 */
 Route::group(['prefix'=>'package'],function(){
+    /** 设备 */
+    Route::group(['prefix'=>'measureMonitor'],function(){
+        Route::any('speech','MeasureMonitorController@speech');
+        Route::post('data','MeasureMonitorController@data');
+    });
+    /** 统计 */
     Route::group(['prefix'=>'statistics'],function(){
         Route::any('export','PackageController@statisticsExport');
     });
+    /** 异常 */
+    Route::group(['prefix'=>'weightExcepted'],function(){
+        Route::get('indexCreate','WeighExceptedController@indexCreate');
+        Route::get('indexIssued','WeighExceptedController@indexIssued');
+        Route::any('export/{type}','WeighExceptedController@export');
+    });
+
+    Route::any('export','PackageController@export');
+    Route::get('statistics','PackageController@statistics');
+    Route::get('relating', function () {return view('weight.menuWeight');});
+
+    Route::resource('measureMonitor','MeasureMonitorController');
 });
-Route::get('package/relating', function () {return view('weight.menuWeight');});
-Route::get('package/weightExcepted/indexCreate','WeighExceptedController@indexCreate');
-Route::get('package/weightExcepted/indexIssued','WeighExceptedController@indexIssued');
-Route::any('package/weightExcepted/export/{type}','WeighExceptedController@export');
 Route::resource('package','PackageController');
 
-Route::get('store','StoreController@index');
-Route::resource('store/fast','StoreController');
-Route::resource('store/storeItem','StoreItemsController');
-
-
-/**
- *二维码
- */
-//进入打卡
-Route::get('personnel/checking-in/goGetQRCode','QRCodeController@goGetQRCode');
-//进入组二维码显示页面
-Route::get('personnel/checking-in/QRCode','QRCodeController@QRCode');
-////打卡页面点击仓库获取所有的工作组
-//Route::get('personnel/checking-in/getUserWorkGroups','QRCodeController@getUserWorkGroups');
-
-//进入进出场二维码显示页面
-Route::get('personnel/checking-in/importAndExportQRCode','QRCodeController@importAndExportQRCode');
-//获取刷新二维码
-Route::post('personnel/checking-in/refreshQRCode','QRCodeController@refreshQRCode');
-/**
- *  用户打卡
- */
-Route::group(['prefix'=>'personnel/checking-in/userDutyCheck'],function(){
-    //进出场打卡接口
-    Route::get('importAndExportClock','UserDutyCheckController@importAndExportClock');
-    //进入打卡接口
-    Route::get('clock','UserDutyCheckController@clock');
-    //进出场提交打卡
-    Route::post('storeClock','UserDutyCheckController@storeClock');
-    Route::post('绑定临时工并进组','UserDutyCheckController@绑定临时工并进组');
-    //进出场提交打卡
-    Route::post('importGroupClock','UserDutyCheckController@importGroupClock');
-    //去往登记资料页面
-    Route::get('createUserDetail/{mobile_phone}','UserDutyCheckController@createUserDetail');
-    //去往修改资料页面
-    Route::get('updateUserLaborCompanies/{mobile_phone}','UserDutyCheckController@updateUserLaborCompanies');
-    //提交登记资料
-    Route::post('storeUserDetail','UserDutyCheckController@storeUserDetail');
-    //提交修改劳务所
-    Route::post('storeUpdateUserLaborCompanies','UserDutyCheckController@storeUpdateUserLaborCompanies');
+/** 入库 */
+Route::group(['prefix'=>'store'],function(){
+    Route::resource('fast','StoreController');
+    Route::resource('storeItem','StoreItemsController');
 });
+Route::get('store','StoreController@index');
 
-/**
- *  二次加工
- */
+/** 二次加工 */
 Route::group(['prefix'=>'process'],function(){
-    //相关设置
-    Route::get('relating',function (){return view('process.menuProcess');});
-    /*
-     * 统计
-     * */
-    Route::group(['prefix'=>'statistic'],function (){
-        //首页
-        Route::get("",'ProcessStatisticController@index');
-        //导出
+    /** 统计 */
+    Route::group(['prefix'=>'statistic'],function(){
         Route::any("export",'ProcessStatisticController@export');
     });
-    //获取每日参与人
+
+    Route::get('relating',function (){return view('process.menuProcess');});
+    Route::get("statistic",'ProcessStatisticController@index');
     Route::post('getDailyParticipant','ProcessController@getDailyParticipant');
-    //驳回
     Route::post('reject/{id}','ProcessController@reject');
-    //接单
     Route::post('receive/{id}','ProcessController@receive');
-    //完成
     Route::post('accomplish','ProcessController@accomplish');
-    //修改每日产量
     Route::post('updateDailyOutput','ProcessController@updateDailyOutput');
-    //添加参与人
     Route::post('storeProcessDailyParticipant','ProcessController@storeProcessDailyParticipant');
-    //验证参与人
     Route::post('verifyUserName','ProcessController@verifyUserName');
-    //修改参与人
     Route::post('updateProcessDailyParticipant','ProcessController@updateProcessDailyParticipant');
-    //参与人审核
     Route::post('processDailyParticipantAudit/{id}','ProcessController@processDailyParticipantAudit');
-    //临时工详情
-    //Route::post('showUserDetail','ProcessController@showUserDetail');
-    //获取全部教程
     Route::post('getTutorials/{id}','ProcessController@getTutorials');
-    //添加教程关联
     Route::post('selectedTutorial','ProcessController@selectedTutorial');
-    //删除教程关联
     Route::post('deleteTutorial','ProcessController@deleteTutorial');
-    //根据货主获取教程
     Route::post('ownerGetTutorials/{owner_id}','ProcessController@ownerGetTutorials');
-    //删除二次加工内容单
-    Route::post('deleteProcessContent/{id}','ProcessController@deleteProcessContent');
-    //回滚状态
     Route::post('rollback','ProcessController@rollback');
-    //回收站
     Route::get('recycle','ProcessController@recycle');
-    //恢复
     Route::post('recover','ProcessController@recover');
-    //审核
     Route::post('audit','ProcessController@audit');
-    //加工完成
     Route::post('processAccomplish','ProcessController@processAccomplish');
-    //验收
     Route::post('checkAndAccept','ProcessController@checkAndAccept');
-    //修改价格
     Route::post('updateUnitPrice','ProcessController@updateUnitPrice');
-    //二次加工组审核
     Route::post('workGroupVerify','ProcessController@workGroupVerify');
-    //财务审核
     Route::post('accountantVerify','ProcessController@accountantVerify');
-    //修改起始日期
     Route::post('updateStartDate','ProcessController@updateStartDate');
-    //修改终止日期
     Route::post('updateEndDate','ProcessController@updateEndDate');
-    //删除临时工工作记录
     Route::delete('destroyDailyParticipant/{id}','ProcessController@destroyDailyParticipant');
-    //导入粘贴商品数据
     Route::post('importPasteData','ProcessController@importPasteData');
-    //导出
     Route::any('export','ProcessController@export');
+    Route::post('deleteProcessContent/{id}','ProcessController@deleteProcessContent');
 });
-//process主方法 restful
 Route::resource('process','ProcessController');
 
-/**
- * 人事
- */
-//临时工报表界面
-Route::resource('personnel/laborReport','LaborReportController');
+
+/** 人事 */
+Route::group(['prefix'=>'personnel'],function(){
+    /** 打卡 */
+    Route::group(['prefix'=>'checking-in'],function(){
+        /** 打卡记录 */
+        Route::group(['prefix'=>'userDutyCheck'],function(){
+            Route::get('importAndExportClock','UserDutyCheckController@importAndExportClock');
+            Route::get('clock','UserDutyCheckController@clock');
+            Route::post('storeClock','UserDutyCheckController@storeClock');
+            Route::post('绑定临时工并进组','UserDutyCheckController@绑定临时工并进组');
+            Route::post('importGroupClock','UserDutyCheckController@importGroupClock');
+            Route::get('createUserDetail/{mobile_phone}','UserDutyCheckController@createUserDetail');
+            Route::get('updateUserLaborCompanies/{mobile_phone}','UserDutyCheckController@updateUserLaborCompanies');
+            Route::post('storeUserDetail','UserDutyCheckController@storeUserDetail');
+            Route::post('storeUpdateUserLaborCompanies','UserDutyCheckController@storeUpdateUserLaborCompanies');
+        });
+
+        Route::get('goGetQRCode','QRCodeController@goGetQRCode');
+        Route::get('QRCode','QRCodeController@QRCode');
+        Route::get('importAndExportQRCode','QRCodeController@importAndExportQRCode');
+        Route::post('refreshQRCode','QRCodeController@refreshQRCode');
+        Route::get('createReplenishClock','PersonnelController@createReplenishClock');
+        Route::post('checkUserLabors','PersonnelController@checkUserLabors');
+        Route::post('storeReplenishClock','PersonnelController@storeReplenishClock');
+        Route::get('clockAudit','PersonnelController@clockAudit');
+        Route::get('missionAudit','PersonnelController@missionAudit');
+        Route::post('storeClockAudit','PersonnelController@storeClockAudit');
+        Route::post('updateDutyCheckType','PersonnelController@updateDutyCheckType');
+        Route::post('storeGroupAudit','PersonnelController@storeGroupAudit');
+        Route::post('isException','PersonnelController@isException');
+        Route::post('storeMissionAudit','PersonnelController@storeMissionAudit');
+    });
+
+    Route::get('relating',function (){return view('personnel/menuPersonnel');});
+
+    Route::resource('laborReport','LaborReportController');
+});
 
 Route::get('getLaborReport','LaborReportController@getDailyLabor');
+
+/** 临时工报表 */
 Route::group(['prefix'=>'laborReport'],function(){
-    //门卫打卡审核
     Route::post('guardClockAudit','LaborReportController@guardClockAudit');
-    //组长打卡审核
     Route::post('groupClockAudit','LaborReportController@groupClockAudit');
-    //组长打卡审核(特定组添加备注)
     Route::post('addRemarkAndGroupClock','LaborReportController@addRemarkAndGroupClock');
-    //组长点击退场
     Route::post('groupExport','LaborReportController@groupExport');
-    //组长点击退场,是否包含晚饭时间情况
     Route::post('groupExportEnsure','LaborReportController@groupExportEnsure');
-    //导出
     Route::any('export','LaborReportController@export');
 });
 
-Route::group(['prefix'=>'personnel'],function(){
-    //去往录入补卡
-    Route::get('checking-in/createReplenishClock','PersonnelController@createReplenishClock');
-    //搜索临时工下打卡信息
-    Route::post('checking-in/checkUserLabors','PersonnelController@checkUserLabors');
-    //录入补卡
-    Route::post('checking-in/storeReplenishClock','PersonnelController@storeReplenishClock');
-    //去往打卡审核
-    Route::get('checking-in/clockAudit','PersonnelController@clockAudit');
-    //去往任务审核
-    Route::get('checking-in/missionAudit','PersonnelController@missionAudit');
-    //打卡审核
-    Route::post('checking-in/storeClockAudit','PersonnelController@storeClockAudit');
-    //打卡审核类型
-    Route::post('checking-in/updateDutyCheckType','PersonnelController@updateDutyCheckType');
-    //打卡组长审核
-    Route::post('checking-in/storeGroupAudit','PersonnelController@storeGroupAudit');
-    //打卡审核登出类型判断异常
-    Route::post('checking-in/isException','PersonnelController@isException');
-    //任务审核
-    Route::post('checking-in/storeMissionAudit','PersonnelController@storeMissionAudit');
-    //相关设置
-    Route::get('relating',function (){return view('personnel/menuPersonnel');});
-});
+/** 库存 */
+Route::group(['prefix'=>'inventory'],function(){
+    /** 说明 */
+    Route::group(['prefix'=>'statement'],function(){
+        /** 动库报表 */
+        Route::group(['prefix'=>'changeInventory'],function(){
+            Route::any('export','InventoryController@exportData');
+            Route::get('downLoadExcel','InventoryController@downLoadExcel');
+            Route::post('deleteExcel','InventoryController@deleteExcel');
+        });
+        Route::get('changeInventory','InventoryController@changeInventory');
+        /** 全部库存 */
+        Route::group(['prefix'=>'allInventory'],function(){
+            Route::any('export','InventoryController@exportAllInventory');
+        });
+        Route::get('allInventory','InventoryController@allInventory');
+        /** 每日记录 */
+        Route::group(['prefix'=>'dailyLog'],function(){
+            Route::any('export','InventoryController@exportDailyLog');
+            Route::post('getLoggingOwner','InventoryController@getLoggingOwner');
+            Route::post('addLoggingOwner','InventoryController@addLoggingOwner');
+        });
+        Route::get('dailyLog','InventoryController@dailyLog');
+
+        Route::get('inventoryCompare','InventoryCompareController@inventoryCompare');
+    });
+    /** 库存盘点 */
+    Route::group(['prefix'=>'stockInventory'],function(){
+        Route::get('mission','InventoryAccountController@mission');
+        Route::post('createStockInventoryMission','InventoryAccountController@createStockInventoryMission');
+        Route::any('enterStockInventory/{id}','InventoryAccountController@enterStockInventory');
+    });
+    /** 库存比对 */
+    Route::group(['prefix'=>'inventoryCompare'],function(){
+        /** excel */
+        Route::group(['prefix'=>'import'],function(){
+            Route::post('excel','InventoryCompareController@importExcel');
+        });
+    });
 
-/**
- * 库存
- */
-Route::group(['prefix'=>'inventory'],function (){
-    //动库报表
-    Route::get('statement/changeInventory','InventoryController@changeInventory');
-    Route::any('statement/changeInventory/export','InventoryController@exportData');
-    Route::get('statement/changeInventory/downLoadExcel','InventoryController@downLoadExcel');
-    Route::post('statement/changeInventory/deleteExcel','InventoryController@deleteExcel');
-    //全部库存
-    Route::get('statement/allInventory','InventoryController@allInventory');
-    Route::any('statement/allInventory/export','InventoryController@exportAllInventory');
-
-    //同步货主
     Route::get('syncOwners','InventoryAccountController@syncOwners');
     Route::any('删除盘点记录','InventoryAccountController@删除盘点记录');
     Route::get('完结盘点任务/{id}','InventoryAccountController@完结盘点任务');
     Route::post('修改质量状态','InventoryAccountController@修改质量状态');
     Route::post('增加系统之外的库位记录','InventoryAccountController@增加系统之外的库位记录');
     Route::post('盘点选中任务','InventoryAccountController@盘点选中任务');
-    //库存盘点
-    Route::get('stockInventory/mission','InventoryAccountController@mission');
-    //创建盘点任务
-    Route::post('stockInventory/createStockInventoryMission','InventoryAccountController@createStockInventoryMission');
-    //结束初盘任务
     Route::post('stockInventoryEnd','InventoryAccountController@stockInventoryEnd');
-    //删除盘点任务
     Route::any('deleteStockInventoryMission/{id}','InventoryAccountController@deleteStockInventoryMission');
-    //进入盘点或者复盘页面
-    Route::any('stockInventory/enterStockInventory/{id}','InventoryAccountController@enterStockInventory');
-    //盘点任务导出
     Route::any('stockInventoryExport','InventoryAccountController@stockInventoryExport');
     Route::any('stockInventory','InventoryAccountController@stockInventory');
-
-    //库存体积
-    Route::get('statement/dailyLog','InventoryController@dailyLog');
-    //库存体积导出
-    Route::any('statement/dailyLog/export','InventoryController@exportDailyLog');
-    //获取记录监听货主
-    Route::post('statement/dailyLog/getLoggingOwner','InventoryController@getLoggingOwner');
-    //添加记录监听货主
-    Route::post('statement/dailyLog/addLoggingOwner','InventoryController@addLoggingOwner');
-    //复盘查询盘点记录
     Route::post('searchStockInventoryRecord','InventoryAccountController@searchStockInventoryRecord');
-
-    //库存对比
-    Route::get('statement/inventoryCompare','InventoryCompareController@inventoryCompare');
-    //库存对比批量导入
-    Route::post('inventoryCompare/import/excel','InventoryCompareController@importExcel');
-
-    Route::post('statement/dailyLog/addLoggingOwner','InventoryController@addLoggingOwner');
 });
 
-/**
- * 出库
- */
+/** 订单 */
 Route::group(['prefix'=>'order'],function(){
-    //发运
-    Route::any('index/delivering','OrderController@delivering');
-    //批量备注
-    Route::post('create/batchComments','OrderController@batchComments');
-    //冻结订单
+    /** 主页 */
+    Route::group(['prefix'=>'index'],function(){
+        Route::any('delivering','OrderController@delivering');
+    });
+    /** 创建 */
+    Route::group(['prefix'=>'create'],function(){
+        Route::post('batchComments','OrderController@batchComments');
+    });
+    /** 波次 */
+    Route::group(['prefix'=>'wave'],function(){
+        Route::get('index','WaveController@index');
+        Route::post('cancelPrinting','WaveController@cancelPrinting');
+        Route::any('exportExcel','WaveController@exportExcelOnParams');
+    });
+    /** 问题件 */
+    Route::group(['prefix'=>'issue'],function(){
+        /** 工作量 */
+        Route::group(['prefix'=>'workLoad'],function(){
+            Route::get('index','OrderIssuePerformanceController@workLoadPage');
+            Route::any('export','OrderIssuePerformanceController@exportWorkLoad');
+        });
+        /** 绩效 */
+        Route::group(['prefix'=>'orderIssuePerformance'],function(){
+            Route::get('index','OrderIssuePerformanceController@index');
+            Route::any('export','OrderIssuePerformanceController@export');
+        });
+
+        Route::get('index','OrderIssueController@index');
+        Route::get('create','OrderIssueController@create');
+        Route::post('store','OrderIssueController@store');
+        Route::post('batchImport','OrderIssueController@batchImport');
+        Route::get('excelImport','OrderIssueController@excelImport');
+        Route::get('edit/{id}','OrderIssueController@edit');
+        Route::match(['get','post'],'export','OrderIssueController@exportOrderIssue');
+    });
+    /** 跟踪 */
+    Route::group(['prefix'=>'tracking'],function(){
+        Route::get('index',"OrderTrackingController@index");
+        Route::get('export',"OrderTrackingController@export");
+        Route::get('update','OrderTrackingController@updateApi');
+    });
+
     Route::post('freeze','OrderController@freeze');
-    //批量冻结订单
     Route::post('freezeAll','OrderController@freezeAll');
-    //解冻订单
     Route::post('thaw','OrderController@thaw');
-    //取消分配
     Route::post('deAllocation','OrderController@deAllocation');
-    //批量取消分配
     Route::post('deAllocationAll','OrderController@deAllocationAll');
-    //重置快递获取标记
     Route::post('resetLogisticsGetMark','OrderController@resetLogisticsGetMark');
 });
-
-/**
- * 波次
- */
-Route::group(['prefix'=>'order'],function(){
-    // index
-    Route::get('wave/index','WaveController@index');
-    // cancel printing by id or ids
-    Route::post('wave/cancelPrinting','WaveController@cancelPrinting');
-    // export Excel
-    Route::any('wave/exportExcel','WaveController@exportExcelOnParams');
-});
-/**
- * 问题件
- */
-Route::group(['prefix'=>'order'],function(){
-    Route::get('issue/index','OrderIssueController@index');// 查询
-    Route::get('issue/create','OrderIssueController@create'); // 录入
-    Route::post('issue/store','OrderIssueController@store'); // 录入
-
-    Route::post('issue/batchImport','OrderIssueController@batchImport'); // 批量导入
-    Route::get('issue/excelImport','OrderIssueController@excelImport'); // 前往
-    Route::get('issue/edit/{id}','OrderIssueController@edit');// 编辑
-    Route::match(['get','post'],'issue/export','OrderIssueController@exportOrderIssue');// 导出
-
-    Route::get('issue/workLoad/index','OrderIssuePerformanceController@workLoadPage');
-    Route::any('issue/workLoad/export','OrderIssuePerformanceController@exportWorkLoad');
-
-    Route::get('issue/orderIssuePerformance/index','OrderIssuePerformanceController@index');
-    Route::any('issue/orderIssuePerformance/export','OrderIssuePerformanceController@export');
-});
-/**
- * tracking
- */
-Route::group(['prefix'=>'order'],function(){
-    Route::get('tracking/index',"OrderTrackingController@index");
-    Route::get('tracking/export',"OrderTrackingController@export");
-    Route::get('tracking/update','OrderTrackingController@updateApi');
-});

+ 76 - 0
tests/Routes/WebTest.php

@@ -0,0 +1,76 @@
+<?php
+
+namespace Tests\Routes;
+
+use App\User;
+use Illuminate\Support\Str;
+use Tests\TestCase;
+
+class WebTest extends TestCase
+{
+    const PARAM = 1;
+    const GET = [
+        "/home",
+        "/homeTemp",
+        "password/change",
+        "password/update",
+    ];
+    const POST = [
+
+    ];
+    const PUT = [
+
+    ];
+    const DELETE = [
+
+    ];
+    const RESTFUL = [
+
+    ];
+    const ANY = [
+
+    ];
+    const MATCH = [
+
+    ];
+    public function testRoutes(){
+        $superAdmin = config('users.superAdmin');
+        $user = User::query()->where('name',$superAdmin[0])->first();
+        if (!$user){
+            $user = User::query()->create([
+                'name' => $superAdmin[0],
+                'email' => "test@example.com",
+                'password' => "$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi",
+                'remember_token' => Str::random(10),
+            ]);
+        }
+        $getMethod = self::GET;
+        $postMethod = self::POST;
+        $putMethod = self::PUT;
+        $deleteMethod = self::DELETE;
+        foreach (self::MATCH as $method => $route){
+            if ($method == 'get'){
+                array_push($getMethod,$route);
+            }
+            if ($method == 'post'){
+                array_push($postMethod,$route);
+            }
+            if ($method == 'put'){
+                array_push($putMethod,$route);
+            }
+            if ($method == 'delete'){
+                array_push($deleteMethod,$route);
+            }
+        }
+        $urls = array_merge(self::GET,self::RESTFUL);
+        /** @var User $user */
+        foreach ($urls as $url){
+            $response = $this->actingAs($user)->get($url);
+            $this->assertNotEquals($response->getStatusCode(),404);
+        }
+    }
+
+    public function testPost(){
+
+    }
+}