bernandotorrez

AdditionalOrderDatatableController.php

Dec 10th, 2020
1,027
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.30 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use App\Repository\Eloquent\DetailAdditionalOrderRepository;
  6. use App\Repository\Eloquent\MasterAdditionalOrderRepository;
  7. use Illuminate\Support\Facades\Cache;
  8. use Yajra\Datatables\Datatables;
  9. use App\Models\Cache as CacheModel;
  10.  
  11. class AdditionalOrderDatatablesController extends Controller
  12. {
  13.     public function additionalOrderJsonDraft(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  14.     {
  15.         $idUser = session()->get('user')['id_user'];
  16.         $idDealer = session()->get('user')['id_dealer'];
  17.         $cache_name = 'datatable-additionalOrderJsonDraft-idUser-'.$idUser;
  18.         $datas = Cache::remember($cache_name, 10,
  19.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  20.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  21.             return $masterAdditionalOrderRepository->getDraft($idDealer);
  22.         });
  23.  
  24.         return Datatables::of($datas)
  25.         ->addColumn('action', function($data) {
  26.             return '<input type="checkbox" class="new-control-input checkId"
  27.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  28.            id="'.$data->id_master_additional_order_unit.'"
  29.            value="'.$data->id_master_additional_order_unit.'">';
  30.         })
  31.         ->addColumn('details_url', function($data) {
  32.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  33.         })
  34.         ->make(true);
  35.     }
  36.  
  37.     public function additionalOrderJsonWaitingApprovalDealerPrinciple(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  38.     {
  39.         $idUser = session()->get('user')['id_user'];
  40.         $idDealer = session()->get('user')['id_dealer'];
  41.         $cache_name = 'datatable-additionalOrderJsonWaitingApprovalDealerPrinciple-idUser-'.$idUser;
  42.         $datas = Cache::remember($cache_name, 10,
  43.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  44.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  45.             return $masterAdditionalOrderRepository->getWaitingApprovalDealerPrinciple($idDealer);
  46.         });
  47.  
  48.         return Datatables::of($datas)
  49.         ->addColumn('action', function($data) {
  50.             return '<input type="checkbox" class="new-control-input checkId"
  51.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  52.            id="'.$data->id_master_additional_order_unit.'"
  53.            value="'.$data->id_master_additional_order_unit.'">';
  54.         })
  55.         ->addColumn('details_url', function($data) {
  56.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  57.         })
  58.         ->make(true);
  59.     }
  60.  
  61.     public function additionalOrderJsonApprovalDealerPrinciple(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  62.     {
  63.         $idUser = session()->get('user')['id_user'];
  64.         $idDealer = session()->get('user')['id_dealer'];
  65.         $cache_name = 'datatable-additionalOrderJsonApprovalDealerPrinciple-idUser-'.$idUser;
  66.         $datas = Cache::remember($cache_name, 10,
  67.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  68.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  69.             return $masterAdditionalOrderRepository->getApprovalDealerPrinciple($idDealer);
  70.         });
  71.  
  72.         return Datatables::of($datas)
  73.         ->addColumn('action', function($data) {
  74.             return '<input type="checkbox" class="new-control-input checkId"
  75.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  76.            id="'.$data->id_master_additional_order_unit.'"
  77.            value="'.$data->id_master_additional_order_unit.'">';
  78.         })
  79.         ->addColumn('details_url', function($data) {
  80.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  81.         })
  82.         ->make(true);
  83.     }
  84.  
  85.     public function additionalOrderJsonSubmittedATPM(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  86.     {
  87.         $idUser = session()->get('user')['id_user'];
  88.         $idDealer = session()->get('user')['id_dealer'];
  89.         $cache_name = 'datatable-additionalOrderJsonSubmittedATPM-idUser-'.$idUser;
  90.         $datas = Cache::remember($cache_name, 10,
  91.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  92.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  93.             return $masterAdditionalOrderRepository->getSubmittedATPM($idDealer);
  94.         });
  95.  
  96.         return Datatables::of($datas)
  97.         ->addColumn('action', function($data) {
  98.             return '<input type="checkbox" class="new-control-input checkId"
  99.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  100.            id="'.$data->id_master_additional_order_unit.'"
  101.            value="'.$data->id_master_additional_order_unit.'">';
  102.         })
  103.         ->addColumn('details_url', function($data) {
  104.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  105.         })
  106.         ->make(true);
  107.     }
  108.  
  109.     public function additionalOrderJsonATPMAllocation(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  110.     {
  111.         $idUser = session()->get('user')['id_user'];
  112.         $idDealer = session()->get('user')['id_dealer'];
  113.         $cache_name = 'datatable-additionalOrderJsonATPMAllocation-idUser-'.$idUser;
  114.         $datas = Cache::remember($cache_name, 10,
  115.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  116.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  117.             return $masterAdditionalOrderRepository->getATPMAllocation($idDealer);
  118.         });
  119.  
  120.         return Datatables::of($datas)
  121.         ->addColumn('action', function($data) {
  122.             return '<input type="checkbox" class="new-control-input checkId"
  123.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  124.            id="'.$data->id_master_additional_order_unit.'"
  125.            value="'.$data->id_master_additional_order_unit.'">';
  126.         })
  127.         ->addColumn('details_url', function($data) {
  128.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  129.         })
  130.         ->make(true);
  131.     }
  132.  
  133.     public function additionalOrderJsonCanceled(MasterAdditionalOrderRepository $masterAdditionalOrderRepository)
  134.     {
  135.         $idUser = session()->get('user')['id_user'];
  136.         $idDealer = session()->get('user')['id_dealer'];
  137.         $cache_name = 'datatable-additionalOrderJsonCanceled-idUser-'.$idUser;
  138.         $datas = Cache::remember($cache_name, 10,
  139.         function () use($masterAdditionalOrderRepository, $idUser, $idDealer, $cache_name){
  140.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => $idUser]);
  141.             return $masterAdditionalOrderRepository->getCanceledAdditionalOrder($idDealer);
  142.         });
  143.  
  144.         return Datatables::of($datas)
  145.         ->addColumn('action', function($data) {
  146.             return '<input type="checkbox" class="new-control-input checkId"
  147.            onclick="updateCheck('.$data->id_master_additional_order_unit.')"
  148.            id="'.$data->id_master_additional_order_unit.'"
  149.            value="'.$data->id_master_additional_order_unit.'">';
  150.         })
  151.         ->addColumn('details_url', function($data) {
  152.             return url('datatable/detailAdditionalOrderJson/' . $data->id_master_additional_order_unit);
  153.         })
  154.         ->make(true);
  155.     }
  156.  
  157.     public function detailAdditionalOrderJson($id, DetailAdditionalOrderRepository $detailAdditionalOrderRepository)
  158.     {
  159.         $cache_name = 'datatable-detail-additionalOrderJson-id-'.$id;
  160.         $data = Cache::remember($cache_name, 10, function () use($detailAdditionalOrderRepository, $id, $cache_name){
  161.             CacheModel::firstOrCreate(['cache_name' => $cache_name, 'id_user' => session()->get('user')['id_user']]);
  162.             return $detailAdditionalOrderRepository->getByIdMaster($id);
  163.         });
  164.  
  165.         return Datatables::of($data)->make(true);
  166.     }
  167. }
  168.  
Advertisement
Add Comment
Please, Sign In to add comment