Prechádzať zdrojové kódy

Merge branch 'zzd' of ssh://was.baoshi56.com:10022/var/git/bswas into zzd

 Conflicts:
	app/Http/Controllers/api/thirdPart/weight/PackageController.php
	app/Services/OrderService.php
LD 5 rokov pred
rodič
commit
4a6495f690

+ 5 - 4
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -178,6 +178,7 @@ class PackageController extends Controller
         $measuringMachine->turnOn();
         $measuringMachine->turnOffInMinutes(30);
 
+        /** @var OrderPackage $package */
         $package=OrderPackage::query()->where('logistic_number',$request['barcode'])->first();
 
         $edges=[$request['length']??0,$request['width']??0,$request['height']??0];
@@ -225,7 +226,6 @@ class PackageController extends Controller
                 return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
             $package=new OrderPackage([
-                /** @var OrderService */
                 'order_id' => $order->id,
                 'logistic_number'=>$logisticNumber,
                 'measuring_machine_id'=>$measuringMachine->id,
@@ -237,10 +237,11 @@ class PackageController extends Controller
                 'weighed_at'=>$reqDate,
                 'status'=>"无",
             ]);
-//            $package->fetchAllFromOracle();
-//            $package->fetchPaperBox();
+            $package->fetchAllFromOracle();
+            $package->fetchPaperBox();
             try{
                 $package->save();
+                $package->load(['order','paperBox','measuringMachine']);
             }catch (\Exception $e){
                 $response=["msg"=>$e->getMessage(),"code"=>500,"data"=>$e->getTraceAsString()];
                 $this->log(__METHOD__,'weightApi(ERROR)'.__FUNCTION__,json_encode($request).'||'.json_encode($response).'||'.json_encode($e),null);
@@ -255,7 +256,7 @@ class PackageController extends Controller
                 return json_encode($response,JSON_UNESCAPED_UNICODE);
             }
         }
-        if(!empty($package->order_code))
+        if(!empty($package->order_id))
             Waybill::setWeightByOrderCode($package->order_code,$package->weight);
             event(new WeighedEvent($package));
             $response=["msg"=>"保存成功",

+ 7 - 7
app/OrderPackage.php

@@ -84,14 +84,14 @@ class OrderPackage extends Model
     }
     public function fetchAllFromOracle(){
         if(empty($this->oracleInfo))return null;
-        $this->fetchOwnerFromOracle();
-        $this->fetchLogisticFromOracle();
-        $this['recipient'] = $this->oracleInfo['consigneename'];
-        $this['order_code'] = $this->oracleInfo['orderno'];
+/*        $this->fetchOwnerFromOracle();
+        $this->fetchLogisticFromOracle();*/
+/*        $this['recipient'] = $this->oracleInfo['consigneename'];
+        $this['order_code'] = $this->oracleInfo['orderno'];*/
         $this['batch_rule'] = $this->oracleInfo['descr'];
-        $this['recipient_mobile'] = $this->oracleInfo['c_tel2']??$this->oracleInfo['c_tel1'];
+/*        $this['recipient_mobile'] = $this->oracleInfo['c_tel2']??$this->oracleInfo['c_tel1'];
         if(!$this['logistic_number']&&$this->oracleInfo['soreference5'])
-            $this['logistic_number'] = $this->oracleInfo['soreference5'];
+            $this['logistic_number'] = $this->oracleInfo['soreference5'];*/
         $this['batch_number'] = $this->oracleInfo['waveno']??null;
     }
     static public function createPackagesFromBatchCode($batchCode,$weight){
@@ -175,7 +175,7 @@ class OrderPackage extends Model
         if(!$max)$max=$this['length'];
         if(!$centre)$centre=$this['width'];
         if(!$min)$min=$this['height'];
-        if(!$owner_id) $owner_id = $this['owner_id'];
+        if(!$owner_id) $owner_id = $this['order'] ? $this['order']['owner_id'] : null;
         if(!$owner_id) {
             $owner = $this->fetchOwnerFromOracle();
             $owner_id = $owner['id'];

+ 2 - 0
app/Providers/AppServiceProvider.php

@@ -4,6 +4,7 @@ namespace App\Providers;
 
 use App\Http\Controllers\Controller;
 use App\Services\InventoryCompareService;
+use App\Services\OracleDOCOrderHeaderService;
 use App\Services\OrderIssuePerformanceService;
 use App\OracleActAllocationDetail;
 use App\Services\AllInventoryService;
@@ -87,5 +88,6 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('shopService',ShopService::class);
         app()->singleton('orderPackageService',OrderPackageService::class);
         app()->singleton('orderService',OrderService::class);
+        app()->singleton('oracleDocOrderHeaderService',OracleDOCOrderHeaderService::class);
     }
 }

+ 7 - 0
app/Services/OracleDOCOrderHeaderService.php

@@ -7,4 +7,11 @@ use App\OracleDOCOrderHeader;
 Class OracleDOCOrderHeaderService
 {
 
+    function first(array $params){
+        $order = OracleDOCOrderHeader::query();
+        foreach ($params as $column => $value){
+            $order->where($column, $value);
+        }
+        return $order->first();
+    }
 }

+ 6 - 8
app/Services/OrderService.php

@@ -116,20 +116,18 @@ class OrderService
          * @var OracleActAllocationDetails $actAllocationDetail
          */
         $actAllocationDetail = app('oracleActAllocationDetailService')->first(['picktotraceid' => $logistic_number]);
-        if (!$actAllocationDetail) {
-            $orderHeader=OracleDOCOrderHeader::query()->where('soreference5',$logistic_number)->first();
-            $orderno = $orderHeader->orderno;
-        }else{
-            $orderno = $actAllocationDetail->orderno;
+        if ($actAllocationDetail) {
+            $order = $this->first(['code' => $actAllocationDetail->orderno]);
+            if ($order) return $order;
+
             $actAllocationDetail->load(['oracleDocOrderHeader' => function ($query) {
                 $query->with('oracleBASCode');
             }]);
             $orderHeader = $actAllocationDetail->oracleDocOrderHeader ?? null;
+        }else{
+            $orderHeader = app('oracleDocOrderHeaderService')->first(['soreference5' => $logistic_number]);
         }
 
-        $order = $this->first(['code' => $orderno]);
-        if ($order) return $order;
-
         if ($orderHeader == null) return null;
 
         /** @var OwnerService $owner */