234 lines
7.4 KiB
PHP
234 lines
7.4 KiB
PHP
<?php
|
|
|
|
use Restserver\Libraries\REST_Controller;
|
|
|
|
defined('BASEPATH') or exit('No direct script access allowed');
|
|
require APPPATH . 'libraries/REST_Controller.php';
|
|
require APPPATH . 'libraries/Format.php';
|
|
|
|
class ManageDpPembelian extends CI_Controller
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->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']);
|
|
}
|
|
|
|
}
|