333 lines
11 KiB
PHP
333 lines
11 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 ManageKBPda extends CI_Controller
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('ModelCorp', 'Corp');
|
|
$this->load->model('ModelPelanggan', 'Pelanggan');
|
|
$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() {
|
|
|
|
$datPiutang = $this->Pelanggan->getDataPiutangDagang();
|
|
$datPelanggan = $this->Pelanggan->getDataPelanggan();
|
|
$datCorp = $this->Corp->getDataCorp();
|
|
$datSales = $this->Pelanggan->getDataSales();
|
|
$data = [
|
|
'sidebar' => "set data",
|
|
'navChild' => "",
|
|
'piutang' => $datPiutang,
|
|
'pelanggan' => $datPelanggan,
|
|
'corp' => $datCorp,
|
|
'sales' => $datSales
|
|
];
|
|
|
|
$this->load->view('proses/SetKBPda', $data);
|
|
}
|
|
|
|
public function kodePiutangDagang() {
|
|
$kk = $this->Pelanggan->getKodePDA();
|
|
if (is_array($kk) || is_object($kk)) {
|
|
foreach ($kk as $row) {
|
|
if ($row['KODE'] == NULL) {
|
|
return "PDA/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 = "PDA/000000";
|
|
$data = substr($data, 0, $panjang) . $str;
|
|
return $data;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function kodePenjualan() {
|
|
$kk = $this->Pelanggan->getKodePenjualan();
|
|
if (is_array($kk) || is_object($kk)) {
|
|
foreach ($kk as $row) {
|
|
if ($row['KODE'] == NULL) {
|
|
return "PJ/000001";
|
|
} else {
|
|
$str = (string) $row['KODE'];
|
|
$panjang = 6;
|
|
$data = substr($str, 3, $panjang);
|
|
|
|
$ko = (int) $data + 1;
|
|
$str = (string) $ko;
|
|
|
|
$panjang = 9 - strlen($str);
|
|
$data = "PJ/000000";
|
|
$data = substr($data, 0, $panjang) . $str;
|
|
return $data;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function save() {
|
|
$method = $this->input->post('method');
|
|
$id = $this->input->post('id_pda');
|
|
$id_pelanggan = $this->input->post('id_pelanggan');
|
|
$id_corp = $this->input->post('id_corp');
|
|
$id_sales = $this->input->post('id_sales');
|
|
$nominal_pda = $this->input->post('nominal_pda');
|
|
$po_penjualan = $this->input->post('po_penjualan');
|
|
$kode_pda = $this->kodePiutangDagang();
|
|
$kode_penjualan = $this->kodePenjualan();
|
|
$input = [
|
|
'KODE_PENJUALAN' => $kode_penjualan,
|
|
'CORP_ID' => $id_corp,
|
|
'SALES_ID' => $id_sales,
|
|
'PELANGGAN_ID' => $id_pelanggan,
|
|
'PO_PENJUALAN' => $po_penjualan,
|
|
'STATUS_PENJUALAN' => '0'
|
|
];
|
|
$action = $this->Pelanggan->create('penjualan', $input);
|
|
$id_penjualan = $this->Pelanggan->getIDPenjualan();
|
|
$id_penjualan = $id_penjualan[0]['ID_PENJUALAN'];
|
|
$input = [
|
|
'KODE_PDA' => $kode_pda,
|
|
'PENJUALAN_ID' => $id_penjualan,
|
|
'NOMINAL_PDA' => $nominal_pda,
|
|
'BLOCKCON' => '0'
|
|
];
|
|
$action = $this->Pelanggan->create('piutang_dagang', $input);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($id_pelanggan);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan+$nominal_pda;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update, 'ID_PELANGGAN',$id_pelanggan);
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($id_corp);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp+$nominal_pda;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update, 'ID_CORP',$id_corp);
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai+$nominal_pda;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('flash', 'dilakukan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('flashgagal', 'dilakukan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function edit() {
|
|
$method = $this->input->post('method');
|
|
$id_pda = $this->input->post('id_pda');
|
|
$id_corp = $this->input->post('id_corp');
|
|
$id_sales = $this->input->post('id_sales');
|
|
$id_pelanggan = $this->input->post('id_pelanggan');
|
|
$nominal_pda = $this->input->post('nominal_pdaed');
|
|
$po_penjualan = $this->input->post('po_penjualaned');
|
|
|
|
$pembanding = $this->Pelanggan->getDataPenjualan($id_pda);
|
|
$pelanggan_id = $pembanding[0]['PELANGGAN_ID'];
|
|
$corp_id = $pembanding[0]['CORP_ID'];
|
|
|
|
if ($id_pelanggan==$pelanggan_id) {
|
|
$nominal = $pembanding[0]['NOMINAL_PDA'];
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai-$nominal;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($id_pelanggan);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan-$nominal;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update, 'ID_PELANGGAN',$id_pelanggan);
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($id_corp);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp-$nominal;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update, 'ID_CORP',$id_corp);
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai+$nominal_pda;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
$id_penjualan = $this->Pelanggan->getDataPenjualan($id_pda);
|
|
$id_penjualan = $id_penjualan[0]['PENJUALAN_ID'];
|
|
$update = [
|
|
'CORP_ID' => $id_corp,
|
|
'PELANGGAN_ID' => $id_pelanggan,
|
|
'PO_PENJUALAN' => $po_penjualan
|
|
];
|
|
$action = $this->Pelanggan->update('penjualan', $update,'ID_PENJUALAN',$id_penjualan);
|
|
$update = [
|
|
'NOMINAL_PDA' => $nominal_pda
|
|
];
|
|
$action = $this->Pelanggan->update('piutang_dagang', $update,'ID_PDA',$id_pda);
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($id_corp);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp+$nominal_pda;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update,'ID_CORP',$id_corp);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($id_pelanggan);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan+$nominal_pda;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update,'ID_PELANGGAN',$id_pelanggan);
|
|
} else {
|
|
$nominal = $pembanding[0]['NOMINAL_PDA'];
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai-$nominal;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($pelanggan_id);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan-$nominal;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update, 'ID_PELANGGAN',$pelanggan_id);
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($corp_id);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp-$nominal;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update, 'ID_CORP',$corp_id);
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai+$nominal_pda;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
$id_penjualan = $this->Pelanggan->getDataPenjualan($id_pda);
|
|
$id_penjualan = $id_penjualan[0]['PENJUALAN_ID'];
|
|
$update = [
|
|
'CORP_ID' => $id_corp,
|
|
'PELANGGAN_ID' => $id_pelanggan,
|
|
'PO_PENJUALAN' => $po_penjualan
|
|
];
|
|
$action = $this->Pelanggan->update('penjualan', $update,'ID_PENJUALAN',$id_penjualan);
|
|
$update = [
|
|
'NOMINAL_PDA' => $nominal_pda
|
|
];
|
|
$action = $this->Pelanggan->update('piutang_dagang', $update,'ID_PDA',$id_pda);
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($id_corp);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp+$nominal_pda;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update,'ID_CORP',$id_corp);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($id_pelanggan);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan+$nominal_pda;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update,'ID_PELANGGAN',$id_pelanggan);
|
|
}
|
|
|
|
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 hapus() {
|
|
$id = $this->input->post('id');
|
|
|
|
//Step Ambil Data Lama
|
|
$datapiutang = $this->Pelanggan->getDataPenjualan($id);
|
|
$id_penjualan = $datapiutang[0]['PENJUALAN_ID'];
|
|
$id_pelanggan = $datapiutang[0]['PELANGGAN_ID'];
|
|
$id_corp = $datapiutang[0]['CORP_ID'];
|
|
$nominal_pda = $datapiutang[0]['NOMINAL_PDA'];
|
|
$piutang_corp = $this->Pelanggan->getDataCorp($id_corp);
|
|
$piutang_corp = $piutang_corp[0]['PIUTANG_CORP'];
|
|
$piutang_corp = $piutang_corp-$nominal_pda;
|
|
$update = [
|
|
'PIUTANG_CORP' => $piutang_corp
|
|
];
|
|
$action = $this->Pelanggan->update('corp', $update, 'ID_CORP', $id_corp);
|
|
$hutang_pelanggan = $this->Pelanggan->getDataPelanggan($id_pelanggan);
|
|
$hutang_pelanggan = $hutang_pelanggan[0]['HUTANG_PELANGGAN'];
|
|
$hutang_pelanggan = $hutang_pelanggan-$nominal_pda;
|
|
$update = [
|
|
'HUTANG_PELANGGAN' => $hutang_pelanggan
|
|
];
|
|
$action = $this->Pelanggan->update('pelanggan', $update, 'ID_PELANGGAN', $id_pelanggan);
|
|
$nilai = $this->Neraca->getDataNeraca(3);
|
|
$nilai = $nilai[0]['NILAI_NERACA'];
|
|
$nilai_neraca = $nilai-$nominal_pda;
|
|
$id_neraca = 3;
|
|
$update = [
|
|
'NILAI_NERACA' => $nilai_neraca
|
|
];
|
|
$action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca);
|
|
|
|
//Step Hapus Data
|
|
$action = $this->Pelanggan->delete('penjualan',$id_penjualan,'ID_PENJUALAN');
|
|
$action = $this->Pelanggan->delete('piutang_dagang',$id,'ID_PDA');
|
|
|
|
$this->session->set_flashdata('flash', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|