|
|
@@ -223,17 +223,17 @@ class OrderPackageService
|
|
|
$dataHandlerService = app(DataHandlerService::class);
|
|
|
$orderPackageCommoditiesService = app('OrderPackageCommoditiesService');
|
|
|
|
|
|
- /** 获取所有的 picktotraceid WMS快递单号*/
|
|
|
- $logistic_numbers = data_get($orderHeaders,'*.actAllocationDetails.*.picktotraceid');
|
|
|
-
|
|
|
- /** WMS定制化操作 订单取消 和 京东快递*/
|
|
|
+ $logistic_numbers = array();
|
|
|
foreach ($orderHeaders as $orderHeader) {
|
|
|
- if($orderHeader['sostatus'] == '90'){
|
|
|
- if($orderHeader['soreference5']=='')$logistic_numbers[] =$orderHeader['orderno'];
|
|
|
- else $logistic_numbers[] = $orderHeader['soreference5'];
|
|
|
- }
|
|
|
- if($orderHeader['userdefine1'] == 'JDKD'){
|
|
|
- $logistic_numbers[] = $orderHeader['soreference5'];
|
|
|
+ if($orderHeader['sostatus'] == '90') {
|
|
|
+ if($orderHeader['soreference5'] == '') $logistic_numbers[$orderHeader['orderno']] = $orderHeader['orderno'];
|
|
|
+ else $logistic_numbers[$orderHeader['soreference5']] = $orderHeader['soreference5'];
|
|
|
+ } elseif ($orderHeader['userdefine1'] == 'JDKD' ){
|
|
|
+ $logistic_numbers[$orderHeader['soreference5']] = $orderHeader['soreference5'];
|
|
|
+ } else {
|
|
|
+ foreach ($orderHeader->actAllocationDetails as $actAllocationDetail) {
|
|
|
+ $logistic_numbers[$actAllocationDetail['picktotraceid']] = $actAllocationDetail['picktotraceid'];
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -246,8 +246,9 @@ class OrderPackageService
|
|
|
$exits_number = data_get($packages,'*.logistic_number');
|
|
|
|
|
|
/** WMS快递单号 和 WAS的快递单号 的差集*/
|
|
|
- $packages = [];
|
|
|
+ $packages = array();
|
|
|
$diff_number = array_diff($exits_number,$logistic_numbers);
|
|
|
+
|
|
|
/** 记录差集对应的OrderPackage的id*/
|
|
|
foreach ($diff_number as $number) {
|
|
|
$package = $dataHandlerService->getKeyValue(['logistic_number'=>$number],$packages_maps);
|