373 lines
14 KiB
PHP
373 lines
14 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Gadai;
|
|
use App\Marhun;
|
|
use App\Cawangan;
|
|
use App\Transaction;
|
|
use App\TransaksiKeuntungan;
|
|
use App\TransactionOnline;
|
|
use App\batalGadai;
|
|
use App\TuntutBaki;
|
|
use App\AnsRugi;
|
|
use App\Lelong;
|
|
use App\WTD;
|
|
use App\HapusKira;
|
|
use App\Tebus;
|
|
use App\Vault;
|
|
use App\Tunai;
|
|
use App\Komuditi;
|
|
use App\KawalanStokLama;
|
|
use App\KawalanStok;
|
|
use App\KadarUpah;
|
|
use App\Moratorium;
|
|
use App\Audit;
|
|
use App\Customer;
|
|
use App\KomuditiPurchase;
|
|
use App\KomuditiTransaksi;
|
|
use App\Advansur;
|
|
use App\BlastWasap;
|
|
use App\Notis;
|
|
use App\CawanganNotis;
|
|
use App\NotisPeringatan;
|
|
use App\Jobs\WhatsappPelangganSAGLAMA;
|
|
use App\Jobs\SMSPelangganSAGLAMA;
|
|
use Illuminate\Http\Request;
|
|
use App\CawanganDetail;
|
|
use App\BlastSMS;
|
|
use App\Jobs\ARCCWhatsappPelangganSAGLAMAbysag;
|
|
use App\Jobs\ARCCSMSPelangganSAGLAMAbysag;
|
|
|
|
use App\Services\OnePercentServices;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
class CallCenterController extends Controller
|
|
{
|
|
public function showAllCawangans(Request $request)
|
|
{
|
|
$daritempoh = $request->daritempoh;
|
|
$hinggatempoh = $request->hinggatempoh;
|
|
$checkcawangannotis = Cawangan::on('mysql7')
|
|
// ->whereNotExists(function($query) use($daritempoh,$hinggatempoh)
|
|
// {
|
|
// $query->select(DB::raw(1))
|
|
// ->from('cawangan_notis')
|
|
// ->whereRaw('cawangan_notis.kodcaw = arrahn_master_db.kodcaw')
|
|
// ->where('daritempoh','=',$daritempoh)
|
|
// ->where('hinggatempoh','=',$hinggatempoh);
|
|
// } )
|
|
->orderBy('details_caw','ASC')->get();
|
|
// dd($checkcawangannotis);
|
|
return response()->json($checkcawangannotis);
|
|
}
|
|
public function datagadai($kodcaw,Request $request)
|
|
{
|
|
// dd($request->all(), $kodcaw);
|
|
$daritempoh = $request->daritempoh;
|
|
$hinggatempoh = $request->hinggatempoh;
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
$datagadai = Gadai::on($cawangan['mysql'])
|
|
->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0],['tagnotis','=',0]])
|
|
->orderBy('t_gadai', 'ASC')
|
|
->orderBy('sirig', 'ASC');
|
|
// ->get();
|
|
// dd($datagadai);
|
|
$arraynorujukan = $datagadai->pluck('norujukan')->toArray();
|
|
$rekodgadai = $datagadai->get();
|
|
|
|
$totalrekod = $datagadai->count('norujukan');
|
|
$totalberat = $datagadai->sum('berat');
|
|
$totalnilaimarhun = $datagadai->sum('nilaimarhun');
|
|
$totalpinjaman = $datagadai->sum('pinjaman');
|
|
$totalbakipjm = $datagadai->sum('bakipjm');
|
|
$totaltunggakan = $datagadai->sum('tunggakan');
|
|
|
|
$arrayrekod = ['rekod' => $rekodgadai, 'totalsag' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun,'totalpembiayaan'=>$totalpinjaman,'totalbakipjm'=>$totalbakipjm,'totaltunggakan'=>$totaltunggakan];
|
|
// dd($arrayrekod);
|
|
return response()->json($arrayrekod,200);
|
|
}
|
|
|
|
public function insertdatagadai($kodcaw,Request $request)
|
|
{
|
|
$daritempoh = $request->daritempoh;
|
|
$hinggatempoh = $request->hinggatempoh;
|
|
$notisid = $request->notisid;
|
|
$currentDate = Carbon::now();
|
|
// $currentDate = $currentDate->toDateString();
|
|
$tarikh_notis = $currentDate->toDateString();
|
|
$sag_cawangans = [];
|
|
$bil_surat = 0;
|
|
// dd($kodcaw);
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
|
|
|
// $notis = Notis::create([
|
|
// 'tarikh_notis' => $tarikh_notis,
|
|
// 'daritempoh' => $daritempoh,
|
|
// 'hinggatempoh' => $hinggatempoh,
|
|
// 'sts_notis' => 1,
|
|
// 'peringatan' => 1
|
|
// ]);
|
|
|
|
$datagadai = Gadai::on($cawangan['mysql'])
|
|
->where([['tagpalsu','=',0],['tempoh','>=',$daritempoh],['tempoh','<=',$hinggatempoh],['sttebus','=',''],['taglel','=',0],['tagnotis','=',0]])
|
|
->orderBy('t_gadai', 'ASC')
|
|
->orderBy('sirig', 'ASC');
|
|
// ->get();
|
|
|
|
|
|
array_push($sag_cawangans,['data'=>$datagadai->get()]);
|
|
// dd($sag_cawangans);
|
|
|
|
foreach($sag_cawangans as $index=>$cawnotis){
|
|
|
|
$caw_notis = new CawanganNotis;
|
|
$caw_notis->notis_id = $notisid;
|
|
$caw_notis->kodcaw = $kodcaw;
|
|
$caw_notis->peringatan = 1;
|
|
$caw_notis->daritempoh = $daritempoh;
|
|
$caw_notis->hinggatempoh = $hinggatempoh;
|
|
$caw_notis->status = 1;
|
|
$caw_notis->save();
|
|
|
|
|
|
$suratcaw = $cawnotis['data'];
|
|
|
|
$notis_peringatan_arr = [];
|
|
$now = Carbon::now();
|
|
foreach($suratcaw as $surat)
|
|
{
|
|
$notis_to_be_inserted = new NotisPeringatan();
|
|
$notis_to_be_inserted->notis_id = $notisid;
|
|
$notis_to_be_inserted->tarikh_notis = $tarikh_notis;
|
|
$notis_to_be_inserted->kodcaw = $kodcaw;
|
|
$notis_to_be_inserted->norujukan = $surat->norujukan;
|
|
$notis_to_be_inserted->nokp = $surat->nokp;
|
|
$notis_to_be_inserted->jbg = $surat->tempoh;
|
|
$notis_to_be_inserted->kadarupah = $surat->kadarupah;
|
|
$notis_to_be_inserted->nilaimarhun = $surat->nilaimarhun;
|
|
$notis_to_be_inserted->pinjaman = $surat->bakipjm;
|
|
$notis_to_be_inserted->bakiupah = $surat->bakiupah;
|
|
$notis_to_be_inserted->berat = $surat->berat;
|
|
$notis_to_be_inserted->marhun = $surat->marhun;
|
|
$notis_to_be_inserted->percent = $surat->percentpinj;
|
|
$notis_to_be_inserted->peringatan = '1';
|
|
$notis_peringatan_arr[] = $notis_to_be_inserted->attributesToArray();
|
|
|
|
//updatetagnotisdlmgadai
|
|
$updateTagNotis = Gadai::on($cawangan['mysql'])->where('norujukan',$surat->norujukan)->update([
|
|
'tagnotis'=> 1
|
|
]);
|
|
}
|
|
|
|
$notis_peringatan_collection = collect($notis_peringatan_arr);
|
|
|
|
NotisPeringatan::insert($notis_peringatan_arr);
|
|
}
|
|
return response()->json("success");
|
|
}
|
|
|
|
public function getbatchnotis(Request $request)
|
|
{
|
|
|
|
$currentDate = Carbon::now();
|
|
$tarikh_notis = $currentDate->toDateString();
|
|
$daritempoh = $request->daritempoh;
|
|
$hinggatempoh = $request->hinggatempoh;
|
|
|
|
$notis = Notis::create([
|
|
'tarikh_notis' => $tarikh_notis,
|
|
'daritempoh' => $daritempoh,
|
|
'hinggatempoh' => $hinggatempoh,
|
|
'sts_notis' => 1,
|
|
'peringatan' => 1
|
|
]);
|
|
|
|
$batchnotis = Notis::on('mysql7')->orderBy('id','desc')->first()->id;
|
|
|
|
return response()->json($batchnotis);
|
|
|
|
}
|
|
|
|
public function senarainotisperingatan()
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$arraybatch = [];
|
|
$batchnotis = Notis::on('mysql7')->get();
|
|
// $cawangan_all = Cawangan::on('mysql7')->get();
|
|
// $cawnotis_all = [];
|
|
// foreach ($batchnotis as $index => $cawangan){
|
|
// $notis = CawanganNotis::on('mysql7')->get();
|
|
// if(sizeof($notis) != 0){
|
|
// array_push($cawnotis_all,$notis);
|
|
// }
|
|
// }
|
|
return response()->json($batchnotis);
|
|
}
|
|
|
|
public function getcawnotis($notisid)
|
|
{
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$arraybatch = [];
|
|
$batchnotis = Notis::on('mysql7')->where('id',$notisid)->get();
|
|
$cawangan_all = Cawangan::on('mysql7')->get();
|
|
$cawnotis_all = [];
|
|
foreach ($batchnotis as $index => $cawangan){
|
|
$notis = CawanganNotis::on('mysql7')
|
|
->join('arrahn_master_db', 'arrahn_master_db.kodcaw', '=', 'cawangan_notis.kodcaw')
|
|
->where('notis_id',$notisid)->get();
|
|
if(sizeof($notis) != 0){
|
|
array_push($cawnotis_all,$notis);
|
|
}
|
|
}
|
|
return response()->json($cawnotis_all);
|
|
}
|
|
|
|
public function getcawnotisbycaw(Request $request)
|
|
{
|
|
$notisid = $request->notisid;
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
|
|
$arraybatch = [];
|
|
$batchnotis = Notis::on('mysql7')->where('id',$notisid)->get();
|
|
$cawangan_all = Cawangan::on('mysql7')->get();
|
|
$cawnotis_all = [];
|
|
|
|
$notis = CawanganNotis::on('mysql7')
|
|
->join('arrahn_master_db', 'arrahn_master_db.kodcaw', '=', 'cawangan_notis.kodcaw')
|
|
->where('notis_id',$notisid)->get();
|
|
|
|
foreach ($notis as $index => $cawangan){
|
|
// dd($cawangan['kodcaw']);
|
|
// dd($cawangan);
|
|
$notisbycaw = NotisPeringatan::on('mysql7')
|
|
->where('notisperingatan.notis_id',$notisid)->where('notisperingatan.kodcaw',$cawangan['kodcaw'])
|
|
->distinct()
|
|
->get();
|
|
// dd($notisbycaw);
|
|
|
|
$totalsag = $notisbycaw->count('norujukan');
|
|
$totalbakipjm = $notisbycaw->sum('pinjaman');
|
|
|
|
// if(sizeof($notis) != 0){
|
|
array_push($cawnotis_all,['namacaw' => $notis, 'detailbycaw' => $notisbycaw,'totalsag' =>$totalsag,'totalbakipjm' =>$totalbakipjm]);
|
|
// }
|
|
}
|
|
return response()->json($cawnotis_all);
|
|
}
|
|
|
|
public function bycawnotisperingatan($kodcaw,$notisid)
|
|
{
|
|
$cawnotis_all = [];
|
|
|
|
$notisbycaw = NotisPeringatan::on('mysql7')
|
|
->where('notisperingatan.notis_id',$notisid)->where('notisperingatan.kodcaw',$kodcaw)
|
|
->distinct()
|
|
->get();
|
|
|
|
$notisbycawarray = $notisbycaw->toArray();
|
|
|
|
foreach($notisbycawarray as $index=>$cal){
|
|
$customer = Customer::where('kpbaru','=',$cal['nokp'])
|
|
->orWhere('kplama','=',$cal['nokp'])
|
|
->first();
|
|
|
|
$notisbycawarray[$index]['namacust'] = $customer;
|
|
}
|
|
|
|
array_push($notisbycawarray);
|
|
return response()->json($notisbycawarray);
|
|
}
|
|
|
|
public function blastwasapbysag(Request $request)
|
|
{
|
|
// dd($request->all());
|
|
$current = Carbon::now();
|
|
$current = new Carbon();
|
|
$kodcaw = $request->kodcaw;
|
|
$notisid = $request->notisid;
|
|
|
|
$namapengguna = $request->namapengguna;
|
|
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
|
$cawangan_detail = CawanganDetail::on($cawangan['mysql'])->first();
|
|
$caw_name = $cawangan->details_caw;
|
|
$nofoncaw = $cawangan_detail->notel;
|
|
|
|
$statusblast = CawanganNotis::where('notis_id','=',$notisid)
|
|
->where('kodcaw','=',$kodcaw)
|
|
->first();
|
|
if($statusblast->status == '1'){
|
|
|
|
$notisbycaw = NotisPeringatan::on('mysql7')
|
|
->where('notisperingatan.notis_id',$notisid)->where('notisperingatan.kodcaw',$kodcaw)
|
|
->distinct()
|
|
->get();
|
|
|
|
$arraynorujukan = $notisbycaw->pluck('norujukan')->toArray();
|
|
|
|
$gadainokp = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $arraynorujukan)
|
|
->get();
|
|
$gadai_all_groupby_nokp = $notisbycaw->groupBy('nokp');
|
|
|
|
foreach($gadainokp as $index1=>$cal){
|
|
if($gadai_all_groupby_nokp[$cal->nokp]){
|
|
$gadainokp[$index1]['gadai'] = $gadai_all_groupby_nokp[$cal->nokp];
|
|
}
|
|
$customer = Customer::on('mysql7')->where('kpbaru','=',$cal['nokp'])
|
|
->orWhere('kplama','=',$cal['nokp'])
|
|
->first();
|
|
$nokp=$cal['nokp'];
|
|
// dd($customer);
|
|
if($customer->telefon != 'null'){
|
|
$telefon=$customer->telefon;
|
|
//log auditrail
|
|
$audit = new Audit();
|
|
$audit->users = $namapengguna;
|
|
$audit->actions = 'ARCC Blast Whatsapp & SMS: Notis ID'.$notisid;
|
|
$audit->norujukan = $cal->norujukan;
|
|
$audit->new_data = $customer->telefon;
|
|
$audit->old_data = $nokp;
|
|
$audit->kodcaw = $kodcaw;
|
|
$audit->created_at = $current;
|
|
$audit->updated_at = $current;
|
|
$audit->save();
|
|
|
|
$today = $current->toDateString();
|
|
$harini = date('Y-m-d',strtotime($today));
|
|
|
|
//update tarikh dlm table notisperingatan
|
|
$updatenotis=NotisPeringatan::on('mysql7')
|
|
->where('norujukan','=', $cal->norujukan)
|
|
->update(
|
|
array('tarikhnotis1'=> $harini));
|
|
|
|
dispatch(new ARCCWhatsappPelangganSAGLAMAbysag($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal->norujukan,$cal->tempoh,$cal->t_matang,$cal->t_matang1,$cal->lelong_tawarruq,$namapengguna));
|
|
dispatch(new ARCCSMSPelangganSAGLAMAbysag($nokp,$customer->telefon,$caw_name,$nofoncaw,$kodcaw,$cal->norujukan,$cal->tempoh,$cal->t_matang,$cal->t_matang1,$cal->lelong_tawarruq,$namapengguna));
|
|
}
|
|
}
|
|
|
|
$updatestatusnotis=CawanganNotis::on('mysql7')
|
|
->where('notis_id','=', $notisid)
|
|
->where('kodcaw','=', $kodcaw)
|
|
->update(
|
|
array('status'=> 2));
|
|
|
|
return response()->json('success');
|
|
}
|
|
else{
|
|
return response()->json('failed');
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|