OracleDocAsnDetailService.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Services;
  3. use App\OracleDOCASNDetail;
  4. use App\OracleDOCASNHeader;
  5. use App\Traits\ServiceAppAop;
  6. use Illuminate\Database\Eloquent\Builder;
  7. class OracleDocAsnDetailService
  8. {
  9. use ServiceAppAop;
  10. protected $modelClass=OracleDocAsnDetail::class;
  11. const TABLE = "DOC_ASN_DETAILS";
  12. public function getLeftJoinBasSku(array $params){
  13. $query = OracleDOCASNDetail::query();
  14. foreach ($params as $column => $value){
  15. if (is_array($value)){
  16. $query->whereIn(self::TABLE.'.'.$column,$value);
  17. }
  18. $query->where(self::TABLE.'.'.$column,$value);
  19. }
  20. $query->selectRaw(self::TABLE.".asnno,".self::TABLE.".asnlineno,"
  21. .self::TABLE.".customerid,".self::TABLE.".sku,".self::TABLE.".expectedqty");
  22. $query->join('BAS_SKU',function ($join){
  23. $join->on(self::TABLE.".sku",'=','BAS_SKU.sku')
  24. ->on(self::TABLE.".customerid",'=',"BAS_SKU.customerid");
  25. },null,null,'left');
  26. $query->selectRaw('BAS_SKU.alternate_sku1,BAS_SKU.alternate_sku2');
  27. return $query->get();
  28. }
  29. public function get(array $params, $column = null){
  30. $query = OracleDOCASNDetail::query();
  31. if ($column)$query->select($column);
  32. foreach ($params as $column => $value){
  33. if (is_array($value)){
  34. $query->whereIn($column,$value);
  35. }
  36. $query->where($column,$value);
  37. }
  38. return $query->get();
  39. }
  40. }