Merge branch 'production' of https://bitbucket.org/arrahn-pkb/api_arrahn into annur-rebate
This commit is contained in:
+1
-1
@@ -13,7 +13,7 @@ class AddTunai extends Model
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['tarikh','kodcaw','kodlaluan','tambah','kurang','nota'];
|
||||
protected $fillable = ['tarikh','kodcaw','kodlaluan','tambah','kurang','nota','created_at'];
|
||||
|
||||
public $timestamps = false;
|
||||
/**
|
||||
|
||||
@@ -14,10 +14,12 @@ class AuditCustomer extends Model
|
||||
'username',
|
||||
'old_data',
|
||||
'new_data',
|
||||
'kodkerja',
|
||||
'nota_pekerjaan',
|
||||
'kodcaw',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
'customer_name',
|
||||
'customer_nokp',
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
@@ -60,6 +60,7 @@ class Customer extends Model
|
||||
'tagperingatan',
|
||||
'kumpulan',
|
||||
'telefon2',
|
||||
'nota_pekerjaan',
|
||||
'tagpelanggan'
|
||||
];
|
||||
|
||||
|
||||
+2
-1
@@ -72,7 +72,8 @@ class Gadai extends Model
|
||||
'upah12',
|
||||
'tagkomuditi',
|
||||
'tempohbayar',
|
||||
'lelong_tawarruq'
|
||||
'lelong_tawarruq',
|
||||
'tag_tebus'
|
||||
];
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,7 @@ use App\AddTunai;
|
||||
use App\TuntutBaki;
|
||||
use App\Advansur;
|
||||
use App\AkruNet;
|
||||
use App\AkruNetPecahan;
|
||||
use App\TransaksiKeuntungan;
|
||||
use App\Bajet;
|
||||
use App\BajetTahunan;
|
||||
@@ -3111,7 +3112,7 @@ class AdminPageController extends Controller
|
||||
}
|
||||
|
||||
public function AkruKeuntunganSebenar(Request $request){
|
||||
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
|
||||
$current = Carbon::now();
|
||||
@@ -3181,11 +3182,14 @@ class AdminPageController extends Controller
|
||||
|
||||
|
||||
// $total = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
|
||||
|
||||
|
||||
$lastDayPreviousMonth = $tarikh->subMonthsNoOverflow()->endOfMonth()->toDateString();
|
||||
|
||||
$get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first()->toArray();
|
||||
|
||||
if(Carbon::parse($lastDayPreviousMonth)->year == Carbon::now()->year){
|
||||
$get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first();
|
||||
$get_imbangduga = optional($get_imbangduga)->toArray() ?? [];
|
||||
}
|
||||
|
||||
$collection_trans = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function ($join) {
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
@@ -3224,7 +3228,9 @@ class AdminPageController extends Controller
|
||||
return $transaction->trans_type !== 'A';
|
||||
})->sum('keuntungan_rebet');
|
||||
|
||||
$total = $total_ansuran + $total_tebus + $get_imbangduga['keun_sebenar'];
|
||||
|
||||
$backdate_keun_sebenar = isset($get_imbangduga['keun_sebenar']) ? $get_imbangduga['keun_sebenar'] : 0;
|
||||
$total = $total_ansuran + $total_tebus + $backdate_keun_sebenar;
|
||||
|
||||
return response()->json($total);
|
||||
}
|
||||
@@ -3673,11 +3679,11 @@ class AdminPageController extends Controller
|
||||
|
||||
$keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran);
|
||||
|
||||
$previousYear = Carbon::now()->subYears(1);
|
||||
$previousYear = Carbon::parse($request->tarikh)->subYears();
|
||||
|
||||
$get_norujukan = Gadai::on($cawangan['mysql'])
|
||||
->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result")
|
||||
->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','>=','2022')->whereYear('t_gadai','<=',$previousYear)->where('sttebus','<>','')->pluck('norujukan');
|
||||
->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','>=','2022')->whereYear('t_gadai','<=','2023')->where('sttebus','<>','')->pluck('norujukan');
|
||||
|
||||
$sum_keun = Transaction::on('mysql7')
|
||||
->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) <> 'A' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
|
||||
@@ -3693,11 +3699,38 @@ class AdminPageController extends Controller
|
||||
|
||||
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran;
|
||||
|
||||
$backdate_keun_sebenar = 0;
|
||||
$recentDate = Carbon::now()->subYear();
|
||||
|
||||
while ($recentDate->year > 2023) {
|
||||
$exception_case = 0;
|
||||
$lastDayOfYear = $recentDate->endOfYear()->toDateString();
|
||||
|
||||
$get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh', $lastDayOfYear)->first();
|
||||
$get_imbangduga = optional($get_imbangduga)->toArray() ?? [];
|
||||
if(empty($get_imbangduga)){
|
||||
$requestData = new Request([
|
||||
'tarikh' => $request->tarikh,
|
||||
'kodcaw' => $kodcaw,
|
||||
]);
|
||||
$exception_case = $this->AkruKeuntunganSebenar($requestData);
|
||||
}
|
||||
|
||||
$backdate_keun_sebenar += isset($get_imbangduga['keun_sebenar']) ? $get_imbangduga['keun_sebenar'] : 0;
|
||||
$backdate_keun_sebenar += $exception_case;
|
||||
$recentDate->subYear()->startOfYear();
|
||||
}
|
||||
|
||||
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran + $backdate_keun_sebenar;
|
||||
|
||||
$available_akru = AkruNet::on($cawangan['mysql'])
|
||||
->where('tahun','<=',$previousYear->year)
|
||||
->sum('jumlah');
|
||||
|
||||
$total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru + $total_keuntungan_sebenar) + $parameter;
|
||||
$akru_ujrah = AkruNetPecahan::on($cawangan['mysql'])->where('tahun','<=',$previousYear->year)->sum('pend_akru_ujrah');
|
||||
$akru_1percent = AkruNetPecahan::on($cawangan['mysql'])->where('tahun','<=',$previousYear->year)->sum('pend_akru_1persen');
|
||||
|
||||
$total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru + $total_keuntungan_sebenar + $akru_ujrah + $akru_1percent) + $parameter;
|
||||
|
||||
if($kodcaw == '011229')
|
||||
$total -= 45390.37;
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Audit;
|
||||
use App\Marhun;
|
||||
use App\BankMaster;
|
||||
use App\Customer;
|
||||
@@ -49,7 +50,7 @@ class CustomerController extends Controller
|
||||
}
|
||||
|
||||
public function showOneCustomerByICAdmin(Request $request){
|
||||
|
||||
|
||||
$customer = Customer::on('mysql7')
|
||||
->where('kplama','=',$request->ic)
|
||||
->orWhere('kpbaru','=',$request->ic)
|
||||
@@ -111,7 +112,7 @@ class CustomerController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return response()->json($gadai_all);
|
||||
}
|
||||
|
||||
@@ -142,7 +143,7 @@ class CustomerController extends Controller
|
||||
}
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
|
||||
if($status == 'belum_tebus'){
|
||||
$gadai = Gadai::on($cawangan['mysql'])
|
||||
->where([['sttebus','=',$gadai_status],['nokp','=',$ic]])
|
||||
@@ -165,7 +166,7 @@ class CustomerController extends Controller
|
||||
$gadai[0]['datatuntut'] = $tuntutbaki;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return response()->json($gadai);
|
||||
}
|
||||
|
||||
@@ -202,7 +203,7 @@ class CustomerController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return response()->json($gadai_all);
|
||||
}
|
||||
|
||||
@@ -227,7 +228,7 @@ class CustomerController extends Controller
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $barang;
|
||||
}
|
||||
|
||||
@@ -259,10 +260,10 @@ class CustomerController extends Controller
|
||||
'tarikhgadai' => $gd->t_gadai,
|
||||
'hargajualan' => $gd->hargajualan,
|
||||
'bakihargajualan' => $gd->bakihargajualan,
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
));
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
));
|
||||
|
||||
}
|
||||
}
|
||||
elseif($gd->sttebus == 'T')
|
||||
{
|
||||
array_push($sttebus_T, array(
|
||||
@@ -270,22 +271,22 @@ class CustomerController extends Controller
|
||||
'pembiayaan' => number_format($gd->pinjaman,2),
|
||||
'tarikhgadai' => $gd->t_gadai,
|
||||
'hargajualan' => $gd->hargajualan,
|
||||
'bakihargajualan' => $gd->bakihargajualan,
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
'bakihargajualan' => $gd->bakihargajualan,
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
));
|
||||
}
|
||||
elseif($gd->sttebus == 'L')
|
||||
{
|
||||
{
|
||||
array_push($sttebus_L, array(
|
||||
'norujukan' => $gd->norujukan,
|
||||
'pembiayaan' => number_format($gd->pinjaman,2),
|
||||
'tarikhgadai' => $gd->t_gadai,
|
||||
'hargajualan' => $gd->hargajualan,
|
||||
'bakihargajualan' => $gd->bakihargajualan,
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
'bakihargajualan' => $gd->bakihargajualan,
|
||||
'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data',
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -308,7 +309,7 @@ class CustomerController extends Controller
|
||||
->where([['tarikhdaftar','=',$tarikh],['kodcaw',$kodcaw]])
|
||||
->orderBy('tarikhdaftar', 'desc')
|
||||
->get();
|
||||
|
||||
|
||||
return response()->json($gadai);
|
||||
}
|
||||
|
||||
@@ -344,6 +345,7 @@ class CustomerController extends Controller
|
||||
'nosiri'=>$request->nosiri,
|
||||
'nota'=>$request->nota,
|
||||
'kodkerja'=>$request->kodkerja,
|
||||
'nota_pekerjaan'=>$request->nota_pekerjaan,
|
||||
'tujuangadai'=>$request->tujuangadai
|
||||
]);
|
||||
|
||||
@@ -361,10 +363,12 @@ class CustomerController extends Controller
|
||||
'poskod' => $request->poskod,
|
||||
'koddaerah' => $poskod['koddaerah'],
|
||||
'kodnegeri' => $poskod['kodnegeri'],
|
||||
'kodkerja'=>$request->kodkerja,
|
||||
'nota_pekerjaan'=>$request->nota_pekerjaan,
|
||||
'telefon' => $request->telefon1,
|
||||
'telefon2' => $request->telefon2
|
||||
));
|
||||
|
||||
|
||||
return response()->json($customer_update, 200);
|
||||
}
|
||||
|
||||
@@ -376,7 +380,7 @@ class CustomerController extends Controller
|
||||
$poskod = Poskod::on('mysql7')->where('poskod','=',$request->poskod)->first();
|
||||
|
||||
$customer_info = DB::connection('mysql7')->table('customer')
|
||||
->select('kodcaw','tarikhdaftar','nopelanggan','kpbaru','kplama','nama','t_lahir','jantina','alamat1','poskod','telefon','telefon2')
|
||||
->select('kodcaw','kodkerja','nota_pekerjaan','tarikhdaftar','nopelanggan','kpbaru','kplama','nama','t_lahir','jantina','alamat1','poskod','telefon','telefon2')
|
||||
->where('kplama','=',$nokp)
|
||||
->orWhere('kpbaru','=',$nokp)
|
||||
->get()->toArray();
|
||||
@@ -391,6 +395,9 @@ class CustomerController extends Controller
|
||||
'telefon' => $request->telefon1,
|
||||
'telefon2' => $request->telefon2,
|
||||
'kodbank' => $request->kodbank,
|
||||
'kodkerja' => $request->kodkerja,
|
||||
// 'nota_pekerjaan' => $request->nota_pekerjaan,
|
||||
'nota_pekerjaan' => $request->kodkerja === '6' ? $request->nota_pekerjaan : null,
|
||||
'noakaun' => $request->noakaun,
|
||||
'nota' => $request->nota,
|
||||
'alamat1' => $request->alamat,
|
||||
@@ -402,13 +409,13 @@ class CustomerController extends Controller
|
||||
if($customer_update)
|
||||
{
|
||||
$customer_info_new = DB::connection('mysql7')->table('customer')
|
||||
->select('kodcaw','tarikhdaftar','nopelanggan','kpbaru','kplama','nama','t_lahir','jantina','alamat1','poskod','telefon','telefon2')
|
||||
->select('kodcaw','kodkerja','nota_pekerjaan','tarikhdaftar','nopelanggan','kpbaru','kplama','nama','t_lahir','jantina','alamat1','poskod','telefon','telefon2')
|
||||
->where('kplama','=',$nokp)
|
||||
->orWhere('kpbaru','=',$nokp)
|
||||
->get()->toArray();
|
||||
|
||||
$new_data = json_encode($customer_info_new);
|
||||
|
||||
|
||||
$audit_customer = DB::connection('mysql7')
|
||||
->table('audit_customer')
|
||||
->insert([
|
||||
@@ -431,11 +438,11 @@ class CustomerController extends Controller
|
||||
DB::connection('mysql7')->rollback();
|
||||
return response()->json($e->getMessage(),400);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function customerUpdateKhazanah($nokp,Request $request){
|
||||
|
||||
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
try{
|
||||
@@ -457,6 +464,8 @@ class CustomerController extends Controller
|
||||
'telefon' => $request->telefon1,
|
||||
'telefon2' => $request->telefon2,
|
||||
'kodbank' => $request->kodbank,
|
||||
'kodkerja' => $request->kodkerja,
|
||||
'nota_pekerjaan' => $request->nota_pekerjaan,
|
||||
'noakaun' => $request->noakaun,
|
||||
'nota' => $request->nota,
|
||||
'nama' => $request->nama,
|
||||
@@ -476,7 +485,7 @@ class CustomerController extends Controller
|
||||
->get()->toArray();
|
||||
|
||||
$new_data = json_encode($customer_info_new);
|
||||
|
||||
|
||||
$audit_customer = DB::connection('mysql7')
|
||||
->table('audit_customer')
|
||||
->insert([
|
||||
@@ -490,7 +499,7 @@ class CustomerController extends Controller
|
||||
'customer_nokp' => $nokp,
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
@@ -500,8 +509,8 @@ class CustomerController extends Controller
|
||||
DB::connection('mysql7')->rollback();
|
||||
return response()->json($e->getMessage(),400);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function customerUpdateAdmin(Request $request){
|
||||
@@ -521,12 +530,12 @@ class CustomerController extends Controller
|
||||
'nokp'=>$request->icno
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$data_asal = $customer_update = Customer::on('mysql7')
|
||||
->where('kplama','=',$request->ic_asal)
|
||||
->orWhere('kpbaru','=',$request->ic_asal)
|
||||
->first();
|
||||
|
||||
|
||||
if($data_asal['kpbaru'] != null){
|
||||
$customer_update = Customer::on('mysql7')
|
||||
->where('kplama','=',$request->ic_asal)
|
||||
@@ -601,7 +610,7 @@ class CustomerController extends Controller
|
||||
return response()->json($array_norujukan);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function countNorujukanMobile($nokp){
|
||||
$cawangan_all = Cawangan::on('mysql7')->get();
|
||||
$bilangan_sag = 0;
|
||||
@@ -615,7 +624,7 @@ class CustomerController extends Controller
|
||||
|
||||
public function getGadaiDetailMobile(Request $request)
|
||||
{
|
||||
$array_norujukan = $request->norujukan;
|
||||
$array_norujukan = $request->norujukan;
|
||||
$array_kodcaw = $request->kodcaw;
|
||||
$array_gadai = [];
|
||||
$gadai_payment = [];
|
||||
@@ -660,7 +669,7 @@ class CustomerController extends Controller
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
}
|
||||
|
||||
|
||||
public function akaunBankMobile($nokp)
|
||||
{
|
||||
$customer_detail = [];
|
||||
@@ -672,7 +681,7 @@ class CustomerController extends Controller
|
||||
->where('kplama','=',$nokp)
|
||||
->orWhere('kpbaru','=',$nokp)
|
||||
->rightJoin('online_arrahn.bank', 'bank.id', '=', 'customer.kodbank')
|
||||
->first();
|
||||
->first();
|
||||
|
||||
if(!empty($customer))
|
||||
{
|
||||
@@ -680,14 +689,14 @@ class CustomerController extends Controller
|
||||
$customer_detail['namabank'] = $customer['name'];
|
||||
$customer_detail['kodbank'] = $customer['id'];
|
||||
return response()->json($customer_detail);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return $customer_detail;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function bankListMobile()
|
||||
{
|
||||
$bank_array = [];
|
||||
@@ -702,32 +711,32 @@ class CustomerController extends Controller
|
||||
{
|
||||
array_push($bank_array, array(
|
||||
'kodbank' => $banklist->id,
|
||||
'namabank' => $banklist->name,
|
||||
));
|
||||
'namabank' => $banklist->name,
|
||||
));
|
||||
}
|
||||
return response()->json($bank_array);
|
||||
}
|
||||
else
|
||||
{
|
||||
return response()->json('Data Not Found');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function insertAkaunBankMobile(Request $request)
|
||||
{
|
||||
$customer = Customer::on('mysql7')
|
||||
$customer = Customer::on('mysql7')
|
||||
->where('kplama','=',$request->nokp)
|
||||
->orWhere('kpbaru','=',$request->nokp)
|
||||
->first();
|
||||
|
||||
if(!empty($customer))
|
||||
{
|
||||
{
|
||||
$customer->kodbank = $request->kodbank;
|
||||
$customer->noakaun = $request->noakaun;
|
||||
$customer->save();
|
||||
$customer->save();
|
||||
}
|
||||
|
||||
|
||||
return response()->json($customer, 200);
|
||||
}
|
||||
|
||||
@@ -761,7 +770,7 @@ class CustomerController extends Controller
|
||||
}
|
||||
|
||||
public function blacklistCustomer(Request $request){
|
||||
|
||||
|
||||
$blacklist = Blacklist::where('nokp',$request->nokp)->first();
|
||||
|
||||
return response()->json($blacklist);
|
||||
@@ -778,8 +787,8 @@ class CustomerController extends Controller
|
||||
->select('kodcaw')
|
||||
->where('nokp', '=', $ic)
|
||||
->first();
|
||||
|
||||
if($customer)
|
||||
|
||||
if($customer)
|
||||
array_push($custcawangan,['kodcaw' => $customer['kodcaw'], 'namacawangan' => $cawangan['details_caw']]);
|
||||
}
|
||||
|
||||
@@ -805,9 +814,9 @@ class CustomerController extends Controller
|
||||
return response()->json($dataCustomer);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function AdminsearchCustomerByName(Request $request)
|
||||
{
|
||||
{
|
||||
$nama = strtoupper($request->nama);
|
||||
|
||||
if(empty($nama))
|
||||
@@ -821,12 +830,12 @@ class CustomerController extends Controller
|
||||
->take(3)
|
||||
->get();
|
||||
}
|
||||
|
||||
|
||||
return response()->json($customer);
|
||||
}
|
||||
|
||||
public function AdminsearchCustomerByIC(Request $request)
|
||||
{
|
||||
{
|
||||
if(isset($request->kodcaw))
|
||||
{
|
||||
$customer = Customer::on('mysql7')
|
||||
@@ -841,8 +850,87 @@ class CustomerController extends Controller
|
||||
->take(3)
|
||||
->get();
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($customer);
|
||||
}
|
||||
|
||||
public function changepassword(Request $request, $kodcaw, $id) {
|
||||
|
||||
$current = Carbon::now();
|
||||
// log::info ($request->name);
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->nama;
|
||||
$audit->actions = "Tukar Kata Laluan";
|
||||
// $audit->new_data = json_encode($request->new_password);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
}
|
||||
|
||||
public function TukarCawangan(Request $request, $kodcaw)
|
||||
{
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
// Log::info('dalam tukar taraf');
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->namaoperasi;
|
||||
$audit->actions = "Tukar Cawangan";
|
||||
$audit->old_data = json_encode($request->old_data);
|
||||
$audit->new_data = json_encode($request->new_data);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return json_encode(['status'=> 'success']);
|
||||
|
||||
}
|
||||
|
||||
public function kakitangan(Request $request, $kodcaw)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
|
||||
// Log::info('pegesahan kakitangan');
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->namaoperasi;
|
||||
$audit->actions = "pengesahan kakitangan";
|
||||
$audit->old_data = json_encode($request->old_data);
|
||||
$audit->new_data = json_encode($request->new_data);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return json_encode(['status'=> 'success']);
|
||||
|
||||
}
|
||||
|
||||
public function TukarTaraf(Request $request, $kodcaw)
|
||||
{
|
||||
|
||||
// return json_encode(['test'=> 'taraf']);
|
||||
//setiap request perlu htr something
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
|
||||
// Log::info('dalam tukar taraf');
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->namaoperasi;
|
||||
$audit->actions = "Tukar Taraf";
|
||||
$audit->old_data = json_encode($request->old_data);
|
||||
$audit->new_data = json_encode($request->new_data);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return json_encode(['status'=> 'success']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,12 +5,49 @@ namespace App\Http\Controllers;
|
||||
use App\CawanganDetail;
|
||||
use App\Cawangan;
|
||||
use App\Denominasi;
|
||||
use App\Services\CashFlow\TellerServices;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Services\Miscellaneous\PanjarServices;
|
||||
use Log;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class DenominasiController extends Controller
|
||||
{
|
||||
public function cashdeposit($kodcaw,Request $request){
|
||||
$teller = new TellerServices($kodcaw);
|
||||
$response = $teller->CashDeposit($request);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function cashwithdraw($kodcaw,Request $request){
|
||||
$teller = new TellerServices($kodcaw);
|
||||
$response = $teller->CashWithdrawals($request);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function createpanjar($kodcaw,Request $request){
|
||||
$teller = new PanjarServices($kodcaw);
|
||||
$response = $teller->create($request);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function deletepanjar($kodcaw,Request $request){
|
||||
$teller = new PanjarServices($kodcaw);
|
||||
$response = $teller->delete($request);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getPerubatanAmount($kodcaw,Request $request){
|
||||
$teller = new PanjarServices($kodcaw);
|
||||
$response = $teller->getPerubatanAmount($request->tuntutoleh);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function listdenominasi($kodcaw)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
|
||||
@@ -35,7 +35,7 @@ use Illuminate\Http\Request;
|
||||
use App\Services\MasterServices;
|
||||
use App\Support\OnePercent;
|
||||
use App\Services\Transaction\AnsuranServices as AnsServ;
|
||||
use Log;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
@@ -49,10 +49,16 @@ class GadaiController extends Controller
|
||||
}
|
||||
|
||||
public function gadaiTransactionByCawanganAndDay($cawangan_code,$date){
|
||||
try{
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$cawangan_code)->first();
|
||||
|
||||
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$date)->orderBy('sirig', 'desc')->first();
|
||||
|
||||
}catch(\Exception $e){
|
||||
Log::debug($e);
|
||||
Log::debug($cawangan_code);
|
||||
return response()->json('error');
|
||||
}
|
||||
return response()->json($gadaiTransaction);
|
||||
}
|
||||
|
||||
@@ -132,7 +138,7 @@ class GadaiController extends Controller
|
||||
}
|
||||
|
||||
public function create($kodcaw,Request $request){
|
||||
|
||||
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->createGadai($request);
|
||||
|
||||
@@ -356,8 +362,8 @@ class GadaiController extends Controller
|
||||
|
||||
// $old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
$old_data = Gadai::on($cawangan['mysql'])->where([['norujukan','=',$norujukan],['pinjaman','=','NULL']])->orWhere([['norujukan','=',$norujukan],['pinjaman','=',0.00]])->first();
|
||||
|
||||
|
||||
|
||||
|
||||
if($old_data){
|
||||
Gadai::on($cawangan['mysql'])->where([['norujukan','=',$norujukan],['pinjaman','=','NULL']])->delete();
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
@@ -392,6 +398,8 @@ class GadaiController extends Controller
|
||||
}
|
||||
|
||||
public function cetakSAG($kodcaw,$norujukan,Request $request){
|
||||
$harini = Carbon::now();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$gadai = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
@@ -400,6 +408,16 @@ class GadaiController extends Controller
|
||||
'penilai' => $request->penilai
|
||||
));
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = isset($request->penilai) ? $request->penilai : '';
|
||||
$audit->actions = "Cetak SAG";
|
||||
$audit->norujukan = $request->norujukan;
|
||||
// $audit->new_data = $request->norujukan;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($gadai,200);
|
||||
}
|
||||
|
||||
@@ -582,7 +600,7 @@ class GadaiController extends Controller
|
||||
"ujrah"=> $gadaiData['ujrah'],
|
||||
"onepercent"=> $gadaiData['onepercent'],
|
||||
"tagbaru"=> $gadaiData['tagbaru']
|
||||
|
||||
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -1073,14 +1091,14 @@ class GadaiController extends Controller
|
||||
$onepercentonline = $ansuransonline->sum('trans.onepercent');
|
||||
|
||||
$arrayansuran = [
|
||||
'totalpendahuluankaunter' => $pendahuluankaunter,
|
||||
'totalkeuntungankaunter' => $keuntungankaunter,
|
||||
'totalpendahuluankaunter' => $pendahuluankaunter,
|
||||
'totalkeuntungankaunter' => $keuntungankaunter,
|
||||
'bilangankaunter' => $bilangankaunter,
|
||||
'totalujrahkaunter' => $ujrahkaunter,
|
||||
'totalonepercentkaunter' => $onepercentkaunter,
|
||||
|
||||
'totalpendahuluanonline' => $pendahuluanonline,
|
||||
'totalkeuntunganonline' => $keuntunganonline,
|
||||
'totalpendahuluanonline' => $pendahuluanonline,
|
||||
'totalkeuntunganonline' => $keuntunganonline,
|
||||
'bilanganonline' => $bilanganonline,
|
||||
'totalujrahonline' => $ujrahonline,
|
||||
'totalonepercentonline' => $onepercentonline
|
||||
@@ -1132,14 +1150,14 @@ class GadaiController extends Controller
|
||||
$onepercentonline = $ansuransonline->sum('trans.onepercent');
|
||||
|
||||
$arrayansuran = [
|
||||
'totalpendahuluankaunter' => $pendahuluankaunter,
|
||||
'totalkeuntungankaunter' => $keuntungankaunter,
|
||||
'totalpendahuluankaunter' => $pendahuluankaunter,
|
||||
'totalkeuntungankaunter' => $keuntungankaunter,
|
||||
'bilangankaunter' => $bilangankaunter,
|
||||
'totalujrahkaunter' => $ujrahkaunter,
|
||||
'totalonepercentkaunter' => $onepercentkaunter,
|
||||
|
||||
'totalpendahuluanonline' => $pendahuluanonline,
|
||||
'totalkeuntunganonline' => $keuntunganonline,
|
||||
'totalpendahuluanonline' => $pendahuluanonline,
|
||||
'totalkeuntunganonline' => $keuntunganonline,
|
||||
'bilanganonline' => $bilanganonline,
|
||||
'totalujrahonline' => $ujrahonline,
|
||||
'totalonepercentonline' => $onepercentonline,
|
||||
@@ -2017,159 +2035,188 @@ class GadaiController extends Controller
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
|
||||
if($gadai[0]['historygadaian'] != "0" && $gadai[0]['historygadaian'] != '')
|
||||
{
|
||||
|
||||
if($tebus['tagterima'] == 1)
|
||||
try{
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
if($gadai[0]['historygadaian'] != "0" && $gadai[0]['historygadaian'] != '')
|
||||
{
|
||||
if($tebus['jenistebus'] == 'P')
|
||||
|
||||
if($tebus['tagterima'] == 1)
|
||||
{
|
||||
if($tebus['jenistebus'] == 'P')
|
||||
{
|
||||
|
||||
$totalkeluar = $keluar - ($tebus['addpinjaman'] + $tebus['pinjaman']);
|
||||
$totalmasuk = $masuk - ($tebus['bakiupah'] + $tebus['pinjaman']);
|
||||
$totalkeluar = $keluar - ($tebus['addpinjaman'] + $tebus['pinjaman']);
|
||||
$totalmasuk = $masuk - ($tebus['bakiupah'] + $tebus['pinjaman']);
|
||||
|
||||
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
$bakiakhir = $baki - $tebus['bakiupah'] + $tebus['addpinjaman'];
|
||||
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
$bakiakhir = $baki - $tebus['bakiupah'] + $tebus['addpinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
|
||||
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
|
||||
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
|
||||
if($tebus['jenistebus'] == 'S')
|
||||
$bakiakhir = $baki - $tebus['bakipjm'];
|
||||
else
|
||||
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
}
|
||||
}else{
|
||||
|
||||
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
|
||||
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
|
||||
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
$bakiakhir = $baki;
|
||||
|
||||
if($tebus['jenistebus'] == 'S')
|
||||
$bakiakhir = $baki - $tebus['bakipjm'];
|
||||
else
|
||||
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
if($tebus['jenistebus'] == 'P')
|
||||
{
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
$bakiakhir = $bakiakhir - $tebus['bakiupah'] + $tebus['addpinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
}else{
|
||||
|
||||
$totalmasuk = $masuk;
|
||||
$totalkeluar = $keluar;
|
||||
|
||||
if($tebus['jenistebus'] == 'S')
|
||||
$bakiakhir = ($bakiakhir - $tebus['bakipjm']);
|
||||
else
|
||||
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}else{
|
||||
|
||||
$bakiakhir = $baki;
|
||||
|
||||
if($tebus['jenistebus'] == 'P')
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->update(['sttebus' => '']);
|
||||
|
||||
|
||||
$saved_historygadaian = $gadai[0]['historygadaian'];
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Transaction::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->delete();
|
||||
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
$gadaiDouble = Gadai::on($cawangan['mysql'])->where([['historygadaian',$gadai[0]['historygadaian']],['norujukan','<>',$gadai[0]['historygadaian']]])->pluck('norujukan');
|
||||
|
||||
if($gadaiDouble){
|
||||
|
||||
$isGadaianTawarruq = $saved_historygadaian !== '0' || $saved_historygadaian !== null || $saved_historygadaian !== '';
|
||||
if($isGadaianTawarruq){
|
||||
|
||||
$this->batalKomuditiTawarruq($norujukan);
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
|
||||
} else {
|
||||
|
||||
Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
|
||||
Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
|
||||
$this->batalKomuditi($gadai[0]['historygadaian'],$cawangan['mysql']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// return response('Deleted Successfully', 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if($gadai[0]['semakbarcode'] == 'Lulus')
|
||||
{
|
||||
$totalkeluar = $keluar - $gadai[0]['pinjaman'];
|
||||
|
||||
$bakiakhir = $bakiakhir - $tebus['bakiupah'] + $tebus['addpinjaman'];
|
||||
$bakiakhir = $baki;
|
||||
|
||||
$bakiakhir += $gadai[0]['pinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
}else{
|
||||
|
||||
$totalmasuk = $masuk;
|
||||
$totalkeluar = $keluar;
|
||||
$bakiakhir = $baki;
|
||||
|
||||
if($tebus['jenistebus'] == 'S')
|
||||
$bakiakhir = ($bakiakhir - $tebus['bakipjm']);
|
||||
else
|
||||
$bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
|
||||
$bakiakhir += $gadai[0]['pinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
// return response('Deleted Successfully', 200);
|
||||
}
|
||||
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
];
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->update(['sttebus' => '']);
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return response()->json($array_response);
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
|
||||
$saved_historygadaian = $gadai[0]['historygadaian'];
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Transaction::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->delete();
|
||||
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
$gadaiDouble = Gadai::on($cawangan['mysql'])->where([['historygadaian',$gadai[0]['historygadaian']],['norujukan','<>',$gadai[0]['historygadaian']]])->pluck('norujukan');
|
||||
|
||||
if($gadaiDouble){
|
||||
|
||||
$isGadaianTawarruq = $saved_historygadaian !== '0' || $saved_historygadaian !== null || $saved_historygadaian !== '';
|
||||
if($isGadaianTawarruq){
|
||||
|
||||
$this->batalKomuditiTawarruq($norujukan);
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan', $norujukan)->delete();
|
||||
} else {
|
||||
|
||||
Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
|
||||
Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
|
||||
$this->batalKomuditi($gadai[0]['historygadaian'],$cawangan['mysql']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if($gadai[0]['semakbarcode'] == 'Lulus')
|
||||
{
|
||||
$totalkeluar = $keluar - $gadai[0]['pinjaman'];
|
||||
|
||||
$bakiakhir = $baki;
|
||||
|
||||
$bakiakhir += $gadai[0]['pinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $totalkeluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
}else{
|
||||
|
||||
$bakiakhir = $baki;
|
||||
|
||||
$bakiakhir += $gadai[0]['pinjaman'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
}
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
Log::error('Transaction failed', [
|
||||
'exception' => $e->getMessage(),
|
||||
'line' => $e->getLine(),
|
||||
'file' => $e->getFile(),
|
||||
]);
|
||||
|
||||
return response()->json($array_response);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2202,6 +2249,7 @@ class GadaiController extends Controller
|
||||
|
||||
$transaksi_asal = KomuditiTransaksi::on('mysql7')->whereIn('norujukan','=',$gadaiDouble)->sum('unit_komuditi');
|
||||
|
||||
$unit_current = $komuditi_current['unit_komuditi'];
|
||||
|
||||
$update_unit = $unit_current + $transaksi_asal['unit_komuditi'];
|
||||
|
||||
@@ -2239,82 +2287,109 @@ class GadaiController extends Controller
|
||||
$bakiakhir = $baki;
|
||||
$totalkeluar = 0;
|
||||
|
||||
if($gadai){
|
||||
return response('Bukan-Tebus', 200);
|
||||
}else{
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->kodlaluan;
|
||||
$audit->actions = 'Hapus Tebus';
|
||||
$audit->norujukan = $norujukan;
|
||||
$audit->old_data = $gadai;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
if($tebus[0]['tagterima'] == 1)
|
||||
{
|
||||
if($tebus[0]['jenistebus'] == 'T')
|
||||
{
|
||||
$totalmasuk = $masuk - $tebus[0]['bakipjm'];
|
||||
|
||||
// $bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
|
||||
$bakiakhir = $baki - $tebus[0]['bakipjm'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
}
|
||||
else
|
||||
return response('Bukan-Tebus', 200);
|
||||
try{
|
||||
if($gadai){
|
||||
return response('Bukan-Tebus', 200);
|
||||
}else{
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
if($tebus[0]['jenistebus'] == 'T')
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->kodlaluan;
|
||||
$audit->actions = 'Hapus Tebus';
|
||||
$audit->norujukan = $norujukan;
|
||||
$audit->old_data = $gadai;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
if($tebus[0]['tagterima'] == 1)
|
||||
{
|
||||
if($tebus[0]['jenistebus'] == 'T')
|
||||
{
|
||||
$totalmasuk = $masuk - $tebus[0]['bakipjm'];
|
||||
|
||||
$bakiakhir = $bakiakhir - $tebus[0]['bakipjm'];
|
||||
// $bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
|
||||
$bakiakhir = $baki - $tebus[0]['bakipjm'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $totalmasuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
|
||||
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
}
|
||||
else
|
||||
return response('Bukan-Tebus', 200);
|
||||
}else{
|
||||
|
||||
if($tebus[0]['jenistebus'] == 'T')
|
||||
{
|
||||
|
||||
$bakiakhir = $bakiakhir - $tebus[0]['bakipjm'];
|
||||
|
||||
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
|
||||
update(array(
|
||||
'keluar' => $keluar,
|
||||
'masuk' => $masuk,
|
||||
'baki' => $bakiakhir
|
||||
));
|
||||
|
||||
|
||||
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
InOutMar::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
|
||||
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
|
||||
|
||||
return response('Deleted Successfully', 200);
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
return response('Deleted Successfully', 200);
|
||||
}
|
||||
else
|
||||
return response('Bukan-Tebus', 200);
|
||||
}
|
||||
else
|
||||
return response('Bukan-Tebus', 200);
|
||||
}
|
||||
|
||||
return response()->json($array_response);
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
|
||||
Log::error('Transaction failed', [
|
||||
'exception' => $e->getMessage(),
|
||||
'line' => $e->getLine(),
|
||||
'file' => $e->getFile(),
|
||||
]);
|
||||
|
||||
return response()->json($array_response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function senaraiLelong($kodcaw,Request $request){
|
||||
@@ -3007,7 +3082,7 @@ class GadaiController extends Controller
|
||||
->where('trans.trans_type','=','A')
|
||||
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
|
||||
->get();
|
||||
|
||||
|
||||
$transaksi = 0;
|
||||
if($transaksi_data){
|
||||
foreach($transaksi_data as $index=>$transaksiData){
|
||||
@@ -3083,6 +3158,51 @@ class GadaiController extends Controller
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
if($request->kodcaw == 'GC'){
|
||||
$transaksi_data = [];
|
||||
TransaksiKeuntungan::on('mysql7')
|
||||
->where('tarikh_bayaran', '<=', $daterequest)
|
||||
->where('kodcaw', $request->kodcaw)
|
||||
->chunk(1000, function ($transactions) use (&$transaksi_data) {
|
||||
$transaksi_data = array_merge($transaksi_data, $transactions->pluck('norujukan')->toArray());
|
||||
});
|
||||
|
||||
$gadaiData = [];
|
||||
$chunkedTransaksiData = array_chunk($transaksi_data, 1000);
|
||||
|
||||
foreach ($chunkedTransaksiData as $chunk) {
|
||||
Gadai::on($cawangan['mysql'])
|
||||
->whereIn('norujukan', $chunk)
|
||||
->where(function ($query) use ($request) {
|
||||
$query->where([
|
||||
['sttebus', '=', ''],
|
||||
['hargajualan', '<>', null]
|
||||
])
|
||||
->orWhere([
|
||||
['sttebus', '!=', ''],
|
||||
['t_update', '>', $request->tarikh],
|
||||
['hargajualan', '<>', null]
|
||||
]);
|
||||
})
|
||||
->orderBy('norujukan')
|
||||
->chunk(1000, function ($gadaiChunk) use (&$gadaiData) {
|
||||
$gadaiData = array_merge($gadaiData, $gadaiChunk->pluck('norujukan')->toArray());
|
||||
});
|
||||
}
|
||||
|
||||
$totalPembiayaan = 0;
|
||||
$chunkedGadaiData = array_chunk($gadaiData, 1000);
|
||||
|
||||
foreach ($chunkedGadaiData as $chunk) {
|
||||
$totalPembiayaan += TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('norujukan', $chunk)
|
||||
->where('tarikh_bayaran', '<=', $daterequest)
|
||||
->sum('bayaran_pembiayaan');
|
||||
}
|
||||
|
||||
return response($totalPembiayaan);
|
||||
}
|
||||
|
||||
$transaksi_data = TransaksiKeuntungan::on('mysql7')
|
||||
->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
->where('kodcaw',$request->kodcaw)
|
||||
@@ -3278,7 +3398,7 @@ class GadaiController extends Controller
|
||||
|
||||
$audit = Gadai::on($cawangan['mysql'])
|
||||
->where([['tagpalsu','=',1],['t_gadai','<=',$request->tarikh],['sttebus','=','']])
|
||||
->orWhere([['tagpalsu','=',1],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
||||
->orWhere([['tagpalsu','=',1],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
||||
->orderBy('t_gadai', 'ASC')
|
||||
->orderBy('sirig', 'ASC');
|
||||
|
||||
@@ -3647,7 +3767,7 @@ class GadaiController extends Controller
|
||||
public function getKadarUjrah(Request $request){
|
||||
$onePercentServices = new Onepercent($request->kodcaw);
|
||||
$kadarujrah = $onePercentServices->getKadarUjrah($request);
|
||||
|
||||
|
||||
return $kadarujrah;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Audit;
|
||||
use App\Mohon;
|
||||
use App\Cawangan;
|
||||
use App\Mohonid;
|
||||
@@ -34,13 +36,22 @@ class KelulusanController extends Controller
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
|
||||
|
||||
$kelulusan=Mohon::on($cawangan['mysql'])
|
||||
->where('tarikh','=',$harini->toDateString())
|
||||
->where('norujukan','=',$norujukan)
|
||||
->where('masalulus','<>','')
|
||||
->get();
|
||||
|
||||
|
||||
// $audit = new Audit();
|
||||
// $audit->users = $request->teller;
|
||||
// $audit->actions = "test";
|
||||
// $audit->new_data = $kelulusan;
|
||||
// $audit->kodcaw = $kodcaw;
|
||||
// $audit->created_at = $harini;
|
||||
// $audit->updated_at = $harini;
|
||||
// $audit->save();
|
||||
|
||||
return response()->json($kelulusan);
|
||||
}
|
||||
|
||||
@@ -52,13 +63,13 @@ class KelulusanController extends Controller
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
|
||||
|
||||
$kelulusan=Mohon::on($cawangan['mysql'])
|
||||
->where('tarikh','=',$harini->toDateString())
|
||||
->where('norujukan','=',$norujukan)
|
||||
->orderBy('siri','desc')
|
||||
->first();
|
||||
|
||||
|
||||
return response()->json($kelulusan);
|
||||
}
|
||||
|
||||
@@ -116,7 +127,7 @@ class KelulusanController extends Controller
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else if($pengesahan == 'operasi')
|
||||
{
|
||||
@@ -128,9 +139,9 @@ class KelulusanController extends Controller
|
||||
->where('siri','=',$request->siri)
|
||||
->update(array(
|
||||
'pelulus' => 'operasi',
|
||||
'khazanah' => $request->namakhazanah
|
||||
'khazanah' => $request->namakhazanah
|
||||
|
||||
));
|
||||
));
|
||||
|
||||
}
|
||||
else
|
||||
@@ -143,8 +154,17 @@ class KelulusanController extends Controller
|
||||
'pelulus' => 'operasi',
|
||||
'masalulus' => 'batal',
|
||||
'khazanah' => $request->namakhazanah
|
||||
));
|
||||
));
|
||||
}
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = (isset($request->namaoperasi) ? $request->namaoperasi : '');
|
||||
$audit->actions = "pengesahan kelulusan 75%";
|
||||
$audit->new_data = json_encode($kelulusan);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
}
|
||||
|
||||
if($request->sahkan === 1)
|
||||
@@ -157,7 +177,7 @@ class KelulusanController extends Controller
|
||||
'pelulus' => 'dahlulus',
|
||||
'operasi' => $request->namaoperasi,
|
||||
'masalulus'=> $harini->toTimeString()
|
||||
));
|
||||
));
|
||||
}else if($request->sahkan === 2){
|
||||
$kelulusan=Mohon::on($cawangan['mysql'])
|
||||
->where('tarikh','=',$harini->toDateString())
|
||||
@@ -167,9 +187,17 @@ class KelulusanController extends Controller
|
||||
'pelulus' => 'dahlulus',
|
||||
'operasi' => $request->namaoperasi,
|
||||
'masalulus'=> 'batal'
|
||||
));
|
||||
));
|
||||
}
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = (isset($request->namakhazanah) ? $request->namakhazanah : '');
|
||||
$audit->actions = "Pengesahan Kelulusan 75%";
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($kelulusan,201);
|
||||
}
|
||||
|
||||
@@ -186,24 +214,23 @@ class KelulusanController extends Controller
|
||||
->where('siri','=',$request->siri)
|
||||
->update(array(
|
||||
'komen' => $request->komen
|
||||
));
|
||||
|
||||
return response()->json($kelulusan,201);
|
||||
|
||||
));
|
||||
|
||||
return response()->json($kelulusan,201);
|
||||
|
||||
}
|
||||
|
||||
public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
public function create(REQUEST $request,$kodcaw,$norujukan,$roles)
|
||||
{
|
||||
$harini = Carbon::now();
|
||||
$harini = new Carbon;
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
if($roles == "khazanah")
|
||||
{
|
||||
$kelulusan=Mohon::on($cawangan['mysql'])
|
||||
->create([
|
||||
|
||||
->create([
|
||||
|
||||
'tarikh'=> $harini->toDateString(),
|
||||
'norujukan'=> $norujukan,
|
||||
'siri' => $request->siri,
|
||||
@@ -218,15 +245,15 @@ class KelulusanController extends Controller
|
||||
'teller' => $request->teller,
|
||||
'pelulus' => ($request->pelulus) ? $request->pelulus : ''
|
||||
|
||||
|
||||
|
||||
|
||||
]);
|
||||
}
|
||||
else if($roles == "operasi")
|
||||
{
|
||||
$kelulusan=Mohon::on($cawangan['mysql'])
|
||||
->create([
|
||||
|
||||
->create([
|
||||
|
||||
'tarikh'=> $harini->toDateString(),
|
||||
'norujukan'=> $norujukan,
|
||||
'siri' => $request->siri,
|
||||
@@ -244,7 +271,15 @@ class KelulusanController extends Controller
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = (isset($request->teller) ? $request->teller : '');
|
||||
$audit->actions = "Minta Pengesahan kelulusan 75%";
|
||||
$audit->new_data = json_encode($kelulusan);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($kelulusan);
|
||||
}
|
||||
@@ -259,7 +294,7 @@ class KelulusanController extends Controller
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$mohonid=Mohonid::on($cawangan['mysql'])
|
||||
->create([
|
||||
->create([
|
||||
'tarikh'=> $harini->toDateString(),
|
||||
'mohon' => $request->mohon,
|
||||
'norujukan' => $norujukan,
|
||||
@@ -355,7 +390,7 @@ class KelulusanController extends Controller
|
||||
if(sizeof($kelulusan) != 0){
|
||||
array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return response()->json($arraykelulusan,200);
|
||||
}
|
||||
@@ -377,7 +412,7 @@ class KelulusanController extends Controller
|
||||
if(sizeof($kelulusan) != 0){
|
||||
array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return response()->json($arraykelulusan,200);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Audit;
|
||||
use App\Komuditi;
|
||||
use App\KomuditiPurchase;
|
||||
use App\KomuditiTransaksi;
|
||||
@@ -41,7 +42,6 @@ class KomuditiController extends Controller
|
||||
|
||||
public function beliKomuditi(Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$komuditi_purchase = KomuditiPurchase::on('mysql7')->create([
|
||||
'unit_komuditi' => $request->unit_komuditi,
|
||||
@@ -64,12 +64,20 @@ class KomuditiController extends Controller
|
||||
'harga'=> $request->nilai
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->purchased_by;
|
||||
$audit->actions = "pembelian komuditi";
|
||||
$audit->new_data = $komuditi_purchase;
|
||||
$audit->kodcaw = $request->kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($komuditi_purchase);
|
||||
}
|
||||
|
||||
public function jualKomuditi(Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$komuditi_asal = KomuditiPurchase::on('mysql7')->where('no_sijil','=',$request->nosijil)->latest()->first();
|
||||
|
||||
@@ -86,6 +94,15 @@ class KomuditiController extends Controller
|
||||
'harga'=> $komuditi_asal['nilai']
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->purchased_by;
|
||||
$audit->actions = "penjualan komuditi";
|
||||
$audit->new_data = $komuditi_asal;
|
||||
$audit->kodcaw = $request->kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json('berjaya');
|
||||
}
|
||||
|
||||
@@ -134,7 +151,7 @@ class KomuditiController extends Controller
|
||||
$update_komuditi = KomuditiPurchase::on('mysql7')->where('id','=',$komuditi_current['id'])->update([
|
||||
'unit_komuditi' => $update_unit
|
||||
]);
|
||||
|
||||
|
||||
$komuditi_transaksi = KomuditiTransaksi::on('mysql7')->create([
|
||||
'unit_komuditi' => $request->unit_komuditi,
|
||||
'nosijil'=>$komuditi_current['no_sijil'],
|
||||
@@ -175,7 +192,7 @@ class KomuditiController extends Controller
|
||||
|
||||
public function getKomuditiProductUnit(Request $request){
|
||||
$produk = KomuditiProduk::on('mysql7')->where('kodproduk','=',$request->kodproduk)->first();
|
||||
|
||||
|
||||
return response()->json($produk['unit']);
|
||||
}
|
||||
|
||||
@@ -198,7 +215,7 @@ class KomuditiController extends Controller
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$komoditi = [];
|
||||
|
||||
|
||||
$jumlahkomoditi = Komuditi::on('mysql7')->where([['date_purchase','=',$current->toDateString()], ['transaction_type', '=', 'Beli Komoditi']])->orderBy('created_at','desc')->first();
|
||||
|
||||
$transaksi_komoditi = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first();
|
||||
@@ -209,8 +226,8 @@ class KomuditiController extends Controller
|
||||
$percentage_baki_komoditi = ($baki_komoditi/$jumlahkomoditi['unit_komuditi'])*100;
|
||||
|
||||
array_push($komoditi,
|
||||
['komoditi_transaksi'=>number_format($transaksi_komoditi['unit_komuditi'],2),
|
||||
'baki_komoditi'=>number_format($baki_komoditi,2),
|
||||
['komoditi_transaksi'=>number_format($transaksi_komoditi['unit_komuditi'],2),
|
||||
'baki_komoditi'=>number_format($baki_komoditi,2),
|
||||
'percentage_komoditi_transaksi'=>number_format($percentage_komoditi_transaksi,1),
|
||||
'percentage_baki_komoditi'=>number_format($percentage_baki_komoditi,1)]);
|
||||
|
||||
@@ -232,7 +249,7 @@ class KomuditiController extends Controller
|
||||
$monthly_array = new Carbon();
|
||||
$yearly_array = Carbon::now();
|
||||
$yearly_array = new Carbon();
|
||||
|
||||
|
||||
$array_totalup = [];
|
||||
|
||||
if($request->method == 'daily'){
|
||||
@@ -279,13 +296,13 @@ class KomuditiController extends Controller
|
||||
{
|
||||
$pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase')
|
||||
->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$weekly_date]])->orderBy('created_at','desc')->get();
|
||||
|
||||
|
||||
}elseif($request->method == 'monthly')
|
||||
{
|
||||
$pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y-%m") as date_purchase'))
|
||||
->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y%m')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$monthly_date]])
|
||||
->orderBy('created_at','desc')->get();
|
||||
|
||||
|
||||
}elseif($request->method == 'yearly')
|
||||
{
|
||||
$pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y") as date_purchase'))
|
||||
@@ -303,7 +320,7 @@ class KomuditiController extends Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -318,4 +335,4 @@ class KomuditiController extends Controller
|
||||
return response()->json($rekodkomoditi);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ use App\imbangdugalama;
|
||||
use App\Services\Reports\ImbangDugaService;
|
||||
use App\Services\Reports\Account\GeneralLedger;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
use DateTime;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -50,7 +51,7 @@ class LaporanController extends Controller
|
||||
|
||||
$bayaranonline = $bayaranonlinequery->sum('duit_masuk');
|
||||
$bilbayaranonline = $bayaranonlinequery->count();
|
||||
|
||||
|
||||
$ansurankaunter = TransaksiKeuntungan::on('mysql7')
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
@@ -108,7 +109,7 @@ class LaporanController extends Controller
|
||||
|
||||
$total_keuntunganansuran_kaunter = $keuntunganansuran_kaunter_query->sum('bayaran_keuntungan');
|
||||
$bil_keuntunganansuran_kaunter = $keuntunganansuran_kaunter_query->count();
|
||||
|
||||
|
||||
// $total_keuntunganansuran = 0;
|
||||
// if($total_keuntunganansuran_data){
|
||||
// foreach($total_keuntunganansuran_data as $index=>$total_keuntunganansuranData){
|
||||
@@ -167,7 +168,7 @@ class LaporanController extends Controller
|
||||
// ->pluck('transaksi_keuntungan.norujukan');
|
||||
|
||||
// dd($total_keuntunganbukanansuran_data_kaunter);
|
||||
|
||||
|
||||
// $gadaiDataKaunter = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$total_keuntunganbukanansuran_data_kaunter)->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
|
||||
@@ -245,7 +246,6 @@ class LaporanController extends Controller
|
||||
|
||||
$keuntungan_kaunter = $keuntungan_kaunter_query->sum('bayaran_keuntungan');
|
||||
$bil_keuntungan_kaunter = $keuntungan_kaunter_query->count();
|
||||
|
||||
|
||||
// $keuntungan = 0;
|
||||
|
||||
@@ -364,7 +364,7 @@ class LaporanController extends Controller
|
||||
$panjar_harian = Panjar::on($cawangan['mysql'])->where('tarikh','=',$request->tarikh)->sum('bayaran');
|
||||
$panjar_bulanan = Panjar::on($cawangan['mysql'])->where([['tarikh','<=',$request->tarikh],['tarikh','>=',$firstDay]])->sum('bayaran');
|
||||
$panjar_tahunan = Panjar::on($cawangan['mysql'])->where([['tarikh','<=',$request->tarikh],['tarikh','>=',$firstDayYear]])->sum('bayaran');
|
||||
|
||||
|
||||
//e
|
||||
|
||||
$tarikhtawarruq = '';
|
||||
@@ -497,21 +497,37 @@ class LaporanController extends Controller
|
||||
|
||||
$daterequest = new Carbon($request->tarikh);
|
||||
$daterequest->addDays(1);
|
||||
|
||||
$bayaranpendahuluan_data = TransaksiKeuntungan::on('mysql7')
|
||||
->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
->where('kodcaw',$request->kodcaw)
|
||||
->pluck('norujukan');
|
||||
|
||||
// $bayaranpendahuluan_data = TransaksiKeuntungan::on('mysql7')
|
||||
// ->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
// ->where('kodcaw',$request->kodcaw)
|
||||
// ->pluck('norujukan');
|
||||
|
||||
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$bayaranpendahuluan_data)
|
||||
->where([['sttebus',''],['hargajualan','<>','null']])
|
||||
->orWhere([['sttebus','!=',''],['t_update','>',$request->tarikh],['hargajualan','<>','null']])
|
||||
->pluck('norujukan');
|
||||
// $gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$bayaranpendahuluan_data)
|
||||
// ->where([['sttebus',''],['hargajualan','<>','null']])
|
||||
// ->orWhere([['sttebus','!=',''],['t_update','>',$request->tarikh],['hargajualan','<>','null']])
|
||||
// ->pluck('norujukan');
|
||||
|
||||
$bayaranpendahuluan = TransaksiKeuntungan::on('mysql7')
|
||||
->whereIn('norujukan',$gadaiData)
|
||||
->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
->sum('bayaran_pembiayaan');
|
||||
//$bayaranpendahuluan = TransaksiKeuntungan::on('mysql7')
|
||||
// ->whereIn('norujukan',$gadaiData)
|
||||
// ->where('tarikh_bayaran' ,'<=', $daterequest)
|
||||
// ->sum('bayaran_pembiayaan');
|
||||
|
||||
$date = new Carbon($request->tarikh);
|
||||
$lastDayPreviousMonth = $date->subMonthsNoOverflow()->endOfMonth()->toDateString();
|
||||
$get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first()->toArray();
|
||||
$start = new Carbon($request->tarikh);
|
||||
$start_date = $start->startOfMonth()->toDateString();
|
||||
|
||||
//$general_ledger = new GeneralLedger($request->kodcaw,$start_date,$request->tarikh);
|
||||
//$bayaran_pendahuluan = $general_ledger->getBayaranPendahuluan();
|
||||
//$total_bayaran_current = $bayaran_pendahuluan['keluar'] - $bayaran_pendahuluan['masuk'];
|
||||
// Log::info($bayaran_pendahuluan);
|
||||
// $bayaranpendahuluan = $get_imbangduga['bayaranpendahuluan'] + $total_bayaran_current;
|
||||
$bayaranpendahuluan = 0;
|
||||
//$bayaranpendahuluan = 0;
|
||||
|
||||
|
||||
|
||||
// $bayaranpendahuluan = 0;
|
||||
|
||||
|
||||
@@ -71,11 +71,14 @@ class LelongController extends Controller
|
||||
return response()->json($lelong);
|
||||
}
|
||||
|
||||
public function showBakiLelong($noic,$jenislelong)
|
||||
public function showBakiLelong($noic,$jenislelong, $kodcaw, Request $request)
|
||||
|
||||
{
|
||||
$cawangan_all = Cawangan::on('mysql7')->get();
|
||||
$bakilelongtotal = 0;
|
||||
$rugilelongtotal = 0;
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
if($jenislelong == 'baki')
|
||||
{
|
||||
@@ -91,6 +94,20 @@ class LelongController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->teller;
|
||||
$audit->actions = "test2";
|
||||
// $audit->new_data = $bakilelongtotal;
|
||||
$audit->new_data = json_encode([
|
||||
'bakilelongtotal' => $bakilelongtotal,
|
||||
'rugilelongtotal' => $rugilelongtotal,
|
||||
]);
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
|
||||
return response()->json($bakilelongtotal, 200);
|
||||
|
||||
}
|
||||
@@ -259,6 +276,7 @@ class LelongController extends Controller
|
||||
|
||||
if($kodcaw == 'GC'){
|
||||
$bakilelong += 2135.75;
|
||||
$bakilelong -= 3; //added 15/10/2024 sebab ada kemusykilan 3 ringgit daripada rugi lelong
|
||||
}
|
||||
|
||||
$arraylelong = ['bakilelong' => $bakilelong, 'rugilelong' => $rugitotal];
|
||||
@@ -598,11 +616,11 @@ class LelongController extends Controller
|
||||
|
||||
if($cawangan['tagarrahnbid'] == 1){
|
||||
if(env('APP_ENV') != 'production'){
|
||||
$link = 'https://niklah.arrahn.com.my/api/portalApi';
|
||||
$link = 'http://niklah.arrahn.com.my/api/portalApi';
|
||||
}else{
|
||||
$link = 'http://adminbid.arrahn/api/portalApi';
|
||||
}
|
||||
|
||||
|
||||
$lelong = Http::withOptions(['verify' => true])->get($link,[
|
||||
'norujukan' => $request->norujukan
|
||||
])->json();
|
||||
@@ -623,8 +641,8 @@ class LelongController extends Controller
|
||||
if($lelong)
|
||||
{
|
||||
$date_lelong = new Carbon($lelong['t_lelong']);
|
||||
$current_date = new Carbon($current->toDateString());
|
||||
|
||||
$current_date = new Carbon($current->toDateString());
|
||||
|
||||
if($lelong['t_lelong'] >= $current->toDateString())
|
||||
{
|
||||
$diff = $date_lelong->diffInDays($current_date);
|
||||
@@ -662,7 +680,7 @@ class LelongController extends Controller
|
||||
}
|
||||
|
||||
else{
|
||||
|
||||
|
||||
$lelong = Lelong::on($cawangan['mysql'])
|
||||
->where('norujukan', '=', $request->norujukan)
|
||||
->select('norujukan', 't_lelong')
|
||||
@@ -970,13 +988,13 @@ class LelongController extends Controller
|
||||
if($batchnosama)
|
||||
{
|
||||
$dif=array_intersect($bl,$batchnosama);
|
||||
|
||||
|
||||
if(!$dif)
|
||||
{
|
||||
array_push($arraybatch,['batchno' => $bl['batchno'], 'bilangantuntutbaki' => $bl['bilangan'], 'bilanganrugi' => 0,'tarikhlelong' => $bl['tarikhlelong']]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
foreach($batchlelrugi as $index=>$br)
|
||||
@@ -985,13 +1003,13 @@ class LelongController extends Controller
|
||||
if($batchnosama)
|
||||
{
|
||||
$dif=array_intersect($br,$batchnosama);
|
||||
|
||||
|
||||
if(!$dif)
|
||||
{
|
||||
array_push($arraybatch,['batchno' => $br['batchno'], 'bilangantuntutbaki' => 0, 'bilanganrugi' => $br['bilangan'],'tarikhlelong' => $br['tarikhlelong']]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
return response()->json($arraybatch);
|
||||
@@ -1031,7 +1049,7 @@ class LelongController extends Controller
|
||||
->orderBy('gadai.sirig','asc')
|
||||
->where('gadai.taglel','=', 1);
|
||||
}
|
||||
|
||||
|
||||
$lelonglist = $lelong->get();
|
||||
|
||||
foreach($lelonglist as $index=>$lel)
|
||||
@@ -1106,7 +1124,7 @@ class LelongController extends Controller
|
||||
'telefon' => $index['user_details']['notelbimbit'],
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$index['norujukan'])->update(array(
|
||||
'sttebus' => "L",
|
||||
't_update' => $request->tarikh
|
||||
@@ -1208,7 +1226,7 @@ class LelongController extends Controller
|
||||
return response()->json("success");
|
||||
}
|
||||
|
||||
public function getRingkasanHarian(Request $request){
|
||||
public function getRingkasanHarian(Request $request){
|
||||
$ringkasan = new RingkasanHarianServices;
|
||||
$getData = $ringkasan->getRingkasanHarian($request->mula,$request->hingga,$request->kodcaw);
|
||||
|
||||
@@ -1323,7 +1341,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->orderBy('lelong.t_lelong','asc')
|
||||
->select('lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan')
|
||||
@@ -1334,7 +1352,7 @@ class LelongController extends Controller
|
||||
$groupbybatch = $lelong_data->groupBy('batchno');
|
||||
$lelong = [];
|
||||
|
||||
foreach($groupbybatch as $index=>$lelongData){
|
||||
foreach($groupbybatch as $index=>$lelongData){
|
||||
$total_pembiayaan = $lelongData->sum('pinjaman');
|
||||
// dd($total_pembiayaan);
|
||||
$total_lelong = $lelongData->count('norujukan');
|
||||
@@ -1366,7 +1384,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->orderBy('lelong.t_lelong','asc')
|
||||
->select('lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan')
|
||||
@@ -1376,7 +1394,7 @@ class LelongController extends Controller
|
||||
->get();
|
||||
// dd($lelong_data);
|
||||
$lelong = [];
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
// dd($lelongData->norujukan);
|
||||
$lelmarhun = LelMarhun::on($cawangan['mysql'])
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
@@ -1385,7 +1403,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->get();
|
||||
// dd($lelmarhun->norujukan);
|
||||
@@ -1403,7 +1421,7 @@ class LelongController extends Controller
|
||||
// dd($lelong);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($lelong);
|
||||
}
|
||||
|
||||
@@ -1421,7 +1439,7 @@ class LelongController extends Controller
|
||||
->where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orWhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->select('lelong.batchno','lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan','gadai.marhun')
|
||||
->orderBy('lelong.t_lelong')
|
||||
@@ -1430,8 +1448,8 @@ class LelongController extends Controller
|
||||
->get();
|
||||
// dd($lelong_data);
|
||||
$lelong = [];
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
|
||||
// dd($lelongData->norujukan);
|
||||
$lelmarhun = LelMarhun::on($cawangan['mysql'])
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
@@ -1441,13 +1459,13 @@ class LelongController extends Controller
|
||||
->where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orWhere('nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
->where('batch_no',$lelongData['batchno'])
|
||||
->distinct()
|
||||
->get();
|
||||
|
||||
|
||||
array_push($lelong,[
|
||||
"batchno"=> $lelongData->batchno,
|
||||
"norujukan"=> $lelongData->norujukan,
|
||||
@@ -1464,7 +1482,7 @@ class LelongController extends Controller
|
||||
// dd($lelong);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($lelong);
|
||||
}
|
||||
|
||||
@@ -1482,7 +1500,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->select('lelong.batchno','lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan','gadai.marhun')
|
||||
->orderBy('lelong.t_lelong')
|
||||
@@ -1491,8 +1509,8 @@ class LelongController extends Controller
|
||||
->get();
|
||||
// dd($lelong_data);
|
||||
$lelong = [];
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
|
||||
$lelmarhun = LelMarhun::on($cawangan['mysql'])
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
->where('batch_no',$lelongData['batchno'])
|
||||
@@ -1502,7 +1520,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->where('batch_no',$lelongData['batchno'])
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
@@ -1525,7 +1543,7 @@ class LelongController extends Controller
|
||||
// dd($lelong);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($lelong);
|
||||
}
|
||||
|
||||
@@ -1543,7 +1561,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->orderBy('lelong.t_lelong','asc')
|
||||
->select('lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan')
|
||||
@@ -1554,7 +1572,7 @@ class LelongController extends Controller
|
||||
$groupbybatch = $lelong_data->groupBy('batchno');
|
||||
$lelong = [];
|
||||
|
||||
foreach($groupbybatch as $index=>$lelongData){
|
||||
foreach($groupbybatch as $index=>$lelongData){
|
||||
$total_pembiayaan = $lelongData->sum('pinjaman');
|
||||
// dd($total_pembiayaan);
|
||||
$total_lelong = $lelongData->count('norujukan');
|
||||
@@ -1586,7 +1604,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->orderBy('lelong.t_lelong','asc')
|
||||
->select('lelong.t_lelong','gadai.t_gadai','gadai.nokp','lelong.pinjaman','lelong.baki','lelong.batchno','lelong.norujukan')
|
||||
@@ -1596,7 +1614,7 @@ class LelongController extends Controller
|
||||
->get();
|
||||
// dd($lelong_data);
|
||||
$lelong = [];
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
foreach($lelong_data as $index=>$lelongData){
|
||||
// dd($lelongData->norujukan);
|
||||
$lelmarhun = LelMarhun::on($cawangan['mysql'])
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
@@ -1607,7 +1625,7 @@ class LelongController extends Controller
|
||||
->Where(function ($query) use($item) {
|
||||
for ($i = 0; $i < count($item); $i++){
|
||||
$query->orwhere('lelmarhun.nota', 'like', '%' . $item[$i] .'%');
|
||||
}
|
||||
}
|
||||
})
|
||||
->where('batch_no',$batchno)
|
||||
->where('norujukan',$lelongData['norujukan'])
|
||||
@@ -1629,14 +1647,14 @@ class LelongController extends Controller
|
||||
// dd($lelong);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($lelong);
|
||||
}
|
||||
|
||||
|
||||
public function kiraupahUjrahOnePercent($kodcaw,$norujukan){
|
||||
$onepercentservices = new OnePercentServices();
|
||||
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
@@ -1655,7 +1673,7 @@ class LelongController extends Controller
|
||||
$array_upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
|
||||
$ujrah = $bilang_bln * $array_upah['ujrah'];
|
||||
$onepercent = $bilang_bln * $array_upah['onepercent'];
|
||||
$onepercent_semasa = $onepercent;
|
||||
$onepercent_semasa = $onepercent;
|
||||
$ujrah_semasa = $ujrah;
|
||||
|
||||
return ['ujrah' => $ujrah_semasa, 'onepercent' => $onepercent_semasa];
|
||||
@@ -1664,7 +1682,7 @@ class LelongController extends Controller
|
||||
// public function kiraupahUjrahOnePercentRebate($kodcaw,$norujukan){
|
||||
// // $onepercentservices = new OnePercentServices();
|
||||
// $onepercentservices = new Calculation();
|
||||
|
||||
|
||||
// $cawangan = Cawangan::on('mysql7')
|
||||
// ->where('kodcaw','=',$kodcaw)
|
||||
// ->first();
|
||||
@@ -1697,7 +1715,7 @@ class LelongController extends Controller
|
||||
->first();
|
||||
|
||||
$onepercentservices = new Calculation();
|
||||
|
||||
|
||||
// $cawangan = $kodcaw;
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
@@ -1712,13 +1730,13 @@ class LelongController extends Controller
|
||||
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
$array_upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
// $ujrah_rounded = $onepercentservices->getRoundedMethod($array_upah['ujrah']);
|
||||
// $ujrah_rounded = $onepercentservices->getRoundedMethod($array_upah['ujrah']);
|
||||
// $keuntungan_rounded = $onepercentservices->getRoundedMethod($array_upah['onepercent']);
|
||||
$ujrah = $bilang_bln * $array_upah['ujrah'];
|
||||
$onepercent = $bilang_bln * $array_upah['onepercent'];
|
||||
$ujrah = $onepercentservices->getRoundedMethod($ujrah);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($onepercent);
|
||||
|
||||
|
||||
return ['ujrah' => $ujrah, 'onepercent' => $onepercent];
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use App\Audit;
|
||||
|
||||
class LogController extends Controller
|
||||
{
|
||||
@@ -20,7 +21,8 @@ class LogController extends Controller
|
||||
|
||||
public function logSession($kodcaw, Request $request)
|
||||
{
|
||||
// dd($request->all());
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$logsession = Logsession::on('mysql7')->where('kodcaw', '=', $kodcaw)
|
||||
->create([
|
||||
@@ -31,6 +33,18 @@ class LogController extends Controller
|
||||
'taraf' => $request->taraf,
|
||||
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->nama;
|
||||
$audit->actions = "Log Masuk";
|
||||
// $audit->norujukan = $norujukan;
|
||||
// $audit->old_data = $old_data;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
|
||||
|
||||
|
||||
return response()->json($logsession);
|
||||
@@ -55,5 +69,36 @@ class LogController extends Controller
|
||||
return response()->json($newnokp);
|
||||
}
|
||||
|
||||
public function logoutSession($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$logoutsession = Logsession::on('mysql7')->where('kodcaw', '=', $kodcaw)
|
||||
->create([
|
||||
'nama' => $request->nama,
|
||||
'nokp' => $request->nokp,
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'email' => $request->email,
|
||||
'taraf' => $request->taraf,
|
||||
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->nama;
|
||||
$audit->actions = "Log Keluar";
|
||||
// $audit->norujukan = $norujukan;
|
||||
// $audit->old_data = $old_data;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
|
||||
|
||||
|
||||
return response()->json($logoutsession);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -12,4 +12,4 @@ class PekerjaanController extends Controller
|
||||
|
||||
return response()->json($kerja);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,12 +108,22 @@ class PolisController extends Controller
|
||||
return response()->json(['error' => 'Invalid kodcaw'], 403);
|
||||
}
|
||||
|
||||
$polis = Polis::on($cawangan['mysql'])
|
||||
->where('komen1','=',$request->alasan)
|
||||
// ->where('tarikh','=',$request->tarikh)
|
||||
->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir])
|
||||
->get();
|
||||
|
||||
if($request->alasan == 'all'){
|
||||
$polis = Polis::on($cawangan['mysql'])
|
||||
->select('gadai.sttebus','gadai.t_update','gadai.norujukan','gadai.nokp','polis.komen1','polis.komen2','polis.tarikh','polis.teller','polis.caj','polis.kodnegeri','polis.koddaerah','polis.tebus')
|
||||
->join('gadai','gadai.norujukan','=','polis.norujukan')
|
||||
->whereBetween('polis.tarikh', [$request->tarikh_mula, $request->tarikh_akhir])
|
||||
->get();
|
||||
}else{
|
||||
$polis = Polis::on($cawangan['mysql'])
|
||||
->select('gadai.sttebus','gadai.t_update','gadai.norujukan','gadai.nokp','polis.komen1','polis.komen2','polis.tarikh','polis.teller','polis.caj','polis.kodnegeri','polis.koddaerah','polis.tebus')
|
||||
->join('gadai','gadai.norujukan','=','polis.norujukan')
|
||||
->where('komen1','=',$request->alasan)
|
||||
// ->where('tarikh','=',$request->tarikh)
|
||||
->whereBetween('polis.tarikh', [$request->tarikh_mula, $request->tarikh_akhir])
|
||||
->get();
|
||||
}
|
||||
|
||||
return response()->json($polis);
|
||||
}
|
||||
|
||||
|
||||
@@ -31,8 +31,8 @@ class BalanceSheetsController extends Controller
|
||||
}
|
||||
|
||||
public function updateIGBalanceSheets(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('zone','<>',1)->get();
|
||||
$date = Carbon::now()->month($request->month);
|
||||
$cawangan = Cawangan::on('mysql7')->where('version','v2')->get();
|
||||
$date = Carbon::create($request->year)->month($request->month);
|
||||
$lastDay = (clone $date)->endOfMonth();
|
||||
|
||||
try{
|
||||
|
||||
@@ -16,9 +16,12 @@ class RingkasanHarianController extends Controller
|
||||
$reportRingkasanHarianService = new ReportRingkasanHarianService($kod_cawangan, $request);
|
||||
$reportKawalanStokService = new KawalanStokService($kod_cawangan, $request);
|
||||
|
||||
$ringkasan_report = $reportRingkasanHarianService->getLaporanCawangan()->getContent();
|
||||
$ringkasan_kawalan = $reportKawalanStokService->getLaporanCawangan()->getContent();
|
||||
|
||||
$reports = [
|
||||
'reportRingkasanHarian' => $reportRingkasanHarianService->getLaporanCawangan(),
|
||||
'reportKawalanStok' => $reportKawalanStokService->getLaporanCawangan(),
|
||||
'reportRingkasanHarian' => json_decode($ringkasan_report),
|
||||
'reportKawalanStok' => json_decode($ringkasan_kawalan),
|
||||
];
|
||||
|
||||
return response()->json($reports);
|
||||
|
||||
@@ -182,6 +182,13 @@ class TebusController extends Controller
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,Request $request){
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusUpdateTambahPinjaman($kodcaw,$norujukan,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getLaporanTebus($kodcaw,$tarikh){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
@@ -224,7 +231,7 @@ class TebusController extends Controller
|
||||
"nama"=>$customer_info['nama'],
|
||||
"nokp"=>$tebusData['nokp'],
|
||||
"jbg"=>$tebusData['jbg'],
|
||||
"ujrah"=>$trans['ujrah_rebet'],
|
||||
"ujrah"=>$trans['ujrah_rebet'],
|
||||
"onepercent"=>$trans['onepercent_rebet']
|
||||
|
||||
]);
|
||||
@@ -301,7 +308,7 @@ class TebusController extends Controller
|
||||
"nama"=>$customer_info['nama'],
|
||||
"nokp"=>$tebusData['nokp'],
|
||||
"jbg"=>$tebusData['jbg'],
|
||||
"ujrah"=>$trans['ujrah_rebet'],
|
||||
"ujrah"=>$trans['ujrah_rebet'],
|
||||
"onepercent"=>$trans['onepercent_rebet'],
|
||||
"tagbaru"=>$tebusData['tagbaru']
|
||||
|
||||
@@ -314,17 +321,17 @@ class TebusController extends Controller
|
||||
|
||||
if ($compare_teller === 0) {
|
||||
$compare_tebus = strcmp($a['t_tebus'], $b['t_tebus']);
|
||||
|
||||
if ($compare_tebus === 0) {
|
||||
|
||||
if ($compare_tebus === 0) {
|
||||
return $a['tarikh_bayaran'] <=> $b['tarikh_bayaran'];
|
||||
}
|
||||
|
||||
|
||||
return $compare_tebus;
|
||||
}
|
||||
|
||||
return $compare_teller;
|
||||
});
|
||||
|
||||
|
||||
return response()->json($tebus);
|
||||
}
|
||||
|
||||
@@ -371,13 +378,13 @@ class TebusController extends Controller
|
||||
// dd($totalkeuntunganarrahn,$totalkeuntungantawarruq);
|
||||
|
||||
$array_penebusan = [
|
||||
'bilarrahn' => $bilpenebusanarrahn,
|
||||
'totalarrahn' => $totalpenebusanarrahn,
|
||||
'keuntunganarrahn' => $totalkeuntunganarrahn,
|
||||
'bilarrahn' => $bilpenebusanarrahn,
|
||||
'totalarrahn' => $totalpenebusanarrahn,
|
||||
'keuntunganarrahn' => $totalkeuntunganarrahn,
|
||||
'ujraharrahn' => $totalujraharrahn,
|
||||
'onepercentarrahn' => $totalonepercentarrahn,
|
||||
|
||||
'biltawarruq' => $bilpenebusantawarruq,
|
||||
'biltawarruq' => $bilpenebusantawarruq,
|
||||
'totaltawarruq' => $totalpenebusantawarruq,
|
||||
'totalrebate' => $totalrebatetawarruq,
|
||||
'keuntungantawarruq' => $totalkeuntungantawarruq,
|
||||
@@ -395,7 +402,7 @@ class TebusController extends Controller
|
||||
$tebusarrahn = Tebus::on($cawangan['mysql'])
|
||||
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
||||
->where('tebus.t_tebus','>=',$request->mula)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->whereNull('hargajualan');
|
||||
|
||||
$totalpenebusanarrahn = $tebusarrahn->sum('tebus.pinjaman');
|
||||
@@ -408,14 +415,14 @@ class TebusController extends Controller
|
||||
$tebustawarruq = Tebus::on($cawangan['mysql'])
|
||||
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
||||
->where('tebus.t_tebus','>=',$request->mula)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->whereNotNull('hargajualan');
|
||||
|
||||
$tebustawarruqansuran = Tebus::on($cawangan['mysql'])
|
||||
->select('tebus.bakiupah','tebus.norujukan')
|
||||
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
||||
->where('tebus.t_tebus','>=',$request->mula)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->whereNotNull('hargajualan')
|
||||
->where('gad.tagbaru','=',1)
|
||||
->where('hargajualan','<>','bakihargajualan');
|
||||
@@ -435,13 +442,13 @@ class TebusController extends Controller
|
||||
// dd($totalkeuntunganarrahn,$totalkeuntungantawarruq);
|
||||
|
||||
$array_penebusan = [
|
||||
'bilarrahn' => $bilpenebusanarrahn,
|
||||
'totalarrahn' => $totalpenebusanarrahn,
|
||||
'keuntunganarrahn' => $totalkeuntunganarrahn,
|
||||
'bilarrahn' => $bilpenebusanarrahn,
|
||||
'totalarrahn' => $totalpenebusanarrahn,
|
||||
'keuntunganarrahn' => $totalkeuntunganarrahn,
|
||||
'ujraharrahn' => $totalujraharrahn,
|
||||
'onepercentarrahn' => $totalonepercentarrahn,
|
||||
|
||||
'biltawarruq' => $bilpenebusantawarruq,
|
||||
'biltawarruq' => $bilpenebusantawarruq,
|
||||
'totaltawarruq' => $totalpenebusantawarruq,
|
||||
'totalrebate' => $totalrebatetawarruq,
|
||||
'keuntungantawarruq' => $totalkeuntungantawarruq,
|
||||
@@ -479,7 +486,9 @@ class TebusController extends Controller
|
||||
|
||||
}
|
||||
|
||||
public function tagterimaupdate($kodcaw,$norujukan){
|
||||
public function tagterimaupdate($kodcaw,$norujukan,Request $request){
|
||||
$current = Carbon::now();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$dahscan = Tebus::on($cawangan['mysql'])->where([['norujukan','=',$norujukan],['tagterima',1]])->first();
|
||||
|
||||
@@ -492,7 +501,16 @@ class TebusController extends Controller
|
||||
$update_inoutmar = Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
'tagterima' => 1
|
||||
));
|
||||
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->nama;
|
||||
$audit->actions = "Khazanah Scan Barcode Tebus";
|
||||
$audit->norujukan = $norujukan;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json('success');
|
||||
}else{
|
||||
return response()->json('unavailable');
|
||||
@@ -529,9 +547,9 @@ class TebusController extends Controller
|
||||
$wakil = Wakil::on($cawangan['mysql'])
|
||||
->orderBy('nowakil','desc')
|
||||
->first();
|
||||
|
||||
|
||||
if(!$wakil){
|
||||
return response(0);
|
||||
return response(0);
|
||||
}
|
||||
|
||||
if($wakil['nowakil'])
|
||||
@@ -752,9 +770,9 @@ class TebusController extends Controller
|
||||
$countadvansuronline = $listadvansuronline->count();
|
||||
$totaladvansuronline = $listadvansuronline->sum('upahdibayar');
|
||||
|
||||
$arrayadvansur = ['bilkaunter' => $countadvansurkaunter,
|
||||
$arrayadvansur = ['bilkaunter' => $countadvansurkaunter,
|
||||
'totalkaunter' => $totaladvansurkaunter,
|
||||
'bilonline' => $countadvansuronline,
|
||||
'bilonline' => $countadvansuronline,
|
||||
'totalonline' => $totaladvansuronline];
|
||||
|
||||
return response()->json($arrayadvansur,200);
|
||||
@@ -1449,8 +1467,8 @@ class TebusController extends Controller
|
||||
->sum('transaksi_keuntungan.bayaran_keuntungan');
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$upahlelong = Lelong::on($cawangan['mysql'])
|
||||
->where([['t_jual','<=',$request->tarikh],['t_jual','>','2022-07-24']])
|
||||
->whereYear('t_jual','=',$tarikhyear->year)
|
||||
@@ -1657,7 +1675,7 @@ class TebusController extends Controller
|
||||
return response(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function calculationKeuntunganPenggadai($kodcaw,Request $request)
|
||||
{
|
||||
@@ -1672,8 +1690,8 @@ class TebusController extends Controller
|
||||
if($determine_past->isToday())
|
||||
{
|
||||
$audit_now = Gadai::on($cawangan['mysql'])
|
||||
->select(DB::raw('sum(tunggakan) as "akru",
|
||||
sum(tunggakanujrah) as "akruujrah",
|
||||
->select(DB::raw('sum(tunggakan) as "akru",
|
||||
sum(tunggakanujrah) as "akruujrah",
|
||||
sum(tunggakanonepercent) as "akruonepercent"'))
|
||||
->where([['tagpalsu','=',0],['t_gadai','<=',$request->tarikh],['sttebus','=','']])
|
||||
->orWhere([['tagpalsu','=',0],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
|
||||
@@ -1687,7 +1705,7 @@ class TebusController extends Controller
|
||||
$totaltunggakan_now = $result_audit_backdate->selectRaw('SUM(upahblmbyar) + SUM(ujrah) + SUM(utgonepercent) as total_sum')->first();
|
||||
$totaltunggakan_now = $totaltunggakan_now['total_sum'];
|
||||
}
|
||||
|
||||
|
||||
return response()->json($totaltunggakan_now);
|
||||
|
||||
}
|
||||
@@ -1717,7 +1735,7 @@ class TebusController extends Controller
|
||||
case '11': return $audit_backdate = StokAudit11::on($cawangan['mysql'])->where('tahun',$year_generate);
|
||||
break;
|
||||
case '12': return $audit_backdate = StokAudit12::on($cawangan['mysql'])->where('tahun',$year_generate);
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1733,11 +1751,11 @@ class TebusController extends Controller
|
||||
|
||||
$date_sebelum = clone $date;
|
||||
$determine_past = new Carbon($request->tarikh);
|
||||
$date_sebelum = $date_sebelum->firstOfMonth();
|
||||
$date_sebelum = $date_sebelum->firstOfMonth();
|
||||
$month_sebelum = $date_sebelum->subMonth()->format('m');
|
||||
$month_sekarang = $date->format('m');
|
||||
$year_generate = $date->format('Y');
|
||||
$haripertama = $date->firstOfMonth();
|
||||
$haripertama = $date->firstOfMonth();
|
||||
$haripertama_extension = $haripertama->toDateString();
|
||||
$datenow = new Carbon($request->tarikh);
|
||||
$year = $current->year;
|
||||
@@ -1799,7 +1817,7 @@ class TebusController extends Controller
|
||||
|
||||
if(!$determine_past->isToday()){
|
||||
$calculate_month = (int)$month_sekarang - $latest_month_akrunet->bulan;
|
||||
|
||||
|
||||
if($calculate_month > 1){
|
||||
return 'ERR_MONTH_SEBELUM';
|
||||
}else if($calculate_month == 1){
|
||||
@@ -1810,7 +1828,7 @@ class TebusController extends Controller
|
||||
->where('bulan','<=',$intmonth_sekarang)
|
||||
->where('tahun',$year)
|
||||
->sum('jumlah');
|
||||
|
||||
|
||||
return response()->json($jumlahakru);
|
||||
}else if($calculate_month == 0)
|
||||
{
|
||||
@@ -1844,19 +1862,19 @@ class TebusController extends Controller
|
||||
'hingga' => $datenow->toDateString(),
|
||||
'kodcaw' => $request->kodcaw,
|
||||
]);
|
||||
|
||||
|
||||
// $calculation_keuntungan_sebenar = $this->untungrugicalculationLejer($request->kodcaw,$request_dibina);
|
||||
// $upah_diterima = $calculation_keuntungan_sebenar->getContent();
|
||||
$upah_diterima = $total;
|
||||
$calculation = $totaltunggakan_sebelum - $upah_diterima;
|
||||
$accrual_net = $totaltunggakan_now - $calculation;
|
||||
|
||||
if($calculate_month <= 1){
|
||||
if($calculate_month <= 1){
|
||||
$available_akru = AkruNet::on($cawangan['mysql'])
|
||||
->where('bulan', (int)$month_sekarang)
|
||||
->where('tahun', $current->year)
|
||||
->get()->toArray();
|
||||
|
||||
|
||||
if(sizeof($available_akru) == 0)
|
||||
{
|
||||
$akrunet = new AkruNet();
|
||||
@@ -1871,10 +1889,10 @@ class TebusController extends Controller
|
||||
AkruNet::on($cawangan['mysql'])->where('bulan','=',(int)$month_sekarang)->where('tahun',$current->year)
|
||||
->update(['jumlah' => ($accrual_net)]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//dd($jumlahakru,$accrual_net,$total);
|
||||
$total_accrual_net = $jumlahakru + ($accrual_net);
|
||||
|
||||
@@ -1891,19 +1909,19 @@ class TebusController extends Controller
|
||||
'hingga' => $date->endOfMonth()->toDateString(),
|
||||
'kodcaw' => $request->kodcaw,
|
||||
]);
|
||||
|
||||
|
||||
$calculation_keuntungan_sebenar = $this->untungrugicalculationLejer($request->kodcaw,$request_dibina);
|
||||
$calculation_upahsimpan = $this->calculationKeuntunganSebenarLejer($request->kodcaw,$request_dibina);
|
||||
|
||||
|
||||
$upah_diterima = $calculation_keuntungan_sebenar->getContent() + $calculation_upahsimpan->getContent();
|
||||
$calculation = $totaltunggakan_sebelum - $upah_diterima;
|
||||
$accrual_net = $totaltunggakan_now - $calculation;
|
||||
|
||||
if($calculate_month <= 1){
|
||||
if($calculate_month <= 1){
|
||||
$available_akru = AkruNet::on($cawangan['mysql'])
|
||||
->where('bulan', (int)$month_sekarang)
|
||||
->get()->toArray();
|
||||
|
||||
|
||||
if(sizeof($available_akru) == 0)
|
||||
{
|
||||
$akrunet = new AkruNet();
|
||||
@@ -1914,10 +1932,10 @@ class TebusController extends Controller
|
||||
$akrunet->save();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$total_accrual_net = $jumlahakru + ($accrual_net - $total);
|
||||
}
|
||||
|
||||
|
||||
return response()->json($total_accrual_net);
|
||||
}
|
||||
|
||||
@@ -1928,7 +1946,7 @@ class TebusController extends Controller
|
||||
$firstMonth = (clone $currentDate)->firstOfMonth();
|
||||
$lastMonth = (clone $currentDate)->endOfMonth();
|
||||
/* Start Keuntungan Semasa Calculation */
|
||||
|
||||
|
||||
$collection_trans = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function ($join) {
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
@@ -1970,7 +1988,7 @@ class TebusController extends Controller
|
||||
|
||||
/* Keuntungan Lelong */
|
||||
$upahlelong = Lelong::on($cawangan['mysql'])
|
||||
->where([['t_jual', '>=', $firstMonth], ['t_jual', '<=', $lastMonth], ['t_jual', '>', '2022-07-24']])
|
||||
->where([['tagujrah','0'],['t_jual', '>=', $firstMonth], ['t_jual', '<=', $lastMonth], ['t_jual', '>', '2022-07-24']])
|
||||
->whereYear('t_jual', '=', $currentDate->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
|
||||
@@ -438,7 +438,7 @@ class TransactionOnlineController extends Controller
|
||||
} else {
|
||||
|
||||
$onepercent = new OnePercentServices();
|
||||
$keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'], $gadai['nilaimarhun'], $gadai['kadarupah'], $margin_semasa);
|
||||
$keuntungan = $onepercent->kiraanKeuntunganRebet($gadai['bakipjm'], $gadai['nilaimarhun'], $gadai['kadarupah'], $gadai['margin_semasa']);
|
||||
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'], $gadai['kadarupah'], $gadai['percentpinj']);
|
||||
$onepercentasal = $gadai['pinjaman'] * (1 / 100);
|
||||
|
||||
|
||||
@@ -6,12 +6,14 @@ use App\Cawangan;
|
||||
use App\Tunai;
|
||||
use App\Gadai;
|
||||
use App\AddTunai;
|
||||
use App\Audit;
|
||||
use App\RequestTeller;
|
||||
use App\Denominasi;
|
||||
use App\Vault;
|
||||
use Auth0\SDK\API\Management\Users;
|
||||
use Illuminate\Http\Request;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
class TunaiController extends Controller
|
||||
{
|
||||
|
||||
@@ -150,6 +152,17 @@ class TunaiController extends Controller
|
||||
'Expires' => 'Mon, 01 Jan 1990 00:00:00 GMT',
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->teller;
|
||||
$audit->actions = "test";
|
||||
$audit->new_data = $tunai;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json();
|
||||
|
||||
}
|
||||
|
||||
public function getTunaiPast($kodcaw,Request $request)
|
||||
@@ -194,7 +207,28 @@ class TunaiController extends Controller
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
//Same Note e.g P1 and S1
|
||||
$same_note = AddTunai::on($cawangan['mysql'])
|
||||
->where('kodlaluan', $request->kodlaluan)
|
||||
->where('nota',$request->nota)
|
||||
->where('tarikh',$current->toDateString())->first();
|
||||
|
||||
if($same_note){
|
||||
Log::error('Error: same-note :' . $kodcaw . ': Name :' . $request->kodlaluan);
|
||||
return 'same-note';
|
||||
}
|
||||
|
||||
//Time Interval
|
||||
$latestRecord = AddTunai::on($cawangan['mysql'])->where('kodlaluan', $request->kodlaluan)->latest()->first();
|
||||
if($latestRecord){
|
||||
$time = Carbon::parse($latestRecord->created_at);
|
||||
$time_end = $time->copy()->addMinutes(1);
|
||||
|
||||
if($current->between($time,$time_end)){
|
||||
Log::error('Error: within 1 minute :' . $kodcaw . ': Name :' . $request->kodlaluan);
|
||||
return 'within 1 minute';
|
||||
}
|
||||
}
|
||||
|
||||
$addtunai=AddTunai::on($cawangan['mysql'])->create([
|
||||
|
||||
@@ -203,7 +237,8 @@ class TunaiController extends Controller
|
||||
'kodlaluan'=>$request->kodlaluan,
|
||||
'tambah'=>$request->tambah,
|
||||
'kurang'=>$request->kurang,
|
||||
'nota'=>$request->nota
|
||||
'nota'=>$request->nota,
|
||||
'created_at'=>$current
|
||||
]);
|
||||
|
||||
return response()->json($addtunai,201);
|
||||
@@ -269,6 +304,33 @@ class TunaiController extends Controller
|
||||
return response()->json($addtunai);
|
||||
}
|
||||
|
||||
public function updateRequestTellerDeno($kodcaw,Request $request){
|
||||
|
||||
$requestteller = RequestTeller::on('mysql7')->where([['no','=',$request->no],['kodcaw','=',$kodcaw],['kodlaluan','=',$request->kodlaluan],['update','=',0]])->update(array(
|
||||
'update' => 1,
|
||||
'bd1' => $request->bd1,
|
||||
'bd5' => $request->bd5,
|
||||
'bd10' => $request->bd10,
|
||||
'bd20' => $request->bd20,
|
||||
'bd50' => $request->bd50,
|
||||
'bd100' => $request->bd100,
|
||||
'txtring1' => $request->txtring1,
|
||||
'txtring5' => $request->txtring5,
|
||||
'txtring10' => $request->txtring10,
|
||||
'txtring20' => $request->txtring20,
|
||||
'txtring50' => $request->txtring50,
|
||||
'txtring100' => $request->txtring100,
|
||||
'txtring1000' => $request->txtring1000,
|
||||
'txtsen1' => $request->txtsen1,
|
||||
'txtsen5' => $request->txtsen5,
|
||||
'txtsen10' => $request->txtsen10,
|
||||
'txtsen20' => $request->txtsen20,
|
||||
'txtsen50' => $request->txtsen50,
|
||||
) );
|
||||
|
||||
return response()->json($requestteller);
|
||||
}
|
||||
|
||||
public function getRequestTeller($kodcaw)
|
||||
{
|
||||
|
||||
@@ -290,6 +352,15 @@ class TunaiController extends Controller
|
||||
return response()->json($requestteller);
|
||||
}
|
||||
|
||||
public function getRequestTellerByRecno($kodcaw,Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$requestteller=RequestTeller::on('mysql7')->where([['kodcaw','=',$kodcaw],['update','=',1],['recno','=',$request->recno],['kodlaluan','=',$request->teller]])->get();
|
||||
|
||||
return response()->json($requestteller);
|
||||
}
|
||||
|
||||
public function getRequestTellerLaporanSerahanBerkala($kodcaw,Request $request)
|
||||
{
|
||||
|
||||
@@ -316,6 +387,17 @@ class TunaiController extends Controller
|
||||
|
||||
public function updateRequestTeller($kodcaw,Request $request)
|
||||
{
|
||||
$harini = Carbon::now();
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = isset($request->khazanah) ? $request->khazanah : '' ;
|
||||
$audit->norujukan = null;
|
||||
$audit->actions = ($request->jenis == 'pendahuluan') ? "Pendahuluan Peti Besi" : "Serahan Peti Besi";
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
|
||||
$requestteller = RequestTeller::on('mysql7')->where([['no','=',$request->no],['kodcaw','=',$kodcaw],['kodlaluan','=',$request->kodlaluan],['update','=',0]])->update(array(
|
||||
|
||||
'update' => 1
|
||||
@@ -370,6 +452,16 @@ class TunaiController extends Controller
|
||||
'update' => '0'
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->kodlaluan;
|
||||
$audit->actions = ($request->modal == 0) ? "Serahan Modal" : "Pendahuluan Modal";
|
||||
$audit->new_data = $reqteller;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
|
||||
return response()->json($reqteller,200);
|
||||
}
|
||||
|
||||
@@ -644,4 +736,12 @@ class TunaiController extends Controller
|
||||
|
||||
return response()->json($requestteller);
|
||||
}
|
||||
|
||||
public function getAccStatement($kodcaw, Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$addtunai = AddTunai::on($cawangan['mysql'])->where('tarikh',$request->tarikh)->where('kodlaluan',$request->teller)->get();
|
||||
|
||||
return $addtunai;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ use App\Vault;
|
||||
use App\Cawangan;
|
||||
use App\Tunai;
|
||||
use App\AddTunai;
|
||||
use App\Audit;
|
||||
use App\GlDetail;
|
||||
use App\imbangdugalama;
|
||||
use App\GlCode;
|
||||
@@ -20,7 +21,7 @@ class VaultController extends Controller
|
||||
public function list($kodcaw)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$vault=Vault::on($cawangan['mysql'])
|
||||
@@ -29,7 +30,7 @@ class VaultController extends Controller
|
||||
->orderby('tarikh','desc')->limit(1)->get();
|
||||
|
||||
return response()->json($vault);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function listall($kodcaw)
|
||||
@@ -45,7 +46,7 @@ class VaultController extends Controller
|
||||
public function updateVault($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$updateVault=Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $kodcaw]])->update(array(
|
||||
|
||||
@@ -62,7 +63,7 @@ class VaultController extends Controller
|
||||
public function updateVaultPanjar($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$vault=Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||
@@ -92,7 +93,7 @@ class VaultController extends Controller
|
||||
public function updateVaultDeletePanjar($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$vault=Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||
@@ -122,7 +123,7 @@ class VaultController extends Controller
|
||||
public function updateVaultPendahuluanSerahan($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$vault=Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||
@@ -167,7 +168,7 @@ class VaultController extends Controller
|
||||
public function updateVaultDeletePendahuluanSerahan($kodcaw, Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$vault=Vault::on($cawangan['mysql'])->where('kodcaw','=',$kodcaw)->where('tarikh','=',$current->toDateString())->orderby('tarikh','desc')->first();
|
||||
@@ -203,12 +204,12 @@ class VaultController extends Controller
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$vault = Vault::on($cawangan['mysql'])->orderby('tarikh','desc')->first();
|
||||
$vault = Vault::on($cawangan['mysql'])->orderby('tarikh','desc')->first();
|
||||
|
||||
if($vault)
|
||||
{
|
||||
$vaultcreate = Vault::on($cawangan['mysql'])->create([
|
||||
|
||||
$vaultcreate = Vault::on($cawangan['mysql'])->create([
|
||||
|
||||
'kodcaw'=>$request->kodcaw,
|
||||
'tarikh'=> $current->toDateString(),
|
||||
'bakiawal' => $vault['bakiakhir'],
|
||||
@@ -230,12 +231,12 @@ class VaultController extends Controller
|
||||
'rm50' => $vault['rm50'],
|
||||
'rm100' => $vault['rm100'],
|
||||
'rm1000' => $vault['rm1000'],
|
||||
'totpanjar' => 0
|
||||
|
||||
'totpanjar' => 0
|
||||
|
||||
]);
|
||||
}else{
|
||||
$vaultcreate = Vault::on($cawangan['mysql'])->create([
|
||||
|
||||
$vaultcreate = Vault::on($cawangan['mysql'])->create([
|
||||
|
||||
'kodcaw'=>$request->kodcaw,
|
||||
'tarikh'=> $current->toDateString(),
|
||||
'bakiawal' => 0,
|
||||
@@ -257,11 +258,11 @@ class VaultController extends Controller
|
||||
'rm50' => 0,
|
||||
'rm100' => 0,
|
||||
'rm1000' => 0,
|
||||
'totpanjar' => 0
|
||||
|
||||
'totpanjar' => 0
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($vaultcreate,201);
|
||||
}
|
||||
@@ -274,7 +275,7 @@ class VaultController extends Controller
|
||||
$current = new Carbon();
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'tarikh' => $current->toDateString(),
|
||||
'dtacct' => '1000/020',
|
||||
@@ -296,7 +297,7 @@ class VaultController extends Controller
|
||||
|
||||
if($request->jenisgldetail == 'pendahuluan')
|
||||
{
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'tarikh' => $current->toDateString(),
|
||||
'dtacct' => $request->dtacct,
|
||||
@@ -307,7 +308,7 @@ class VaultController extends Controller
|
||||
]);
|
||||
}else if($request->jenisgldetail == 'serahan')
|
||||
{
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])->create([
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'tarikh' => $current->toDateString(),
|
||||
'dtacct' => $request->dtacct,
|
||||
@@ -317,7 +318,7 @@ class VaultController extends Controller
|
||||
'teller' => $request->teller
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return response()->json($gldetail,201);
|
||||
|
||||
@@ -326,21 +327,32 @@ class VaultController extends Controller
|
||||
public function listgldetail($kodcaw,Request $request)
|
||||
{
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$gldetail=GlDetail::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->orderby('tarikh','desc')->get();
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->teller;
|
||||
$audit->actions = "test3";
|
||||
$audit->new_data = $gldetail;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($gldetail,200);
|
||||
}
|
||||
|
||||
public function TunaiDiTangan($kodcaw,Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$current = new Carbon();
|
||||
|
||||
$totalbakiakhirtunai = 0;
|
||||
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$vault=Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
@@ -366,7 +378,7 @@ class VaultController extends Controller
|
||||
{
|
||||
$totalbakiakhirtunai = $vault['bakiakhir'];
|
||||
}
|
||||
|
||||
|
||||
return response()->json($totalbakiakhirtunai);
|
||||
}
|
||||
|
||||
@@ -375,10 +387,10 @@ class VaultController extends Controller
|
||||
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$current = new Carbon();
|
||||
|
||||
$totalbakiakhirtunai = 0;
|
||||
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$vault=Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
@@ -410,7 +422,7 @@ class VaultController extends Controller
|
||||
$totalkeluar = $vault['keluar'] + $vault['serahan'] + $vault['totpanjar'];
|
||||
|
||||
$arraytunaiditangan = ['totalmasuk' => $totalmasuk, 'totalkeluar' => $totalkeluar];
|
||||
|
||||
|
||||
return response()->json($arraytunaiditangan,200);
|
||||
}
|
||||
|
||||
@@ -418,14 +430,14 @@ class VaultController extends Controller
|
||||
public function laporanPetiBesi($kodcaw,$tarikh)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$current = new Carbon();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$vault=Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->where('tarikh','=', $tarikh)
|
||||
->orderby('tarikh','desc')->first();
|
||||
|
||||
|
||||
return response()->json($vault);
|
||||
}
|
||||
|
||||
@@ -492,7 +504,7 @@ class VaultController extends Controller
|
||||
|
||||
$totalserahan = $serahanpkbTawarruq + $serahanpkb + $serahanJMC;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//Selepas Tawarruq
|
||||
@@ -501,7 +513,7 @@ class VaultController extends Controller
|
||||
->where('ktacct','=',$pendahuluanpkb)
|
||||
->where([['tarikh','<=', $request->tarikh],['tarikh','>','2021-03-24']])
|
||||
->sum('pendahuluan');
|
||||
|
||||
|
||||
//Sebelum Tawarruq
|
||||
|
||||
$pendahuluanPKB = GlDetail::on($cawangan['mysql'])
|
||||
@@ -528,7 +540,7 @@ class VaultController extends Controller
|
||||
|
||||
if($kodcaw == '011229')
|
||||
$totalserahan -= 0.10;
|
||||
|
||||
|
||||
if($kodcaw == '011013')
|
||||
$totalserahan += 641000;
|
||||
|
||||
@@ -588,17 +600,17 @@ class VaultController extends Controller
|
||||
|
||||
$totaljmc = $serahanJMC + $serahanjmclama;
|
||||
$totalpkb = $serahanpkb + $serahanpkblama;
|
||||
|
||||
|
||||
$totalserahan = $serahanpkbTawarruq + $totaljmc + $totalpkb;
|
||||
}else{
|
||||
|
||||
$totaljmc = $serahanJMC;
|
||||
$totalpkb = $serahanpkb;
|
||||
|
||||
|
||||
$totalserahan = $serahanpkbTawarruq + $totaljmc + $totalpkb;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}else{
|
||||
|
||||
if($kodcaw == '020301')
|
||||
@@ -627,7 +639,7 @@ class VaultController extends Controller
|
||||
->where('ktacct','=',$pendahuluanpkb)
|
||||
->where([['tarikh','>=', $mula],['tarikh','<=', $hingga],['tarikh','>','2021-03-24']])
|
||||
->sum('pendahuluan');
|
||||
|
||||
|
||||
//Sebelum Tawarruq
|
||||
|
||||
$pendahuluanPKB = GlDetail::on($cawangan['mysql'])
|
||||
@@ -654,14 +666,14 @@ class VaultController extends Controller
|
||||
->where('glcode','=',$serahankoperasi)
|
||||
->sum('amaun');
|
||||
}else{
|
||||
|
||||
|
||||
$total = $pendahuluanPKBtawarruq + $pendahuluanPKB + $pendahuluanJMC;
|
||||
|
||||
$pindahkekpkb = 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$arraypend = ['pendahuluan' => $total,'serahan' => $totalserahan,'pindahkekpkb' => $pindahkekpkb];
|
||||
|
||||
return response()->json($arraypend);
|
||||
@@ -670,15 +682,15 @@ class VaultController extends Controller
|
||||
public function laporanPetiBesiRange($kodcaw,Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$current = new Carbon();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$vault=Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->where('tarikh','>=', $request->mula)
|
||||
->where('tarikh','<=', $request->hingga)
|
||||
->orderby('tarikh','desc')->get();
|
||||
|
||||
|
||||
return response()->json($vault);
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Audit;
|
||||
use App\WakilSurat;
|
||||
use App\Cawangan;
|
||||
|
||||
@@ -44,6 +45,7 @@ class WakilController extends Controller
|
||||
|
||||
public function createSuratWakil($kodcaw, Request $request)
|
||||
{
|
||||
$harini = Carbon::now();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $kodcaw)->first();
|
||||
|
||||
@@ -55,6 +57,16 @@ class WakilController extends Controller
|
||||
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->nama;
|
||||
$audit->actions = "Cetak Surat Wakil";
|
||||
$audit->norujukan = $request->norujukan;
|
||||
$audit->new_data = $wakil;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $harini;
|
||||
$audit->updated_at = $harini;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($wakil);
|
||||
}
|
||||
|
||||
@@ -77,7 +89,7 @@ class WakilController extends Controller
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $kodcaw)->first();
|
||||
|
||||
|
||||
@@ -0,0 +1,434 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\CashFlow;
|
||||
|
||||
use App\AddTunai;
|
||||
use App\Audit;
|
||||
use App\Cawangan;
|
||||
use App\Denominasi;
|
||||
use App\DenoPanjar;
|
||||
use App\Panjar;
|
||||
use App\RequestTeller;
|
||||
use App\Tunai;
|
||||
use App\Vault;
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class TellerServices
|
||||
{
|
||||
protected $cawangan;
|
||||
|
||||
public function __construct($kodcaw){
|
||||
$this->cawangan = $kodcaw;
|
||||
}
|
||||
|
||||
private function CheckTunai(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
try{
|
||||
/* Checking Status Data include Tunai */
|
||||
$tunai = Tunai::on($cawangan['mysql'])
|
||||
->where([['kodcaw','=',$this->cawangan],['tarikh','=',$current->toDateString()],['kodlaluan','=',$request->teller]]);
|
||||
$tunai = optional($tunai->first())->toArray();
|
||||
|
||||
if(empty($tunai)){
|
||||
// Create transaction of cash in teller
|
||||
$tunai = Tunai::on($cawangan['mysql'])->create([
|
||||
'tarikh' => $current->toDateString(),
|
||||
'kodcaw'=> $this->cawangan,
|
||||
'kodlaluan'=>$request->teller,
|
||||
'bakiawal'=>$request->bakiawal,
|
||||
'masuk'=>$request->masuk,
|
||||
'yuran'=>$request->yuran,
|
||||
'keluar'=>$request->keluar,
|
||||
'baki'=>$request->baki,
|
||||
'tambah'=>$request->amt,
|
||||
'kurang'=>$request->kurang
|
||||
]);
|
||||
}
|
||||
|
||||
} catch (\Exception $e) {
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
|
||||
// Handle the exception or re-throw
|
||||
throw $e;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function checkAddTunai(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
/* Checking AddTunai */
|
||||
|
||||
//Same Note e.g P1 and S1
|
||||
$same_note = AddTunai::on($cawangan['mysql'])
|
||||
->where('kodlaluan', $request->teller)
|
||||
->where('nota',$request->nota)
|
||||
->where('tarikh',$current->toDateString())->first();
|
||||
|
||||
if($same_note){
|
||||
//Throw this
|
||||
Log::error('Error: same-note :' . $this->cawangan . ': Name :' . $request->teller);
|
||||
return 'same-note';
|
||||
}
|
||||
|
||||
//Time Interval
|
||||
$latestRecord = AddTunai::on($cawangan['mysql'])->where('kodlaluan', $request->teller)->latest()->first();
|
||||
if($latestRecord){
|
||||
$time = Carbon::parse($latestRecord->created_at);
|
||||
$time_end = $time->copy()->addMinutes(1);
|
||||
|
||||
if($current->between($time,$time_end)){
|
||||
//Throw this
|
||||
Log::error('Error: within 1 minute :' . $this->cawangan . ': Name :' . $request->teller);
|
||||
return 'within 1 minute';
|
||||
}
|
||||
}
|
||||
|
||||
return 'success';
|
||||
}
|
||||
|
||||
private function getDenoTotal(Request $request,$operator){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$deno = Denominasi::on($cawangan['mysql'])->where('tarikh','=',$current->toDateString());
|
||||
$deno = optional($deno->first())->toArray();
|
||||
|
||||
if(empty($deno)){
|
||||
return "empty";
|
||||
Log::error("Empty Denominasi Data");
|
||||
}
|
||||
|
||||
$deno['txtsen1'] += ($operator == 'add') ? intval($request->ambilansen1) : -intval($request->ambilansen1);
|
||||
$deno['txtsen5'] += ($operator == 'add') ? intval($request->ambilansen5) : -intval($request->ambilansen5);
|
||||
$deno['txtsen10'] += ($operator == 'add') ? intval($request->ambilansen10) : -intval($request->ambilansen10);
|
||||
$deno['txtsen20'] += ($operator == 'add') ? intval($request->ambilansen20) : -intval($request->ambilansen20);
|
||||
$deno['txtsen50'] += ($operator == 'add') ? intval($request->ambilansen50) : -intval($request->ambilansen50);
|
||||
|
||||
$deno['txtring1'] += ($operator == 'add') ? intval($request->ambilanring1) : -intval($request->ambilanring1);
|
||||
$deno['txtring5'] += ($operator == 'add') ? intval($request->ambilanring5) : -intval($request->ambilanring5);
|
||||
$deno['txtring10'] += ($operator == 'add') ? intval($request->ambilanring10) : -intval($request->ambilanring10);
|
||||
$deno['txtring20'] += ($operator == 'add') ? intval($request->ambilanring20) : -intval($request->ambilanring20);
|
||||
$deno['txtring50'] += ($operator == 'add') ? intval($request->ambilanring50) : -intval($request->ambilanring50);
|
||||
$deno['txtring100'] += ($operator == 'add') ? intval($request->ambilanring100) : -intval($request->ambilanring100);
|
||||
|
||||
$k01 = ($deno['txtsen1'] * 0.01);
|
||||
$k05 = ($deno['txtsen5'] * 0.05);
|
||||
$k010 = ($deno['txtsen10'] * 0.10);
|
||||
$k020 = ($deno['txtsen20'] * 0.20);
|
||||
$k050 = ($deno['txtsen50'] * 0.50);
|
||||
$k1 = ($deno['txtring1'] * 1);
|
||||
$k5 = ($deno['txtring5'] * 5);
|
||||
$k10 = ($deno['txtring10'] * 10);
|
||||
$k20 = ($deno['txtring20'] * 20);
|
||||
$k50 = ($deno['txtring50'] * 50);
|
||||
$k100 = ($deno['txtring100'] * 100);
|
||||
|
||||
$totalkeping = $k01 + $k05 + $k010 + $k020 +
|
||||
$k050 + $k1 + $k5 + $k10 + $k20 +
|
||||
$k50 + $k100;
|
||||
|
||||
$array_total_cash = [
|
||||
'syiling1' => $k01,
|
||||
'syiling5' => $k05,
|
||||
'syiling10' => $k010,
|
||||
'syiling20' => $k020,
|
||||
'syiling50' => $k050,
|
||||
'kertas1' => $k1,
|
||||
'kertas5' => $k5,
|
||||
'kertas10' => $k10,
|
||||
'kertas20' => $k20,
|
||||
'kertas50' => $k50,
|
||||
'kertas100' => $k100,
|
||||
];
|
||||
|
||||
return ['deno' => $deno,'total' => $totalkeping,'cash' => $array_total_cash];
|
||||
}
|
||||
|
||||
|
||||
public function CashDeposit(Request $request){
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
try {
|
||||
// Start transaction
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
/* Addtunai Transaction */
|
||||
$response_addtunai = $this->checkAddTunai($request);
|
||||
|
||||
if($response_addtunai !== 'success'){
|
||||
// Log::error("Unsuccessful Tunai");
|
||||
Log::debug($response_addtunai);
|
||||
throw new Exception('Unsuccessful Tunai');
|
||||
}
|
||||
|
||||
$addtunai = AddTunai::on($cawangan['mysql'])->create([
|
||||
'tarikh' => $current->toDateString(),
|
||||
'kodcaw'=> $this->cawangan,
|
||||
'kodlaluan'=>$request->teller,
|
||||
'tambah'=>$request->amt,
|
||||
'kurang'=> 0,
|
||||
'nota'=>$request->nota,
|
||||
'created_at'=>$current
|
||||
]);
|
||||
|
||||
/* Tunai Transaction */
|
||||
$tunai = Tunai::on($cawangan['mysql'])
|
||||
->where([['kodcaw','=',$this->cawangan],['tarikh','=',$current->toDateString()],['kodlaluan','=',$request->teller]]);
|
||||
$tunai = optional($tunai->first())->toArray();
|
||||
|
||||
if(empty($tunai)){
|
||||
Log::debug($this->cawangan);
|
||||
Log::debug($current->toDateString());
|
||||
Log::debug($request->teller);
|
||||
throw new Exception("Empty Tunai Data");
|
||||
}
|
||||
|
||||
$total_teller_deposit = $tunai['tambah'] + $request->amt;
|
||||
$remaining_teller_cashflow = $tunai['baki'] + $request->amt;
|
||||
|
||||
Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->teller] ])->
|
||||
update(array(
|
||||
'tambah' => $total_teller_deposit,
|
||||
'baki' => $remaining_teller_cashflow
|
||||
));
|
||||
|
||||
/* Vault Transaction */
|
||||
$vault = Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$this->cawangan)
|
||||
->where('tarikh','=',$current->toDateString());
|
||||
$vault = optional($vault->first())->toArray();
|
||||
|
||||
if(empty($vault)){
|
||||
throw new Exception("Empty Vault Data");
|
||||
}
|
||||
|
||||
$total_vault_deposit = $vault['keluar'] + $request->amt;
|
||||
$remaining_vault = $vault['bakiawal'] - $total_vault_deposit + $vault['masuk'] + $vault['pendahuluan'] - $vault['serahan'] - $vault['totpanjar'];
|
||||
|
||||
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $this->cawangan]])->update(array(
|
||||
'keluar' => $total_vault_deposit,
|
||||
'bakiakhir' => $remaining_vault,
|
||||
'bakieod' => $remaining_vault
|
||||
));
|
||||
|
||||
/* Denominasi Transaction */
|
||||
|
||||
$response_deno = $this->getDenoTotal($request,'subtract');
|
||||
|
||||
if($response_deno == 'empty')
|
||||
throw new Exception("Empty Denominasi Data");
|
||||
|
||||
$deno = $response_deno['deno'];
|
||||
$total = $response_deno['total'];
|
||||
$cash = $response_deno['cash'];
|
||||
|
||||
Denominasi::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()]])->update(array(
|
||||
'txtring1'=> $deno['txtring1'],
|
||||
'k1'=> $cash['kertas1'],
|
||||
'txtring5'=> $deno['txtring5'],
|
||||
'k5'=> $cash['kertas5'],
|
||||
'txtsen1'=> $deno['txtsen1'],
|
||||
'k01'=> $cash['syiling1'],
|
||||
'txtsen5'=> $deno['txtsen5'],
|
||||
'k05'=> $cash['syiling5'],
|
||||
'txtsen10'=> $deno['txtsen10'],
|
||||
'k010'=> $cash['syiling10'],
|
||||
'txtsen20'=> $deno['txtsen20'],
|
||||
'k020'=> $cash['syiling20'],
|
||||
'txtsen50'=> $deno['txtsen50'],
|
||||
'k050'=> $cash['syiling50'],
|
||||
'txtring10'=> $deno['txtring10'],
|
||||
'k10'=> $cash['kertas10'],
|
||||
'txtring20'=> $deno['txtring20'],
|
||||
'k20'=> $cash['kertas20'],
|
||||
'txtring50'=> $deno['txtring50'],
|
||||
'k50'=> $cash['kertas50'],
|
||||
'txtring100'=> $deno['txtring100'],
|
||||
'k100'=> $cash['kertas100'],
|
||||
'txtjumlah'=> $total,
|
||||
'jumlahkeping' => $total
|
||||
) );
|
||||
|
||||
/* RequestTeller Transaction */
|
||||
$requestteller = RequestTeller::on('mysql7')->where([['no','=',$request->no],['kodcaw','=',$this->cawangan],['kodlaluan','=',$request->teller],['update','=',0]])->update(array(
|
||||
'update' => 1,
|
||||
'bd1' => 0,
|
||||
'bd5' => 0,
|
||||
'bd10' => 0,
|
||||
'bd20' => 0,
|
||||
'bd50' => 0,
|
||||
'bd100' => 0,
|
||||
'txtring1' => ($request->ambilanring1) ? $request->ambilanring1 : 0,
|
||||
'txtring5' => ($request->ambilanring5) ? $request->ambilanring5 : 0,
|
||||
'txtring10' => ($request->ambilanring10) ? $request->ambilanring10 : 0,
|
||||
'txtring20' => ($request->ambilanring20) ? $request->ambilanring20 : 0,
|
||||
'txtring50' => ($request->ambilanring50) ? $request->ambilanring50 : 0,
|
||||
'txtring100' => ($request->ambilanring100) ? $request->ambilanring100 : 0,
|
||||
'txtring1000' => 0,
|
||||
'txtsen1' => ($request->ambilansen1) ? $request->ambilansen1 : 0,
|
||||
'txtsen5' => ($request->ambilansen5) ? $request->ambilansen5 : 0,
|
||||
'txtsen10' => ($request->ambilansen10) ? $request->ambilansen10 : 0,
|
||||
'txtsen20' => ($request->ambilansen20) ? $request->ambilansen20 : 0,
|
||||
'txtsen50' => ($request->ambilansen50) ? $request->ambilansen50 : 0,
|
||||
'recno' => $addtunai['id']
|
||||
) );
|
||||
|
||||
// Commit transactions
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return 'success';
|
||||
|
||||
} catch (\Exception $e) {
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
Log::error("Transaction failed: " . $e->getMessage());
|
||||
|
||||
return 'error';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function CashWithdrawals(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
try {
|
||||
|
||||
// Start transaction
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
|
||||
/* Addtunai Transaction */
|
||||
$response_addtunai = $this->checkAddTunai($request);
|
||||
|
||||
if($response_addtunai !== 'success'){
|
||||
// Log::error("Unsuccessful Tunai");
|
||||
Log::debug($response_addtunai);
|
||||
throw new Exception('Unsuccessful Tunai');
|
||||
}
|
||||
|
||||
$addtunai = AddTunai::on($cawangan['mysql'])->create([
|
||||
'tarikh' => $current->toDateString(),
|
||||
'kodcaw'=> $this->cawangan,
|
||||
'kodlaluan'=>$request->teller,
|
||||
'tambah'=>0,
|
||||
'kurang'=> $request->amt,
|
||||
'nota'=>$request->nota,
|
||||
'created_at'=>$current
|
||||
]);
|
||||
|
||||
/* Tunai Transaction */
|
||||
$tunai = Tunai::on($cawangan['mysql'])
|
||||
->where([['kodcaw','=',$this->cawangan],['tarikh','=',$current->toDateString()],['kodlaluan','=',$request->teller]]);
|
||||
$tunai = optional($tunai->first())->toArray();
|
||||
|
||||
if(empty($tunai)){
|
||||
Log::debug($this->cawangan);
|
||||
Log::debug($current->toDateString());
|
||||
Log::debug($request->teller);
|
||||
throw new Exception("Empty Tunai Data");
|
||||
}
|
||||
|
||||
$total_teller_deposit = $tunai['kurang'] + $request->amt;
|
||||
$remaining_teller_cashflow = $tunai['baki'] - $request->amt;
|
||||
|
||||
Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->teller] ])->
|
||||
update(array(
|
||||
'kurang' => $total_teller_deposit,
|
||||
'baki' => $remaining_teller_cashflow
|
||||
));
|
||||
|
||||
/* Vault Transaction */
|
||||
$vault = Vault::on($cawangan['mysql'])
|
||||
->where('kodcaw','=',$this->cawangan)
|
||||
->where('tarikh','=',$current->toDateString());
|
||||
$vault = optional($vault->first())->toArray();
|
||||
|
||||
if(empty($vault)){
|
||||
throw new Exception("Empty Vault Data");
|
||||
}
|
||||
|
||||
$total_vault_deposit = $vault['masuk'] + $request->amt;
|
||||
$remaining_vault = $vault['bakiawal'] - $vault['keluar'] + $total_vault_deposit + $vault['pendahuluan'] - $vault['serahan'] - $vault['totpanjar'];
|
||||
|
||||
Vault::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()],['kodcaw','=', $this->cawangan]])->update(array(
|
||||
'masuk' => $total_vault_deposit,
|
||||
'bakiakhir' => $remaining_vault,
|
||||
'bakieod' => $remaining_vault
|
||||
));
|
||||
|
||||
/* Denominasi Transaction */
|
||||
$response_deno = $this->getDenoTotal($request,'add');
|
||||
|
||||
if($response_deno == 'empty')
|
||||
throw new Exception("Empty Denominasi Data");
|
||||
|
||||
$deno = $response_deno['deno'];
|
||||
$total = $response_deno['total'];
|
||||
$cash = $response_deno['cash'];
|
||||
|
||||
Denominasi::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()]])->update(array(
|
||||
'txtring1'=> $deno['txtring1'],
|
||||
'k1'=> $cash['kertas1'],
|
||||
'txtring5'=> $deno['txtring5'],
|
||||
'k5'=> $cash['kertas5'],
|
||||
'txtsen1'=> $deno['txtsen1'],
|
||||
'k01'=> $cash['syiling1'],
|
||||
'txtsen5'=> $deno['txtsen5'],
|
||||
'k05'=> $cash['syiling5'],
|
||||
'txtsen10'=> $deno['txtsen10'],
|
||||
'k010'=> $cash['syiling10'],
|
||||
'txtsen20'=> $deno['txtsen20'],
|
||||
'k020'=> $cash['syiling20'],
|
||||
'txtsen50'=> $deno['txtsen50'],
|
||||
'k050'=> $cash['syiling50'],
|
||||
'txtring10'=> $deno['txtring10'],
|
||||
'k10'=> $cash['kertas10'],
|
||||
'txtring20'=> $deno['txtring20'],
|
||||
'k20'=> $cash['kertas20'],
|
||||
'txtring50'=> $deno['txtring50'],
|
||||
'k50'=> $cash['kertas50'],
|
||||
'txtring100'=> $deno['txtring100'],
|
||||
'k100'=> $cash['kertas100'],
|
||||
'txtjumlah'=> $total,
|
||||
'jumlahkeping' => $total
|
||||
) );
|
||||
|
||||
/* RequestTeller Transaction */
|
||||
$requestteller = RequestTeller::on('mysql7')->where([['no','=',$request->no],['kodcaw','=',$this->cawangan],['kodlaluan','=',$request->teller],['update','=',0]])->update(array(
|
||||
'update' => 1,
|
||||
'recno' => $addtunai['id']
|
||||
) );
|
||||
|
||||
// Commit transactions
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return 'success';
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
Log::error("Transaction failed: " . $e->getMessage());
|
||||
|
||||
return 'error';
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -7,7 +7,7 @@ use App\KadarUpah;
|
||||
use Illuminate\Http\Request as HttpRequest;
|
||||
use App\Support\OnePercent as OnePercentEngine;
|
||||
use App\Support\Tawarruq as TawarruqEngine;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
class MasterServices
|
||||
{
|
||||
protected $cawangan;
|
||||
@@ -223,6 +223,12 @@ class MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,HttpRequest $request){
|
||||
$onepercent = new OnePercentEngine($this->cawangan);
|
||||
$response = $onepercent->tebusUpdateAutoTawarruq($kodcaw,$norujukan,$request);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraupahUjrahOnePercent($kodcaw,$norujukan){
|
||||
$response = $this->engine->kiraupahUjrahOnePercent($kodcaw,$norujukan);
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ use App\DenoPanjar;
|
||||
use App\Panjar;
|
||||
use App\Vault;
|
||||
use Carbon\Carbon;
|
||||
use DateTime;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@@ -40,11 +41,12 @@ class PanjarServices
|
||||
|
||||
private function calculation_denominasi($array_deno = [],$denominasi = [],$jenis_panjar){
|
||||
|
||||
if(isset($array_deno) <= 0 || isset($denominasi) <= 0){
|
||||
if(empty($array_deno) && empty($denominasi)){
|
||||
return empty($array_deno);
|
||||
return 'no data';
|
||||
}
|
||||
|
||||
if($jenis_panjar != 'masuk' || $jenis_panjar != 'keluar') return 'no data';
|
||||
if($jenis_panjar != 'masuk' && $jenis_panjar != 'keluar') return 'no data';
|
||||
|
||||
$records = [];
|
||||
foreach($this->namelist_deno as $deno => $value){
|
||||
@@ -80,6 +82,37 @@ class PanjarServices
|
||||
];
|
||||
}
|
||||
|
||||
private function checkModal($jenismodal){
|
||||
switch ($jenismodal) {
|
||||
case "selenggara":
|
||||
$kategori = "Baiki dan Selenggara";
|
||||
$tag = 2;
|
||||
break;
|
||||
case "keraian":
|
||||
$kategori = "Keraian & Promosi";
|
||||
$tag = 3;
|
||||
break;
|
||||
case "belanjaam":
|
||||
$kategori = "Belanja AM";
|
||||
$tag = 1;
|
||||
break;
|
||||
case "perubatan":
|
||||
$kategori = "Belanja AM - Perubatan";
|
||||
$tag = 1;
|
||||
break;
|
||||
case "dapur":
|
||||
$kategori = "Belanja AM - Barangan Dapur";
|
||||
$tag = 1;
|
||||
break;
|
||||
case "pos":
|
||||
$kategori = "Belanja AM - Postage";
|
||||
$tag = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
return ['kategori' => $kategori, 'tag' => $tag];
|
||||
}
|
||||
|
||||
public function delete(Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
@@ -89,14 +122,13 @@ class PanjarServices
|
||||
$panjar = Panjar::on($cawangan['mysql'])->latest('tarikh')->where('nobaucer', $request->nobaucer)->first();
|
||||
$vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first();
|
||||
$deno_panjar = DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $request->recno)->latest('tarikh','masa')->first();
|
||||
|
||||
try{
|
||||
if (!$panjar) throw new \Exception('Custom Exception: Panjar Does Not Exist!');
|
||||
if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!');
|
||||
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
|
||||
if (!$deno_panjar) throw new \Exception('Custom Exception: Denominasi Panjar Does Not Exist!');
|
||||
|
||||
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault,$request) {
|
||||
return DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault) {
|
||||
|
||||
$return_data = $this->calculation_denominasi($deno_panjar,$denominasi,'masuk');
|
||||
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
|
||||
@@ -149,17 +181,14 @@ class PanjarServices
|
||||
if($bakiakhir <= 0) throw new \Exception('Custom Exception: Amaun Baki Akhir Cannot Be Zero');
|
||||
if($totalpanjar < 0) throw new \Exception('Custom Exception: Amaun Panjar Cannot Be Zero');
|
||||
|
||||
Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->latest('tarikh')->update(array(
|
||||
Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->where('tarikh','=',$current->toDateString())->update(array(
|
||||
'totpanjar' => $totalpanjar,
|
||||
'bakiakhir'=>$bakiakhir,
|
||||
'bakieod'=>$bakiakhir
|
||||
));
|
||||
|
||||
DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $panjar['recno'])->latest('tarikh','masa')->delete();
|
||||
Panjar::on($cawangan['mysql'])->where('recno',$panjar['recno'])->delete();
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->tuntutoleh;
|
||||
$audit->users = $panjar['tuntutoleh'];
|
||||
$audit->actions = "Keluarkan Perbelanjaan";
|
||||
$audit->new_data = $panjar;
|
||||
$audit->kodcaw = $this->cawangan;
|
||||
@@ -167,10 +196,27 @@ class PanjarServices
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
DenoPanjar::on('mysql7')->where('kodcaw', $this->cawangan)->where('recno', $panjar['recno'])->latest('tarikh','masa')->delete();
|
||||
Panjar::on($cawangan['mysql'])->where('recno',$panjar['recno'])->delete();
|
||||
|
||||
$totalperubatan = floatval($this->getPerubatanAmount($panjar['tuntutoleh']));
|
||||
|
||||
return $array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1,
|
||||
'totalperubatan' => $totalperubatan,
|
||||
'tuntutoleh' => $panjar['tuntutoleh'],
|
||||
'jenis' => ($panjar['kategori'] == 'Belanja AM - Perubatan') ? 'perubatan' : 'none'
|
||||
];
|
||||
|
||||
});
|
||||
}catch(\Exception $e){
|
||||
dd($e->getMessage());
|
||||
Log::error('Exception: ' , $e->getMessage());
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
Log::error('Exception: ' . $e->getMessage());
|
||||
return $array_response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,25 +227,27 @@ class PanjarServices
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $this->cawangan)->first();
|
||||
$denominasi = Denominasi::on($cawangan['mysql'])->latest('tarikh')->first();
|
||||
$vault = Vault::on($cawangan['mysql'])->latest('tarikh')->first();
|
||||
|
||||
try{
|
||||
if (!$denominasi) throw new \Exception('Custom Exception: Denominasi Does Not Exist!');
|
||||
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
|
||||
|
||||
DB::transaction(function () use ($cawangan,$denominasi,$current,$vault,$request) {
|
||||
return $response = DB::transaction(function () use ($cawangan,$denominasi,$current,$vault,$request) {
|
||||
|
||||
$myDateTime = DateTime::createFromFormat('Y-m-d', $request->tarikhbil);
|
||||
$tarikhbil = $myDateTime->format('dmY');
|
||||
$tagmodal = $this->checkModal($request->jenismodal);
|
||||
$panjar = Panjar::on($cawangan['mysql'])
|
||||
->create([
|
||||
'tarikh'=> $current->toDateString(),
|
||||
'deskripsi'=> $request->deskripsi,
|
||||
'bayaran' => $request->bayaran,
|
||||
'tag' => $request->tag,
|
||||
'kategori' => $request->kategori,
|
||||
'id' => $request->id,
|
||||
'bakiperubatan' => $request->bakiperubatan,
|
||||
'nobaucer' => $request->nobaucer,
|
||||
'nobil' => $request->nobil,
|
||||
'tuntutoleh' => $request->tuntutoleh
|
||||
'tag' => $tagmodal['tag'],
|
||||
'kategori' => $tagmodal['kategori'],
|
||||
'id' => $request->kodlaluan,
|
||||
'bakiperubatan' => 0,
|
||||
'nobaucer' => $request->baucer,
|
||||
'nobil' => $tarikhbil,
|
||||
'tuntutoleh' => $request->tuntutan
|
||||
]);
|
||||
|
||||
$denopanjar = DenoPanjar::on('mysql7')->create([
|
||||
@@ -207,31 +255,31 @@ class PanjarServices
|
||||
'masa' => $current->toTimeString(),
|
||||
'kodcaw' => $this->cawangan,
|
||||
'kodlaluan' => $request->kodlaluan,
|
||||
'serahan' => $request->serahan,
|
||||
'bd1' => $request->bd1,
|
||||
'bd5' => $request->bd5,
|
||||
'bd10' => $request->bd10,
|
||||
'bd20' => $request->bd20,
|
||||
'bd50' => $request->bd50,
|
||||
'bd100' => $request->bd100,
|
||||
'txtring1' => $request->txtring1,
|
||||
'txtring5' => $request->txtring5,
|
||||
'txtring10' => $request->txtring10,
|
||||
'txtring20' => $request->txtring20,
|
||||
'txtring50' => $request->txtring50,
|
||||
'txtring100' => $request->txtring100,
|
||||
'txtring1000' => $request->txtring1000,
|
||||
'txtsen1' => $request->txtsen1,
|
||||
'txtsen5' => $request->txtsen5,
|
||||
'txtsen10' => $request->txtsen10,
|
||||
'txtsen20' => $request->txtsen20,
|
||||
'txtsen50' => $request->txtsen50,
|
||||
'jenis' =>$request->jenis,
|
||||
'recno' =>$panjar['recno'],
|
||||
'serahan' => $request->bayaran,
|
||||
'bd1' => 0,
|
||||
'bd5' => 0,
|
||||
'bd10' => 0,
|
||||
'bd20' => 0,
|
||||
'bd50' => 0,
|
||||
'bd100' => 0,
|
||||
'txtring1' => $request->ambilanring1,
|
||||
'txtring5' => $request->ambilanring5,
|
||||
'txtring10' => $request->ambilanring10,
|
||||
'txtring20' => $request->ambilanring20,
|
||||
'txtring50' => $request->ambilanring50,
|
||||
'txtring100' => $request->ambilanring100,
|
||||
'txtring1000' => 0,
|
||||
'txtsen1' => $request->ambilansen1,
|
||||
'txtsen5' => $request->ambilansen5,
|
||||
'txtsen10' => $request->ambilansen10,
|
||||
'txtsen20' => $request->ambilansen20,
|
||||
'txtsen50' => $request->ambilansen50,
|
||||
'jenis' =>$request->jenismodal,
|
||||
'recno' =>$panjar['id'],
|
||||
'update' => '0'
|
||||
]);
|
||||
|
||||
$return_data = $this->calculation_denominasi($denopanjar,$denominasi,'masuk');
|
||||
$return_data = $this->calculation_denominasi($denopanjar,$denominasi,'keluar');
|
||||
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
|
||||
|
||||
Denominasi::on($cawangan['mysql'])->where([['tarikh','=',$current->toDateString()]])->update(array(
|
||||
@@ -282,7 +330,7 @@ class PanjarServices
|
||||
if($bakiakhir <= 0) throw new \Exception('Custom Exception: Amaun Baki Akhir Cannot Be Zero');
|
||||
if($totalpanjar < 0) throw new \Exception('Custom Exception: Amaun Panjar Cannot Be Zero');
|
||||
|
||||
Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->latest('tarikh')->update(array(
|
||||
Vault::on($cawangan['mysql'])->where('kodcaw','=', $cawangan['kodcaw'])->where('tarikh','=',$current->toDateString())->update(array(
|
||||
'totpanjar' => $totalpanjar,
|
||||
'bakiakhir'=>$bakiakhir,
|
||||
'bakieod'=>$bakiakhir
|
||||
@@ -297,21 +345,34 @@ class PanjarServices
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
$totalperubatan = $this->getPerubatanAmount($request->tuntutan);
|
||||
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
'data' => 1,
|
||||
'totalperubatan' => $totalperubatan,
|
||||
];
|
||||
return response()->json($array_response);
|
||||
return $array_response;
|
||||
|
||||
});
|
||||
}catch(\Exception $e){
|
||||
dd($e->getMessage());
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
return response()->json($array_response);
|
||||
Log::error('Exception: ' , $e->getMessage());
|
||||
Log::error('Exception: ' . $e->getMessage());
|
||||
return $array_response;
|
||||
}
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getPerubatanAmount($tuntutanoleh){
|
||||
$current = Carbon::now();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', $this->cawangan)->first();
|
||||
$panjar = Panjar::on($cawangan['mysql'])->whereYear('tarikh',$current->year)->where('kategori','Belanja AM - Perubatan')->where('tuntutoleh',$tuntutanoleh)->sum('bayaran');
|
||||
|
||||
return $panjar;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ use App\Tebus;
|
||||
use App\Transaction;
|
||||
use App\TransaksiKeuntungan;
|
||||
use App\WTD;
|
||||
use App\AkruNet;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class GeneralLedger
|
||||
@@ -517,6 +518,43 @@ class GeneralLedger
|
||||
$mulaCarbon = new Carbon($this->mula);
|
||||
$hinggaCarbon = new Carbon($this->hingga);
|
||||
|
||||
if($this->isFullMonth($this->mula,$this->hingga) && $mulaCarbon->month < 10){
|
||||
$lastDayOfPreviousMonth = $mulaCarbon->subMonth()->endOfMonth();
|
||||
|
||||
$balancesheet_previousmonth = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayOfPreviousMonth->toDateString())->first()->toArray();
|
||||
$balancesheet_currentmonth = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$this->hingga)->first()->toArray();
|
||||
// dd($lastDayOfPreviousMonth->toDateString(),$this->hingga,$balancesheet_previousmonth['keun_sebenar'],$balancesheet_currentmonth['keun_sebenar']);
|
||||
|
||||
$realprofit_previousmonth = ($lastDayOfPreviousMonth->year == $hinggaCarbon->year) ? $balancesheet_previousmonth['keun_sebenar'] : 0;
|
||||
$realprofit_currentmonth = $balancesheet_currentmonth['keun_sebenar'];
|
||||
|
||||
$total_keuntungan_sebenar = $realprofit_currentmonth - $realprofit_previousmonth;
|
||||
|
||||
$month = $lastDayOfPreviousMonth->month;
|
||||
$className_previous = "App\StokAudit{$month}";
|
||||
|
||||
$month_current = $hinggaCarbon->month;
|
||||
$className_current = "App\StokAudit{$month_current}";
|
||||
|
||||
$stokaudit_previous = $className_previous::on($cawangan['mysql'])->where('tahun',$lastDayOfPreviousMonth->year);
|
||||
$stokaudit_current = $className_current::on($cawangan['mysql'])->where('tahun',$hinggaCarbon->year);
|
||||
|
||||
$akrunet = AkruNet::on($cawangan['mysql'])->where('bulan',$month_current)->where('tahun',$hinggaCarbon->year)->first()->toArray();
|
||||
|
||||
|
||||
$stokaudit_previous = $stokaudit_previous->sum('upahblmbyar');
|
||||
$stokaudit_current = $stokaudit_current->sum('upahblmbyar');
|
||||
|
||||
// $pend_terakru = $balancesheet_currentmonth['pend_terakru'];
|
||||
|
||||
$total = $akrunet['jumlah'] - $stokaudit_current;
|
||||
$total_keuntungan_semasa = abs($total) - $stokaudit_previous;
|
||||
|
||||
$array_keuntungan = ['keuntungan_sebenar' => abs($total_keuntungan_sebenar), 'keuntungan_semasa' => abs($total_keuntungan_semasa)];
|
||||
|
||||
return $array_keuntungan;
|
||||
}
|
||||
|
||||
/* Start Keuntungan Sebenar Calculation */
|
||||
$collection_trans = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function ($join) {
|
||||
@@ -718,6 +756,24 @@ class GeneralLedger
|
||||
})->sum($sumtype);
|
||||
}
|
||||
|
||||
private function isFullMonth($startDate,$endDate){
|
||||
// Parse the dates to Carbon instances
|
||||
$start = Carbon::parse($startDate);
|
||||
$end = Carbon::parse($endDate);
|
||||
|
||||
// Check if the start date is the first day of the month
|
||||
$isFirstDay = $start->isSameDay($start->copy()->startOfMonth());
|
||||
|
||||
// Check if the end date is the last day of the month
|
||||
$isLastDay = $end->isSameDay($end->copy()->endOfMonth());
|
||||
|
||||
// Check if both dates are in the same month and year
|
||||
$isSameMonth = $start->isSameMonth($end) && $start->isSameYear($end);
|
||||
|
||||
// Return true only if all conditions are met
|
||||
return $isFirstDay && $isLastDay && $isSameMonth;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -302,7 +302,9 @@ class OnePercentService
|
||||
$ujrah_current = $result_audit_current->sum('ujrah');
|
||||
}
|
||||
/* B */
|
||||
$result_audit_previous = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate);
|
||||
$year_sebelum = $date_sebelum->format('Y');
|
||||
$year_publish = ($month_sekarang == 1) ? $year_sebelum : $year_generate;
|
||||
$result_audit_previous = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_publish);
|
||||
$onepercent_previous = $result_audit_previous->sum('utgonepercent');
|
||||
$ujrah_previous = $result_audit_previous->sum('ujrah');
|
||||
|
||||
|
||||
@@ -821,7 +821,8 @@ class RingkasanHarianService
|
||||
'011233' => '2021-06-28',
|
||||
];
|
||||
|
||||
return $tarikhTawarruq[Str::upper($this->kodCawangan)];
|
||||
$defaultDate = '2021-01-01';
|
||||
return $tarikhTawarruq[Str::upper($this->kodCawangan)] ?? $defaultDate;
|
||||
}
|
||||
|
||||
private function getOutstandingImbangDuga()
|
||||
|
||||
@@ -181,7 +181,14 @@ class OnePercent extends MasterServices
|
||||
|
||||
public function tebusUpdateAutoTawarruq($kodcaw,$norujukan,HttpRequest $request){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->tebusUpdateAutoTawarruq($this->kodcaw,$norujukan,$request);
|
||||
$response = $tebus->transaksiPembiayaanSemula($this->kodcaw,$norujukan,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusUpdateTambahPinjaman($kodcaw,$norujukan,HttpRequest $request){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->transaksiTambahPembiayaan($this->kodcaw,$norujukan,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
@@ -207,6 +214,13 @@ class OnePercent extends MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusTransaksiUpdate($kodcaw,$norujukan,HttpRequest $request){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->tebusTransaksiUpdate($this->kodcaw,$norujukan,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/* End Penebusan */
|
||||
|
||||
public function test(){
|
||||
|
||||
@@ -8,6 +8,7 @@ use App\Support\v1\GadaiV1 as Version1Gadai;
|
||||
use App\Services\MasterServices;
|
||||
use App\Support\v1\Penebusan;
|
||||
use Illuminate\Http\Request as HttpRequest;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class Tawarruq extends MasterServices
|
||||
{
|
||||
@@ -165,7 +166,7 @@ class Tawarruq extends MasterServices
|
||||
|
||||
public function tebusUpdateAutoTawarruq($kodcaw,$norujukan,HttpRequest $request){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->tebusUpdateAutoTawarruq($this->kodcaw,$norujukan,$request);
|
||||
$response = $tebus->transaksiPembiayaanSemula($this->kodcaw,$norujukan,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,10 @@ use App\KadarUpah;
|
||||
use App\Support\v2\Calculation;
|
||||
use Carbon\Carbon;
|
||||
use App\Gadai;
|
||||
use App\HargaEmas;
|
||||
use App\InOutMar;
|
||||
use App\KomuditiPurchase;
|
||||
use App\KomuditiTransaksi;
|
||||
use App\Marhun;
|
||||
use App\Moratorium;
|
||||
use App\Support\OnePercent;
|
||||
@@ -188,7 +191,8 @@ class Penebusan
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
$tawarruqservices = new V1Calculation();
|
||||
$keuntungan = $tawarruqservices->kiraanTawarruq($gadai_data['pinjaman'],$gadai_data['kadarupah']);
|
||||
//$keuntungan = $tawarruqservices->kiraanTawarruq($gadai_data['pinjaman'],$gadai_data['kadarupah']);
|
||||
$keuntungan = $tawarruqservices->kiraanTawarruq(($gadai_data['pinjaman'] !== null) ? $gadai_data['pinjaman'] : 0,($gadai_data['kadarupah'] !== null) ? $gadai_data['kadarupah'] : 0);
|
||||
$upahsemasa_raw = $bilang_bln * $keuntungan;
|
||||
|
||||
$upah_semasa_round = number_format($upahsemasa_raw,2);
|
||||
@@ -458,7 +462,7 @@ class Penebusan
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','T')->first();
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
return response()->json('duplicate');
|
||||
}
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
@@ -601,7 +605,7 @@ class Penebusan
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
return response()->json('duplicate');
|
||||
}
|
||||
|
||||
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
@@ -771,4 +775,326 @@ class Penebusan
|
||||
|
||||
return $tempoh_gadai;
|
||||
}
|
||||
|
||||
public function transaksiPembiayaanSemula($kodcaw,$norujukan,HttpRequest $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
$gadai = optional($gadai)->toArray();
|
||||
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
}
|
||||
|
||||
if(!$gadai){
|
||||
return 'gadai no-data';
|
||||
}
|
||||
|
||||
$array_tebus = $request->only(['jeniskeuntungan', 'nopelanggan','jenistebus','addpinjaman','nowakil','marhun','teller','bakipinjaman','bakiupah']);
|
||||
$array_trans = $request->only(['nopelanggan', 'noic','jenisAT','pinjaman','pinjamanbaru','marhun','teller','jenistebus']);
|
||||
$array_tebus_base = $request->only(['totalbayaran', 'bakiupah','jeniskeuntungan','bakipinjaman','jenistebus','teller','nowakil','duitpelanggan']);
|
||||
$array_trans_base = $request->only(['pinjaman','teller','pinjamanbaru']);
|
||||
|
||||
try{
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
$this->saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus);
|
||||
$this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans);
|
||||
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
$this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base);
|
||||
$this->createTransactionBase($norujukan,$kodcaw,$array_trans_base);
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
];
|
||||
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return response()->json($array_response);
|
||||
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
|
||||
Log::error('Transaction failed', [
|
||||
'exception' => $e->getMessage(),
|
||||
'line' => $e->getLine(),
|
||||
'file' => $e->getFile(),
|
||||
]);
|
||||
|
||||
return response()->json($array_response);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus){
|
||||
$current = Carbon::now();
|
||||
|
||||
$rebet = 0;
|
||||
|
||||
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan);
|
||||
|
||||
$upah_rebet = $this->kiraUpahRebet($norujukan);
|
||||
|
||||
try{
|
||||
Tebus::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $norujukan,
|
||||
'nopelanggan' => $array_tebus['nopelanggan'],
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => $array_tebus['jenistebus'],
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => $gadai['tempoh'],
|
||||
'kadarupah' => $gadai['kadarupah'],
|
||||
'nilaimarhun' => $gadai['nilaimarhun'],
|
||||
'pinjaman' => $gadai['pinjaman'],
|
||||
'ansuran' => 0.00,
|
||||
'addpinjaman' => $array_tebus['addpinjaman'],
|
||||
'bakipjm' => $array_tebus['bakipinjaman'],
|
||||
'bakiupah' => $array_tebus['bakiupah'],
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => $array_tebus['nowakil'],
|
||||
'rebate' => $rebet,
|
||||
'marhuntebus' => $array_tebus['marhun'],
|
||||
'historygadaian' => $norujukan,
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => $array_tebus['teller'],
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in Tebus: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private function saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base){
|
||||
$current = Carbon::now();
|
||||
|
||||
if($array_tebus_base['jenistebus'] == 'AT'){
|
||||
$bayaran_pembiayaan = $array_tebus_base['totalbayaran'] - $array_tebus_base['bakiupah'];
|
||||
}else{
|
||||
$bayaran_pembiayaan = $array_tebus_base['bakipinjaman'];
|
||||
}
|
||||
|
||||
$margin_semasa = ($gadai['bakipjm']/$gadai['nilaimarhun']) * 100;
|
||||
|
||||
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$array_tebus_base['jeniskeuntungan']);
|
||||
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
||||
|
||||
$bayaran_pembiayaan = $array_tebus_base['totalbayaran'] - $array_tebus_base['bakiupah'];
|
||||
|
||||
$upah_rebet_sebenar = $harga_tebus - $gadai['bakipjm'];
|
||||
|
||||
try{
|
||||
TransaksiKeuntungan::on('mysql7')->create([
|
||||
'norujukan' => $norujukan,
|
||||
'bayaran_keuntungan' => $array_tebus_base['bakiupah'],
|
||||
'bayaran_pembiayaan' => $bayaran_pembiayaan,
|
||||
'keuntungan_rebet' => $array_tebus_base['bakiupah'],
|
||||
'tarikh_bayaran'=> $current,
|
||||
'kodcaw'=> $kodcaw
|
||||
]);
|
||||
|
||||
if($array_tebus_base['jenistebus'] == 'P'){
|
||||
$duit_masuk = $array_tebus_base['bakiupah'];
|
||||
}else if($array_tebus_base['jenistebus'] == 'AT'){
|
||||
$duit_masuk = $array_tebus_base['totalbayaran'];
|
||||
}else{
|
||||
$duit_masuk = $harga_tebus['harga'];
|
||||
}
|
||||
|
||||
$baki_hargajualan = ($array_tebus_base['jenistebus'] == 'P') ? $gadai['bakihargajualan'] = $array_tebus_base['bakiupah'] : $gadai['bakihargajualan'] - $array_tebus_base['bakipinjaman'];
|
||||
Transaction::on('mysql7')->create([
|
||||
'trans_type' => $array_tebus_base['jenistebus'],
|
||||
'norujukan' => $norujukan,
|
||||
'nokp' => $gadai['nokp'],
|
||||
'teller' => $array_tebus_base['teller'],
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $array_tebus_base['totalbayaran'],
|
||||
'created_at' => $current,
|
||||
'bakiharga' => 0,
|
||||
'duitpelanggan' => isset($array_tebus_base['duitpelanggan']) ? $array_tebus_base['duitpelanggan'] : 0,
|
||||
'bakipelanggan' => isset($array_tebus_base['bakipelanggan']) ? $array_tebus_base['bakipelanggan'] : 0
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in TebusBase: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private function createTransaction($cawangan,$kodcaw,$norujukan,$array_trans){
|
||||
$current = Carbon::now();
|
||||
|
||||
/* Create Gadai */
|
||||
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$current->toDateString())->orderBy('sirig', 'desc')->first();
|
||||
$gadaiTransaction = optional($gadaiTransaction)->toArray();
|
||||
|
||||
$new_sirig = ($gadaiTransaction) ? $gadaiTransaction['sirig'] + 1 : 1;
|
||||
$curent_year = substr($current->year,2,2);
|
||||
$curent_month = sprintf("%02d", $current->month);
|
||||
$current_day = sprintf("%02d", $current->day);
|
||||
|
||||
$new_transaction = sprintf("%04d",$new_sirig);
|
||||
$new_sag_number = strtoupper($cawangan['kodcaw']) . $curent_year . $curent_month . $current_day . '-' .$new_transaction;
|
||||
|
||||
try{
|
||||
Gadai::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=>$kodcaw,
|
||||
'norujukan' => $new_sag_number,
|
||||
'nopelanggan' => $array_trans['nopelanggan'],
|
||||
'nokp' => $array_trans['noic'],
|
||||
'sirig' => $new_sirig,
|
||||
't_gadai' => $current->toDateString(),
|
||||
'sttebus' => '',
|
||||
'masa' =>$current->toTimeString(),
|
||||
'tagbaru' => 1
|
||||
]);
|
||||
|
||||
$marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
|
||||
|
||||
foreach($marhun as $marhunloop){
|
||||
$karatbaru = (strpos($marhunloop['karat'], '.') !== false) ? str_replace('-','.',$marhunloop['karat']) : $marhunloop['karat'];
|
||||
$karatbaru = $marhunloop['karat'];
|
||||
$harga_emas = HargaEmas::on('mysql7')->select('harga')->where('karat','=',$karatbaru)->first();
|
||||
|
||||
if(isset($array_trans['jenisAT'])){
|
||||
$harga = ($array_trans['jenisAT'] == 'hargalama') ? $marhunloop['harga'] : $harga_emas['harga'];
|
||||
}else{
|
||||
$harga = $harga_emas['harga'];
|
||||
}
|
||||
|
||||
$nilai_marhun = (floatval($harga) * floatval($marhunloop['berat']));
|
||||
|
||||
$marhunToCreate = [
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $new_sag_number,
|
||||
't_gadai' => $current->toDateString(),
|
||||
'bil' => $marhunloop['kuantiti'],
|
||||
'marhun' => $marhunloop['marhun'],
|
||||
'nota' => $marhunloop['nota'],
|
||||
'tag_permata' => $marhunloop['tag_permata'] != null ? $marhunloop['tag_permata'] : 0,
|
||||
'berat_batu_permata' => $marhunloop['berat_batu_permata'] != null ? $marhunloop['berat_batu_permata'] : '',
|
||||
'karat' => $marhunloop['karat'],
|
||||
'berat' => $marhunloop['berat'],
|
||||
'harga' => $harga,
|
||||
'n_marhun' => $nilai_marhun
|
||||
];
|
||||
|
||||
if($marhunToCreate['berat_batu_permata'] == '') {
|
||||
$marhunToCreate['berat_batu_permata'] = null;
|
||||
};
|
||||
|
||||
Marhun::on($cawangan['mysql'])->create($marhunToCreate);
|
||||
}
|
||||
|
||||
$total_nilai_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('n_marhun');
|
||||
$total_bil_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('bil');
|
||||
$total_berat_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('berat');
|
||||
|
||||
$margin_pinjaman = ($array_trans['pinjamanbaru'] / $total_nilai_marhun);
|
||||
|
||||
$t_matang = Carbon::now();
|
||||
$t_matang = $t_matang->addMonths(6)->subDays(1);
|
||||
|
||||
$t_kontrak = Carbon::now();
|
||||
$t_kontrak = $t_kontrak->addMonths(12)->subDays(1);
|
||||
|
||||
$kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->where('group_id',$cawangan['group_id'])->first();
|
||||
|
||||
$onepercentservices = new Calculation();
|
||||
$keuntungan = $onepercentservices->kiraanKeuntunganSebenar($array_trans['pinjamanbaru'],$total_nilai_marhun,$kadar_raw['kadarujrah'],$margin_pinjaman);
|
||||
|
||||
$upah1 = $onepercentservices->getRoundedMethod($keuntungan['keuntungan']);
|
||||
$upah6 = $onepercentservices->getRoundedMethod($upah1 * 6);
|
||||
$upah12 = $onepercentservices->getRoundedMethod($upah1 * 12);
|
||||
$ujrah = $onepercentservices->getRoundedMethod($keuntungan['ujrah']);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($keuntungan['onepercent']);
|
||||
$akrual_ujrah = $onepercentservices->getRoundedMethod($keuntungan['ujrah'] * 0.5);
|
||||
$akrual_onepercent = $onepercentservices->getRoundedMethod($keuntungan['onepercent'] * 0.5);
|
||||
|
||||
$hargajualan = $array_trans['pinjaman'] + $upah12;
|
||||
|
||||
Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$new_sag_number)
|
||||
->update(array(
|
||||
'nilaimarhun' => $total_nilai_marhun,
|
||||
'berat'=> $total_berat_marhun,
|
||||
'pinjaman' => $array_trans['pinjamanbaru'],
|
||||
'kadarupah' => $kadar_raw['kadarujrah'],
|
||||
'marhun' => $array_trans['marhun'],
|
||||
'percentpinj' => $margin_pinjaman,
|
||||
'teller' => $array_trans['teller'],
|
||||
'bakipjm' => $array_trans['pinjamanbaru'],
|
||||
'bakiupah' => $upah6,
|
||||
'jbg' => 0.5,
|
||||
't_update' => $current->toDateString(),
|
||||
'cetak' => 0,
|
||||
'upah12' => $upah12,
|
||||
'hargajualan' => $hargajualan,
|
||||
'bakihargajualan' => $hargajualan,
|
||||
'tagserah' => 0,
|
||||
't_matang' => $t_matang,
|
||||
't_matang1' => $t_kontrak,
|
||||
'tempoh' => 0.5,
|
||||
'kuantiti' => $total_bil_marhun,
|
||||
'tagkomuditi' => 0,
|
||||
'upahdibayar' => 0.00,
|
||||
'tempohbayar' => 0.00,
|
||||
'lelong_tawarruq' => 1,
|
||||
'kadarujrah' => $kadar_raw['kadarujrah'],
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
'margin_semasa' => $margin_pinjaman,
|
||||
'tagbaru' => 1,
|
||||
'tunggakanujrah' => $akrual_ujrah,
|
||||
'tunggakanonepercent' => $akrual_onepercent,
|
||||
'historygadaian' => $norujukan,
|
||||
'tag_tebus' => $array_trans['jenistebus'],
|
||||
));
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
'sttebus' => "T",
|
||||
't_update' => $current->toDateString(),
|
||||
));
|
||||
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in Transaction: " . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function createTransactionBase($norujukan,$kodcaw,$array_trans_base){
|
||||
$current = Carbon::now();
|
||||
|
||||
$komuditi_current = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first();
|
||||
|
||||
$unit_current = isset($komuditi_current['unit_komuditi']) ? $komuditi_current['unit_komuditi']: 0;
|
||||
|
||||
try{
|
||||
$update_unit = $unit_current - $array_trans_base['pinjamanbaru'];
|
||||
|
||||
KomuditiPurchase::on('mysql7')->where('id','=',$komuditi_current['id'])->update([
|
||||
'unit_komuditi' => $update_unit
|
||||
]);
|
||||
|
||||
KomuditiTransaksi::on('mysql7')->create([
|
||||
'unit_komuditi' => $update_unit,
|
||||
'nosijil'=>$komuditi_current['no_sijil'],
|
||||
'norujukan' => $norujukan,
|
||||
'kodcaw' => $kodcaw,
|
||||
'teller' => $array_trans_base['teller'],
|
||||
'masa' => $current->toTimeString(),
|
||||
'tarikh' => $current->toDateString()
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in TransactionBase: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,8 +177,11 @@ class GadaiV2
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
|
||||
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
|
||||
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
|
||||
//$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
|
||||
$onepercent = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
|
||||
$ujrah = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
|
||||
$upahsemasa_raw = $onepercent + $ujrah;
|
||||
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
|
||||
|
||||
return $upahsemasa_raw;
|
||||
}
|
||||
@@ -203,7 +206,10 @@ class GadaiV2
|
||||
|
||||
$upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
|
||||
$upahrebet_raw = $bilang_bln * $upah['keuntungan'];
|
||||
//$upahrebet_raw = $bilang_bln * $upah['keuntungan'];
|
||||
$onepercent = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
|
||||
$ujrah = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
|
||||
$upahrebet_raw = $onepercent + $ujrah;
|
||||
$upahrebet_raw = $onepercentservices->getRoundedMethod($upahrebet_raw);
|
||||
|
||||
return $upahrebet_raw;
|
||||
@@ -240,7 +246,7 @@ class GadaiV2
|
||||
|
||||
$margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100;
|
||||
|
||||
$keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa);
|
||||
$keuntungan = $onepercent->kiraanKeuntunganRebet($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']);
|
||||
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']);
|
||||
|
||||
$onepercentasal = $gadai['pinjaman'] * (1/100);
|
||||
|
||||
@@ -9,8 +9,13 @@ use App\KadarUpah;
|
||||
use App\Support\v2\Calculation;
|
||||
use Carbon\Carbon;
|
||||
use App\Gadai;
|
||||
use App\HargaEmas;
|
||||
use App\InOutMar;
|
||||
use App\KomuditiPurchase;
|
||||
use App\KomuditiTransaksi;
|
||||
use App\Marhun;
|
||||
use App\FailoverTransaction;
|
||||
use App\FailoverTransactionFailed;
|
||||
use App\Moratorium;
|
||||
use App\Support\OnePercent;
|
||||
use App\Tebus;
|
||||
@@ -200,8 +205,9 @@ class Penebusan
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
|
||||
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
|
||||
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
|
||||
$ujrah = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
|
||||
$upahsemasa_raw = $onepercentservices->getRoundedMethod($onepercent + $ujrah);
|
||||
|
||||
return $upahsemasa_raw;
|
||||
}
|
||||
@@ -483,7 +489,7 @@ class Penebusan
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->whereIn('trans_type', ['P', 'T', 'S'])->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
return response()->json('duplicate');
|
||||
}
|
||||
|
||||
$ujrah=0;$onepercent=0;$rounded=0;
|
||||
@@ -649,7 +655,7 @@ class Penebusan
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
return response()->json('duplicate');
|
||||
}
|
||||
|
||||
$ujrah=0;$onepercent=0;$rounded=0;
|
||||
@@ -917,4 +923,428 @@ class Penebusan
|
||||
}
|
||||
|
||||
|
||||
public function transaksiPembiayaanSemula($kodcaw,$norujukan,HttpRequest $request){
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
$gadai = optional($gadai)->toArray();
|
||||
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
}
|
||||
|
||||
if(!$gadai){
|
||||
return 'gadai no-data';
|
||||
}
|
||||
|
||||
$array_tebus = $request->only(['jeniskeuntungan', 'nopelanggan','jenistebus','addpinjaman','nowakil','marhun','teller']);
|
||||
$array_trans = $request->only(['nopelanggan', 'noic','jenisAT','pinjaman','pinjamanbaru','marhun','teller','jenistebus']);
|
||||
$array_tebus_base = $request->only(['totalbayaran', 'bakiupah','jeniskeuntungan','bakipinjaman','jenistebus','teller','nowakil','duitpelanggan']);
|
||||
$array_trans_base = $request->only(['pinjaman','teller','pinjamanbaru']);
|
||||
|
||||
try{
|
||||
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
$this->saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus);
|
||||
$this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans);
|
||||
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
$this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base);
|
||||
$this->createTransactionBase($norujukan,$kodcaw,$array_trans_base);
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
];
|
||||
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return response()->json($array_response);
|
||||
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
|
||||
Log::error('Transaction failed', [
|
||||
'exception' => $e->getMessage(),
|
||||
'line' => $e->getLine(),
|
||||
'file' => $e->getFile(),
|
||||
]);
|
||||
|
||||
return response()->json($array_response);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function transaksiTambahPembiayaan($kodcaw,$norujukan,HttpRequest $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
$gadai = optional($gadai)->toArray();
|
||||
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
}
|
||||
|
||||
$array_tebus = $request->only(['jeniskeuntungan', 'nopelanggan','jenistebus','addpinjaman','nowakil','marhun','teller']);
|
||||
$array_trans = $request->only(['nopelanggan', 'noic','pinjaman','pinjamanbaru','marhun','teller','jenistebus']);
|
||||
$array_tebus_base = $request->only(['totalbayaran', 'bakiupah','jeniskeuntungan','bakipinjaman','jenistebus','teller','nowakil','duitpelanggan']);
|
||||
$array_trans_base = $request->only(['pinjaman','teller','pinjamanbaru']);
|
||||
|
||||
try{
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
$this->saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus);
|
||||
$this->createTransaction($cawangan,$kodcaw,$norujukan,$array_trans);
|
||||
DB::connection('mysql7')->beginTransaction();
|
||||
$this->saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base);
|
||||
$this->createTransactionBase($norujukan,$kodcaw,$array_trans_base);
|
||||
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
];
|
||||
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
DB::connection('mysql7')->commit();
|
||||
|
||||
return response()->json($array_response);
|
||||
|
||||
}catch(\Exception $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
|
||||
Log::error('Transaction failed', [
|
||||
'exception' => $e->getMessage(),
|
||||
'line' => $e->getLine(),
|
||||
'file' => $e->getFile(),
|
||||
]);
|
||||
|
||||
return response()->json($array_response);
|
||||
}
|
||||
}
|
||||
|
||||
private function transaksiPenyelesaianSebahagian($kodcaw,$norujukan,HttpRequest $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
|
||||
try{
|
||||
//check duplicate
|
||||
$data = Transaction::on('mysql7')->where('norujukan','=',$norujukan)->where('trans_type','=','AT')->first();
|
||||
|
||||
if(!empty($data)){
|
||||
return 'duplicate';
|
||||
}
|
||||
}catch(\Exception $e){
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private function saveTebus($kodcaw,$norujukan,$gadai,$cawangan,$array_tebus){
|
||||
$current = Carbon::now();
|
||||
/*
|
||||
Rebet Still looking for the calculation
|
||||
*/
|
||||
$rebet = 0;
|
||||
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$array_tebus['jeniskeuntungan']);
|
||||
$upah_tebus = $this->kiraupahTawarruq($norujukan);
|
||||
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
||||
$array_onepercent_rebet = $this->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan);
|
||||
try{
|
||||
$onepercent_rebet = $array_onepercent_rebet['onepercent'] - $upah_rebet['onepercent'];
|
||||
$ujrah_rebet = $array_onepercent_rebet['ujrah'] - $upah_rebet['ujrah'];
|
||||
|
||||
Tebus::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $norujukan,
|
||||
'nopelanggan' => $array_tebus['nopelanggan'],
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => $array_tebus['jenistebus'],
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => $gadai['tempoh'],
|
||||
'kadarupah' => $gadai['kadarupah'],
|
||||
'nilaimarhun' => $gadai['nilaimarhun'],
|
||||
'pinjaman' => $gadai['pinjaman'],
|
||||
'ansuran' => 0.00,
|
||||
'addpinjaman' => $array_tebus['addpinjaman'],
|
||||
'bakipjm' => $harga_tebus['harga'],
|
||||
'bakiupah' => $upah_tebus,
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => $array_tebus['nowakil'],
|
||||
'rebate' => $rebet,
|
||||
'marhuntebus' => $array_tebus['marhun'],
|
||||
'historygadaian' => $norujukan,
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => $array_tebus['teller'],
|
||||
'ujrah' => $ujrah_rebet,
|
||||
'onepercent' => $onepercent_rebet,
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in Tebus: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private function saveTebusBase($kodcaw,$norujukan,$gadai,$array_tebus_base){
|
||||
$current = Carbon::now();
|
||||
|
||||
if($array_tebus_base['jenistebus'] == 'AT'){
|
||||
$bayaran_pembiayaan = $array_tebus_base['totalbayaran'] - $array_tebus_base['bakiupah'];
|
||||
}else{
|
||||
$bayaran_pembiayaan = $array_tebus_base['bakipinjaman'];
|
||||
}
|
||||
|
||||
$margin_semasa = ($gadai['bakipjm']/$gadai['nilaimarhun']) * 100;
|
||||
|
||||
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$array_tebus_base['jeniskeuntungan']);
|
||||
$upah_tebus = $this->kiraupahTawarruq($norujukan);
|
||||
$array_onepercent = $this->kiraupahUjrahOnePercent($kodcaw,$norujukan);
|
||||
$array_onepercent_rebet = $this->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan);
|
||||
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
||||
|
||||
$ujrah = $array_onepercent['ujrah'];
|
||||
$onepercent = $array_onepercent['onepercent'];
|
||||
$onepercent_rebet = $array_onepercent_rebet['onepercent'] - $upah_rebet['onepercent'];
|
||||
$ujrah_rebet = $array_onepercent_rebet['ujrah'] - $upah_rebet['ujrah'];
|
||||
|
||||
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
|
||||
|
||||
try{
|
||||
TransaksiKeuntungan::on('mysql7')->create([
|
||||
'norujukan' => $norujukan,
|
||||
'bayaran_keuntungan' => $upah_tebus,
|
||||
'bayaran_pembiayaan' => $bayaran_pembiayaan,
|
||||
'keuntungan_rebet' => $upah_rebet_sebenar,
|
||||
'tarikh_bayaran'=> $current,
|
||||
'kodcaw'=> $kodcaw,
|
||||
'ujrah' => ($array_tebus_base['jeniskeuntungan'] == 'onepercent') ? $ujrah : 0,
|
||||
'ujrah_rebet' => ($array_tebus_base['jeniskeuntungan'] == 'onepercent') ? $ujrah_rebet : 0,
|
||||
'onepercent' => ($array_tebus_base['jeniskeuntungan'] == 'onepercent') ? $onepercent : 0,
|
||||
'onepercent_rebet' => ($array_tebus_base['jeniskeuntungan'] == 'onepercent') ? $onepercent_rebet : 0,
|
||||
'margin_semasa' => ($array_tebus_base['jeniskeuntungan'] == 'onepercent') ? $margin_semasa : 0,
|
||||
'tempoh' => $gadai['tempoh'],
|
||||
'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']),
|
||||
]);
|
||||
|
||||
if($array_tebus_base['jenistebus'] == 'P'){
|
||||
$duit_masuk = $array_tebus_base['bakiupah'];
|
||||
}else if($array_tebus_base['jenistebus'] == 'AT'){
|
||||
$duit_masuk = $array_tebus_base['totalbayaran'];
|
||||
}else{
|
||||
$duit_masuk = $harga_tebus['harga'];
|
||||
}
|
||||
|
||||
$baki_hargajualan = ($array_tebus_base['jenistebus'] == 'P') ? $gadai['bakihargajualan'] = $array_tebus_base['bakiupah'] : $gadai['bakihargajualan'] - $array_tebus_base['bakipinjaman'];
|
||||
Transaction::on('mysql7')->create([
|
||||
'trans_type' => $array_tebus_base['jenistebus'],
|
||||
'norujukan' => $norujukan,
|
||||
'nokp' => $gadai['nokp'],
|
||||
'teller' => $array_tebus_base['teller'],
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $duit_masuk,
|
||||
'created_at' => $current,
|
||||
'bakiharga' => $baki_hargajualan,
|
||||
'nowakil' => (int)$array_tebus_base['nowakil'],
|
||||
'duitpelanggan' => isset($array_tebus_base['duitpelanggan']) ? $array_tebus_base['duitpelanggan'] : 0,
|
||||
'bakipelanggan' => isset($array_tebus_base['bakipelanggan']) ? $array_tebus_base['bakipelanggan'] : 0
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in TebusBase: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private function createTransaction($cawangan,$kodcaw,$norujukan,$array_trans){
|
||||
$current = Carbon::now();
|
||||
|
||||
/* Create Gadai */
|
||||
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$current->toDateString())->orderBy('sirig', 'desc')->first();
|
||||
$gadaiTransaction = optional($gadaiTransaction)->toArray();
|
||||
|
||||
$new_sirig = ($gadaiTransaction) ? $gadaiTransaction['sirig'] + 1 : 1;
|
||||
$curent_year = substr($current->year,2,2);
|
||||
$curent_month = sprintf("%02d", $current->month);
|
||||
$current_day = sprintf("%02d", $current->day);
|
||||
|
||||
$new_transaction = sprintf("%04d",$new_sirig);
|
||||
$new_sag_number = strtoupper($cawangan['kodcaw']) . $curent_year . $curent_month . $current_day . '-' .$new_transaction;
|
||||
|
||||
try{
|
||||
Gadai::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=>$kodcaw,
|
||||
'norujukan' => $new_sag_number,
|
||||
'nopelanggan' => $array_trans['nopelanggan'],
|
||||
'nokp' => $array_trans['noic'],
|
||||
'sirig' => $new_sirig,
|
||||
't_gadai' => $current->toDateString(),
|
||||
'sttebus' => '',
|
||||
'masa' =>$current->toTimeString(),
|
||||
'tagbaru' => 1
|
||||
]);
|
||||
|
||||
$marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
|
||||
|
||||
foreach($marhun as $marhunloop){
|
||||
$karatbaru = (strpos($marhunloop['karat'], '.') !== false) ? str_replace('-','.',$marhunloop['karat']) : $marhunloop['karat'];
|
||||
$karatbaru = $marhunloop['karat'];
|
||||
$harga_emas = HargaEmas::on('mysql7')->select('harga')->where('karat','=',$karatbaru)->first();
|
||||
|
||||
if(isset($array_trans['jenisAT'])){
|
||||
$harga = ($array_trans['jenisAT'] == 'hargalama') ? $marhunloop['harga'] : $harga_emas['harga'];
|
||||
}else{
|
||||
$harga = $harga_emas['harga'];
|
||||
}
|
||||
|
||||
$nilai_marhun = (floatval($harga) * floatval($marhunloop['berat']));
|
||||
|
||||
$marhunToCreate = [
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $new_sag_number,
|
||||
't_gadai' => $current->toDateString(),
|
||||
'bil' => $marhunloop['kuantiti'],
|
||||
'marhun' => $marhunloop['marhun'],
|
||||
'nota' => $marhunloop['nota'],
|
||||
'tag_permata' => $marhunloop['tag_permata'] != null ? $marhunloop['tag_permata'] : 0,
|
||||
'berat_batu_permata' => $marhunloop['berat_batu_permata'] != null ? $marhunloop['berat_batu_permata'] : '',
|
||||
'karat' => $marhunloop['karat'],
|
||||
'berat' => $marhunloop['berat'],
|
||||
'harga' => $harga,
|
||||
'n_marhun' => $nilai_marhun
|
||||
];
|
||||
|
||||
if($marhunToCreate['berat_batu_permata'] == '') {
|
||||
$marhunToCreate['berat_batu_permata'] = null;
|
||||
};
|
||||
|
||||
Marhun::on($cawangan['mysql'])->create($marhunToCreate);
|
||||
}
|
||||
|
||||
$total_nilai_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('n_marhun');
|
||||
$total_bil_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('bil');
|
||||
$total_berat_marhun = Marhun::on($cawangan['mysql'])->where('norujukan',$new_sag_number)->sum('berat');
|
||||
|
||||
$margin_pinjaman = ($array_trans['pinjamanbaru'] / $total_nilai_marhun);
|
||||
|
||||
$t_matang = Carbon::now();
|
||||
$t_matang = $t_matang->addMonths(6)->subDays(1);
|
||||
|
||||
$t_kontrak = Carbon::now();
|
||||
$t_kontrak = $t_kontrak->addMonths(12)->subDays(1);
|
||||
|
||||
$kadar_raw = KadarUpah::where('min','<=',$total_nilai_marhun)->where('max','>=',$total_nilai_marhun)->where('group_id',$cawangan['group_id'])->first();
|
||||
|
||||
$onepercentservices = new Calculation();
|
||||
$keuntungan = $onepercentservices->kiraanKeuntunganSebenar($array_trans['pinjamanbaru'],$total_nilai_marhun,$kadar_raw['kadarujrah'],$margin_pinjaman);
|
||||
|
||||
$upah1 = $onepercentservices->getRoundedMethod($keuntungan['keuntungan']);
|
||||
$upah6 = $onepercentservices->getRoundedMethod($upah1 * 6);
|
||||
$upah12 = $onepercentservices->getRoundedMethod($upah1 * 12);
|
||||
$ujrah = $onepercentservices->getRoundedMethod($keuntungan['ujrah']);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($keuntungan['onepercent']);
|
||||
$akrual_ujrah = $onepercentservices->getRoundedMethod($keuntungan['ujrah'] * 0.5);
|
||||
$akrual_onepercent = $onepercentservices->getRoundedMethod($keuntungan['onepercent'] * 0.5);
|
||||
|
||||
$hargajualan = $array_trans['pinjamanbaru'] + $upah12;
|
||||
|
||||
Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$new_sag_number)
|
||||
->update(array(
|
||||
'nilaimarhun' => $total_nilai_marhun,
|
||||
'berat'=> $total_berat_marhun,
|
||||
'pinjaman' => $array_trans['pinjamanbaru'],
|
||||
'kadarupah' => $kadar_raw['kadarujrah'],
|
||||
'marhun' => $array_trans['marhun'],
|
||||
'percentpinj' => $margin_pinjaman,
|
||||
'teller' => $array_trans['teller'],
|
||||
'bakipjm' => $array_trans['pinjamanbaru'],
|
||||
'bakiupah' => $upah6,
|
||||
'jbg' => 0.5,
|
||||
't_update' => $current->toDateString(),
|
||||
'cetak' => 0,
|
||||
'upah12' => $upah12,
|
||||
'hargajualan' => $hargajualan,
|
||||
'bakihargajualan' => $hargajualan,
|
||||
'tagserah' => 0,
|
||||
't_matang' => $t_matang,
|
||||
't_matang1' => $t_kontrak,
|
||||
'tempoh' => 0.5,
|
||||
'kuantiti' => $total_bil_marhun,
|
||||
'tagkomuditi' => 0,
|
||||
'upahdibayar' => 0.00,
|
||||
'tempohbayar' => 0.00,
|
||||
'lelong_tawarruq' => 1,
|
||||
'kadarujrah' => $kadar_raw['kadarujrah'],
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
'margin_semasa' => $margin_pinjaman,
|
||||
'tagbaru' => 1,
|
||||
'tunggakanujrah' => $akrual_ujrah,
|
||||
'tunggakanonepercent' => $akrual_onepercent,
|
||||
'historygadaian' => $norujukan,
|
||||
'tag_tebus' => $array_trans['jenistebus'],
|
||||
));
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
'sttebus' => "T",
|
||||
't_update' => $current->toDateString(),
|
||||
));
|
||||
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in Transaction: " . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function createTransactionBase($norujukan,$kodcaw,$array_trans_base){
|
||||
$current = Carbon::now();
|
||||
|
||||
$komuditi_current = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first();
|
||||
|
||||
$unit_current = isset($komuditi_current['unit_komuditi']) ? $komuditi_current['unit_komuditi']: 0;
|
||||
|
||||
try{
|
||||
$update_unit = $unit_current - $array_trans_base['pinjamanbaru'];
|
||||
|
||||
KomuditiPurchase::on('mysql7')->where('id','=',$komuditi_current['id'])->update([
|
||||
'unit_komuditi' => $update_unit
|
||||
]);
|
||||
|
||||
KomuditiTransaksi::on('mysql7')->create([
|
||||
'unit_komuditi' => $update_unit,
|
||||
'nosijil'=>$komuditi_current['no_sijil'],
|
||||
'norujukan' => $norujukan,
|
||||
'kodcaw' => $kodcaw,
|
||||
'teller' => $array_trans_base['teller'],
|
||||
'masa' => $current->toTimeString(),
|
||||
'tarikh' => $current->toDateString()
|
||||
]);
|
||||
}catch(\Exception $e){
|
||||
throw new \Exception("Error in TransactionBase: " . $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddColumnTimestampToAddtunaiTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
protected $db_connection;
|
||||
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()
|
||||
{
|
||||
$this->db_connection = $this->getActiveDB();
|
||||
|
||||
foreach($this->db_connection as $dbase){
|
||||
Schema::connection($dbase)->table('addtunai', function (Blueprint $table) use($dbase) {
|
||||
|
||||
$isCreatedAt = Schema::connection($dbase)->hasColumn('addtunai', 'created_at');
|
||||
|
||||
if (! $isCreatedAt) {
|
||||
$table->timestamp('created_at');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
$this->db_connection = $this->getActiveDB();
|
||||
|
||||
foreach($this->db_connection as $dbase){
|
||||
$columns = ['created_at'];
|
||||
|
||||
$columns_exist = array_filter($columns,function($column) use($dbase){
|
||||
return Schema::connection($dbase)->hasColumn('addtunai', $column);
|
||||
});
|
||||
|
||||
Schema::connection($dbase)->table('addtunai', function(Blueprint $table) use($columns_exist){
|
||||
foreach($columns_exist as $column){
|
||||
$table->dropColumn($column);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddRecnoToRequestTellerTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
$columns = ['recno'];
|
||||
|
||||
$columns_not_exist = array_filter($columns, function ($column) {
|
||||
return !Schema::connection('mysql7')->hasColumn('requestteller', $column);
|
||||
});
|
||||
|
||||
Schema::connection('mysql7')->table('requestteller', function (Blueprint $table) use ($columns_not_exist) {
|
||||
array_walk($columns_not_exist, function ($column) use ($table) {
|
||||
$table->integer($column);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddNotaPekerjaan 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()
|
||||
{
|
||||
Schema::connection('mysql7')->table('customer', function (Blueprint $table) {
|
||||
$table->string('nota_pekerjaan')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('customer', function (Blueprint $table) {
|
||||
$table->dropColumn('nota_pekerjaan');
|
||||
});
|
||||
}
|
||||
}
|
||||
+24
-1
@@ -61,6 +61,18 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('customer/blacklist',['uses'=>'CustomerController@blacklistCustomer']);
|
||||
$router->get('customer/eachcawangan/{ic}',['uses'=>'CustomerController@showCustomerByEachCawangan']);
|
||||
|
||||
//Change Password
|
||||
$router->post('changepassword/{kodcaw}/{id}',['uses'=>'CustomerController@changepassword']);
|
||||
|
||||
//tukar cawangan
|
||||
$router->post('/tukarcawangan/{kodcaw}', ['uses'=>'CustomerController@TukarCawangan']);
|
||||
|
||||
//pengesahan kakitangan
|
||||
$router->post('/kakitangan/{kodcaw}', ['uses' => 'CustomerController@kakitangan']);
|
||||
|
||||
//tukar taraf
|
||||
$router->get('tukartaraf/{kodcaw}/{role}',['uses'=>'CustomerController@TukarTaraf']);
|
||||
|
||||
//Gadai API
|
||||
$router->get('gadai',['uses'=>'GadaiController@showAllGadais']);
|
||||
$router->get('gadai/{noic}',['uses'=>'GadaiController@showOneGadai']);
|
||||
@@ -119,6 +131,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
///Log session
|
||||
$router->post('logsession/{kodcaw}',['uses'=>'LogController@logSession']);
|
||||
$router->get('checknokp/{kodcaw}/{nokp}/{tarikh}',['uses'=>'LogController@checkNokpSession']);
|
||||
$router->post('logoutsession/{kodcaw}',['uses'=>'LogController@logoutSession']);
|
||||
|
||||
//Tebus API
|
||||
$router->get('tebustawarruq/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusTawarruq']);
|
||||
@@ -151,7 +164,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('tebus/norujukan/{kodcaw}/{norujukan}',['uses'=>'TebusController@showOneTebusbyRujukanAndCawangan']);
|
||||
$router->put('updateautotawarruq/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusUpdateAutoTawarruq']);
|
||||
$router->get('listpenebusanhistory/{kodcaw}',['uses'=>'TebusController@listhistorypenebusan']);
|
||||
|
||||
$router->put('updatetambahpinjaman/{kodcaw}/{norujukan}',['uses'=>'TebusController@tebusUpdateTambahPinjaman']);
|
||||
//API FARIS
|
||||
$router->put('tebus/serah_marhun_teller/{kodcaw}/{norujukan}',['uses'=>'GadaiController@barcodescanTebus']);
|
||||
// $router->get('tebus_serahan/{kodcaw}',['uses'=>'TebusController@SerahMarhunTeller']);
|
||||
@@ -382,9 +395,11 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->post('requestTeller/{kodcaw}',['uses' => 'TunaiController@createRequestTeller']);
|
||||
$router->get('requestTeller/get/{kodcaw}',['uses' => 'TunaiController@getRequestTeller']);
|
||||
$router->get('requestTeller/getlaporan/{kodcaw}',['uses' => 'TunaiController@getRequestTellerLaporanSerahan']);
|
||||
$router->get('requestTeller/getrekod/{kodcaw}',['uses' => 'TunaiController@getRequestTellerByRecno']);
|
||||
$router->get('requestTeller/getlaporanberkala/{kodcaw}',['uses' => 'TunaiController@getRequestTellerLaporanSerahanBerkala']);
|
||||
$router->get('requestTeller/get/{kodcaw}/date',['uses' => 'TunaiController@getRequestTellerByDate']);
|
||||
$router->put('requestTeller/update/{kodcaw}',['uses' => 'TunaiController@updateRequestTeller']);
|
||||
$router->put('requestTeller/updatedeno/{kodcaw}',['uses' => 'TunaiController@updateRequestTellerDeno']);
|
||||
$router->put('requestTeller/batal/{kodcaw}',['uses' => 'TunaiController@batalRequestTeller']);
|
||||
$router->get('requestTeller/checkproses',['uses'=>'TunaiController@CheckProsesReqTeller']);
|
||||
|
||||
@@ -649,6 +664,14 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('/cawangan/getcawnotisall/{kodcaw}',['uses'=>'CawanganCallCenterController@getcawnotisall']);
|
||||
$router->get('/cawangan/bycawnotisperingatan/{kodcaw}/{notisid}',['uses'=>'CawanganCallCenterController@bycawnotisperingatan']);
|
||||
|
||||
$router->post('panjar/updatetunai/{kodcaw}',['uses'=>'DenominasiController@cashdeposit']);
|
||||
$router->post('panjar/serahantunai/{kodcaw}',['uses'=>'DenominasiController@cashwithdraw']);
|
||||
$router->post('panjar/createpanjar/{kodcaw}',['uses'=>'DenominasiController@createpanjar']);
|
||||
$router->post('panjar/deletepanjar/{kodcaw}',['uses'=>'DenominasiController@deletepanjar']);
|
||||
$router->get('panjar/getperubatan/{kodcaw}',['uses'=>'DenominasiController@getPerubatanAmount']);
|
||||
|
||||
/* Endpoint for Account Statements */
|
||||
$router->get('record/accountstatement/{kodcaw}',['uses'=>'TunaiController@getAccStatement']);
|
||||
|
||||
});
|
||||
|
||||
|
||||
+42
-1
@@ -1,7 +1,8 @@
|
||||
<?php
|
||||
|
||||
use Laravel\Lumen\Testing\TestCase as BaseTestCase;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use PHPUnit\Framework\Assert as PHPUnit;
|
||||
abstract class TestCase extends BaseTestCase
|
||||
{
|
||||
/**
|
||||
@@ -13,4 +14,44 @@ abstract class TestCase extends BaseTestCase
|
||||
{
|
||||
return require __DIR__.'/../bootstrap/app.php';
|
||||
}
|
||||
|
||||
protected function assertDatabaseHasThroughNorujukan(string $table, array $data, string $connection = null): void
|
||||
{
|
||||
$query = DB::connection($connection)->table($table);
|
||||
|
||||
foreach ($data as $key => $value) {
|
||||
$query->where($key, $value);
|
||||
}
|
||||
|
||||
$record = $query->first();
|
||||
|
||||
if (!$record) {
|
||||
// Check if a record exists but doesn't match the expected attributes
|
||||
$actualRecord = DB::connection($connection)->table($table)->where('norujukan', $data['norujukan'])->first();
|
||||
|
||||
if ($actualRecord) {
|
||||
$mismatchedColumns = [];
|
||||
foreach ($data as $key => $value) {
|
||||
if ($actualRecord->$key !== $value) {
|
||||
$expectedValue = stripslashes($value); // Remove backslashes from expected
|
||||
$mismatchedColumns[$key] = [
|
||||
'expected' => $expectedValue,
|
||||
'actual' => $actualRecord->$key,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
PHPUnit::fail(
|
||||
"A record exists in the table [{$table}] but does not match the expected attributes. " .
|
||||
"Mismatched columns: " . json_encode($mismatchedColumns)
|
||||
);
|
||||
}
|
||||
|
||||
PHPUnit::fail(
|
||||
"Failed asserting that a record exists in the table [{$table}] with the attributes " . json_encode($data)
|
||||
);
|
||||
}
|
||||
|
||||
PHPUnit::assertNotNull($record, "Record exists and matches the expected attributes.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Traits;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
trait DatabaseTransactions
|
||||
{
|
||||
/**
|
||||
* Database connections to use for transactions.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected array $connections = ['mysql','mysql7'];
|
||||
|
||||
/**
|
||||
* Begin transactions on all specified database connections.
|
||||
*/
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
foreach ($this->connections as $connection) {
|
||||
DB::connection($connection)->beginTransaction();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Rollback transactions on all specified database connections.
|
||||
*/
|
||||
protected function tearDown(): void
|
||||
{
|
||||
foreach ($this->connections as $connection) {
|
||||
DB::connection($connection)->rollBack();
|
||||
}
|
||||
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the database connections for transactions.
|
||||
*
|
||||
* @param string|array $connections
|
||||
* @return void
|
||||
*/
|
||||
protected function setTransactionConnections(array $connections): void
|
||||
{
|
||||
$this->connections = $connections;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,228 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Tests\Traits\DatabaseTransactions;
|
||||
use App\Cawangan;
|
||||
use App\Gadai;
|
||||
use App\Support\v2\Penebusan as V2Penebusan;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class TransactionTest extends TestCase
|
||||
{
|
||||
use DatabaseTransactions;
|
||||
|
||||
public function testTransactionAT(){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first();
|
||||
$this->setTransactionConnections([$cawangan['mysql'], 'mysql7']);
|
||||
$current = new Carbon();
|
||||
$array_test = [
|
||||
'norujukan' => 'KB2240327-0009',
|
||||
"nopelanggan" => "M03-00133879",
|
||||
"jenistebus" => "AT",
|
||||
"jbg" => 6.5,
|
||||
"kadarupah" => 0.56,
|
||||
"pinjaman_lama" => 2000,
|
||||
"pinjaman" => 2000,
|
||||
"ansuran" => 0,
|
||||
"addpinjaman" => 0,
|
||||
"bakipinjaman" => 2221,
|
||||
"bakiupah" => 221,
|
||||
"historygadaian" => "KB2240327-0009",
|
||||
"marhun" => "1 R/L,",
|
||||
"kuantiti_marhun" => 1,
|
||||
"total_berat" => 8.5,
|
||||
"kadarkeuntungan" => 0.56,
|
||||
"noic" => "980412035872",
|
||||
"jenisbayarantebus" => "nottawarruq",
|
||||
"teller" => "MOHD KHALID ABDUL RAHMAN",
|
||||
"jeniskeuntungan" => "onepercent",
|
||||
"nilai_marhun" => 2943.21,
|
||||
"jenisAT" => "none",
|
||||
"totalbayaran" => 221,
|
||||
"bayaran" => 300,
|
||||
"bakipelanggan" => 79,
|
||||
"nowakil" => 0,
|
||||
"total_nilai_marhun" => 3171.265,
|
||||
"marhun_detail" => "1 R/L,",
|
||||
];
|
||||
|
||||
// Create a mock request
|
||||
$request = new Request($array_test);
|
||||
|
||||
$penebusan_services = new V2Penebusan('KB2',$cawangan);
|
||||
$response = $penebusan_services->transaksiPembiayaanSemula('KB2','KB2240327-0009',$request);
|
||||
$responseArray = json_decode($response->getContent(), true);
|
||||
$this->assertIsArray($responseArray, 'Response is not an array');
|
||||
$this->assertEquals('success', $responseArray['result'], 'Result should be success');
|
||||
$this->assertEquals(1, $responseArray['data'], 'Data should be 1');
|
||||
|
||||
/* Tebus Assert */
|
||||
$this->assertDatabaseHasThroughNorujukan('tebus', [
|
||||
'kodcaw'=> "KB2",
|
||||
'norujukan'=> "KB2240327-0009",
|
||||
'nopelanggan' => "M03-00133879",
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => "A",
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => "6.50",
|
||||
'kadarupah' => "0.56",
|
||||
'nilaimarhun' => "2943.21",
|
||||
'pinjaman' => "2000.00",
|
||||
'ansuran' => "0.00",
|
||||
'addpinjaman' => 0,
|
||||
'bakipjm' => "2221",
|
||||
'bakiupah' => "221",
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => 0,
|
||||
'rebate' => 0,
|
||||
'marhuntebus' => "1 R/L,",
|
||||
'historygadaian' => "KB2240327-0009",
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => "MOHD KHALID ABDUL RAHMAN",
|
||||
'ujrah' => 0,
|
||||
'onepercent' => 0,
|
||||
], $cawangan['mysql']);
|
||||
|
||||
|
||||
$this->assertDatabaseHasThroughNorujukan('gadai', [
|
||||
'norujukan' => 'KB2240327-0009',
|
||||
'sttebus' => 'T'
|
||||
], $cawangan['mysql']);
|
||||
}
|
||||
|
||||
public function testTransactionP(){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first();
|
||||
$this->setTransactionConnections([$cawangan['mysql'], 'mysql7']);
|
||||
$current = new Carbon();
|
||||
$array_test = [
|
||||
'norujukan' => 'KB2240327-0009',
|
||||
'nopelanggan' => 'M03-00133879',
|
||||
'jenistebus' => 'P',
|
||||
'jbg' => 6.5,
|
||||
'kadarupah' => 0.56,
|
||||
'pinjaman_lama' => 2000,
|
||||
'pinjaman' => 2010,
|
||||
'ansuran' => 0,
|
||||
'addpinjaman' => 10,
|
||||
'bakipinjaman' => 2221,
|
||||
'bakiupah' => 221,
|
||||
'history_gadaian' => 'KB2240327-0009',
|
||||
'marhun' => '1 R/L,',
|
||||
'kuantiti_marhun' => 1,
|
||||
'total_berat' => 8.5,
|
||||
'kadarkeuntungan' => 0.56,
|
||||
"noic" => "980412035872",
|
||||
'jenisbayarantebus' => 'tawarruq',
|
||||
"teller" => "MOHD KHALID ABDUL RAHMAN",
|
||||
'jeniskeuntungan' => 'onepercent',
|
||||
'nilai_marhun' => 3171.265,
|
||||
// 'jenisAT' => 'Tiada',
|
||||
// 'totalbayaran' => 'Tiada',
|
||||
'bayaran' => 222,
|
||||
'bakipelanggan' => 1,
|
||||
'nowakil' => 0, //Sebenar Tiada Kena Add dalam series
|
||||
// 'total_nilai_marhun' => 'Tiada',
|
||||
'keuntungan_6bln' => 6753.6,
|
||||
'keuntungan_sebulan' => 1125.6,
|
||||
// 'marhun_detail' => 'Tiada',
|
||||
];
|
||||
|
||||
// Create a mock request
|
||||
$request = new Request($array_test);
|
||||
|
||||
$penebusan_services = new V2Penebusan('KB2',$cawangan);
|
||||
$response = $penebusan_services->transaksiTambahPembiayaan('KB2','KB2240327-0009',$request);
|
||||
|
||||
$responseArray = json_decode($response->getContent(), true);
|
||||
$this->assertIsArray($responseArray, 'Response is not an array');
|
||||
$this->assertEquals('success', $responseArray['result'], 'Result should be success');
|
||||
$this->assertEquals(1, $responseArray['data'], 'Data should be 1');
|
||||
|
||||
/* Tebus Assert */
|
||||
$this->assertDatabaseHasThroughNorujukan('tebus', [
|
||||
'kodcaw'=> "KB2",
|
||||
'norujukan'=> "KB2240327-0009",
|
||||
'nopelanggan' => "M03-00133879",
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => "P",
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => "6.50",
|
||||
'kadarupah' => "0.56",
|
||||
'nilaimarhun' => "2943.21",
|
||||
'pinjaman' => "2000.00",
|
||||
'ansuran' => "0.00",
|
||||
'addpinjaman' => "10.00",
|
||||
'bakipjm' => "2221.00",
|
||||
'bakiupah' => "221.00",
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => 0,
|
||||
'rebate' => "0.00",
|
||||
'marhuntebus' => "1 R/L,",
|
||||
'historygadaian' => "KB2240327-0009",
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => "MOHD KHALID ABDUL RAHMAN",
|
||||
'ujrah' => "91.00",
|
||||
'onepercent' => "130.00",
|
||||
], $cawangan['mysql']);
|
||||
|
||||
/* Gadai Assert */
|
||||
|
||||
/* Create Gadai */
|
||||
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$current->toDateString())->orderBy('sirig', 'desc')->first();
|
||||
$gadaiTransaction = optional($gadaiTransaction)->toArray();
|
||||
|
||||
/* Gadai Baru */
|
||||
$this->assertDatabaseHasThroughNorujukan('gadai',[
|
||||
'kodcaw'=>'KB2',
|
||||
'norujukan' => $gadaiTransaction['norujukan'],
|
||||
'nopelanggan' => "M03-00133879",
|
||||
"nokp" => "980412035872",
|
||||
'sirig' => $gadaiTransaction['sirig'],
|
||||
't_gadai' => $current->toDateString(),
|
||||
'sttebus' => '',
|
||||
'masa' =>$current->toTimeString(),
|
||||
'tagbaru' => 1,
|
||||
'nilaimarhun' => "3171.27",
|
||||
'berat'=> "0.00",
|
||||
'pinjaman' => "2010.00",
|
||||
'kadarupah' => "0.56",
|
||||
// 'marhun' => "1 R\/L,",
|
||||
'percentpinj' => "0.63",
|
||||
'teller' => "MOHD KHALID ABDUL RAHMAN",
|
||||
'bakipjm' => "2010.00",
|
||||
'bakiupah' => "121.50",
|
||||
'jbg' => "0.50",
|
||||
't_update' => $current->toDateString(),
|
||||
'cetak' => 0,
|
||||
'upah12' => "243.00",
|
||||
'hargajualan' => "2253.00",
|
||||
'bakihargajualan' => "2253.00",
|
||||
'tagserah' => 0,
|
||||
't_matang' => "2025-05-24",
|
||||
't_matang1' => "2025-11-24",
|
||||
'tempoh' => "0.50",
|
||||
'kuantiti' => 0,
|
||||
'tagkomuditi' => 0,
|
||||
'upahdibayar' => "0.00",
|
||||
'tempohbayar' => 0.00,
|
||||
'lelong_tawarruq' => 1,
|
||||
'kadarujrah' => "0.56",
|
||||
'ujrah' => "0.15",
|
||||
'onepercent' => "20.10",
|
||||
'margin_semasa' => "0.63",
|
||||
'tagbaru' => 1,
|
||||
'tunggakanujrah' => "0.05",
|
||||
'tunggakanonepercent' => "10.05",
|
||||
], $cawangan['mysql']);
|
||||
|
||||
$this->assertDatabaseHasThroughNorujukan('marhun',[
|
||||
|
||||
]);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user