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(); } }