added timestmap for gldetail
This commit is contained in:
committed by
Hafifie PKB
parent
73c8220e1a
commit
e966d21417
@@ -0,0 +1,82 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
|
use Exception;
|
||||||
|
use Illuminate\Console\Command;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
|
class CloneDatabase extends Command
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* The name and signature of the console command.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $signature = 'migrate:clone';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The console command description.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $description = 'Generate Laravel migrations from an existing database';
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute the console command.
|
||||||
|
*
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function handle()
|
||||||
|
{
|
||||||
|
$tables = DB::connection('mysql7')->select("SHOW TABLES");
|
||||||
|
|
||||||
|
$namedatabase = DB::connection('mysql7')->getDatabaseName();
|
||||||
|
|
||||||
|
if (empty($tables)) {
|
||||||
|
$this->error("No tables found in database");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$boolreject = false;
|
||||||
|
$list_of_rejected = ($boolreject) ? $this->rejected_table() : [];
|
||||||
|
// Get table names
|
||||||
|
$tableNames = array_map(fn($table) => is_array($table) ? array_values($table) : $table, $tables);
|
||||||
|
$tableString = collect($tables)->pluck('Tables_in_' .$namedatabase)->reject(fn($table) => in_array($table, $list_of_rejected))->implode(',');
|
||||||
|
// Run migration generator
|
||||||
|
Artisan::call("migrate:generate --path=database/migrations --tables=" .$tableString);
|
||||||
|
// Artisan::call("migrate:status");
|
||||||
|
|
||||||
|
$this->info("Migrations generated successfully for database");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function rejected_table() : Array{
|
||||||
|
return [
|
||||||
|
'alert','auditbarcode','auditdaftar',
|
||||||
|
'auditrekodsemakan','audtrail','bakipelanggan',
|
||||||
|
'bandar','batchlel_xtra','bayaranpenebusan','belian',
|
||||||
|
'brand','checker','configkaunter','gadaisimulasi','gadaitemp',
|
||||||
|
'gadaixtra','hapusgadaionline','hargaemasbeli',
|
||||||
|
'hargaemasjual','imbangan','inoutmarxtra',
|
||||||
|
'jemas00', 'jemasbeli','jemasxtra',
|
||||||
|
'jenisakaun','jualan','jualemas','jumlahtebus',
|
||||||
|
'karat','karatbeli','karatjual','karatxtra',
|
||||||
|
'ku_nm', 'ku_nmbaru', 'ku_nmxtra', 'kumpulan',
|
||||||
|
'kurangxtra', 'lapringkasan', 'laptebus', 'lapterkumpul',
|
||||||
|
'lapterkumpulharian','lelkarat','lelmarhun_xtra', 'marhunbeli',
|
||||||
|
'marhunjual', 'marhunsimulasi', 'marhunxtra', 'model',
|
||||||
|
'outmarhun', 'outmarhunxtra', 'palsu', 'pemeriksaan',
|
||||||
|
'pengesahangadai', ' peratusan', 'percentonline',
|
||||||
|
'polisxtra','product','ramalan', 'rekodtangguh', 'sahabat',
|
||||||
|
'simpanan', 'simulasi_batchlel', 'simulasi_batchlelxtra',
|
||||||
|
'simulasi_lelmarhun', 'simulasi_lelong', 'simulasi_lelongxtra',
|
||||||
|
'tagpelanggan', 'tangguhlelong', 'taraf',
|
||||||
|
'tebus_xtra', 'tebuslelong', 'temp_ic', 'tempimbang',
|
||||||
|
'tempnosiri', 'tempnosirixtra', 'temppwd', 'temptarikhaging',
|
||||||
|
'tunaigadteb', 'tuntutbakixtra', 'ubs_code', 'ugama',
|
||||||
|
'updateserver', 'zparameter', 'zparameterxtra','ZPARAMETER1'];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -719,6 +719,25 @@ class VaultController extends Controller
|
|||||||
return response()->json($vault);
|
return response()->json($vault);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createAutoSerahan($kodcaw,Request $request){
|
||||||
|
$current = Carbon::now();
|
||||||
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||||
|
|
||||||
|
ApprovalWithdrawal::on('mysql7')->create([
|
||||||
|
'kodcaw' => $request->kodcaw,
|
||||||
|
'pc_name' => $request->teller,
|
||||||
|
'operasi_name' => null,
|
||||||
|
'amount' => $request->amaun,
|
||||||
|
'approval_status' => 'PENDING',
|
||||||
|
'approval_timestamp' => null,
|
||||||
|
'gldetail_id' => 0,
|
||||||
|
'updated_serahan_v2' => 0,
|
||||||
|
'updated_pendahuluan_v3' => 0,
|
||||||
|
'created_at' => $current,
|
||||||
|
'updated_at' => $current,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
public function autoSerahan($kodcaw,Request $request){
|
public function autoSerahan($kodcaw,Request $request){
|
||||||
$current = Carbon::now();
|
$current = Carbon::now();
|
||||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||||
@@ -755,9 +774,14 @@ class VaultController extends Controller
|
|||||||
'ktacct' => $request->ktacct,
|
'ktacct' => $request->ktacct,
|
||||||
'descpt' => $request->keterangan,
|
'descpt' => $request->keterangan,
|
||||||
'pendahuluan' => $request->amaun,
|
'pendahuluan' => $request->amaun,
|
||||||
'teller' => $request->teller . ' (AUTO V3)'
|
'teller' => $request->teller . ' (AUTO V3)',
|
||||||
|
'date_created' => $current
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
ApprovalWithdrawal::on('mysql7')->update(array(
|
||||||
|
'updated_pendahuluan_v3' => 1,
|
||||||
|
));
|
||||||
|
|
||||||
}else if($request->jenispendahuluanserahan == 'serahan'){
|
}else if($request->jenispendahuluanserahan == 'serahan'){
|
||||||
|
|
||||||
$totalserahan = $request->amaun + $serahan;
|
$totalserahan = $request->amaun + $serahan;
|
||||||
@@ -770,14 +794,15 @@ class VaultController extends Controller
|
|||||||
'bakieod' => $bakiakhir
|
'bakieod' => $bakiakhir
|
||||||
));
|
));
|
||||||
|
|
||||||
GlDetail::on($cawangan['mysql'])->create([
|
$gldetail = GlDetail::on($cawangan['mysql'])->create([
|
||||||
'kodcaw' => $request->kodcaw,
|
'kodcaw' => $request->kodcaw,
|
||||||
'tarikh' => $current->toDateString(),
|
'tarikh' => $current->toDateString(),
|
||||||
'dtacct' => $request->dtacct,
|
'dtacct' => $request->dtacct,
|
||||||
'ktacct' => $request->ktacct,
|
'ktacct' => $request->ktacct,
|
||||||
'descpt' => $request->keterangan,
|
'descpt' => $request->keterangan,
|
||||||
'serahan' => $request->amaun,
|
'serahan' => $request->amaun,
|
||||||
'teller' => $request->teller . ' (AUTO V3)'
|
'teller' => $request->teller . ' (AUTO V3)',
|
||||||
|
'date_created' => $current
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DenoPendSer::on('mysql7')->create([
|
DenoPendSer::on('mysql7')->create([
|
||||||
@@ -807,14 +832,13 @@ class VaultController extends Controller
|
|||||||
'jenis' =>$request->jenis,
|
'jenis' =>$request->jenis,
|
||||||
'recno' =>$request->recno,
|
'recno' =>$request->recno,
|
||||||
'update' => '0'
|
'update' => '0'
|
||||||
]);
|
|
||||||
|
|
||||||
ApprovalWithdrawal::on('mysql7')->create([
|
|
||||||
'kodcaw' => $request->kodcaw,
|
|
||||||
'amaun' => $request->amaun,
|
|
||||||
'status' => '1',
|
|
||||||
'teller' => $request->teller . ' (AUTO V3)'
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
ApprovalWithdrawal::on('mysql7')->update(array(
|
||||||
|
'updated_serahan_v2' => 1,
|
||||||
|
'gldetail_id' => $gldetail->id
|
||||||
|
));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Commit transactions
|
// Commit transactions
|
||||||
@@ -828,6 +852,24 @@ class VaultController extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function autoSerahanApproval($kodcaw,Request $request){
|
||||||
|
$current = Carbon::now();
|
||||||
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||||
|
$vault = Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||||
|
|
||||||
|
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||||
|
DB::connection('mysql7')->beginTransaction();
|
||||||
|
|
||||||
|
try{
|
||||||
|
DB::connection('mysql7')->commit();
|
||||||
|
DB::connection($cawangan['mysql'])->commit();
|
||||||
|
}catch(\Exception $e){
|
||||||
|
DB::connection($cawangan['mysql'])->rollBack();
|
||||||
|
DB::connection('mysql7')->rollBack();
|
||||||
|
return response()->json($e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class AddTimestampToGldetailTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
|
||||||
|
public function getActiveDB(){
|
||||||
|
$config_db = array_keys(config("database.connections"));
|
||||||
|
|
||||||
|
$db_connection = array_filter($config_db,function($connection){
|
||||||
|
try{
|
||||||
|
if($connection == 'mysql7')
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$db = DB::connection($connection)->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('gldetail', function (Blueprint $table) use($dbase) {
|
||||||
|
|
||||||
|
$dateCreated = Schema::connection($dbase)->hasColumn('gldetail', 'date_created');
|
||||||
|
|
||||||
|
|
||||||
|
if (!$dateCreated) {
|
||||||
|
$table->timestamp('date_created');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -680,6 +680,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
|||||||
|
|
||||||
/* Endpoint for Auto Serahan */
|
/* Endpoint for Auto Serahan */
|
||||||
$router->get('auto/serahan/{kodcaw}',['uses'=>'VaultController@autoSerahan']);
|
$router->get('auto/serahan/{kodcaw}',['uses'=>'VaultController@autoSerahan']);
|
||||||
|
$router->put('auto/approve/serahan/{kodcaw}',['uses'=>'VaultController@autoSerahanApproval']);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user