OrderPackageCommoditiesService.php 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Services;
  3. use App\Commodity;
  4. use App\OracleActAllocationDetails;
  5. use App\OracleBasSKU;
  6. use App\OracleDOCOrderDetail;
  7. use App\OrderPackage;
  8. use App\OrderPackageCommodities;
  9. use App\Owner;
  10. Class OrderPackageCommoditiesService
  11. {
  12. public function createOrFindBy(OrderPackage $orderPackage,OracleActAllocationDetails $detail){
  13. $owner = Owner::where(['code'=>$detail->customerid])->first(); // 货主
  14. $orderDetail = OracleDOCOrderDetail::where(['orderNo'=>$detail->orderno,'orderLineNo'=>$detail->orderlineno])->first();
  15. $sku = $detail->sku;
  16. $owner_id = $owner->id;
  17. $customerid = $orderDetail->customerid;
  18. $commodity = Commodity::where(['sku'=>$sku,'owner_id'=>$owner_id])->first();
  19. if($commodity == null){
  20. $basSku = OracleBasSKU::where(['sku'=>$sku,'customerid'=>$customerid])->first();
  21. $commodity = Commodity::create(['sku'=>$sku,'owner_id'=>$owner_id,'name',$basSku->descr_c]);
  22. }
  23. $arr = [
  24. 'order_package_id'=>$orderPackage->id, // 包裹id
  25. 'commodity_id'=>$commodity->id, // 商品id
  26. 'amount'=>$detail->qty, // 商品数量
  27. ];
  28. OrderPackageCommodities::create($arr);
  29. }
  30. }