|
|
@@ -612,7 +612,18 @@ class OrderPackageCommoditiesService
|
|
|
$orderPackageService = app( 'OrderPackageService');
|
|
|
if(!$orderHeaders)return ;
|
|
|
|
|
|
- $commodityService->getByWmsOrders($orderHeaders); // 预先处理 3s
|
|
|
+ $map = [];
|
|
|
+ foreach ($orderHeaders as $orderHeader) {
|
|
|
+ $Order_Details = $orderHeader->oracleDOCOrderDetails;
|
|
|
+ $Order_Details->each(function($item)use(&$map){
|
|
|
+ if(!empty($item['customerid']) && !empty($item['sku'])){
|
|
|
+ $key = "owner_code_{$item['customerid']}_sku_{$item['sku']}";
|
|
|
+ $map[$key] = ['owner_code'=>$item['customerid'],'sku'=>$item['sku']];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ $commodities = $commodityService->getCommoditiesByMap($map); // 预先处理 3s
|
|
|
+
|
|
|
$orderPackages = $orderPackageService->getByWmsOrders($orderHeaders);
|
|
|
$orderCommodities = $this->getByWmsOrder($orderHeaders);
|
|
|
|
|
|
@@ -623,11 +634,11 @@ class OrderPackageCommoditiesService
|
|
|
$del_orderCommodities =[];
|
|
|
|
|
|
$update_params =$this->filterUpdateParams($orderAllocationDetails,$orderCommodities,$del_orderCommodities); // 修改
|
|
|
- $inner_params = $this->filterInnerParams($orderAllocationDetails,$orderCommodities); // 创建
|
|
|
+ $inner_params = $this->filterInnerParams($orderAllocationDetails,$orderCommodities); // 创建
|
|
|
$delete_params = $this->filterDeleteParams($orderAllocationDetails,$orderCommodities); // 删除
|
|
|
|
|
|
if(count($inner_params)>0)
|
|
|
- $this->createOrderCommodities($inner_params,$package_map); // 创建 3s
|
|
|
+ $this->createOrderCommodities($inner_params,$package_map,$commodities); // 创建 3s
|
|
|
|
|
|
if(count($update_params)>0)
|
|
|
$this->updateOrderCommodities($update_params); // 更新
|
|
|
@@ -750,21 +761,21 @@ class OrderPackageCommoditiesService
|
|
|
return $del_params;
|
|
|
}
|
|
|
// TODO 根据数据创建
|
|
|
- public function createOrderCommodities(&$inner_params,&$package_map)
|
|
|
+ public function createOrderCommodities(&$inner_params,&$package_map,&$commodities)
|
|
|
{
|
|
|
/** @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();
|
|
|
+// $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;
|