|
|
@@ -606,10 +606,12 @@ class OrderPackageCommoditiesService
|
|
|
* @var DataHandlerService $dataHandService
|
|
|
* @var CommodityService $commodityService
|
|
|
* @var OrderPackageService $orderPackageService
|
|
|
+ * @var OwnerService $ownerService
|
|
|
*/
|
|
|
$dataHandService = app('DataHandlerService');
|
|
|
$commodityService = app('CommodityService');
|
|
|
$orderPackageService = app( 'OrderPackageService');
|
|
|
+ $ownerService = app( 'OwnerService');
|
|
|
if(!$orderHeaders)return ;
|
|
|
|
|
|
$map = [];
|
|
|
@@ -628,6 +630,17 @@ class OrderPackageCommoditiesService
|
|
|
$orderPackages = $orderPackageService->getByWmsOrders($orderHeaders);
|
|
|
dump((string)Carbon::now().' getByWmsOrder');
|
|
|
$orderCommodities = $this->getByWmsOrder($orderHeaders);
|
|
|
+ $owner_code_map = [];
|
|
|
+ $owner_id_map = (function()use(&$orderHeaders,&$ownerService,&$owner_code_map){
|
|
|
+ $owner_id_map = [];
|
|
|
+ $owners = $ownerService->getOwnerByCodes(array_unique(data_get($orderHeaders,'*.customerid')));
|
|
|
+ if(count($owners) == 0) return $owner_id_map;
|
|
|
+ foreach ($owners as $owner) {
|
|
|
+ $owner_id_map[$owner['id']] = $owner;
|
|
|
+ $owner_code_map[$owner['code']] = $owner;
|
|
|
+ }
|
|
|
+ return $owner_id_map;
|
|
|
+ })();
|
|
|
|
|
|
$package_map = $dataHandService->dataHeader(['logistic_number'],$orderPackages);
|
|
|
dump((string)Carbon::now().' regroupOrderCommodities');
|
|
|
@@ -643,7 +656,7 @@ class OrderPackageCommoditiesService
|
|
|
$delete_params = $this->filterDeleteParams($orderAllocationDetails,$orderCommodities); // 删除
|
|
|
dump((string)Carbon::now().' createOrderCommodities');
|
|
|
if(count($inner_params)>0)
|
|
|
- $this->createOrderCommodities($inner_params,$package_map,$commodities); // 创建 3s
|
|
|
+ $this->createOrderCommodities($inner_params,$package_map,$commodities,$owner_id_map); // 创建 3s
|
|
|
dump((string)Carbon::now().' updateOrderCommodities');
|
|
|
if(count($update_params)>0)
|
|
|
$this->updateOrderCommodities($update_params); // 更新
|
|
|
@@ -766,26 +779,19 @@ class OrderPackageCommoditiesService
|
|
|
return $del_params;
|
|
|
}
|
|
|
// TODO 根据数据创建
|
|
|
- public function createOrderCommodities(&$inner_params,&$package_map,&$commodities)
|
|
|
+ public function createOrderCommodities(&$inner_params,&$package_map,&$commodities,&$owner_id_map)
|
|
|
{
|
|
|
/** @var DataHandlerService $dataHandlerService */
|
|
|
$dataHandlerService = app('DataHandlerService');
|
|
|
-// $sku = [];$owners = [];
|
|
|
-// foreach ($inner_params as $inner_param) {
|
|
|
-// $sku_code = $inner_param['sku'];$owner_code = $inner_param['owner_code'];
|
|
|
-// if(!isset($sku[$sku_code]))
|
|
|
-// $sku[$sku_code] = $sku_code;
|
|
|
-// if(!isset($owner_code[$owner_code]))
|
|
|
-// $owners[$owner_code] = $owner_code;
|
|
|
-// }
|
|
|
-// $commodities = Commodity::query()->with('owner')->whereHas('owner',function ($query)use($owners){
|
|
|
-// $query->whereIn('code',$owners);
|
|
|
-// })->whereIn('sku',$sku)->get();
|
|
|
- $commodity_map = [];
|
|
|
- foreach ($commodities as $commodity) {
|
|
|
- $key = ' owner='.$commodity->owner->code.' sku='.$commodity->sku;
|
|
|
- $commodity_map[$key] = $commodity;
|
|
|
- }
|
|
|
+ $commodity_map = (function()use(&$commodities,&$owner_id_map){
|
|
|
+ $map = [];
|
|
|
+ foreach ($commodities as $commodity) {
|
|
|
+ $owner = $owner_id_map[$commodity['owner_id']] ;
|
|
|
+ $key = ' owner='.$owner->code.' sku='.$commodity->sku;
|
|
|
+ $map[$key] = $commodity;
|
|
|
+ }
|
|
|
+ return $map;
|
|
|
+ })();
|
|
|
$create_params =[];
|
|
|
$date = Carbon::now();
|
|
|
foreach ($inner_params as $inner_param) {
|