OracleDocAsnDetailService.php 1.4 KB

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