소스 검색

为机器人波次处理商品时增加一次库位校长,编辑中

LD 5 년 전
부모
커밋
954a56e878
3개의 변경된 파일32개의 추가작업 그리고 24개의 파일을 삭제
  1. 12 24
      app/Http/Controllers/TestController.php
  2. 16 0
      app/Services/OrderCommodityService.php
  3. 4 0
      app/Services/StationTaskMaterialBoxService.php

+ 12 - 24
app/Http/Controllers/TestController.php

@@ -95,6 +95,7 @@ use App\Services\InventoryCompareService;
 use App\Services\LogisticService;
 use App\Services\LogisticZopService;
 use App\Services\LogService;
+use App\Services\OracleActAllocationDetailService;
 use App\Services\OracleBasSkuService;
 use App\Services\OracleDocAsnHerderService;
 use App\Services\OracleDOCOrderHeaderService;
@@ -362,30 +363,17 @@ class TestController extends Controller
 
     public function tj2(Request $request)
     {
-        $numbersesOfBatch = OracleDOCWaveDetails::select('picktotraceid as logistic_number', 'act_allocation_details.orderno')->where('doc_wave_details.waveno', 'W190630000042')
-            ->leftJoin('act_allocation_details', 'doc_wave_details.orderno', 'act_allocation_details.orderno')->get();
-
-        $oneIdxAsrsReceive = OracleDocOrderPackingSummary::where('traceid', $numbersesOfBatch[0]['logistic_number'])->first();
-        if (!$oneIdxAsrsReceive) {
-            $inserts = '';
-            $values = [];
-            foreach ($numbersesOfBatch as $numbers) {
-                $inserts .= " into doc_order_packing_summary (traceid,orderno,grossweight,addwho,addtime,editwho,edittime)values(?,?,?,?,?,?,?) ";
-                $values[] = $numbers['logistic_number'] ?? '';
-                $values[] = $numbers['orderno'] ?? '';
-                $values[] = 12;
-                $values[] = 'WAS';
-                $values[] = Carbon::now();
-                $values[] = 'WAS';
-                $values[] = Carbon::now();
-            }
-            DB::connection('oracle')->insert("insert all {$inserts} select * from dual", $values);
-        } else {
-            $logisticNumbers = $numbersesOfBatch->map(function ($numbers) {
-                return $numbers['logistic_number'];
-            });
-            OracleDocOrderPackingSummary::whereIn('traceid', $logisticNumbers)->update(['grossweight' => 32]);
-        }
+
+        /** @var OrderCommodityService $orderCommodityService */
+        $orderCommodityService=app('OrderCommodityService');
+        $orderCommodities=$orderCommodityService->get(
+            ['location'=>
+                ['IDE0005676','IDE0005714']
+            ]);
+        $orderCommodityService->correctLocation_fromWMS($orderCommodities);
+
+
+
     }
 
     public function mergerPackageData()

+ 16 - 0
app/Services/OrderCommodityService.php

@@ -2,6 +2,8 @@
 
 namespace App\Services;
 
+use App\Batch;
+use App\OracleActAllocationDetails;
 use App\Order;
 use App\OrderCommodity;
 use App\Services\common\BatchUpdateService;
@@ -29,6 +31,20 @@ class OrderCommodityService
         }
     }
 
+    public function correctLocation_fromWMS($orderCommodities){
+        $orderCommodities->loadMissing('order.batch');
+        $details=OracleActAllocationDetails::query()
+            ->where('orderno',data_get($orderCommodities,'*.order.code')??[])
+            ->where('waveno',data_get($orderCommodities,'*.order.batch.code')??[])
+            ->get(['orderno','location','waveno']);
+//        foreach($orderCommodities as $orderCommodity){
+//            $detail->where()
+//            foreach ($details as $detail){
+//                if($detail['orderno']==)
+//            }
+//        }
+//        dd($details);
+    }
     public function batchUpdate($updateParams){
         return app(BatchUpdateService::class)->batchUpdate('order_commodities',$updateParams);
     }

+ 4 - 0
app/Services/StationTaskMaterialBoxService.php

@@ -31,6 +31,8 @@ class StationTaskMaterialBoxService
     private $stationTaskBatchService;
     /** @var StationTaskCommodityService $stationTaskCommodityService */
     private $stationTaskCommodityService;
+    /** @var OrderCommodityService $orderCommodityService */
+    private $orderCommodityService;
     /** @var MaterialBoxService $materialBoxService */
     private $materialBoxService;
     public function __construct(){
@@ -69,9 +71,11 @@ class StationTaskMaterialBoxService
         $this->instant($this->stationTypeService,'StationTypeService');
         $this->instant($this->stationService,'StationService');
         $this->instant($this->stationTaskBatchService,'StationTaskBatchService');
+        $this->instant($this->orderCommodityService,'OrderCommodityService');
         $stationMaterialBoxes_toCreate=new Collection();
         $order_ids=data_get($batch['orders'],'*.id');
         $orderCommodities=OrderCommodity::query()->with('orderBin')->whereIn('order_id',$order_ids)->get();
+//        $orderCommodities=$this->orderCommodityService->correctLocation_fromWMS($orderCommodities);
         if($orderCommodities->isEmpty())return $stationMaterialBoxes_toCreate;
         $stationType=$this->stationTypeService->getForMaterialBox_onBatchProcess();
         $stationTaskBatch=$this->stationTaskBatchService->get(['batch_id'=>$batch['id']])->first();