Преглед изворни кода

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

LD пре 5 година
родитељ
комит
65a6942120

+ 5 - 0
app/OracleActAllocationDetails.php

@@ -30,4 +30,9 @@ class OracleActAllocationDetails extends Model
         return $this->hasMany(OracleDocOrderSerialNo::class,'allocationdetailsid','allocationdetailsid');
     }
 
+    public function oracleDocOrderSubSerialNo()
+    {
+        return $this->hasOne(OracleDocOrderSubSerialNo::class,'allocationdetailsid','allocationdetailsid');
+    }
+
 }

+ 22 - 0
app/OracleDocOrderSubSerialNo.php

@@ -0,0 +1,22 @@
+<?php
+
+namespace App;
+
+use App\Traits\ModelTimeFormat;
+use Illuminate\Database\Eloquent\Model;
+
+use App\Traits\ModelLogChanging;
+
+class OracleDocOrderSubSerialNo extends Model
+{
+    use ModelLogChanging;
+
+    use ModelTimeFormat;
+    protected $connection="oracle";
+    protected $table="DOC_Order_SubSerialNO";
+    public $timestamps=false;
+
+    public function getIncrementing(): bool
+    { return false;}
+
+}

+ 3 - 2
app/OrderPackageCommoditySerialNumber.php

@@ -6,6 +6,7 @@ use App\Traits\ModelTimeFormat;
 use App\Traits\ModelLogChanging;
 
 use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
 use Illuminate\Database\Eloquent\Relations\HasOne;
 
 class OrderPackageCommoditySerialNumber extends Model
@@ -16,8 +17,8 @@ class OrderPackageCommoditySerialNumber extends Model
     protected $fillable = ['order_package_commodity_id','serial_number'];
     //
 
-    public function orderPackageCommodity(): HasOne
+    public function orderPackageCommodity(): BelongsTo
     {
-        return $this->hasOne(OrderPackageCommodities::class);
+        return $this->belongsTo(OrderPackageCommodities::class);
     }
 }

+ 2 - 2
app/Services/OracleDOCOrderHeaderService.php

@@ -76,7 +76,7 @@ class OracleDOCOrderHeaderService
         /** @var Owner $owners */
         $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
         return OracleDOCOrderHeader::query()
-            ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode','oracleBASCustomer'])
+            ->with(['oracleDOCOrderDetails', 'actAllocationDetails.oracleDocOrderSubSerialNos','oracleBASCode','oracleBASCustomer'])
             ->where('DOC_Order_Header.addTime','>=',$startDate)
             ->whereIn('DOC_Order_Header.customerID',data_get($owners,'*.code'))
             ->get();
@@ -86,7 +86,7 @@ class OracleDOCOrderHeaderService
         /** @var Owner $owners */
         $owners = app(OrderTrackingOwnerService::class)->getTrackingOrderOwner();
         return OracleDOCOrderHeader::query()
-            ->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode','oracleBASCustomer'])
+            ->with(['oracleDOCOrderDetails', 'actAllocationDetails.oracleDocOrderSubSerialNos','oracleBASCode','oracleBASCustomer'])
             ->where('DOC_Order_Header.EditTime','>=',$startDate)
             ->whereColumn('DOC_Order_Header.EditTime','<>','DOC_Order_Header.addTime')
             ->whereIn('DOC_Order_Header.customerID',data_get($owners,'*.code'))

+ 12 - 12
app/Services/OrderPackageCommoditySerialNumberService.php

@@ -110,7 +110,6 @@ class OrderPackageCommoditySerialNumberService
             if(!isset($orderHeader['actAllocationDetails']))continue;
             foreach ($orderHeader['actAllocationDetails'] as $actAllocationDetail) {
                 $logisticNumber = $actAllocationDetail['picktotraceid'];
-
                 if (!$logisticNumber) continue;
                 $orderPackage = $dataHandlerService->getKeyValue(['logistic_number' => $logisticNumber], $orderPackageMaps) ??
                     $dataHandlerService->getKeyValue(['logistic_number' => $orderHeader['soreference5']], $orderPackageMaps);
@@ -123,27 +122,28 @@ class OrderPackageCommoditySerialNumberService
                     if($sku === '')continue;
                     $orderPackageCommodityMap[$sku] = $orderPackageCommodity;
                 }
-                foreach ($actAllocationDetail['oracleDocOrderSerialNos'] as $oracleDocOrderSerialNo) {
-                    $sku = $oracleDocOrderSerialNo['sku'];
-                    $createParams = $this->getCreateModel($oracleDocOrderSerialNo, $orderPackageCommodityMap);
-                    if (count($createParams) == 0) continue;
-                    if (!isset($orderPackageSerialNumbers[$logisticNumber])) $orderPackageSerialNumbers[$logisticNumber] = [];
-                    if (!isset($orderPackageSerialNumbers[$logisticNumber][$sku])) $orderPackageSerialNumbers[$logisticNumber][$sku] = [];
-                    $orderPackageSerialNumbers[$logisticNumber][$sku][$createParams['serial_number']] = $createParams;
-                }
+
+                $oracleDocOrderSubSerialNo = $actAllocationDetail['oracleDocOrderSubSerialNo'];
+                if(!$oracleDocOrderSubSerialNo)continue;
+                $createParams = $this->getCreateModel($oracleDocOrderSubSerialNo, $orderPackageCommodityMap);
+                if (count($createParams) == 0) continue;
+                $sku = $oracleDocOrderSubSerialNo['sku'];
+                if (!isset($orderPackageSerialNumbers[$logisticNumber])) $orderPackageSerialNumbers[$logisticNumber] = [];
+                if (!isset($orderPackageSerialNumbers[$logisticNumber][$sku])) $orderPackageSerialNumbers[$logisticNumber][$sku] = [];
+                $orderPackageSerialNumbers[$logisticNumber][$sku][$createParams['serial_number']] = $createParams;
             }
         }
         return $orderPackageSerialNumbers;
     }
 
