load->model('ModelPembelian', 'Pembelian'); $this->load->model('ModelNeraca', 'Neraca'); $this->load->library(['datatables', 'form_validation']); $this->form_validation->set_error_delimiters('', ''); } 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 index() { $datPembelian = $this->Pembelian->getDataPembelianHarga(); $data = [ 'sidebar' => "menu pembelian", 'navChild' => "", 'pembelian' => $datPembelian ]; $this->load->view('proses/PembelianINV', $data); } public function tambahHarga($id) { $harga = $this->Pembelian->getPembelianHarga($id); $title = $this->Pembelian->getSJPembelian($id); $nominal_hda='0'; foreach ($harga as $key) { $hutang = $key['HARGA_DB']*$key['QTY_DB']; $nominal_hda = $nominal_hda+$hutang; } $data = [ 'sidebar' => "menu pembelian", 'navChild' => "", 'harga' => $harga, 'id_pembelian' => $id, 'nominal_hda' => $nominal_hda, 'sj_pembelian' => $title[0]['SJ_PEMBELIAN'], 'inv_pembelian' => $title[0]['INV_PEMBELIAN'] ]; $this->load->view('proses/PembelianHarga', $data); } public function saveharga() { $method = $this->input->post('method'); $id_db = $this->input->post('id_db'); $harga_db = $this->input->post('harga_db'); $update = [ 'HARGA_DB' => $harga_db ]; $action = $this->Pembelian->update('daftar_beli', $update, 'ID_DB', $id_db); if ($action) { $this->session->set_flashdata('flash', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('flashgagal', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } } public function editharga() { $method = $this->input->post('method'); $id_db = $this->input->post('id_db'); $harga_db = $this->input->post('harga_dbed'); $update = [ 'HARGA_DB' => $harga_db ]; $action = $this->Pembelian->update('daftar_beli', $update, 'ID_DB', $id_db); if ($action) { $this->session->set_flashdata('flash', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('flashgagal', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } } public function invoice() { $method = $this->input->post('method'); $id_pembelian = $this->input->post('id_pembelian'); $inv_pembelian = $this->input->post('inv_pembelian'); $tgl_invbeli = $this->input->post('tgl_invbeli'); $tempo_invbeli = $this->input->post('tempo_invbeli'); $ppn_pembelian = $this->input->post('radio_ppn'); $harga = $this->Pembelian->getPembelianHarga($id_pembelian); foreach ($harga as $key) { if ($key['HARGA_DB']==NULL) { $this->session->set_flashdata('flashharga', 'diproses'); redirect($_SERVER['HTTP_REFERER']); } } $inv_pembelian = strtoupper($inv_pembelian); if ($tempo_invbeli=="") { $tempo_invbeli = '0'; $tempo_invbeli = $this->Pembelian->addTempo($tgl_invbeli,$tempo_invbeli); } else { $tempo_invbeli = $this->Pembelian->addTempo($tgl_invbeli,$tempo_invbeli); } $update = [ 'INV_PEMBELIAN' => $inv_pembelian, 'TGL_INVBELI' => $tgl_invbeli, 'TEMPO_INVBELI' => $tempo_invbeli, 'PPN_PEMBELIAN' => $ppn_pembelian ]; $action = $this->Pembelian->update('pembelian', $update, 'ID_PEMBELIAN', $id_pembelian); if ($action) { $this->session->set_flashdata('flash', 'diproses'); redirect('ManagePembelianINV'); } else { $this->session->set_flashdata('flashgagal', 'diproses'); redirect('ManagePembelianINV'); } } public function kodeHutangDagang() { $kk = $this->Pembelian->getKodeHutangDagang(); if (is_array($kk) || is_object($kk)) { foreach ($kk as $row) { if ($row['KODE'] == null) { return "HDA/000001"; } else { $str = (string) $row['KODE']; $panjang = 6; $data = substr($str, 4, $panjang); $ko = (int) $data + 1; $str = (string) $ko; $panjang = 10 - strlen($str); $data = "HDA/000000"; $data = substr($data, 0, $panjang) . $str; return $data; } } } } public function konfirmasi() { $method = $this->input->post('method'); $id_pembelian = $this->input->post('id_pembelian'); $kode_hda = $this->kodeHutangDagang(); $daftarHarga = $this->Pembelian->getDataDaftarHarga($id_pembelian); foreach ($daftarHarga as $key) { $avg_dh = $key['AVG_DH']; $global_kuantiti = $key['GLOBAL_KUANTITI']; $harga_db = $key['HARGA_DB']; $qty_db = $key['QTY_DB']; $data1 = $global_kuantiti-$qty_db; $data2 = $data1*$avg_dh; $data3 = $harga_db*$qty_db; $data4 = $data2+$data3; $data5 = $data4/$global_kuantiti; $tgl_dh = date('Y-m-d H:i:s'); $update = [ 'AVG_DH' => $data5, 'TGL_DH' => $tgl_dh ]; $action = $this->Pembelian->update('daftar_harga', $update, 'ID_DH', $key['ID_DH']); } $hda = $this->Pembelian->getPembelianHarga($id_pembelian); $tempo_invbeli = $hda[0]['TEMPO_INVBELI']; $nominal_hda='0'; foreach ($hda as $key) { $hutang = $key['HARGA_DB']*$key['QTY_DB']; $nominal_hda = $nominal_hda+$hutang; } $setdata = $this->Neraca->getSetdata_ID(); $id_setdata = $setdata[0]['SETDATA_ID']; $neraca = $this->Neraca->getDataNilaiNeraca($id_setdata,15); $nilai_neraca = $neraca[0]['NILAI_NERACA']; $id_neraca = $neraca[0]['ID_NERACA']; $nilai = $nilai_neraca+$nominal_hda; $update = [ 'NILAI_NERACA' => $nilai ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA', $id_neraca); $neraca = $this->Neraca->getDataNilaiNeraca($id_setdata,27); $nilai_neraca = $neraca[0]['NILAI_NERACA']; $id_neraca = $neraca[0]['ID_NERACA']; $nilai = $nilai_neraca+$nominal_hda; $update = [ 'NILAI_NERACA' => $nilai ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA', $id_neraca); $input = [ 'PEMBELIAN_ID' => $id_pembelian, 'NOMINAL_HDA' => $nominal_hda, 'KODE_HDA' => $kode_hda, 'TEMPO_HDA' => $tempo_invbeli, ]; $action = $this->Pembelian->create('hutang_dagang', $input); $update = [ 'STATUS_PEMBELIAN' => '1' ]; $action = $this->Pembelian->update('pembelian', $update, 'ID_PEMBELIAN', $id_pembelian); if ($action) { $this->session->set_flashdata('flash', 'diproses'); redirect('ManagePembelianINV'); } else { $this->session->set_flashdata('flashgagal', 'diproses'); redirect('ManagePembelianINV'); } } }