|
|
@@ -7,6 +7,7 @@ use App\Imports\CommodityImport;
|
|
|
use App\Services\CommodityBarcodeService;
|
|
|
use App\Services\CommodityService;
|
|
|
use App\Services\LogService;
|
|
|
+use App\Services\OracleBasSkuService;
|
|
|
use Exception;
|
|
|
use Illuminate\Database\Eloquent\Builder;
|
|
|
use Illuminate\Http\Request;
|
|
|
@@ -176,12 +177,28 @@ class CommodityController extends Controller
|
|
|
}
|
|
|
|
|
|
|
|
|
- public function syncOwnerCommodities($owner_id,$owner_code){
|
|
|
+ public function syncOwnerCommodities($owner_id,$owner_code,$sku = null){
|
|
|
+ ini_set('max_execution_time', '0');
|
|
|
+ $params = ['customerid' => $owner_code];
|
|
|
+ if ($sku) $params['sku'] = $sku;
|
|
|
+
|
|
|
+ /** @var OracleBasSkuService $oracleBasSkuService */
|
|
|
+ $oracleBasSkuService = app('oracleBasSkuService');
|
|
|
+ $amount = 1000;
|
|
|
+ $sum = $oracleBasSkuService->count($params);
|
|
|
+ $number = ceil($sum/$amount);
|
|
|
+ for ($i = 0;$i<$number; $i++){
|
|
|
+ $wmsCommodities = $oracleBasSkuService->getPiece($params,($i*$amount),$amount);
|
|
|
+ if (!$wmsCommodities)continue;
|
|
|
+ $this->execute($owner_id,$wmsCommodities);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private function execute($owner_id,array $wmsCommodities){
|
|
|
+ if (count($wmsCommodities) < 1)return;
|
|
|
$today = date('Y-m-d H:i:s');
|
|
|
- $codeColumn = ['alternate_sku1','alternate_sku2'];
|
|
|
$map = [];
|
|
|
$skus = [];
|
|
|
- $wmsCommodities = app('oracleBasSkuService')->getOwnerCommodities(['code' => $owner_code]);
|
|
|
foreach ($wmsCommodities as $index => $wmsCommodity){
|
|
|
$map[$wmsCommodity->sku] = $index;
|
|
|
$skus[] = $wmsCommodity->sku;
|
|
|
@@ -221,12 +238,15 @@ class CommodityController extends Controller
|
|
|
'volumn' => $wms->cube
|
|
|
];
|
|
|
}
|
|
|
- foreach ($codeColumn as $column){
|
|
|
- if ($wms[$column]){
|
|
|
- $wmsCode = rtrim($wms[$column],"*");
|
|
|
- $barcodeMap[$wmsCode] = $commodity->id;
|
|
|
- $barcodes[] = $wmsCode;
|
|
|
- }
|
|
|
+ if ($wms->alternate_sku1){
|
|
|
+ $wmsCode = rtrim($wms->alternate_sku1,"*");
|
|
|
+ $barcodeMap[$wmsCode] = $commodity->id;
|
|
|
+ $barcodes[] = $wmsCode;
|
|
|
+ }
|
|
|
+ if ($wms->alternate_sku2){
|
|
|
+ $wmsCode = rtrim($wms->alternate_sku2,"*");
|
|
|
+ $barcodeMap[$wmsCode] = $commodity->id;
|
|
|
+ $barcodes[] = $wmsCode;
|
|
|
}
|
|
|
$commoditiesId[] = $commodity->id;
|
|
|
unset($wmsCommodities[$map[$commodity->sku]]);
|
|
|
@@ -278,10 +298,11 @@ class CommodityController extends Controller
|
|
|
"created_at" => $today,
|
|
|
];
|
|
|
$barcodeMap[$wms->sku] = [];
|
|
|
- foreach ($codeColumn as $column){
|
|
|
- if ($wms[$column]){
|
|
|
- $barcodeMap[$wms->sku][] = rtrim($wms[$column],"*");
|
|
|
- }
|
|
|
+ if ($wms->alternate_sku1){
|
|
|
+ $barcodeMap[$wms->sku][] = rtrim($wms->alternate_sku1,"*");
|
|
|
+ }
|
|
|
+ if ($wms->alternate_sku2){
|
|
|
+ $barcodeMap[$wms->sku][] = rtrim($wms->alternate_sku2,"*");
|
|
|
}
|
|
|
$skus[] = $wms->sku;
|
|
|
unset($wmsCommodities[$index]);
|