Explorar el Código

称重接口以及若干BUG修复

LD hace 5 años
padre
commit
cafa5c8270

+ 1 - 1
app/Events/ImportEvent.php

@@ -8,7 +8,7 @@ use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
 use Illuminate\Queue\SerializesModels;
 
 
-class importEvent implements ShouldBroadcast
+class ImportEvent implements ShouldBroadcast
 {
     use  SerializesModels;
 

+ 26 - 20
app/Http/Controllers/PackageController.php

@@ -13,7 +13,11 @@ use Box\Spout\Common\Type;
 use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
 use Box\Spout\Writer\Common\Creator\WriterFactory;
 use Carbon\Carbon;
+use Illuminate\Contracts\Foundation\Application;
+use Illuminate\Http\RedirectResponse;
 use Illuminate\Http\Request;
+use Illuminate\Http\Response;
+use Illuminate\Routing\Redirector;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
@@ -65,7 +69,7 @@ class PackageController extends Controller
     /**
      * Display a listing of the resource.
      *
-     * @return \Illuminate\Http\Response
+     * @return Response
      */
     public function index(Request $request)
     {
@@ -85,7 +89,7 @@ class PackageController extends Controller
     /**
      * Show the form for creating a new resource.
      *
-     * @return \Illuminate\Http\Response
+     * @return Response
      */
     public function create()
     {
@@ -97,8 +101,8 @@ class PackageController extends Controller
     /**
      * Store a newly created resource in storage.
      *
-     * @param  \Illuminate\Http\Request  $request
-     * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
+     * @param Request $request
+     * @return Application|RedirectResponse|Redirector
      */
     public function store(Request $request)
     {
@@ -121,7 +125,7 @@ class PackageController extends Controller
         if (!$package && !$logistic_number)return redirect('package/create')->with('successError','录入失败!系统内没有对应波次的包裹!');
         $successTip = '操作成功';
         if ($package){
-            $accomplishToWMS=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
+            $accomplishToWMS=new Api\thirdPart\flux\PackageController();
             if ($isSamePackBatch||($package->batch_rule&&strstr($package->batch_rule,'组合'))){
                 $this->log(__METHOD__,'活动波次开始同步_'.__FUNCTION__,json_encode($package),Auth::user()['name']);
                 $this->syncBatch($package->batch_number,$weight,null,null,null,Carbon::now(),$paper_box_id);
@@ -218,8 +222,8 @@ class PackageController extends Controller
     /**
      * Display the specified resource.
      *
-     * @param  \App\Package  $packages
-     * @return \Illuminate\Http\Response
+     * @param Package $packages
+     * @return Response
      */
     public function show(Package $packages)
     {
@@ -229,8 +233,8 @@ class PackageController extends Controller
     /**
      * Show the form for editing the specified resource.
      *
-     * @param  \App\Package  $packages
-     * @return \Illuminate\Http\Response
+     * @param Package $packages
+     * @return Response
      */
     public function edit(Package $packages)
     {
@@ -240,9 +244,9 @@ class PackageController extends Controller
     /**
      * Update the specified resource in storage.
      *
-     * @param  \Illuminate\Http\Request  $request
-     * @param  \App\Package  $packages
-     * @return \Illuminate\Http\Response
+     * @param Request $request
+     * @param Package $packages
+     * @return Response
      */
     public function update(Request $request, Package $packages)
     {
@@ -252,8 +256,8 @@ class PackageController extends Controller
     /**
      * Remove the specified resource from storage.
      *
-     * @param  \App\Package  $packages
-     * @return \Illuminate\Http\Response
+     * @param Package $packages
+     * @return Response
      */
     public function destroy(Package $packages)
     {
@@ -262,8 +266,8 @@ class PackageController extends Controller
 
     public function export($id,Request $request){
         if(!Gate::allows('称重管理-查询')){ return '没有权限';  }
-        ini_set('max_execution_time',3500);
-        ini_set('memory_limit','3526M');
+        ini_set('max_execution_time',5500);
+        ini_set('memory_limit','5526M');
         if ($id==-1){
             $id=[];
             $packages=Package::select('id');
@@ -347,7 +351,7 @@ class PackageController extends Controller
     }
 
     public function syncBatch($batch_number,$weight,$max,$centre,$min,$date,$paperBox_id){
-        $accomplishToWMS=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
+        $accomplishToWMS=new Api\thirdPart\flux\PackageController();
         $packageBatch=Package::where('batch_number',$batch_number)->first();
         if(!$packageBatch)return;
         $newValues = ['weight' => $weight];
@@ -363,13 +367,13 @@ class PackageController extends Controller
         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'){
+        $result=$accomplishToWMS->markWMSOnBatch($packageBatch['batch_number']);
+        if ($result['result']){
             $newValues['status']='已上传';
             Controller::logS(__METHOD__,'SUCCESS_'.__FUNCTION__,'批量更改波次上传成功'.json_encode($packageBatch));
         }else{
             $newValues['status']='上传异常';
-            Controller::logS(__METHOD__,'error_'.__FUNCTION__,'批量更改波次上传异常:'.json_encode($packageBatch));
+            Controller::logS(__METHOD__,'error_'.__FUNCTION__,'批量更改波次上传异常:'.$result['message'].json_encode($packageBatch));
         }
         Package::where('batch_number',$batch_number)->update($newValues);
 
@@ -377,6 +381,8 @@ class PackageController extends Controller
 
     public function statisticExport($packages,$owners,$logistics){
         if (!$packages||!$owners||!$logistics) return;
+        ini_set('max_execution_time',3500);
+        ini_set('memory_limit','2726M');
         $row=[[]];
         $row[0]['owner']='货主';
         $row[0]['sum']='总计';

+ 5 - 2
app/Http/Controllers/TestController.php

@@ -10,6 +10,9 @@ use App\Events\CancelOrder;
 use App\Events\WmsReceiveNewEvent;
 use App\Http\Controllers\Api\thirdPart\flux\WaybillController;
 use App\Logistic;
+use App\OracleDOCOrderHeader;
+use App\OracleDOCWaveDetails;
+use App\OracleDOCWaveHeader;
 use App\Order;
 use App\Package;
 use App\Rejected;
@@ -105,8 +108,8 @@ class TestController extends Controller
 
     function t1(Request $request)
     {
-        $test=new TestController();
-        dump(method_exists($test,'t1'));
+
+
     }
 
 

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

@@ -172,15 +172,15 @@ 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__,'跳过1_'.__FUNCTION__,'未实际上传,之前有上传成功且无变动:'.json_encode($package),null);
-//                    return ['result'=>'success']; //不写WMS接口则不需要中断
-                }
-            }
-            $this->log(__METHOD__,'common_'.__FUNCTION__,'标记WMS波次:'.$package['batch_number'].'进入中',null);
-            $this->markWMS($package['batch_number']);
-            return ['result'=>'success'];
+//            if($package['status']=='已上传'&&strstr($package['batch_rule'],'组合')){
+//                if(isset($package['forceUpload'])&&$package['forceUpload']!=true){
+//                    $this->log(__METHOD__,'跳过1_'.__FUNCTION__,'未实际上传,之前有上传成功且无变动:'.json_encode($package),null);
+////                    return ['result'=>'success']; //不写WMS接口则不需要中断
+//                }
+//            }
+//            $this->log(__METHOD__,'common_'.__FUNCTION__,'标记WMS波次:'.$package['batch_number'].'进入中',null);
+            $success=$this->markWMSOnBatch($package['batch_number']);
+            return ['result'=>$success];
             //对WMS接口请求不需要了,直接写其数据库
 //            $json=["request"=>['TASKID'=>$package->WMSReflectPackage_name,
 //                'SOReference5'=>$package->logistic_number,
@@ -212,18 +212,18 @@ class PackageController extends Controller
             return ['result'=>'false'];
         }
     }
-    private function markWMS($batchNumber){
+    public function markWMSOnBatch($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);
+        if(!$docWaveHeader){
+            {return ['result'=>false,'message'=>'波次不存在'];}
         }
+        $unpackedOrders = OracleDOCOrderHeader::where('waveno', $batchNumber)->where(function ($query){
+            $query->where('SOSTATUS','<>','99')->where('SOSTATUS','<>','63');
+        })->get();
+        if($unpackedOrders->isNotEmpty()){return ['result'=>false,'message'=>'有未装箱或完成的订单在该波次,不能批量记录重量'];}
+        OracleDOCWaveHeader::where('waveno',$batchNumber)->update(['userdefine3'=>'Y']);
+        Controller::logS(__METHOD__,'SUCCESS_'.__FUNCTION__,'标记WMS波次:'.$batchNumber.',userdefine3="Y"',auth()->user()['id']);
+        return ['result'=>true];
     }
 
 

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

@@ -53,7 +53,7 @@ class ReceiveController extends Controller
                 $receive->skus()->save($sku);
             }
             if(isset($receive['ASNREFERENCE3'])){
-                if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"接收到WMS下发退货单号:{$receive['ASNREFERENCE3']},准备进入事件WmsReceiveNewEvent",null);
+                if(config('api.jianshang_rejecteds_log_switch'))Controller::logS(__METHOD__,__FUNCTION__,"接收到WMS下发退货单号:{$receive['ASNREFERENCE3']}||".json_encode($request->all()).",准备进入事件WmsReceiveNewEvent",null);
                 event(new WmsReceiveNewEvent($receive['ASNREFERENCE3'],$receive));
             }
         }

+ 5 - 1
app/OracleDOCWaveHeader.php

@@ -8,8 +8,12 @@ use App\Traits\ModelTimeFormat;
 class OracleDOCWaveHeader extends Model
 {
     use ModelTimeFormat;
+    protected $fillable=[
+        'WAVENO','ROUTE','TRANSPORTATION','ORDERTYPE','PRIORITY','WCSSENDFLAG','WCSSENDTIME','WCSSENDDESCR','DESCR','USERDEFINE1','USERDEFINE2','USERDEFINE3','USERDEFINE4','USERDEFINE5','RELEASESTATUS','WAVESTATUS','ADDTIME','ADDWHO','EDITTIME','EDITWHO','EDISENDTIME','WAREHOUSEID','CUSTOMERID','CUBIC','GROSSWEIGHT','TASKDISPATCH','CROSSAREA','TASKSTATUS','WAVERULE','CARRIERID','GROUPNUMBER','SORTATIONTYPE','UDFPRINTFLAG1','UDFPRINTFLAG2','UDFPRINTFLAG3','WORKINGAREA','WAVEDISPATCHID','WAVEGROUPNO','WAVEGROUPPRINTFLAG','WAV_TSK_MGM','ASSORTINGID'
+    ];
+    protected $primaryKey = 'WAVENO';
     protected $connection="oracle";
     protected $table="DOC_WAVE_HEADER";
-//    protected $primaryKey="WAVENO";
     public $timestamps=false;
+    public function getIncrementing(){ return false;}
 }

+ 37 - 0
app/Traits/HasCompsitePrimaryKey.php

@@ -0,0 +1,37 @@
+<?php
+
+
+namespace App\Traits;
+
+use Illuminate\Database\Eloquent\Builder;
+
+trait HasCompositePrimaryKey
+{
+    /**
+     * Get the value indicating whether the IDs are incrementing.
+     *
+     * @return bool
+     */
+    public function getIncrementing()
+    {
+        return false;
+    }
+
+    /**
+     * Set the keys for a save update query.
+     *
+     * @param  \Illuminate\Database\Eloquent\Builder $query
+     * @return \Illuminate\Database\Eloquent\Builder
+     */
+    protected function setKeysForSaveQuery(Builder $query)
+    {
+        foreach ($this->getKeyName() as $key) {
+            if ($this->$key)
+                $query->where($key, '=', $this->$key);
+            else
+                throw new Exception(__METHOD__ . 'Missing part of the primary key: ' . $key);
+        }
+
+        return $query;
+    }
+}

BIN
public/images/QRCodeIMG/1.png


BIN
public/images/QRCodeIMG/2.png


+ 2 - 2
public/js/app.js

@@ -2330,7 +2330,7 @@ function fromByteArray (uint8) {
 var BlobBuilder = typeof BlobBuilder !== 'undefined' ? BlobBuilder :
   typeof WebKitBlobBuilder !== 'undefined' ? WebKitBlobBuilder :
   typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder :
-  typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : 
+  typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder :
   false;
 
 /**
@@ -61066,4 +61066,4 @@ module.exports = __webpack_require__(/*! D:\Reald\desktop\BsWAS\src\resources\sa
 
 /***/ })
 
-/******/ });
+/******/ });

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

