tambah data kpi untuk operasi dan HR
This commit is contained in:
@@ -0,0 +1,752 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Carbon\Carbon;
|
||||
use App\Models\Cawangan;
|
||||
use App\Models\Tetapan;
|
||||
use App\Models\CawanganKpi;
|
||||
use App\Models\DataKpi;
|
||||
use App\Models\Jawatan;
|
||||
use App\Models\UserKaunter;
|
||||
use App\Models\Gadai;
|
||||
use App\Models\TransaksiKeuntungan;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use App\Services\RingkasanHarianServices;
|
||||
use PDF;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Input;
|
||||
|
||||
|
||||
class KpiController extends Controller
|
||||
{
|
||||
//
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function janaekpi()
|
||||
{
|
||||
$currentDate = Carbon::now();
|
||||
$currentDate = $currentDate->toDateString();
|
||||
$caw = Cawangan::all();
|
||||
// $bulan = Bulan::all();
|
||||
// $tahun = Tahun::all();
|
||||
$years = [];
|
||||
for ($year=2023; $year <= 2024; $year++) $years[$year] = $year;
|
||||
$jawatan = Jawatan::all();
|
||||
// dd($bulan);
|
||||
$tetapan = Tetapan::where('id','=',1)->first();
|
||||
return view('kpi.janakpi',compact('caw','tetapan', 'currentDate','years','jawatan'));
|
||||
}
|
||||
|
||||
public function senaraitempkpi(Request $request)
|
||||
{
|
||||
$bulan = $request->month;
|
||||
$tahun = $request->year;
|
||||
$jawatan = $request->jawatan[0];
|
||||
$mula = date("Y-m-d",strtotime("$tahun-$bulan-01")); //2023-01-01
|
||||
$hingga = date("Y-m-t",strtotime("$tahun-$bulan-01")); //2023-01-31
|
||||
|
||||
if($jawatan == 'pc'){
|
||||
$cawangan_all = Cawangan::orderBy('caw_name')->get();
|
||||
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
|
||||
$senarai = [];
|
||||
foreach($cawangan_all as $cawangan){
|
||||
|
||||
$getnamapc = UserKaunter::where('cawangan',$cawangan->caw_code)
|
||||
->where('role_asal', $jawatan)
|
||||
->first();
|
||||
$toarray=$getnamapc->toArray();
|
||||
// dd($toarray['name']);
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $tahun)
|
||||
->where('bulan', '=', $bulan)
|
||||
->get();
|
||||
// dd($checkExisting);
|
||||
if ($checkExisting->isEmpty()) {
|
||||
|
||||
$kodcaw = $cawangan->caw_code;
|
||||
// $ringkasan = new RingkasanHarianServices();
|
||||
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
|
||||
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[
|
||||
'mula' => $mula,
|
||||
'hingga' => $hingga,
|
||||
'kodcaw' => $kodcaw,
|
||||
])->json();
|
||||
|
||||
$data = [
|
||||
'nama_staff'=>$getnamapc['name'],
|
||||
'nokpstaff'=>$getnamapc['no_kp'],
|
||||
'kodcaw'=>$cawangan->caw_code,
|
||||
'caw_name'=>$cawangan->caw_name,
|
||||
'namajawatan'=>$nama_jawatan->namajawatan,
|
||||
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
|
||||
];
|
||||
|
||||
array_push($senarai,$data);
|
||||
}
|
||||
// dump($data);
|
||||
}
|
||||
}
|
||||
|
||||
else if($jawatan == 'ppc'){
|
||||
$cawangan_all = Cawangan::orderBy('caw_name')->get();
|
||||
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
|
||||
$senarai = [];
|
||||
foreach($cawangan_all as $cawangan){
|
||||
$getnamapc = UserKaunter::where('cawangan', $cawangan->caw_code)
|
||||
->where('role_asal', $jawatan)
|
||||
->first();
|
||||
$toarray=$getnamapc->toArray();
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $tahun)
|
||||
->where('bulan', '=', $bulan)
|
||||
->get();
|
||||
// dd($checkExisting);
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$kodcaw = $cawangan->caw_code;
|
||||
// $ringkasan = new RingkasanHarianServices();
|
||||
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
|
||||
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[
|
||||
'mula' => $mula,
|
||||
'hingga' => $hingga,
|
||||
'kodcaw' => $kodcaw,
|
||||
])->json();
|
||||
|
||||
$aging = Http::get(config('app.api_url'). 'laporan/aging',[
|
||||
'kodcaw' => $kodcaw,
|
||||
'tahun'=>$tahun,
|
||||
'bulan'=>$bulan
|
||||
])->json();
|
||||
|
||||
|
||||
|
||||
$data = [
|
||||
// 'cawid'=>$getnamapc['name'],
|
||||
'nama_staff'=>$getnamapc['name'],
|
||||
'nokpstaff'=>$getnamapc['no_kp'],
|
||||
'kodcaw'=>$cawangan->caw_code,
|
||||
'caw_name'=>$cawangan->caw_name,
|
||||
'namajawatan'=>$nama_jawatan->namajawatan,
|
||||
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
|
||||
'aging' => $aging ? $aging : '',
|
||||
];
|
||||
|
||||
array_push($senarai,$data);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($jawatan == 'teller'){
|
||||
$cawangan_all = Cawangan::orderBy('caw_name')->get();
|
||||
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
|
||||
$senarai = [];
|
||||
// dd($cawangan_all);
|
||||
foreach($cawangan_all as $cawangan){
|
||||
|
||||
// dd($getnamapc);
|
||||
|
||||
$kodcaw = $cawangan->caw_code;
|
||||
// $ringkasan = new RingkasanHarianServices();
|
||||
// $laporan_ringkasan = $ringkasan->getRingkasanHarian($mula,$hingga,$kodcaw);
|
||||
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[
|
||||
'mula' => $mula,
|
||||
'hingga' => $hingga,
|
||||
'kodcaw' => $kodcaw,
|
||||
])->json();
|
||||
|
||||
$getnamateller = UserKaunter::where('cawangan', $cawangan->caw_code)
|
||||
->where('role_asal', $jawatan)
|
||||
->whereNotIn('name', ['LELONG'])
|
||||
->orderBy('name','desc')
|
||||
->get();
|
||||
// dd($getnamateller);
|
||||
$pluckteller = $getnamateller->pluck('name')->toArray();
|
||||
$nokpstaff = $getnamateller->keyBy('no_kp')->toArray();
|
||||
// dd($plucktellernokp);
|
||||
$gadai = Http::get(config('app.api_url'). 'getLaporanGadaiRangeDatebyTeller/'. $kodcaw,[
|
||||
'mula' => $mula,
|
||||
'akhir' => $hingga,
|
||||
'teller'=> $pluckteller,
|
||||
])->json();
|
||||
foreach($gadai as $index=>$datateller){
|
||||
$getnokpteller = UserKaunter::where('cawangan', $cawangan->caw_code)
|
||||
->where('name', $datateller['teller'])
|
||||
->first();
|
||||
|
||||
$gadai[$index]['nokpstaff'] = $getnokpteller['no_kp'];
|
||||
|
||||
}
|
||||
$toarray=$getnokpteller->toArray();
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $tahun)
|
||||
->where('bulan', '=', $bulan)
|
||||
->where('jawatan', '=', 'teller')
|
||||
->get();
|
||||
// dd($checkExisting);
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$tebus = Http::get(config('app.api_url'). 'getLaporanTebusRangeDatebyTeller/'. $kodcaw,[
|
||||
'mula' => $mula,
|
||||
'akhir' => $hingga,
|
||||
'teller'=> $pluckteller,
|
||||
])->json();
|
||||
|
||||
$data = [
|
||||
'nokpstaff'=>$nokpstaff,
|
||||
'kodcaw'=>$cawangan->caw_code,
|
||||
'caw_name'=>$cawangan->caw_name,
|
||||
'namajawatan'=>$nama_jawatan->namajawatan,
|
||||
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
|
||||
'gadai' => $gadai ? $gadai : '',
|
||||
'tebus' => $tebus ? $tebus : '',
|
||||
];
|
||||
|
||||
array_push($senarai,$data);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if($jawatan == 'penilai'){
|
||||
$cawangan_all = Cawangan::orderBy('caw_name')->get();
|
||||
$nama_jawatan = Jawatan::where('idjawatan', $jawatan)->first();
|
||||
$senarai = [];
|
||||
foreach($cawangan_all as $cawangan){
|
||||
$kodcaw = $cawangan->caw_code;
|
||||
$laporan_ringkasan = Http::get(config('app.api_url'). 'get/ringkasanharian/' ,[
|
||||
'mula' => $mula,
|
||||
'hingga' => $hingga,
|
||||
'kodcaw' => $kodcaw,
|
||||
])->json();
|
||||
|
||||
$gadaipenilai = Http::get(config('app.api_url'). 'getLaporanGadaiRangeDatebyPenilai/'. $kodcaw,[
|
||||
'mula' => $mula,
|
||||
'akhir' => $hingga
|
||||
])->json();
|
||||
foreach($gadaipenilai as $index=>$datapenilai){
|
||||
$getnokppenilai = UserKaunter::where('cawangan', $cawangan->caw_code)
|
||||
->where('name', $datapenilai['penilai'])
|
||||
->first();
|
||||
$gadaipenilai[$index]['nokpstaff'] = $getnokppenilai['no_kp'] ? $getnokppenilai['no_kp'] : '';
|
||||
}
|
||||
$toarray=$getnokppenilai->toArray();
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $toarray['name'])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $tahun)
|
||||
->where('bulan', '=', $bulan)
|
||||
->where('jawatan', '=', 'penilai')
|
||||
->get();
|
||||
// dd($checkExisting);
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$data = [
|
||||
'kodcaw'=>$cawangan->caw_code,
|
||||
'caw_name'=>$cawangan->caw_name,
|
||||
'namajawatan'=>$nama_jawatan->namajawatan,
|
||||
'laporan_ringkasan' => $laporan_ringkasan ? $laporan_ringkasan : '',
|
||||
'gadaipenilai' => $gadaipenilai ? $gadaipenilai : '',
|
||||
];
|
||||
|
||||
array_push($senarai,$data);
|
||||
}
|
||||
// dd($data);
|
||||
}
|
||||
}
|
||||
// dd($data);
|
||||
|
||||
// if($total_bil_lelong == 0)
|
||||
// {
|
||||
// return redirect()->route('notisperingatan.jananotisperingatan')
|
||||
// ->with('failed','Tiada surat untuk di dijana');
|
||||
// }
|
||||
|
||||
// dd($data);
|
||||
return view('kpi.senaraitempkpi', compact(
|
||||
// 'getsurat',
|
||||
'senarai',
|
||||
'nama_jawatan',
|
||||
'tahun',
|
||||
'bulan',
|
||||
'jawatan'
|
||||
|
||||
));
|
||||
}
|
||||
|
||||
public function savedatakpi(Request $request)
|
||||
{
|
||||
// dd($request->all());
|
||||
$jawatan = $request->jawatan;
|
||||
$bulan = $request->bulan;
|
||||
$tahun = $request->tahun;
|
||||
$mula = date("Y-m-d",strtotime("$tahun-$bulan-01")); //2023-01-01
|
||||
$hingga = date("Y-m-t",strtotime("$tahun-$bulan-01")); //2023-01-31
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$currentNow = Carbon::now();
|
||||
$tarikh_savekpi = $current->toDateString();
|
||||
$selected_caw = $request->kodcaw;
|
||||
// dd($request->caw);
|
||||
// if(!empty($selected_caw))
|
||||
$cawangan_all = Cawangan::whereIn('caw_code',$selected_caw)->get();
|
||||
// dd($caws);
|
||||
$bil_surat = 0;
|
||||
$senarai = [];
|
||||
if($jawatan == 'pc'){
|
||||
$datakpi_temp_arr = [];
|
||||
foreach($request->nama_staff as $key => $datastaff){
|
||||
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $request->tahun)
|
||||
->where('bulan', '=', $request->bulan)
|
||||
->get();
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first();
|
||||
$caw_kpi = new CawanganKpi;
|
||||
$caw_kpi->caw_id = $cawangan->id;
|
||||
$caw_kpi->kodcaw = $request->kodcaw[$key];
|
||||
$caw_kpi->tahun_kpi = date('Y');
|
||||
$caw_kpi->tahun = $request->tahun;
|
||||
$caw_kpi->bulan = $request->bulan;
|
||||
$caw_kpi->jawatan = $request->jawatan;
|
||||
$caw_kpi->namastaff = $request->nama_staff[$key];
|
||||
$caw_kpi->nokpstaff = $request->nokpstaff[$key];
|
||||
$caw_kpi->status_jana = 1;
|
||||
$caw_kpi->save();
|
||||
|
||||
$datakpi_to_be_inserted = [
|
||||
'idcawkpi' => $caw_kpi->id,
|
||||
'caw_id' => $cawangan->id,
|
||||
'kodcaw' => $request->kodcaw[$key],
|
||||
'tahun_kpi' => date('Y'),
|
||||
'tahun' => $request->tahun,
|
||||
'bulan' => $request->bulan,
|
||||
'jawatan' => $request->jawatan,
|
||||
'namastaff' => $request->nama_staff[$key],
|
||||
'nokpstaff' => $request->nokpstaff[$key],
|
||||
'pc_bilpembiayaan' => $request->bilangan_gadai[$key],
|
||||
'pc_pembiayaan' => $request->total_gadai[$key],
|
||||
'pc_pendapatan' => $request->pendapatan[$key],
|
||||
'pc_pelangganbaru' => $request->bilangan_customer_baru[$key],
|
||||
'created_at' => $currentNow,
|
||||
'updated_at' => $currentNow,
|
||||
];
|
||||
|
||||
array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
|
||||
}
|
||||
else {
|
||||
return redirect()
|
||||
->route('janakpi.janaekpi')
|
||||
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
|
||||
}
|
||||
|
||||
}
|
||||
DataKpi::insert($datakpi_temp_arr);
|
||||
|
||||
}
|
||||
else if($jawatan == 'ppc'){
|
||||
$datakpi_temp_arr = [];
|
||||
foreach ($request->nama_staff as $key => $datastaff) {
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $request->tahun)
|
||||
->where('bulan', '=', $request->bulan)
|
||||
->get();
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first();
|
||||
// dd($cawangan);
|
||||
$caw_kpi = new CawanganKpi;
|
||||
$caw_kpi->caw_id = $cawangan->id;
|
||||
$caw_kpi->kodcaw = $request->kodcaw[$key];
|
||||
$caw_kpi->tahun_kpi = date('Y');
|
||||
$caw_kpi->tahun = $request->tahun;
|
||||
$caw_kpi->bulan = $request->bulan;
|
||||
$caw_kpi->jawatan = $request->jawatan;
|
||||
$caw_kpi->namastaff = $request->nama_staff[$key];
|
||||
$caw_kpi->nokpstaff = $request->nokpstaff[$key];
|
||||
$caw_kpi->status_jana = 1;
|
||||
$caw_kpi->save();
|
||||
|
||||
$datakpi_to_be_inserted = [
|
||||
'idcawkpi' => $caw_kpi->id,
|
||||
'caw_id' => $cawangan->id,
|
||||
'kodcaw' => $request->kodcaw[$key],
|
||||
'tahun_kpi' => date('Y'),
|
||||
'tahun' => $request->tahun,
|
||||
'bulan' => $request->bulan,
|
||||
'jawatan' => $request->jawatan,
|
||||
'namastaff' => $request->nama_staff[$key],
|
||||
'nokpstaff' => $request->nokpstaff[$key],
|
||||
'ppc_aging1' => $request->aging1[$key],
|
||||
'ppc_aging2' => $request->aging2[$key],
|
||||
'ppc_aging3' => $request->aging3[$key],
|
||||
'ppc_penebusan' => $request->total_tebus[$key],
|
||||
'created_at' => $currentNow,
|
||||
'updated_at' => $currentNow,
|
||||
];
|
||||
|
||||
array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
|
||||
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
return redirect()
|
||||
->route('janakpi.janaekpi')
|
||||
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
|
||||
}
|
||||
}
|
||||
DataKpi::insert($datakpi_temp_arr);
|
||||
}
|
||||
else if($jawatan == 'teller'){
|
||||
// dd($request->all());
|
||||
$datakpi_temp_arr = [];
|
||||
foreach($request->nama_staff as $key => $datastaff){
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $request->tahun)
|
||||
->where('bulan', '=', $request->bulan)
|
||||
->where('jawatan', '=', $request->jawatan)
|
||||
->get();
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first();
|
||||
$caw_kpi = new CawanganKpi;
|
||||
$caw_kpi->caw_id = $cawangan->id;
|
||||
$caw_kpi->kodcaw = $request->kodcaw[$key];
|
||||
$caw_kpi->tahun_kpi = date('Y');
|
||||
$caw_kpi->tahun = $request->tahun;
|
||||
$caw_kpi->bulan = $request->bulan;
|
||||
$caw_kpi->jawatan = $request->jawatan;
|
||||
$caw_kpi->namastaff = $request->nama_staff[$key];
|
||||
$caw_kpi->nokpstaff = $request->nokpstaff[$key];
|
||||
$caw_kpi->status_jana = 1;
|
||||
$caw_kpi->save();
|
||||
|
||||
$datakpi_to_be_inserted = [
|
||||
'idcawkpi' => $caw_kpi->id,
|
||||
'caw_id' => $cawangan->id,
|
||||
'kodcaw' => $request->kodcaw[$key],
|
||||
'tahun_kpi' => date('Y'),
|
||||
'tahun' => $request->tahun,
|
||||
'bulan' => $request->bulan,
|
||||
'jawatan' => $request->jawatan,
|
||||
'namastaff' => $request->nama_staff[$key],
|
||||
'nokpstaff' => $request->nokpstaff[$key],
|
||||
'teller_bilgadai' => $request->total_gadai[$key],
|
||||
'teller_pembiayaan' => $request->total_pembiayaan[$key],
|
||||
'teller_biltebus' => $request->total_tebus[$key],
|
||||
'teller_tebuspembiayaan' => $request->total_penebusan[$key],
|
||||
'created_at' => $currentNow,
|
||||
'updated_at' => $currentNow,
|
||||
];
|
||||
|
||||
array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
|
||||
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
return redirect()
|
||||
->route('janakpi.janaekpi')
|
||||
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
|
||||
}
|
||||
}
|
||||
DataKpi::insert($datakpi_temp_arr);
|
||||
}
|
||||
else if($jawatan == 'penilai'){
|
||||
// dd($request->all());
|
||||
$datakpi_temp_arr = [];
|
||||
foreach($request->nama_staff as $key => $datastaff){
|
||||
$checkExisting = CawanganKpi::where('namastaff', '=', $request->nama_staff[$key])
|
||||
->where('tahun_kpi', '=', date('Y'))
|
||||
->where('tahun', '=', $request->tahun)
|
||||
->where('bulan', '=', $request->bulan)
|
||||
->where('jawatan', '=', $request->jawatan)
|
||||
->get();
|
||||
if ($checkExisting->isEmpty()) {
|
||||
$cawangan = Cawangan::where('caw_code',$request->kodcaw[$key])->first();
|
||||
$caw_kpi = new CawanganKpi;
|
||||
$caw_kpi->caw_id = $cawangan->id;
|
||||
$caw_kpi->kodcaw = $request->kodcaw[$key];
|
||||
$caw_kpi->tahun_kpi = date('Y');
|
||||
$caw_kpi->tahun = $request->tahun;
|
||||
$caw_kpi->bulan = $request->bulan;
|
||||
$caw_kpi->jawatan = $request->jawatan;
|
||||
$caw_kpi->namastaff = $request->nama_staff[$key];
|
||||
$caw_kpi->nokpstaff = $request->nokpstaff[$key];
|
||||
$caw_kpi->status_jana = 1;
|
||||
$caw_kpi->save();
|
||||
|
||||
$datakpi_to_be_inserted = [
|
||||
'idcawkpi' => $caw_kpi->id,
|
||||
'caw_id' => $cawangan->id,
|
||||
'kodcaw' => $request->kodcaw[$key],
|
||||
'tahun_kpi' => date('Y'),
|
||||
'tahun' => $request->tahun,
|
||||
'bulan' => $request->bulan,
|
||||
'jawatan' => $request->jawatan,
|
||||
'namastaff' => $request->nama_staff[$key],
|
||||
'nokpstaff' => $request->nokpstaff[$key],
|
||||
'penilai_bilgadai' => $request->total_gadai[$key],
|
||||
'penilai_pembiayaan' => $request->total_pembiayaan[$key],
|
||||
'created_at' => $currentNow,
|
||||
'updated_at' => $currentNow,
|
||||
];
|
||||
|
||||
array_push($datakpi_temp_arr, $datakpi_to_be_inserted);
|
||||
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
return redirect()
|
||||
->route('janakpi.janaekpi')
|
||||
->with('failed', 'Maaf, Bulan dan Tahun KPI bagi nama staff ini telah wujud dalam db.');
|
||||
}
|
||||
}
|
||||
DataKpi::insert($datakpi_temp_arr);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//}
|
||||
// else
|
||||
// {
|
||||
// return redirect()->route('janakpi.janaekpi')->with('failed','Tiada surat untuk di jana');
|
||||
// }
|
||||
|
||||
return redirect()->route('janakpi.janaekpi')
|
||||
->with('success',"Berjaya Daftar KPI ".$jawatan.' ('.$bulan.'/'.$tahun.')');
|
||||
// return redirect()->route('analisa.senaraisimulasi')->with('success',"Success daftar simulasi!");
|
||||
|
||||
}
|
||||
|
||||
Public function listdatakpi(){
|
||||
$tahunkpi = date('Y');
|
||||
$senarai = [];
|
||||
$cawangan_all = Cawangan::with(['cawanganKpi'])
|
||||
->withCount(['cawanganKpi' => function ($query) use ($tahunkpi) {
|
||||
$query->where('tahun_kpi', $tahunkpi);
|
||||
}])
|
||||
->orderBy('caw_name','ASC')
|
||||
->get();
|
||||
foreach($cawangan_all as $index3=>$cawangan){
|
||||
|
||||
$getnamastaff = CawanganKpi::where('kodcaw', $cawangan->caw_code)
|
||||
->groupBy('nokpstaff')
|
||||
->get();
|
||||
$kodcaw = $cawangan->caw_code;
|
||||
|
||||
$data = [
|
||||
'namastaff'=>$getnamastaff->toArray(),
|
||||
'nokpstaff'=>$getnamastaff->toArray(),
|
||||
];
|
||||
|
||||
array_push($senarai,$data);
|
||||
// dd($data);
|
||||
|
||||
$cawangan_all_groupby_caw = $cawangan->groupBy('caw_code');
|
||||
|
||||
$cawangan_all[$index3]["cawangan_info"] = $cawangan;
|
||||
$cawangan_all[$index3]["namastaff"] = $getnamastaff;
|
||||
}
|
||||
return view('kpi.datakpibycaw',compact('cawangan_all','senarai'));
|
||||
}
|
||||
|
||||
Public function listdatakpidetail($nokpstaff,$kodcaw, Request $request){
|
||||
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
|
||||
->where('nokpstaff',$nokpstaff)
|
||||
->first();
|
||||
// dd($getnamastaff);
|
||||
$jawatan = Jawatan::where('idjawatan', $getnamastaff->jawatan)
|
||||
->get();
|
||||
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) {
|
||||
$query->where('jawatan', $jawatan[0]['idjawatan'])
|
||||
->orderByRaw('CONVERT(bulan, SIGNED) asc')
|
||||
->orderByRaw('CONVERT(tahun, SIGNED) asc');
|
||||
}])
|
||||
->where('nokpstaff',$nokpstaff)
|
||||
->where('kodcaw',$kodcaw)
|
||||
->where('jawatan',$jawatan[0]['idjawatan'])
|
||||
->get();
|
||||
|
||||
foreach($bycaw_all as $index3=>$listbatch){
|
||||
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
|
||||
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi;
|
||||
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name;
|
||||
}
|
||||
return view('kpi.datakpibycawdetail',compact('getnamastaff','bycaw_all','jawatan','kodcaw'));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Public function checkpenilai($nokpstaff,$jawatan){
|
||||
|
||||
$getnamastaff = CawanganKpi::where('nokpstaff', $nokpstaff)
|
||||
->where('jawatan',$jawatan)
|
||||
->first();
|
||||
// dd($getnamastaff);
|
||||
$jawatan = Jawatan::where('idjawatan', $jawatan)
|
||||
->get();
|
||||
// dd($jawatan);
|
||||
$kodcaw = $getnamastaff['kodcaw'];
|
||||
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) {
|
||||
$query->where('jawatan', $jawatan[0]['idjawatan']);
|
||||
}])
|
||||
->where('nokpstaff',$nokpstaff)
|
||||
->where('kodcaw',$kodcaw)
|
||||
->where('jawatan', $jawatan[0]['idjawatan'])
|
||||
->get();
|
||||
// dd($bycaw_all);
|
||||
foreach($bycaw_all as $index3=>$listbatch){
|
||||
// dd($listbatch->toArray());
|
||||
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
|
||||
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi;
|
||||
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name;
|
||||
// $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan;
|
||||
}
|
||||
// dd($bycaw_all);
|
||||
return view('kpi.datakpibycawdetail',compact('getnamastaff','bycaw_all','jawatan'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
Public function listdatakpidetail2($nokpstaff,$kodcaw, Request $request){
|
||||
$namacaw = Cawangan::where('caw_code',$kodcaw)->first();
|
||||
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
|
||||
->where('nokpstaff',$nokpstaff)
|
||||
->first();
|
||||
// dd($getnamastaff);
|
||||
$jawatan1 = Jawatan::where('idjawatan', $request->jawatan)
|
||||
->get();
|
||||
$jawatan = $request->jawatan;
|
||||
// dd($jawatan[0]);
|
||||
|
||||
$bycaw_all = CawanganKpi::with(['cawangan','dataKpi'=> function ($query) use ($jawatan) {
|
||||
$query->where('jawatan', $jawatan);
|
||||
}])
|
||||
->where('nokpstaff',$nokpstaff)
|
||||
->where('kodcaw',$kodcaw)
|
||||
->where('jawatan',$request->jawatan)
|
||||
->get();
|
||||
// dd($bycaw_all);
|
||||
|
||||
foreach($bycaw_all as $index3=>$listbatch){
|
||||
// dd($listbatch->toArray());
|
||||
$bycaw_all_groupby_caw = $listbatch->groupBy('lelong_id');
|
||||
$bycaw_all[$index3]["datakpi_info"] = $listbatch->dataKpi;
|
||||
$bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan->caw_name;
|
||||
$bycaw_all[$index3]["jawatan1"] = $jawatan1;
|
||||
// $bycaw_all[$index3]["nama_caw"] = $listbatch->cawangan;
|
||||
}
|
||||
if($request->type == 'excel')
|
||||
{
|
||||
|
||||
return view('kpi.datakpibycawdetail_excel',compact('getnamastaff','bycaw_all','jawatan','kodcaw','jawatan1'));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$pdf = PDF::loadView('kpi.datakpibycawdetail_pdf',compact('getnamastaff','bycaw_all','jawatan','kodcaw','jawatan1','namacaw'))
|
||||
->setPaper('a4', 'potrait');
|
||||
|
||||
return $pdf->download('Data KPI '.$getnamastaff->namastaff.'.pdf');
|
||||
}
|
||||
}
|
||||
|
||||
Public function listdatakpidetailall($kodcaw, Request $request){
|
||||
$kodcaw = $kodcaw;
|
||||
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
|
||||
->groupBy('jawatan','nokpstaff')
|
||||
->orderBy('namastaff')
|
||||
->get();
|
||||
$getdatakpi = DataKpi::where('kodcaw', $kodcaw)
|
||||
// ->groupBy('jawatan','nokpstaff')
|
||||
->orderByRaw('CONVERT(bulan, SIGNED) asc')
|
||||
->orderByRaw('CONVERT(tahun, SIGNED) asc')
|
||||
// ->select('namastaff','jawatan','bulan')
|
||||
->get();
|
||||
$groupby_nama = $getdatakpi->groupby('namastaff');
|
||||
$collection_datakpi = Collect();
|
||||
foreach($groupby_nama as $index=>$nama){
|
||||
$groupby_jawatan = $nama->groupBy('jawatan');
|
||||
$collection_datakpi->push($groupby_jawatan);
|
||||
$groupby_nama[$index]["jawatan"] = $groupby_jawatan;
|
||||
}
|
||||
|
||||
|
||||
return view('kpi.datakpibycawdetailall',compact('collection_datakpi','kodcaw'));
|
||||
}
|
||||
|
||||
Public function listdatakpidetailall2($kodcaw, Request $request){
|
||||
$namacaw = Cawangan::where('caw_code',$kodcaw)->first();
|
||||
$getnamastaff = CawanganKpi::where('kodcaw', $kodcaw)
|
||||
->groupBy('jawatan','nokpstaff')
|
||||
->orderBy('namastaff')
|
||||
->get();
|
||||
$getdatakpi = DataKpi::where('kodcaw', $kodcaw)
|
||||
->orderByRaw('CONVERT(bulan, SIGNED) asc')
|
||||
->orderByRaw('CONVERT(tahun, SIGNED) asc')
|
||||
->get();
|
||||
$groupby_nama = $getdatakpi->groupby('namastaff');
|
||||
$collection_datakpi = Collect();
|
||||
foreach($groupby_nama as $index=>$nama){
|
||||
$groupby_jawatan = $nama->groupBy('jawatan');
|
||||
$collection_datakpi->push($groupby_jawatan);
|
||||
$groupby_nama[$index]["jawatan"] = $groupby_jawatan;
|
||||
}
|
||||
|
||||
if($request->type == 'excel')
|
||||
{
|
||||
|
||||
return view('kpi.datakpibycawdetailall_excel',compact('collection_datakpi','kodcaw'));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$pdf = PDF::loadView('kpi.datakpibycawdetailall_pdf',compact('collection_datakpi','kodcaw','namacaw'))
|
||||
->setPaper('a4', 'potrait');
|
||||
|
||||
return $pdf->download('Data KPI Keseluruhan'.$kodcaw.'.pdf');
|
||||
}
|
||||
|
||||
|
||||
return view('kpi.datakpibycawdetailall',compact('collection_datakpi'));
|
||||
|
||||
|
||||
|
||||
}
|
||||
public function hapusdatakpi($recno)
|
||||
{
|
||||
$datastaff = DataKpi::where('id','=',$recno)
|
||||
->get();
|
||||
$datastafftoarray = $datastaff->toArray();
|
||||
$nokpstaff = $datastafftoarray[0]['nokpstaff'];
|
||||
$kodcaw = $datastafftoarray[0]['kodcaw'];
|
||||
$idcawkpi = $datastafftoarray[0]['idcawkpi'];
|
||||
// dd($idcawkpi);
|
||||
|
||||
$caw = DataKpi::where('id','=',$recno);
|
||||
$caw->delete();
|
||||
$caw1 = CawanganKpi::where('id','=',$idcawkpi);
|
||||
$caw1->delete();
|
||||
$checkExisting = CawanganKpi::where('nokpstaff', '=', $nokpstaff)
|
||||
->where('kodcaw', '=', $kodcaw)
|
||||
->get();
|
||||
// dd($checkExisting);
|
||||
if ($checkExisting->isEmpty()) {
|
||||
return redirect()->route('janakpi.listdatakpi')
|
||||
->with('success','Data '.$kodcaw.' Berjaya Dihapuskan');
|
||||
}
|
||||
else{
|
||||
return redirect()->route('janakpi.listdatakpidetail',['nokpstaff'=>$nokpstaff,'kodcaw' => $kodcaw])
|
||||
->with('success','Data '.$kodcaw.' Berjaya Dihapuskan');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user