-    public function getCreateModel($oracleDocOrderSerialNo, $orderPackageCommodityMap)
+    public function getCreateModel($oracleDocOrderSubSerialNo, $orderPackageCommodityMap)
     {
-        $orderPackageCommodity = $orderPackageCommodityMap[$oracleDocOrderSerialNo['sku']] ?? null;
+        $orderPackageCommodity = $orderPackageCommodityMap[$oracleDocOrderSubSerialNo['sku']] ?? null;
         if (!$orderPackageCommodity) return [];
         $created_At = Carbon::now()->format(Carbon::DEFAULT_TO_STRING_FORMAT);
         return [
             'order_package_commodity_id' => $orderPackageCommodity['id'],
-            'serial_number' => $oracleDocOrderSerialNo['serialno'],
+            'serial_number' => $oracleDocOrderSubSerialNo['subserialno'],
             'created_at' => $created_At,
             'updated_at' => $created_At
         ];

+ 7 - 6
resources/views/order/issue/index.blade.php

@@ -470,6 +470,12 @@
                         <td class=" m-0 p-0 log-td child-layer-3  align-center" v-on:mouseover="showAddBtn($event)"
                             v-on:mouseleave="hideAddBtn($event)" colspan="4">
                             @can('订单管理-问题件-处理结果添加')
+                                <div style="position: absolute;display: none;margin-top: -35px" class="add-btn" :id="'AddBtn'+orderIssue.id">
+                                    <button type="button" class="btn  btn-primary "
+                                            @click="showAddDiv('AddLog_'+orderIssue.id)">新
+                                    </button>
+                                </div>
+
                                 <div class="addLogDiv row m-0 p-0 form-group" :id="'AddLog_'+orderIssue.id"
                                      style="display: none;">
                                     <input type="hidden" name="id" :value="orderIssue.id">
@@ -482,12 +488,7 @@
                                         </button>
                                     </div>
                                 </div>
-                                <div style="position: absolute;display: none;margin-top: -35px" class="add-btn"
-                                     :id="'AddBtn'+orderIssue.id">
-                                    <button type="button" class="btn  btn-primary "
-                                            @click="showAddDiv('AddLog_'+orderIssue.id)">新
-                                    </button>
-                                </div>
+
                             @endcan
                             <template v-if="orderIssue.logs && orderIssue.logs.length > 0" class="p-0 m-0">
                                 <table class="table table-sm p-0 m-0 " :id="'logs'+orderIssue.id">

+ 16 - 16
tests/Services/CacheShelfService/ProcessTest.php

@@ -102,22 +102,22 @@ class ProcessTest extends TestCase
 
     protected function tearDown(): void
     {
-//        $station = Station::query()->with('parent')->where('code',$this->data['localCode'])->first();
-//        $materialBox = MaterialBox::query()->where('code',$this->data['boxCode'])->first();
-//        if($materialBox){
-//            $StationTaskMaterialBoxes = StationTaskMaterialBox::query()->where('material_box_id',$materialBox['id'])->get();
-//            foreach ($StationTaskMaterialBoxes as $stationTaskMaterialBox) {
-//                if($stationTaskMaterialBox->stationTask) {
-//                    StationTaskChildren::query()->where('station_task_id',$stationTaskMaterialBox->stationTask['id'])->delete();
-//                    $stationTaskMaterialBox->stationTask ? $stationTaskMaterialBox->stationTask->delete() : null;
-//                }
-//                $stationTaskMaterialBox->delete();
-//            }
-//        }
-//        if($station){
-//            $station->parent->delete();
-//            $station->delete();
-//        }
+        $station = Station::query()->with('parent')->where('code',$this->data['localCode'])->first();
+        $materialBox = MaterialBox::query()->where('code',$this->data['boxCode'])->first();
+        if($materialBox){
+            $StationTaskMaterialBoxes = StationTaskMaterialBox::query()->where('material_box_id',$materialBox['id'])->get();
+            foreach ($StationTaskMaterialBoxes as $stationTaskMaterialBox) {
+                if($stationTaskMaterialBox->stationTask) {
+                    StationTaskChildren::query()->where('station_task_id',$stationTaskMaterialBox->stationTask['id'])->delete();
+                    $stationTaskMaterialBox->stationTask ? $stationTaskMaterialBox->stationTask->delete() : null;
+                }
+                $stationTaskMaterialBox->delete();
+            }
+        }
+        if($station){
+            $station->parent->delete();
+            $station->delete();
+        }
         parent::tearDown(); // TODO: Change the autogenerated stub
     }