@@ -11,6 +11,7 @@
                 <div class="list-group list-group-horizontal-lg align-content-center">
                 <a target="_blank" class="btn list-group-item col-md-2 list-group-item-info" type="button" :href="('{{url('personnel/checking-in/importAndExportQRCode')}}')" >进出场打卡</a>
                 </div>
+                <br>
                 <div class="list-group list-group-horizontal-lg align-content-center" v-if="warehouses">
                     <a class="btn list-group-item col-md-2" type="button" :href="('{{url('personnel/checking-in/getUserWorkGroups?warehouseId=')}}'+warehouse.id)"  :class="warehouse==checkedWarehouse ? 'btn-primary' : 'btn-outline-primary'"
                        v-for="warehouse in warehouses">@{{ warehouse.name }}</a>

+ 2 - 2
resources/views/personnel/checking-in/importAndExportQRCode.blade.php

@@ -19,8 +19,8 @@
                     <h4 class="text-center text-danger">如更换设备请联系管理人员解除设备绑定!</h4>
                 </div>
 
-                <div class="row-cols-2" v-for="importAndExportQRCode in importAndExportQRCodes">
-                    <div class="col text-center" style="float:left;">
+                <div class="row">
+                    <div class="col-6 text-center" v-for="importAndExportQRCode in importAndExportQRCodes">
                             <img id="img" class="img-thumbnail"  :src="importAndExportQRCode.url" />
                         <p class="font-weight-bold m-2 h5 text-center" style="color: red">@{{ importAndExportQRCode.source }}</p>
                     </div>

