Merge branch 'master' into amir
This commit is contained in:
@@ -16,6 +16,7 @@ use App\Tunai;
|
||||
use App\AddTunai;
|
||||
use App\TuntutBaki;
|
||||
use App\Advansur;
|
||||
use App\AkruNet;
|
||||
use App\TransaksiKeuntungan;
|
||||
use App\Bajet;
|
||||
use App\BajetTahunan;
|
||||
@@ -3208,4 +3209,18 @@ class AdminPageController extends Controller
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function getLaporanAkruBulan(Request $request){
|
||||
|
||||
$array_akru = [];
|
||||
$cawangan = Cawangan::on('mysql7')->get();
|
||||
|
||||
foreach($cawangan as $caw)
|
||||
{
|
||||
$akrunet = AkruNet::on($caw['mysql'])->where('tahun',$request->year)->get()->toArray();
|
||||
array_push($array_akru,['cawangan' => $caw['details_caw'],'akru' => $akrunet]);
|
||||
}
|
||||
|
||||
return response()->json($array_akru,200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,10 +20,12 @@ use App\HapusKira;
|
||||
use App\GlCode;
|
||||
use App\GlDetail;
|
||||
use App\Audit;
|
||||
use App\AkruNet;
|
||||
use Carbon\Carbon;
|
||||
use App\imbangdugalama;
|
||||
|
||||
use DateTime;
|
||||
use DB;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class LaporanController extends Controller
|
||||
{
|
||||
@@ -1227,4 +1229,147 @@ class LaporanController extends Controller
|
||||
return response()->json($atarray);
|
||||
}
|
||||
|
||||
public function SemakanKeuntunganLejer($kodcaw,Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
|
||||
/* Start Keuntungan Sebenar Calculation */
|
||||
$get_norujukan = Gadai::on($cawangan['mysql'])
|
||||
->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result")
|
||||
->whereNotNull('hargajualan')->having('result','=',1)->whereDate('t_gadai','>=',$request->mula)->whereDate('t_gadai','<=',$request->hingga)->where('sttebus','<>','')->pluck('norujukan');
|
||||
|
||||
$sum_keun = Transaction::on('mysql7')
|
||||
->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) = 'T' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)->get()->toArray();
|
||||
|
||||
$sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0;
|
||||
$sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0;
|
||||
|
||||
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran;
|
||||
/* End Keuntungan Sebenar Calculation */
|
||||
|
||||
/* Start Keuntungan Semasa Calculation */
|
||||
$get_norujukan = Gadai::on($cawangan['mysql'])
|
||||
->whereNotNull('hargajualan')->pluck('norujukan');
|
||||
|
||||
$summation = Transaction::on('mysql7')
|
||||
->selectRaw("SUM(CASE WHEN (transaction.trans_type) = 'T' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
|
||||
->leftJoin('transaksi_keuntungan as trans', function($join)
|
||||
{
|
||||
$join->on('transaction.norujukan', '=', 'trans.norujukan');
|
||||
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->whereDate('trans.tarikh_bayaran' ,'>=', $request->mula)
|
||||
->whereDate('trans.tarikh_bayaran' ,'<=', $request->hingga)
|
||||
->whereYear('tarikh_bayaran','=',$current->year)
|
||||
->where('trans.kodcaw',$request->kodcaw)
|
||||
->get()->toArray();
|
||||
|
||||
$upahlelong = Lelong::on($cawangan['mysql'])
|
||||
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga],['t_jual','>','2022-07-24']])
|
||||
->whereYear('t_jual','=',$current->year)
|
||||
->sum('bakiupah');
|
||||
|
||||
$sum_keuntungan = ($summation) ? $summation[0]['sum_keun'] : 0;
|
||||
$sum_bayaran = ($summation) ? $summation[0]['sum_bayaran'] : 0;
|
||||
|
||||
$total_keuntungan_semasa = ($sum_keuntungan + $sum_bayaran + $upahlelong) - $total_keuntungan_sebenar;
|
||||
/* End Keuntungan Semasa Calculation */
|
||||
|
||||
$array_keuntungan = ['keuntungan_sebenar' => $total_keuntungan_sebenar, 'keuntungan_semasa' => $total_keuntungan_semasa];
|
||||
|
||||
return response($array_keuntungan);
|
||||
}
|
||||
|
||||
public function SemakanPendapatanAkrual($kodcaw,Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
$tarikh_carbon = new Carbon($request->mula);
|
||||
|
||||
$akrual_net = AkruNet::on($cawangan['mysql'])
|
||||
->where('bulan', (int)$tarikh_carbon->month)
|
||||
->get()->toArray();
|
||||
|
||||
$jumlah = ($akrual_net) ? $akrual_net[0]['jumlah'] : 0;
|
||||
|
||||
return response($jumlah);
|
||||
}
|
||||
|
||||
public function GenerateDailyAkrual(Request $request){
|
||||
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$month_generate = $current->format('m');
|
||||
$year_generate = $current->format('Y');
|
||||
$harini = $current->toDateString();
|
||||
|
||||
$haripertama = $current->firstOfMonth();
|
||||
$haripertama_extension = $haripertama->toDateString();
|
||||
|
||||
$month_sebelum = $current->subMonth()->format('m');
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
|
||||
|
||||
$tebuscontroller = new TebusController();
|
||||
|
||||
foreach($cawangan as $index=>$caw){
|
||||
DB::connection($caw['mysql'])->beginTransaction();
|
||||
|
||||
if($year_generate == 2022 && (int)$month_sebelum > 4){
|
||||
$audit_backdate = $tebuscontroller->StokAuditGenerateTerakru($month_sebelum,$caw,$year_generate);
|
||||
}
|
||||
|
||||
$audit_now = Gadai::on($caw['mysql'])
|
||||
->where([['tagpalsu','=',0],['t_gadai','<=',$harini],['sttebus','=','']])
|
||||
->orWhere([['tagpalsu','=',0],['t_update','>',$harini],['sttebus','!=',''],['t_gadai','<=',$harini]]);
|
||||
|
||||
$totaltunggakan_now = $audit_now->sum('tunggakan');
|
||||
$totaltunggakan_past = $audit_backdate->sum('upahblmbyar');
|
||||
|
||||
$request_generate = new \Illuminate\Http\Request([
|
||||
'mula' => $haripertama_extension,
|
||||
'hingga' => $harini,
|
||||
'kodcaw' => $caw['kodcaw'],
|
||||
]);
|
||||
|
||||
$keuntungan = $this->SemakanKeuntunganLejer($request->kodcaw,$request_generate);
|
||||
|
||||
$data_keuntungan = $keuntungan->getContent();
|
||||
$data = json_decode($data_keuntungan, true);
|
||||
|
||||
$calculation = $totaltunggakan_past - $data['keuntungan_semasa'];
|
||||
$accrual_net = $totaltunggakan_now - $calculation;
|
||||
|
||||
$available_akru = AkruNet::on($caw['mysql'])
|
||||
->where('bulan',(int)$month_generate)
|
||||
->first();
|
||||
|
||||
try{
|
||||
if($available_akru){
|
||||
if($available_akru['jumlah'] !== $accrual_net){
|
||||
AkruNet::on($caw['mysql'])->where('bulan','=',$current->month)
|
||||
->update(['jumlah' => $accrual_net]);
|
||||
}
|
||||
}else{
|
||||
$akrunet = new AkruNet();
|
||||
$akrunet->setConnection($caw['mysql']);
|
||||
$akrunet->tahun = $year_generate;
|
||||
$akrunet->bulan = $month_generate;
|
||||
$akrunet->jumlah = $accrual_net;
|
||||
$akrunet->save();
|
||||
}
|
||||
DB::connection($caw['mysql'])->commit();
|
||||
}catch (\Throwable $e){
|
||||
return response($e);
|
||||
}
|
||||
}
|
||||
|
||||
return response('succesfully generated!');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -506,6 +506,9 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('UntungRugiCalculation/{kodcaw}',['uses'=>'TebusController@untungrugicalculation']);
|
||||
$router->get('UntungRugiCalculationLejer/{kodcaw}',['uses'=>'TebusController@untungrugicalculationLejer']);
|
||||
|
||||
/* Pembaharuan Akrual */
|
||||
$router->get('Lejer/Keuntungan/{kodcaw}',['uses'=>'LaporanController@SemakanKeuntunganLejer']);
|
||||
$router->get('Lejer/PendapatanAkrual/{kodcaw}',['uses'=>'LaporanController@SemakanPendapatanAkrual']);
|
||||
|
||||
//END IMBANG DUGA & LEJER AM//
|
||||
|
||||
@@ -735,6 +738,8 @@ $router->group(['prefix'=>'admin'], function () use ($router){
|
||||
$router->put('tetapan/listbarcode/update',['uses'=>'AdminPageController@ListBarcodeScannedOperasi_Update']);
|
||||
|
||||
$router->get('laporanllcaw/gadai',['uses'=>'AdminPageController@getLaporanGadaiAllCaw']);
|
||||
$router->get('laporan/akrubulan',['uses'=>'AdminPageController@getLaporanAkruBulan']);
|
||||
$router->get('laporan/akrual/generatedaily',['uses'=>'LaporanController@GenerateDailyAkrual']);
|
||||
});
|
||||
|
||||
$router->group(['prefix'=>'lelong'], function () use ($router){
|
||||
|
||||
Reference in New Issue
Block a user