| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- namespace App\Services;
- use App\Jobs\RejectedPushJob;
- use App\OracleDOCASNHeader;
- use App\Traits\ServiceAppAop;
- use Couchbase\DocIdSearchQuery;
- class OracleDocAsnHerderService
- {
- use ServiceAppAop;
- // protected $modelClass=OracleDocAsnHerder::class;
- public function getWmsAsnOnStartDateCreate($startDate)
- {
- if (!$startDate) return null;
- return OracleDOCASNHeader::query()
- ->with(['asnType', 'asnStatus'])
- ->select('asnno', 'asnstatus', 'asntype', 'addtime', 'edittime', 'customerid', 'notes', 'warehouseid', 'asnreference3', 'asnreference2')
- ->where('addTime', '>=', $startDate)
- ->whereColumn('edittime', '=', 'addTime')
- ->orderByDesc('addtime')
- ->get();
- }
- public function getWmsAsnOnStartDateEdit($startDate)
- {
- if (!$startDate) return null;
- return OracleDOCASNHeader::query()
- ->with(['asnType', 'asnStatus'])
- ->select('asnno', 'asnstatus', 'asntype', 'addtime', 'edittime', 'customerid', 'notes', 'warehouseid', 'asnreference3', 'asnreference2')
- ->where('EditTime', '>=', $startDate)
- ->whereColumn('EditTime', '<>', 'addTime')
- ->orderByDesc('EditTime')
- ->get();
- }
- public function getToBeProcessAsnDetailsByCustomId($customId,$page = 1, $perGage= 20)
- {
- return OracleDOCASNHeader::query()
- ->with(['asnType', 'asnStatus', 'basCustomer','asnDetails' => function ($query) {
- $query->with(['lineStatus', 'qualityStatus', 'basSku']);
- }])
- ->whereIn("AsnStatus", ['00', '30'])
- ->whereIn('asnType',['B2BRK','CGRK','CSKC','DBRK','F10','F21','F31','F32','HHRK','QTRK'])
- ->where('CustomerId', $customId)->orderByDesc('addTime')->forPage($page,$perGage)->get();
- }
- public function getToBeProcessAsnCountByCustomId($customId): int
- {
- return OracleDOCASNHeader::query()
- ->with(['asnType', 'asnStatus', 'basCustomer','asnDetails' => function ($query) {
- $query->with(['lineStatus', 'qualityStatus', 'basSku']);
- }])
- ->whereIn("AsnStatus", ['00', '30'])
- ->whereIn('asnType',['B2BRK','CGRK','CSKC','DBRK','F10','F21','F31','F32','HHRK','QTRK'])
- ->where('CustomerId', $customId)->count();
- }
- public function rejectPush($asnHerders)
- {
- if (count($asnHerders)>0){
- $collect=collect();
- foreach ($asnHerders as $asnHerder){
- if ($asnHerders->asntype=='THRK'&&$asnHerder->asnreference3){
- $collect->push(array($asnHerder->asnno,$asnHerder->asnreference3));
- }
- }
- RejectedPushJob::dispatch($collect);
- }
- }
- }
|