+ 3 - 3
resources/views/waybill/waybillFinancialSnapshot/index.blade.php

@@ -12,15 +12,15 @@
                     <ul class="nav nav-pills">
                         @can('财务报表-查询')
                             <li class="nav-item">
-                                <a class="nav-link" href="@if(!isset($excepted)) {{url('files')}} @else {{url('waybill/waybillFinancialExcepted')}} @endif" :class="{active:isActive('',3)}">全部</a>
+                                <a class="nav-link" href="{{url('waybill/waybillFinancialExcepted')}} " :class="{active:isActive('',3)}">全部</a>
                             </li> @endcan
                         @can('财务报表-查询')
                             <li class="nav-item">
-                                <a class="nav-link" href="@if(!isset($excepted)) {{url('waybill/waybillFinancialSnapshot/ZX')}} @else {{url('waybill/waybillFinancialExcepted/ZX')}} @endif" :class="{active:isActive('ZX',3)}">专线</a>
+                                <a class="nav-link" href="{{url('waybill/waybillFinancialSnapshot/ZX')}}" :class="{active:isActive('ZX',3)}">专线</a>
                             </li> @endcan
                         @can('财务报表-查询')
                             <li class="nav-item">
-                                <a class="nav-link" href="@if(!isset($excepted)) {{url('waybill/waybillFinancialSnapshot/ZF')}} @else {{url('waybill/waybillFinancialExcepted/ZF')}} @endif" :class="{active:isActive('ZF',3)}">直发车</a>
+                                <a class="nav-link" href="{{url('waybill/waybillFinancialSnapshot/ZF')}}" :class="{active:isActive('ZF',3)}">直发车</a>
                             </li> @endcan
 
                     </ul>