123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709 |
- <?php
-
- namespace App\Http\Controllers\Main;
-
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\Auth;
- use App\Exports\EnforcerStatisticExport;
- use App\Exports\FaultyStatisticExport;
- use App\Exports\CompoundCurrentExport;
- use App\Exports\CompoundBacklogExport;
- use Maatwebsite\Excel\Facades\Excel;
- use Carbon\Carbon;
-
- use App\Model\Module\Compound;
- use App\Model\Module\Faulty;
- use App\Model\Staff;
- use App\Model\StaffDetail;
- use App\Model\Module\ReportEnforcer;
- use App\Model\Module\ReportFaulty;
-
- class ExportReport extends Controller
- {
- /**
- * @return \Illuminate\Support\Collection
- */
- public function export_compound_enforcer($year,$jenis,$jbkod){
-
- $keping = array(); $jumlah = array();
- $data_report = ReportEnforcer::where('year', $year)->where('jbkod', $jbkod)->get();
-
- if(count($data_report) > 0){
- foreach ($data_report as $key => $d) {
- $st = StaffDetail::find($d->staff_detail_id);
-
- array_push($jumlah, array(
- 'index' => $key+1,
- 'name' => $st->full_name,
- 'jan' => $d->jan['jumlah'],
- 'feb' => $d->feb['jumlah'],
- 'mac' => $d->mac['jumlah'],
- 'apr' => $d->apr['jumlah'],
- 'mei' => $d->mei['jumlah'],
- 'jun' => $d->jun['jumlah'],
- 'july' => $d->july['jumlah'],
- 'ogos' => $d->ogos['jumlah'],
- 'sept' => $d->sept['jumlah'],
- 'okt' => $d->okt['jumlah'],
- 'nov' => $d->nov['jumlah'],
- 'dis' => $d->dis['jumlah'],
- 'total' => $d->total['jumlah'],
- ));
-
- array_push($keping, array(
- 'index' => $key+1,
- 'name' => $st->full_name,
- 'jan' => $d->jan['keping'],
- 'feb' => $d->feb['keping'],
- 'mac' => $d->mac['keping'],
- 'apr' => $d->apr['keping'],
- 'mei' => $d->mei['keping'],
- 'jun' => $d->jun['keping'],
- 'july' => $d->july['keping'],
- 'ogos' => $d->ogos['keping'],
- 'sept' => $d->sept['keping'],
- 'okt' => $d->okt['keping'],
- 'nov' => $d->nov['keping'],
- 'dis' => $d->dis['keping'],
- 'total' => $d->total['keping'],
- ));
- }
- }
-
-
- $filename = 'Statistik_Pengeluaran_kompaun_bulanan';
- return Excel::download(new EnforcerStatisticExport($keping,$jumlah,$year), $filename.'.xlsx');
- }
-
- public function export_compound_faulty($start_date,$end_date,$jabatan){
-
- $jan = array(); $feb = array(); $mac = array(); $apr = array(); $mei = array(); $jun = array();
- $july = array(); $ogos = array(); $sept = array(); $okt = array(); $nov = array(); $dis = array();
- $all = array();
-
- // All Faulty
- $data_sketr = ReportFaulty::where('start_date', $start_date)->where('end_date', $end_date)->where('month', 'All')->where('jbkod', $jabatan)->groupBy('sketr')->get();
-
- if(count($data_sketr) > 0){
- $i = 0;
- foreach ($data_sketr as $key => $d) {
-
- $jumlah_kompaun_keluar = 0; $amaun_kompaun_rm = 0;
- $jumlah_bayar = 0; $amaun_bayar_rm = 0;
- $jumlah_kompaun_belum_bayar = 0; $amaun_tunggakan_rm = 0;
- $kompaun_batal = 0; $amaun_batal_rm = 0;
- $kompaun_kurang = 0; $amaun_kurang_rm = 0;
-
- $name = '';
- $ft = Faulty::where('sketr', $d->sketr)->first();
- if(strpos($ft->nama, '(RM500)') !== false){
- $name = str_replace("(RM500)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM100)') !== false){
- $name = str_replace("(RM100)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM50)') !== false){
- $name = str_replace("(RM50)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM250)') !== false){
- $name = str_replace("(RM250)","",$ft->nama);
- }else {
- $name = $ft->nama;
- }
-
- $data_report = ReportFaulty::where('start_date', $start_date)->where('end_date', $end_date)->where('month', 'All')->where('jbkod', $jabatan)->where('sketr', $d->sketr)->get();
-
- if(count($data_report) > 0){
- foreach ($data_report as $key => $r) {
-
- if ($r->amaun_kompaun_rm == ""){
- $temp_amount_rm = 0;
- }else {
- $temp_amount_rm = $r->amaun_kompaun_rm;
- }
-
- if ($r->jumlah_kompaun_keluar == ""){
- $temp_kompaun_keluar = 0;
- }else {
- $temp_kompaun_keluar = $r->jumlah_kompaun_keluar;
- }
-
- if ($r->jumlah_bayar == ""){
- $temp_jumlah_bayar = 0;
- }else {
- $temp_jumlah_bayar = $r->jumlah_bayar;
- }
-
- if ($r->amaun_bayar_rm == ""){
- $temp_amaun_bayar = 0;
- }else {
- $temp_amaun_bayar = $r->amaun_bayar_rm;
- }
-
- if ($r->jumlah_kompaun_belum_bayar == ""){
- $temp_kompaun_belum_bayar = 0;
- }else {
- $temp_kompaun_belum_bayar = $r->jumlah_kompaun_belum_bayar;
- }
-
- if ($r->amaun_tunggakan_rm == ""){
- $temp_tunggakan = 0;
- }else {
- $temp_tunggakan = $r->amaun_tunggakan_rm;
- }
-
- if ($r->kompaun_batal == ""){
- $temp_kompaun_batal = 0;
- }else {
- $temp_kompaun_batal = $r->kompaun_batal;
- }
-
- if ($r->amaun_batal_rm == ""){
- $temp_amaun_batal = 0;
- }else {
- $temp_amaun_batal = $r->amaun_batal_rm;
- }
-
-
- if ($r->kompaun_kurang == ""){
- $temp_kompaun_kurang = 0;
- }else {
- $temp_kompaun_kurang = $r->kompaun_kurang;
- }
-
- if ($r->amaun_kurang_rm == ""){
- $temp_amaun_kurang = 0;
- }else {
- $temp_amaun_kurang = $r->amaun_kurang_rm;
- }
-
- $jumlah_kompaun_keluar = $jumlah_kompaun_keluar + $temp_kompaun_keluar;
- $amaun_kompaun_rm = $amaun_kompaun_rm + $temp_amount_rm;
- $jumlah_bayar = $jumlah_bayar + $temp_jumlah_bayar;
- $amaun_bayar_rm = $amaun_bayar_rm + $temp_amaun_bayar;
- $jumlah_kompaun_belum_bayar = $jumlah_kompaun_belum_bayar + $temp_kompaun_belum_bayar;
- $amaun_tunggakan_rm = $amaun_tunggakan_rm + $temp_tunggakan;
- $kompaun_batal = $kompaun_batal + $temp_kompaun_batal;
- $amaun_batal_rm = $amaun_batal_rm + $temp_amaun_batal;
- $kompaun_kurang = $kompaun_kurang + $temp_kompaun_kurang;
- $amaun_kurang_rm = $amaun_kurang_rm + $temp_amaun_kurang;
-
- }
- }
-
- array_push($all, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }
- }
-
-
- for($m=1; $m<=12; ++$m){
- $month[] = date('m', mktime(0, 0, 0, $m, 1));
- }
-
- foreach ($month as $key => $m) {
- // Calculate by sketr
- $data_sketrb = ReportFaulty::where('start_date', $start_date)->where('end_date', $end_date)->where('month', $m)->where('jbkod', $jabatan)->groupBy('sketr')->get();
-
- if(count($data_sketrb) > 0){
- $i = 0;
- foreach ($data_sketrb as $key => $d) {
-
- $jumlah_kompaun_keluar = 0; $amaun_kompaun_rm = 0;
- $jumlah_bayar = 0; $amaun_bayar_rm = 0;
- $jumlah_kompaun_belum_bayar = 0; $amaun_tunggakan_rm = 0;
- $kompaun_batal = 0; $amaun_batal_rm = 0;
- $kompaun_kurang = 0; $amaun_kurang_rm = 0;
-
- $name = '';
- $ft = Faulty::where('sketr', $d->sketr)->first();
- if(strpos($ft->nama, '(RM500)') !== false){
- $name = str_replace("(RM500)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM100)') !== false){
- $name = str_replace("(RM100)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM50)') !== false){
- $name = str_replace("(RM50)","",$ft->nama);
- }else if(strpos($ft->nama, '(RM250)') !== false){
- $name = str_replace("(RM250)","",$ft->nama);
- }else {
- $name = $ft->nama;
- }
-
- $data_reportb = ReportFaulty::where('start_date', $start_date)->where('end_date', $end_date)->where('month', 'All')->where('jbkod', $jabatan)->where('sketr', $d->sketr)->get();
-
- if(count($data_reportb) > 0){
- foreach ($data_reportb as $key => $r) {
-
- if ($r->amaun_kompaun_rm == ""){
- $temp_amount_rm = 0;
- }else {
- $temp_amount_rm = $r->amaun_kompaun_rm;
- }
-
- if ($r->jumlah_kompaun_keluar == ""){
- $temp_kompaun_keluar = 0;
- }else {
- $temp_kompaun_keluar = $r->jumlah_kompaun_keluar;
- }
-
- if ($r->jumlah_bayar == ""){
- $temp_jumlah_bayar = 0;
- }else {
- $temp_jumlah_bayar = $r->jumlah_bayar;
- }
-
- if ($r->amaun_bayar_rm == ""){
- $temp_amaun_bayar = 0;
- }else {
- $temp_amaun_bayar = $r->amaun_bayar_rm;
- }
-
- if ($r->jumlah_kompaun_belum_bayar == ""){
- $temp_kompaun_belum_bayar = 0;
- }else {
- $temp_kompaun_belum_bayar = $r->jumlah_kompaun_belum_bayar;
- }
-
- if ($r->amaun_tunggakan_rm == ""){
- $temp_tunggakan = 0;
- }else {
- $temp_tunggakan = $r->amaun_tunggakan_rm;
- }
-
- if ($r->kompaun_batal == ""){
- $temp_kompaun_batal = 0;
- }else {
- $temp_kompaun_batal = $r->kompaun_batal;
- }
-
- if ($r->amaun_batal_rm == ""){
- $temp_amaun_batal = 0;
- }else {
- $temp_amaun_batal = $r->amaun_batal_rm;
- }
-
-
- if ($r->kompaun_kurang == ""){
- $temp_kompaun_kurang = 0;
- }else {
- $temp_kompaun_kurang = $r->kompaun_kurang;
- }
-
- if ($r->amaun_kurang_rm == ""){
- $temp_amaun_kurang = 0;
- }else {
- $temp_amaun_kurang = $r->amaun_kurang_rm;
- }
-
- $jumlah_kompaun_keluar = $jumlah_kompaun_keluar + $temp_kompaun_keluar;
- $amaun_kompaun_rm = $amaun_kompaun_rm + $temp_amount_rm;
- $jumlah_bayar = $jumlah_bayar + $temp_jumlah_bayar;
- $amaun_bayar_rm = $amaun_bayar_rm + $temp_amaun_bayar;
- $jumlah_kompaun_belum_bayar = $jumlah_kompaun_belum_bayar + $temp_kompaun_belum_bayar;
- $amaun_tunggakan_rm = $amaun_tunggakan_rm + $temp_tunggakan;
- $kompaun_batal = $kompaun_batal + $temp_kompaun_batal;
- $amaun_batal_rm = $amaun_batal_rm + $temp_amaun_batal;
- $kompaun_kurang = $kompaun_kurang + $temp_kompaun_kurang;
- $amaun_kurang_rm = $amaun_kurang_rm + $temp_amaun_kurang;
-
- }
- }
-
- if($m == '01'){
- array_push($jan, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '02'){
- array_push($feb, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '03'){
- array_push($mac, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '04'){
- array_push($apr, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '05'){
- array_push($mei, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '06'){
- array_push($jun, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '07'){
- array_push($july, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '08'){
- array_push($ogos, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '09'){
- array_push($sept, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '10'){
- array_push($okt, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '11'){
- array_push($nov, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }else if($m == '12'){
- array_push($dis, array(
- 'index' => $i+1,
- 'name' => strtoupper($name.' - '.$ft->sketr),
- 'jum_kompaun_keluar' => $jumlah_kompaun_keluar,
- 'amaun_kompaun' => $amaun_kompaun_rm,
- 'jumlah_byr' => $jumlah_bayar,
- 'amaun_byr' => $amaun_bayar_rm,
- 'jum_kompaun_belum_byr' => $jumlah_kompaun_belum_bayar,
- 'amaun_tunggakan' => $amaun_tunggakan_rm,
- 'kompaun_batal' => $kompaun_batal,
- 'amaun_batal' => $amaun_batal_rm,
- 'kompaun_kurang' => $kompaun_kurang,
- 'amaun_kurang' => $amaun_kurang_rm,
- ));
- }
-
- }
- }
- }
-
- $filename = 'Statistik_Pengeluaran_kompaun_mengikut_kesalahan';
- return Excel::download(new FaultyStatisticExport($jan,$feb,$mac,$apr,$mei,$jun,$july,$ogos,$sept,$okt,$nov,$dis,$all,$start_date,$end_date), $filename.'.xlsx');
- }
-
-
- public function export_compound_current($start_year,$end_year,$budget1,$budget2,$jbkod){
- $url = 'https://mdch.sipadu.my/api/get/current-compound?start_year='.$start_year.'&end_year='.$end_year.'&budget1='.$budget1.'&budget2='.$budget2.'&jabatan='.$jbkod;
-
- $year1= date('Y', strtotime($start_year));
- $year2= date('Y', strtotime($end_year));
-
- $client = new \GuzzleHttp\Client();
- $request = $client->get($url);
- $response = json_decode($request->getBody());
-
- $data = array();
- foreach ($response->data as $key => $d) {
- array_push($data, array(
- 'bulan' => $d->month,
- 'budget1' => $d->budget1,
- 'kompaun_keluar1' => $d->kompaun_keluar1,
- 'kompaun_kurang1' => $d->kompaun_kurang1,
- 'kutipan_bulanan1' => $d->kutipan_bulanan1,
- 'kutipan_terkumpul1' => $d->kutipan_terkumpul1,
- 'kutipan1' => $d->kutipan1,
- 'terkumpul1' => $d->terkumpul1,
- 'budget2' => $d->budget2,
- 'kompaun_keluar2' => $d->kompaun_keluar2,
- 'kompaun_kurang2' => $d->kompaun_kurang2,
- 'kutipan_bulanan2' => $d->kutipan_bulanan2,
- 'kutipan_terkumpul2' => $d->kutipan_terkumpul2,
- 'kutipan2' => $d->kutipan2,
- 'terkumpul2' => $d->terkumpul2,
- ));
- }
-
- $filename = 'Laporan_Perbezaan_kutipan_Kompaun_Semasa';
- return Excel::download(new CompoundCurrentExport($data,$year1,$year2,$end_year), $filename.'.xlsx');
- }
-
- public function jumlah_kopmaun_tahunan($year, $jabatan)
- {
- $date = Carbon::createFromDate($year, 01, 01);
- $startOfYear = $date->copy()->startOfYear();
- $endOfYear = $date->copy()->endOfYear();
-
- //list of compound 'Belum Bayar' in the year 2019
- $compound = Compound::whereBetween('created_at', array($startOfYear, $endOfYear))->where('jbkod', $jabatan)->get();
-
- $jumlah_kompaun = 0;
- $keping_kompaun = 0;
- $kpd = array();
-
- foreach($compound as $c)
- {
-
- $jumlah_kompaun += $c->jumlah_asal_kompaun;
- $keping_kompaun += 1;
- $kpd[] = $c->kpd;
- }
-
- $result = array();
- array_push($result, array(
- 'jumlah_kompaun' => $jumlah_kompaun,
- 'keping_kompaun' => $keping_kompaun,
- 'kpd' => $kpd,
- ));
-
- return json_encode($result);
- }
-
- //Calculate compound with status 'Berbayar'
- public function kompaun_bayar_by_bulan($year, $month, $jabatan)
- {
- $monthly = Carbon::createFromDate($year, $month, 1);
- $startOfMonth = $monthly->copy()->startOfMonth();
- $endOfMonth = $monthly->copy()->endOfMonth();
- $kpd = array();
-
- $monthly_collection = Compound::whereBetween('created_at', array($startOfMonth, $endOfMonth))->where('jbkod', $jabatan)->where('status', 'Berbayar')->get();
-
- // dd($monthly_collection);
-
- $jumlah_bayar = 0;
- $keping_bayar = 0;
- $jumlah_asal = 0;
- $jumlah_kurang = 0;
- $temp_jumlah_kurang = 0;
- $kpd = array();
-
-
- foreach($monthly_collection as $k)
- {
- if((!($k->jumlah_kemaskini_kompaun == '')))
- {
- $temp_jumlah_kurang = $k->jumlah_asal_kompaun - $k->jumlah_kemaskini_kompaun;
- }
-
- $keping_bayar += 1;
- $jumlah_asal += $k->jumlah_asal_kompaun;
- $jumlah_bayar += $k->amount_payment;
- $jumlah_kurang += $temp_jumlah_kurang;
-
- }
-
- $result = array();
- array_push($result, array(
- 'jumlah_berbayar' => $jumlah_bayar,
- 'keping_berbayar' => $keping_bayar,
- 'jumlah_pengurangan' => $jumlah_kurang,
- 'jumlah_asal_berbayar' => $jumlah_asal,
-
- ));
-
- return json_encode($result);
- }
-
- public function berbayar_terkumpul($value1, $value2)
- {
- return $value1 += $value2;
- }
-
- public function baki_tunggakan($baki_tertunggak, $bayar_bulanan, $jumlah_kurang)
- {
- return $baki_tertunggak - $bayar_bulanan - $jumlah_kurang;
- }
-
- public function keping_tunggakan($keping_tertunggak, $keping_bulanan)
- {
- return $keping_tertunggak -= $keping_bulanan;
- }
-
- public function peratus_kutipan($jumlah_tertunggak, $berbayar_bulanan)
- {
- return $berbayar_bulanan /= $jumlah_tertunggak;
- }
-
- public function peratus_terkumpul($jumlah_tertunggak, $berbayar_terkumpul)
- {
- return $berbayar_terkumpul /= $jumlah_tertunggak;
- }
-
- public function pengurangan_terkumpul($total_pengurangan, $pengurangan_bulanan)
- {
- return $total_pengurangan += $pengurangan_bulanan;
- }
-
- public function export_compound_backlog($year, $jabatan)
- {
- $looping_month = array();
-
- // search kompaun tertunggak a year before
- $tertunggak = json_decode($this->jumlah_kopmaun_tahunan($year, $jabatan));
-
- //declaring required variables
- $kutipan_terkumpul = 0;
- $tunggakan_terkumpul = 0;
- $pengurangan_terkumpul = 0;
- $baki_tunggakan = 0;
- $keping_tunggakan = 0;
- $baki_tunggakan = $tertunggak[0]->jumlah_kompaun;
- $keping_tunggakan = $tertunggak[0]->keping_kompaun;
- $nama_bulan = array('JAN', 'FEB', 'MAC', 'APR', 'MEI', 'JUN', 'JUL', 'OGOS', 'SEP', 'OKT', 'NOV', 'DIS');
- $kpd_bulan = array();
-
- for( $bulan = 1; $bulan < 13; $bulan++)
- {
- //calling required functions
- $bayar_bulanan = json_decode($this->kompaun_bayar_by_bulan($year, $bulan,$jabatan));
- $kutipan_terkumpul = $this->berbayar_terkumpul($kutipan_terkumpul, $bayar_bulanan[0]->jumlah_berbayar);
- $baki_tunggakan = $this->baki_tunggakan($baki_tunggakan, $bayar_bulanan[0]->jumlah_berbayar, $bayar_bulanan[0]->jumlah_pengurangan);
- $keping_tunggakan = $this->keping_tunggakan($keping_tunggakan, $bayar_bulanan[0]->keping_berbayar);
- $peratus_kutipan = $this->peratus_kutipan($tertunggak[0]->jumlah_kompaun, $bayar_bulanan[0]->jumlah_berbayar);
- $peratus_terkumpul = $this->peratus_terkumpul($tertunggak[0]->jumlah_kompaun, $kutipan_terkumpul);
- $pengurangan_terkumpul = $this->pengurangan_terkumpul($pengurangan_terkumpul, $bayar_bulanan[0]->jumlah_pengurangan);
-
- // foreach($bayar_bulanan[0]->kpd as $bb)
- // {
- // dd($bb);
- // }
-
- array_push($looping_month, array(
- 'bulan' => $nama_bulan[$bulan-1], //A
- 'space' => '', //B
- 'kutipan_bulanan(RM)' => $bayar_bulanan[0]->jumlah_berbayar, //C
- 'jumlah_kompaun_bayar' => $bayar_bulanan[0]->keping_berbayar, //D
- 'kutipan_terkumpul(RM)' => $kutipan_terkumpul, //E
- 'baki_tunggakan(RM)' => $baki_tunggakan, //F
- 'baki_belum_bayar' => $keping_tunggakan, //G
- 'jumlah_kurang(RM)' => $bayar_bulanan[0]->jumlah_pengurangan, //H
- '%_kutipan' => number_format((float)$peratus_kutipan, 3, '.', ''), //I
- '%_terkumpul' => number_format((float)$peratus_terkumpul, 3, '.', ''), //J
- ));
- }
-
- $kompaun_j = $tertunggak[0]->jumlah_kompaun;
- $kompaun_k = $tertunggak[0]->keping_kompaun;
-
- $filename = 'Laporan_Tunggakan_Tahunan_(Tahun_:_'.$year.')';
- return Excel::download(new CompoundBacklogExport($looping_month, $year, $kompaun_j, $kompaun_k), $filename.'.xlsx');
- }
- }
|