From b239106ba8ac20ba5308505b112680a07c3a54a4 Mon Sep 17 00:00:00 2001 From: amirhassan Date: Wed, 31 Jan 2024 08:48:18 +0800 Subject: [PATCH 1/6] Make migration and model for batu permata feature --- app/Marhun.php | 2 +- ...1_24_125247_add_batu_permata_to_marhun.php | 78 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 database/migrations/2024_01_24_125247_add_batu_permata_to_marhun.php diff --git a/app/Marhun.php b/app/Marhun.php index 301566c..88eff01 100644 --- a/app/Marhun.php +++ b/app/Marhun.php @@ -15,7 +15,7 @@ class Marhun extends Model * @var array */ protected $fillable = [ - 'kodcaw','marhun','t_gadai','norujukan','bil','nota','karat','berat','harga','n_marhun' + 'kodcaw','marhun','t_gadai','norujukan','bil','nota','karat','berat','harga','n_marhun','batu_permata','berat_batu_permata', ]; /** diff --git a/database/migrations/2024_01_24_125247_add_batu_permata_to_marhun.php b/database/migrations/2024_01_24_125247_add_batu_permata_to_marhun.php new file mode 100644 index 0000000..f1fcd30 --- /dev/null +++ b/database/migrations/2024_01_24_125247_add_batu_permata_to_marhun.php @@ -0,0 +1,78 @@ +getPdo(); + return true; + } catch (\Exception $e) { + return false; + } + }); + return $db_connection; + } + public function up() + { + $db_connection = $this->getActiveDB(); + + foreach ($db_connection as $dbase) { + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($dbase) { + + $isBatuPermataExist = Schema::connection($dbase)->hasColumn('marhun', 'batu_permata'); + $isBatuPermataExist = Schema::connection($dbase)->hasColumn('marhun', 'berat_batu_permata'); + + if (!$isBatuPermataExist) { + $table->string('batu_permata')->nullable(); + $table->decimal('berat_batu_permata', 7, 2)->nullable(); + } + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + $db_connection = $this->getActiveDB(); + + foreach ($db_connection as $dbase) { + $columns = ['batu_permata', 'berat_batu_permata']; + + + $columns_exist = array_filter($columns, function ($column) use ($dbase) { + return Schema::connection($dbase)->hasColumn('marhun', $column); + }); + + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($columns_exist) { + foreach ($columns_exist as $column) { + $table->dropColumn($column); + } + }); + } + } +} From d15d1ff0c08a4cd8afdbb3b4469fc79d66d23f90 Mon Sep 17 00:00:00 2001 From: amirhassan Date: Wed, 31 Jan 2024 08:49:54 +0800 Subject: [PATCH 2/6] Update create gadaian, edit gadaian and laporan marhun harian to feat baru permata feature --- app/Http/Controllers/MarhunController.php | 36 +++++++++++++---------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index d4c0ef8..526a511 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -61,38 +61,42 @@ class MarhunController extends Controller $current = Carbon::now(); $current = new Carbon(); - $harga = HargaEmas::on('mysql7')->where('karat',$request->karat)->first(); + $request_data = json_decode($request->getContent(), false); + + $harga = HargaEmas::on('mysql7')->where('karat',$request_data->karat)->first(); $hargaemas = $harga['harga']; - if(isset($request->jenisAT)){ - if($request->jenisAT == 'hargalama'){ - $hargaemas = $request->harga; - // $nilai_marhun = $request->berat_emas * $request->harga; + if(isset($request_data->jenisAT)){ + if($request_data->jenisAT == 'hargalama'){ + $hargaemas = $request_data->harga; + // $nilai_marhun = $request_data->berat_emas * $request_data->harga; }else $hargaemas = $harga['harga']; - // $nilai_marhun = $request->berat_emas * $harga['harga']; + // $nilai_marhun = $request_data->berat_emas * $harga['harga']; }else $hargaemas = $harga['harga']; - $nilai_marhun = $request->berat_emas * $hargaemas; + $nilai_marhun = $request_data->berat_emas * $hargaemas; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $marhun = Marhun::on($cawangan['mysql'])->create([ 'kodcaw'=> $kodcaw, - 'norujukan'=> $request->norujukan, + 'norujukan'=> $request_data->norujukan, 't_gadai' => $current->toDateString(), 'bil' => 1, - 'marhun' => $request->marhun, - 'nota' => $request->nota, - 'karat' => $request->karat, - 'berat' => $request->berat_emas, + 'marhun' => $request_data->marhun, + 'nota' => $request_data->nota, + 'batu_permata' => $request_data->batu_permata, + 'berat_batu_permata' => $request_data->berat_batu_permata, + 'karat' => $request_data->karat, + 'berat' => $request_data->berat_emas, 'harga' => $hargaemas, 'n_marhun' => $nilai_marhun ]); $audit = new Audit(); - $audit->users = $request->teller; + $audit->users = $request_data->teller; $audit->actions = 'Daftar Marhun'; - $audit->norujukan = $request->norujukan; + $audit->norujukan = $request_data->norujukan; $audit->new_data = $marhun; $audit->kodcaw = $kodcaw; $audit->created_at = $current; @@ -159,6 +163,8 @@ class MarhunController extends Controller 'karat' => $request->karat, 'marhun' => $request->marhun, 'nota' => $request->nota, + 'batu_permata' => $request->batu_permata, + 'berat_batu_permata' => $request->berat_batu_permata, 'berat' => $request->berat, 'harga' => $harga['harga'], 'n_marhun' => $nilai_marhun @@ -184,7 +190,7 @@ class MarhunController extends Controller $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $marhun = Marhun::on($cawangan['mysql']) - ->select('marhun.norujukan','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai') + ->select('marhun.norujukan','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai','marhun.batu_permata', 'marhun.berat_batu_permata') ->rightJoin('gadai', 'gadai.norujukan', '=', 'marhun.norujukan') ->rightJoin('online_arrahn.customer as customer', 'customer.kpbaru','=','gadai.nokp') ->where('marhun.t_gadai','=',$tarikh) From 046a575cdb38cdf938965d6e5b0d5a99fd620094 Mon Sep 17 00:00:00 2001 From: amirhassan Date: Wed, 7 Feb 2024 10:29:35 +0800 Subject: [PATCH 3/6] Update create and edit gadain feat validation for batu permata: discard key if value is null --- app/Http/Controllers/MarhunController.php | 42 +++++++++++++++-------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index 526a511..ebb28b8 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -76,9 +76,7 @@ class MarhunController extends Controller $nilai_marhun = $request_data->berat_emas * $hargaemas; - - $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); - $marhun = Marhun::on($cawangan['mysql'])->create([ + $marhunToCreate = [ 'kodcaw'=> $kodcaw, 'norujukan'=> $request_data->norujukan, 't_gadai' => $current->toDateString(), @@ -91,7 +89,15 @@ class MarhunController extends Controller 'berat' => $request_data->berat_emas, 'harga' => $hargaemas, 'n_marhun' => $nilai_marhun - ]); + ]; + + // Remove keys berat_batu_permata if value is null + if($marhunToCreate['berat_batu_permata'] == '') { + unset($marhunToCreate['berat_batu_permata']); + }; + + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + $marhun = Marhun::on($cawangan['mysql'])->create($marhunToCreate); $audit = new Audit(); $audit->users = $request_data->teller; @@ -158,17 +164,23 @@ class MarhunController extends Controller $old_data = Marhun::on($cawangan['mysql'])->where([['recno','=',$request->recno],['norujukan','=',$norujukan]])->first(); - $jemas = Marhun::on($cawangan['mysql'])->where([['recno','=',$request->recno],['norujukan','=',$norujukan]])->update( - [ - 'karat' => $request->karat, - 'marhun' => $request->marhun, - 'nota' => $request->nota, - 'batu_permata' => $request->batu_permata, - 'berat_batu_permata' => $request->berat_batu_permata, - 'berat' => $request->berat, - 'harga' => $harga['harga'], - 'n_marhun' => $nilai_marhun - ]); + $marhunToUpdate = [ + 'karat' => $request->karat, + 'marhun' => $request->marhun, + 'nota' => $request->nota, + 'batu_permata' => $request->batu_permata, + 'berat_batu_permata' => $request->berat_batu_permata, + 'berat' => $request->berat, + 'harga' => $harga['harga'], + 'n_marhun' => $nilai_marhun + ]; + + // Remove keys berat_batu_permata if value is null + if($marhunToUpdate['berat_batu_permata'] == '') { + unset($marhunToUpdate['berat_batu_permata']); + }; + + $jemas = Marhun::on($cawangan['mysql'])->where([['recno','=',$request->recno],['norujukan','=',$norujukan]])->update($marhunToUpdate); $new_data = Marhun::on($cawangan['mysql'])->where([['recno','=',$request->recno],['norujukan','=',$norujukan]])->first(); From c327de199724449a762b4a9ad7907200b3f9ee39 Mon Sep 17 00:00:00 2001 From: amirhassan Date: Wed, 14 Feb 2024 13:58:20 +0800 Subject: [PATCH 4/6] Fix create and edit gadaian api: set null value if value passed is null --- app/Http/Controllers/MarhunController.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index ebb28b8..8bc9cd0 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -91,9 +91,9 @@ class MarhunController extends Controller 'n_marhun' => $nilai_marhun ]; - // Remove keys berat_batu_permata if value is null + // Set value berat_batu_permata to null if value passed is null if($marhunToCreate['berat_batu_permata'] == '') { - unset($marhunToCreate['berat_batu_permata']); + $marhunToCreate['berat_batu_permata'] = null; }; $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); @@ -175,9 +175,9 @@ class MarhunController extends Controller 'n_marhun' => $nilai_marhun ]; - // Remove keys berat_batu_permata if value is null + // Set value berat_batu_permata to null if value passed is null if($marhunToUpdate['berat_batu_permata'] == '') { - unset($marhunToUpdate['berat_batu_permata']); + $marhunToUpdate['berat_batu_permata'] = null; }; $jemas = Marhun::on($cawangan['mysql'])->where([['recno','=',$request->recno],['norujukan','=',$norujukan]])->update($marhunToUpdate); From fc4c5f4e84c98222dde71a59988668d9bdf36448 Mon Sep 17 00:00:00 2001 From: amirhassan Date: Thu, 14 Mar 2024 08:53:48 +0800 Subject: [PATCH 5/6] Add column tag permata and feat to function --- app/Http/Controllers/MarhunController.php | 6 +- app/Marhun.php | 2 +- ...er_batu_permata_column_in_marhun_table.php | 76 +++++++++++++++++++ 3 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 database/migrations/2024_03_11_085511_alter_batu_permata_column_in_marhun_table.php diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index 8bc9cd0..779cd88 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -83,7 +83,7 @@ class MarhunController extends Controller 'bil' => 1, 'marhun' => $request_data->marhun, 'nota' => $request_data->nota, - 'batu_permata' => $request_data->batu_permata, + 'tag_permata' => $request_data->tag_permata, 'berat_batu_permata' => $request_data->berat_batu_permata, 'karat' => $request_data->karat, 'berat' => $request_data->berat_emas, @@ -168,7 +168,7 @@ class MarhunController extends Controller 'karat' => $request->karat, 'marhun' => $request->marhun, 'nota' => $request->nota, - 'batu_permata' => $request->batu_permata, + 'tag_permata' => $request->tag_permata, 'berat_batu_permata' => $request->berat_batu_permata, 'berat' => $request->berat, 'harga' => $harga['harga'], @@ -202,7 +202,7 @@ class MarhunController extends Controller $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $marhun = Marhun::on($cawangan['mysql']) - ->select('marhun.norujukan','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai','marhun.batu_permata', 'marhun.berat_batu_permata') + ->select('marhun.norujukan','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai','marhun.tag_permata', 'marhun.berat_batu_permata') ->rightJoin('gadai', 'gadai.norujukan', '=', 'marhun.norujukan') ->rightJoin('online_arrahn.customer as customer', 'customer.kpbaru','=','gadai.nokp') ->where('marhun.t_gadai','=',$tarikh) diff --git a/app/Marhun.php b/app/Marhun.php index 88eff01..dbbf591 100644 --- a/app/Marhun.php +++ b/app/Marhun.php @@ -15,7 +15,7 @@ class Marhun extends Model * @var array */ protected $fillable = [ - 'kodcaw','marhun','t_gadai','norujukan','bil','nota','karat','berat','harga','n_marhun','batu_permata','berat_batu_permata', + 'kodcaw','marhun','t_gadai','norujukan','bil','nota','karat','berat','harga','n_marhun','tag_permata','berat_batu_permata', ]; /** diff --git a/database/migrations/2024_03_11_085511_alter_batu_permata_column_in_marhun_table.php b/database/migrations/2024_03_11_085511_alter_batu_permata_column_in_marhun_table.php new file mode 100644 index 0000000..ac6ff42 --- /dev/null +++ b/database/migrations/2024_03_11_085511_alter_batu_permata_column_in_marhun_table.php @@ -0,0 +1,76 @@ +getPdo(); + return true; + } catch (\Exception $e) { + return false; + } + }); + return $db_connection; + } + + public function up() + { + $db_connection = $this->getActiveDB(); + + foreach ($db_connection as $dbase) { + $isColumnBatuPermataExist = Schema::connection($dbase)->hasColumn('marhun', 'batu_permata'); + if ($isColumnBatuPermataExist) { + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($dbase) { + $table->dropColumn('batu_permata'); + }); + } + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($dbase) { + $table->integer('tag_permata')->default(0); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + $db_connection = $this->getActiveDB(); + + foreach ($db_connection as $dbase) { + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($dbase) { + $table->dropColumn('tag_permata'); + }); + $isColumnBatuPermataExist = Schema::connection($dbase)->hasColumn('marhun', 'batu_permata'); + if (!$isColumnBatuPermataExist) { + Schema::connection($dbase)->table('marhun', function (Blueprint $table) use ($dbase) { + $table->string('batu_permata')->nullable(); + }); + } + } + } +} From ce41e2e7db138f60d6db9eba08bd1ed60ef2e4da Mon Sep 17 00:00:00 2001 From: amirhassan Date: Thu, 14 Mar 2024 09:28:12 +0800 Subject: [PATCH 6/6] Update feature sort jenis emas --- app/Http/Controllers/MarhunController.php | 2 +- app/Jemas.php | 1 + database/seeds/SortJenisEmas.php | 72 +++++++++++++++++++++++ 3 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 database/seeds/SortJenisEmas.php diff --git a/app/Http/Controllers/MarhunController.php b/app/Http/Controllers/MarhunController.php index 779cd88..a42c8e8 100644 --- a/app/Http/Controllers/MarhunController.php +++ b/app/Http/Controllers/MarhunController.php @@ -51,7 +51,7 @@ class MarhunController extends Controller } public function getAllJemas(){ - $jemas = Jemas::on('mysql7')->get(); + $jemas = Jemas::on('mysql7')->orderBy('ordernum', 'asc')->get(); return response()->json($jemas); } diff --git a/app/Jemas.php b/app/Jemas.php index e6579e8..297918a 100644 --- a/app/Jemas.php +++ b/app/Jemas.php @@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Model; class Jemas extends Model { protected $table = 'jemas'; + public $timestamps = false; /** * The attributes that are mass assignable. diff --git a/database/seeds/SortJenisEmas.php b/database/seeds/SortJenisEmas.php new file mode 100644 index 0000000..9e8c6c9 --- /dev/null +++ b/database/seeds/SortJenisEmas.php @@ -0,0 +1,72 @@ +where('marhun', '=', 'G/T')->update([ + 'ordernum' => '1', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'CIN')->update([ + 'ordernum' => '2', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'R/K')->update([ + 'ordernum' => '3', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'SBG')->update([ + 'ordernum' => '4', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'L/L')->update([ + 'ordernum' => '5', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'LKT')->update([ + 'ordernum' => '6', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'R/T')->update([ + 'ordernum' => '7', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'K/B')->update([ + 'ordernum' => '8', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'DNR')->update([ + 'ordernum' => '9', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'SYE')->update([ + 'ordernum' => '10', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'WFR')->update([ + 'ordernum' => '11', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'G/B')->update([ + 'ordernum' => '12', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'SPE')->update([ + 'ordernum' => '13', + ]); + + Jemas::on('mysql7')->where('marhun', '=', 'R/L')->update([ + 'ordernum' => '14', + ]); + } +}