diff --git a/app/Domains/Company/Http/Controllers/CardController.php b/app/Domains/Company/Http/Controllers/CardController.php index 276d6d15..7870a857 100644 --- a/app/Domains/Company/Http/Controllers/CardController.php +++ b/app/Domains/Company/Http/Controllers/CardController.php @@ -8,6 +8,7 @@ use Illuminate\Support\Facades\DB; use App\Domains\Virtual\Services\PackageService; use App\Domains\Virtual\Services\ProductService; use App\Domains\Virtual\Repositories\OrderCardPartitionRepository; +use App\Models\Virtual\OrderCardPartition; class CardController extends Controller { @@ -42,6 +43,19 @@ class CardController extends Controller $cards = $this->orderCardPartitionRepository->select(['sim', DB::raw('MIN(company_id) as company_id')])->withConditions($conditions)->groupBy('sim')->paginate($limit); + + if ($this->request->has('sim')) { + $simArray = $this->request->ids('sim'); + $cardArray = $cards->pluck('sim')->toArray(); + + foreach ($simArray as $key => $value) { + if(!in_array($value, $cardArray)){ + $cards->push(new OrderCardPartition(['sim' => $value, 'company_id' => 0])); + } + } + } + + $services = $this->orderCardPartitionRepository->selectRaw('sim,MIN(service_start_at) as service_start_at,MAX(service_end_at) as service_end_at') ->whereIn('sim', $cards->pluck('sim')->toArray())->groupBy('sim')->get()->keyBy('sim');