Просмотр исходного кода

Merge branch 'master' into zzd

zzd 5 лет назад
Родитель
Сommit
1e58ca21ee

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

@@ -14,7 +14,7 @@ use Maatwebsite\Excel\Facades\Excel;
 class OrderController extends Controller
 {
     public function delivering(Request $request){
-        if(!Gate::allows('出库管理-发运')){ return redirect(url('/'));  }
+        if(!Gate::allows('订单管理-发运')){ return redirect(url('/'));  }
         $paginate=$request->input('paginate')??50;
         $page=$request->input('page')??1;
         $ordertime_start=$request->input('ordertime_start');
@@ -75,8 +75,8 @@ class OrderController extends Controller
         if (!$request->input('export')&&!$request->input('export'))$sql.=" and ROWNUM<='".$page*$paginate."' order by ordertime desc)";
         if (!$request->input('export')&&!$request->input('export'))$sql.=" header where header.rn>'".($page-1)*$paginate."' ";
         $sql.=")DOC_ORDER_HEADER left join DOC_ORDER_DETAILS on DOC_ORDER_DETAILS.ORDERNO=DOC_ORDER_HEADER.ORDERNO
-                      left join BAS_CODES on BAS_CODES.CODE=DOC_ORDER_HEADER.sostatus and BAS_CODES.codeid='SO_STS' 
-                      left join BAS_Customer on BAS_Customer.customerid=DOC_ORDER_HEADER.customerid 
+                      left join BAS_CODES on BAS_CODES.CODE=DOC_ORDER_HEADER.sostatus and BAS_CODES.codeid='SO_STS'
+                      left join BAS_Customer on BAS_Customer.customerid=DOC_ORDER_HEADER.customerid
                       left join  BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
         group by DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
         ,DOC_ORDER_HEADER.ConsigneeID,DOC_ORDER_HEADER.ConsigneeName,DOC_ORDER_HEADER.C_Tel1,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
@@ -107,7 +107,7 @@ class OrderController extends Controller
         return view('order/index/delivering',compact('orders','customers','request','commodities','page'));
     }
     public function batchComments(Request $request){
-        if(!Gate::allows('出库管理-批量注释')){ return redirect(url('/'));  }
+        if(!Gate::allows('订单管理-批量注释')){ return redirect(url('/'));  }
         $checkData=$request->input('checkData');
         $content=$request->input('content');
         $ordersNotNull=OracleDOCOrderHeader::select('OrderNo','Notes')->whereIn('orderno',$checkData)
@@ -129,7 +129,7 @@ class OrderController extends Controller
     }
 
     function export($orders,$commodities){
-        if(!Gate::allows('出库管理')){ return redirect(url('/'));  }
+        if(!Gate::allows('订单管理')){ return redirect(url('/'));  }
         ini_set('max_execution_time',3500);
         ini_set('memory_limit','3526M');
         $row=[[

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

@@ -362,6 +362,7 @@ class PackageController extends Controller
         $weightChanged=$packageBatch['weight']!=$weight;
         Package::where('batch_number',$batch_number)->update($newValues);
         $packageBatch['forceUpload']=$weightChanged;
+        Controller::logS(__METHOD__,__FUNCTION__,"批量更新时批次号传入:{$batch_number},模型中:{$packageBatch['batch_number']}".json_encode($packageBatch));
         $result=$accomplishToWMS->accomplishToWMS($packageBatch);
         if ($result['result']=='success'){
             $newValues['status']='已上传';

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

@@ -45,25 +45,69 @@ class TestController extends Controller
     {
         return call_user_func([$this, $method],$request);
     }
-    function t1(Request $request){ //x        $packagesBatch=Package::where('batch_number',$batch_number)->first();
+    function packageFromLog(Request $request){ //x        $packagesBatch=Package::where('batch_number',$batch_number)->first();
 
-        $waybills=Waybill::all();
-        $controller=(new WaybillController());
-        $waybills->each(function ($waybill)use($controller){
-            $controller->accomplishToWMS($waybill);
+        ini_set('max_execution_time',2500);
+        ini_set('memory_limit','1526M');
+        $uploaded=0;
+        $count=DB::table('logs')->where('operation','like',"%PackageController::new_%" )
+            ->where('created_at','>',"2020-06-08 15:46:00")
+            ->where('created_at','<',"2020-06-08 15:47:00")
+            ->where('type',"request_new_")
+            ->count();
+        $requests=DB::table('logs')->where('operation','like',"%PackageController::new_%" )
+            ->where('created_at','>',"2020-06-08 15:46:00")
+            ->where('created_at','<',"2020-06-08 15:47:00")
+            ->where('type',"request_new_")
+            ->get();
+        $requests->each(function($request)use(&$uploaded){
+            $requestJson=json_decode($request->description,true);
+            $response = Zttp::withHeaders([ 'content-type' => 'application/json',
+            ])->post('https://was.baoshi56.com/api/thirdPart/flux/package/new',
+                $requestJson
+            );
+            if($response->json()&&$response->json()['response']&&$response->json()['response']['flag']=='Y')
+                $uploaded+=1;
         });
+        dd($uploaded.'/'.$count);
+
+
+    }
+    function t2(Request $request){ //x        $packagesBatch=Package::where('batch_number',$batch_number)->first();
+
+        $uploaded=0;
+        $count=DB::table('logs')->where('operation','like',"%PackageController::new_%" )
+            ->where('created_at','>',"2020-06-03 14:02:00")
+            ->where('created_at','<',"2020-06-03 15:05:00")
+            ->where('type',"request_new_")
+            ->where('description','like',"%W200603000117%")
+            ->count();
+        $requests=DB::table('logs')->where('operation','like',"%PackageController::new_%" )
+            ->where('created_at','>',"2020-06-03 14:02:00")
+            ->where('created_at','<',"2020-06-03 15:05:00")
+            ->where('description','like',"%W200603000117%")
+            ->where('type',"request_new_")
+            ->get();
+        $requests->each(function($request)use(&$uploaded){
+            $requestJson=json_decode($request->description,true);
+            $response = Zttp::withHeaders([ 'content-type' => 'application/json',
+            ])->post('https://was.baoshi56.com/api/thirdPart/flux/package/new',
+                $requestJson
+            );
+            if($response->json()&&$response->json()['response']&&$response->json()['response']['flag']=='Y')
+                $uploaded+=1;
+        });
+        dd($uploaded.'/'.$count);
 
 
     }
     function tj(Request $request){
-        $a=11;
-        try{
-            $b=22;
-        }catch (\Exception $exception){
-            $this->log(__METHOD__,'Exception_'.__FUNCTION__,'请求异常:'.$exception->getMessage(),null);
-            return ['result'=>'false'];
-        }
-        echo $a+$b;
+        $waybills=Waybill::where('created_at','like','%2020-05-25%')->orWhere('created_at','like','%2020-05-30%')->get();
+        $controller=(new WaybillController());
+        $waybills->each(function ($waybill)use($controller){
+            $controller->accomplishToWMS($waybill);
+        });
+        dd($waybills->count());
     }
     function injectJS(Request $request){
         $items=RejectedBillItem::whereHas('rejectedBill',function($query){

+ 48 - 30
app/Http/Controllers/api/thirdPart/flux/PackageController.php

@@ -5,6 +5,8 @@ namespace App\Http\Controllers\Api\thirdPart\flux;
 use App\Http\Controllers\Controller;
 use App\Jobs\MarkPackageExcepted;
 use App\Logistic;
+use App\OracleDOCOrderHeader;
+use App\OracleDOCWaveHeader;
 use App\Owner;
 use App\Package;
 use App\WMSReflectPackage;
@@ -142,7 +144,7 @@ class PackageController extends Controller
     {
         return Validator::make($data, [
             'request.TASKID' => ['required', 'string', 'max:191'],
-            'request.Orderno' => ['required', 'string', 'max:191'],
+            'request.Orderno' => ['nullable', 'string', 'max:191'],
             'request.palletid' => ['required', 'string', 'max:191'],
             'request.SOReference5' => ['required', 'string', 'max:191'],
             'request.Customer' => ['nullable', 'string', 'max:191'],
@@ -170,43 +172,59 @@ class PackageController extends Controller
     public function accomplishToWMS(Package $package)
     {
         try{
-
             if($package['status']=='已上传'&&strstr($package['batch_rule'],'组合')){
                 if(isset($package['forceUpload'])&&$package['forceUpload']!=true){
-                    $this->log(__METHOD__,'跳过_'.__FUNCTION__,'未实际上传,之前有上传成功且无变动:'.json_encode($package),null);
-                    return ['result'=>'success'];
+                    $this->log(__METHOD__,'跳过1_'.__FUNCTION__,'未实际上传,之前有上传成功且无变动:'.json_encode($package),null);
+//                    return ['result'=>'success']; //不写WMS接口则不需要中断
                 }
             }
-            $json=["request"=>['TASKID'=>$package->WMSReflectPackage_name,
-                'SOReference5'=>$package->logistic_number,
-                'Weigh'=>$package->weight,
-                'Addwho'=>'',
-                'Addtime'=>Carbon::now(),
-                'Package'=>$package->paperBox_name,
-                'USERDEFINE1'=>$package->batch_number,
-                'USERDEFINE2'=>$package->batch_rule,
-                'USERDEFINE3'=>'OK',
-            ]];
-            $json=json_encode($json);
-            $url=url(config('api.flux.package.new'));
-            $response = Zttp::post($url, json_decode($json));
-            $this->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
-            $response=$response->json();
-            $noIssues=true;
-            if(!$response||!isset($response['response'])||!$response['response']['flag']=='Y'){
-                $noIssues=false;
-            }
-            if($noIssues&&$response['response']['flag']=='Y'){
-                $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
-                return ['result'=>'success'];
-            }
-            $this->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
-            return ['result'=>'false'];
+            $this->log(__METHOD__,'common_'.__FUNCTION__,'标记WMS波次:'.$package['batch_number'].'进入中',null);
+            $this->markWMS($package['batch_number']);
+            return ['result'=>'success'];
+            //对WMS接口请求不需要了,直接写其数据库
+//            $json=["request"=>['TASKID'=>$package->WMSReflectPackage_name,
+//                'SOReference5'=>$package->logistic_number,
+//                'Weigh'=>$package->weight,
+//                'Addwho'=>'',
+//                'Addtime'=>Carbon::now(),
+//                'Package'=>$package->paperBox_name,
+//                'USERDEFINE1'=>$package->batch_number,
+//                'USERDEFINE2'=>$package->batch_rule,
+//                'USERDEFINE3'=>'OK',
+//            ]];
+//            $json=json_encode($json);
+//            $url=url(config('api.flux.package.new'));
+//            $response = Zttp::post($url, json_decode($json));
+//            $this->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
+//            $response=$response->json();
+//            $noIssues=true;
+//            if(!$response||!isset($response['response'])||!$response['response']['flag']=='Y'){
+//                $noIssues=false;
+//            }
+//            if($noIssues&&$response['response']['flag']=='Y'){
+//                $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+//                return ['result'=>'success'];
+//            }
+//            $this->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+//            return ['result'=>'false'];
         }catch (\Exception $exception){
-            Controller::logS(__METHOD__,'Exception_'.__FUNCTION__,'CURL请求异常:'.$exception->getMessage(),null);
+            Controller::logS(__METHOD__,'Exception_'.__FUNCTION__,'请求异常:'.$exception->getMessage(),null);
             return ['result'=>'false'];
         }
     }
+    private function markWMS($batchNumber){
+        $docWaveHeader=OracleDOCWaveHeader::where('waveno',$batchNumber)->first();
+        if($docWaveHeader){
+            $docWaveHeader['userdefine3'] = 'Y';
+            OracleDOCWaveHeader::select('waveno','userdefine3')->where('waveno',$batchNumber)
+                ->update(['userdefine3'=>'Y']);
+//            $docWaveHeader->update();
+            $docWaveHeader=OracleDOCWaveHeader::where('waveno',$batchNumber)->first();
+            $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,'标记WMS波次:'.$batchNumber.',userdefine3='.$docWaveHeader['userdefine3'],null);
+        }else{
+            $this->log(__METHOD__,'ERROR'.__FUNCTION__,'标记WMS波次:'.$batchNumber.'未取到',null);
+        }
+    }
 
 
 }

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

@@ -120,8 +120,8 @@ class WaybillController extends Controller
             'request.*.CarrierID' => ['required', 'string', 'max:191'],
             'request.*.ConsigneeName' => ['nullable', 'string', 'max:191'],
             'request.*.C_Tel1' => ['nullable', 'string', 'max:191'],
-            'request.*.C_Address1' => ['required', 'string', 'max:191'],
-            'request.*.C_Province' => ['required', 'string', 'max:191'],
+            'request.*.C_Address1' => ['nullable', 'string', 'max:191'],
+            'request.*.C_Province' => ['nullable', 'string', 'max:191'],
             'request.*.C_City' => ['nullable', 'string', 'max:191'],
             'request.*.C_District' => ['nullable', 'string', 'max:191'],
             'request.*.order_list' => ['nullable', 'array', 'min:1'],

+ 15 - 0
app/OracleDOCWaveHeader.php

@@ -0,0 +1,15 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+use App\Traits\ModelTimeFormat;
+
+class OracleDOCWaveHeader extends Model
+{
+    use ModelTimeFormat;
+    protected $connection="oracle";
+    protected $table="DOC_WAVE_HEADER";
+//    protected $primaryKey="WAVENO";
+    public $timestamps=false;
+}

+ 1 - 1
config/users.php

@@ -3,7 +3,7 @@
 return [
 
 
-    'superAdmin' => ['ldaaww','baoshi56','zhouyaping','shiyao','zhouzhendong','胡浩'],
+    'superAdmin' => ['ldaaww','baoshi56','zhouyaping','shiyao','zhouzhendong','胡浩','阿珺'],
     'token_expire_minutes'=>7200,
     'token_check_in_expire_minutes'=>7200, //打卡过期时间,单位为分钟
 ];

+ 3 - 3
database/migrations/2020_06_04_162259_add_order_authority.php

@@ -8,9 +8,9 @@ use Illuminate\Support\Facades\Schema;
 class AddOrderAuthority extends Migration
 {
     protected $authNames=[
-        "出库管理",
-        "出库管理-发运",
-        "出库管理-批量注释",
+        "订单管理",
+        "订单管理-发运",
+        "订单管理-批量备注",
     ];
     /**
      * Run the migrations.

+ 2 - 1
package-lock.json

@@ -3735,7 +3735,8 @@
         "font-awesome": {
             "version": "4.7.0",
             "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
-            "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM="
+            "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=",
+            "dev": true
         },
         "for-in": {
             "version": "1.0.2",

+ 1 - 1
package.json

@@ -13,6 +13,7 @@
     "axios": "^0.19",
     "bootstrap": "^4.1.0",
     "cross-env": "^5.1",
+    "font-awesome": "^4.7.0",
     "jquery": "^3.2",
     "laravel-mix": "^4.0.7",
     "lodash": "^4.17.5",
@@ -24,7 +25,6 @@
     "vue-template-compiler": "^2.6.10"
   },
   "dependencies": {
-    "font-awesome": "^4.7.0",
     "js-cookie": "^2.2.0",
     "laravel-echo": "^1.6.1",
     "pusher-js": "^5.1.1",

Разница между файлами не показана из-за своего большого размера
+ 0 - 1
public/js/app.js


+ 1 - 0
resources/sass/app.scss

@@ -1,6 +1,7 @@
 // Variables
 @import 'variables';
 @import 'fonts';
+@import 'text';
 @import 'layout';
 
 // Bootstrap

+ 28 - 10
resources/views/layouts/menu.blade.php

@@ -3,31 +3,49 @@
     <ul class="navbar-nav mr-auto nav-tabs nav font-weight-bold" id="nav1">
         @can('退货管理')
             <li class="nav-item"><a href="{{url("rejected/")}}" class="nav-link"
-                                    :class="{active:isActive('rejected',1)}">退货管理</a></li> @endcan
+                                    :class="{active:isActive('rejected',1)}">
+                    <span class="fa fa-recycle" style="color: #721b6e"></span>
+                    退货管理</a></li> @endcan
         @can('入库管理')
             <li class="nav-item"><a href="{{url("store")}}" class="nav-link"
-                                    :class="{active:isActive('store',1)}">入库管理</a></li> @endcan
-        @can('出库管理')
+                                    :class="{active:isActive('store',1)}">
+                    <span class="fa fa-sign-in" style="color: #721b25"></span>
+                    入库管理</a></li> @endcan
+        @can('订单管理')
             <li class="nav-item"><a href="{{url("order/index/delivering")}}" class="nav-link"
-                                    :class="{active:isActive('order',1)}">出库管理</a></li> @endcan
+                                    :class="{active:isActive('order',1)}">
+                    <span class="fa fa-calendar-check-o" style="color: #1b4b72"></span>
+                    订单管理</a></li> @endcan
         @can('运输管理')
             <li class="nav-item"><a href="{{url("waybill/index")}}" class="nav-link"
-                                    :class="{active:isActive('waybill',1)}">运输管理</a></li> @endcan
+                                    :class="{active:isActive('waybill',1)}">
+                    <span class="fa fa-truck" style="color: #4c2584"></span>
+                    运输管理</a></li> @endcan
         @can('称重管理')
             <li class="nav-item"><a href="{{url("package/")}}" class="nav-link"
-                                    :class="{active:isActive('package',1)}">称重管理</a></li> @endcan
+                                    :class="{active:isActive('package',1)}">
+                    <span class="fa fa-balance-scale" style="color: #1b7234"></span>
+                    称重管理</a></li> @endcan
         @can('库存管理')
             <li class="nav-item"><a href="{{url("inventory/statement/changeInventory")}}" class="nav-link"
-                                    :class="{active:isActive('inventory',1)}">库存管理</a></li> @endcan
+                                    :class="{active:isActive('inventory',1)}">
+                    <span class="fa fa-list-alt" style="color: #32721b"></span>
+                    库存管理</a></li> @endcan
         @can('二次加工管理')
             <li class="nav-item"><a href="{{url("process/")}}" class="nav-link"
-                                    :class="{active:isActive('process',1)}">二次加工管理</a></li> @endcan
+                                    :class="{active:isActive('process',1)}">
+                    <span class="fa fa-hand-scissors-o" style="color: #726e1b"></span>
+                    二次加工管理</a></li> @endcan
         @can('人事管理')
             <li class="nav-item"><a href="{{url("personnel/checking-in/createReplenishClock")}}" class="nav-link"
-                                    :class="{active:isActive('personnel',1)}">人事管理</a></li> @endcan
+                                    :class="{active:isActive('personnel',1)}">
+                    <span class="fa fa-header" style="color: #72441b"></span>
+                    人事管理</a></li> @endcan
         @can('基础设置')
         <li class="nav-item"><a href="{{url("maintenance/")}}" class="nav-link"
-                                :class="{active:isActive('maintenance',1)}">基础设置</a></li> @endcan
+                                :class="{active:isActive('maintenance',1)}">
+                <span class="fa fa-server"></span>
+                基础设置</a></li> @endcan
     </ul>
 
     <!-- Right Side Of Navbar -->

+ 3 - 3
resources/views/order/index/delivering.blade.php

@@ -62,7 +62,7 @@
                                     <a class="dropdown-item" @click="orderExport(2)" href="javascript:">导出所有页</a>
                                 </div>
                         </span>
-                        @can('出库管理-批量注释')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量注释</button>@endcan
+                        @can('订单管理-批量备注')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量备注追加</button>@endcan
                     </td>
                 </tr>
             </table>
@@ -78,7 +78,7 @@
                     </div>
                     <div class="modal-footer">
                         <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
-                        <button type="button" @click="batchComments()" class="btn btn-primary">提交批量注释</button>
+                        <button type="button" @click="batchComments()" class="btn btn-primary">批量备注追加</button>
                     </div>
                 </div><!-- /.modal-content -->
             </div><!-- /.modal -->
@@ -121,7 +121,7 @@
                     <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
                 </td>
                 <td>@{{ i+1 }}</td>
-                <td class="text-dark">@{{ order.orderno }}</td>
+                <td class="text-dark font-weight-bold">@{{ order.orderno }}</td>
                 <td class="text-muted">@{{ order.codename_c }}</td>
                 <td> @{{ order.warehouseid }}</td>
                 <td >@{{ order.customer_descr_c }}</td>

+ 1 - 1
resources/views/order/index/menu.blade.php

@@ -4,7 +4,7 @@
     <div class="container-fluid nav3">
         <div class="card menu-third" >
             <ul class="nav nav-pills">
-                @can('出库管理-发运')
+                @can('订单管理-发运')
                     <li class="nav-item">
                         <a class="nav-link text-dark" href="{{url('order/index/delivering')}}" :class="{active:isActive('delivering',3)}">发运</a>
                     </li> @endcan

+ 1 - 1
resources/views/order/menu.blade.php

@@ -2,7 +2,7 @@
 <div class="container-fluid nav2" id="nav2">
     <div class="card">
         <ul class="nav nav-pills">
-            @can('出库管理-发运')
+            @can('订单管理-发运')
             <li class="nav-item">
                 <a class="nav-link" href="{{url('order/index/delivering')}}" :class="{active:isActive('index',2)}">查询</a>
             </li> @endcan

+ 1 - 0
routes/api/thirdPart/flux.php

@@ -13,6 +13,7 @@ Route::post('receive/new', "ReceiveController@new_");//增加新波次消息
 文件地址前缀:/api/thirdPart/flux/package
 */
 Route::post('package/new', "PackageController@new_");//增加新包裹消息
+Route::post('package/new2', "PackageController2@new_");//增加新包裹消息
 //accomplishToWMS() 发往WMS的称重和纸条包裹信息
 
 /*

+ 1 - 1
routes/web.php

@@ -226,6 +226,6 @@ Route::group(['prefix'=>'inventory'],function (){
 Route::group(['prefix'=>'order'],function(){
     //发运
     Route::get('index/delivering','OrderController@delivering');
-    //批量注
+    //批量
     Route::post('create/batchComments','OrderController@batchComments');
 });

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
tests/waybill_flux.http


Некоторые файлы не были показаны из-за большого количества измененных файлов