|
|
@@ -373,70 +373,11 @@ class OrderService
|
|
|
|
|
|
public function findOrCreateByClientCode($clientCode)
|
|
|
{
|
|
|
- /** @var OrderPackageService $orderPackageService */
|
|
|
- $orderPackageService = app('OrderPackageService');
|
|
|
- $order = Order::query()->where('client_code', $clientCode)->first();
|
|
|
- $orderHeader = app('OracleDocOrderHeaderService')->first(['SOReference1'=> $clientCode]);
|
|
|
- if ($orderHeader == null) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- $orderHeadAttr = $orderHeader->toArray();
|
|
|
- if ($order == null) {
|
|
|
- $customer_name = $orderHeadAttr['oracleBASCustomer_descr_c'];
|
|
|
- $owner = Owner::query()->where('code', $orderHeadAttr['customerid'])->first();
|
|
|
- if (!$owner) {
|
|
|
- try {
|
|
|
- $owner = Owner::query()->create(['code' => $orderHeadAttr['customerid'], 'name' => $customer_name]);
|
|
|
- app('LogService')->log(__METHOD__, __FUNCTION__, '创建货主' . json_encode($owner));
|
|
|
- } catch (\Exception $e) {
|
|
|
- app('LogService')->log(__METHOD__, __FUNCTION__, '创建货主失败' . $e->getMessage() . $e->getTraceAsString());
|
|
|
- }
|
|
|
- }
|
|
|
- $owner_id = $owner['id'];
|
|
|
- $shop_name = $orderHeadAttr['issuepartyname'];
|
|
|
- $shop_Id = null;
|
|
|
- if ($shop_name) {
|
|
|
- $shop = Shop::query()->firstOrCreate(['name' => $shop_name, 'owner_id' => $owner_id]);
|
|
|
- $shop_Id = $shop['id'];
|
|
|
- }
|
|
|
- $logistics = Logistic::query()->where(['code' => $orderHeadAttr['userdefine1']])->first();
|
|
|
- $logistics_id = null;
|
|
|
- if ($logistics) {
|
|
|
- $logistics_id = $logistics['id'];
|
|
|
- } else {
|
|
|
- try {
|
|
|
- $logistics = Logistic::query()->create(['name' => $orderHeadAttr['carriername'], 'code' => $orderHeadAttr['userdefine1']]);
|
|
|
- $logistics_id = $logistics['id'];
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,'创建承运商'.json_encode($logistics));
|
|
|
- } catch (\Exception $e) {
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,'创建承运商失败'.$e->getMessage().$e->getTraceAsString());
|
|
|
- }
|
|
|
- }
|
|
|
- $warehouse = Warehouse::query()->where('code',$orderHeadAttr['warehouseid'])->first();
|
|
|
- $arr = [
|
|
|
- 'warehouse_id' =>$warehouse->id ??'',
|
|
|
- 'code' => $orderHeadAttr['orderno'],
|
|
|
- 'owner_id' => $owner_id,
|
|
|
- 'wms_status' => $orderHeadAttr['oracleBASCode_codename_c'],
|
|
|
- 'created_at' => $orderHeadAttr['addtime'],
|
|
|
- 'logistic_id' => $logistics_id,
|
|
|
- 'shop_id' => $shop_Id,
|
|
|
- 'consignee_name' => $orderHeadAttr['c_contact'],
|
|
|
- 'consignee_phone' => empty($orderHeadAttr['c_tel2'])?$orderHeadAttr['c_tel1']:$orderHeadAttr['c_tel2'],
|
|
|
- 'province' => $orderHeadAttr['c_province'],
|
|
|
- 'city' => $orderHeadAttr['c_city'],
|
|
|
- 'district' => $orderHeadAttr['c_district'],
|
|
|
- 'address' => $orderHeadAttr['c_address1'],
|
|
|
- 'client_code' => $orderHeadAttr['soreference1'],
|
|
|
- ];
|
|
|
- $order = Order::query()->create($arr);
|
|
|
- app('LogService')->log(__METHOD__,__FUNCTION__,'创建 Order '.json_encode($order));
|
|
|
- unset($arr,$orderHeadAttr,$owner);
|
|
|
- }else{
|
|
|
- $this->updateOrderByOrderHeader($order,$orderHeader);
|
|
|
- }
|
|
|
- $orderPackageService->createdByOrder($order);unset($order);
|
|
|
- return Order::with('packages.commodities.commodity')->where('client_code', $clientCode)->first();
|
|
|
+ /** @var OracleDOCOrderHeaderService $orderHeaderService */
|
|
|
+ $orderHeaderService = app('OracleDocOrderHeaderService');
|
|
|
+ $orderHeaders = $orderHeaderService->getQuery()->where('SOReference1',$clientCode)->get();
|
|
|
+ $this->syncOrderInfo($orderHeaders,false);
|
|
|
+ return Order::with(['packages.commodities.commodity','logistic'])->where('client_code', $clientCode)->first();
|
|
|
}
|
|
|
|
|
|
public function getRejectedBillOfClientCode($clientCode)
|
|
|
@@ -454,14 +395,10 @@ class OrderService
|
|
|
|
|
|
public function findOrCreteByLogisticNumberReturn($logisticNumberReturn)
|
|
|
{
|
|
|
- $ASNHeader = OracleDOCASNHeader::query()->where('ASNReference3', $logisticNumberReturn)->first();
|
|
|
- if (!$ASNHeader) {
|
|
|
- return null;
|
|
|
- }
|
|
|
- $orderHeader = OracleDOCOrderHeader::query()->where('SOReference1', $ASNHeader->ASNReference2)->first();
|
|
|
- if (!$orderHeader) {
|
|
|
- return null;
|
|
|
- }
|
|
|
+ $orderHeader = OracleDOCOrderHeader::query()->where('SOReference1',function($query)use($logisticNumberReturn){
|
|
|
+ $query->from('Doc_ASN_Header')->select('ASNReference2')->where('ASNReference3', $logisticNumberReturn);
|
|
|
+ })->first();
|
|
|
+ if(!$orderHeader)return null;
|
|
|
return $this->findOrCreateByClientCode($orderHeader['soreference1']);
|
|
|
}
|
|
|
|
|
|
@@ -539,130 +476,6 @@ class OrderService
|
|
|
return $order;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @param $orderHeaders
|
|
|
- * @return \Illuminate\Database\Eloquent\Builder[]|Collection|null
|
|
|
- */
|
|
|
- public function createByWmsOrder($orderHeaders)
|
|
|
- {
|
|
|
- if($orderHeaders->isEmpty())return null;
|
|
|
- /**
|
|
|
- * @var OwnerService $ownerService
|
|
|
- * @var WarehouseService $warehouseService
|
|
|
- * @var LogisticService $logisticService
|
|
|
- * @var ShopService $shopService
|
|
|
- * @var OrderPackageService $orderPackageService
|
|
|
- */
|
|
|
- $warehouseService =app(WarehouseService::class);
|
|
|
- $ownerService = app(OwnerService::class);
|
|
|
- $logisticService = app(LogisticService::class);
|
|
|
- $shopService = app(ShopService::class);
|
|
|
- $orderPackageService = app(OrderPackageService::class);
|
|
|
-
|
|
|
- $owners_code_map = [];$logistics_code_map = [];$shop_name_map=[]; $owners_id_map = [];$warehouses_code_map =[];
|
|
|
-
|
|
|
- $owners = $ownerService->getByWmsOrders($orderHeaders);
|
|
|
- $logistics = $logisticService->getByWmsOrders($orderHeaders);
|
|
|
- $shops = $shopService->getByWmsOrders($orderHeaders);
|
|
|
- $warehouses=$warehouseService->getByWmsOrders($orderHeaders);
|
|
|
-
|
|
|
-
|
|
|
- foreach ($owners as $owner) {
|
|
|
- $owners_code_map[$owner->code] = $owner;
|
|
|
- $owners_id_map[$owner->id] = $owner;
|
|
|
- }
|
|
|
- foreach ($logistics as $logistic) {
|
|
|
- $logistics_code_map[$logistic->code] = $logistic;
|
|
|
- }
|
|
|
-
|
|
|
- foreach ($shops as $shop) {
|
|
|
- $owner_code = $owners_id_map[$shop->owner_id] ? $owners_id_map[$shop->owner_id]['code'] : '';
|
|
|
- $key = ' owner_code='.$owner_code.' name='.$shop->name;
|
|
|
- $shop_name_map[$key] = $shop;
|
|
|
- }
|
|
|
-
|
|
|
- foreach ($warehouses as $warehouse) {
|
|
|
- $warehouses_code_map[$warehouse->code] = $warehouse;
|
|
|
- }
|
|
|
-
|
|
|
- $insert_params = $this->getParamsByOrderHeader($orderHeaders,$owners_code_map,$logistics_code_map,$shop_name_map,$warehouses_code_map);
|
|
|
- $update_params = $this->getUpdateParams($orderHeaders,$owners_code_map,$logistics_code_map,$shop_name_map,$warehouses_code_map);
|
|
|
- if(count($insert_params)> 0){
|
|
|
- $this->insert($insert_params);
|
|
|
- }
|
|
|
- if(count($update_params)>1){
|
|
|
- $this->batchUpdate($update_params);
|
|
|
- }
|
|
|
- $orderPackageService->createByWmsOrder($orderHeaders);
|
|
|
- $order_nos = data_get($orderHeaders,'*.orderno');
|
|
|
- unset($orderHeaders_map,$orders_code_map,$shop_name_map,$logistics_code_map,$owners_code_map);
|
|
|
- return Order::query()->whereIn('code',$order_nos)->get();
|
|
|
- }
|
|
|
-
|
|
|
- public function getParamsByOrderHeader($orderHeaders_map,$owners_code_map,$logistics_code_map,$shop_name_map,$warehouses_code_map)
|
|
|
- {
|
|
|
- $params = [];
|
|
|
- $orders = Order::query()->whereIn('code',data_get($orderHeaders_map,'*.orderno'))->get();
|
|
|
- $order_code_map = [];
|
|
|
- foreach ($orders as $order) {
|
|
|
- $order_code_map[$order->code]= $order;
|
|
|
- }
|
|
|
- $date = Carbon::now()->format('Y-m-d H:i:s');
|
|
|
- foreach ($orderHeaders_map as $orderHeader) {
|
|
|
- if($order_code_map[$orderHeader->orderno] ?? false)continue;
|
|
|
- $owner = $owners_code_map[$orderHeader->customerid] ?? null;
|
|
|
- $logistic = $logistics_code_map[$orderHeader->userdefine1] ?? null;
|
|
|
- $warehouse=$warehouses_code_map[$orderHeader->warehouseid] ?? null;
|
|
|
- $key = ' owner_code='.$orderHeader->customerid.' name='.$orderHeader->issuepartyname ?? '';
|
|
|
- $shop = $shop_name_map[$key] ?? '';
|
|
|
- $params[] = [
|
|
|
- 'code' => $orderHeader->orderno,
|
|
|
- 'owner_id' => $owner->id ?? null,
|
|
|
- 'wms_status' => $orderHeader->oracleBASCode ? $orderHeader->oracleBASCode->codename_c : null,
|
|
|
- 'created_at' => $orderHeader->addtime,
|
|
|
- 'updated_at' =>$date,
|
|
|
- 'logistic_id' => $logistic->id ?? null,
|
|
|
- 'shop_id' => $shop->id ?? null,
|
|
|
- 'consignee_name' => $orderHeader->c_contact,
|
|
|
- 'consignee_phone' => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
|
|
|
- 'province' => $orderHeader->c_province,
|
|
|
- 'city' => $orderHeader->c_city,
|
|
|
- 'district' => $orderHeader->c_district,
|
|
|
- 'address' => $orderHeader->c_address1,
|
|
|
- 'client_code' => $orderHeader->soreference1,
|
|
|
- 'wms_edittime' =>$orderHeader->edittime,
|
|
|
- 'warehouse_id' =>$warehouse->id??''
|
|
|
- ];
|
|
|
- }
|
|
|
- return $params;
|
|
|
- }
|
|
|
-
|
|
|
- public function getUpdateParams($orderHeaders,$owners_code_map,$logistics_code_map,$shop_name_map,$warehouses_code_map)
|
|
|
- {
|
|
|
- if(!$orderHeaders){[];}
|
|
|
- $orders = Order::query()->whereIn('code',data_get($orderHeaders,'*.orderno'))->get();
|
|
|
- $update_params = [[
|
|
|
- 'id','owner_id','wms_status','logistic_id','shop_id','consignee_name','consignee_phone','province','city','district','address','client_code','updated_at','wms_edittime','warehouse_id'
|
|
|
- ]];
|
|
|
- $orderHeaders_map = [];
|
|
|
- foreach ($orderHeaders as $orderHeader) {
|
|
|
- $orderHeaders_map[$orderHeader->orderno] = $orderHeader;
|
|
|
- }
|
|
|
- $updated_at = Carbon::now()->toDateTimeString();
|
|
|
- $orders->each(function($order)use($orderHeaders_map,&$owners_code_map,&$logistics_code_map,&$shop_name_map,&$warehouses_code_map,&$update_params,$updated_at){
|
|
|
- $order_header = $orderHeaders_map[$order->code] ?? null;
|
|
|
- if(isset($order_header)){
|
|
|
- $owner = $owners_code_map[$order_header->customerid] ?? null;
|
|
|
- $logistic = $logistics_code_map[$order_header->userdefine1] ?? null;
|
|
|
- $warehouse=$warehouses_code_map[$order_header->warehouseid] ?? null;
|
|
|
- $key = ' owner_code='.$order_header->customerid.' name='.$order_header->issuepartyname ?? null;
|
|
|
- $shop = $shop_name_map[$key] ?? null;
|
|
|
- $this->UpdateOrderParamBy($shop, $logistic, $owner, $warehouse, $order, $order_header, $updated_at, $update_params);
|
|
|
- }
|
|
|
- });
|
|
|
- return $update_params;
|
|
|
- }
|
|
|
-
|
|
|
public function create(array $params){
|
|
|
if(count($params) == 0) return [];
|
|
|
try {
|
|
|
@@ -674,48 +487,6 @@ class OrderService
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function updateByWmsOrders($orderHeaders)
|
|
|
- {
|
|
|
- if(!$orderHeaders){return null;}
|
|
|
- /** @var DataHandlerService $dataHandlerService */
|
|
|
- $dataHandlerService = app(DataHandlerService::class);
|
|
|
- /** @var OrderPackageService $orderPackageService */
|
|
|
- $orderPackageService = app(OrderPackageService::class);
|
|
|
- if(!$orderHeaders || $orderHeaders->count() == 0){return null;}
|
|
|
- $orders = $this->getByWmsOrders($orderHeaders);
|
|
|
- $orders_code_map = $dataHandlerService->dataHeader(['code'],$orders);
|
|
|
- $owners = app(OwnerService::class)->getByWmsOrders($orderHeaders);
|
|
|
- $owner_code_map = $dataHandlerService->dataHeader(['code'],$owners);
|
|
|
-
|
|
|
- $logistics = app(LogisticService::class)->getByWmsOrders($orderHeaders);
|
|
|
- $logistics_code_map = $dataHandlerService->dataHeader(['code'],$logistics);
|
|
|
-
|
|
|
- $shops = app(ShopService::class)->getByWmsOrders($orderHeaders);
|
|
|
- $shops_map = $dataHandlerService->dataHeader(['owner_id','name'],$shops);
|
|
|
-
|
|
|
- $warehouses = app(WarehouseService::class)->getByWmsOrders($orderHeaders);
|
|
|
- $warehouses_map = $dataHandlerService->dataHeader(['code'],$warehouses);
|
|
|
- $updateParams = [[
|
|
|
- 'id','owner_id','wms_status','logistic_id','shop_id','consignee_name','consignee_phone','province','city','district','address','client_code','updated_at','wms_edittime','warehouse_id','created_at'
|
|
|
- ]];
|
|
|
- $updated_at = Carbon::now()->toDateTimeString();
|
|
|
- foreach ($orderHeaders as $orderHeader) {
|
|
|
- $order =$dataHandlerService->getKeyValue(['code'=>$orderHeader->orderno],$orders_code_map);
|
|
|
- if(!$order)continue;
|
|
|
- $logistic = $dataHandlerService->getKeyValue(['code'=>$orderHeader->userdefine1] ,$logistics_code_map);
|
|
|
- $owner = $dataHandlerService->getKeyValue(['code'=>$orderHeader->customerid] ,$owner_code_map);
|
|
|
- $shop = $dataHandlerService->getKeyValue(['owner_id'=>$owner->id ?? '','name'=> $orderHeader->issuepartyname] ,$shops_map);
|
|
|
- $warehouse=$dataHandlerService->getKeyValue(['code'=>$orderHeader->warehouseid],$warehouses_map);
|
|
|
- $this->UpdateOrderParamBy($shop, $logistic, $owner, $warehouse, $order, $orderHeader, $updated_at, $updateParams);
|
|
|
- }
|
|
|
- if(count($updateParams) > 1){
|
|
|
- $this->batchUpdate($updateParams);
|
|
|
- }
|
|
|
- $this->createByWmsOrder($orderHeaders);
|
|
|
- $orderPackageService->updateOrderPackageByWmsOrder($orderHeaders);
|
|
|
- unset($updateParams,$orderHeaders);
|
|
|
- }
|
|
|
-
|
|
|
public function getByWmsOrders($orderHeaders){
|
|
|
if(!$orderHeaders){return null;}
|
|
|
$order_nos = data_get($orderHeaders,'*.orderno');
|
|
|
@@ -730,7 +501,6 @@ class OrderService
|
|
|
->whereIn('order_id',function($query)use($orderNo){
|
|
|
$query->from('orders')->select('id')->whereIn('code',$orderNo);
|
|
|
})->get();
|
|
|
-
|
|
|
return $orderIssues->map(function($orderIssue){
|
|
|
return $orderIssue->order->code;
|
|
|
});
|
|
|
@@ -762,54 +532,54 @@ class OrderService
|
|
|
];
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @param App/Order $order
|
|
|
- * @param App/OracleDOCOrderHeader $orderHeader
|
|
|
- */
|
|
|
- public function updateOrderByOrderHeader($order,$orderHeader)
|
|
|
- {
|
|
|
- if(!$orderHeader){return ;}
|
|
|
- if($orderHeader->orderno == $order->code){
|
|
|
- return ;
|
|
|
- }else if($orderHeader->soreference1 != $order->client_code){
|
|
|
- return ;
|
|
|
- }
|
|
|
- $params = $this->getParamByOrderHeader($orderHeader);
|
|
|
-
|
|
|
- $data = [
|
|
|
- 'code'=>$order->code ?? $params['code'],
|
|
|
- 'owner_id'=>$order->code ?? $params['owner_id'],
|
|
|
- 'shop_id'=>$order->code ?? $params['shop_id'],
|
|
|
- 'logistic_id'=>$order->code ?? $params['logistic_id'],
|
|
|
- 'consignee_name'=>$order->code ?? $params['consignee_name'],
|
|
|
- 'province'=>$order->code ?? $params['province'],
|
|
|
- 'city'=>$order->code ?? $params['city'],
|
|
|
- 'district'=>$order->code ?? $params['district'],
|
|
|
- 'address'=>$order->code ?? $params['address'],
|
|
|
- 'wms_edittime'=>$order->code ?? $params['wms_edittime'],
|
|
|
- 'wms_status'=>$order->code ?? $params['wms_status'],
|
|
|
- ];
|
|
|
- Order::query()->where('id',$order->id)->update($data);
|
|
|
- }
|
|
|
+// /**
|
|
|
+// * @param App/Order $order
|
|
|
+// * @param App/OracleDOCOrderHeader $orderHeader
|
|
|
+// */
|
|
|
+// public function updateOrderByOrderHeader($order,$orderHeader)
|
|
|
+// {
|
|
|
+// if(!$orderHeader){return ;}
|
|
|
+// if($orderHeader->orderno == $order->code){
|
|
|
+// return ;
|
|
|
+// }else if($orderHeader->soreference1 != $order->client_code){
|
|
|
+// return ;
|
|
|
+// }
|
|
|
+// $params = $this->getParamByOrderHeader($orderHeader);
|
|
|
+//
|
|
|
+// $data = [
|
|
|
+// 'code'=>$order->code ?? $params['code'],
|
|
|
+// 'owner_id'=>$order->code ?? $params['owner_id'],
|
|
|
+// 'shop_id'=>$order->code ?? $params['shop_id'],
|
|
|
+// 'logistic_id'=>$order->code ?? $params['logistic_id'],
|
|
|
+// 'consignee_name'=>$order->code ?? $params['consignee_name'],
|
|
|
+// 'province'=>$order->code ?? $params['province'],
|
|
|
+// 'city'=>$order->code ?? $params['city'],
|
|
|
+// 'district'=>$order->code ?? $params['district'],
|
|
|
+// 'address'=>$order->code ?? $params['address'],
|
|
|
+// 'wms_edittime'=>$order->code ?? $params['wms_edittime'],
|
|
|
+// 'wms_status'=>$order->code ?? $params['wms_status'],
|
|
|
+// ];
|
|
|
+// Order::query()->where('id',$order->id)->update($data);
|
|
|
+// }
|
|
|
|
|
|
public function getOrderByLogisticNumber($logisticNumber)
|
|
|
{
|
|
|
- $order = Order::query()->with('packages.commodities.commodity')
|
|
|
- ->whereHas('packages',function($query)use($logisticNumber){
|
|
|
- $query->where('logistic_number',$logisticNumber);
|
|
|
- })->first();
|
|
|
- if($order){
|
|
|
- $orderHeader = OracleDOCOrderHeader::query()->where('soreference1',$order->client_no)->first();
|
|
|
- $this->updateOrderByOrderHeader($order,$orderHeader);
|
|
|
- return $order;
|
|
|
- }
|
|
|
- $orderHeaders = OracleDOCOrderHeader::query()->with(['oracleDOCOrderDetails', 'actAllocationDetails','oracleBASCode'])
|
|
|
- ->whereHas('actAllocationDetails',function($query)use($logisticNumber){
|
|
|
- $query->where('picktotraceid',$logisticNumber);
|
|
|
- })->get();
|
|
|
- app(CommodityService::class)->getByWmsOrders($orderHeaders);
|
|
|
- $orders =$this->createByWmsOrder($orderHeaders);
|
|
|
- return $orders ? $orders->first() : null ;
|
|
|
+ /** @var OracleDOCOrderHeaderService $orderHeaderService */
|
|
|
+ $orderHeaderService = app('OracleDocOrderHeaderService');
|
|
|
+ $orderHeaders = $orderHeaderService->getQuery()->whereIn('OrderNo',function($query)use($logisticNumber){
|
|
|
+ $query->from('Act_Allocation_Details')->select('OrderNo')->where('picktotraceid',$logisticNumber);
|
|
|
+ });
|
|
|
+ if(!$orderHeaders) return null;
|
|
|
+ $this->syncOrderInfo($orderHeaders);
|
|
|
+ $code = $orderHeaders->first()->code;
|
|
|
+ return $order = Order::query()->with('packages.commodities.commodity')->where('code',$code)->first();
|
|
|
+ }
|
|
|
+
|
|
|
+ public function syncOrderInfo($orderHeaders,$sync_order_commodity = true){
|
|
|
+ $this->syncOrderByWMSOrderHeaders($orderHeaders);
|
|
|
+ if($sync_order_commodity)app("OrderCommodityService")->syncOrderCommodity($orderHeaders);
|
|
|
+ app('OrderPackageService')->syncOrderPackage($orderHeaders);
|
|
|
+ app("OrderPackageCommoditiesService")->syncOrderPackageCommodities($orderHeaders);
|
|
|
}
|
|
|
|
|
|
public function syncOrder(&$orderHeaders)
|
|
|
@@ -977,57 +747,6 @@ class OrderService
|
|
|
];
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @param $shop
|
|
|
- * @param $logistic
|
|
|
- * @param $owner
|
|
|
- * @param $warehouse
|
|
|
- * @param $order
|
|
|
- * @param $orderHeader
|
|
|
- * @param string $updated_at
|
|
|
- * @param $updateParams
|
|
|
- * @return mixed
|
|
|
- */
|
|
|
- public function UpdateOrderParamBy(&$shop, &$logistic, &$owner, &$warehouse, &$order, &$orderHeader, string &$updated_at, &$updateParams)
|
|
|
- {
|
|
|
- $shop_id = $shop->id ?? null;
|
|
|
- $logistic_id = $logistic->id ?? null;
|
|
|
- $owner_id = $owner->id ?? null;
|
|
|
- $warehouse_id = $warehouse->id ?? null;
|
|
|
-
|
|
|
- if (($order->wms_status !== $orderHeader->oracleBASCode_codename_c) ||
|
|
|
- ($order->logistic_id !== $logistic_id) ||
|
|
|
- ($order->shop_id !== $shop_id) ||
|
|
|
- ($order->owner_id !== $owner_id) ||
|
|
|
- ($order->consignee_name !== $orderHeader->c_contact) ||
|
|
|
- $order->consignee_phone !==( empty($orderHeader->c_tel2) ? $orderHeader->c_tel1 : $orderHeader->c_tel2) ||
|
|
|
- $order->province !== ($orderHeader->c_province) ||
|
|
|
- $order->city !== ($orderHeader->c_city) ||
|
|
|
- $order->district !== ($orderHeader->c_district) ||
|
|
|
- $order->address !== ($orderHeader->c_address1) ||
|
|
|
- $order->client_code !== ($orderHeader->soreference1) ||
|
|
|
- ($order->wms_edittime !== $orderHeader->edittime) ||
|
|
|
- ($order->warehouse_id !== $warehouse_id)) {
|
|
|
- $updateParams[] = ['id' => $order->id,
|
|
|
- 'owner_id' => $owner_id,
|
|
|
- 'wms_status' => $orderHeader->oracleBASCode_codename_c ?? '',
|
|
|
- 'logistic_id' => $logistic_id,
|
|
|
- 'shop_id' => $shop_id,
|
|
|
- 'consignee_name' => $orderHeader->c_contact,
|
|
|
- 'consignee_phone' => empty($orderHeader->c_tel2) ? $orderHeader->c_tel1 : $orderHeader->c_tel2,
|
|
|
- 'province' => $orderHeader->c_province,
|
|
|
- 'city' => $orderHeader->c_city,
|
|
|
- 'district' => $orderHeader->c_district,
|
|
|
- 'address' => $orderHeader->c_address1,
|
|
|
- 'client_code' => $orderHeader->soreference1,
|
|
|
- 'updated_at' => $updated_at,
|
|
|
- 'created_at' => $orderHeader->addtime,
|
|
|
- 'wms_edittime' => $orderHeader->edittime,
|
|
|
- 'order_type' => $orderHeader->orderType->codename_c??'',
|
|
|
- 'warehouse_id' => $warehouse_id];
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
public function createOrFindOrder($orderHeader)
|
|
|
{
|
|
|
$order = Order::query()->where('code',$orderHeader->orderno)->first();
|