From 90074c65cce31804bff926783fae89820daa449d Mon Sep 17 00:00:00 2001 From: BTMS2 Date: Mon, 10 Jun 2024 15:38:57 +0800 Subject: [PATCH] tambah function auto tamat lelong selepas 2jam lelong --- app/Http/Controllers/HomeController.php | 4 +- app/Http/Controllers/LelongController.php | 19 +- app/Http/Controllers/PenggunaController.php | 23 +- app/Jobs/AutoTamatLelong.php | 83 +++++ app/Models/Lelong.php | 1 + database/seeders/RolesSeeder.php | 18 ++ resources/views/homeajk.blade.php | 16 + resources/views/homeoperasi.blade.php | 42 +-- resources/views/includes/sidebar.blade.php | 37 +++ resources/views/parameter/listajk.blade.php | 304 ++++++++++++++++++ .../views/pengurusanpengguna/index.blade.php | 11 + .../views/pengurusanpengguna/show.blade.php | 15 +- routes/web.php | 5 + 13 files changed, 552 insertions(+), 26 deletions(-) create mode 100644 app/Jobs/AutoTamatLelong.php create mode 100644 resources/views/homeajk.blade.php create mode 100644 resources/views/parameter/listajk.blade.php diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 2f80ec25..01052082 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -426,7 +426,9 @@ class HomeController extends Controller $user = Auth::user(); $dateTime = date('Y-m-d'); - if ($user->hasRole('callcenter')) { + if ($user->hasRole('ajk')) { + return view('homeajk'); + } else if ($user->hasRole('callcenter')) { return view('homecallcenter'); } else if ($user->hasRole('operasi-kpi')) { return view('homeoperasikpi'); diff --git a/app/Http/Controllers/LelongController.php b/app/Http/Controllers/LelongController.php index 95864f19..80c76755 100644 --- a/app/Http/Controllers/LelongController.php +++ b/app/Http/Controllers/LelongController.php @@ -54,6 +54,7 @@ use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; use App\Jobs\HantarMail; use App\Jobs\WhatsappPemenang; +use App\Jobs\AutoTamatlelong; class LelongController extends Controller { @@ -1935,6 +1936,8 @@ class LelongController extends Controller $currentdate = Carbon::now(); $currenttime = $currentdate->toTimeString(); $endtime = $currentdate->addHours(2); + // $endtime = $currentdate->addMinutes(1); + $lelong = Lelong::where('id','=',$id)->first(); $lelong->masamula_lelong = $currenttime; @@ -1948,8 +1951,22 @@ class LelongController extends Controller $cawlel->masamula_lelong = $currenttime; $cawlel->masatamat_lelong = $endtime->toTimeString(); $cawlel->status_online = 1; //start lelong - $cawlel->save(); + $cawlel->save(); } + //run job tamat lelong + AutoTamatLelong::dispatch()->delay(Carbon::now()->addHours(2)); + // AutoTamatLelong::dispatch()->delay(Carbon::now()->addMinutes(1)); + + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $currentdate; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Mula'; + $loguser->save(); return redirect()->route('home'); } diff --git a/app/Http/Controllers/PenggunaController.php b/app/Http/Controllers/PenggunaController.php index a8af394b..eedb0ecb 100644 --- a/app/Http/Controllers/PenggunaController.php +++ b/app/Http/Controllers/PenggunaController.php @@ -112,12 +112,19 @@ class PenggunaController extends Controller $user->name = $request->name; $user->username = $request->username; $user->kodcaw = $request->caw; + $user->notelbimbit = $request->notelbimbit; $user->status = 'active'; $user->t_daftar = $currentdate; $user->email = $request->email; $user->email_verified_at = $currentdate; $user->password = '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'; //password - $user->user_type = 1; + if($arraytaraf[0] == 'ajk'){ + $user->user_type = 3; + } + else{ + $user->user_type = 1; + } + $user->save(); $user->syncRoles($arraytaraf); @@ -173,7 +180,7 @@ class PenggunaController extends Controller $user->email = $request->emel; $user->kodcaw = $request->caw; $user->username = $request->username; - // $user->notelbimbit = $request->notelbimbit; + $user->notelbimbit = $request->notelbimbit; // $user->nokp = $request->nokp; $user->updated_at = $currentdate; $user->status = $status; @@ -358,6 +365,18 @@ class PenggunaController extends Controller // return $pdf->download('Roles.pdf'); } } + + public function listajk() + { + $alluser = User::with('roles','cawangan')->whereHas("roles", function($q) { + $q->where("name",'=', 'ajk');}) + ->orderBy('name','ASC') + ->get(); + $allroles = Role::all(); + $allRolesPluck= $allroles->pluck('name'); + $caw = Cawangan::all(); + return view('parameter.listajk',compact('alluser','allroles','caw', 'allRolesPluck')); + } } \ No newline at end of file diff --git a/app/Jobs/AutoTamatLelong.php b/app/Jobs/AutoTamatLelong.php new file mode 100644 index 00000000..4a967ab8 --- /dev/null +++ b/app/Jobs/AutoTamatLelong.php @@ -0,0 +1,83 @@ +toTimeString(); + $tarikhlelong = $dt->toDateString(); + + event(new LelongNotify('stop')); + $updatestatus = Lelong::where('sts_lelong',1) + ->where('tarikh_lelong',$tarikhlelong) + ->update(['sts_lelong' => 2]); + + $getnoajk = User::where('user_type', 3)->get(); + foreach($getnoajk as $notifikasi){ + $mobile_no = '6'.$notifikasi->notelbimbit; + + if(config('app.env') != 'production'){ + $mobile_no = config('app.admin_phone_number'); + } + $response = Http::get(env('WABOT_API'), [ + 'number' => $mobile_no, + 'type' => 'text', + 'message' => 'Lelongan Telah Tamat, Sila Jana Pemenang', + 'instance_id' => env('WABOT_INSTANCES_ID'), + 'access_token' => env('WABOT_TOKEN_KEYS') + ]); + } + + //insert loguser + $loguser = new LogUser; + // $loguser->user_id = $user->id; + $loguser->date = $dt; + $loguser->username = 'System'; + $loguser->nama_user = 'System'; + // $loguser->norujukan = $data['norujukan']; + $loguser->nota = 'Lelongan Tamat'; + $loguser->save(); + + Log::info("Lelongan Telah Tamat" . $response); + // } + + // event(new LelongNotify('stop')); + // } + } +} diff --git a/app/Models/Lelong.php b/app/Models/Lelong.php index 3dc88a4f..e9a16bc9 100644 --- a/app/Models/Lelong.php +++ b/app/Models/Lelong.php @@ -13,6 +13,7 @@ class Lelong extends Model protected $fillable = [ 'tarikh_lelong', + 'masamula_lelong', 'masatamat_lelong', 'kali', 'harga_emas_asas', diff --git a/database/seeders/RolesSeeder.php b/database/seeders/RolesSeeder.php index 58056523..0014c83b 100644 --- a/database/seeders/RolesSeeder.php +++ b/database/seeders/RolesSeeder.php @@ -196,6 +196,13 @@ class RolesSeeder extends Seeder 'name' => 'skoptugasan', 'description' => 'Skop Tugasan Cawangan Kegunaan E-KPI' ]); + + //ajklelong + Permission::create([ + 'name' => 'semakanlelong', + 'description' => 'Semakan Lelongan' + ]); + // create roles and assign existing permissions $role1 = Role::create(['name' => 'admin']); $role1->givePermissionTo('pengguna'); @@ -290,6 +297,9 @@ class RolesSeeder extends Seeder $role14->givePermissionTo('pengurusangambar'); $role14->givePermissionTo('pendaftaranbatch'); + $role15 = Role::create(['name' => 'ajk']); + $role15->givePermissionTo('semakanlelong'); + // $role3 = Role::create(['name' => 'Super-Admin']); // gets all permissions via Gate::before rule; see AuthServiceProvider @@ -410,5 +420,13 @@ class RolesSeeder extends Seeder 'user_type' => 1 ]); $user->assignRole($role14); + + $user = \App\Models\User::factory()->create([ + 'name' => 'Ahli Jawatan Kuasa', + 'username' => 'ajk', + 'email' => 'ajk@example.com', + 'user_type' => 3 + ]); + $user->assignRole($role15); } } diff --git a/resources/views/homeajk.blade.php b/resources/views/homeajk.blade.php new file mode 100644 index 00000000..facff10c --- /dev/null +++ b/resources/views/homeajk.blade.php @@ -0,0 +1,16 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Dashboard') }}
+
+ Ahli Jawatan Kuasa Page +
+
+
+
+
+@endsection \ No newline at end of file diff --git a/resources/views/homeoperasi.blade.php b/resources/views/homeoperasi.blade.php index 980e99a5..56abad66 100644 --- a/resources/views/homeoperasi.blade.php +++ b/resources/views/homeoperasi.blade.php @@ -88,7 +88,8 @@ @else @endif @elseif ($lel['info']['sts_lelong'] == 1) - Tamat Lelong Semua Cawangan + + Tamat Lelong Semua Cawangan @elseif ($lel['info']['sts_lelong'] == 2) Jana Pemenang @else @@ -124,7 +125,8 @@ @if($cawangan_detail['status_online'] == 0 && $cawangan_detail['belum_semak'] == 0) Mula Lelong @elseif($cawangan_detail['status_online'] == 1) - Tamat Lelong + Tamat Lelong + @endif @elseif($lel['info']['sts_lelong'] == 2) @endif @@ -347,24 +349,24 @@ } }); - $('a.stoplelongall').confirm({ - title: 'Tamat Lelong Semua Cawangan', - content: 'Adakah anda pasti?', - type: 'red', - typeAnimated: true, - buttons: { - Kembali: { - btnClass: 'btn-default', - action: function() {} - }, - Teruskan: { - btnClass: 'btn-danger', - action: function() { - location.href = this.$target.attr('href'); - } - }, - } - }); + // $('a.stoplelongall').confirm({ + // title: 'Tamat Lelong Semua Cawangan', + // content: 'Adakah anda pasti?', + // type: 'red', + // typeAnimated: true, + // buttons: { + // Kembali: { + // btnClass: 'btn-default', + // action: function() {} + // }, + // Teruskan: { + // btnClass: 'btn-danger', + // action: function() { + // location.href = this.$target.attr('href'); + // } + // }, + // } + // }); $('a.janapemenangall').confirm({ title: 'Jana Pemenang', diff --git a/resources/views/includes/sidebar.blade.php b/resources/views/includes/sidebar.blade.php index 2e700eb3..53615681 100644 --- a/resources/views/includes/sidebar.blade.php +++ b/resources/views/includes/sidebar.blade.php @@ -211,6 +211,16 @@ +
  • + + + +
  • @endhasrole @hasrole('callcenter')
  • @@ -1043,6 +1053,33 @@
  • @endhasrole + @hasrole('ajk') +
  • + + +
  • + @endhasrole + + + + +@endsection \ No newline at end of file diff --git a/resources/views/pengurusanpengguna/index.blade.php b/resources/views/pengurusanpengguna/index.blade.php index 141aac1d..e3ef3778 100644 --- a/resources/views/pengurusanpengguna/index.blade.php +++ b/resources/views/pengurusanpengguna/index.blade.php @@ -130,6 +130,13 @@ +
    + +
    + + +
    +

    Taraf Pengguna

    @@ -172,6 +179,10 @@ $(".checkbox").each(function() { $(this).not('#tarafaccount').prop("disabled", true); }); + }else if (taraf.id == "tarafajk") { + $(".checkbox").each(function() { + $(this).not('#tarafajk').prop("disabled", true); + }); } else if (taraf.id == "tarafcallcenter") { $(".checkbox").each(function() { $(this).not('#tarafcallcenter').prop("disabled", true); diff --git a/resources/views/pengurusanpengguna/show.blade.php b/resources/views/pengurusanpengguna/show.blade.php index 16a15186..5107dccc 100644 --- a/resources/views/pengurusanpengguna/show.blade.php +++ b/resources/views/pengurusanpengguna/show.blade.php @@ -40,6 +40,12 @@
    + @if($user->user_type == 3) +
    + + +
    + @endif

    Taraf Pengguna

    @@ -53,7 +59,7 @@ @endforeach
    - @if($user->user_type == 1) + @if($user->user_type == 1 | $user->user_type == 3)
    @@ -110,7 +116,12 @@ $(".checkbox").each(function() { $(this).not('#tarafaccount').prop("disabled", true); }); - } else if (taraf.id == "tarafcallcenter") { + }else if (taraf.id == "tarafajk") { + $(".checkbox").each(function() { + $(this).not('#tarafajk').prop("disabled", true); + }); + } + else if (taraf.id == "tarafcallcenter") { $(".checkbox").each(function() { $(this).not('#tarafcallcenter').prop("disabled", true); }); diff --git a/routes/web.php b/routes/web.php index e346b7b5..f71f1b1e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -727,6 +727,11 @@ Route::group(['middleware' => ['permission:parameter'],'prefix'=>'parameter'], f Route::get('/kemaskininotislelwabot',['as'=>'parameter.kemaskininotislelwabot','uses'=>'NotisController@kemaskininotislelwabot']); Route::post('/storepara2blast',['as'=>'parameter.storepara2blast','uses'=>'NotisController@storepara2blast']); Route::post('/storepara3blast',['as'=>'parameter.storepara3blast','uses'=>'NotisController@storepara3blast']); + + //blastnotifikasitamatlelongajk + Route::get('/notifikasitamatlelong',['as'=>'parameter.notifikasitamatlelong','uses'=>'PenggunaController@notifikasitamatlelong']); + Route::get('/listajk',['as'=>'parameter.listajk','uses'=>'PenggunaController@listajk']); + }); Route::group(['middleware' => ['permission:WTD'],'prefix'=>'wtd'], function () {