Files
api_arrahn/app/Http/Controllers/GadaiController.php
T
LAPTOP-DGCU80CH\user1 e0b299a0f3 khazanah
2020-12-06 11:25:01 +08:00

369 lines
12 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Gadai;
use App\Marhun;
use App\Cawangan;
use App\Transaction;
use App\TransaksiKeuntungan;
use Illuminate\Http\Request;
use Carbon\Carbon;
class GadaiController extends Controller
{
public function showAllGadais()
{
return response()->json(Gadai::all());
}
public function gadaiTransactionByCawanganAndDay($cawangan_code,$date){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$cawangan_code)->first();
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$date)->orderBy('sirig', 'desc')->first();
return response()->json($gadaiTransaction);
}
public function showOneGadai($noic)
{
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('nokp','=',$noic)->get();
if(sizeof($gadai) != 0){
array_push($gadai_all,$gadai);
}
}
return response()->json($gadai_all);
}
public function showOneGadaiByNorujukan($norujukan){
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
if(sizeof($gadai) != 0){
array_push($gadai_all,$gadai);
}
}
return response()->json($gadai_all);
}
public function showOneGadaibyRujukanAndCawangan($kodcaw,$norujukan)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
return response()->json($gadai);
}
public function create($kodcaw,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->create([
'kodcaw'=>$kodcaw,
'norujukan' => $request->norujukan,
'nopelanggan' => $request->nopelanggan,
'nokp' => $request->nokp,
'sirig' => $request->sirig,
't_gadai' => $current->toDateString(),
'masa' =>$current->toTimeString()
]);
return response()->json($gadai, 201);
}
public function daftarGadaiMarhun($norujukan,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$t_matang = Carbon::now();
$t_matang = new Carbon();
$t_matang = $t_matang->addMonths(6)->subDays(1);
$t_kontrak = Carbon::now();
$t_kontrak = new Carbon();
$t_kontrak = $t_kontrak->addMonths(12)->subDays(1);
$margin_pinjam = $request->percentpinj *100;
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$request->kodcaw)
->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'nilaimarhun' => $request->nilaimarhun,
'berat'=> $request->berat,
'pinjaman' => $request->pinjaman,
'kadarupah' => $request->kadarupah,
'marhun' => $request->marhun,
'percentpinj' => $margin_pinjam,
'teller' => $request->teller,
'bakipjm' => $request->pinjaman,
'bakiupah' => $request->upah6,
'jbg' => 0.5,
't_update' => $current->toDateString(),
'cetak' => 0,
'upah12' => $request->upah12,
'hargajualan' => $request->hargajualan,
'bakihargajualan' => $request->hargajualan,
'tagserah' => 0,
't_matang' => $t_matang,
't_matang1' => $t_kontrak,
'tempoh' => 0.5,
'kuantiti' => $request->kuantiti_marhun,
'tagkomuditi' => 0
));
return response()->json($gadai, 200);
}
public function update($id, Request $request)
{
$gadai = Gadai::findOrFail($id);
$gadai->update($request->all());
return response()->json($gadai, 200);
}
public function getTransactionByTarikh($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai_transaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$tarikh)->get();
return response()->json($gadai);
}
public function updateOneGadaiByNorujukan($norujukan,$kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
''
));
return response()->json($gadai);
}
public function updateGadaiMarhunOnline($kodcaw,$norujukan,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$upahsemasa = $gadai['jbg'] * (($gadai['kadarupah']/100 )* $gadai['bakipjm']);
if($request->bayaran < $upahsemasa){
$upahsemasa = $request->bayaran;
}
$baki_upah = $gadai['bakiupah'] - $request->bayaran;
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bayaran;
if($gadai['bakipjm'] == null){
$baki_pinjaman = $gadai['pinjaman'];
}else{
$baki_pinjaman = $gadai['bakipjm'];
}
if($baki_upah < 0){
$baki_pinjaman = $baki_pinjaman + $baki_upah;
$baki_upah = 0;
}
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => 'online',
'kodcaw' => 'online',
'duit_masuk' => $request->bayaran,
'created_at' => $current,
'bakiharga' => $baki_hargajualan,
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'tarikh_bayaran'=> $current,
'kodcaw'=> 'online'
]);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'bakiupah' => $baki_upah,
'jbg' => 0,
't_update' => $current->toDateString(),
'bakihargajualan' => $baki_hargajualan
));
return response()->json($update_gadai, 200);
}
public function showTebusToday($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$upahsemasa = $gadai_data['jbg'] * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$transaction = Transaction::on('mysql7')
->where('norujukan','=',$norujukan)
->get();
$transaction_keuntungan = TransaksiKeuntungan::on('mysql7')
->where('norujukan','=',$norujukan)
->get();
$totalBayaranKeuntungan = 0;
$totalBayaran = 0;
foreach($transaction as $index=>$trans){
$totalBayaran += $trans['duit_masuk'];
}
foreach($transaction_keuntungan as $index=>$untung){
$totalBayaranKeuntungan += $untung['bayaran_keuntungan'];
}
$rebet = $gadai_data['upah12'] - $totalBayaranKeuntungan - $upahsemasa;
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet;
return response()->json($harga_tebus);
}
public function getGadaianSemasa($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',0]
])
->get();
return response()->json($gadai);
}
public function getGadaianBelumSerah($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',0]
])
->get();
return response()->json($gadai);
}
public function delete($id)
{
Gadai::findOrFail($id)->delete();
return response('Deleted Successfully', 200);
}
public function batalGadai($kodcaw, $norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
return response('Batal Berjaya', 200);
}
public function pembelianKomuditi($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'tagkomuditi' => 1
));
return response()->json($gadai,200);
}
public function cetakSAG($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'cetak' => 1
));
return response()->json($gadai,200);
}
public function serahMarhun($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'tagserah' => 1
));
return response()->json($gadai,200);
}
public function serahMarhunKhazanah($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',1],
['semakbarcode','!=','Lulus']
])
->get();
return response()->json($gadai);
}
public function barcodeScan($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'semakbarcode'=>'Lulus'
));
return response()->json($gadai,200);
}
public function serahPetiBesi($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',1],
['semakbarcode','=','Lulus']
])
->get();
return response()->json($gadai);
}
}