Files
api_arrahn/app/Http/Controllers/LelongController.php
T
2021-03-28 08:02:49 +08:00

399 lines
12 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Lelong;
use App\Cawangan;
use App\Gadai;
use App\TuntutBaki;
use App\WTD;
use App\GlCode;
use App\imbangdugalama;
use App\AnsRugi;
use Illuminate\Http\Request;
use Carbon\Carbon;
class LelongController extends Controller
{
public function showAllLelongs()
{
$cawangan_all = Cawangan::on('mysql7')->get();
$lelong_all = [];
foreach ($cawangan_all as $index => $cawangan){
$lelong = Lelong::on($cawangan['mysql'])->get();
if(sizeof($lelong) != 0){
array_push($lelong_all,$lelong);
}
}
return response()->json($lelong_all);
}
public function showAllLelongByCawangan($kodcaw)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$lelong = Lelong::on($cawangan['mysql'])->get();
return response()->json($lelong);
}
public function showLelongByNoRujukan($kodcaw,$norujukan)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$lelong = Lelong::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->get();
return response()->json($lelong);
}
public function showBakiLelong($noic,$jenislelong)
{
$cawangan_all = Cawangan::on('mysql7')->get();
$bakilelongtotal = 0;
$rugilelongtotal = 0;
if($jenislelong == 'baki')
{
foreach($cawangan_all as $index=>$cawangan){
$bakilelong = Gadai::on($cawangan['mysql'])
->where([['gadai.sttebus','=', 'L'],['gadai.nokp','=',$noic],['lelong.baki','not like', '-%']])
->whereNull('lelong.trkhtuntut')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
if($bakilelong != 0){
$bakilelongtotal += $bakilelong;
}
}
return response()->json($bakilelongtotal, 200);
}
else if($jenislelong == 'rugi')
{
foreach($cawangan_all as $index=>$cawangan){
$rugilelong = Gadai::on($cawangan['mysql'])
->where([['gadai.sttebus','=', 'L'],['gadai.nokp','=',$noic],['lelong.baki','like', '-%']])
->whereNull('lelong.trkhtuntut')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
if($rugilelong != 0){
$rugilelongtotal += $rugilelong;
}
}
return response()->json($rugilelongtotal, 200);
}
}
public function showBakiLelongEachCawangan($kodcaw,$noic,$jenislelong)
{
$cawangan_all = Cawangan::on('mysql7')->get();
$bakilelongtotal = 0;
$rugilelongtotal = 0;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
if($jenislelong == 'baki')
{
$bakilelong = Gadai::on($cawangan['mysql'])
->where([['gadai.sttebus','=', 'L'],['gadai.nokp','=',$noic],['lelong.baki','not like', '-%']])
->whereNull('lelong.trkhtuntut')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
if($bakilelong != 0){
$bakilelongtotal += $bakilelong;
}
return response()->json($bakilelongtotal, 200);
}
else if($jenislelong == 'rugi')
{
$rugilelong = Gadai::on($cawangan['mysql'])
->where([['gadai.sttebus','=', 'L'],['gadai.nokp','=',$noic],['lelong.baki','like', '-%']])
->whereNull('lelong.trkhtuntut')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
if($rugilelong != 0){
$rugilelongtotal += $rugilelong;
}
return response()->json($rugilelongtotal, 200);
}
}
public function BakiLelongCalculation($kodcaw,Request $request)
{
$tarikhbaru = $request->tarikh;
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$bakilelonglama = imbangdugalama::on($cawangan['mysql'])
->sum('baki_lelong');
$rugilelonglama = imbangdugalama::on($cawangan['mysql'])
->sum('rugi_lelong');
if($request->tarikh <= '2021-02-25')
{
$bakilelong = Lelong::on($cawangan['mysql'])
->where('t_jual','<=',$request->tarikh)
->where(function($query) use ($tarikhbaru){
$query->whereNull('trkhtuntut')
->orWhere('trkhtuntut','>',$tarikhbaru);
})
->where('baki','>=',0)
->sum('baki');
}else{
$bakilelong = Lelong::on($cawangan['mysql'])
->where('t_jual','<=',$request->tarikh)
->where(function($query) use ($tarikhbaru){
$query->whereNull('trkhtuntut')
->orWhere('trkhtuntut','>','2021-02-25');
})
->where('baki','>=',0)
->sum('baki');
}
$ansrugi = AnsRugi::on($cawangan['mysql'])
->sum('bayaran');
$rugilelong = Lelong::on($cawangan['mysql'])
->where('t_jual','<=',$request->tarikh)
->where(function($query) use ($tarikhbaru)
{
$query->whereNull('trkhtuntut')
->orWhere('trkhtuntut','>',$tarikhbaru);
})
->where('baki','<',0)
->sum('baki');
$rugitotal=$rugilelong + $ansrugi;
$arraylelong = ['bakilelong' => $bakilelong, 'rugilelong' => $rugitotal];
return response()->json($arraylelong,200);
}
public function BilAkanDilelong($noic)
{
$cawangan_all = Cawangan::on('mysql7')->get();
$akanlelongarray = [];
foreach($cawangan_all as $index=>$cawangan){
$akanlelong = Gadai::on($cawangan['mysql'])
->where([['sttebus','=', ''],['nokp','=',$noic],['hargajual','=', 0]])
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->get();
if(sizeof($akanlelong) != 0){
array_push($akanlelongarray,$akanlelong);
}
}
return response()->json($akanlelongarray);
}
public function create(Request $request)
{
$lelong = Lelong::create($request->all());
return response()->json($lelong, 201);
}
public function update($id, Request $request)
{
$lelong = Lelong::findOrFail($id);
$lelong->update($request->all());
return response()->json($lelong, 200);
}
public function delete($id)
{
Lelong::findOrFail($id)->delete();
return response('Deleted Successfully', 200);
}
public function getLaporanLelongan($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$lelong = Lelong::on($cawangan['mysql'])
->where('t_lelong','=',$tarikh)
->whereNotNull('t_jual')
->leftJoin('pembeli', 'pembeli.nopembeli', '=', 'Lelong.nopembeli')
->orderBy('t_lelong')
->get();
return response()->json($lelong);
}
public function simpantuntutbaki($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tuntutbaki = TuntutBaki::on($cawangan['mysql'])->create([
'batchno' => $request->batchno,
'jenis' => $request->jenis,
'kodcaw' => $kodcaw,
'norujukan' => $request->norujukan,
'tarikh' => $current->toDateString(),
'prkod' => "01",
'teller' => $request->teller,
'bakipjm' => $request->bakipjm,
'bakiupah' => $request->bakiupah,
'cajlain' => $request->cajlain,
'cajlelong' => $request->cajlelong,
'kodgl' => "1000/013",
'glcode' => "1000/010",
'terima' => "*",
'f_lulus' => "L",
'jumlah' => $request->jumlah,
'nowakil' => $request->nowakil,
'hargajual' => $request->hargajual
]);
return response()->json($tuntutbaki,200);
}
public function updatetagtbaki($kodcaw,$norujukan){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai=Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(
array('tagtbaki'=> 0));
$lelong=Lelong::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(
array('trkhtuntut'=> $current->toDateString(),
't_update' => $current->toDateString()));
if($gadai == 1 && $lelong == 1)
{
return response('Berjaya', 200);
}else{
return response('Gagal', 200);
}
}
public function showTuntutBaki($kodcaw){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tuntutbaki = TuntutBaki::on($cawangan['mysql'])
->where('tarikh','=', $current->toDateString())
->get();
return response()->json($tuntutbaki,200);
}
public function showTuntutBakiTeller($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tuntutbaki = TuntutBaki::on($cawangan['mysql'])
->where('tarikh','=', $current->toDateString())
->where('teller','=', $request->teller)
->get();
return response()->json($tuntutbaki,200);
}
public function resitLelong($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$lelong = Lelong::on($cawangan['mysql'])
->select('tuntutbaki.batchno','tuntutbaki.tarikh','tuntutbaki.bakipjm','tuntutbaki.bakiupah','tuntutbaki.recno','lelong.t_lelong','tuntutbaki.norujukan','customer.nama','customer.kpbaru','tuntutbaki.hargajual','tuntutbaki.jumlah','tuntutbaki.cajlelong','lelong.pinjaman')
->where('lelong.norujukan','=',$norujukan)
->whereNotNull('lelong.trkhtuntut')
->leftJoin('tuntutbaki', 'tuntutbaki.norujukan', '=', 'lelong.norujukan')
->leftJoin('gadai', 'gadai.norujukan', '=', 'lelong.norujukan')
->leftJoin('customer', 'customer.kpbaru', '=', 'gadai.nokp')
->orderBy('tuntutbaki.tarikh')
->first();
return response()->json($lelong,200);
}
public function calculationwtd($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$wtd = WTD::on($cawangan['mysql'])
->where('tarikh','<=', $request->tarikh)
->sum('wtd');
return response()->json($wtd,200);
}
public function cajlelongcalculation($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon($request->tarikh);
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$cajlelong = Lelong::on($cawangan['mysql'])
->whereNotNull('t_jual')
->where([['t_jual','<=', $request->tarikh],['t_jual','>','2014-12-31']])
->whereYear('t_jual','=',$current->year)
->sum('cajlelong');
return response()->json($cajlelong,200);
}
public function cajperkhidmatancalculation($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$cajperkhidmatan = GlCode::on($cawangan['mysql'])
->where('glcode','=','7000/500')
->sum('amaun');
return response()->json($cajperkhidmatan,200);
}
}