|
Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/angkasapuraretail.com/public_html/application/controllers/admin/ |
Upload File : |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Pembelian extends Admin_Controller {
function __construct() {
parent::__construct();
$this->load->model('transaction_m');
}
//this is to list all homepage
public function index() {
//load view
$this->data['subview'] = 'admin/pembelian/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function request(){
if (!in_array('pembelian_request', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] =
$this->db
->select('*')
->from('transaction')
->join('warehouse', 'warehouse.id = transaction.warehouse_id')
/*->where('(transaction.transaction_status = 1) OR (transaction.transaction_status = 2) OR (transaction.transaction_status = 3) OR (transaction.transaction_status = 6)')*/
->order_by('transaction.id_transaction','DESC')
->get()
->result();
//load view
$this->data['subview'] = 'admin/pembelian_request/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function request_add(){
if (!in_array('pembelian_request', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
if($this->data['allowed'] == false) { redirect('admin/dashboard'); }
$this->data['transaction'] = $this->transaction_m->get_new();
$this->data['product'] = $this->db->select('id_products,title')->from('products')->order_by('title','ASC')->get()->result();
$this->data['warehouse'] = $this->db->select('*')->from('warehouse')->get()->result();
$this->data['count_transaction_detail'] = '';
$config = $this->transaction_m->rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
/*cek kelengkapan product request*/
$product_id = $this->input->post('id_product');
$count_product = count($product_id);
$arr_quantitas_beli = $this->input->post('quantitas_beli');
$id_unit_convertion = $this->input->post('id_unit_convertion');
foreach ($arr_quantitas_beli as $item) {
if($item != 0){
$quantitas_beli[] = $item;
}
}
if($count_product != 0){
for($a=0;$a<$count_product;$a++){
if($id_unit_convertion[$a] > 0){
if($quantitas_beli[$a] == 0){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Complete all Quantity on Product</p>');
redirect('admin/pembelian/request_add');
}
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Complete all Convertion on Product</p>');
redirect('admin/pembelian/request_add');
}
}
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">No Product Data Input</p>');
redirect('admin/pembelian/request_add');
}
/*cek kelengkapan product request*/
$lampiran_filename = '';
/*UPLOAD LAMPIRAN*/
if ($_FILES['lampiran']['size'] != 0) {
$config['upload_path'] = './uploads/lampiran/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300';
$config['max_width'] = '1100';
$config['max_height'] = '733';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('lampiran')) {
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Image Upload Error. Wrong format or size.</p>');
redirect('admin/pembelian/request_add');
}
else {
$lampiran = $this->upload->data();
$lampiran_filename = $lampiran['file_name'];
}
}
/*UPLOAD LAMPIRAN*/
/*get current transaction number*/
error_reporting(0);
$t_number = $this->db->select('no_transaksi')->from('transaction')->order_by('tgl_transaksi','DESC')->get()->row()->no_transaksi;
if($t_number == null){
$transaction_number = '1';
}
else{
$current = substr($t_number,16,4);
$transaction_number = $current + 1;
}
$no_transaksi = '#PO/SSS/'.date("m").'/'.date("Y").'/'.$transaction_number;
/*get current transaction number*/
/*buat request or save as draft*/
$submit = $this->input->post('submit');
if($submit == "Buat Request"){
$transaction_status = '3';
}
elseif($submit == "Save as Draft"){
$transaction_status = '1';
}
/*buat request or save as draft*/
$transaction = array(
'no_transaksi' => $no_transaksi,
'transaction_status' => $transaction_status,
'transaction_message' => $this->security->xss_clean($this->input->post('note')),
'transaction_file' => $lampiran_filename,
'warehouse_id' => $this->input->post('id_warehouse'),
);
$transaction_id = (int) $this->transaction_m->add_transaction($transaction);
for($a=0;$a<$count_product;$a++){
$satuan_beli_id = $this->db->select('satuan_beli_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_beli_id;
$satuan_jual_id = $this->db->select('satuan_jual_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_jual_id;
$transaction_detail = array(
'id_product' => $product_id[$a],
'id_transaction' => $transaction_id,
'kuantitas_beli' => $quantitas_beli[$a],
'satuan_beli_id' => $satuan_beli_id,
'satuan_jual_id' => $satuan_jual_id
);
$this->db->insert('transaction_detail', $transaction_detail);
}
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Input Request Success</p>');
redirect('admin/pembelian/request');
}
//load view
$this->data['subview'] = 'admin/pembelian_request/edit';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function request_edit($id_transaction){
if (!in_array('pembelian_request', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->transaction_m->get_current($id_transaction);
$this->data['product'] = $this->db->select('id_products,title')->from('products')->get()->result();
$this->data['warehouse'] = $this->db->select('*')->from('warehouse')->get()->result();
$this->data['transaction_detail'] = $this->transaction_m->get_current_detail($id_transaction);
$this->data['count_transaction_detail'] = count($this->data['transaction_detail']);
$config = $this->transaction_m->rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
/*cek warehouse_id*/
$old_warehouse = $this->data['transaction']->warehouse_id;
$new_warehouse = $this->input->post('id_warehouse');
if($old_warehouse != $new_warehouse){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">You Can`t Change The Warehouse!!</p>');
redirect('admin/pembelian/request_edit/'.$id_transaction);
}
/*cek warehouse_id*/
/*cek kelengkapan product request*/
$product_id = $this->input->post('id_product');
$count_product = count($product_id);
$arr_quantitas_beli = $this->input->post('quantitas_beli');
$id_unit_convertion = $this->input->post('id_unit_convertion');
foreach ($arr_quantitas_beli as $item) {
if($item != 0){
$quantitas_beli[] = $item;
}
}
if($count_product != 0){
for($a=0;$a<$count_product;$a++){
if($id_unit_convertion[$a] > 0){
if($quantitas_beli[$a] == 0){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Complete all Quantity on Product</p>');
redirect('admin/pembelian/request_edit/'.$id_transaction);
}
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Complete all Convertion on Product</p>');
redirect('admin/pembelian/request_edit/'.$id_transaction);
}
}
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">No Product Data Input</p>');
redirect('admin/pembelian/request_edit/'.$id_transaction);
}
/*cek kelengkapan product request*/
$lampiran_filename = $this->data['transaction']->transaction_file;
/*UPLOAD LAMPIRAN*/
if ($_FILES['lampiran']['size'] != 0) {
$config['upload_path'] = './uploads/lampiran/';
$config['allowed_types'] = 'jpg|png';
$config['max_size'] = '300';
$config['max_width'] = '1100';
$config['max_height'] = '733';
$this->load->library('upload', $config);
$this->upload->initialize($config);
if ( ! $this->upload->do_upload('lampiran')) {
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Image Upload Error. Wrong format or size.</p>');
redirect('admin/pembelian/request_edit/'.$id_transaction);
}
else {
/*NEW IMAGE UPLOADED, DELETE OLD IMAGE*/
unlink(FCPATH .'/uploads/lampiran/'. $this->data['transaction']->transaction_file);
/*NEW IMAGE UPLOADED, DELETE OLD IMAGE*/
$lampiran = $this->upload->data();
$lampiran_filename = $lampiran['file_name'];
}
}
/*UPLOAD LAMPIRAN*/
/*buat request or save as draft*/
$submit = $this->input->post('submit');
if($submit == "Buat Request"){
if($this->data['transaction']->transaction_status == 2){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/request');
}
$transaction_status = '3';
}
elseif($submit == "Save as Draft"){
if($this->data['transaction']->transaction_status == 2){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/request');
}
$transaction_status = '1';
}
/*buat request or save as draft*/
$transaction = array(
'transaction_status' => $transaction_status,
'transaction_message' => $this->security->xss_clean($this->input->post('note')),
'transaction_file' => $lampiran_filename,
'warehouse_id' => $this->input->post('id_warehouse'),
);
$this->transaction_m->edit_transaction($id_transaction,$transaction);
/*first delete old transaction_detail*/
$this->db->where('id_transaction',$id_transaction);
$this->db->delete('transaction_detail');
/*first delete old transaction_detail*/
for($a=0;$a<$count_product;$a++){
$satuan_beli_id = $this->db->select('satuan_beli_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_beli_id;
$satuan_jual_id = $this->db->select('satuan_jual_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_jual_id;
$transaction_detail = array(
'id_product' => $product_id[$a],
'id_transaction' => $id_transaction,
'kuantitas_beli' => $quantitas_beli[$a],
'satuan_beli_id' => $satuan_beli_id,
'satuan_jual_id' => $satuan_jual_id
);
$this->db->insert('transaction_detail', $transaction_detail);
}
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Edit Request Success</p>');
redirect('admin/pembelian/request');
}
//load view
$this->data['subview'] = 'admin/pembelian_request/edit';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function pemesanan(){
if (!in_array('pembelian_pemesanan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] =
$this->db
->select('*')
->from('transaction')
->where('(transaction_status = 2) OR (transaction_status = 3) OR (transaction_status = 4) OR (transaction_status = 5) OR (transaction_status = 6)')
->order_by('id_transaction','DESC')
->get()
->result();
//load view
$this->data['subview'] = 'admin/pembelian_pemesanan/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function pemesanan_detail($id_transaction){
if (!in_array('pembelian_pemesanan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$id_transaction)->get()->row();
$this->data['supplier'] = $this->db->select('*')->from('supplier')->order_by('id','ASC')->get()->result();
$this->data['syarat_pembayaran'] = $this->db->select('*')->from('syarat_pembayaran')->where('status','0')->order_by('id','ASC')->get()->result();
$this->data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
$this->data['count_transaction_detail'] = count($this->data['transaction_detail']);
$config = $this->transaction_m->pemesanan_rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
/*tabel transaction*/
if($this->security->xss_clean($this->input->post('submit')) == 'save'){
$transaction_status = '3';
if($this->data['transaction']->transaction_status != 3){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/pemesanan');
}
}
elseif($this->security->xss_clean($this->input->post('submit')) == 'ban'){
$transaction_status = '2';
if($this->data['transaction']->transaction_status != 3){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/pemesanan');
}
}
elseif($this->security->xss_clean($this->input->post('submit')) == 'approve'){
$transaction_status = '6';
if($this->data['transaction']->transaction_status != 3){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/pemesanan');
}
}
$transaction = array(
'transaction_status' => $transaction_status,
'supplier_id' => $this->security->xss_clean($this->input->post('supplier')),
'no_referensi' => $this->security->xss_clean($this->input->post('no_referensi')),
'syarat_pembayaran_id' => $this->security->xss_clean($this->input->post('syarat_pembayaran')),
'tgl_jth_tempo' => $this->security->xss_clean($this->input->post('tgl_jth_tempo')),
'sub_total' => $this->security->xss_clean($this->input->post('sub_total')),
'diskon_per_baris' => $this->security->xss_clean($this->input->post('diskon_per_baris')),
'ppn_result' => $this->security->xss_clean($this->input->post('ppn_value')),
'total' => $this->security->xss_clean($this->input->post('total')),
);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction',$transaction);
/*tabel transaction*/
/*tabel transaction detail*/
$id_unit_convertion = $this->security->xss_clean($this->input->post('id_unit_convertion'));
$quantitas_beli = $this->security->xss_clean($this->input->post('quantitas_beli'));
$harga_satuan = $this->security->xss_clean($this->input->post('harga_satuan'));
$ppn_satuan = $this->security->xss_clean($this->input->post('ppn_satuan'));
$diskon_product = $this->security->xss_clean($this->input->post('diskon_product'));
$total_product = $this->security->xss_clean($this->input->post('total_product'));
for ($a=0; $a < $this->data['count_transaction_detail'] ; $a++) {
/*get id transaction_detail*/
$id_transaction_detail = $this->data['transaction_detail'][$a]->id;
/*get id transaction_detail*/
$satuan_beli_id = $this->db->select('satuan_beli_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_beli_id;
$satuan_jual_id = $this->db->select('satuan_jual_id')->from('unit_convertion')->where('id_unit_convertion',$id_unit_convertion[$a])->get()->row()->satuan_jual_id;
$transaction_detail = array(
'kuantitas_beli' => $quantitas_beli[$a],
'satuan_beli_id' => $satuan_beli_id,
'satuan_jual_id' => $satuan_jual_id,
'harga_satuan' => $harga_satuan[$a],
'diskon_satuan' => $diskon_product[$a],
'ppn_satuan' => $ppn_satuan[$a],
'jumlah_satuan' => $total_product[$a],
);
/*update into transaction_detail*/
$this->db->where('id',$id_transaction_detail);
$this->db->update('transaction_detail',$transaction_detail);
/*update into transaction_detail*/
}
/*tabel transaction detail*/
if($this->security->xss_clean($this->input->post('submit')) == 'ban'){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Reject Pemesanan Success</p>');
redirect('admin/pembelian/pemesanan');
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Buat Pemesanan Success</p>');
redirect('admin/pembelian/pemesanan');
}
}
//load view
$this->data['subview'] = 'admin/pembelian_pemesanan/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function reject_request($id_transaction){
if (!in_array('pembelian_pemesanan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$id_transaction)->get()->row();
if($this->data['transaction']->transaction_status != 3){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/pemesanan');
}
$transaction = array(
'transaction_status' => '2',
);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction',$transaction);
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Reject Pemesanan Success</p>');
redirect('admin/pembelian/pemesanan');
}
function generate_po_pdf($id) {
error_reporting(0);
//add PDF attachment DOMPDF
//get detail po
$data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$id)->get()->row();
$data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id)->get()->result();
$data['syarat_pembayaran'] = $this->db->select('syarat_pembayaran_name')->from('syarat_pembayaran')->where('id',$data['transaction']->syarat_pembayaran_id)->get()->row()->syarat_pembayaran_name;
$data['warehouse'] = $this->db->select('*')->from('warehouse')->where('id',$data['transaction']->warehouse_id)->get()->row();
$data['warehouse_province'] = $this->db->select('province')->from('indonesia_provinces')->where('id_indonesia_provinces',$data['warehouse']->id_province)->get()->row()->province;
$data['warehouse_district'] = $this->db->select('district')->from('indonesia_districts')->where('rajaongkir_id_district',$data['warehouse']->id_district)->get()->row()->district;
$data['warehouse_subdistrict'] = $this->db->select('subdistrict')->from('indonesia_subdistricts')->where('rajaongkir_id_subdistrict',$data['warehouse']->id_subdistrict)->get()->row()->subdistrict;
$data['supplier'] = $this->db->select('*')->from('supplier')->where('id',$data['transaction']->supplier_id)->get()->row();
$data['supplier_province'] = $this->db->select('province')->from('indonesia_provinces')->where('id_indonesia_provinces',$data['supplier']->supplier_province_id)->get()->row()->province;
$data['supplier_district'] = $this->db->select('district')->from('indonesia_districts')->where('rajaongkir_id_district',$data['supplier']->supplier_district_id)->get()->row()->district;
$data['supplier_subdistrict'] = $this->db->select('subdistrict')->from('indonesia_subdistricts')->where('id_indonesia_subdistricts',$data['supplier']->supplier_subdistrict_id)->get()->row()->subdistrict;
$data['title'] = $data['transaction']->no_transaksi;
$this->db->select('logo')->from('configuration')->where('id_configuration', 1);
$data['logo'] = $this->db->get()->row()->logo;
$this->load->library('dompdf_gen');
$html= $this->load->view('pesanan_pembelian_pdf', $data ,true);
echo $html;die();
$this->dompdf->load_html($html);
$this->dompdf->render();
$this->dompdf->stream('pesanan_pembelian.pdf', array("Attachment" => 0));
$output = $this->dompdf->output();
$file_to_save = 'uploads/pdf/pesanan_pembelian.pdf';
file_put_contents($file_to_save, $output);
}
function approval(){
if (!in_array('pembelian_approval', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] =
$this->db
->select('*')
->from('transaction')
->where('(transaction_status = 4) OR (transaction_status = 5) OR (transaction_status = 6)')
->order_by('id_transaction','DESC')
->get()
->result();
if($this->security->xss_clean($this->input->post('submit')) == 'approved'){
$id_transaction = $this->security->xss_clean($this->input->post('id_transaction'));
$checked_count = count($id_transaction);
if ($id_transaction == null) {
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Not Found Transaction Checked</p>');
redirect('admin/pembelian/approval');
}
else{
/*cek transaction_status*/
for ($a=0; $a < $checked_count ; $a++) {
$current_transaction_status = $this->db->select('transaction_status')->from('transaction')->where('id_transaction',$id_transaction[$a])->get()->row()->transaction_status;
if($current_transaction_status != 6){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/approval');
}
}
/*cek transaction_status*/
$transaction_status = '5';
/*update transaction_status*/
for ($b=0; $b < $checked_count ; $b++) {
$transaction = array(
'transaction_status' => $transaction_status,
);
$this->db->where('id_transaction',$id_transaction[$b]);
$this->db->update('transaction',$transaction);
}
/*update transaction_status*/
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Multiple Approved Success</p>');
redirect('admin/pembelian/approval');
}
}
elseif($this->security->xss_clean($this->input->post('submit')) == 'rejected'){
$id_transaction = $this->security->xss_clean($this->input->post('id_transaction'));
$checked_count = count($id_transaction);
if ($id_transaction == null) {
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Not Found Transaction Checked</p>');
redirect('admin/pembelian/approval');
}
else{
/*cek transaction_status*/
for ($a=0; $a < $checked_count ; $a++) {
$current_transaction_status = $this->db->select('transaction_status')->from('transaction')->where('id_transaction',$id_transaction[$a])->get()->row()->transaction_status;
if($current_transaction_status != 6){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/approval');
}
}
/*cek transaction_status*/
$transaction_status = '4';
/*update transaction_status*/
for ($b=0; $b < $checked_count ; $b++) {
$transaction = array(
'transaction_status' => $transaction_status,
);
$this->db->where('id_transaction',$id_transaction[$b]);
$this->db->update('transaction',$transaction);
}
/*update transaction_status*/
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Multiple Rejected Success</p>');
redirect('admin/pembelian/approval');
}
}
//load view
$this->data['subview'] = 'admin/pembelian_approval/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function approval_detail($id_transaction){
if (!in_array('pembelian_approval', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$id_transaction)->get()->row();
$this->data['supplier'] = $this->db->select('*')->from('supplier')->order_by('id','ASC')->get()->result();
$this->data['syarat_pembayaran'] = $this->db->select('*')->from('syarat_pembayaran')->order_by('id','ASC')->get()->result();
$this->data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
if($this->security->xss_clean($this->input->post('submit')) == 'approved'){
$transaction_status = '5';
if($this->data['transaction']->transaction_status != 6){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/approval');
}
$transaction = array(
'transaction_status' => $transaction_status,
);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction',$transaction);
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">'.$this->data['transaction']->no_transaksi.' Approved Success</p>');
redirect('admin/pembelian/approval');
}
elseif($this->security->xss_clean($this->input->post('submit')) == 'rejected'){
$transaction_status = '4';
if($this->data['transaction']->transaction_status != 6){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/approval');
}
$transaction = array(
'transaction_status' => $transaction_status,
);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction',$transaction);
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">'.$this->data['transaction']->no_transaksi.' Rejected Success</p>');
redirect('admin/pembelian/approval');
}
//load view
$this->data['subview'] = 'admin/pembelian_approval/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function penerimaan(){
if (!in_array('pembelian_penerimaan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction_receiving')->order_by('id','DESC')->get()->result();
//load view
$this->data['subview'] = 'admin/pembelian_penerimaan/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function penerimaan_add(){
if (!in_array('pembelian_penerimaan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('transaction_status','5')->get()->result();
$config = $this->transaction_m->penerimaan_rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
$id_transaction = $this->security->xss_clean($this->input->post('id_transaction'));
/*cek transaction_status*/
$transaction_status = $this->db->select('transaction_status')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->transaction_status;
if($transaction_status != 5){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek transaction_status*/
/*get all current transaction detail*/
$current_qty_beli = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
$count_current_qty_beli = count($current_qty_beli);
/*get all current transaction detail*/
/*get all coming qty*/
$coming_qty = $this->input->post('coming_qty');
/*get all coming qty*/
/*cek submit*/
$submit = $this->input->post('submit');
if($submit == 'save'){
/*cek current save draft*/
$cek_current_save = $this->db->select('*')->from('transaction_receiving')->where('transaction_id',$id_transaction)->where('status_penerimaan','7')->get()->result();
if($cek_current_save != null){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Already Save for This Transaction, Save as Draft Failed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek current save draft*/
/*cek current closed transaction*/
$cek_current_closed = $this->db->select('*')->from('transaction_receiving')->where('transaction_id',$id_transaction)->where('status_penerimaan','9')->get()->result();
if($cek_current_closed != null){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">This Transaction Already Closed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek current closed transaction*/
$status_penerimaan = 7;
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Save as Draft Penerimaan Berhasil</p>');
}
elseif($submit == 'confirm'){
/*cek partially sent or closed*/
$cek_partially_sent = 0;
for ($a=0; $a < $count_current_qty_beli; $a++) {
if($current_qty_beli[$a]->kuantitas_beli_penerimaan != 0){
if(($coming_qty[$a]+$current_qty_beli[$a]->kuantitas_beli_penerimaan) < $current_qty_beli[$a]->kuantitas_beli){
$cek_partially_sent = $cek_partially_sent + 1;
}
}
else{
if($coming_qty[$a] < $current_qty_beli[$a]->kuantitas_beli){
$cek_partially_sent = $cek_partially_sent + 1;
}
}
}
if($cek_partially_sent > 0){
$status_penerimaan = 8;
}
else{
/*cek current closed transaction*/
$cek_current_closed = $this->db->select('*')->from('transaction_receiving')->where('transaction_id',$id_transaction)->where('status_penerimaan','9')->get()->result();
if($cek_current_closed != null){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">This Transaction Already Closed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek current closed transaction*/
$status_penerimaan = 9;
}
/*cek partially sent or closed*/
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Konfirmasi Penerimaan Berhasil</p>');
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek submit*/
/*get current transaction number*/
error_reporting(0);
$t_number = $this->db->select('no_ttb')->from('transaction_receiving')->order_by('id','DESC')->get()->row()->no_ttb;
if($t_number == null){
$transaction_number = '1';
}
else{
$current = substr($t_number,17,4);
$transaction_number = $current + 1;
}
$no_transaksi = '#TTB/SSS/'.date("m").'/'.date("Y").'/'.$transaction_number;
/*get current transaction number*/
/*insert into transaction_receiving*/
$transaction_receiving = array(
'no_ttb' => $no_transaksi,
'status_penerimaan' => $status_penerimaan,
'transaction_id' => $id_transaction,
'ongkos_pengiriman' => $this->security->xss_clean($this->input->post('ongkos_pengiriman'))
);
$transaction_receiving_id = (int) $this->transaction_m->add_transaction_receiving($transaction_receiving);
/*insert into transaction_receiving*/
/*insert into transaction_receiving_detail*/
for ($b=0; $b < $count_current_qty_beli ; $b++) {
$transaction_receiving_detail = array(
'transaction_receiving_id' => $transaction_receiving_id,
'qty_receiving' => $coming_qty[$b]
);
$this->db->insert('transaction_receiving_detail',$transaction_receiving_detail);
}
/*insert into transaction_receiving_detail*/
/*update into transaction_detail*/
if($submit == 'confirm'){
for ($c=0; $c < $count_current_qty_beli; $c++) {
if($current_qty_beli[$c]->kuantitas_beli_penerimaan != 0){
$qty_coming = $current_qty_beli[$c]->kuantitas_beli_penerimaan + $coming_qty[$c];
}
else{
$qty_coming = $coming_qty[$c];
}
$transaction_receiving_detail = array(
'kuantitas_beli_penerimaan' => $qty_coming,
);
$this->db->where('id_product',$current_qty_beli[$c]->id_product);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction_detail',$transaction_receiving_detail);
}
}
/*update into transaction_detail*/
/*update stock*/
$warehouse_id = $this->db->select('warehouse_id')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->warehouse_id;
$id_product = $this->db->select('id_product')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
$count_product_stock= count($id_product);
for ($d=0; $d < $count_product_stock; $d++) {
$current_stock = $this->db->select('stock')->from('stock')->where('id_product',$id_product[$d]->id_product)->where('warehouse_id',$warehouse_id)->get()->row()->stock;
if($current_stock != null){
$final_stock = $current_stock + $coming_qty[$d];
$final_stock1 = array(
'stock' => $final_stock,
);
$this->db->where('id_product',$id_product[$d]->id_product)->where('warehouse_id',$warehouse_id);
$this->db->update('stock',$final_stock1);
}
else{
$final_stock= $coming_qty[$d];
$final_stock1 = array(
'id_product' => $id_product[$d]->id_product,
'warehouse_id' => $warehouse_id,
'stock' => $final_stock,
);
$this->db->insert('stock',$final_stock1);
}
}
/*update stock*/
redirect('admin/pembelian/penerimaan');
}
//load view
$this->data['subview'] = 'admin/pembelian_penerimaan/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function penerimaan_detail($id_transaction_receiving){
if (!in_array('pembelian_penerimaan', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
error_reporting(0);
$this->data['current_transaction_receiving']= 'yes';
$this->data['transaction_receiving'] = $this->db->select('*')->from('transaction_receiving')->where('id',$id_transaction_receiving)->get()->row();
$this->data['transaction_receiving_detail'] = $this->db->select('*')->from('transaction_receiving_detail')->where('transaction_receiving_id',$id_transaction_receiving)->get()->result();
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$this->data['transaction_receiving']->transaction_id)->get()->row();
$this->data['supplier'] = $this->db->select('*')->from('supplier')->where('id',$this->data['transaction']->supplier_id)->get()->row();
$this->data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$this->data['transaction_receiving']->transaction_id)->get()->result();
$this->data['syarat_pembayaran'] = $this->db->select('syarat_pembayaran_name')->from('syarat_pembayaran')->where('id',$this->data['transaction']->syarat_pembayaran_id)->get()->row()->syarat_pembayaran_name;
$this->data['warehouse'] = $this->db->select('name')->from('warehouse')->where('id',$this->data['transaction']->warehouse_id)->get()->row()->name;
$config = $this->transaction_m->penerimaan_rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
$id_transaction = $this->data['transaction_receiving']->transaction_id;
/*cek transaction_status*/
$transaction_status = $this->db->select('transaction_status')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->transaction_status;
if($transaction_status != 5){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek transaction_status*/
/*get all current transaction detail*/
$current_qty_beli = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
$count_current_qty_beli = count($current_qty_beli);
/*get all current transaction detail*/
/*get all coming qty*/
$coming_qty = $this->input->post('coming_qty');
/*get all coming qty*/
/*cek submit*/
$submit = $this->input->post('submit');
if($submit == 'save'){
/*cek current closed transaction*/
$cek_current_closed = $this->db->select('*')->from('transaction_receiving')->where('transaction_id',$id_transaction)->where('status_penerimaan','9')->get()->result();
if($cek_current_closed != null){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">This Transaction Already Closed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek current closed transaction*/
$status_penerimaan = 7;
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Save as Draft Penerimaan Berhasil</p>');
}
elseif($submit == 'confirm'){
/*cek partially sent or closed*/
$cek_partially_sent = 0;
for ($a=0; $a < $count_current_qty_beli; $a++) {
if($current_qty_beli[$a]->kuantitas_beli_penerimaan != 0){
if(($coming_qty[$a]+$current_qty_beli[$a]->kuantitas_beli_penerimaan) < $current_qty_beli[$a]->kuantitas_beli){
$cek_partially_sent = $cek_partially_sent + 1;
}
}
else{
if($coming_qty[$a] < $current_qty_beli[$a]->kuantitas_beli){
$cek_partially_sent = $cek_partially_sent + 1;
}
}
}
if($cek_partially_sent > 0){
$status_penerimaan = 8;
}
else{
/*cek current closed transaction*/
$cek_current_closed = $this->db->select('*')->from('transaction_receiving')->where('transaction_id',$id_transaction)->where('status_penerimaan','9')->get()->result();
if($cek_current_closed != null){
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">This Transaction Already Closed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek current closed transaction*/
$status_penerimaan = 9;
}
/*cek partially sent or closed*/
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Konfirmasi Penerimaan Berhasil</p>');
}
else{
$this->session->set_flashdata('success', '<br>
<p style="background:red; color:white; padding:5px; font-weight:bold;">Progress Failed</p>');
redirect('admin/pembelian/penerimaan');
}
/*cek submit*/
/*update into transaction_receiving*/
$transaction_receiving = array(
'status_penerimaan' => $status_penerimaan,
'ongkos_pengiriman' => $this->security->xss_clean($this->input->post('ongkos_pengiriman'))
);
$this->db->where('id',$id_transaction_receiving);
$this->db->update('transaction_receiving',$transaction_receiving);
/*update into transaction_receiving*/
/*update into transaction_receiving_detail*/
for ($b=0; $b < $count_current_qty_beli ; $b++) {
$transaction_receiving_detail = array(
'qty_receiving' => $coming_qty[$b]
);
$this->db->where('id',$this->data['transaction_receiving_detail'][$b]->id);
$this->db->update('transaction_receiving_detail',$transaction_receiving_detail);
}
/*update into transaction_receiving_detail*/
/*update into transaction_detail*/
if($submit == 'confirm'){
for ($c=0; $c < $count_current_qty_beli; $c++) {
if($current_qty_beli[$c]->kuantitas_beli_penerimaan != 0){
$qty_coming = $current_qty_beli[$c]->kuantitas_beli_penerimaan + $coming_qty[$c];
}
else{
$qty_coming = $coming_qty[$c];
}
$transaction_receiving_detail = array(
'kuantitas_beli_penerimaan' => $qty_coming,
);
$this->db->where('id_product',$current_qty_beli[$c]->id_product);
$this->db->where('id_transaction',$id_transaction);
$this->db->update('transaction_detail',$transaction_receiving_detail);
}
}
/*update into transaction_detail*/
redirect('admin/pembelian/penerimaan');
}
//load view
$this->data['subview'] = 'admin/pembelian_penerimaan/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function faktur(){
if (!in_array('pembelian_faktur', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['transaction'] = $this->db->select('*')->from('transaction_faktur')->where('(status_faktur = 11) OR (status_faktur = 12) OR (status_faktur = 13) OR (status_faktur = 14)')->order_by('id','DESC')->get()->result();
//load view
$this->data['subview'] = 'admin/pembelian_faktur/index';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function faktur_add(){
if (!in_array('pembelian_faktur', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['no_ttb'] = $this->db->select('*')->from('transaction_receiving')->where('(status_penerimaan = 8) OR (status_penerimaan = 9)')->get()->result();
$config = $this->transaction_m->faktur_rules;
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->form_validation->set_rules($config);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == TRUE) {
$id_transaction_receiving = $this->security->xss_clean($this->input->post('id_transaction_receiving'));
/*get current transaction number*/
error_reporting(0);
$t_number = $this->db->select('no_faktur')->from('transaction_faktur')->order_by('id','DESC')->get()->row()->no_faktur;
if($t_number == null){
$transaction_number = '1';
}
else{
$current = substr($t_number,16,4);
$transaction_number = $current + 1;
}
$no_faktur = '#FP/SSS/'.date("m").'/'.date("Y").'/'.$transaction_number;
/*get current transaction number*/
$transaction_faktur = array(
'no_faktur' => $no_faktur,
'status_faktur' => '12',
'transaction_receiving_id' => $id_transaction_receiving,
'sub_total' => $this->security->xss_clean($this->input->post('sub_total')),
'diskon_per_baris' => $this->security->xss_clean($this->input->post('diskon_per_baris')),
'ppn_result' => $this->security->xss_clean($this->input->post('ppn_value')),
'total' => $this->security->xss_clean($this->input->post('total')),
'ongkos_kirim' => $this->security->xss_clean($this->input->post('ongkos_kirim')),
'sisa_tagihan' => $this->security->xss_clean($this->input->post('sisa_tagihan')),
);
$transaction_faktur_id = (int) $this->transaction_m->add_transaction_faktur($transaction_faktur);
/*update ongkos_kirim*/
$ongkos_kirim = array(
'ongkos_pengiriman' => $this->security->xss_clean($this->input->post('ongkos_kirim')),
);
$this->db->where('id',$id_transaction_receiving);
$this->db->update('transaction_receiving',$ongkos_kirim);
/*update ongkos_kirim*/
/*update status penerimaan*/
$current_status = $this->db->select('status_penerimaan')->from('transaction_receiving')->where('id',$id_transaction_receiving)->get()->row()->status_penerimaan;
if($current_status == 8){
$status_penerimaan = array(
'status_penerimaan' => 10,
);
$this->db->where('id',$id_transaction_receiving);
$this->db->update('transaction_receiving',$status_penerimaan);
}
elseif($current_status == 9){
$status_penerimaan = array(
'status_penerimaan' => 11,
);
$this->db->where('id',$id_transaction_receiving);
$this->db->update('transaction_receiving',$status_penerimaan);
}
/*update status penerimaan*/
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">New Faktur Created</p>');
redirect('admin/pembelian/faktur');
}
//load view
$this->data['subview'] = 'admin/pembelian_faktur/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function faktur_detail($id_transaction_faktur){
if (!in_array('pembelian_faktur', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$this->data['current_faktur'] = "yes";
$this->data['transaction_faktur'] = $this->db->select('*')->from('transaction_faktur')->where('id',$id_transaction_faktur)->get()->row();
$this->data['transaction_receiving'] = $this->db->select('*')->from('transaction_receiving')->where('id',$this->data['transaction_faktur']->transaction_receiving_id)->get()->row();
$this->data['transaction_receiving_detail'] = $this->db->select('*')->from('transaction_receiving_detail')->where('transaction_receiving_id',$this->data['transaction_receiving']->id)->get()->result();
$this->data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$this->data['transaction_receiving']->transaction_id)->get()->row();
$this->data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$this->data['transaction']->id_transaction)->get()->result();
$this->data['supplier'] = $this->db->select('*')->from('supplier')->where('id',$this->data['transaction']->supplier_id)->get()->row();
$this->data['syarat_pembayaran_name'] = $this->db->select('syarat_pembayaran_name')->from('syarat_pembayaran')->where('id',$this->data['transaction']->syarat_pembayaran_id)->get()->row()->syarat_pembayaran_name;
$this->data['warehouse'] = $this->db->select('name')->from('warehouse')->where('id',$this->data['transaction']->warehouse_id)->get()->row()->name;
//load view
$this->data['subview'] = 'admin/pembelian_faktur/detail';
$this->load->view('admin/templates/header', $this->data_header);
$this->load->view('admin/_layout_main', $this->data);
$this->load->view('admin/templates/footer');
}
function faktur_paid($id_transaction_faktur){
if (!in_array('pembelian_faktur', $this->data['allowed_module'])) {
$this->data['allowed'] = false;
} else {
$this->data['allowed'] = true;
}
$transaction = array(
'status_faktur' => '13',
);
$this->db->where('id',$id_transaction_faktur);
$this->db->update('transaction_faktur',$transaction);
$this->session->set_flashdata('success', '<br>
<p style="background:green; color:white; padding:5px; font-weight:bold;">Confirm Faktur Success</p>');
redirect('admin/pembelian/faktur');
}
/*ajax request*/
function ajax_get_unit_convertion(){
$id_products = (int) $this->input->post('id_product');
$data['unit_convertion'] =
$this->db
->select('*')
->from('unit_convertion')
->where('product_id',$id_products)
->get()
->result();
$this->load->view('admin/pembelian_request/ajax_get_unit_convertion', $data);
}
function ajax_get_stock(){
error_reporting(0);
$id_products = (int) $this->input->post('id_product');
$id_warehouse = (int) $this->input->post('id_warehouse');
$stock = 0;
$stocks = $this->db->select('stock')->from('stock')->where('id_product',$id_products)->where('warehouse_id',$id_warehouse)->get()->row()->stock;
if ($stocks != null) {
$stock = $stocks;
}
else{
$stock = $stock;
}
echo $stock;
}
function ajax_get_unit_convertion_result(){
error_reporting(0);
$id_uc = (int) $this->input->post('id_uc');
$qtybeli = (int) $this->input->post('qtybeli');
$konversi = $this->db->select('konversi')->from('unit_convertion')->where('id_unit_convertion',$id_uc)->get()->row()->konversi;
$hasil = $konversi * $qtybeli;
echo $hasil;
}
function ajax_get_title_sale() {
error_reporting(0);
$id_uc = (int) $this->input->post('id_uc');
$satuan_beli_id = $this->db->select('satuan_beli_id')->from('unit_convertion')->where('id_unit_convertion',$id_uc)->get()->row()->satuan_beli_id;
$name = $this->db->select('conversion')->from('conversion')->where('id_conversion',$satuan_beli_id)->get()->row()->conversion;
echo '/ '.$name;
}
/*ajax request*/
/*ajax pemesanan*/
function ajax_get_supplier_detail(){
error_reporting(0);
$id_supplier = (int) $this->input->post('id_supplier');
$address = $this->db->select('*')->from('supplier')->where('id',$id_supplier)->get()->row();
$result['address'] = $address->supplier_address;
$result['email'] = $address->supplier_email;
echo json_encode($result);
}
function ajax_set_tgl_jth_tempo(){
error_reporting(0);
$id_syarat_pembayaran = (int) $this->input->post('id_syarat_pembayaran');
$value = $this->db->select('syarat_pembayaran_value')->from('syarat_pembayaran')->where('id',$id_syarat_pembayaran)->get()->row()->syarat_pembayaran_value;
$date_now = date('Y-m-d');
$tgl_jth_tempo = date('Y-m-d', strtotime('+'.$value.' days', strtotime($date_now)));
echo $tgl_jth_tempo;
}
/*ajax pemesanan*/
/*ajax penerimaan*/
function ajax_penerimaan_get_supplier_detail(){
$id_transaction = (int) $this->input->post('id_transaction');
$id_supplier = $this->db->select('supplier_id')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->supplier_id;
$data['supplier'] = $this->db->select('*')->from('supplier')->where('id',$id_supplier)->get()->row();
$data['transaction']= $this->db->select('*')->from('transaction')->where('id_transaction',$id_transaction)->get()->row();
$data['warehouse'] = $this->db->select('name')->from('warehouse')->where('id',$data['transaction']->warehouse_id)->get()->row();
echo json_encode($data);
}
function ajax_penerimaan_get_syarat_pembayaran(){
$id_transaction = (int) $this->input->post('id_transaction');
$data['syarat_pembayaran_id'] = $this->db->select('syarat_pembayaran_id')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->syarat_pembayaran_id;
$data['syarat_pembayaran'] = $this->db->select('*')->from('syarat_pembayaran')->order_by('id','ASC')->get()->result();
$this->load->view('admin/pembelian_penerimaan/ajax_penerimaan_get_syarat_pembayaran', $data);
}
function ajax_penerimaan_get_transaction_detail(){
$id_transaction = (int) $this->input->post('id_transaction');
$data['transaction'] = $this->db->select('warehouse_id')->from('transaction')->where('id_transaction',$id_transaction)->get()->row()->warehouse_id;
$data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$id_transaction)->order_by('id','ASC')->get()->result();
$this->load->view('admin/pembelian_penerimaan/ajax_penerimaan_get_transaction_detail', $data);
}
/*ajax penerimaan*/
/*ajax faktur*/
function ajax_faktur_get_transaction(){
$id_ttb = (int) $this->input->post('id_ttb');
/*get all data transaction_receiving*/
$data['transaction_receiving'] = $this->db->select('*')->from('transaction_receiving')->where('id',$id_ttb)->get()->row();
$data['transaction_receiving_detail'] = $this->db->select('*')->from('transaction_receiving_detail')->where('transaction_receiving_id',$id_ttb)->get()->result();
/*get all data transaction_receiving*/
/*get all data transaction*/
$data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$data['transaction_receiving']->transaction_id)->get()->row();
$data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$data['transaction_receiving']->transaction_id)->get()->result();
$data['count_transaction'] = count($data['transaction_detail']);
/*get all data transaction*/
$data['supplier'] = $this->db->select('*')->from('supplier')->where('id',$data['transaction']->supplier_id)->get()->row();
$data['syarat_pembayaran'] = $this->db->select('syarat_pembayaran_name')->from('syarat_pembayaran')->where('id',$data['transaction']->syarat_pembayaran_id)->get()->row()->syarat_pembayaran_name;
$data['warehouse'] = $this->db->select('name')->from('warehouse')->where('id',$data['transaction']->warehouse_id)->get()->row()->name;
echo json_encode($data);
}
function ajax_faktur_get_transaction_detail(){
$id_ttb = (int) $this->input->post('id_ttb');
$transaction_receiving = $this->db->select('*')->from('transaction_receiving')->where('id',$id_ttb)->get()->row();
$data['transaction_receiving_detail'] = $this->db->select('*')->from('transaction_receiving_detail')->where('transaction_receiving_id',$id_ttb)->get()->result();
$data['transaction'] = $this->db->select('*')->from('transaction')->where('id_transaction',$transaction_receiving->transaction_id)->get()->row();
$data['transaction_detail'] = $this->db->select('*')->from('transaction_detail')->where('id_transaction',$data['transaction']->id_transaction)->get()->result();
$this->load->view('admin/pembelian_faktur/ajax_faktur_get_transaction_detail', $data);
}
/*ajax faktur*/
}