OracleDocAsnHerderService.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Services;
  3. use App\Jobs\RejectedPushJob;
  4. use App\OracleDOCASNHeader;
  5. use App\Traits\ServiceAppAop;
  6. use Couchbase\DocIdSearchQuery;
  7. class OracleDocAsnHerderService
  8. {
  9. use ServiceAppAop;
  10. // protected $modelClass=OracleDocAsnHerder::class;
  11. public function getWmsAsnOnStartDateCreate($startDate)
  12. {
  13. if (!$startDate) return null;
  14. return OracleDOCASNHeader::query()
  15. ->with(['asnType', 'asnStatus'])
  16. ->select('asnno', 'asnstatus', 'asntype', 'addtime', 'edittime', 'customerid', 'notes', 'warehouseid', 'asnreference3', 'asnreference2')
  17. ->where('addTime', '>=', $startDate)
  18. ->whereColumn('edittime', '=', 'addTime')
  19. ->orderByDesc('addtime')
  20. ->get();
  21. }
  22. public function getWmsAsnOnStartDateEdit($startDate)
  23. {
  24. if (!$startDate) return null;
  25. return OracleDOCASNHeader::query()
  26. ->with(['asnType', 'asnStatus'])
  27. ->select('asnno', 'asnstatus', 'asntype', 'addtime', 'edittime', 'customerid', 'notes', 'warehouseid', 'asnreference3', 'asnreference2')
  28. ->where('EditTime', '>=', $startDate)
  29. ->whereColumn('EditTime', '!=', 'addTime')
  30. ->orderByDesc('EditTime')
  31. ->get();
  32. }
  33. public function getToBeProcessAsnDetailsByCustomId($customId,$page = 1, $perGage= 20)
  34. {
  35. return OracleDOCASNHeader::query()
  36. ->with(['asnType', 'asnStatus', 'basCustomer','asnDetails' => function ($query) {
  37. $query->with(['lineStatus', 'qualityStatus', 'basSku']);
  38. }])
  39. ->whereIn("AsnStatus", ['00', '30'])
  40. ->whereIn('asnType',['B2BRK','CGRK','CSKC','DBRK','F10','F21','F31','F32','HHRK','QTRK'])
  41. ->where('CustomerId', $customId)->orderByDesc('addTime')->forPage($page,$perGage)->get();
  42. }
  43. public function getToBeProcessAsnCountByCustomId($customId): int
  44. {
  45. return OracleDOCASNHeader::query()
  46. ->with(['asnType', 'asnStatus', 'basCustomer','asnDetails' => function ($query) {
  47. $query->with(['lineStatus', 'qualityStatus', 'basSku']);
  48. }])
  49. ->whereIn("AsnStatus", ['00', '30'])
  50. ->whereIn('asnType',['B2BRK','CGRK','CSKC','DBRK','F10','F21','F31','F32','HHRK','QTRK'])
  51. ->where('CustomerId', $customId)->count();
  52. }
  53. }