Files
api_arrahn/app/Http/Controllers/AdminPageController.php
T
hafifierahman 6836ecad71 fix skit
2022-08-02 12:11:54 +08:00

2648 lines
106 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Cawangan;
use App\Customer;
use App\Transaction;
use App\Gadai;
use App\Lelong;
use App\Tebus;
use App\Vault;
use App\GlDetail;
use App\Panjar;
use App\TransactionOnline;
use App\Tunai;
use App\AddTunai;
use App\TuntutBaki;
use App\Advansur;
use App\TransaksiKeuntungan;
use App\Bajet;
use App\BajetTahunan;
use App\Blacklist;
use App\Pelelong;
use App\Mohon;
use App\Pengesahan;
use App\Permohonan;
use App\Status;
use App\LookupStatus;
use App\ARFiles;
use App\WTDDraft;
use App\SerahBaki;
use App\WTD;
use DB;
use Carbon\Carbon;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Collection;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Http\Request;
class AdminPageController extends Controller
{
public function showAllCawangans()
{
return response()->json(Cawangan::on('mysql7')->get());
}
public function showOneCustomer($id){
$customer = Customer::on('mysql7')
->where('id','=',$id)
->first();
return response()->json($customer);
}
public function TunaiPaginateforAdmin($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tunai=Tunai::on($cawangan['mysql'])
->where([['kodcaw','=',$kodcaw],['tarikh','<=',$current->toDateString()],['kodlaluan','=',$request->kodlaluan]])
->orderBy('tarikh','desc')
->paginate(5);
return response()->json($tunai);
}
public function getTarikhTunai($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tunai=Tunai::on($cawangan['mysql'])
->where([['kodcaw','=',$kodcaw],['tarikh','=',$request->tarikh],['kodlaluan','=',$request->kodlaluan]])
->orderBy('tarikh','desc')
->first();
return response()->json($tunai);
}
public function getAddTunaiDateKodlaluan($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$addtunai=AddTunai::on($cawangan['mysql'])->where([['kodcaw','=',$kodcaw],['kodlaluan','=',$request->kodlaluan],['tarikh','=',$request->tarikh]])->get();
return response()->json($addtunai);
}
public function SenaraiAdvansurTarikh($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$listadvansur = Advansur::on($cawangan['mysql'])
->where('teller','=',$request->kodlaluan)
->where('tarikh','=',$request->tarikh)
->orderBy('tarikh','desc')
->get();
return response()->json($listadvansur,200);
}
public function showTuntutBakiTarikhTeller($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tuntutbaki = TuntutBaki::on($cawangan['mysql'])
->where('tarikh','=', $request->tarikh)
->where('teller','=', $request->teller)
->get();
return response()->json($tuntutbaki,200);
}
public function LelonganTarikh($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$lelong = Lelong::on($cawangan['mysql'])
->whereNotNull('t_jual')
->where('t_jual','=', $request->tarikh)
->sum('hargajual');
return response()->json($lelong,200);
}
public function PetiBesiPaginateforAdmin($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$vault=Vault::on($cawangan['mysql'])
->where('kodcaw','=',$kodcaw)
->orderby('tarikh','desc')
->paginate(5);
return response()->json($vault);
}
public function TahunanGadai(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arrayGadai = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Gadai')
->whereYear('bajettahunan.tahun', '=', $current->year)
->sum('nilaibajet');
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('SUM(pinjaman) AS totalpinjaman')
->whereYear('t_gadai',$current->year)
->sum('pinjaman');
array_push($arrayGadai,['bajet' => $bajetgroup,'total' => $gadai]);
return response()->json($arrayGadai);
}
public function TahunanTebus(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arrayTebus = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Penebusan')
->whereYear('bajettahunan.tahun', '=', $current->year)
->sum('nilaibajet');
$tebus = Gadai::on($cawangan['mysql'])
->whereYear('t_update',$current->year)
->where('sttebus','!=','')
->sum('pinjaman');
array_push($arrayTebus,['bajet' => $bajetgroup,'total' => $tebus]);
return response()->json($arrayTebus);
}
public function TahunanKeuntungan(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arrayKeuntungan = [];
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Keuntungan')
->whereYear('bajettahunan.tahun', '=', $current->year)
->sum('nilaibajet');
$tebus_arrahn = Tebus::on($cawangan['mysql'])
->rightJoin('gadai', 'gadai.norujukan', '=', 'tebus.norujukan')
->selectRaw('SUM(tebus.bakiupah) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_tebus, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_tebus,'%Y%m')"))
->whereYear('t_tebus',$current->year)
->where([['tebus.jenistebus','=','T'],['gadai.hargajualan','=',null],['t_tebus','<=',$current->toDateString()]])
->orderBy('t_tebus','asc')
->get()->toArray();
$advansur = Advansur::on($cawangan['mysql'])
->selectRaw('SUM(upahDibayar) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(tarikh, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(tarikh,'%Y%m')"))
->whereYear('tarikh',$current->year)
->where([['tarikh','<=',$current->toDateString()]])
->get()->toArray();
$ansuran = Transaction::on('mysql7')
->selectRaw('SUM(trans.bayaran_keuntungan) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(transaction.created_at, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(transaction.created_at,'%Y%m')"))
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','=','A')
->where([['trans.tarikh_bayaran','<=',$current->toDateString(). ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->get()->toArray();
$tebus_upah_tawarruq = Transaction::on('mysql7')
->selectRaw('SUM(trans.keuntungan_rebet) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(transaction.created_at, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(transaction.created_at,'%Y%m')"))
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','!=','A')
->where([['trans.tarikh_bayaran','<=',$current->toDateString() . ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->get()->toArray();
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
->selectRaw('SUM(bakiupah) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_jual, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_jual,'%Y%m')"))
->whereYear('t_jual',$current->year)
->orderBy('t_jual','asc')
->get()->toArray();
$totalall = 0;
$variable = ['lelongupahsimpan','ansuran','tebus_arrahn','advansur','tebus_upah_tawarruq'];
foreach($variable as $index => $var)
{
foreach(${$var} as $indextemp => $temp)
{
$totalall += $temp['total'];
}
}
// $tebus = Tebus::on($cawangan['mysql'])
// ->selectRaw('SUM(bakiupah) AS totalupahsimpan')
// ->addSelect(DB::connection($cawangan['mysql'])
// ->raw('DATE_FORMAT(t_tebus, "%Y-%m") as t_tebus'))
// ->groupBy(DB::connection($cawangan['mysql'])
// ->raw("DATE_FORMAT(t_tebus,'%Y%m')"))
// ->where(function($query) use ($current){
// $query
// ->where([['jenistebus','=','T'],['t_tebus','<=',$current->toDateString()]])
// ->whereYear('t_tebus',$current->year);
// })
// ->orWhere(function($query) use ($current){
// $query
// ->where([['jenistebus','=','T'],['t_tebus','<=',$current->toDateString()]])
// ->whereYear('t_tebus',$current->year);
// })
// ->orderBy('t_tebus','asc')
// ->get();
// $totaltebus = 0;
// foreach($tebus as $index=>$teb)
// {
// $totaltebus += $teb['totalupahsimpan'];
// }
// $total = $totaltebus + $totallelong;
array_push($arrayKeuntungan,['bajet' => $bajetgroup,'total' => $totalall]);
return response()->json($arrayKeuntungan);
}
public function PembiayaanBulanan(Request $request){
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
switch($i+1){
case 1: $namabulan = 'Jan';
$tarikh = $current->year . '-' . '01';
break;
case 2: $namabulan = 'Feb';
$tarikh = $current->year . '-' . '02';
break;
case 3: $namabulan = 'Mac';
$tarikh = $current->year . '-' . '03';
break;
case 4: $namabulan = 'Apr';
$tarikh = $current->year . '-' . '04';
break;
case 5: $namabulan = 'Mei';
$tarikh = $current->year . '-' . '05';
break;
case 6: $namabulan = 'Jun';
$tarikh = $current->year . '-' . '06';
break;
case 7: $namabulan = 'Jul';
$tarikh = $current->year . '-' . '07';
break;
case 8: $namabulan = 'Aug';
$tarikh = $current->year . '-' . '08';
break;
case 9: $namabulan = 'Sep';
$tarikh = $current->year . '-' . '09';
break;
case 10: $namabulan = 'Okt';
$tarikh = $current->year . '-' . '10';
break;
case 11: $namabulan = 'Nov';
$tarikh = $current->year . '-' . '11';
break;
case 12: $namabulan = 'Dis';
$tarikh = $current->year . '-' . '12';
break;
}
array_push($array_totalup,['tarikh'=>$tarikh,'namabulan'=>$namabulan,'pembiayaan'=>0,'bajetgadai'=> 0]);
}
// $bajetgadai = [2259500,2259500,2582280,2582280,2905070,3066460,2582280,2582280,2743680,2743680,2905070,3066460];
$bajetgadai = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Gadai')
->whereYear('bajettahunan.tahun', '=', $current->year)
->get();
foreach($bajetgroup as $index1=>$bj)
{
array_push($bajetgadai,floatval($bj['nilaibajet']));
}
$arrayPembiayaan = array();
$goals = [['name' => 'Expected','value' => 200000,'strokeHeight' => 5, 'strokeColor' => '#e74c3c']];
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('SUM(pinjaman) AS totalpinjaman')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_gadai,'%Y%m')"))
->whereYear('t_gadai',$current->year)
->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$monthly_date]])
->orderBy('t_gadai','asc')
->get();
$total_gadai = 0;
foreach($array_totalup as $array_index=>$totalup){
foreach($gadai as $indexgadai=>$gadai_detail){
if($totalup['tarikh'] == $gadai_detail['t_gadai']){
$total_gadai = $totalup['pembiayaan'];
$total_gadai += $gadai_detail['totalpinjaman'];
}
}
$goals[0]['value'] = (sizeof($bajetgadai) > 0) ? $bajetgadai[$array_index] : 0;
array_push($arrayPembiayaan,['x' => $array_totalup[$array_index]['namabulan'],'y' => $total_gadai,'goals' => (array) $goals]);
$total_gadai = 0;
}
return response()->json($arrayPembiayaan);
}
public function BilanganGadaianBulanan(Request $request){
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
switch($i+1){
case 1: $namabulan = 'Jan';
$tarikh = $current->year . '-' . '01';
break;
case 2: $namabulan = 'Feb';
$tarikh = $current->year . '-' . '02';
break;
case 3: $namabulan = 'Mac';
$tarikh = $current->year . '-' . '03';
break;
case 4: $namabulan = 'Apr';
$tarikh = $current->year . '-' . '04';
break;
case 5: $namabulan = 'Mei';
$tarikh = $current->year . '-' . '05';
break;
case 6: $namabulan = 'Jun';
$tarikh = $current->year . '-' . '06';
break;
case 7: $namabulan = 'Jul';
$tarikh = $current->year . '-' . '07';
break;
case 8: $namabulan = 'Aug';
$tarikh = $current->year . '-' . '08';
break;
case 9: $namabulan = 'Sep';
$tarikh = $current->year . '-' . '09';
break;
case 10: $namabulan = 'Okt';
$tarikh = $current->year . '-' . '10';
break;
case 11: $namabulan = 'Nov';
$tarikh = $current->year . '-' . '11';
break;
case 12: $namabulan = 'Dis';
$tarikh = $current->year . '-' . '12';
break;
}
array_push($array_totalup,['tarikh'=>$tarikh,'namabulan'=>$namabulan,'bilgadai'=>0,'bajetgadai'=> 0]);
}
// $bajetgadai = [300,700,500,300,400,360,470,860,400,432,444,654];
$bajetgadai = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Bilangan-Gadai')
->whereYear('bajettahunan.tahun', '=', $current->year)
->get();
foreach($bajetgroup as $index1=>$bj)
{
array_push($bajetgadai,floatval($bj['nilaibajet']));
}
$arrayPembiayaan = array();
$goals = [['name' => 'Expected','value' => 200000,'strokeHeight' => 5, 'strokeColor' => '#e74c3c']];
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangangadai')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_gadai,'%Y%m')"))
->whereYear('t_gadai',$current->year)
->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$monthly_date]])
->orderBy('t_gadai','asc')
->get();
$total_gadai = 0;
foreach($array_totalup as $array_index=>$totalup){
foreach($gadai as $indexgadai=>$gadai_detail){
if($totalup['tarikh'] == $gadai_detail['t_gadai']){
$total_gadai = $totalup['bilgadai'];
$total_gadai += $gadai_detail['bilangangadai'];
}
}
$goals[0]['value'] = (sizeof($bajetgadai) > 0) ? $bajetgadai[$array_index] : 0;
array_push($arrayPembiayaan,['x' => $array_totalup[$array_index]['namabulan'],'y' => $total_gadai,'goals' => (array) $goals]);
$total_gadai = 0;
}
return response()->json($arrayPembiayaan);
}
public function PenebusanBulanan(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
switch($i+1){
case 1: $namabulan = 'Jan';
$tarikh = $current->year . '-' . '01';
break;
case 2: $namabulan = 'Feb';
$tarikh = $current->year . '-' . '02';
break;
case 3: $namabulan = 'Mac';
$tarikh = $current->year . '-' . '03';
break;
case 4: $namabulan = 'Apr';
$tarikh = $current->year . '-' . '04';
break;
case 5: $namabulan = 'Mei';
$tarikh = $current->year . '-' . '05';
break;
case 6: $namabulan = 'Jun';
$tarikh = $current->year . '-' . '06';
break;
case 7: $namabulan = 'Jul';
$tarikh = $current->year . '-' . '07';
break;
case 8: $namabulan = 'Aug';
$tarikh = $current->year . '-' . '08';
break;
case 9: $namabulan = 'Sep';
$tarikh = $current->year . '-' . '09';
break;
case 10: $namabulan = 'Okt';
$tarikh = $current->year . '-' . '10';
break;
case 11: $namabulan = 'Nov';
$tarikh = $current->year . '-' . '11';
break;
case 12: $namabulan = 'Dis';
$tarikh = $current->year . '-' . '12';
break;
}
array_push($array_totalup,['tarikh'=>$tarikh,'namabulan'=>$namabulan,'penebusan'=>0,'bajettebus' => 0]);
}
// $bajettebus = [2040110,2040110,2331560,2331560,2623000,2768720,2331560,2331560,2331560,2477280,2477280,2623000];
$bajettebus = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Penebusan')
->whereYear('bajettahunan.tahun', '=', $current->year)
->get();
foreach($bajetgroup as $index1=>$bj)
{
array_push($bajettebus,floatval($bj['nilaibajet']));
}
$arrayPenyelesaian = array();
$goals = [['name' => 'Expected','value' => 200000,'strokeHeight' => 5, 'strokeColor' => '#e74c3c']];
$tebus = Gadai::on($cawangan['mysql'])
->selectRaw('SUM(pinjaman) AS totalpinjaman')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_update, "%Y-%m") as t_update'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_update,'%Y%m')"))
->whereYear('t_update',$current->year)
->where([['sttebus','!=',''],['t_update','<=',$current->toDateString()],['t_update','>=',$monthly_date]])
->orderBy('t_update','asc')
->get();
$total_tebus = 0;
foreach($array_totalup as $array_index=>$totalup){
foreach($tebus as $indextebus=>$tebus_detail){
if($totalup['tarikh'] == $tebus_detail['t_update']){
$total_tebus = $totalup['penebusan'];
$total_tebus += $tebus_detail['totalpinjaman'];
$array_totalup[$array_index]['penebusan'] = $total_tebus;
$array_totalup[$array_index]['bajettebus'] = (sizeof($bajettebus) > 0) ? $bajettebus[$array_index] : 0;
}
}
$goals[0]['value'] = (sizeof($bajettebus) > 0) ? $bajettebus[$array_index] : 0;
array_push($arrayPenyelesaian,['x' => $array_totalup[$array_index]['namabulan'],'y' => $total_tebus,'goals' => (array) $goals]);
$total_tebus = 0;
}
return response()->json($arrayPenyelesaian);
}
public function BilanganPenebusanBulanan(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
switch($i+1){
case 1: $namabulan = 'Jan';
$tarikh = $current->year . '-' . '01';
break;
case 2: $namabulan = 'Feb';
$tarikh = $current->year . '-' . '02';
break;
case 3: $namabulan = 'Mac';
$tarikh = $current->year . '-' . '03';
break;
case 4: $namabulan = 'Apr';
$tarikh = $current->year . '-' . '04';
break;
case 5: $namabulan = 'Mei';
$tarikh = $current->year . '-' . '05';
break;
case 6: $namabulan = 'Jun';
$tarikh = $current->year . '-' . '06';
break;
case 7: $namabulan = 'Jul';
$tarikh = $current->year . '-' . '07';
break;
case 8: $namabulan = 'Aug';
$tarikh = $current->year . '-' . '08';
break;
case 9: $namabulan = 'Sep';
$tarikh = $current->year . '-' . '09';
break;
case 10: $namabulan = 'Okt';
$tarikh = $current->year . '-' . '10';
break;
case 11: $namabulan = 'Nov';
$tarikh = $current->year . '-' . '11';
break;
case 12: $namabulan = 'Dis';
$tarikh = $current->year . '-' . '12';
break;
}
array_push($array_totalup,['tarikh'=>$tarikh,'namabulan'=>$namabulan,'bilpenebusan'=>0,'bajettebus' => 0]);
}
// $bajettebus = [600,540,520,510,540,607,650,300,400,500,800,200];
$bajettebus = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Bilangan-Tebus')
->whereYear('bajettahunan.tahun', '=', $current->year)
->get();
foreach($bajetgroup as $index1=>$bj)
{
array_push($bajettebus,floatval($bj['nilaibajet']));
}
$arrayPenyelesaian = array();
$goals = [['name' => 'Expected','value' => 200000,'strokeHeight' => 5, 'strokeColor' => '#e74c3c']];
$tebus = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangantebus')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_update, "%Y-%m") as t_update'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_update,'%Y%m')"))
->whereYear('t_update',$current->year)
->where([['sttebus','=','T'],['t_update','<=',$current->toDateString()],['t_update','>=',$monthly_date]])
->orderBy('t_update','asc')
->get();
$total_tebus = 0;
foreach($array_totalup as $array_index=>$totalup){
foreach($tebus as $indextebus=>$tebus_detail){
if($totalup['tarikh'] == $tebus_detail['t_update']){
$total_tebus = $totalup['bilpenebusan'];
$total_tebus += $tebus_detail['bilangantebus'];
$array_totalup[$array_index]['bilpenebusan'] = $total_tebus;
$array_totalup[$array_index]['bajettebus'] = (sizeof($bajettebus) > 0) ? $bajettebus[$array_index] : 0;
}
}
$goals[0]['value'] = (sizeof($bajettebus) > 0) ? $bajettebus[$array_index] : 0;
array_push($arrayPenyelesaian,['x' => $array_totalup[$array_index]['namabulan'],'y' => $total_tebus,'goals' => (array) $goals]);
$total_tebus = 0;
}
return response()->json($arrayPenyelesaian);
}
public function KeuntunganBulanan(Request $request){
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
switch($i+1){
case 1: $namabulan = 'Jan';
$tarikh = $current->year . '-' . '01';
break;
case 2: $namabulan = 'Feb';
$tarikh = $current->year . '-' . '02';
break;
case 3: $namabulan = 'Mac';
$tarikh = $current->year . '-' . '03';
break;
case 4: $namabulan = 'Apr';
$tarikh = $current->year . '-' . '04';
break;
case 5: $namabulan = 'Mei';
$tarikh = $current->year . '-' . '05';
break;
case 6: $namabulan = 'Jun';
$tarikh = $current->year . '-' . '06';
break;
case 7: $namabulan = 'Jul';
$tarikh = $current->year . '-' . '07';
break;
case 8: $namabulan = 'Aug';
$tarikh = $current->year . '-' . '08';
break;
case 9: $namabulan = 'Sep';
$tarikh = $current->year . '-' . '09';
break;
case 10: $namabulan = 'Okt';
$tarikh = $current->year . '-' . '10';
break;
case 11: $namabulan = 'Nov';
$tarikh = $current->year . '-' . '11';
break;
case 12: $namabulan = 'Dis';
$tarikh = $current->year . '-' . '12';
break;
}
array_push($array_totalup,['tarikh'=>$tarikh,'namabulan'=>$namabulan,'keuntungan'=>0,'bajetkeuntungan' => 0]);
}
// $bajetkeuntungan = [236850,224390,211920,211920,199460,199460,236850,224390,199460,199460,114520,174520];
// $bajetkeuntungan = array_reverse($bajetkeuntungan);
$bajetkeuntungan = [];
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('jenisbajet','=','Keuntungan')
->whereYear('bajettahunan.tahun', '=', $current->year)
->get();
foreach($bajetgroup as $index1=>$bj)
{
array_push($bajetkeuntungan,floatval($bj['nilaibajet']));
}
$arrayKeuntungan = array();
$goals = [['name' => 'Expected','value' => 0,'strokeHeight' => 5, 'strokeColor' => '#e74c3c']];
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
->selectRaw('SUM(bakiupah) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_jual, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_jual,'%Y%m')"))
->whereYear('t_jual',$current->year)
->where([['t_jual','<=',$current->toDateString()],['t_jual','>=',$monthly_date]])
->orderBy('t_jual','asc')
->get()->toArray();
$tebus_arrahn = Tebus::on($cawangan['mysql'])
->rightJoin('gadai', 'gadai.norujukan', '=', 'tebus.norujukan')
->selectRaw('SUM(tebus.bakiupah) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_tebus, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_tebus,'%Y%m')"))
->whereYear('t_tebus',$current->year)
->where([['tebus.jenistebus','=','T'],['gadai.hargajualan','=',null],['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$monthly_date]])
->orderBy('t_tebus','asc')
->get()->toArray();
$advansur = Advansur::on($cawangan['mysql'])
->selectRaw('SUM(upahDibayar) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(tarikh, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(tarikh,'%Y%m')"))
->whereYear('tarikh',$current->year)
->where([['tarikh','<=',$current->toDateString()],['tarikh','>=',$monthly_date]])
->get()->toArray();
$ansuran = Transaction::on('mysql7')
->selectRaw('SUM(trans.bayaran_keuntungan) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(transaction.created_at, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(transaction.created_at,'%Y%m')"))
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','=','A')
->where([['trans.tarikh_bayaran','>=',$monthly_date . ' 00:00:00'],['trans.tarikh_bayaran','<=',$current->toDateString(). ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->get()->toArray();
$tebus_upah_tawarruq = Transaction::on('mysql7')
->selectRaw('SUM(trans.keuntungan_rebet) AS total')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(transaction.created_at, "%Y-%m") as tarikh'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(transaction.created_at,'%Y%m')"))
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','!=','A')
->where([['trans.tarikh_bayaran','>=',$monthly_date . ' 00:00:00'],['trans.tarikh_bayaran','<=',$current->toDateString() . ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->get()->toArray();
$variable = ['lelongupahsimpan','ansuran','tebus_arrahn','advansur','tebus_upah_tawarruq'];
foreach($array_totalup as $array_index=>$totalup){
foreach($variable as $index => $var)
{
foreach(${$var} as $indextemp => $temp)
{
if($totalup['tarikh'] == $temp['tarikh'])
{
$total_tebus = $array_totalup[$array_index]['keuntungan'];
$total_tebus += $temp['total'];
$array_totalup[$array_index]['keuntungan'] = $total_tebus;
$array_totalup[$array_index]['bajetkeuntungan'] = (sizeof($bajetkeuntungan) > 0) ? $bajetkeuntungan[$array_index] : 0;
}
}
}
// foreach($tebus_upah_tawarruq as $indexloop=>$looptambahan)
// {
// if($totalup['tarikh'] == $looptambahan['tarikh']){
// $total = 0;
// $tebusarrahntotal = (count($tebus_arrahn) < $indexloop) ? $tebus_arrahn[$indexloop]['total'] : 0;
// $advansurtotal = (count($advansur) < $indexloop) ? $advansur[$indexloop]['total'] ? $advansur[$indexloop]['total'] : 0 : 0;
// $ansurantotal = (count($ansuran) < $indexloop) ? $ansuran[$indexloop]['total'] : 0;
// $tebustawarruqtotal = (count($lelongupahsimpan) < $indexloop) ? $lelongupahsimpan[$indexloop]['total'] : 0;
// $total = $looptambahan['total'] + $tebusarrahntotal + $advansurtotal + $ansurantotal + $tebustawarruqtotal;
// // $total_keuntungan = $array_totalup[$array_index]['keuntungan'];
// $total_keuntungan = $total;
// $array_totalup[$array_index]['keuntungan'] = $total_keuntungan;
// $array_totalup[$array_index]['bajetkeuntungan'] = (sizeof($bajetkeuntungan) > 0) ? $bajetkeuntungan[$array_index] : 0;
// }
// }
$goals[0]['value'] = (sizeof($bajetkeuntungan) > 0) ? $bajetkeuntungan[$array_index] : 0;
array_push($arrayKeuntungan,['x' => $array_totalup[$array_index]['namabulan'],'y' => $array_totalup[$array_index]['keuntungan'],'goals' => (array) $goals]);
}
return response()->json($arrayKeuntungan);
}
public function showAllGadaiToday(Request $request){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$gadaiToday = 0;
$gadaiLastweek = 0;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_date = $monthly->startOfMonth()->toDateString();
$gadailatest = Gadai::on($cawangan['mysql'])
->where([['t_gadai','>=',$monthly_date],['t_gadai','<=',$harini],['hargajualan','<>','NULL']])
->whereYear('t_gadai',$current->year)
->orderBy('t_gadai','asc')
->sum('pinjaman');
switch($current->month){
case 1: $bulan = 'Januari';
break;
case 2: $bulan = 'Februari';
break;
case 3: $bulan = 'Mac';
break;
case 4: $bulan = 'April';
break;
case 5: $bulan = 'Mei';
break;
case 6: $bulan = 'Jun';
break;
case 7: $bulan = 'Julai';
break;
case 8: $bulan = 'Ogos';
break;
case 9: $bulan = 'September';
break;
case 10: $bulan = 'Oktober';
break;
case 11: $bulan = 'November';
break;
case 12: $bulan = 'Disember';
break;
}
$bajetcollection = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('bajettahunan.jenisbajet','=','Gadai')
->where('bajet.bulan','=',$bulan)
->whereYear('bajettahunan.tahun', '=', $current->year)
->first();
if($bajetcollection)
{
$bajetharian = floatval($bajetcollection->nilaibajet) / 26;
$cummulativegadaian = floatval($bajetcollection->nilaibajet) - floatval($gadailatest);
$percentcum = ((floatval($gadailatest) - floatval($bajetcollection->nilaibajet)) / floatval($bajetcollection->nilaibajet)) * 100;
}else{
$bajetharian = 0;
$cummulativegadaian = 0;
$percentcum = 0;
}
$gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$harini)->sum('pinjaman');
// $gadai_last_week = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$lastweek)->sum('pinjaman');
// $gadaiLastweek += $gadai_last_week;
$gadaiToday += $gadai;
$diffGadaiPercent = 0;
if($bajetcollection)
$diffGadaiPercent = (($gadaiToday - $bajetharian)/$bajetharian)*100;
else
$diffGadaiPercent = 0;
$dataGadai = [];
array_push($dataGadai,['gadaiToday'=>$gadaiToday,'percentDiff'=>$diffGadaiPercent,'bajetharian' => $bajetharian,'bulan' => $bulan,'percentcum' => abs(round($percentcum)),'remaining' => $cummulativegadaian]);
return response()->json($dataGadai);
}
public function showAllTebusToday(Request $request){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$tebusToday = 0;
$tebusLastWeek = 0;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_date = $monthly->startOfMonth()->toDateString();
$tebuslatest = Gadai::on($cawangan['mysql'])
->whereYear('t_update',$current->year)
->where([['sttebus','!=',''],['t_update','<=',$harini],['t_update','>=',$monthly_date]])
->orderBy('t_update','asc')
->sum('pinjaman');
switch($current->month){
case 1: $bulan = 'Januari';
break;
case 2: $bulan = 'Februari';
break;
case 3: $bulan = 'Mac';
break;
case 4: $bulan = 'April';
break;
case 5: $bulan = 'Mei';
break;
case 6: $bulan = 'Jun';
break;
case 7: $bulan = 'Julai';
break;
case 8: $bulan = 'Ogos';
break;
case 9: $bulan = 'September';
break;
case 10: $bulan = 'Oktober';
break;
case 11: $bulan = 'November';
break;
case 12: $bulan = 'Disember';
break;
}
$bajetcollection = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('bajettahunan.jenisbajet','=','Penebusan')
->where('bajet.bulan','=',$bulan)
->whereYear('bajettahunan.tahun', '=', $current->year)
->first();
if($bajetcollection)
{
$bajetharian = floatval($bajetcollection->nilaibajet) / 26;
$cummulativepenebusan = floatval($bajetcollection->nilaibajet) - floatval($tebuslatest);
$percentcum = ((floatval($tebuslatest) - floatval($bajetcollection->nilaibajet)) / floatval($bajetcollection->nilaibajet)) * 100;
}else{
$bajetharian = 0;
$cummulativepenebusan = 0;
$percentcum = 0;
}
$tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$harini)->sum('pinjaman');
$lelong = Lelong::on($cawangan['mysql'])->where('t_jual','=',$harini)->sum('pinjaman');
$tebusToday = $tebus + $lelong;
$diffTebusPercent = 0;
if($bajetcollection)
$diffTebusPercent = (($tebusToday - $bajetharian)/$bajetharian)*100;
else
$diffTebusPercent = 0;
$dataTebus = [];
array_push($dataTebus,['tebusToday'=>$tebusToday,'percentDiff'=>$diffTebusPercent,'bajetharian' => $bajetharian,'bulan' => $bulan,'percentcum' => abs(round($percentcum)),'remaining' => $cummulativepenebusan]);
return response()->json($dataTebus);
}
public function showAllUpahToday(Request $request){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$upahToday = 0;
$upahLastWeek = 0;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_date = $monthly->startOfMonth()->toDateString();
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
->selectRaw('SUM(bakiupah) AS totalupahlelong')
->whereYear('t_jual',$current->year)
->where([['t_jual','<=',$harini],['t_jual','>=',$monthly_date]])
->orderBy('t_jual','asc')
->sum('bakiupah');
$tebus = Tebus::on($cawangan['mysql'])
->selectRaw('SUM(bakiupah) AS totalupahsimpan')
->whereYear('t_tebus',$current->year)
->where([['jenistebus','=','T'],['t_tebus','<=',$harini],['t_tebus','>=',$monthly_date]])
->orWhere([['jenistebus','=','A'],['t_tebus','<=',$harini],['t_tebus','>=',$monthly_date]])
->orderBy('t_tebus','asc')
->sum('bakiupah');
$advansur = Advansur::on($cawangan['mysql'])
->selectRaw('SUM(upahDibayar) AS total')
->whereYear('tarikh',$current->year)
->where([['tarikh','<=',$harini],['tarikh','>=',$monthly_date]])
->sum('upahDibayar');
$ansuran = Transaction::on('mysql7')
->selectRaw('SUM(trans.bayaran_keuntungan) AS total')
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','=','A')
->where([['trans.tarikh_bayaran','>=',$monthly_date . ' 00:00:00'],['trans.tarikh_bayaran','<=',$harini. ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->sum('trans.bayaran_keuntungan');
$tebus_upah_tawarruq = Transaction::on('mysql7')
->selectRaw('SUM(trans.keuntungan_rebet) AS total')
->whereYear('transaction.created_at',$current->year)
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.trans_type','!=','A')
->where([['trans.tarikh_bayaran','>=',$monthly_date . ' 00:00:00'],['trans.tarikh_bayaran','<=',$harini . ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->sum('trans.keuntungan_rebet');
$upahlatest = $lelongupahsimpan + $tebus + $ansuran + $advansur + $tebus_upah_tawarruq;
switch($current->month){
case 1: $bulan = 'Januari';
break;
case 2: $bulan = 'Februari';
break;
case 3: $bulan = 'Mac';
break;
case 4: $bulan = 'April';
break;
case 5: $bulan = 'Mei';
break;
case 6: $bulan = 'Jun';
break;
case 7: $bulan = 'Julai';
break;
case 8: $bulan = 'Ogos';
break;
case 9: $bulan = 'September';
break;
case 10: $bulan = 'Oktober';
break;
case 11: $bulan = 'November';
break;
case 12: $bulan = 'Disember';
break;
}
$bajetcollection = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->where('bajettahunan.jenisbajet','=','Keuntungan')
->where('bajet.bulan','=',$bulan)
->whereYear('bajettahunan.tahun', '=', $current->year)
->first();
if($bajetcollection)
{
$bajetharian = floatval($bajetcollection->nilaibajet) / 26;
$cummulativekeuntungan = floatval($bajetcollection->nilaibajet) - floatval($upahlatest);
$percentcum = ((floatval($upahlatest) - floatval($bajetcollection->nilaibajet)) / floatval($bajetcollection->nilaibajet)) * 100;
}else{
$bajetharian = 0;
$cummulativekeuntungan = 0;
$percentcum = 0;
}
$upah_tebus_today = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$harini)->sum('bakiupah');
$upah_today = Advansur::on($cawangan['mysql'])->where('tarikh',$harini)->sum('upahDibayar');
$upahToday += $upah_today;
$ansuran_today = 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.trans_type','=','A')
->where([['trans.tarikh_bayaran','>=',$harini . ' 00:00:00'],['trans.tarikh_bayaran','<=',$harini . ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->sum('bayaran_keuntungan');
$upah_tebus_today = 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.trans_type','!=','A')
->where([['trans.tarikh_bayaran','>=',$harini . ' 00:00:00'],['trans.tarikh_bayaran','<=',$harini . ' 23:59:59']])
->where('trans.kodcaw','=',$request->kodcaw)
->sum('keuntungan_rebet');
$upahToday = $upah_tebus_today + $ansuran_today;
$diffUpah = 0;
if($bajetcollection)
$diffUpah = (($upahToday - $bajetharian)/$bajetharian)*100;
else
$diffUpah = 0;
$upahData = [];
array_push($upahData,['upahToday'=>$upahToday,'percentDiff'=>$diffUpah,'bajetharian' => round($bajetharian,2),'bulan' => $bulan,'percentcum' => abs(round($percentcum)),'remaining' => $cummulativekeuntungan]);
return response()->json($upahData);
}
public function getpetibesiSebelumbyTarikh($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$vault=Vault::on($cawangan['mysql'])
->where('kodcaw','=',$kodcaw)
->where('tarikh','<',$request->tarikh)
->orderby('tarikh','desc')->limit(1)->get();
return response()->json($vault);
}
public function getGldetailbyTarikh($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gldetail=GlDetail::on($cawangan['mysql'])
->where('kodcaw','=',$kodcaw)
->where('tarikh','=',$request->tarikh)
->where('descpt','NOT LIKE','SERAHAN BAYAR ONLINE%')
->orderby('tarikh','desc')->get();
return response()->json($gldetail,200);
}
public function getPanjarbyTarikh($kodcaw,Request $request)
{
$harini = Carbon::now();
$harini = new Carbon;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$panjar=Panjar::on($cawangan['mysql'])
->where('tarikh','=',$request->tarikh)
->get();
return response()->json($panjar);
}
public function updatePetiBesiAdmin(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw', '=', $request->kodcaw)->first();
$updateVault=Vault::on($cawangan['mysql'])->where('tarikh', '=', $request->tarikh)->update(array(
'bakiawal' => $request->bakiawal,
'keluar' => $request->keluar,
'masuk' => $request->masuk,
'pendahuluan' => $request->pendahuluan,
'serahan' => $request->serahan,
'totpanjar' => $request->panjar,
'bakiakhir' => $request->bakiakhir,
'bakieod' => $request->bakiakhir
) );
return response()->json($updateVault, 200);
}
public function AdminsearchSagOnline(Request $request)
{
$customer = TransactionOnline::on('mysql7')
->where('billplz_id','=', $request->billplzid)
->orderBy('status', 'asc')
->get();
return response()->json($customer);
}
public function SimpanStatus(Request $request)
{
$transactiononline = TransactionOnline::on('mysql7')
->where('id', '=', $request->id)
->update([
'status' => $request->status,
'paid_at' => $request->paidat
]);
return response()->json($transactiononline);
}
public function SenaraiBajet(Request $request)
{
// $arrayBajet = ['Gadai' => [],['Penebusan' => []],['Keuntungan' =>[]]];
// $arrayBajet = array('Gadai' => [],'Penebusan' => []);
$bajetgroup = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->whereYear('bajettahunan.tahun', '=', $request->year)
->groupBy('bajettahunan.jenisbajet')
->get();
$bajetcollection = BajetTahunan::on('mysql7')
->join('bajet', 'bajettahunan.id', '=', 'bajet.bajetid')
->where('bajettahunan.kodcaw','=', $request->kodcaw)
->whereYear('bajettahunan.tahun', '=', $request->year)
->get();
$arrayBajet = [];
foreach($bajetgroup as $index=>$bg)
{
array_push($arrayBajet,[$bg['jenisbajet'] => []]);
foreach($bajetcollection as $index1=>$bj)
{
if($bj['jenisbajet'] == key($arrayBajet[$index]))
{
array_push($arrayBajet[$index][key($arrayBajet[$index])],['id' => $bj['bajetid'], 'bulan' => $bj['bulan'], 'nilaibajet' => $bj['nilaibajet'] ]);
}
}
}
return response()->json($arrayBajet);
}
public function CheckBajet(Request $request)
{
$bajet = BajetTahunan::on('mysql7')
->where([['kodcaw','=', $request->kodcaw],['jenisbajet','=',$request->jenisbajet]])
->whereYear('tahun', '=', $request->year)
->get();
return response()->json($bajet);
}
public function SimpanBajet(Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$bajettahunan = new BajetTahunan();
$bajettahunan->tahun = $request->year.'-00-00';
$bajettahunan->jenisbajet = $request->jenisbajet;
$bajettahunan->kodcaw = $request->kodcaw;
$bajettahunan->save();
foreach($request->bulan as $index=>$bulan)
{
$bajet = new Bajet();
$bajet->kodcaw = $request->kodcaw;
$bajet->bulan = $bulan['bulan'];
$bajet->nilaibajet = $bulan['bajet'];
$bajet->updated_by = $request->username;
$bajet->bajetid = $bajettahunan->id;
$bajet->save();
}
return response()->json($bajet);
}
public function senaraikemaskinibajet(Request $request)
{
$bajet = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->get();
return response()->json($bajet);
}
public function KemaskiniBajet(Request $request)
{
$bajetjanuari = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Januari')
->update(['nilaibajet' => $request->bajetjanuari]);
$bajetfebruari = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Februari')
->update(['nilaibajet' => $request->bajetfebruari]);
$bajetmarch = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Mac')
->update(['nilaibajet' => $request->bajetmarch]);
$bajetapril = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','April')
->update(['nilaibajet' => $request->bajetapril]);
$bajetmei = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Mei')
->update(['nilaibajet' => $request->bajetmei]);
$bajetjun = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Jun')
->update(['nilaibajet' => $request->bajetjun]);
$bajetjulai = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Julai')
->update(['nilaibajet' => $request->bajetjulai]);
$bajetogos = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Ogos')
->update(['nilaibajet' => $request->bajetogos]);
$bajetseptember = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','September')
->update(['nilaibajet' => $request->bajetseptember]);
$bajetoktober = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Oktober')
->update(['nilaibajet' => $request->bajetoktober]);
$bajetnovember = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','November')
->update(['nilaibajet' => $request->bajetnovember]);
$bajetdisember = Bajet::on('mysql7')
->where('bajetid','=',$request->bajetid)
->where('bulan','=','Disember')
->update(['nilaibajet' => $request->bajetdisember]);
return response(1);
}
public function SenaraiBlacklist(Request $request)
{
if(isset($request->search))
{
$blacklist = Blacklist::on('mysql7')
->where('nama','LIKE',"%{$request->search}%")
->orderBy('tarikhdaftar','desc')
->paginate(5);
}else{
$blacklist = Blacklist::on('mysql7')
->orderBy('tarikhdaftar','desc')
->paginate(5);
}
return response()->json($blacklist);
}
public function AddSenaraiHitam(Request $request)
{
$customer = Customer::on('mysql7')
->where('kpbaru','=', $request->nokp)
->orWhere('kplama','=', $request->nokp)
->first();
$blacklist = Blacklist::on('mysql7')->create([
'kodcaw' => $customer['kodcaw'],
'tarikhdaftar' => $customer['tarikhdaftar'],
'kplama' => $customer['kplama'],
'kpbaru' => $customer['kpbaru'],
'nokp' => $request->nokp,
'nama' => $customer['nama'],
't_lahir' => $customer['t_lahir'],
'jantina' => $customer['jantina'],
'alamat1' => $customer['alamat1'],
'alamat2' => $customer['alamat2'],
'alamat3' => $customer['alamat3'],
'alamat4' => $customer['alamat4'],
'telefon' => $customer['telefon'],
'nota' => $request->nota,
'teller' => null,
'pelulus' => null
]);
return response()->json($blacklist, 201);
}
public function DeleteBlackList(Request $request)
{
$blacklist = Blacklist::where('id',$request->id)->delete();
return response()->json($blacklist, 201);
}
public function UpdateTunaiByTarikh($kodcaw, Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$updatetunai = Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $request->tarikh],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar'=>$request->keluar,
'masuk'=>$request->masuk,
'baki'=>$request->bakiakhir
));
return response()->json($updatetunai, 200);
}
public function UpdateNotisLelong($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$detailslelong = Pelelong::on($cawangan['mysql'])->
update(array(
'para2'=>$request->content
));
return response()->json($detailslelong, 200);
}
public function UpdateNotisLelong2($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$detailslelong = Pelelong::on($cawangan['mysql'])->
update(array(
'para3'=>$request->content
));
return response()->json($detailslelong, 200);
}
public function paginate($items, $perPage = 5, $page = null, $options = [])
{
$page = $page ?: (Paginator::resolveCurrentPage() ?: 1);
$items = $items instanceof Collection ? $items : Collection::make($items);
return new LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options);
}
public function listoperasi()
{
$harini = Carbon::now();
$harini = new Carbon;
$cawangan_all = Cawangan::on('mysql7')->get();
$arraykelulusan = [];
foreach($cawangan_all as $index=>$cawangan){
$kelulusan=Mohon::on($cawangan['mysql'])
->where('tarikh','=',$harini->toDateString())
->where('masalulus','=','')
->where('pelulus','=','operasi')
->get()->toArray();
if(sizeof($kelulusan) != 0){
foreach($kelulusan as $index=>$kel)
{
$kelulusan[$index]['cawangan'] = $cawangan['details_caw'];
$kelulusan[$index]['cawangankod'] = $cawangan['kodcaw'];
array_push($arraykelulusan,$kelulusan[$index]);
}
// $arraykelulusan += $kelulusan;
// array_push($arraykelulusan,$kelulusan);
// $arraykelulusan += $kelulusan;
// array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]);
}
}
$data = $this->paginate($arraykelulusan,3);
return response()->json($data,200);
}
public function listoperasikelulusan()
{
$harini = Carbon::now();
$harini = new Carbon;
$cawangan_all = Cawangan::on('mysql7')->get();
$arraykelulusan = [];
foreach($cawangan_all as $index=>$cawangan){
$kelulusan=Mohon::on($cawangan['mysql'])
->where('peloperasi','=','operasi')
->where('operasi','!=','')
->get();
if(sizeof($kelulusan) != 0){
array_push($arraykelulusan,["kelulusanall" => $kelulusan,"cawangan" => $cawangan['details_caw'],"cawangankod" => $cawangan['kodcaw']]);
}
}
return response()->json($arraykelulusan,200);
}
public function showOneCustomerGadai($ic,$status,Request $request){
if($status == 'belum_tebus'){
$gadai_status = '';
}elseif($status == 'sudah_tebus'){
$gadai_status = 'T';
}elseif($status == 'lelong'){
$gadai_status = 'L';
}
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
if(isset($request->search))
{
foreach($cawangan_all as $index=>$cawangan){
if($status == 'belum_tebus' || $status == 'sudah_tebus'){
if($status == 'sudah_tebus')
{
$gadai = Gadai::on($cawangan['mysql'])
->join('tebus', 'gadai.norujukan', '=', 'tebus.norujukan')
->where([['gadai.norujukan','LIKE',"%{$request->search}%"],['gadai.sttebus','=',$gadai_status],['gadai.nokp','=',$ic]])
->orderBy('tebus.t_tebus','desc')
->get()->toArray();
}else{
$gadai = Gadai::on($cawangan['mysql'])
->where([['norujukan','LIKE',"%{$request->search}%"],['sttebus','=',$gadai_status],['nokp','=',$ic]])
->orderBy('t_gadai','desc')
->get()->toArray();
}
if(sizeof($gadai) != 0){
$gadai_all += $gadai;
}
}elseif($status == 'lelong'){
$gadai = Gadai::on($cawangan['mysql'])
->where([['norujukan','LIKE',"%{$request->search}%"],['sttebus','=',$gadai_status],['nokp','=',$ic]])
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->get()->toArray();
if(sizeof($gadai) != 0){
$gadai_all += $gadai;
}
}
}
}else{
foreach($cawangan_all as $index=>$cawangan){
if($status == 'belum_tebus' || $status == 'sudah_tebus'){
if($status == 'sudah_tebus')
{
$gadai = Gadai::on($cawangan['mysql'])
->join('tebus', 'gadai.norujukan', '=', 'tebus.norujukan')
->where([['gadai.sttebus','=',$gadai_status],['gadai.nokp','=',$ic]])
->orderBy('tebus.t_tebus','desc')
->get()->toArray();
}else{
$gadai = Gadai::on($cawangan['mysql'])
->where([['sttebus','=',$gadai_status],['nokp','=',$ic]])
->orderBy('t_gadai','desc')
->get()->toArray();
}
if(sizeof($gadai) != 0){
$gadai_all += $gadai;
}
}elseif($status == 'lelong'){
$gadai = Gadai::on($cawangan['mysql'])
->where([['sttebus','=',$gadai_status],['nokp','=',$ic]])
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->get()->toArray();
if(sizeof($gadai) != 0){
$gadai_all += $gadai;
}
}
}
}
$data = $this->paginate($gadai_all);
return response()->json($data);
}
public function TambahPermohonan(Request $request,$kodcaw)
{
$timeloni = Carbon::now();
$current = new Carbon();
$curent_year = substr($current->year,2,2);
$curent_month = sprintf("%02d", $current->month);
$current_day = sprintf("%02d", $current->day);
try {
$transaksipermohonan = Permohonan::whereYear('tarikh_permohonan','=', $current->year)->where('kodcaw',$kodcaw)->orderBy('mohonid','desc')->first();
$mohonid = 0;
if($transaksipermohonan)
{
$mohonid = $transaksipermohonan['mohonid'] + 1;
}else{
$mohonid = 1;
}
$transbaru = sprintf("%04d",$mohonid);
$permohonan = new Permohonan;
$pengesahan = new Pengesahan;
$status = new Status;
$nopermohonan = 'AR' . strtoupper($kodcaw) . $curent_year . $curent_month . $current_day . '-' . $transbaru;
$permohonan->mohonid = $mohonid;
$permohonan->kodcaw = $kodcaw;
$permohonan->jenismohon = $request->jenismohon;
$permohonan->baki_petibesi = $request->bakipetibesi;
$permohonan->amaun_mohon = $request->jumlahmohon;
$permohonan->nama_pemohon = $request->namapemohon;
$permohonan->jawatan_pemohon = $request->jawatanpemohon;
$permohonan->tarikh_permohonan = $request->tarikhmohon;
$permohonan->outstandingsemasa = $request->outstanding;
$permohonan->nopermohonan = $nopermohonan;
$permohonan->save();
$pengesahan->nopermohonan = $permohonan->nopermohonan;
$pengesahan->kodcaw = $kodcaw;
$pengesahan->save();
$status->nopermohonan = $permohonan->nopermohonan;
$status->statusid = 1;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
return response(1);
} catch (\Throwable $e) {
return response($e);
}
}
public function GetRekodPermohonanCawangan($kodcaw)
{
if($kodcaw === 'admin')
{
$listpermohonan = Permohonan::join('pengesahan', 'permohonan.nopermohonan', '=', 'pengesahan.nopermohonan')
->where('tagterima',1)
->orWhere('tagoperasi','=',2)
->orWhere('tagakaun','=',2)
->orWhere('tagpb','=',2)
->orWhere('tagdeposit','=',2)
->orWhere('tagprint','=',2)
->orWhere([['tagcit', 1],['jenismohon','bayaranbalik'],['tagakaun',1]])
->orderBy('tarikh_permohonan','desc')->paginate(5);
}else{
$listpermohonan = Permohonan::join('pengesahan', 'permohonan.nopermohonan', '=', 'pengesahan.nopermohonan')
->where('pengesahan.kodcaw', $kodcaw)
->where('tagterima',1)
->orWhere('tagoperasi','=',2)
->orWhere('tagakaun','=',2)
->orWhere('tagpb','=',2)
->orWhere('tagdeposit','=',2)
->orWhere('tagprint','=',2)
->orWhere([['tagcit', 1],['jenismohon','bayaranbalik'],['tagakaun',1]])
->get();
}
return response()->json($listpermohonan);
}
public function GetPermohonanCawangan($kodcaw,Request $request)
{
if($kodcaw === 'admin')
{
$listpermohonan = Permohonan::join('pengesahan', 'permohonan.nopermohonan', '=', 'pengesahan.nopermohonan')
->where('tagterima',0)
->where('tagoperasi','!=',2)
->where('tagakaun','!=',2)
->where('tagpb','!=',2)
->where('tagdeposit','!=',2)
->where('tagprint','!=',2)
->where(function($query){
$query->where('tagcit', '!=', 1)
->orWhere('tagoperasi','!=',1)
->orWhere('tagakaun','!=',1);
})
->orderBy('tarikh_permohonan','desc')->paginate(5);
}else{
$listpermohonan = Permohonan::join('pengesahan', 'permohonan.nopermohonan', '=', 'pengesahan.nopermohonan')
->where('pengesahan.kodcaw', $kodcaw)
->where('tagterima',0)
->where('tagoperasi','!=',2)
->where('tagakaun','!=',2)
->where('tagpb','!=',2)
->where('tagdeposit','!=',2)
->where('tagprint','!=',2)
->where(function($query){
$query->where('tagcit', '!=', 1)
->orWhere('tagoperasi','!=',1)
->orWhere('tagakaun','!=',1);
})
->get();
}
return response()->json($listpermohonan);
}
public function GetPermohonanById($kodcaw,$mohonid)
{
$permohonanstatus = [];
$listpermohonan = Permohonan::join('pengesahan', 'permohonan.nopermohonan', '=', 'pengesahan.nopermohonan')
->where([['permohonan.kodcaw', $kodcaw],['permohonan.nopermohonan',$mohonid]])->first()->toArray();
$status = Status::where('nopermohonan',$mohonid)->get()->toArray();
array_push($listpermohonan,(["status" => $status]));
return response()->json($listpermohonan);
}
public function GetDescriptionStatus($mohonid)
{
$statusarray = [];
$statusdetails = [];
$status = Status::join('pengesahan', 'status.nopermohonan', '=', 'pengesahan.nopermohonan')
->join('permohonan', 'status.nopermohonan', '=', 'permohonan.nopermohonan')
->where('status.nopermohonan',$mohonid)->get()->toArray();
foreach($status as $index=>$stat)
{
$status_lookup = LookupStatus::where('statusid',$stat['statusid'])->first()->toArray();
$date = date('d-m-Y',strtotime($stat['tarikhmasa']));
$time = date('g:i a',strtotime($stat['tarikhmasa']));
switch($stat['statusid']){
case 1: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'nama_pemohon' => $stat['nama_pemohon'],'permohonanfiles_id' => $stat['files_permohonan_id']]);
break;
case 2: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'nama_operasi' => $stat['nama_operasi'],'operasifiles_id' => $stat['files_kelope_id']]);
break;
case 3: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'nama_akaun' => $stat['nama_akaun'],'akaunfiles_id' => $stat['files_kelakaun_id']]);
break;
case 4: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'jumlah_diluluskan' => $stat['jumlah_diluluskan'],'pbfiles' => $stat['files_id']]);
break;
case 5: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'jenisbank' => $stat['jenisbank'],'noresit' => $stat['noresit'],'jeniscit' => $stat['jeniscit'],'namasyarikat' => $stat['nama_cit']]);
break;
case 6: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'nama_penerima' => $stat['nama_penerima']]);
break;
case 7: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'komen' => $stat['komen_batal']]);
break;
case 8: array_push($status_lookup,['tarikh' => $date, 'masa' => $time,'jenisbank' => $stat['bank_cit'],'invoicefiles' => $stat['invoicefiles_id'],'resitfiles' => $stat['resitfiles_id']]);
break;
}
array_push($statusarray,$status_lookup);
}
return response()->json($statusarray);
}
public function KelulusanPermohonanByOperasi(Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
$ar_files = new ARFiles;
try{
if($request->kelulusan == 'Lulus')
{
$status->nopermohonan = $request->mohonid;
$status->statusid = 2;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$ar_files->data = $request->dataimage;
$ar_files->type = $request->imagetype;
$ar_files->filename = $request->imagename;
$ar_files->tarikhmasa = $timeloni->toDateTimeString();
$ar_files->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagoperasi',0]])
->update(array(
'tagoperasi' => 1,
'nama_operasi' => $request->namaoperasi,
'tarikh_pengesahanoperasi' => $timeloni->toDateString(),
'files_kelope_id' => $ar_files->id
));
}else{
$status->nopermohonan = $request->mohonid;
$status->statusid = 7;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagoperasi',0]])
->update(array(
'tagoperasi' => 2,
'komen_batal' => $request->komen,
'nama_operasi' => $request->namaoperasi,
'tarikh_pengesahanoperasi' => $timeloni->toDateString()
));
}
return response()->json($pengesahan,200);
}catch (\Throwable $e){
return response($e);
}
}
public function KelulusanPermohonanByAkaun(Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
$ar_files = new ARFiles;
try{
if($request->kelulusan == 'Lulus')
{
$status->nopermohonan = $request->mohonid;
$status->statusid = 3;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$ar_files->data = $request->dataimage;
$ar_files->type = $request->imagetype;
$ar_files->filename = $request->imagename;
$ar_files->tarikhmasa = $timeloni->toDateTimeString();
$ar_files->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagakaun',0]])
->update(array(
'tagakaun' => 1,
'nama_akaun' => $request->namaakaun,
'tarikh_pengesahanakaun' => $timeloni->toDateString(),
'files_kelakaun_id' => $ar_files->id
));
}else
{
$status->nopermohonan = $request->mohonid;
$status->statusid = 7;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagakaun',0]])
->update(array(
'tagakaun' => 2,
'komen_batal' => $request->komen,
'nama_akaun' => $request->namaakaun,
'tarikh_pengesahanakaun' => $timeloni->toDateString()
));
}
return response()->json($pengesahan);
}catch (\Throwable $e){
return response($e);
}
}
public function PengesahanCetakan(Request $request)
{
$timeloni = Carbon::now();
try{
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagakaun',1]])
->update(array(
'tagprint' => 1,
'nama_print' => $request->namaprint,
'tarikh_print' => $timeloni->toDateString()
));
return response()->json($pengesahan);
}catch (\Throwable $e){
return response($e);
}
}
public function KelulusanPermohonanByPB(Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
$ar_files = new ARFiles;
try{
if($request->kelulusan == 'Lulus')
{
$status->nopermohonan = $request->mohonid;
$status->statusid = 4;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$ar_files->data = $request->dataimage;
$ar_files->type = $request->imagetype;
$ar_files->filename = $request->imagename;
$ar_files->tarikhmasa = $timeloni->toDateTimeString();
$ar_files->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagpb',0]])
->update(array(
'tagpb' => 1,
'files_id' => $ar_files->id
));
$permohonan = Permohonan::where('nopermohonan',$request->mohonid)
->update(array(
'tarikh_diluluskan' => $timeloni->toDateTimeString(),
'jumlah_diluluskan' => $request->amaun_lulus
));
}else{
$status->nopermohonan = $request->mohonid;
$status->statusid = 7;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagpb',0]])
->update(array(
'tagpb' => 2,
'komen_batal' => $request->komen
));
}
return response()->json(1);
}catch (\Throwable $e){
return response($e);
}
}
public function DepositBank(Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
try{
if($request->kelulusan == 'Lulus')
{
$status->nopermohonan = $request->mohonid;
$status->statusid = 5;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagdeposit',0]])
->update(array(
'tagdeposit' => 1,
'tarikh_bankin' => $timeloni->toDateString(),
'jenisbank' => $request->jenisbank,
'noresit' => $request->noresit,
'jeniscit' => $request->jeniscit,
'nama_cit' => $request->namacit
));
}else{
$status->nopermohonan = $request->mohonid;
$status->statusid = 7;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagdeposit',0]])
->update(array(
'tagdeposit' => 2,
'komen_batal' => $request->komen
));
}
return response()->json(1);
}catch (\Throwable $e){
return response($e);
}
}
public function TagTerima(Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
try{
$status->nopermohonan = $request->mohonid;
$status->statusid = 6;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$pengesahan = Permohonan::where([['nopermohonan',$request->mohonid],['tagterima',0]])
->update(array(
'tagterima' => 1,
'tarikh_terima' => $timeloni->toDateString(),
'nama_penerima' => $request->namapenerima
));
return response()->json(1);
}catch (\Throwable $e){
return response($e);
}
}
public function TagCit (Request $request)
{
$timeloni = Carbon::now();
$status = new Status;
try{
$status->nopermohonan = $request->mohonid;
$status->statusid = 8;
$status->tarikhmasa = $timeloni->toDateTimeString();
$status->save();
$ar_files = new ARFiles;
$ar_files->data = $request->dataresit;
$ar_files->type = $request->resittype;
$ar_files->filename = $request->resitname;
$ar_files->tarikhmasa = $timeloni->toDateTimeString();
$ar_files->save();
$ar_files2 = new ARFiles;
$ar_files2->data = $request->datainvoice;
$ar_files2->type = $request->invoicetype;
$ar_files2->filename = $request->invoicename;
$ar_files2->tarikhmasa = $timeloni->toDateTimeString();
$ar_files2->save();
$pengesahan = Pengesahan::where([['nopermohonan',$request->mohonid],['tagcit',0]])
->update(array(
'tagcit' => 1,
'resit_cit' => $request->resitcit,
'bank_cit' => $request->bank,
'resitfiles_id' => $ar_files->id,
'invoicefiles_id' => $ar_files2->id
));
return response()->json(1);
}catch (\Throwable $e){
return response($e);
}
}
public function downloadFile(Request $request) {
$kp = ARFiles::where('files_id',$request->files_id)
->first();
return response($kp,200);
}
public function rekodWTD(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$latestbatch = SerahBaki::on($cawangan['mysql'])->where('norujukan','baru')->get();
return response()->json($latestbatch,200);
}
public function rekodWTDByBatchNo($batchno,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$wtdnorujukan = WTDDraft::on('mysql7')->where('batchno_serah',$batchno)->where('kodcaw','=',$request->kodcaw)->pluck('norujukan');
$lelong = Lelong::on($cawangan['mysql'])
->select('gadai.norujukan','lelong.t_lelong','gadai.pinjaman','lelong.baki')
->whereIn('lelong.norujukan',$wtdnorujukan)
->join('gadai','lelong.norujukan','=','gadai.norujukan')
->get();
return response()->json($lelong,200);
}
public function RangeBakiLelong($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$mula = explode('-', $request->mula);
$hingga = explode('-', $request->hingga);
$lelong = Lelong::on($cawangan['mysql'])
->where([['baki','>',0],['trkhtuntut',null]])
->whereMonth('t_lelong','>=',$mula[0])
->whereMonth('t_lelong','<=',$hingga[0])
->whereYear('t_lelong','>=',$mula[1])
->whereYear('t_lelong','<=',$hingga[1]);
$lelongdetails = $lelong->get()->toArray();
$lelongcount = $lelong->count();
$lelongpluck = $lelong->pluck('norujukan');
$draft = WTDDraft::on('mysql7')
->whereIn('norujukan',$lelongpluck)
->where('kodcaw',$kodcaw)
->whereMonth('t_lelong','>=',$mula[0])
->whereMonth('t_lelong','<=',$hingga[0])
->whereYear('t_lelong','>=',$mula[1])
->whereYear('t_lelong','<=',$hingga[1]);
$draftcount = $draft->count();
$draftpluck = $draft->pluck('norujukan');
if($lelongcount == $draftcount)
{
$dummy = [];
return response()->json($dummy,200);
}else{
$dif = array_diff($lelongpluck->toArray(),$draftpluck->toArray());
$lelongbaru = Lelong::on($cawangan['mysql'])
->whereIn('norujukan',$dif)
->get()->toArray();
return response()->json($lelongbaru,200);
}
}
public function SenaraiTuntutWTD(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$norujukan = $request->norujukan;
$lelong = Lelong::on($cawangan['mysql'])
->select('gadai.norujukan','lelong.t_lelong','gadai.pinjaman','lelong.baki','gadai.nokp')
->whereIn('lelong.norujukan',$norujukan)
->join('gadai','lelong.norujukan','=','gadai.norujukan')
->get();
return response()->json($lelong,200);
}
public function InsertDraftWTD(Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$norujukan = $request->norujukan;
try{
$lelong = Lelong::on($cawangan['mysql'])
->select('gadai.nokp','lelong.kodcaw','gadai.norujukan','lelong.t_jual','gadai.t_gadai','lelong.t_lelong','lelong.baki')
->whereIn('lelong.norujukan',$norujukan)
->join('gadai','lelong.norujukan','=','gadai.norujukan')
->get();
$totalbaki = 0;
$latestbatch = SerahBaki::on($cawangan['mysql'])->max('batchno');
foreach($lelong as $lel)
{
$wtddraft = new WTDDraft;
$wtddraft->nokp = $lel->nokp;
$wtddraft->kodcaw = $lel->kodcaw;
$wtddraft->norujukan = $lel->norujukan;
$wtddraft->t_jual = $lel->t_jual;
$wtddraft->t_gadai = $lel->t_gadai;
$wtddraft->t_lelong = $lel->t_lelong;
$wtddraft->batchno_serah = $latestbatch + 1;
$wtddraft->save();
$totalbaki += $lel->baki;
}
$serahbaki = SerahBaki::on($cawangan['mysql'])->create([
'batchno' => $latestbatch + 1,
'norujukan' => 'baru',
'hargajual' => 0.00,
'pinjaman' => 0.00,
'upah' => 0.00,
'cajlel' => 0.00,
'gst_cl' => 0.00,
'gst_hj' => 0.00,
'baki' => $totalbaki,
'tarikh' => $current->toDateString(),
'nopelanggan' => '',
'aktif' => 0
]);
return response()->json(['status' => 'success','batchno' => $latestbatch + 1],200);
}catch (\Throwable $e){
return response($e);
}
}
public function ProsesWTD(Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$batchno = $request->batch;
$selectnorujukan = $lelong = WTDDraft::on('mysql7')
->where('batchno_serah',$batchno)
->pluck('norujukan');
$lelong = Lelong::on($cawangan['mysql'])
->select('lelong.batchno','lelong.kodcaw','gadai.nokp','lelong.t_jual','gadai.pinjaman','gadai.nopelanggan','lelong.norujukan','gadai.bakipjm','gadai.bakiupah','lelong.cajlain','lelong.cajlelong','lelong.baki','lelong.hargajual','lelong.gst_cl')
->whereIn('lelong.norujukan',$selectnorujukan)
->join('gadai','lelong.norujukan','=','gadai.norujukan')
->get()->toArray();
try{
foreach($lelong as $lel)
{
$tuntutbaki = TuntutBaki::on($cawangan['mysql'])->create([
'batchno' => $lel['batchno'],
'jenis' => "T",
'kodcaw' => $lel['kodcaw'],
'norujukan' => $lel['norujukan'],
'tarikh' => $current->toDateString(),
'prkod' => "01",
'teller' => "DM",
'bakipjm' => ($lel['bakipjm']) ? $lel['bakipjm'] : 0,
'bakiupah' => $lel['bakiupah'],
'cajlain' => '0.00',
'cajlelong' => $lel['cajlelong'],
'kodgl' => '',
'glcode' => '',
'terima' => "*",
'f_lulus' =>"L",
'jumlah' => $lel['baki'],
'nowakil' => 0,
'hargajual' => $lel['hargajual']
]);
$wtd = WTD::on($cawangan['mysql'])->create([
'norujukan' => $lel['norujukan'],
'tarikh' => $current->toDateString(),
'nokp' => $lel['nokp'],
'nopelanggan' => $lel['nopelanggan'],
'nama' => '',
'batchno' => $lel['batchno'],
't_jual' => $lel['t_jual'],
'hargajual' => $lel['hargajual'],
'pinjaman' => $lel['pinjaman'],
'bakiupah' => $lel['bakiupah'],
'cajlelong' => $lel['cajlelong'],
'gst_cl' => $lel['gst_cl'],
'baki' => $lel['baki'],
'rugi' => 0.00,
'ansrugi' => 0.00,
'wtd' => $lel['baki'],
]);
$lelong=Lelong::on($cawangan['mysql'])
->where('norujukan',$lel['norujukan'])
->update(
array('trkhtuntut'=> $current->toDateString(),
't_update' => $current->toDateString()));
}
$serahbakiupdate = SerahBaki::on($cawangan['mysql'])->where('batchno',$batchno)->update(array('aktif' => 1));;
return response()->json('success',200);
}catch (\Throwable $e){
return response($e);
}
}
public function PenjanaanPC(Request $request){
$timeloni = Carbon::now();
$status = new Status;
try{
if($request->status == 'jana')
{
$pengesahan = Permohonan::where('nopermohonan',$request->mohonid)
->update(array(
'tagjanapc' => 1
));
}else{
$ar_files = new ARFiles;
$ar_files->data = $request->dataimage;
$ar_files->type = $request->imagetype;
$ar_files->filename = $request->imagename;
$ar_files->tarikhmasa = $timeloni->toDateTimeString();
$ar_files->save();
$pengesahan = Permohonan::where('nopermohonan',$request->mohonid)
->update(array(
'tagjanapc' => 2,
'files_permohonan_id' => $ar_files->id
));
}
return response()->json($pengesahan);
}catch (\Throwable $e){
return response($e);
}
}
public function KeuntunganSebenarExport(Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$year = $request->year;
$month = $request->month;
if($request->jenistebus == 'T')
{
$bukanansuran_data = 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.trans_type','!=','A')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
// ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
->whereMonth('transaksi_keuntungan.tarikh_bayaran','=',$month)
->whereYear('tarikh_bayaran','=',$year)
->where('trans.kodcaw',$request->kodcaw);
$bukanansuran_get = $bukanansuran_data->get();
$bukanansuran_pluck = $bukanansuran_data->pluck('trans.norujukan');
$intersection = $bukanansuran_get->intersectByKeys(Gadai::on($cawangan['mysql'])->whereNotNull('hargajualan')->get());
$collectionbukanansurandata = $intersection->toArray();
return response()->json($collectionbukanansurandata,200);
}else if($request->jenistebus == 'A'){
$ansuran_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.trans_type','=','A')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
// ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
->whereMonth('transaksi_keuntungan.tarikh_bayaran','=',$month)
->whereYear('tarikh_bayaran','=',$year)
->where('trans.kodcaw',$request->kodcaw);
$ansuran_get = $ansuran_data->get();
$ansuran_pluck = $ansuran_data->pluck('trans.norujukan');
$intersection = $ansuran_get->intersectByKeys(Gadai::on($cawangan['mysql'])->whereNotNull('hargajualan')->get());
$collectionansurandata = $intersection->toArray();
return response()->json($collectionansurandata,200);
}else{
$upahlelong = Lelong::on($cawangan['mysql'])
->where('t_jual','>','2013-12-31')
->whereMonth('t_lelong','=',$month)
->whereYear('t_lelong','=',$year)
->get();
return response()->json($upahlelong,200);
}
}
}