load->model('ModelDpPembelian', 'DpPembelian'); $this->load->model('ModelHutangDagang', 'Hda'); $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() { $dppembelian = $this->DpPembelian->getDataDpPembelian(); $hda = $this->Hda->getDataHutangDagangDetail(); $data = [ 'sidebar' => "menu accounting", 'navChild' => "", 'dppembelian' => $dppembelian, 'hda' => $hda ]; $this->load->view('proses/DpPembelian', $data); } //Step Two, Input Transaksi public function tambahTransaksi($id) { $transaksi = $this->DpPembelian->getDataDetailDpPembelian($id); $title = $this->DpPembelian->getTitleDPB($id); $id_supplier = $this->Hda->getDataDPB($id); $id_supplier = $id_supplier[0]['SUPPLIER_ID']; $hda = $this->Hda->getDataHutangDagangDPB($id_supplier); $data = [ 'sidebar' => "menu accounting", 'navChild' => "", 'transaksi' => $transaksi, 'id_dpb' => $id, 'title1' => $title[0]['KODE_DPB'], 'title2' => $title[0]['DEBIT'], 'title3' => $title[0]['KREDIT'], 'hda' => $hda ]; $this->load->view('proses/DetailDpPembelian', $data); } public function kodeDetailDPB() { $kk = $this->DpPembelian->getKodeDetailDPB(); if (is_array($kk) || is_object($kk)) { foreach ($kk as $row) { if ($row['KODE'] == null) { return "DDPB/000001"; } else { $str = (string) $row['KODE']; $panjang = 6; $data = substr($str, 5, $panjang); $ko = (int) $data + 1; $str = (string) $ko; $panjang = 11 - strlen($str); $data = "DDPB/000000"; $data = substr($data, 0, $panjang) . $str; return $data; } } } } public function kodeDetailHDA() { $kk = $this->DpPembelian->getKodeDetailHDA(); if (is_array($kk) || is_object($kk)) { foreach ($kk as $row) { if ($row['KODE'] == null) { return "DHDA/000001"; } else { $str = (string) $row['KODE']; $panjang = 6; $data = substr($str, 5, $panjang); $ko = (int) $data + 1; $str = (string) $ko; $panjang = 11 - strlen($str); $data = "DHDA/000000"; $data = substr($data, 0, $panjang) . $str; return $data; } } } } public function savetransaksi() { //Step Input Transaksi $method = $this->input->post('method'); $id_ddpb = $this->input->post('id'); $id_dpb = $this->input->post('id_dpb'); $id_hda = $this->input->post('id_hda'); $debit_ddpb = $this->input->post('debit_ddpb'); $kode_ddpb = $this->kodeDetailDPB(); $kode_dhda = $this->kodeDetailHDA(); $datadpb = $this->DpPembelian->getDataDpPembelian($id_dpb); $nominal_dpb = $datadpb[0]['NOMINAL_DPB']; $blockcon_dpb = $datadpb[0]['BLOCKCON']; $id_supplier = $datadpb[0]['SUPPLIER_ID']; $sisa1 = $nominal_dpb-$blockcon_dpb; $datahda = $this->DpPembelian->getDataHutangDagang($id_hda); $nominal_hda = $datahda[0]['NOMINAL_HDA']; $blockcon_hda = $datahda[0]['BLOCKCON']; $sisa2 = $nominal_hda-$blockcon_hda; if ($sisa1<$debit_ddpb) { $this->session->set_flashdata('flashdpb', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } if ($sisa2<$debit_ddpb) { $this->session->set_flashdata('flashhda', 'ditambah'); redirect($_SERVER['HTTP_REFERER']); } $input = [ 'DPB_ID' => $id_dpb, 'HDA_ID' => $id_hda, 'DEBIT_DDPB' => $debit_ddpb, 'KODE_DDPB' => $kode_ddpb ]; $action = $this->DpPembelian->create('detail_dpb', $input); $input = [ 'KODE_BUKTI' => $kode_ddpb, 'HDA_ID' => $id_hda, 'DEBIT_DHDA' => $debit_ddpb, 'KODE_DHDA' => $kode_dhda ]; $action = $this->DpPembelian->create('detail_hda', $input); //Step Ambil Data Lama $id_ddpb = $this->DpPembelian->getIDDDPB(); $id_dhda = $this->DpPembelian->getIDDHDA(); $datadpb = $this->DpPembelian->getDataDPB($id_ddpb[0]['ID_DDPB']); $blockcon_dpb = $datadpb[0]['BLOCKCON']; $blockcon_dpb = $blockcon_dpb+$debit_ddpb; $datahda = $this->DpPembelian->getDataHDA($id_dhda[0]['ID_DHDA']); $blockcon_hda = $datahda[0]['BLOCKCON']; $blockcon_hda = $blockcon_hda+$debit_ddpb; $datasupplier = $this->DpPembelian->getDataSupplier($id_supplier); $piutang_supplier = $datasupplier[0]['PIUTANG_SUPPLIER']; $saldo_supplier = $datasupplier[0]['SALDO_SUPPLIER']; $piutang_supplier = $piutang_supplier-$debit_ddpb; $saldo_supplier = $saldo_supplier-$debit_ddpb; $update = [ 'BLOCKCON' => $blockcon_dpb ]; $action = $this->DpPembelian->update('dp_pembelian', $update, 'ID_DPB', $id_dpb); $update = [ 'BLOCKCON' => $blockcon_hda ]; $action = $this->DpPembelian->update('hutang_dagang', $update, 'ID_HDA', $id_hda); $update = [ 'PIUTANG_SUPPLIER' => $piutang_supplier, 'SALDO_SUPPLIER' => $saldo_supplier ]; $action = $this->DpPembelian->update('supplier', $update, 'ID_SUPPLIER', $id_supplier); 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 resetdpb() { $id = $this->input->post('id'); //Step Reset Saldo Data Blockcon di DPB dan HDA $dataddpb = $this->DpPembelian->getDataDDPB($id); $id_dpb = $dataddpb[0]['DPB_ID']; $id_hda = $dataddpb[0]['HDA_ID']; $debit_ddpb = $dataddpb[0]['DEBIT_DDPB']; $kode_ddpb = $dataddpb[0]['KODE_DDPB']; $datadpb = $this->DpPembelian->getDpPembelian($id_dpb); $id_supplier = $datadpb[0]['SUPPLIER_ID']; $blockcon_dpb = $datadpb[0]['BLOCKCON']; $blockcon_dpb = $blockcon_dpb-$debit_ddpb; $datahda = $this->DpPembelian->getDataHutangDagang($id_hda); $blockcon_hda = $datahda[0]['BLOCKCON']; $blockcon_hda = $blockcon_hda-$debit_ddpb; $datasupplier = $this->DpPembelian->getDataSupplier($id_supplier); $piutang_supplier = $datasupplier[0]['PIUTANG_SUPPLIER']; $saldo_supplier = $datasupplier[0]['SALDO_SUPPLIER']; $piutang_supplier = $piutang_supplier+$debit_ddpb; $saldo_supplier = $saldo_supplier+$debit_ddpb; $update = [ 'BLOCKCON' => $blockcon_dpb ]; $action = $this->DpPembelian->update('dp_pembelian', $update, 'ID_DPB', $id_dpb); $update = [ 'BLOCKCON' => $blockcon_hda ]; $action = $this->DpPembelian->update('hutang_dagang', $update, 'ID_HDA', $id_hda); $update = [ 'PIUTANG_SUPPLIER' => $piutang_supplier, 'SALDO_SUPPLIER' => $saldo_supplier ]; $action = $this->DpPembelian->update('supplier', $update, 'ID_SUPPLIER', $id_supplier); //Step Hapus Data $action = $this->DpPembelian->delete('detail_dpb',$id,'ID_DDPB'); $action = $this->DpPembelian->hapusDetailHda($kode_ddpb); $this->session->set_flashdata('flash', 'direset'); redirect($_SERVER['HTTP_REFERER']); } }