Merge branch 'afiqhamzah-feat-mykad-reader-registration-backend' into 'master'
Afiqhamzah feat mykad reader registration backend See merge request online-sistem1/api_arrahn!181
This commit is contained in:
+11
-1
@@ -8,4 +8,14 @@ class Audit extends Model
|
||||
{
|
||||
protected $table = 'audit';
|
||||
protected $connection = 'mysql7';
|
||||
}
|
||||
protected $fillable = [
|
||||
'users',
|
||||
'actions',
|
||||
'norujukan',
|
||||
'new_data',
|
||||
'old_data',
|
||||
'kodcaw',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
];
|
||||
}
|
||||
|
||||
+8
-2
@@ -3,6 +3,7 @@
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
|
||||
class Daerah extends Model
|
||||
{
|
||||
@@ -14,7 +15,7 @@ class Daerah extends Model
|
||||
* @var array
|
||||
*/
|
||||
// protected $fillable = [
|
||||
|
||||
|
||||
// ];
|
||||
|
||||
/**
|
||||
@@ -23,4 +24,9 @@ class Daerah extends Model
|
||||
* @var array
|
||||
*/
|
||||
// protected $hidden = [];
|
||||
}
|
||||
|
||||
public function negeri(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Negeri::class, 'kodnegeri', 'kodnegeri');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,12 @@ use Illuminate\Http\Request;
|
||||
|
||||
class DaerahController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$daerah = Daerah::on('mysql7')->with('negeri')->get();
|
||||
return response()->json($daerah);
|
||||
}
|
||||
|
||||
public function showOneDaerah($koddaerah)
|
||||
{
|
||||
$daerah = Daerah::on('mysql7')
|
||||
@@ -20,7 +26,7 @@ class DaerahController extends Controller
|
||||
$daerah = Daerah::on('mysql7')
|
||||
->where('kodnegeri','=',$kodnegeri)
|
||||
->get();
|
||||
|
||||
|
||||
return response()->json($daerah);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,22 +2,121 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Daerah;
|
||||
use App\Negeri;
|
||||
use App\Poskod;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Illuminate\Validation\ValidationException;
|
||||
|
||||
class PoskodController extends Controller
|
||||
{
|
||||
public function showAllPoskod(){
|
||||
$poskod = Poskod::on('mysql7')->get();
|
||||
|
||||
return response()->json($poskod);
|
||||
public function showAllPoskod()
|
||||
{
|
||||
$poskod = Poskod::on('mysql7')
|
||||
->with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah'])
|
||||
->when(request()->query_string, function ($q) {
|
||||
return $q
|
||||
->where('poskod', 'like', '%' . request()->query_string . '%')
|
||||
->orWhereHas('negeri', function ($b) {
|
||||
$b->where(DB::raw('lower(negeri)'), 'like', '%' . strtolower(request()->query_string) . '%');
|
||||
})
|
||||
->orWhereHas('daerah', function ($b) {
|
||||
$b->where(DB::raw('lower(namadaerah)'), 'like', '%' . strtolower(request()->query_string) . '%');
|
||||
});
|
||||
})
|
||||
->paginate(12);
|
||||
|
||||
return response()
|
||||
->json($poskod)
|
||||
->header('query_string', request()->query_string);
|
||||
}
|
||||
|
||||
public function showOnePoskod($poskod)
|
||||
{
|
||||
$poskod = Poskod::on('mysql7')
|
||||
->where('poskod','=',$poskod)
|
||||
->first();
|
||||
->with(['negeri:kodnegeri,negeri', 'daerah:koddaerah,namadaerah'])
|
||||
->where('poskod', '=', $poskod)
|
||||
->first();
|
||||
|
||||
return response()->json($poskod);
|
||||
}
|
||||
}
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
|
||||
try {
|
||||
$validated = $this->validate($request, [
|
||||
'poskod' => 'required|numeric|digits:5|unique:poskod,poskod',
|
||||
'koddaerah' => 'required|numeric',
|
||||
'kodnegeri' => 'required|numeric',
|
||||
]);
|
||||
} catch (ValidationException $e) {
|
||||
return response()->json($e, 403);
|
||||
}
|
||||
|
||||
$created_poskod = Poskod::create([
|
||||
'poskod' => $validated['poskod'],
|
||||
'koddaerah' => $validated['koddaerah'],
|
||||
'kodnegeri' => $validated['kodnegeri'],
|
||||
]);
|
||||
|
||||
return response()->json($created_poskod, 200);
|
||||
}
|
||||
|
||||
public function update(Request $request)
|
||||
{
|
||||
$poskod = Poskod::find($request->recno);
|
||||
|
||||
try {
|
||||
$validated = $this->validate($request, [
|
||||
'poskod' => 'required|numeric|digits:5|unique:poskod,poskod,' . $poskod->poskod . ',poskod',
|
||||
'koddaerah' => 'required|numeric',
|
||||
'kodnegeri' => 'required|numeric',
|
||||
]);
|
||||
} catch (ValidationException $e) {
|
||||
return response()->json($e, 403);
|
||||
}
|
||||
|
||||
$poskod->update([
|
||||
'poskod' => $validated['poskod'],
|
||||
'koddaerah' => $validated['koddaerah'],
|
||||
'kodnegeri' => $validated['kodnegeri'],
|
||||
]);
|
||||
|
||||
$poskod_changes = $poskod->getChanges();
|
||||
|
||||
$getProperChanges = function($poskod_changes){
|
||||
|
||||
$changes = [];
|
||||
|
||||
if(array_key_exists('poskod', $poskod_changes)){
|
||||
$poskod = $poskod_changes['poskod'];
|
||||
|
||||
array_push($changes, compact('poskod'));
|
||||
|
||||
}
|
||||
|
||||
if(array_key_exists('koddaerah', $poskod_changes)){
|
||||
$daerah = Daerah::where('koddaerah', '=', $poskod_changes['koddaerah'])->first()->namadaerah;
|
||||
|
||||
array_push($changes, compact('daerah'));
|
||||
|
||||
}
|
||||
|
||||
if(array_key_exists('kodnegeri', $poskod_changes)){
|
||||
$negeri = Negeri::where('kodnegeri', '=', $poskod_changes['kodnegeri'])->first()->negeri;
|
||||
|
||||
array_push($changes, compact('negeri'));
|
||||
}
|
||||
|
||||
return array_merge(...$changes);
|
||||
|
||||
};
|
||||
|
||||
$poskod_changes = $getProperChanges($poskod_changes);
|
||||
|
||||
return response()->json(compact('poskod', 'poskod_changes'), 200);
|
||||
}
|
||||
}
|
||||
|
||||
+57
-5
@@ -3,24 +3,76 @@
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||
use App\Audit;
|
||||
use Illuminate\Support\Carbon;
|
||||
|
||||
class Poskod extends Model
|
||||
{
|
||||
protected $table = 'poskod';
|
||||
protected $primaryKey = 'recno';
|
||||
public $timestamps = false;
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
// protected $fillable = [
|
||||
|
||||
// ];
|
||||
protected $fillable = ['poskod', 'koddaerah', 'kodnegeri'];
|
||||
|
||||
public static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
static::created(function (Poskod $poskod) use($current){
|
||||
|
||||
Audit::create([
|
||||
'users' => request()->all()['user']['name'],
|
||||
'actions' => 'Tambah poskod',
|
||||
'norujukan' => $poskod->recno,
|
||||
'new_data' => $poskod->toJson(),
|
||||
'old_data' => '',
|
||||
'kodcaw' => request()->all()['user']['cawangan'],
|
||||
'created_at' => $current,
|
||||
'updated_at' => $current,
|
||||
]);
|
||||
|
||||
});
|
||||
|
||||
|
||||
static::updated(function (Poskod $poskod) use($current) {
|
||||
|
||||
Audit::create([
|
||||
'users' => request()->all()['user']['name'],
|
||||
'actions' => 'Kemaskini poskod',
|
||||
'norujukan' => $poskod->recno,
|
||||
'new_data' => $poskod->toJson(),
|
||||
'old_data' => json_encode($poskod->getOriginal()),
|
||||
'kodcaw' => request()->all()['user']['cawangan'],
|
||||
'created_at' => $current,
|
||||
'updated_at' => $current,
|
||||
]);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
// protected $hidden = [];
|
||||
}
|
||||
// protected $hidden = [],
|
||||
|
||||
public function negeri(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Negeri::class, 'kodnegeri', 'kodnegeri');
|
||||
}
|
||||
|
||||
public function daerah(): BelongsTo
|
||||
{
|
||||
return $this->belongsTo(Daerah::class, 'koddaerah', 'koddaerah');
|
||||
}
|
||||
}
|
||||
|
||||
+5
-3
@@ -174,6 +174,8 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('cawangan/detail/{kodcaw}',['uses'=>'CawanganDetailController@getCawanganDetail']);
|
||||
|
||||
//Poskod API
|
||||
$router->post('poskod',['uses'=>'PoskodController@store']);
|
||||
$router->put('poskod/{poskod}/update',['uses'=>'PoskodController@update']);
|
||||
$router->get('poskod',['uses'=>'PoskodController@showAllPoskod']);
|
||||
$router->get('poskod/{poskod}',['uses'=>'PoskodController@showOnePoskod']);
|
||||
|
||||
@@ -182,6 +184,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('negeri/',['uses'=>'NegeriController@NegeriListAll']);
|
||||
|
||||
//Daerah API
|
||||
$router->get('daerah',['uses'=>'DaerahController@index']);
|
||||
$router->get('daerah/{koddaerah}',['uses'=>'DaerahController@showOneDaerah']);
|
||||
$router->get('daerahkodnegeri/{kodnegeri}',['uses'=>'DaerahController@showOneNegeri']);
|
||||
|
||||
@@ -345,7 +348,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->put('requestTeller/update/{kodcaw}',['uses' => 'TunaiController@updateRequestTeller']);
|
||||
$router->put('requestTeller/batal/{kodcaw}',['uses' => 'TunaiController@batalRequestTeller']);
|
||||
$router->get('requestTeller/checkproses',['uses'=>'TunaiController@CheckProsesReqTeller']);
|
||||
|
||||
|
||||
//API DENO PANJAR & DENO PEND-SERAHAN
|
||||
$router->post('requestdenopanjar/{kodcaw}',['uses' => 'PanjarController@createDenoPanjar']);
|
||||
$router->get('getdenopanjar/{kodcaw}',['uses' => 'PanjarController@getDenoPanjar']);
|
||||
@@ -729,7 +732,7 @@ $router->group(['prefix'=>'admin'], function () use ($router){
|
||||
$router->get('audit/keuntungansebenar',['uses'=>'AdminPageController@KeuntunganSebenarExport']);
|
||||
$router->get('laporan/aging',['uses'=>'AdminPageController@LaporanAging']);
|
||||
$router->get('dashboard/aging',['uses'=>'AdminPageController@DashboardAging']);
|
||||
|
||||
|
||||
$router->get('laporan/auditcustomer',['uses'=>'AdminPageController@laporanAuditCustomer']);
|
||||
$router->get('ig/keuntungansebenar',['uses'=>'AdminPageController@AkruKeuntunganSebenar']);
|
||||
$router->get('ig/pendapatanterakru',['uses'=>'TebusController@CalculationPendapatanTerakru']);
|
||||
@@ -763,4 +766,3 @@ $router->group(['prefix'=>'kelantanpay'], function () use ($router){
|
||||
$router->get('gadai/customer',['uses'=>'KelantanPayController@index']);
|
||||
$router->post('payment/gadai',['uses'=>'KelantanPayController@postPayment']);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user