OracleDocAsnDetailService.php 1.3 KB

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