Merged release/staging into hotfix/tunai-add-timestamp
This commit is contained in:
@@ -49,11 +49,8 @@ use App\imbangdugalama;
|
||||
use App\HapusKira;
|
||||
use App\MaxPinjaman;
|
||||
use App\Penghutang;
|
||||
use App\RingkasanAnsuran;
|
||||
use App\RingkasanGadai;
|
||||
use App\RingkasanLelong;
|
||||
use App\RingkasanMain;
|
||||
use App\RingkasanTebus;
|
||||
use App\Services\Reports\AccountService;
|
||||
use App\imbangdugabackup;
|
||||
use App\Services\RingkasanHarianServices;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use DateTime;
|
||||
@@ -62,6 +59,10 @@ use Illuminate\Pagination\Paginator;
|
||||
use Illuminate\Support\Collection;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use App\Jobs\AccountCheckJob;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
|
||||
class AdminPageController extends Controller
|
||||
{
|
||||
@@ -3120,80 +3121,111 @@ class AdminPageController extends Controller
|
||||
$year = $current->year;
|
||||
$month = $tarikh->month;
|
||||
|
||||
$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','=',$year)
|
||||
->whereMonth('t_gadai','<=',$month)
|
||||
->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")
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)->get()->toArray();
|
||||
|
||||
$sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0;
|
||||
$sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0;
|
||||
|
||||
/* Ansuran masuk dalam ni */
|
||||
|
||||
$collection_trans = TransaksiKeuntungan::on('mysql7')
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.kodcaw','=',$request->kodcaw)
|
||||
->where('trans.trans_type','=','A')
|
||||
->where('transaksi_keuntungan.margin_semasa','>','0')
|
||||
->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$year)
|
||||
->whereMonth('transaksi_keuntungan.tarikh_bayaran','<=',$month)
|
||||
->get();
|
||||
|
||||
|
||||
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
|
||||
|
||||
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$array_norujukan)->where('tagbaru',1)->get();
|
||||
|
||||
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
|
||||
|
||||
foreach ($collection_gadai as $gadai) {
|
||||
if($gadai->norujukan === $trans->norujukan){
|
||||
$t_gadai = Carbon::parse($gadai->t_gadai);
|
||||
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
|
||||
|
||||
if ($t_gadai->month !== $t_bayaran->month) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
$summation_ansuran = $keuntungan_semasa_collection->sum('bayaran_keuntungan');
|
||||
|
||||
// $get_norujukan_ansuran = Gadai::on($cawangan['mysql'])
|
||||
// $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','=',$year)
|
||||
// ->whereMonth('t_gadai','<=',$month)
|
||||
// ->where('sttebus','=','')
|
||||
// ->where('tagbaru','=',1)
|
||||
// ->where('sttebus','<>','')
|
||||
// ->pluck('norujukan');
|
||||
|
||||
// $summation_ansuran = TransaksiKeuntungan::on('mysql7')
|
||||
// ->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
|
||||
// $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")
|
||||
// ->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
// {
|
||||
// $join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
// $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
// })
|
||||
// ->whereIn('trans.norujukan',$get_norujukan)->get()->toArray();
|
||||
|
||||
// $sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0;
|
||||
// $sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0;
|
||||
|
||||
// /* Ansuran masuk dalam ni */
|
||||
|
||||
// $collection_trans = TransaksiKeuntungan::on('mysql7')
|
||||
// ->leftJoin('transaction as trans', function($join)
|
||||
// {
|
||||
// $join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
// $join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
// })
|
||||
// ->where('trans.kodcaw','=',$request->kodcaw)
|
||||
// ->where('trans.trans_type','=','A')
|
||||
// ->where('transaksi_keuntungan.margin_semasa','>','0')
|
||||
// ->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$year)
|
||||
// ->whereMonth('transaksi_keuntungan.tarikh_bayaran','<=',$month)
|
||||
// ->get();
|
||||
|
||||
|
||||
// $array_norujukan = $collection_trans->pluck('norujukan')->toArray();
|
||||
|
||||
// $collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$array_norujukan)->where('tagbaru',1)->get();
|
||||
|
||||
// $keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
|
||||
|
||||
// foreach ($collection_gadai as $gadai) {
|
||||
// if($gadai->norujukan === $trans->norujukan){
|
||||
// $t_gadai = Carbon::parse($gadai->t_gadai);
|
||||
// $t_bayaran = Carbon::parse($trans->tarikh_bayaran);
|
||||
|
||||
// if ($t_gadai->month !== $t_bayaran->month) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// return true;
|
||||
// });
|
||||
|
||||
// $summation_ansuran = $keuntungan_semasa_collection->sum('bayaran_keuntungan');
|
||||
|
||||
|
||||
// $total = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
|
||||
|
||||
$lastDayPreviousMonth = $tarikh->subMonthsNoOverflow()->endOfMonth()->toDateString();
|
||||
|
||||
$get_imbangduga = imbangdugabackup::on($cawangan['mysql'])->where('tarikh',$lastDayPreviousMonth)->first()->toArray();
|
||||
|
||||
$collection_trans = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function ($join) {
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->where('transaction.kodcaw', $request->kodcaw)
|
||||
->whereYear('transaction.created_at', '=', $year)
|
||||
->whereMonth('transaction.created_at', '=', $month)
|
||||
->get();
|
||||
|
||||
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
|
||||
|
||||
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $array_norujukan)->whereYear('t_gadai',$year)->get();
|
||||
|
||||
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
|
||||
foreach ($collection_gadai as $gadai) {
|
||||
if ($gadai->norujukan === $trans->norujukan) {
|
||||
$t_gadai = Carbon::parse($gadai->t_gadai);
|
||||
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
|
||||
|
||||
if ($t_gadai->month !== $t_bayaran->month) {
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
$total_ansuran = $keuntungan_semasa_collection->filter(function ($transaction){
|
||||
return $transaction->trans_type == 'A';
|
||||
})->sum('bayaran_keuntungan');
|
||||
|
||||
$total_tebus = $keuntungan_semasa_collection->filter(function ($transaction){
|
||||
return $transaction->trans_type !== 'A';
|
||||
})->sum('keuntungan_rebet');
|
||||
|
||||
$total = $total_ansuran + $total_tebus + $get_imbangduga['keun_sebenar'];
|
||||
|
||||
$total = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
|
||||
return response()->json($total);
|
||||
}
|
||||
|
||||
@@ -3800,4 +3832,45 @@ class AdminPageController extends Controller
|
||||
|
||||
return response()->json($cawangan);
|
||||
}
|
||||
|
||||
public function getAccountList(Request $request){
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->simplePaginate(5);
|
||||
$check = app(AccountService::class);
|
||||
$array_all = ['current_page' => $cawangan->currentPage(), 'job_ids' => []];
|
||||
foreach($cawangan as $caw){
|
||||
try{
|
||||
$jobId = Str::uuid();
|
||||
$res = dispatch(new AccountCheckJob($caw['kodcaw'], $request->month,$jobId));
|
||||
// $array_all['data'][$caw['details_caw']] = $res;
|
||||
$array_all['data'][$caw['details_caw']] = [
|
||||
'jobId' => $jobId,
|
||||
'status' => 'queued',
|
||||
];
|
||||
$array_all['job_ids'][] = $jobId;
|
||||
}catch(\Exception $e){
|
||||
Log::error("Error processing: " . $caw['kodcaw']);
|
||||
Log::error($e->getMessage());
|
||||
|
||||
}
|
||||
}
|
||||
$response = $array_all;
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getJobStatus(Request $request)
|
||||
{
|
||||
$jobId = $request->input('jobId');
|
||||
|
||||
// Get the job status and result from cache (or database)
|
||||
$status = Cache::get("job_status_{$jobId}", 'not_found');
|
||||
$result = Cache::get("job_result_{$jobId}", []);
|
||||
|
||||
// Return both the status and the result
|
||||
return response()->json([
|
||||
'status' => $status,
|
||||
'result' => $status === 'completed' ? $result : null,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class BackupStokAuditController extends Controller
|
||||
{
|
||||
public function backupStokAudit(Request $request){
|
||||
if($request->zone == 'all'){
|
||||
$cawangan = Cawangan::on('mysql7')->get();
|
||||
$cawangan = Cawangan::on('mysql7')->where('version','v2')->get();
|
||||
}else{
|
||||
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -2017,159 +2017,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 +2231,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 +2269,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){
|
||||
|
||||
@@ -25,6 +25,7 @@ use App\imbangdugabackup;
|
||||
use Carbon\Carbon;
|
||||
use App\imbangdugalama;
|
||||
use App\Services\Reports\ImbangDugaService;
|
||||
use App\Services\Reports\Account\GeneralLedger;
|
||||
|
||||
|
||||
use DateTime;
|
||||
@@ -1245,112 +1246,12 @@ class LaporanController extends Controller
|
||||
}
|
||||
|
||||
public function SemakanKeuntunganLejer($kodcaw,Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
$mulaCarbon = new Carbon($request->mula);
|
||||
$hinggaCarbon = new Carbon($request->hingga);
|
||||
$gledger = new GeneralLedger($kodcaw,$request->mula,$request->hingga);
|
||||
$current_profit = $gledger->SemakanKeuntunganLejer();
|
||||
|
||||
/* Start Keuntungan Sebenar Calculation */
|
||||
$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)->whereDate('t_update','>=',$request->mula)->whereDate('t_update','<=',$request->hingga)->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' AND (trans.margin_semasa) = 0 THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)->get()->toArray();
|
||||
|
||||
$sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0;
|
||||
$sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0;
|
||||
|
||||
// $get_norujukan_ansuran = 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)
|
||||
// ->whereDate('t_update','>=',$request->mula)->whereDate('t_update','<=',$request->hingga)
|
||||
// ->where('sttebus','=','')
|
||||
// ->where('tagbaru','=',1)
|
||||
// ->pluck('norujukan');
|
||||
|
||||
// $summation_ansuran = TransaksiKeuntungan::on('mysql7')
|
||||
// ->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
|
||||
|
||||
$collection_trans = TransaksiKeuntungan::on('mysql7')
|
||||
->leftJoin('transaction as trans', function($join)
|
||||
{
|
||||
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
|
||||
})
|
||||
->where('trans.kodcaw','=',$request->kodcaw)
|
||||
->where('trans.trans_type','=','A')
|
||||
->where('transaksi_keuntungan.margin_semasa','>','0')
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=',$request->mula)
|
||||
->whereDate('transaksi_keuntungan.tarikh_bayaran','<=',$request->hingga)
|
||||
->get();
|
||||
|
||||
|
||||
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
|
||||
|
||||
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$array_norujukan)->where('tagbaru',1)->get();
|
||||
|
||||
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
|
||||
|
||||
foreach ($collection_gadai as $gadai) {
|
||||
if($gadai->norujukan === $trans->norujukan){
|
||||
$t_gadai = Carbon::parse($gadai->t_gadai);
|
||||
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
|
||||
|
||||
if ($t_gadai->month !== $t_bayaran->month) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
$summation_ansuran = $keuntungan_semasa_collection->sum('bayaran_keuntungan');
|
||||
|
||||
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
|
||||
/* End Keuntungan Sebenar Calculation */
|
||||
|
||||
/* Start Keuntungan Semasa Calculation */
|
||||
$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')->where('tagbaru',0)->having('result','=',0)->pluck('norujukan');
|
||||
|
||||
$summation = Transaction::on('mysql7')
|
||||
->selectRaw("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")
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->whereDate('trans.tarikh_bayaran' ,'>=', $request->mula)
|
||||
->whereDate('trans.tarikh_bayaran' ,'<=', $request->hingga)
|
||||
->whereYear('tarikh_bayaran','=',$mulaCarbon->year)
|
||||
->where('trans.kodcaw',$request->kodcaw)
|
||||
->get()->toArray();
|
||||
|
||||
$upahlelong = Lelong::on($cawangan['mysql'])
|
||||
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga],['t_jual','>','2022-07-24']])
|
||||
->whereYear('t_jual','=',$mulaCarbon->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
$sum_keuntungan = ($summation) ? $summation[0]['sum_keun'] : 0;
|
||||
$sum_bayaran = ($summation) ? $summation[0]['sum_bayaran'] : 0;
|
||||
|
||||
// $total_keuntungan_semasa = ($sum_keuntungan + $sum_bayaran + $upahlelong) - $total_keuntungan_sebenar;
|
||||
$total_keuntungan_semasa = ($sum_keuntungan + $sum_bayaran + $upahlelong);
|
||||
|
||||
/* End Keuntungan Semasa Calculation */
|
||||
|
||||
$array_keuntungan = ['keuntungan_sebenar' => $total_keuntungan_sebenar, 'keuntungan_semasa' => $total_keuntungan_semasa];
|
||||
$array_keuntungan = ['keuntungan_sebenar' => $current_profit['keuntungan_sebenar'], 'keuntungan_semasa' => $current_profit['keuntungan_semasa']];
|
||||
|
||||
return response($array_keuntungan);
|
||||
}
|
||||
|
||||
@@ -303,7 +303,7 @@ class LelongController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
$arraylelong = ['bakilelong' => $bakilelong, 'rugilelong' => $rugilelong, 'baki' => $baki_lelong, 'rugi' => $rugi_lelong, 'jumlahlelong' => $jumlah_lelong, 'caslelong' => $cas_lelong];
|
||||
$arraylelong = ['bakilelong' => $bakilelong, 'rugilelong' => abs($rugilelong), 'baki' => $baki_lelong, 'rugi' => $rugi_lelong, 'jumlahlelong' => $jumlah_lelong, 'caslelong' => $cas_lelong];
|
||||
|
||||
return response()->json($arraylelong,200);
|
||||
}
|
||||
@@ -543,7 +543,7 @@ class LelongController extends Controller
|
||||
->whereYear('t_jual','=',$current->year)
|
||||
->sum('cajlelong');
|
||||
|
||||
if($kodcaw === '011232')
|
||||
if($kodcaw === '011232' && $current->year < 2023)
|
||||
$cajlelong +=122.5;
|
||||
|
||||
return response()->json($cajlelong,200);
|
||||
@@ -598,7 +598,7 @@ 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';
|
||||
}
|
||||
|
||||
@@ -94,13 +94,27 @@ class PolisController extends Controller
|
||||
|
||||
public function LaporanPolis(Request $request){
|
||||
|
||||
// $request->validate([
|
||||
// 'kodcaw' => 'required|string',
|
||||
// 'tarikh_mula' => 'required|date_format:Y-m-d',
|
||||
// 'tarikh_akhir' => 'required|date_format:Y-m-d',
|
||||
// 'alasan' => 'nullable|string'
|
||||
// ]);
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
|
||||
// dd($cawangan);
|
||||
if(!$cawangan){
|
||||
return response()->json(['error' => 'Invalid kodcaw'], 403);
|
||||
}
|
||||
|
||||
$polis = Polis::on($cawangan['mysql'])
|
||||
->where('komen1','=',$request->alasan)
|
||||
->where('tarikh','=',$request->tarikh)
|
||||
// ->where('tarikh','=',$request->tarikh)
|
||||
->whereBetween('tarikh', [$request->tarikh_mula, $request->tarikh_akhir])
|
||||
->get();
|
||||
|
||||
|
||||
return response()->json($polis);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -8,6 +8,7 @@ use App\imbangdugabackup;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\Reports\ImbangDugaService;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class BalanceSheetsController extends Controller
|
||||
{
|
||||
@@ -24,10 +25,27 @@ class BalanceSheetsController extends Controller
|
||||
|
||||
public function insertBalanceSheets(Request $request){
|
||||
$igService = new ImbangDugaService($request->kodcaw,$request->tarikh);
|
||||
|
||||
$insert_imbangduga = $igService->setImbangDugaBackup();
|
||||
|
||||
return $insert_imbangduga;
|
||||
}
|
||||
|
||||
public function updateIGBalanceSheets(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('zone','<>',1)->get();
|
||||
$date = Carbon::now()->month($request->month);
|
||||
$lastDay = (clone $date)->endOfMonth();
|
||||
|
||||
try{
|
||||
foreach($cawangan as $caw){
|
||||
$igService = new ImbangDugaService($caw['kodcaw'],$lastDay->toDateString());
|
||||
$insert_imbangduga = $igService->setImbangDugaBackup();
|
||||
}
|
||||
}catch(\Exception $e){
|
||||
Log::error($e->getMessage());
|
||||
}
|
||||
|
||||
|
||||
return response('success');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -24,6 +24,17 @@ class RingkasanHarianController extends Controller
|
||||
return response()->json($reports);
|
||||
}
|
||||
|
||||
public function getLaporanCawanganKPI(string $kod_cawangan, Request $request)
|
||||
{
|
||||
$reportRingkasanHarianService = new ReportRingkasanHarianService($kod_cawangan, $request);
|
||||
|
||||
$reports = [
|
||||
'reportRingkasanHarian' => $reportRingkasanHarianService->getLaporanCawanganKPI(),
|
||||
];
|
||||
|
||||
return response()->json($reports);
|
||||
}
|
||||
|
||||
public function getSummaryLaporanRingkasanHarian()
|
||||
{
|
||||
return json_encode(Helper::getActiveCawangan());
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -249,14 +256,33 @@ class TebusController extends Controller
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
$tebus_data = Tebus::on($cawangan['mysql'])
|
||||
->select('tebus.t_tebus', 'gad.t_gadai','gad.hargajualan','gad.bakihargajualan','gad.bakipjm as gadaibakipjm','tebus.nilaimarhun','tebus.tagterima', 'tebus.teller','tebus.jenistebus','tebus.pinjaman','tebus.bakiupah','tebus.bakipjm','gad.norujukan','gad.nokp','tebus.jbg','tebus.ujrah','tebus.onepercent','gad.tagbaru')
|
||||
->join('gadai as gad','gad.norujukan','=','tebus.norujukan')
|
||||
->where('tebus.t_tebus','>=',$request->mula)
|
||||
->where('tebus.t_tebus','<=',$request->akhir)
|
||||
->groupBy('tebus.norujukan')
|
||||
->orderBy('tebus.teller')
|
||||
->orderBy('tebus.sirit')
|
||||
->get();
|
||||
->select(
|
||||
'tebus.t_tebus',
|
||||
'gad.t_gadai',
|
||||
'gad.hargajualan',
|
||||
'gad.bakihargajualan',
|
||||
'gad.bakipjm as gadaibakipjm',
|
||||
'tebus.nilaimarhun',
|
||||
'tebus.tagterima',
|
||||
'tebus.teller',
|
||||
'tebus.jenistebus',
|
||||
'tebus.pinjaman',
|
||||
'tebus.bakiupah',
|
||||
'tebus.bakipjm',
|
||||
'gad.norujukan',
|
||||
'gad.nokp',
|
||||
'tebus.jbg',
|
||||
'tebus.ujrah',
|
||||
'tebus.onepercent',
|
||||
'gad.tagbaru'
|
||||
)
|
||||
->join('gadai as gad', 'gad.norujukan', '=', 'tebus.norujukan')
|
||||
->where('tebus.t_tebus', '>=', $request->mula)
|
||||
->where('tebus.t_tebus', '<=', $request->akhir)
|
||||
->groupBy('tebus.norujukan')
|
||||
->orderBy('tebus.teller')
|
||||
->orderBy('tebus.sirit')
|
||||
->get();
|
||||
|
||||
$tebus = [];
|
||||
if($tebus_data){
|
||||
@@ -283,7 +309,8 @@ class TebusController extends Controller
|
||||
"nokp"=>$tebusData['nokp'],
|
||||
"jbg"=>$tebusData['jbg'],
|
||||
"ujrah"=>$trans['ujrah_rebet'],
|
||||
"onepercent"=>$trans['onepercent_rebet']
|
||||
"onepercent"=>$trans['onepercent_rebet'],
|
||||
"tagbaru"=>$tebusData['tagbaru']
|
||||
|
||||
]);
|
||||
}
|
||||
@@ -293,7 +320,13 @@ class TebusController extends Controller
|
||||
$compare_teller = strcmp($a['teller'], $b['teller']);
|
||||
|
||||
if ($compare_teller === 0) {
|
||||
return strcmp($a['t_tebus'], $b['t_tebus']);
|
||||
$compare_tebus = strcmp($a['t_tebus'], $b['t_tebus']);
|
||||
|
||||
if ($compare_tebus === 0) {
|
||||
return $a['tarikh_bayaran'] <=> $b['tarikh_bayaran'];
|
||||
}
|
||||
|
||||
return $compare_tebus;
|
||||
}
|
||||
|
||||
return $compare_teller;
|
||||
@@ -1735,39 +1768,41 @@ class TebusController extends Controller
|
||||
$result_audit_backdate = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate);
|
||||
}
|
||||
|
||||
$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','=',$year)
|
||||
//->whereMonth('t_gadai','>',7)
|
||||
->whereMonth('t_gadai','=',$month)
|
||||
->where('sttebus','<>','')
|
||||
->pluck('norujukan');
|
||||
// $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','=',$year)
|
||||
// //->whereMonth('t_gadai','>',7)
|
||||
// ->whereMonth('t_gadai','=',$month)
|
||||
// ->where('sttebus','<>','')
|
||||
// ->pluck('norujukan');
|
||||
|
||||
$sum_keun_tebus = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->where('transaction.trans_type','<>','A')
|
||||
->where('trans.margin_semasa','=',0) //3.80
|
||||
->sum('keuntungan_rebet');
|
||||
// $sum_keun_tebus = Transaction::on('mysql7')
|
||||
// ->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
// {
|
||||
// $join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
// $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
// })
|
||||
// ->whereIn('trans.norujukan',$get_norujukan)
|
||||
// ->where('transaction.trans_type','<>','A')
|
||||
// ->where('trans.margin_semasa','=',0) //3.80
|
||||
// ->sum('keuntungan_rebet');
|
||||
|
||||
$sum_keun_ansuran = Transaction::on('mysql7')
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->where('transaction.trans_type','A')
|
||||
->where('trans.margin_semasa','=',0)
|
||||
->sum('bayaran_keuntungan');
|
||||
// $sum_keun_ansuran = Transaction::on('mysql7')
|
||||
// ->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
// {
|
||||
// $join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
// $join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
// })
|
||||
// ->whereIn('trans.norujukan',$get_norujukan)
|
||||
// ->where('transaction.trans_type','A')
|
||||
// ->where('trans.margin_semasa','=',0)
|
||||
// ->sum('bayaran_keuntungan');
|
||||
|
||||
$total = $sum_keun_tebus + $sum_keun_ansuran;
|
||||
// $total = $sum_keun_tebus + $sum_keun_ansuran;
|
||||
|
||||
$total = $this->calculateKeuntunganSemasa($tarikh,$request->kodcaw);
|
||||
|
||||
if(!$determine_past->isToday()){
|
||||
$calculate_month = (int)$month_sekarang - $latest_month_akrunet->bulan;
|
||||
@@ -1817,8 +1852,9 @@ class TebusController extends Controller
|
||||
'kodcaw' => $request->kodcaw,
|
||||
]);
|
||||
|
||||
$calculation_keuntungan_sebenar = $this->untungrugicalculationLejer($request->kodcaw,$request_dibina);
|
||||
$upah_diterima = $calculation_keuntungan_sebenar->getContent();
|
||||
// $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;
|
||||
|
||||
@@ -1834,20 +1870,20 @@ class TebusController extends Controller
|
||||
$akrunet->setConnection($cawangan['mysql']);
|
||||
$akrunet->tahun = $current->year;
|
||||
$akrunet->bulan = $tarikh->month;
|
||||
$akrunet->jumlah = ($accrual_net - $total);
|
||||
$akrunet->jumlah = ($accrual_net);
|
||||
$akrunet->save();
|
||||
}else{
|
||||
if($available_akru[0]['jumlah'] !== ($accrual_net - $total))
|
||||
if($available_akru[0]['jumlah'] !== ($accrual_net))
|
||||
{
|
||||
AkruNet::on($cawangan['mysql'])->where('bulan','=',(int)$month_sekarang)->where('tahun',$current->year)
|
||||
->update(['jumlah' => ($accrual_net - $total)]);
|
||||
->update(['jumlah' => ($accrual_net)]);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//dd($jumlahakru,$accrual_net,$total);
|
||||
$total_accrual_net = $jumlahakru + ($accrual_net - $total);
|
||||
$total_accrual_net = $jumlahakru + ($accrual_net);
|
||||
|
||||
}else{
|
||||
|
||||
@@ -1892,6 +1928,65 @@ class TebusController extends Controller
|
||||
return response()->json($total_accrual_net);
|
||||
}
|
||||
|
||||
private function calculateKeuntunganSemasa($currentDate,$kodcaw)
|
||||
{
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $kodcaw)->first();
|
||||
|
||||
$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');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->where('transaction.kodcaw', $kodcaw)
|
||||
->whereYear('transaction.created_at', '=', $currentDate->year)
|
||||
->whereMonth('transaction.created_at', '=', $currentDate->month)
|
||||
->get();
|
||||
|
||||
|
||||
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
|
||||
|
||||
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $array_norujukan)->where('tagbaru',0)->get();
|
||||
|
||||
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
|
||||
foreach ($collection_gadai as $gadai) {
|
||||
if ($gadai->norujukan === $trans->norujukan) {
|
||||
$t_gadai = Carbon::parse($gadai->t_gadai);
|
||||
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
|
||||
|
||||
if (($t_gadai->month == $t_bayaran->month) && ($t_gadai->year == $t_bayaran->year)) {
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
$total_ansuran = $keuntungan_semasa_collection->filter(function ($transaction){
|
||||
return $transaction->trans_type == 'A';
|
||||
})->sum('bayaran_keuntungan');
|
||||
|
||||
$total_tebus = $keuntungan_semasa_collection->filter(function ($transaction){
|
||||
return $transaction->trans_type !== 'A';
|
||||
})->sum('keuntungan_rebet');
|
||||
|
||||
/* Keuntungan Lelong */
|
||||
$upahlelong = Lelong::on($cawangan['mysql'])
|
||||
->where([['t_jual', '>=', $firstMonth], ['t_jual', '<=', $lastMonth], ['t_jual', '>', '2022-07-24']])
|
||||
->whereYear('t_jual', '=', $currentDate->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
$total_keuntungan_semasa = ($total_ansuran + $total_tebus + $upahlelong);
|
||||
|
||||
/* End Keuntungan Semasa Calculation */
|
||||
return $total_keuntungan_semasa;
|
||||
}
|
||||
|
||||
public function kiraupahUjrahOnePercent($kodcaw,$norujukan){
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraupahUjrahOnePercent($kodcaw,$norujukan);
|
||||
@@ -1913,6 +2008,12 @@ class TebusController extends Controller
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function showOneTebusbyRujukanAndCawangan($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$tebus = Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
|
||||
|
||||
return response()->json($tebus);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ class TransactionOnlineController extends Controller
|
||||
|
||||
$sag = Gadai::on($cawangan['mysql'])->where('norujukan', $request->norujukan)->first();
|
||||
|
||||
$transaction = TransactionOnline::on('mysql7')->create([
|
||||
$transactionData = [
|
||||
'nokp' => $request->nokp,
|
||||
'reference_no' => $request->reference_no,
|
||||
'nosiri' => $request->nosiri,
|
||||
@@ -87,7 +87,17 @@ class TransactionOnlineController extends Controller
|
||||
'customer_name' => $request->customer_name,
|
||||
'tempohbayar' => $sag['tempoh'],
|
||||
'jenisbayaran' => $request->jenisbayaran ? $request->jenisbayaran : 'A',
|
||||
]);
|
||||
];
|
||||
|
||||
|
||||
try {
|
||||
$transaction = TransactionOnline::on('mysql7')->create($transactionData);
|
||||
OnlineTransactionLoggerService::logsAfterDBTransaction($transaction->billplz_id, TransactionOnlineStatus::INITIALIZED_TRANSACTION, $transaction, $transactionData);
|
||||
} catch (\Exception $e) {
|
||||
OnlineTransactionLoggerService::logsAfterDBTransaction($transaction->billplz_id, TransactionOnlineStatus::INITIALIZED_TRANSACTION, $transactionData, $e->getMessage());
|
||||
throw $e;
|
||||
}
|
||||
|
||||
|
||||
return response()->json($transaction, 201);
|
||||
}
|
||||
@@ -109,7 +119,7 @@ class TransactionOnlineController extends Controller
|
||||
$current = new Carbon();
|
||||
foreach ($transactions as $index => $transaction) {
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw', '=', $transaction['kodcaw'])
|
||||
->where('kodcaw', '=', $transaction['kodcaw'])
|
||||
->first();
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])->where([['norujukan', $transaction['norujukan']], ['nokp', $transaction['nokp']]])->first();
|
||||
if ($transaction->jenisbayaran == 'A') {
|
||||
@@ -366,7 +376,7 @@ class TransactionOnlineController extends Controller
|
||||
|
||||
try {
|
||||
|
||||
DB::connection('mysql7')->transaction(function () use ($norujukan, $gadai, $kodcaw, $current, $baki_hargajualan, $cawangan, $old_data, $lelong_tawarruq, $margin_semasa, $bayaran, $tempohbayar, $bill_id) {
|
||||
DB::connection('mysql7')->transaction(function () use ($norujukan, $gadai, $kodcaw, $current, $baki_hargajualan, $cawangan, $old_data, $lelong_tawarruq, $margin_semasa, $bayaran, $tempohbayar, $bill_id, $paid_at) {
|
||||
|
||||
$data = [
|
||||
'trans_type' => 'A',
|
||||
@@ -375,7 +385,7 @@ class TransactionOnlineController extends Controller
|
||||
'teller' => 'Online',
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $bayaran,
|
||||
'created_at' => $current,
|
||||
'created_at' => $paid_at,
|
||||
'bakiharga' => $baki_hargajualan,
|
||||
];
|
||||
|
||||
@@ -414,6 +424,7 @@ class TransactionOnlineController extends Controller
|
||||
'tempoh' => 0,
|
||||
'beza_tempoh' => 0,
|
||||
'margin_semasa' => 0,
|
||||
'tarikh_bayaran' => $paid_at,
|
||||
];
|
||||
|
||||
try {
|
||||
@@ -459,6 +470,7 @@ class TransactionOnlineController extends Controller
|
||||
'tempoh' => $gadai['tempoh'],
|
||||
'beza_tempoh' => $bilang_bln,
|
||||
'margin_semasa' => $margin_semasa,
|
||||
'tarikh_bayaran' => $paid_at,
|
||||
];
|
||||
|
||||
try {
|
||||
|
||||
@@ -16,12 +16,19 @@ class TransactionOnlineTrailController extends Controller
|
||||
public function index(Request $request)
|
||||
{
|
||||
|
||||
$date = $request->date ? $request->date : Carbon::now()->toDateString();
|
||||
$transactionsOnline = $this->getTransactionOnlineQuery($request);
|
||||
|
||||
$transactionsOnline = $this->getTransactionOnlineQuery($date, $request);
|
||||
$transaction = $this->getTransactionQuery($date, $request);
|
||||
$transaksiKeuntungan = $this->getTransaksiKeuntunganQuery($date, $request);
|
||||
$glDetail = $this->getGlDetailQuery($date, $request);
|
||||
$list_norujukan = [];
|
||||
|
||||
if($request->isGroupedByNorujukan){
|
||||
$list_norujukan = array_map(fn($x) => ['norujukan' => reset($x)['norujukan'], 'kodcaw' => reset($x)['kodcaw']], $transactionsOnline);
|
||||
} else {
|
||||
$list_norujukan = array_map(fn($x) => ['norujukan' => $x['norujukan'], 'kodcaw' => $x['kodcaw']], $transactionsOnline);
|
||||
}
|
||||
|
||||
$transaction = $this->getTransactionQuery($list_norujukan, $request);
|
||||
$transaksiKeuntungan = $this->getTransaksiKeuntunganQuery($list_norujukan, $request);
|
||||
$glDetail = $this->getGlDetailQuery($list_norujukan, $request);
|
||||
|
||||
return response()->json([
|
||||
'transactionsOnline' => $transactionsOnline,
|
||||
@@ -31,16 +38,28 @@ class TransactionOnlineTrailController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
private function getTransactionOnlineQuery($date, $request)
|
||||
private function getTransactionOnlineQuery($request)
|
||||
{
|
||||
$transactionOnline = TransactionOnline::whereDate('tarikh', $date)
|
||||
$startDate = $request->startDate ? Carbon::parse($request->startDate)->startOfDay() : Carbon::now()->startOfDay();
|
||||
$endDate = $request->endDate ? Carbon::parse($request->endDate)->endOfDay() : Carbon::now()->endOfDay();
|
||||
|
||||
$transactionOnline = TransactionOnline::whereBetween('tarikh', [$startDate, $endDate])
|
||||
->when($request->filled('branch'), function ($query) use ($request) {
|
||||
return $query->where('kodcaw', $request->branch);
|
||||
})
|
||||
->when($request->filled('billplzBillId'), function ($query) use ($request) {
|
||||
return $query->where('billplz_id', $request->billplzBillId);
|
||||
})
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', $request->norujukan);
|
||||
})
|
||||
->get();
|
||||
|
||||
if ($transactionOnline->isEmpty()) {
|
||||
$transactionOnline = TransactionOnline::whereDate('tarikh', $date)
|
||||
$transactionOnline = TransactionOnline::whereBetween('tarikh', [$startDate, $endDate])
|
||||
->when($request->filled('branch'), function ($query) use ($request) {
|
||||
return $query->where('kodcaw', $request->branch);
|
||||
})
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', 'LIKE', '%' . $request->norujukan . '%');
|
||||
})
|
||||
@@ -50,7 +69,9 @@ class TransactionOnlineTrailController extends Controller
|
||||
$transactionOnline = $transactionOnline
|
||||
->sortByDesc('tarikh')
|
||||
->sortByDesc('masa')
|
||||
->filter(fn($x) => $x['status'] === 'PAID')
|
||||
->when($request->filled('status'), function ($query) use ($request) {
|
||||
return $query->where('status', $request->status);
|
||||
})
|
||||
->when($request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1', function ($query) {
|
||||
return $query->groupBy('norujukan')->sortKeysDesc();
|
||||
})
|
||||
@@ -59,78 +80,56 @@ class TransactionOnlineTrailController extends Controller
|
||||
return $transactionOnline;
|
||||
}
|
||||
|
||||
private function getTransactionQuery($date, $request)
|
||||
private function getTransactionQuery($list_norujukan, $request)
|
||||
{
|
||||
$extract_norujukan = array_column($list_norujukan, 'norujukan');
|
||||
$startDate = $request->startDate ? Carbon::parse($request->startDate)->startOfDay() : Carbon::now()->startOfDay();
|
||||
$endDate = $request->endDate ? Carbon::parse($request->endDate)->endOfDay() : Carbon::now()->endOfDay();
|
||||
|
||||
$transaction = Transaction::whereDate('created_at', $date)
|
||||
->where('teller', 'Online')
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', $request->norujukan);
|
||||
})
|
||||
->get();
|
||||
|
||||
if ($transaction->isEmpty()) {
|
||||
$transaction = Transaction::whereDate('created_at', $date)
|
||||
->where('teller', 'Online')
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', 'LIKE', '%' . $request->norujukan . '%');
|
||||
})
|
||||
->get();
|
||||
}
|
||||
$transaction = Transaction::whereIn('norujukan', $extract_norujukan)
|
||||
->whereBetween('created_at', [$startDate, $endDate])
|
||||
->where('teller', 'online')
|
||||
->get();
|
||||
|
||||
return $transaction
|
||||
->when($request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1', function ($query) {
|
||||
return $query->groupBy('norujukan')->sortKeysDesc();
|
||||
})
|
||||
->sortByDesc('created_at')->toArray();
|
||||
->when($request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1', function ($query) {
|
||||
return $query->groupBy('norujukan')->sortKeysDesc();
|
||||
})
|
||||
->sortByDesc('created_at')->toArray();
|
||||
}
|
||||
|
||||
private function getTransaksiKeuntunganQuery($date, $request)
|
||||
private function getTransaksiKeuntunganQuery($list_norujukan, $request)
|
||||
{
|
||||
$transaksiKeuntungan = TransaksiKeuntungan::whereDate('tarikh_bayaran', $date)
|
||||
->whereHas('transaction', function ($query) {
|
||||
return $query->where('teller', 'Online');
|
||||
})
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', $request->norujukan);
|
||||
})
|
||||
->get();
|
||||
$extract_norujukan = array_column($list_norujukan, 'norujukan');
|
||||
$startDate = $request->startDate ? Carbon::parse($request->startDate)->startOfDay() : Carbon::now()->startOfDay();
|
||||
$endDate = $request->endDate ? Carbon::parse($request->endDate)->endOfDay() : Carbon::now()->endOfDay();
|
||||
|
||||
if ($transaksiKeuntungan->isEmpty()) {
|
||||
$transaksiKeuntungan = TransaksiKeuntungan::whereDate('tarikh_bayaran', $date)
|
||||
->whereHas('transaction', function ($query) {
|
||||
return $query->where('teller', 'Online');
|
||||
})
|
||||
->when($request->filled('norujukan'), function ($query) use ($request) {
|
||||
return $query->where('norujukan', 'LIKE', '%' . $request->norujukan . '%');
|
||||
})
|
||||
->orderBy('id', 'desc')
|
||||
->get();
|
||||
}
|
||||
$transaksiKeuntungan = TransaksiKeuntungan::whereIn('norujukan', $extract_norujukan)
|
||||
->whereBetween('tarikh_bayaran', [$startDate, $endDate])
|
||||
->whereHas('transaction', fn($query) => $query->where('teller', 'online'))
|
||||
->get();
|
||||
|
||||
return $transaksiKeuntungan
|
||||
->when($request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1', function ($query) {
|
||||
return $query->groupBy('norujukan')->sortKeysDesc();
|
||||
})
|
||||
->toArray();
|
||||
->when($request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1', function ($query) {
|
||||
return $query->groupBy('norujukan')->sortKeysDesc();
|
||||
})
|
||||
->toArray();
|
||||
}
|
||||
|
||||
public function getGlDetailQuery($date, $request)
|
||||
public function getGlDetailQuery($list_norujukan, $request)
|
||||
{
|
||||
$startDate = $request->startDate ? Carbon::parse($request->startDate)->startOfDay() : Carbon::now()->startOfDay();
|
||||
$endDate = $request->endDate ? Carbon::parse($request->endDate)->endOfDay() : Carbon::now()->endOfDay();
|
||||
|
||||
$extract_norujukan = array_unique(array_column($list_norujukan, 'norujukan'));
|
||||
$extract_kodcaw = array_unique(array_column($list_norujukan, 'kodcaw'));
|
||||
|
||||
$isGroupByNorujukan = $request->filled('isGroupedByNorujukan') && $request->isGroupedByNorujukan === '1';
|
||||
|
||||
$connectionCawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first()->mysql;
|
||||
$connectionCawangan = Cawangan::on('mysql7')->whereIn('kodcaw', $extract_kodcaw)->get()->pluck('mysql');
|
||||
|
||||
$cawanganTransactionOnline = TransactionOnline::whereDate('tarikh', $date)
|
||||
->get()
|
||||
->pluck('kodcaw')
|
||||
->unique()
|
||||
->all();
|
||||
|
||||
$connectionCawangan = Cawangan::on('mysql7')->whereIn('kodcaw', $cawanganTransactionOnline)->get()->pluck('mysql');
|
||||
|
||||
$glDetail = $connectionCawangan->map(fn($x) => GlDetail::on($x)->where('teller', 'ONLINE')->whereDate('tarikh', $date)->orderBy('recno')->get())
|
||||
$glDetail = $connectionCawangan->map(fn($x) => GlDetail::on($x)->where('teller', 'ONLINE')->whereBetween('tarikh', [$startDate, $endDate])
|
||||
->orderBy('recno')->get())
|
||||
->flatten()
|
||||
->when($isGroupByNorujukan, function ($glDetail) {
|
||||
return $glDetail->groupBy('descpt')
|
||||
@@ -142,6 +141,13 @@ class TransactionOnlineTrailController extends Controller
|
||||
->when($request->filled('norujukan'), function ($glDetail) use ($request) {
|
||||
return $glDetail->filter(fn($x) => strpos($x->descpt, $request->norujukan) !== false);
|
||||
})
|
||||
->when($request->filled('billplzBillId'), function ($glDetail) use ($extract_norujukan) {
|
||||
return $glDetail->filter(function ($x) use ($extract_norujukan) {
|
||||
return collect($extract_norujukan)->contains(function ($norujukan) use ($x) {
|
||||
return strpos($x->descpt, $norujukan) !== false;
|
||||
});
|
||||
});
|
||||
})
|
||||
->toArray();
|
||||
|
||||
return $glDetail;
|
||||
|
||||
Reference in New Issue
Block a user