OracleDocAsnDetailService.php 1.4 KB

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