load->model('ModelDashboard', 'Dashboard'); $this->load->model('ModelRekapGp', 'RekapGp'); $this->load->library(['datatables', 'form_validation']); $this->form_validation->set_error_delimiters('', ''); $this->Dashboard->ceklogin(); } public function output_json($data, $encode = true) { if ($encode) $data = json_encode($data); $this->output->set_content_type('application/json')->set_output($data); } public function dataProyekBerjalan_Sales_A1() { // [1] $datSales = $this->RekapGp->getData_SalesAll(); $datPelanggan = $this->RekapGp->getData_Pelanggan_byID(); $username = $this->session->userdata('username'); $id_karyawan = $this->session->userdata('id_karyawan'); $tgl = date('Y-m-d'); if ($username=="fridho" OR $username=="ricky" OR $username=="rifka") { $id_karyawan = 16; $datRekap = $this->RekapGp->getData_Proyek_forSales_Null_0($id_karyawan); } else if ($username=="admin") { $datRekap = $this->RekapGp->getData_Proyek_Null_0(); } else { $datRekap = $this->RekapGp->getData_Proyek_forSales_Null_0($id_karyawan); } $no = 0; foreach ($datRekap as $key) { $sumSpr = $this->RekapGp->getSum_SoProyek_byPROYEK($key['ID_PROYEK']); if ($sumSpr==FALSE) { $totso = 0; } else { $totso = $sumSpr[0]['NILAI']; } $sumSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($key['ID_PROYEK']); if ($sumSprFee==FALSE) { $totsofee = 0; } else { $totsofee = $sumSprFee[0]['FEE']; } $sumBpry = $this->RekapGp->getSum_BiayaProyek_byPROYEK($key['ID_PROYEK']); if ($sumBpry==FALSE) { $totbpry = 0; } else { $totbpry = $sumBpry[0]['TOTAL']; } $sumHppProyek = $this->RekapGp->getSum_HppProyek_byPROYEK($key['ID_PROYEK']); if ($sumHppProyek==FALSE) { $tothpr = 0; } else { $tothpr = $sumHppProyek[0]['TOTAL']; } $datDpr = $this->RekapGp->getData_DaftarProyek_byPROYEK($key['ID_PROYEK']); $total_hppbarang = 0; foreach ($datDpr as $dut) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dut['BARANG_ID'], $tgl); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $datkey) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dut['BARANG_ID'], $datkey['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dut['BARANG_ID'], $datkey['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dut['BARANG_ID'], $datkey['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $datkey['NILAI_HQ'] / $datkey['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $datkey['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $subtot = $hppakhir * $dut['QTY_DPR']; $total_hppbarang = $total_hppbarang+$subtot; } $noso0 = 0; $noso1 = 0; $datHppSo0 = []; $datHppSo1 = []; $dataSpr = $this->RekapGp->getData_SoProyek_byPROYEK($key['ID_PROYEK']); foreach ($dataSpr as $dit) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($dit['SID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($dit['SID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($dit['SID']); foreach ($datDo as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_DO'], 'TGL' => $dit['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dit['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $datHppSo1[$noso1++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dit['TGL_PENJUALAN'], 'HARGA' => $dot['HARGA_IO'], ]; } } $total_hppso0 = 0; foreach ($datHppSo0 as $dat) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGL']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $datkey) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $datkey['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $datkey['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $datkey['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $datkey['NILAI_HQ'] / $datkey['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $datkey['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $subtot = $hppakhir * $dat['QTY']; $total_hppso0 = $total_hppso0+$subtot; } $total_hppso1 = 0; foreach ($datHppSo1 as $dat) { $subtot = $dat['QTY']*$dat['HARGA']; $total_hppso1 = $total_hppso1+$subtot; } $totalNota = $totso-$totsofee; $totalBiaya = $totbpry+$tothpr+$total_hppso0-$total_hppso1+$total_hppbarang; $totalGp = $totalNota-$totalBiaya; $datRekap[$no] += ['NOTA'=> number_format($totalNota,2)]; $datRekap[$no] += ['BIAYA'=> number_format($totalBiaya,2)]; $datRekap[$no++] += ['GP'=> number_format($totalGp,2)]; } $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp proyek berjalan", 'rekap' => $datRekap, 'pelanggan' => $datPelanggan, 'sales' => $datSales, 'tgl' => $tgl ]; $this->load->view('proses/RekapGpProyek_Sales_A1', $data); } public function kodeProyek() { // [2] $kk = $this->RekapGp->getKode_Proyek(); $tgl = date('y'); if (is_array($kk) || is_object($kk)) { foreach ($kk as $row) { if ($row['KODE'] == null) { return "PRO".$tgl."-0001"; } else { $str = (string) $row['KODE']; $tgl_lama = substr($str, 3, -5); if ($tgl_lama!=$tgl) { return "PRO".$tgl."-0001"; } else { $panjang = 4; $data = substr($str, 6, $panjang); $ko = (int) $data + 1; $str = (string) $ko; $panjang = 10 - strlen($str); $data = "PRO".$tgl."-0000"; $data = substr($data, 0, $panjang) . $str; return $data; } } } } } public function simpanproyek_SA1() { // [3] $method = $this->input->post('method'); $id_proyek = $this->input->post('id'); $id_sales = $this->input->post('id_sales'); $id_pelanggan = $this->input->post('id_pelanggan'); $po_proyek = $this->input->post('po_proyek'); $tgl_proyek = $this->input->post('tgl_proyek'); $kode_proyek = $this->kodeProyek(); $po_proyek = strtoupper($po_proyek); $datProyek = $this->RekapGp->getData_Proyek_byPO($po_proyek, NULL); if ($datProyek==TRUE) { $this->session->set_flashdata('po_same', 'error'); redirect($_SERVER['HTTP_REFERER']); } $input = [ 'KODE_PROYEK' => $kode_proyek, 'SALES_ID' => $id_sales, 'PELANGGAN_ID' => $id_pelanggan, 'PO_PROYEK' => $po_proyek, 'TGL_PROYEK' => $tgl_proyek ]; $action = $this->RekapGp->create('proyek', $input); if ($action) { $this->session->set_flashdata('success', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } } public function ubahproyek_SA1() { // [4] $method = $this->input->post('method'); $id_proyek = $this->input->post('id_proyeked'); $id_sales = $this->input->post('id_salesed'); $id_pelanggan = $this->input->post('id_pelangganed'); $po_proyek = $this->input->post('po_proyeked'); $tgl_proyek = $this->input->post('tgl_proyeked'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek[0]['STATUS_PROYEK']!=NULL) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $po_proyek = strtoupper($po_proyek); $dataProyek = $this->RekapGp->getData_Proyek_byPO($po_proyek,$id_proyek); if ($dataProyek==TRUE) { $this->session->set_flashdata('po_same', 'error'); redirect($_SERVER['HTTP_REFERER']); } if ($id_sales==NULL) { $update = [ 'PELANGGAN_ID' => $id_pelanggan, 'PO_PROYEK' => $po_proyek, 'TGL_PROYEK' => $tgl_proyek ]; $action = $this->RekapGp->update('proyek', $update, 'ID_PROYEK', $id_proyek); } else { $update = [ 'SALES_ID' => $id_sales, 'PELANGGAN_ID' => $id_pelanggan, 'PO_PROYEK' => $po_proyek, 'TGL_PROYEK' => $tgl_proyek ]; $action = $this->RekapGp->update('proyek', $update, 'ID_PROYEK', $id_proyek); } if ($action) { $this->session->set_flashdata('success', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } } public function hapusproyek_SA1() { // [5] $method = $this->input->post('method'); $id_proyek = $this->input->post('id_proyekdel'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek[0]['STATUS_PROYEK']!=NULL) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datDpr = $this->RekapGp->getData_DaftarProyek_byPROYEK($id_proyek); if ($datDpr==TRUE) { $this->session->set_flashdata('data_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datIo = $this->RekapGp->getData_TransaksiStock_byPROYEK($id_proyek); if ($datIo==TRUE) { $this->session->set_flashdata('data_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datSpr = $this->RekapGp->getData_SoProyek_byPROYEK($id_proyek); if ($datSpr==TRUE) { $this->session->set_flashdata('data_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datBpry = $this->RekapGp->getData_BiayaProyek_byPROYEK($id_proyek); if ($datBpry==TRUE) { $this->session->set_flashdata('data_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $action = $this->RekapGp->delete('proyek', $id_proyek, 'ID_PROYEK'); if ($action) { $this->session->set_flashdata('success', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } } public function dataProyekBerjalan_Sales_A2($id) { // [6] $datRekap = $this->RekapGp->getData_DaftarProyek_byPROYEK($id); $datProyek = $this->RekapGp->getData_Proyek_byID($id); $datHppProyek = $this->RekapGp->getData_HppProyek_byPROYEK($id); $sumHppProyek = $this->RekapGp->getSum_HppProyek_byPROYEK($id); $datSo = $this->RekapGp->getData_SalesOrder_byPELANGGAN_bySALES_status1_forProyek($datProyek[0]['PELANGGAN_ID'],$datProyek[0]['SALES_ID']); $datSoProyek = $this->RekapGp->getData_SoProyek_byPROYEK($id); $sumSoProyek = $this->RekapGp->getSum_SoProyek_byPROYEK($id); $sumSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($id); $datBiayaProyek = $this->RekapGp->getData_BiayaProyek_byPROYEK($id); $sumBiayaProyek = $this->RekapGp->getSum_BiayaProyek_byPROYEK($id); //Detail Perhitungan Barang Proyek yang akan Keluar $no = 0; $total_hppbarang = 0; foreach ($datRekap as $dat) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0($dat['BARANG_ID']); $no2 = 0; $totkeluar = 0 ; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $key) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $key['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $key['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $key['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $key['NILAI_HQ'] / $key['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $key['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $hppsatuan = number_format($hppakhir, 2); $subtot = $hppakhir * $dat['QTY_DPR']; $hppakhirtot = number_format($subtot, 2); $total_hppbarang = $total_hppbarang + $subtot; $datRekap[$no] += ['HARGAAVG' => $hppsatuan]; $datRekap[$no++] += ['HARGATOTAVG' => $hppakhirtot]; } //List Kode Barang yang dimunculkan di Nota SO $no = 0; foreach ($datSoProyek as $key) { $sumDo = $this->RekapGp->getSum_DaftarOrder_bySO($key['SID']); $datSoProyek[$no] += ['NILAISO' => number_format($sumDo[0]['TOTAL'],2)]; $datDo = $this->RekapGp->getData_DaftarOrder_bySO($key['SID']); $datSoProyek[$no++] += ['BARANG' => $datDo]; } //Detail Perhitungan Barang SO yang sudah Keluar $noso = 0; $datHppSo = []; foreach ($datSoProyek as $keydat) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($keydat['SID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($keydat['SID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($keydat['SID']); foreach ($datDo as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_DO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $hargatotavg = $dot['QTY_IO']*$dot['HARGA_IO']; $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '1', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], 'HARGAAVG' => $dot['HARGA_IO'], 'HARGATOTAVG' => $hargatotavg ]; } } $nosub = 0; $total_hppso = 0; foreach ($datHppSo as $dat) { if ($dat['JENIS']==0) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGLHPP']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $key) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $key['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $key['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $key['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $key['NILAI_HQ'] / $key['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $key['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $hppsatuan = number_format($hppakhir, 2); $subtot = $hppakhir * $dat['QTY']; $hppakhirtot = number_format($subtot, 2); $total_hppso = $total_hppso + $subtot; $datHppSo[$nosub] += ['HARGAAVG' => $hppsatuan]; $datHppSo[$nosub] += ['HARGATOTAVG' => $hppakhirtot]; } else if ($dat['JENIS']==1) { $total_hppso = $total_hppso-$dat['HARGATOTAVG']; } $nosub++; } if ($sumHppProyek=="" OR $sumHppProyek==NULL) { $total_hpr = 0; } else { $total_hpr = $sumHppProyek[0]['TOTAL']; } if ($sumSoProyek=="" OR $sumSoProyek==NULL) { $total_spr = 0; } else { $total_spr = $sumSoProyek[0]['NILAI']; } if ($sumSprFee=="" OR $sumSprFee==NULL) { $total_sprfee = 0; } else { $total_sprfee = $sumSprFee[0]['FEE']; } if ($sumBiayaProyek=="" OR $sumBiayaProyek==NULL) { $total_bpry = 0; } else { $total_bpry = $sumBiayaProyek[0]['TOTAL']; } $total_gp = $total_spr-$total_sprfee-$total_hppso-$total_hppbarang-$total_hpr-$total_bpry; $total_spr = $total_spr-$total_sprfee; $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp proyek berjalan", 'persediaan' => $datRekap, 'hpp_proyek' => $datHppProyek, 'so' => $datSo, 'so_proyek' => $datSoProyek, 'hpp_so' => $datHppSo, 'biaya_proyek' => $datBiayaProyek, 'kode_proyek' => $datProyek[0]['KODE_PROYEK'], 'nama_pelanggan' => $datProyek[0]['NAMA_PELANGGAN'], 'id_proyek' => $id, 'total_hppbarang' => number_format($total_hppbarang,2), 'total_hpr' => number_format($total_hpr,2), 'total_spr' => number_format($total_spr,2), 'total_bpry' => number_format($total_bpry,2), 'total_gp' => number_format($total_gp,2), 'total_hppso' => number_format($total_hppso,2) ]; $this->load->view('proses/RekapGpProyek_Sales_A2', $data); } public function simpansoproyek_SA2() { // [7] $method = $this->input->post('method'); $id_spr = $this->input->post('id'); $id_proyek = $this->input->post('id_proyek'); $id_so = $this->input->post('id_so'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek==FALSE OR $datProyek[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $datSo = $this->RekapGp->getData_SalesOrder_byID($id_so); if ($datSo==FALSE OR $datSo[0]['STATUS_SO']!=1) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datSpr = $this->RekapGp->getData_SoProyek_bySO($id_so); if ($datSpr==TRUE) { $this->session->set_flashdata('so_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $input = [ 'PROYEK_ID' => $id_proyek, 'SO_ID' => $id_so, ]; $action = $this->RekapGp->create('so_proyek', $input); if ($action) { $this->session->set_flashdata('success', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } } public function hapussoproyek_SA2() { // [8] $method = $this->input->post('method'); $id_spr = $this->input->post('id_sprdel'); $datSpr = $this->RekapGp->getData_SoProyek_byID($id_spr); if ($datSpr==FALSE) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } else if ($datSpr[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $action = $this->RekapGp->delete('so_proyek', $id_spr, 'ID_SPR'); if ($action) { $this->session->set_flashdata('success', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } } public function simpanbiayaproyek_SA2() { // [9] $method = $this->input->post('method'); $id_bpry = $this->input->post('id'); $id_proyek = $this->input->post('id_proyek'); $nilai_bpry = $this->input->post('nilai_bpry'); $nama_bpry = $this->input->post('nama_bpry'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $nilai_bpry = str_replace(',', '.', $nilai_bpry); $check_nilai = is_numeric($nilai_bpry); if ($check_nilai==FALSE) { $nilai_bpry = 0; } if ($nilai_bpry<=0) { $this->session->set_flashdata('not_zero_negative', 'error'); redirect($_SERVER['HTTP_REFERER']); } $input = [ 'PROYEK_ID' => $id_proyek, 'NILAI_BPRY' => $nilai_bpry, 'NAMA_BPRY' => $nama_bpry, ]; $action = $this->RekapGp->create('biaya_proyek', $input); if ($action) { $this->session->set_flashdata('success', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } } public function ubahbiayaproyek_SA2() { // [10] $method = $this->input->post('method'); $id_bpry = $this->input->post('id_bpryed'); $nilai_bpry = $this->input->post('nilai_bpryed'); $nama_bpry = $this->input->post('nama_bpryed'); $datBpry = $this->RekapGp->getData_BiayaProyek_byID($id_bpry); if ($datBpry==FALSE) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } else if ($datBpry[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $nilai_bpry = str_replace(',', '.', $nilai_bpry); $check_nilai = is_numeric($nilai_bpry); if ($check_nilai==FALSE) { $nilai_bpry = 0; } if ($nilai_bpry<=0) { $this->session->set_flashdata('not_zero_negative', 'error'); redirect($_SERVER['HTTP_REFERER']); } $update = [ 'NILAI_BPRY' => $nilai_bpry, 'NAMA_BPRY' => $nama_bpry, ]; $action = $this->RekapGp->update('biaya_proyek', $update, 'ID_BPRY', $id_bpry); if ($action) { $this->session->set_flashdata('success', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } } public function hapusbiayaproyek_SA2() { // [11] $method = $this->input->post('method'); $id_bpry = $this->input->post('id_bprydel'); $datBpry = $this->RekapGp->getData_BiayaProyek_byID($id_bpry); if ($datBpry==FALSE) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } else if ($datBpry[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $action = $this->RekapGp->delete('biaya_proyek', $id_bpry, 'ID_BPRY'); if ($action) { $this->session->set_flashdata('success', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } } public function kunciproyek_SA2() { // [12] $method = $this->input->post('method'); $id_proyek = $this->input->post('id_proyek'); $tgl = date('Y-m-d'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek==FALSE OR $datProyek[0]['STATUS_PROYEK']=="1") { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $datSoProyek = $this->RekapGp->getData_SoProyek_byPROYEK($id_proyek); foreach ($datSoProyek as $key) { if ($key['STATUS_SO']==5) { $kode_so = $key['KODE_SO']; $this->session->set_flashdata('so_void', "$kode_so"); redirect($_SERVER['HTTP_REFERER']); } } $datDpr = $this->RekapGp->getData_DaftarProyek_byPROYEK($id_proyek); foreach ($datDpr as $key) { if ($key['TYPE_JENIS']==1) { $countSnProyek = $this->RekapGp->getCount_SnProyek_byDPR($key['ID_DPR']); if ($countSnProyek<$key['QTY_DPR']) { $this->session->set_flashdata('sn_empty_gudang', 'error'); redirect($_SERVER['HTTP_REFERER']); } } if ($key['HARGA_DPR']==NULL) { $this->session->set_flashdata('gudangproses_error', 'error'); redirect($_SERVER['HTTP_REFERER']); } } $update = [ 'STATUS_PROYEK' => '1', 'TGL_KUNCI' => $tgl ]; $action = $this->RekapGp->update('proyek', $update, 'ID_PROYEK', $id_proyek); if ($action) { $this->session->set_flashdata('data_lock', 'dikunci'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } else { $this->session->set_flashdata('failed', 'dikunci'); redirect($_SERVER['HTTP_REFERER']); } } public function dataRekapKuartal_Sales_A1() { // [13] $datKuartal = $this->RekapGp->getData_Kuartal(); $username = $this->session->userdata('username'); $id_karyawan = $this->session->userdata('id_karyawan'); if ($username=="fridho" OR $username=="ricky") { $id_karyawan = 16; $datRekap = $this->RekapGp->getData_Proyek_status1_RQNotNull($id_karyawan); $datProyek = $this->RekapGp->getData_Proyek_status1_RQNull($id_karyawan); $datRq = $this->RekapGp->getData_RekapKuartal_bySALES_statusNull0($id_karyawan); } else if ($username=="admin" OR $username=="rifka") { $datRekap = $this->RekapGp->getData_Proyek_1_RqNotNull(); $datProyek = $this->RekapGp->getData_Proyek_1_RqNull(); $datRq = $this->RekapGp->getData_RekapKuartal_bySALES_statusNull0(NULL); } else { $datRekap = $this->RekapGp->getData_Proyek_status1_RQNotNull($id_karyawan); $datProyek = $this->RekapGp->getData_Proyek_status1_RQNull($id_karyawan); $datRq = $this->RekapGp->getData_RekapKuartal_bySALES_statusNull0($id_karyawan); } $no = 0; foreach ($datRekap as $key) { $datSpr = $this->RekapGp->getSum_SoProyek_byPROYEK($key['ID_PROYEK']); $datSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($key['ID_PROYEK']); $datRekap[$no] += ['NILAI'=> number_format($datSpr[0]['NILAI'],2)]; $datRekap[$no++] += ['FEE'=> number_format($datSprFee[0]['FEE'],2)]; } $no = 0; foreach ($datRq as $key) { $dataProyek = $this->RekapGp->getData_Proyek_byRQ($key['ID_RQ']); $dataSpr = $this->RekapGp->getData_SoProyek_byRQ($key['ID_RQ']); $sumSpr = $this->RekapGp->getSum_SoProyek_byRQ($key['ID_RQ']); $sumFee = $this->RekapGp->getSum_FeeSO_byRQ($key['ID_RQ']); $sumBpry = $this->RekapGp->getSum_BiayaProyek_byRQ($key['ID_RQ']); $sumHpr = $this->RekapGp->getSum_HppProyek_byRQ($key['ID_RQ']); if ($sumSpr==FALSE) { $sumSpr = 0; } else { $sumSpr = $sumSpr[0]['TOTAL']; } if ($sumFee==FALSE) { $sumFee = 0; } else { $sumFee = $sumFee[0]['TOTAL']; } if ($sumBpry==FALSE) { $sumBpry = 0; } else { $sumBpry = $sumBpry[0]['TOTAL']; } if ($sumHpr==FALSE) { $sumHpr = 0; } else { $sumHpr = $sumHpr[0]['TOTAL']; } $total_hppbarang = 0; foreach ($dataProyek as $dat) { if ($dat['SO_ID']==NULL) { $sumDpr = $this->RekapGp->getSum_DaftarProyek_byPROYEK($dat['ID_PROYEK']); $total_hppbarang = $total_hppbarang + $sumDpr[0]['TOTAL']; } } $noso0 = 0; $noso1 = 0; $datHppSo0 = []; $datHppSo1 = []; foreach ($dataSpr as $dat) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($dat['SOID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($dat['SOID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($dat['SOID']); foreach ($datDo as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_DO'], 'TGL' => $dat['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dat['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $datHppSo1[$noso1++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dat['TGL_PENJUALAN'], 'HARGA' => $dot['HARGA_IO'], ]; } } $total_hppso0 = 0; foreach ($datHppSo0 as $dat) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGL']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $datkey) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $datkey['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $datkey['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $datkey['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $datkey['NILAI_HQ'] / $datkey['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $datkey['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $subtot = $hppakhir * $dat['QTY']; $total_hppso0 = $total_hppso0+$subtot; } $total_hppso1 = 0; foreach ($datHppSo1 as $dat) { $subtot = $dat['QTY']*$dat['HARGA']; $total_hppso1 = $total_hppso1+$subtot; } $totalNota = $sumSpr-$sumFee; $totalBiaya = $sumBpry+$sumHpr+$total_hppso0-$total_hppso1+$total_hppbarang; $totalGp = $totalNota-$totalBiaya; $datRq[$no] += ['NOTA'=> number_format($totalNota,2)]; $datRq[$no] += ['BIAYA'=> number_format($totalBiaya,2)]; $datRq[$no] += ['GP'=> number_format($totalGp,2)]; $datRq[$no++] += ['PRO'=> $dataProyek]; } $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp rekap kuartal", 'rekap' => $datRekap, 'proyek' => $datProyek, 'rq' => $datRq, 'kuartal' => $datKuartal, ]; $this->load->view('proses/RekapGpKuartal_Sales_A1', $data); } public function simpanrekap_SA1() { // [14] $method = $this->input->post('method'); $id_rq = $this->input->post('id'); $id_kuartal = $this->input->post('id_kuartal'); $proyek = $this->input->post('proyek'); $datKuartal = $this->RekapGp->getData_Kuartal_byID($id_kuartal); if ($datKuartal[0]['STATUS_KUARTAL']!=NULL) { $nama_kuartal = $datKuartal[0]['NAMA_KUARTAL']; $this->session->set_flashdata('kuartal_error', "$nama_kuartal"); redirect($_SERVER['HTTP_REFERER']); } foreach ($proyek as $key) { $datProyek = $this->RekapGp->getData_Proyek_byID($key); $kode_proyek = $datProyek[0]['KODE_PROYEK']; if ($datProyek[0]['RQ_ID']!=NULL) { $this->session->set_flashdata('proyek_error', "$kode_proyek"); redirect($_SERVER['HTTP_REFERER']); } if (strtotime($datProyek[0]['TGL_PROYEK'])strtotime($datKuartal[0]['AKHIR_KUARTAL'])) { $this->session->set_flashdata('proyek_time', "$kode_proyek"); redirect($_SERVER['HTTP_REFERER']); } } //Proses Rekap Kuartal foreach ($proyek as $key) { $datProyek = $this->RekapGp->getData_Proyek_byID($key); $datRq = $this->RekapGp->getData_RekapKuartal_bySALES_byKUARTAL_statusNull($datProyek[0]['SALES_ID'], $id_kuartal); if ($datRq==FALSE) { $input = [ 'KUARTAL_ID' => $id_kuartal, 'SALES_ID' => $datProyek[0]['SALES_ID'] ]; $action = $this->RekapGp->create('rekap_kuartal', $input); $id_rq = $this->RekapGp->getID_RQMax(); $id_rq = $id_rq[0]['ID_RQ']; } else { $id_rq = $datRq[0]['ID_RQ']; } $update = [ 'RQ_ID' => $id_rq ]; $action = $this->RekapGp->update('proyek', $update, 'ID_PROYEK', $key); } if ($action) { $this->session->set_flashdata('success', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } } public function kuncirekap_SA1() { // [15] $method = $this->input->post('method'); $id_rq = $this->input->post('id_rqlock'); $datRq = $this->RekapGp->getData_RekapKuartal_byID($id_rq); if ($datRq==FALSE OR $datRq[0]['STATUS_RQ']!=NULL) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datProyek = $this->RekapGp->getData_Proyek_byRQ($id_rq); foreach ($datProyek as $key) { $checkProyek = $this->RekapGp->getData_Proyek_bySALES_statusNull($key['SID'], $datRq[0]['AWAL_KUARTAL'], $datRq[0]['AKHIR_KUARTAL']); if ($checkProyek==TRUE) { $nama_kuartal = $datRq[0]['NAMA_KUARTAL']; $this->session->set_flashdata('proyek_periode', "$nama_kuartal"); redirect($_SERVER['HTTP_REFERER']); } } $update = [ 'STATUS_RQ' => '0' ]; $action = $this->RekapGp->update('rekap_kuartal', $update, 'ID_RQ', $id_rq); if ($action) { $this->session->set_flashdata('success', 'dikunci'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dikunci'); redirect($_SERVER['HTTP_REFERER']); } } public function excelrekap_SA1() { // [16] $id_rq = $this->input->post('id_rqprint'); $datRq = $this->RekapGp->getData_RekapKuartal_byID($id_rq); $datSpr = $this->RekapGp->getData_SoProyek_byRQ($id_rq); $no = 0; $totnota = 0; $tothpp = 0; $totgp = 0; $kode_proyek = NULL; foreach ($datSpr as $key) { $sumSo = $this->RekapGp->getSum_SoProyek_bySO($key['SOID']); $sumSoProyek = $this->RekapGp->getSum_SoProyek_byPROYEK($key['PROYEK_ID']); $sumSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($key['PROYEK_ID']); $sumBiayaProyek = $this->RekapGp->getSum_BiayaProyek_byPROYEK($key['PROYEK_ID']); $sumHppProyek = $this->RekapGp->getSum_HppProyek_byPROYEK($key['PROYEK_ID']); //$sumHppAwal1 = $this->RekapGp->getSum_HppAwalProyek_byPROYEK_status1($key['PROYEK_ID']); //$sumHppAwal2 = $this->RekapGp->getSum_HppAwalProyek_byPROYEK_status2($key['PROYEK_ID']); $datSoProyek = $this->RekapGp->getData_SoProyek_byPROYEK($key['PROYEK_ID']); $datProyek = $this->RekapGp->getData_DaftarProyek_byPROYEK($key['PROYEK_ID']); $datHppProyek = $this->RekapGp->getData_HppProyek_byPROYEK($key['PROYEK_ID']); $datBiayaProyek = $this->RekapGp->getData_BiayaProyek_byPROYEK($key['PROYEK_ID']); if ($datProyek==TRUE AND $datProyek[0]['SO_ID']==NULL) { $nodut = 0; foreach ($datProyek as $dut) { $subtotpro = $dut['QTY_DPR']*$dut['HARGA_DPR']; $datProyek[$nodut++] += ['SUBTOTPRO'=>number_format($subtotpro,2)]; } } else { $datProyek = NULL; } $total_hppbarang = 0; if ($key['POID']==NULL) { $sumDpr = $this->RekapGp->getSum_DaftarProyek_byPROYEK($key['PROYEK_ID']); $total_hppbarang = $total_hppbarang + $sumDpr[0]['TOTAL']; } $nodit = 0; foreach ($datSoProyek as $dit) { $sumDo = $this->RekapGp->getSum_DaftarOrder_bySO($dit['SO_ID']); $subSo = $sumDo[0]['TOTAL']-$dit['FEE_SO']; $datSoProyek[$nodit] += ['NILAISO' => number_format($sumDo[0]['TOTAL'],2)]; $datSoProyek[$nodit++] += ['NILAISUB' => number_format($subSo,2)]; } $noso = 0; $datHppSo = []; foreach ($datSoProyek as $dit) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($dit['SID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($dit['SID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($dit['SID']); foreach ($datDo as $dot) { $datHppSo[$noso++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'KODE' => $dot['KODE_BARANG'], 'JENIS' => "Keluar", 'QTY' => $dot['QTY_DO'], 'AWAL' => '0', 'TGL' => $dit['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo[$noso++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'KODE' => $dot['KODE_BARANG'], 'JENIS' => "Keluar", 'QTY' => $dot['QTY_IO'], 'AWAL' => '0', 'TGL' => $dit['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $datHppSo[$noso++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'KODE' => $dot['KODE_BARANG'], 'JENIS' => "Masuk", 'QTY' => $dot['QTY_IO'], 'AWAL' => $dot['HARGA_IO'], 'TGL' => $dit['TGL_PENJUALAN'], ]; } } $total_hppso = 0; $nohppso = 0; foreach ($datHppSo as $dat) { if ($dat['JENIS']=="Keluar") { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGL']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $datkey) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $datkey['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $datkey['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $datkey['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $datkey['NILAI_HQ'] / $datkey['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $datkey['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $subtot = $hppakhir * $dat['QTY']; $total_hppso = $total_hppso+$subtot; $hargater = number_format($hppakhir,2); $hargatot = number_format($subtot,2); $datHppSo[$nohppso] += ['HARGA' => $hargater]; $datHppSo[$nohppso] += ['TOTAVG'=> $hargatot]; } else if ($dat['JENIS']=="Masuk") { $subtot = $dat['QTY']*$dat['AWAL']; $total_hppso = $total_hppso-$subtot; $hargater = number_format($dat['AWAL'],2); $hargatot = number_format($subtot,2); $datHppSo[$nohppso] += ['HARGA' => $hargater]; $datHppSo[$nohppso] += ['TOTAVG'=> $hargatot]; } $nohppso++; } $nota = $sumSo[0]['TOTAL']; //$hppawal = $sumHppAwal1[0]['TOTAL']+$sumHppAwal2[0]['TOTAL']; $hppawal = 0; $hppakhir2 = $sumBiayaProyek[0]['TOTAL']+$sumHppProyek[0]['TOTAL']+$total_hppbarang+$total_hppso; $nilaisotot = $sumSoProyek[0]['NILAI']-$sumSprFee[0]['FEE']; $gp = $nilaisotot-$hppakhir2; if ($hppakhir2<=0) { $percent = "~"; } else { $percent = number_format(round((($gp/$hppakhir2)*100),2),2); $percent = "$percent%"; } $datSpr[$no] += ['NIPRO'=>$datSoProyek]; $datSpr[$no] += ['BASO'=>$datHppSo]; $datSpr[$no] += ['BAPRO'=>$datProyek]; $datSpr[$no] += ['BIPRO'=>$datHppProyek]; $datSpr[$no] += ['BILAIN'=>$datBiayaProyek]; //$datSpr[$no] += ['HPPAWAL1'=>number_format($sumHppAwal1[0]['TOTAL'],2)]; //$datSpr[$no] += ['HPPAWAL2'=>number_format($sumHppAwal2[0]['TOTAL'],2)]; //$datSpr[$no] += ['HPPAWAL'=>number_format($hppawal,2)]; $datSpr[$no] += ['HPPAWAL1'=>number_format(0,2)]; $datSpr[$no] += ['HPPAWAL2'=>number_format(0,2)]; $datSpr[$no] += ['HPPAWAL'=>number_format(0,2)]; $datSpr[$no] += ['NILAISOTOT'=>number_format($nilaisotot,2)]; $datSpr[$no] += ['BARANGSO'=>number_format($total_hppso,2)]; $datSpr[$no] += ['BARANGPR'=>number_format($total_hppbarang,2)]; $datSpr[$no] += ['BIAYAPR'=>number_format($sumHppProyek[0]['TOTAL'],2)]; $datSpr[$no] += ['BIAYALAIN'=>number_format($sumBiayaProyek[0]['TOTAL'],2)]; $datSpr[$no] += ['NOTA'=>number_format($nota,2)]; $datSpr[$no] += ['HPP'=>number_format($hppakhir2,2)]; $datSpr[$no] += ['GP'=>number_format($gp,2)]; $datSpr[$no++] += ['PERCENT'=>$percent]; if ($kode_proyek!=$key['KODE_PROYEK']) { $kode_proyek = $key['KODE_PROYEK']; $tothpp = $tothpp+$hppakhir2; $totgp = $totgp+$gp; } $totnota = $totnota+$nota; } if ($tothpp<=0) { $totpercent = "~"; } else { $totpercent = number_format(round((($totgp/$tothpp)*100),2),2); $totpercent = "$totpercent%"; } $data = [ 'title' => '', 'laporan' => $datSpr, 'sales' => $datRq[0]['NAMA_PANGGILAN_KARYAWAN'], 'nama_kuartal' => $datRq[0]['NAMA_KUARTAL'], 'awal' => $datRq[0]['AWAL'], 'akhir' => $datRq[0]['AKHIR'], 'totnota' => number_format($totnota,2), 'tothpp' => number_format($tothpp,2), 'totgp' => number_format($totgp,2), 'totpercent' => $totpercent, ]; $this->load->view('cetak/excel_rekapkuartal', $data); } public function batalrekap_SA1() { // [17] $method = $this->input->post('method'); $id_proyek = $this->input->post('id_proyekdel'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek==FALSE OR $datProyek[0]['STATUS_PROYEK']==NULL OR $datProyek[0]['RQ_ID']==NULL) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datRq = $this->RekapGp->getData_RekapKuartal_byID($datProyek[0]['RQ_ID']); if ($datRq[0]['STATUS_RQ']!=NULL) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $update = [ 'RQ_ID' => NULL ]; $action = $this->RekapGp->update('proyek', $update, 'ID_PROYEK', $id_proyek); if ($action) { $this->session->set_flashdata('success', 'dibatalkan'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dibatalkan'); redirect($_SERVER['HTTP_REFERER']); } } public function dataRekapKuartal_Sales_A2($id) { // [18] $datProyek = $this->RekapGp->getData_Proyek_byID($id); $datHppProyek = $this->RekapGp->getData_HppProyek_byPROYEK($id); $sumHppProyek = $this->RekapGp->getSum_HppProyek_byPROYEK($id); $datSo = $this->RekapGp->getData_SalesOrder_byPELANGGAN_bySALES_status1_forProyek($datProyek[0]['PELANGGAN_ID'],$datProyek[0]['SALES_ID']); $datSoProyek = $this->RekapGp->getData_SoProyek_byPROYEK($id); $sumSoProyek = $this->RekapGp->getSum_SoProyek_byPROYEK($id); $sumSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($id); $datBiayaProyek = $this->RekapGp->getData_BiayaProyek_byPROYEK($id); $sumBiayaProyek = $this->RekapGp->getSum_BiayaProyek_byPROYEK($id); if ($datProyek[0]['SO_ID']==NULL) { $datRekap = $this->RekapGp->getData_DaftarProyek_byPROYEK($id); //Detail Perhitungan Barang Proyek yang akan Keluar $no = 0; $total_hppbarang = 0; foreach ($datRekap as $dat) { $hppakhir = $dat['HARGA_DPR']; $hppsatuan = number_format($hppakhir, 2); $subtot = $dat['HARGA_DPR'] * $dat['QTY_DPR']; $hppakhirtot = number_format($subtot, 2); $total_hppbarang = $total_hppbarang + $subtot; $datRekap[$no] += ['HARGAAVG' => $hppsatuan]; $datRekap[$no++] += ['HARGATOTAVG' => $hppakhirtot]; } } else { $datRekap = NULL; $total_hppbarang = 0; } //List Kode Barang yang dimunculkan di Nota SO $no = 0; foreach ($datSoProyek as $key) { $sumDo = $this->RekapGp->getSum_DaftarOrder_bySO($key['SID']); $datSoProyek[$no] += ['NILAISO' => number_format($sumDo[0]['TOTAL'],2)]; $datDo = $this->RekapGp->getData_DaftarOrder_bySO($key['SID']); $datSoProyek[$no++] += ['BARANG' => $datDo]; } //Detail Perhitungan Barang SO yang sudah Keluar $noso = 0; $datHppSo = []; foreach ($datSoProyek as $keydat) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($keydat['SID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($keydat['SID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($keydat['SID']); foreach ($datDo as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_DO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $hargatotavg = $dot['QTY_IO']*$dot['HARGA_IO']; $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '1', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], 'HARGAAVG' => $dot['HARGA_IO'], 'HARGATOTAVG' => $hargatotavg ]; } } $nosub = 0; $total_hppso = 0; foreach ($datHppSo as $dat) { if ($dat['JENIS']==0) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGLHPP']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $key) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $key['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $key['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $key['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $key['NILAI_HQ'] / $key['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $key['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $hppsatuan = number_format($hppakhir, 2); $subtot = $hppakhir * $dat['QTY']; $hppakhirtot = number_format($subtot, 2); $total_hppso = $total_hppso + $subtot; $datHppSo[$nosub] += ['HARGAAVG' => $hppsatuan]; $datHppSo[$nosub] += ['HARGATOTAVG' => $hppakhirtot]; } else if ($dat['JENIS']==1) { $total_hppso = $total_hppso-$dat['HARGATOTAVG']; } $nosub++; } if ($sumHppProyek=="" OR $sumHppProyek==NULL) { $total_hpr = 0; } else { $total_hpr = $sumHppProyek[0]['TOTAL']; } if ($sumSoProyek=="" OR $sumSoProyek==NULL) { $total_spr = 0; } else { $total_spr = $sumSoProyek[0]['NILAI']; } if ($sumSprFee=="" OR $sumSprFee==NULL) { $total_sprfee = 0; } else { $total_sprfee = $sumSprFee[0]['FEE']; } if ($sumBiayaProyek=="" OR $sumBiayaProyek==NULL) { $total_bpry = 0; } else { $total_bpry = $sumBiayaProyek[0]['TOTAL']; } $total_gp = $total_spr-$total_sprfee-$total_hppso-$total_hppbarang-$total_hpr-$total_bpry; $total_spr = $total_spr-$total_sprfee; $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp rekap kuartal", 'persediaan' => $datRekap, 'hpp_proyek' => $datHppProyek, 'so' => $datSo, 'so_proyek' => $datSoProyek, 'hpp_so' => $datHppSo, 'biaya_proyek' => $datBiayaProyek, 'kode_proyek' => $datProyek[0]['KODE_PROYEK'], 'nama_pelanggan' => $datProyek[0]['NAMA_PELANGGAN'], 'id_proyek' => $id, 'total_hppbarang' => number_format($total_hppbarang,2), 'total_hpr' => number_format($total_hpr,2), 'total_spr' => number_format($total_spr,2), 'total_bpry' => number_format($total_bpry,2), 'total_gp' => number_format($total_gp,2), 'total_hppso' => number_format($total_hppso,2) ]; $this->load->view('proses/RekapGpKuartal_Sales_A2', $data); } public function dataRekapKuartal_Keuangan_A1() { // [19] $datRekap = $this->RekapGp->getData_RekapKuartal_bySALES_status0(); $no = 0; foreach ($datRekap as $key) { $dataProyek = $this->RekapGp->getData_Proyek_byRQ($key['ID_RQ']); $dataSpr = $this->RekapGp->getData_SoProyek_byRQ($key['ID_RQ']); $sumSpr = $this->RekapGp->getSum_SoProyek_byRQ($key['ID_RQ']); $sumFee = $this->RekapGp->getSum_FeeSO_byRQ($key['ID_RQ']); $sumBpry = $this->RekapGp->getSum_BiayaProyek_byRQ($key['ID_RQ']); $sumHpr = $this->RekapGp->getSum_HppProyek_byRQ($key['ID_RQ']); $total_hppbarang = 0; foreach ($dataProyek as $dat) { if ($dat['SO_ID']==NULL) { $sumDpr = $this->RekapGp->getSum_DaftarProyek_byPROYEK($dat['ID_PROYEK']); $total_hppbarang = $total_hppbarang + $sumDpr[0]['TOTAL']; } } $noso0 = 0; $noso1 = 0; $datHppSo0 = []; $datHppSo1 = []; foreach ($dataSpr as $dat) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($dat['SOID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($dat['SOID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($dat['SOID']); foreach ($datDo as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_DO'], 'TGL' => $dat['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo0[$noso0++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dat['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $datHppSo1[$noso1++] = [ 'BARANG_ID' => $dot['BARANG_ID'], 'QTY' => $dot['QTY_IO'], 'TGL' => $dat['TGL_PENJUALAN'], 'HARGA' => $dot['HARGA_IO'], ]; } } $total_hppso0 = 0; foreach ($datHppSo0 as $dat) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGL']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $datkey) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $datkey['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $datkey['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $datkey['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $datkey['NILAI_HQ'] / $datkey['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $datkey['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $subtot = $hppakhir * $dat['QTY']; $total_hppso0 = $total_hppso0+$subtot; } $total_hppso1 = 0; foreach ($datHppSo1 as $dat) { $subtot = $dat['QTY']*$dat['HARGA']; $total_hppso1 = $total_hppso1+$subtot; } $totalNota = $sumSpr[0]['TOTAL']-$sumFee[0]['TOTAL']; $totalBiaya = $sumBpry[0]['TOTAL']+$sumHpr[0]['TOTAL']+$total_hppso0-$total_hppso1+$total_hppbarang; $totalGp = $totalNota-$totalBiaya; $datRekap[$no] += ['NOTA'=> number_format($totalNota,2)]; $datRekap[$no] += ['BIAYA'=> number_format($totalBiaya,2)]; $datRekap[$no++] += ['GP'=> number_format($totalGp,2)]; } $username = $this->session->userdata('username'); $id_karyawan = $this->session->userdata('id_karyawan'); if ($username=="fridho" OR $username=="ricky") { $id_karyawan = 16; $datProyek = $this->RekapGp->getData_Proyek_status1_Rq0($id_karyawan); } else if ($username=="admin" OR $username=="venny" OR $username=="suvi") { $datProyek = $this->RekapGp->getData_Proyek_1_Rq0(); } else { $datProyek = $this->RekapGp->getData_Proyek_status1_Rq0($id_karyawan); } $no = 0; foreach ($datProyek as $key) { $datSpr = $this->RekapGp->getSum_SoProyek_byPROYEK($key['ID_PROYEK']); $datSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($key['ID_PROYEK']); $datProyek[$no] += ['NILAI'=> number_format($datSpr[0]['NILAI'],2)]; $datProyek[$no++] += ['FEE'=> number_format($datSprFee[0]['FEE'],2)]; } $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp kuartal selesai", 'rekap' => $datRekap, 'proyek' => $datProyek, ]; $this->load->view('proses/RekapGpKuartal_Keuangan_A1', $data); } public function revisirekap_KA1() { // [20] $method = $this->input->post('method'); $id_rq = $this->input->post('id_rqrev'); $datRq = $this->RekapGp->getData_RekapKuartal_byID($id_rq); if ($datRq==FALSE OR $datRq[0]['STATUS_RQ']==NULL OR $datRq[0]['STATUS_RQ']==1) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $update = [ 'STATUS_RQ' => NULL ]; $action = $this->RekapGp->update('rekap_kuartal', $update, 'ID_RQ', $id_rq); if ($action) { $this->session->set_flashdata('success', 'direvisi'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'direvisi'); redirect($_SERVER['HTTP_REFERER']); } } public function kuncirekap_KA1() { // [21] $method = $this->input->post('method'); $id_rq = $this->input->post('id_rqlock'); $datRq = $this->RekapGp->getData_RekapKuartal_byID($id_rq); if ($datRq==FALSE OR $datRq[0]['STATUS_RQ']!=0) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $update = [ 'STATUS_RQ' => '1' ]; $action = $this->RekapGp->update('rekap_kuartal', $update, 'ID_RQ', $id_rq); if ($action) { $this->session->set_flashdata('success', 'dikunci'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'dikunci'); redirect($_SERVER['HTTP_REFERER']); } } public function dataRekapKuartal_Keuangan_A2($id) { // [22] $datProyek = $this->RekapGp->getData_Proyek_byID($id); $datHppProyek = $this->RekapGp->getData_HppProyek_byPROYEK($id); $sumHppProyek = $this->RekapGp->getSum_HppProyek_byPROYEK($id); $datSo = $this->RekapGp->getData_SalesOrder_byPELANGGAN_bySALES_status1_SPR($datProyek[0]['PELANGGAN_ID'],$datProyek[0]['SALES_ID']); $datSoProyek = $this->RekapGp->getData_SoProyek_byPROYEK($id); $sumSoProyek = $this->RekapGp->getSum_SoProyek_byPROYEK($id); $sumSprFee = $this->RekapGp->getSum_SoProyek_byPROYEK_forFEE($id); $datBiayaProyek = $this->RekapGp->getData_BiayaProyek_byPROYEK($id); $sumBiayaProyek = $this->RekapGp->getSum_BiayaProyek_byPROYEK($id); $no = 0; foreach ($datSo as $key) { $datSpr = $this->RekapGp->getData_SoProyek_bySO($key['ID_SO']); if ($datSpr==TRUE) { $lock = 1; } else { $lock = 0; } $datSo[$no++] += ['LOCK'=> $lock]; } if ($datProyek[0]['SO_ID']==NULL) { $datRekap = $this->RekapGp->getData_DaftarProyek_byPROYEK($id); //Detail Perhitungan Barang Proyek yang akan Keluar $no = 0; $total_hppbarang = 0; foreach ($datRekap as $dat) { $hppakhir = $dat['HARGA_DPR']; $hppsatuan = number_format($hppakhir, 2); $subtot = $dat['HARGA_DPR'] * $dat['QTY_DPR']; $hppakhirtot = number_format($subtot, 2); $total_hppbarang = $total_hppbarang + $subtot; $datRekap[$no] += ['HARGAAVG' => $hppsatuan]; $datRekap[$no++] += ['HARGATOTAVG' => $hppakhirtot]; } } else { $datRekap = NULL; $total_hppbarang = 0; } //List Kode Barang yang dimunculkan di Nota SO $no = 0; foreach ($datSoProyek as $key) { $sumDo = $this->RekapGp->getSum_DaftarOrder_bySO($key['SID']); $datSoProyek[$no++] += ['NILAISO' => number_format($sumDo[0]['TOTAL'],2)]; } //Detail Perhitungan Barang SO yang sudah Keluar //Detail Perhitungan Barang SO yang sudah Keluar $noso = 0; $datHppSo = []; foreach ($datSoProyek as $keydat) { $datDo = $this->RekapGp->getData_DaftarOrder_bySO_jenisNot2($keydat['SID']); $datIo0 = $this->RekapGp->getData_TransaksiStock_bySO_jenis0($keydat['SID']); $datIo1 = $this->RekapGp->getData_TransaksiStock_bySO_jenis1($keydat['SID']); foreach ($datDo as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_DO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo0 as $dot) { $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '0', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], ]; } foreach ($datIo1 as $dot) { $hargatotavg = $dot['QTY_IO']*$dot['HARGA_IO']; $datHppSo[$noso++] = [ 'KODE_BARANG' => $dot['KODE_BARANG'], 'NAMA_BARANG' => $dot['NAMA_BARANG'], 'BARANG_ID' => $dot['BARANG_ID'], 'JENIS' => '1', 'QTY' => $dot['QTY_IO'], 'TANGGAL' => $dot['TANGGAL'], 'TGLHPP' => $keydat['TGL_PENJUALAN'], 'HARGAAVG' => $dot['HARGA_IO'], 'HARGATOTAVG' => $hargatotavg ]; } } $nosub = 0; $total_hppso = 0; foreach ($datHppSo as $dat) { if ($dat['JENIS']==0) { $datHq = $this->RekapGp->getData_HistoriKuantiti_byBARANG_MasukLebih0_beforeTGL($dat['BARANG_ID'], $dat['TGLHPP']); $totkeluar = 0; $totpersediaan = 0; $hargaavglama = 0; foreach ($datHq as $key) { //Kuantiti Sebelumnya $sumHq = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ($dat['BARANG_ID'], $key['ID_HQ']); if ($totkeluar!=$sumHq[0]['KELUAR']) { $totkeluar = $sumHq[0]['KELUAR']; $datHqLimit = $this->RekapGp->getData_HistoriKuantiti_limitHQ($dat['BARANG_ID'], $key['ID_HQ']); $limit = $this->RekapGp->getSum_HistoriKuantiti_byBARANG_byHQ1_byHQ2($dat['BARANG_ID'], $key['ID_HQ'], $datHqLimit[0]['ID_HQ']); $keluar = $limit[0]['KELUAR']; } else { $keluar = 0; $totkeluar = 0; } //Harga Per Item, DPP $harga = $key['NILAI_HQ'] / $key['MASUK_HQ']; //Nilai Total Persediaan Akhir $nilaiPersediaanKeluar = $hargaavglama * $keluar; $totpersediaan = $totpersediaan + ($harga * $key['MASUK_HQ']) - $nilaiPersediaanKeluar; $hppakhir = $totpersediaan/$sumHq[0]['TOTAL']; $hargaavglama = $hppakhir; } $hppakhir = round($hppakhir,2); $hppsatuan = number_format($hppakhir, 2); $subtot = $hppakhir * $dat['QTY']; $hppakhirtot = number_format($subtot, 2); $total_hppso = $total_hppso + $subtot; $datHppSo[$nosub] += ['HARGAAVG' => $hppsatuan]; $datHppSo[$nosub] += ['HARGATOTAVG' => $hppakhirtot]; } else if ($dat['JENIS']==1) { $total_hppso = $total_hppso-$dat['HARGATOTAVG']; } $nosub++; } if ($sumHppProyek=="" OR $sumHppProyek==NULL) { $total_hpr = 0; } else { $total_hpr = $sumHppProyek[0]['TOTAL']; } if ($sumSoProyek=="" OR $sumSoProyek==NULL) { $total_spr = 0; } else { $total_spr = $sumSoProyek[0]['NILAI']; } if ($sumSprFee=="" OR $sumSprFee==NULL) { $total_sprfee = 0; } else { $total_sprfee = $sumSprFee[0]['FEE']; } if ($sumBiayaProyek=="" OR $sumBiayaProyek==NULL) { $total_bpry = 0; } else { $total_bpry = $sumBiayaProyek[0]['TOTAL']; } $total_gp = $total_spr-$total_sprfee-$total_hppso-$total_hppbarang-$total_hpr-$total_bpry; $total_spr = $total_spr-$total_sprfee; $data = [ 'sidebar' => "menu rekapgp", 'navChild' => "rekapgp kuartal selesai", 'persediaan' => $datRekap, 'hpp_proyek' => $datHppProyek, 'so' => $datSo, 'so_proyek' => $datSoProyek, 'hpp_so' => $datHppSo, 'biaya_proyek' => $datBiayaProyek, 'kode_proyek' => $datProyek[0]['KODE_PROYEK'], 'nama_pelanggan' => $datProyek[0]['NAMA_PELANGGAN'], 'id_proyek' => $id, 'total_hppbarang' => number_format($total_hppbarang,2), 'total_hpr' => number_format($total_hpr,2), 'total_spr' => number_format($total_spr,2), 'total_bpry' => number_format($total_bpry,2), 'total_gp' => number_format($total_gp,2), 'total_hppso' => number_format($total_hppso,2) ]; $this->load->view('proses/RekapGpKuartal_Keuangan_A2', $data); } public function ubahrekap_KA1() { // [23] $method = $this->input->post('method'); $id_spr = $this->input->post('id_spred'); $id_so = $this->input->post('id_soed'); $id_proyek = $this->input->post('id_proyeked'); $datProyek = $this->RekapGp->getData_Proyek_byID($id_proyek); if ($datProyek==FALSE) { $this->session->set_flashdata('not_valid', 'error'); redirect('ManageRekapGp/dataProyekBerjalan_Sales_A1'); } $datSo = $this->RekapGp->getData_SalesOrder_byID($id_so); if ($datSo==FALSE OR $datSo[0]['STATUS_SO']!=1) { $this->session->set_flashdata('latest', 'error'); redirect($_SERVER['HTTP_REFERER']); } $datSpr = $this->RekapGp->getData_SoProyek_bySO($id_so); if ($datSpr==TRUE) { $this->session->set_flashdata('so_used', 'error'); redirect($_SERVER['HTTP_REFERER']); } $update = [ 'SO_ID' => $id_so ]; $action = $this->RekapGp->update('so_proyek', $update, 'ID_SPR', $id_spr); if ($action) { $this->session->set_flashdata('success', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('failed', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } } public function kodePraProyek() { // [24] $kk = $this->RekapGp->getKode_Proyek_Pra(); $tgl = date('y'); if (is_array($kk) || is_object($kk)) { foreach ($kk as $row) { if ($row['KODE'] == null) { return "PRA".$tgl."-0001"; } else { $str = (string) $row['KODE']; $tgl_lama = substr($str, 3, -5); if ($tgl_lama!=$tgl) { return "PRA".$tgl."-0001"; } else { $panjang = 4; $data = substr($str, 6, $panjang); $ko = (int) $data + 1; $str = (string) $ko; $panjang = 10 - strlen($str); $data = "PRA".$tgl."-0000"; $data = substr($data, 0, $panjang) . $str; return $data; } } } } } }