| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace App\Services;
- use App\Logistic;
- use App\OracleDOCOrderHeader;
- use App\Order;
- use App\Owner;
- use App\Shop;
- Class OrderService
- {
- public function createOrFindByOrderHead($oracleOrderNo){
- $order = Order::where('code',$oracleOrderNo)->first();
- if($order == null){
- $orderHeadAttr = OracleDOCOrderHeader::where('OrderNo',trim($oracleOrderNo,"'"))->first()->toArray();
- // wms 货主
- $customer_name = $orderHeadAttr['oracleBASCustomer_descr_c'];
- $owner = Owner::updateOrCreate(['name'=>$orderHeadAttr['customerid'],'code'=>$customer_name]);
- $owner_id = $owner->value('id'); // was 货主id
- // 商铺id
- $shop_name = $orderHeadAttr['issuepartyname'];
- $shop = Shop::updateOrCreate(['name'=>$shop_name,'owner_id'=>$owner_id]);
- $shop_Id = $shop->id;
- // 承运商ID
- $logistics = Logistic::updateOrCreate(['name'=>$orderHeadAttr['carrierid'],'code'=>$orderHeadAttr['carriername']]);
- $logistics_id = $logistics->value('id');
- $arr = [
- 'code'=>$orderHeadAttr['orderno'],
- 'owner_id'=>$owner->value('id'),
- 'wms_status'=>$orderHeadAttr['oracleBASCode_codename_c'],
- 'created_at'=>$orderHeadAttr['addtime'],
- 'logistic_number'=>$orderHeadAttr['soreference5'],
- 'logistic_id'=>$logistics_id,
- 'shop_id'=>$shop_Id,
- 'consignee_name'=>$orderHeadAttr['c_contact'],
- 'consignee_phone'=>$orderHeadAttr['c_tel2'],
- 'province'=> $orderHeadAttr['c_province'],
- 'city'=>$orderHeadAttr['c_city'],
- 'district'=>$orderHeadAttr['c_district'],
- 'address'=>$orderHeadAttr['c_address1'],
- ];
- $order = Order::create($arr);
- }
- return $order;
- }
- }
|