1221 lines
36 KiB
PHP
1221 lines
36 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 ManageKlaim extends CI_Controller
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('ModelDashboard', 'Dashboard');
|
|
$this->load->model('ModelKlaim', 'Klaim');
|
|
$this->load->library(['datatables', 'form_validation']);
|
|
$this->form_validation->set_error_delimiters('', '');
|
|
$this->Dashboard->ceklogin();
|
|
}
|
|
public function output_json($data, $encode = true)
|
|
{
|
|
if ($encode) $data = json_encode($data);
|
|
$this->output->set_content_type('application/json')->set_output($data);
|
|
}
|
|
|
|
//Controller untuk Ambil Data
|
|
public function dataAmbil_AdminSales_A1() { // [1]
|
|
$datSupplier = $this->Klaim->getData_Supplier();
|
|
$datMerk = $this->Klaim->getData_Merk();
|
|
$kondisi = $this->input->post('kondisi');
|
|
$supplier_id = $this->input->post('supplier_id');
|
|
$merk_id = $this->input->post('merk_id');
|
|
|
|
if ($kondisi==NULL) {
|
|
$title = "Belum dipilih*";
|
|
$all = 0;
|
|
$datKlaim = NULL;
|
|
$supplier_id = NULL;
|
|
$merk_id = NULL;
|
|
$tgl_awal = date('Y-m-d');
|
|
$tgl_akhir = date('Y-m-d');
|
|
} else {
|
|
$tgl_awal = $this->input->post('tgl_awal');
|
|
$tgl_akhir = $this->input->post('tgl_akhir');
|
|
$all = 1;
|
|
|
|
$dataSupplier = $this->Klaim->getData_Supplier($supplier_id);
|
|
$nama_supplier = $dataSupplier[0]['NAMA_SUPPLIER'];
|
|
$nama_kota = $dataSupplier[0]['NAMA_KOTA'];
|
|
|
|
if ($merk_id=="") {
|
|
$nama_merk = "Semua Merk";
|
|
$merk_id = NULL;
|
|
} else {
|
|
$dataMerk = $this->Klaim->getData_Merk($merk_id);
|
|
$nama_merk = $dataMerk[0]['NAMA_MERK'];
|
|
}
|
|
|
|
$title = "Supplier ($nama_supplier, $nama_kota) | Merk ($nama_merk)";
|
|
|
|
$datKlaim = $this->Klaim->getData_DaftarBeli_status1($supplier_id, $merk_id, $tgl_awal, $tgl_akhir);
|
|
|
|
$noklaim = 0;
|
|
foreach ($datKlaim as $key) {
|
|
$datSnBeli = $this->Klaim->getData_SnBeli_byDB_status1($key['ID_DB']);
|
|
|
|
$countAlready = 0;
|
|
$countCheck = 0;
|
|
$nosn = 0;
|
|
foreach ($datSnBeli as $dat) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_bySNSTOCK($dat['ID_SNSTOCK']);
|
|
if ($datSnKlaimProgram==TRUE) {
|
|
$check = 0;
|
|
$already = 1;
|
|
$color = 1;
|
|
} else {
|
|
$check = 1;
|
|
$already = 0;
|
|
$color = 0;
|
|
}
|
|
|
|
$countAlready = $countAlready + $already;
|
|
$countCheck = $countCheck + $check;
|
|
|
|
$datSnBeli[$nosn++] += ['COLOR' => $color];
|
|
}
|
|
|
|
$datKlaim[$noklaim] += ['SN' => $datSnBeli];
|
|
$datKlaim[$noklaim] += ['ALREADY' => $countAlready];
|
|
$datKlaim[$noklaim++] += ['CHECK' => $countCheck];
|
|
}
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim ambil pembelian",
|
|
'klaim' => $datKlaim,
|
|
'supplier' => $datSupplier,
|
|
'merk' => $datMerk,
|
|
'supplier_id' => $supplier_id,
|
|
'merk_id' => $merk_id,
|
|
'tgl_awal' => $tgl_awal,
|
|
'tgl_akhir' => $tgl_akhir,
|
|
'title' => $title,
|
|
'all' => $all
|
|
];
|
|
|
|
$this->load->view('proses/KlaimAmbilData_AdminSales_A1', $data);
|
|
}
|
|
|
|
public function simpandata_ASA1() { // [2]
|
|
$method = $this->input->post('method');
|
|
$barang = $this->input->post('barang');
|
|
$id_produk = $this->input->post('id_produk');
|
|
|
|
foreach ($barang as $key) {
|
|
$datSnBeli = $this->Klaim->getData_SnBeli_byDB_status1($key);
|
|
|
|
$saveIdSnkpr = [];
|
|
$ubah = 0;
|
|
$noid = 0;
|
|
foreach ($datSnBeli as $dat) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_bySNSTOCK($dat['ID_SNSTOCK']);
|
|
if ($datSnKlaimProgram==FALSE) {
|
|
$input = [
|
|
'SNSTOCK_ID' => $dat['ID_SNSTOCK'],
|
|
'NAMA_SNKPR' => $dat['NAMA_SNSTOCK']
|
|
];
|
|
$action = $this->Klaim->create('sn_klaimprogram', $input);
|
|
|
|
$id_snkpr = $this->Klaim->getID_SNKPRMax();
|
|
$id_snkpr = $id_snkpr[0]['ID_SNKPR'];
|
|
|
|
$saveIdSnkpr[$noid++] = [
|
|
'SNKPR' => $id_snkpr
|
|
];
|
|
$ubah = 1;
|
|
}
|
|
}
|
|
//Jika ada perubahan Data
|
|
if ($ubah==1) {
|
|
$datDb = $this->Klaim->getData_DaftarBeli_byDB($key);
|
|
$checkDkpr = $this->Klaim->getData_DaftarKlaimProgram_byBARANG_bySUPPLIER_byNOTA($datDb[0]['BARANG_ID'], $datDb[0]['SUPPLIER_ID'], $datDb[0]['INV_PEMBELIAN']);
|
|
if ($checkDkpr==TRUE) {
|
|
foreach ($saveIdSnkpr as $keydat) {
|
|
$update = [
|
|
'DKPR_ID' => $checkDkpr[0]['ID_DKPR']
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $keydat['SNKPR']);
|
|
}
|
|
} else {
|
|
$harga_dkpr = round(($datDb[0]['HARGA_DB']*(($datDb[0]['PPN_PEMBELIAN']+100)/100)),0);
|
|
|
|
$input = [
|
|
'PRODUK_ID' => $id_produk,
|
|
'BARANG_ID' => $datDb[0]['BARANG_ID'],
|
|
'SUPPLIER_ID' => $datDb[0]['SUPPLIER_ID'],
|
|
'TGL_DKPR' => $datDb[0]['TGL_INVBELI'],
|
|
'NOTA_DKPR' => $datDb[0]['INV_PEMBELIAN'],
|
|
'HARGA_DKPR' => $harga_dkpr,
|
|
'JENIS_DKPR' => '1'
|
|
];
|
|
$action = $this->Klaim->create('daftar_klaimprogram', $input);
|
|
|
|
$id_dkpr = $this->Klaim->getID_DKPRMax();
|
|
$id_dkpr = $id_dkpr[0]['ID_DKPR'];
|
|
|
|
foreach ($saveIdSnkpr as $keydat) {
|
|
$update = [
|
|
'DKPR_ID' => $id_dkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $keydat['SNKPR']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($ubah==1) {
|
|
$this->session->set_flashdata('success', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else if ($ubah==0) {
|
|
$this->session->set_flashdata('nochange', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function dataAmbil_AdminSales_B1() { // [3]
|
|
$datMerk = $this->Klaim->getData_Merk();
|
|
$kondisi = $this->input->post('kondisi');
|
|
$merk_id = $this->input->post('merk_id');
|
|
|
|
if ($kondisi==NULL) {
|
|
$title = "Belum dipilih*";
|
|
$all = 0;
|
|
$merk_id = NULL;
|
|
$datKlaim = NULL;
|
|
} else {
|
|
if ($merk_id=="") {
|
|
$nama_merk = "Semua Merk";
|
|
$merk_id = NULL;
|
|
} else {
|
|
$dataMerk = $this->Klaim->getData_Merk($merk_id);
|
|
$nama_merk = $dataMerk[0]['NAMA_MERK'];
|
|
}
|
|
|
|
$title = "Merk ($nama_merk)";
|
|
$all = 1;
|
|
|
|
$datKlaim = $this->Klaim->getData_TransaksiStock_jenis1($merk_id);
|
|
|
|
$noklaim = 0;
|
|
foreach ($datKlaim as $key) {
|
|
$datSnIo = $this->Klaim->getData_SnIo_byID_jenis1($key['ID_IO']);
|
|
|
|
$countAlready = 0;
|
|
$countCheck = 0;
|
|
$nosn = 0;
|
|
foreach ($datSnIo as $dat) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_bySNSTOCK($dat['ID_SNSTOCK']);
|
|
if ($datSnKlaimProgram==TRUE) {
|
|
$check = 0;
|
|
$already = 1;
|
|
$color = 1;
|
|
} else {
|
|
$check = 1;
|
|
$already = 0;
|
|
$color = 0;
|
|
}
|
|
|
|
$countAlready = $countAlready + $already;
|
|
$countCheck = $countCheck + $check;
|
|
$datSnIo[$nosn++] += ['COLOR' => $color];
|
|
}
|
|
|
|
$datKlaim[$noklaim] += ['SN' => $datSnIo];
|
|
$datKlaim[$noklaim] += ['ALREADY' => $countAlready];
|
|
$datKlaim[$noklaim++] += ['CHECK' => $countCheck];
|
|
}
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim ambil opname",
|
|
'klaim' => $datKlaim,
|
|
'merk' => $datMerk,
|
|
'merk_id' => $merk_id,
|
|
'title' => $title,
|
|
'all' => $all
|
|
];
|
|
|
|
$this->load->view('proses/KlaimAmbilData_AdminSales_B1', $data);
|
|
}
|
|
|
|
public function simpandata_ASB1() { // [4]
|
|
$method = $this->input->post('method');
|
|
$barang = $this->input->post('barang');
|
|
$id_produk = $this->input->post('id_produk');
|
|
|
|
foreach ($barang as $key) {
|
|
$datSnIo = $this->Klaim->getData_SnIo_byID_jenis1($key);
|
|
|
|
$ubah = 0;
|
|
$noid = 0;
|
|
$saveIdSnkpr = [];
|
|
foreach ($datSnIo as $dat) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_bySNSTOCK($dat['ID_SNSTOCK']);
|
|
if ($datSnKlaimProgram==FALSE) {
|
|
$input = [
|
|
'SNSTOCK_ID' => $dat['ID_SNSTOCK'],
|
|
'NAMA_SNKPR' => $dat['NAMA_SNSTOCK'],
|
|
];
|
|
$action = $this->Klaim->create('sn_klaimprogram', $input);
|
|
|
|
$id_snkpr = $this->Klaim->getID_SNKPRMax();
|
|
$id_snkpr = $id_snkpr[0]['ID_SNKPR'];
|
|
|
|
$saveIdSnkpr[$noid++] = [
|
|
'SNKPR' => $id_snkpr
|
|
];
|
|
$ubah = 1;
|
|
}
|
|
}
|
|
|
|
if ($ubah==1) {
|
|
$datIo = $this->Klaim->getData_TransaksiStock_byID($key);
|
|
$checkDkpr = $this->Klaim->getData_DaftarKlaimProgram_byBARANG_jenis0($datIo[0]['BARANG_ID']);
|
|
if ($checkDkpr==TRUE) {
|
|
foreach ($saveIdSnkpr as $keydat) {
|
|
$update = [
|
|
'DKPR_ID' => $checkDkpr[0]['ID_DKPR']
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $keydat['SNKPR']);
|
|
}
|
|
} else {
|
|
$input = [
|
|
'PRODUK_ID' => $id_produk,
|
|
'BARANG_ID' => $datIo[0]['BARANG_ID'],
|
|
'JENIS_DKPR' => '0'
|
|
];
|
|
$action = $this->Klaim->create('daftar_klaimprogram', $input);
|
|
|
|
$id_dkpr = $this->Klaim->getID_DKPRMax();
|
|
$id_dkpr = $id_dkpr[0]['ID_DKPR'];
|
|
|
|
foreach ($saveIdSnkpr as $keydat) {
|
|
$update = [
|
|
'DKPR_ID' => $id_dkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $keydat['SNKPR']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if ($ubah==1) {
|
|
$this->session->set_flashdata('success', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else if ($ubah==0) {
|
|
$this->session->set_flashdata('nochange', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
//Controller untuk Proses Data
|
|
public function dataOlah_AdminSales_A1() { // [5]
|
|
$datKlaim = $this->Klaim->getData_DaftarKlaimProgram_AmbilPembelian();
|
|
$tgl = date('d/m/Y');
|
|
|
|
$no = 0;
|
|
foreach ($datKlaim as $key) {
|
|
$countSnkpr = $this->Klaim->getCount_SnKlaimProgram_byBARANG_byDKPR($key['BARANG_ID'], $key['ID_DKPR']);
|
|
$datKlaim[$no++] += ['COUNT' => $countSnkpr];
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'tgl' => $tgl,
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_A1', $data);
|
|
}
|
|
|
|
public function dataOlah_AdminSales_A2($id) { // [5A]
|
|
$datKlaim = $this->Klaim->getData_SnKlaimProgram_byDKPR($id);
|
|
$datSupplier = $this->Klaim->getData_Supplier();
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id);
|
|
$tgl = date('d/m/Y');
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'supplier' => $datSupplier,
|
|
'kode_barang' => $datDkpr[0]['KODE_BARANG'],
|
|
'id_dkpr' => $id,
|
|
'tgl' => $tgl,
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_A2', $data);
|
|
}
|
|
|
|
public function ubahsn_ASA1() { // [6]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpred');
|
|
$id_produk = $this->input->post('id_produked');
|
|
$harga_dkpr = $this->input->post('harga_dkpred');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$harga_dkpr = str_replace(',', '.', $harga_dkpr);
|
|
|
|
$check_nilai = is_numeric($harga_dkpr);
|
|
if ($check_nilai==FALSE) {
|
|
$harga_dkpr = 0;
|
|
}
|
|
|
|
if ($harga_dkpr<0) {
|
|
$this->session->set_flashdata('not_zero_negative', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$update = [
|
|
'PRODUK_ID' => $id_produk,
|
|
'HARGA_DKPR' => $harga_dkpr
|
|
];
|
|
$action = $this->Klaim->update('daftar_klaimprogram', $update, 'ID_DKPR', $id_dkpr);
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function hapussn_ASA1() { // [7]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkprdel');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byDKPR($id_dkpr);
|
|
foreach ($datSnkpr as $key) {
|
|
$datLkpr = $this->Klaim->getData_LinkKlaimProgram_bySNKPR($key['ID_SNKPR']);
|
|
if ($datLkpr==TRUE) {
|
|
$this->session->set_flashdata('data_used', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
$action = $this->Klaim->delete('sn_klaimprogram', $id_dkpr, 'DKPR_ID');
|
|
$action = $this->Klaim->delete('daftar_klaimprogram', $id_dkpr, 'ID_DKPR');
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function pindahsn_ASA2() { // [8]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
$id_supplier = $this->input->post('id_supplier');
|
|
$nota_dkpr = $this->input->post('nota_dkpr');
|
|
$snkpr = $this->input->post('snkpr');
|
|
$tgl = date('Y-m-d');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
foreach ($snkpr as $key) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_byID($key);
|
|
if ($datSnKlaimProgram==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
$nota_dkpr = strtoupper($nota_dkpr);
|
|
|
|
$checkDkpr = $this->Klaim->getData_DaftarKlaimProgram_byBARANG_bySUPPLIER_byNOTA($datDkpr[0]['BARANG_ID'], $id_supplier, $nota_dkpr);
|
|
if ($checkDkpr==TRUE) {
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'DKPR_ID' => $checkDkpr[0]['ID_DKPR']
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
} else {
|
|
$input = [
|
|
'SUPPLIER_ID' => $id_supplier,
|
|
'PRODUK_ID' => $datDkpr[0]['PRODUK_ID'],
|
|
'BARANG_ID' => $datDkpr[0]['BARANG_ID'],
|
|
'TGL_DKPR' => $tgl,
|
|
'NOTA_DKPR' => $nota_dkpr,
|
|
'HARGA_DKPR' => '0',
|
|
'JENIS_DKPR' => '1',
|
|
];
|
|
$action = $this->Klaim->create('daftar_klaimprogram', $input);
|
|
|
|
$id_dkpr = $this->Klaim->getID_DKPRMax();
|
|
$id_dkpr = $id_dkpr[0]['ID_DKPR'];
|
|
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'DKPR_ID' => $id_dkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'diproses');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'diproses');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function dataOlah_AdminSales_B1() { // [9]
|
|
$datKlaim = $this->Klaim->getData_DaftarKlaimProgram_AmbilOpname();
|
|
$tgl = date('d/m/Y');
|
|
|
|
$no = 0;
|
|
foreach ($datKlaim as $key) {
|
|
$countSnkpr = $this->Klaim->getCount_SnKlaimProgram_byBARANG_byDKPR($key['BARANG_ID'], $key['ID_DKPR']);
|
|
$datKlaim[$no++] += ['COUNT' => $countSnkpr];
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'tgl' => $tgl,
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_B1', $data);
|
|
}
|
|
|
|
public function dataOlah_AdminSales_B2($id) { // [9A]
|
|
$datKlaim = $this->Klaim->getData_SnKlaimProgram_byDKPR($id);
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id);
|
|
$datSupplier = $this->Klaim->getData_Supplier();
|
|
$tgl = date('d/m/Y');
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'kode_barang' => $datDkpr[0]['KODE_BARANG'],
|
|
'supplier' => $datSupplier,
|
|
'tgl' => $tgl,
|
|
'id_dkpr' => $id,
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_B2', $data);
|
|
}
|
|
|
|
public function pindahsn_ASB2() { // [10]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
$id_supplier = $this->input->post('id_supplier');
|
|
$nota_dkpr = $this->input->post('nota_dkpr');
|
|
$snkpr = $this->input->post('snkpr');
|
|
$tgl = date('Y-m-d');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
foreach ($snkpr as $key) {
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_byID($key);
|
|
if ($datSnKlaimProgram==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
$nota_dkpr = strtoupper($nota_dkpr);
|
|
|
|
$checkDkpr = $this->Klaim->getData_DaftarKlaimProgram_byBARANG_bySUPPLIER_byNOTA($datDkpr[0]['BARANG_ID'], $id_supplier, $nota_dkpr);
|
|
if ($checkDkpr==TRUE) {
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'DKPR_ID' => $checkDkpr[0]['ID_DKPR']
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
} else {
|
|
$input = [
|
|
'SUPPLIER_ID' => $id_supplier,
|
|
'PRODUK_ID' => $datDkpr[0]['PRODUK_ID'],
|
|
'BARANG_ID' => $datDkpr[0]['BARANG_ID'],
|
|
'TGL_DKPR' => $tgl,
|
|
'NOTA_DKPR' => $nota_dkpr,
|
|
'HARGA_DKPR' => '0',
|
|
'JENIS_DKPR' => '1',
|
|
];
|
|
$action = $this->Klaim->create('daftar_klaimprogram', $input);
|
|
|
|
$id_dkpr = $this->Klaim->getID_DKPRMax();
|
|
$id_dkpr = $id_dkpr[0]['ID_DKPR'];
|
|
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'DKPR_ID' => $id_dkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'diproses');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'diproses');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function hapussn_ASB1() { // [11]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkprdel');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byDKPR($id_dkpr);
|
|
foreach ($datSnkpr as $key) {
|
|
$datLkpr = $this->Klaim->getData_LinkKlaimProgram_bySNKPR($key['ID_SNKPR']);
|
|
if ($datLkpr==TRUE) {
|
|
$this->session->set_flashdata('data_used', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
$action = $this->Klaim->delete('sn_klaimprogram', $id_dkpr, 'DKPR_ID');
|
|
$action = $this->Klaim->delete('daftar_klaimprogram', $id_dkpr, 'ID_DKPR');
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function dataOlah_AdminSales_C1() { // [12]
|
|
$datKlaim = $this->Klaim->getData_DaftarKlaimProgram_AmbilSemua();
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_kunciNotNull();
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_forRedirect();
|
|
$tgl = date('d/m/Y');
|
|
|
|
$no = 0;
|
|
foreach ($datKlaim as $key) {
|
|
$countSnkpr = $this->Klaim->getCount_SnKlaimProgram_byBARANG_byDKPR($key['BARANG_ID'], $key['ID_DKPR']);
|
|
$countSnkprNotNull = $this->Klaim->getCount_SnKlaimProgram_byBARANG_byDKPR_NotNull($key['BARANG_ID'], $key['ID_DKPR']);
|
|
|
|
$datKlaim[$no] += ['NOTNULL' => $countSnkprNotNull];
|
|
$datKlaim[$no++] += ['COUNT' => $countSnkpr];
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'dkpr' => $datDkpr,
|
|
'snkpr' => $datSnkpr,
|
|
'tgl' => $tgl,
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_C1', $data);
|
|
}
|
|
|
|
public function kunciklaim_ASC1() { // [25]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE OR $datDkpr[0]['KUNCI_DKPR']!=NULL) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$update = [
|
|
'KUNCI_DKPR' => '1'
|
|
];
|
|
$action = $this->Klaim->update('daftar_klaimprogram', $update, 'ID_DKPR', $id_dkpr);
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dikunci');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dikunci');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function tarikulang_ASC1() { // [26]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDkpr==FALSE OR $datDkpr[0]['KUNCI_DKPR']==NULL) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$update = [
|
|
'KUNCI_DKPR' => NULL
|
|
];
|
|
$action = $this->Klaim->update('daftar_klaimprogram', $update, 'ID_DKPR', $id_dkpr);
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dikembalikan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dikembalikan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function dataOlah_AdminSales_C2($id) { // [13]
|
|
$datKlaim = $this->Klaim->getData_SnKlaimProgram_byDKPR($id);
|
|
$datPelanggan = $this->Klaim->getData_Pelanggan_byID();
|
|
$datProgram = $this->Klaim->getData_Program();
|
|
$datSnKpr = $this->Klaim->getData_SnKlaimProgram_byDKPR_status0($id);
|
|
$datDkpr = $this->Klaim->getData_DaftarKlaimProgram_byID($id);
|
|
$datPkpr = $this->Klaim->getData_PotonganKlaimProgram_byDKPR_groupPKPR($id);
|
|
$tgl = date('Y-m-d');
|
|
|
|
$no = 0;
|
|
foreach ($datKlaim as $key) {
|
|
//Histori SN
|
|
$datHsn = $this->Klaim->getData_HistoriSn_bySNKPR($key['ID_SNKPR']);
|
|
if ($datHsn==TRUE) {
|
|
$datHsnID = $this->Klaim->getData_HistoriSn_byID($datHsn[0]['ID_HSN']);
|
|
if (strlen($datHsnID[0]['NAMA_PELANGGAN'])>=25) {
|
|
$nama_pelanggan = substr($datHsnID[0]['NAMA_PELANGGAN'],0,25);
|
|
$nama_pelanggan = "$nama_pelanggan...";
|
|
} else {
|
|
$nama_pelanggan = $datHsnID[0]['NAMA_PELANGGAN'];
|
|
}
|
|
|
|
$datKlaim[$no] += ['NAPEL' => $nama_pelanggan];
|
|
$datKlaim[$no] += ['TANGGAL' => $datHsnID[0]['TANGGAL']];
|
|
} else {
|
|
$datKlaim[$no] += ['NAPEL' => NULL];
|
|
$datKlaim[$no] += ['TANGGAL' => NULL];
|
|
}
|
|
//Link Klaim Program
|
|
$datLinkKpr = $this->Klaim->getData_LinkKlaimProgram_bySNKPR($key['ID_SNKPR']);
|
|
$nolink = 0;
|
|
foreach ($datLinkKpr as $dat) {
|
|
if ($dat['PROGRAM_ID']==1) {
|
|
$nolink++;
|
|
}
|
|
}
|
|
|
|
if ($nolink>0) { $lockopt = 1; } else { $lockopt = 0; }
|
|
|
|
$datKlaim[$no] += ['LOCKOPT' => $lockopt];
|
|
$datKlaim[$no++] += ['LINK' => $datLinkKpr];
|
|
}
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses olah",
|
|
'klaim' => $datKlaim,
|
|
'pelanggan' => $datPelanggan,
|
|
'program' => $datProgram,
|
|
'snkpr' => $datSnKpr,
|
|
'pkpr' => $datPkpr,
|
|
'tgl' => $tgl,
|
|
'id_dkpr' => $id,
|
|
'kode_barang' => $datDkpr[0]['KODE_BARANG'],
|
|
'nama_barang' => $datDkpr[0]['NAMA_BARANG'],
|
|
'nama_supplier' => $datDkpr[0]['NAMA_SUPPLIER'],
|
|
'nama_kota' => $datDkpr[0]['NAMA_KOTA'],
|
|
'nota_dkpr' => $datDkpr[0]['NOTA_DKPR'],
|
|
'tgl_dkpr' => $datDkpr[0]['TANGGAL'],
|
|
];
|
|
$this->load->view('proses/KlaimOlahData_AdminSales_C2', $data);
|
|
}
|
|
|
|
public function tambahprogram_ASC2() { // [14]
|
|
$method = $this->input->post('method');
|
|
$id_lkpr = $this->input->post('id');
|
|
$id_program = $this->input->post('id_program');
|
|
$snkpr = $this->input->post('snkpr');
|
|
$nama_pkpr = $this->input->post('nama_pkpr');
|
|
$nilai_pkpr = $this->input->post('nilai_pkpr');
|
|
|
|
foreach ($snkpr as $key) {
|
|
$datSnKpr = $this->Klaim->getData_SnKlaimProgram_byID($key);
|
|
if ($datSnKpr[0]['STATUS_SNKPR']!=0) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
$nama_pkpr = preg_replace('/\R+/', " " , $nama_pkpr);
|
|
|
|
$nilai_pkpr = str_replace(',', '.', $nilai_pkpr);
|
|
|
|
$check_nilai = is_numeric($nilai_pkpr);
|
|
if ($check_nilai==FALSE) {
|
|
$nilai_pkpr = 0;
|
|
}
|
|
|
|
if ($nilai_pkpr<0) {
|
|
$this->session->set_flashdata('not_zero_negative', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datPkpr = $this->Klaim->getData_PotonganKlaimProgram_byNAMA_byNILAI($nama_pkpr, $nilai_pkpr);
|
|
if ($datPkpr==TRUE) {
|
|
$id_pkpr = $datPkpr[0]['ID_PKPR'];
|
|
} else {
|
|
$input = [
|
|
'NAMA_PKPR' => $nama_pkpr,
|
|
'NILAI_PKPR' => $nilai_pkpr
|
|
];
|
|
$action = $this->Klaim->create('potongan_klaimprogram', $input);
|
|
|
|
$id_pkpr = $this->Klaim->getID_PKPRMax();
|
|
$id_pkpr = $id_pkpr[0]['ID_PKPR'];
|
|
}
|
|
|
|
foreach ($snkpr as $key) {
|
|
$input = [
|
|
'PROGRAM_ID' => $id_program,
|
|
'SNKPR_ID' => $key,
|
|
'PKPR_ID' => $id_pkpr
|
|
];
|
|
$action = $this->Klaim->create('link_klaimprogram', $input);
|
|
|
|
if ($id_program==1) {
|
|
$update = [
|
|
'STATUS_SNKPR' => '1'
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'ditambah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function ubahstatus_ASC2() { // [15]
|
|
$method = $this->input->post('method');
|
|
$status_snkpr = $this->input->post('status_snkpr');
|
|
$snkpr = $this->input->post('snkprall');
|
|
|
|
foreach ($snkpr as $key) {
|
|
$datSnKpr = $this->Klaim->getData_SnKlaimProgram_byID($key);
|
|
if ($datSnKpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
if ($status_snkpr==9) {
|
|
$status_snkpr = 0;
|
|
}
|
|
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'STATUS_SNKPR' => $status_snkpr,
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function resetprogram_ASC2() { // [16]
|
|
$method = $this->input->post('method');
|
|
$id_snkpr = $this->input->post('id_snkpr');
|
|
$id_lkpr = $this->input->post('id_lkpr');
|
|
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byID($id_snkpr);
|
|
if ($datSnkpr[0]['STATUS_SNKPR']==2 OR $datSnkpr[0]['STATUS_SNKPR']==3) {
|
|
$this->session->set_flashdata('status_error', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datLkpr = $this->Klaim->getData_LinkKlaimProgram_byID($id_lkpr);
|
|
if ($datLkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
if ($datLkpr[0]['PROGRAM_ID']==1) {
|
|
$update = [
|
|
'STATUS_SNKPR' => NULL
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $id_snkpr);
|
|
}
|
|
|
|
$action = $this->Klaim->delete('link_klaimprogram', $id_lkpr, 'ID_LKPR');
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'direset');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'direset');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function hapussn_ASC2() { // [17]
|
|
$method = $this->input->post('method');
|
|
$id_snkpr = $this->input->post('id_snkpr');
|
|
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byID($id_snkpr);
|
|
if ($datSnkpr[0]['STATUS_SNKPR']!=0) {
|
|
$this->session->set_flashdata('data_used', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datLkpr = $this->Klaim->getData_LinkKlaimProgram_bySNKPR($id_snkpr);
|
|
if ($datLkpr==TRUE) {
|
|
$this->session->set_flashdata('data_used', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$action = $this->Klaim->delete('sn_klaimprogram', $id_snkpr, 'ID_SNKPR');
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function hapusmassal_ASC2() { // [18]
|
|
$method = $this->input->post('method');
|
|
$snkpr = $this->input->post('snkprhapus');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
|
|
$datSnKlaimProgram = $this->Klaim->getData_SnKlaimProgram_byDKPR_NULL($id_dkpr);
|
|
foreach ($datSnKlaimProgram as $key) {
|
|
if ($key['STATUS_SNKPR']!=NULL) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$datLinkKpr = $this->Klaim->getData_LinkKlaimProgram_bySNKPR($key['ID_SNKPR']);
|
|
if ($datLinkKpr==TRUE) {
|
|
$this->session->set_flashdata('data_used', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
if ($snkpr!=NULL) {
|
|
$no = 0;
|
|
foreach ($datSnKlaimProgram as $key) {
|
|
$snstay = 0;
|
|
foreach ($snkpr as $dat) {
|
|
if ($dat==$key['ID_SNKPR']) {
|
|
$snstay++;
|
|
}
|
|
|
|
if ($snstay>0) {
|
|
$sta = 1;
|
|
} else {
|
|
$sta = 0;
|
|
}
|
|
}
|
|
|
|
$datSnKlaimProgram[$no++] += ['STAY' => $sta];
|
|
}
|
|
|
|
foreach ($datSnKlaimProgram as $key) {
|
|
if ($key['STAY']==0) {
|
|
$action = $this->Klaim->delete('sn_klaimprogram', $key, 'ID_SNKPR');
|
|
}
|
|
}
|
|
} else {
|
|
foreach ($datSnKlaimProgram as $key) {
|
|
$action = $this->Klaim->delete('sn_klaimprogram', $key, 'ID_SNKPR');
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('data_lock', 'dihapus');
|
|
redirect('ManageKlaim/dataOlah_AdminSales_C1');
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dihapus');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function resetmassal_ASC2() { // [27]
|
|
$method = $this->input->post('method');
|
|
$id_dkpr = $this->input->post('id_dkpr');
|
|
$id_pkpr = $this->input->post('id_pkpr');
|
|
|
|
$datDaftarKlaimProgram = $this->Klaim->getData_DaftarKlaimProgram_byID($id_dkpr);
|
|
if ($datDaftarKlaimProgram==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect('ManageKlaim/dataOlah_AdminSales_C1');
|
|
}
|
|
|
|
$datLkpr = $this->Klaim->getData_LinkKlaimProgram_byDKPR_byPKPR($id_dkpr, $id_pkpr);
|
|
if ($datLkpr==FALSE) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
foreach ($datLkpr as $key) {
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byID($key['SNKPR_ID']);
|
|
if ($datSnkpr[0]['STATUS_SNKPR']==2 OR $datSnkpr[0]['STATUS_SNKPR']==3) {
|
|
$this->session->set_flashdata('status_error', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
foreach ($datLkpr as $key) {
|
|
if ($key['PROGRAM_ID']==1) {
|
|
$update = [
|
|
'STATUS_SNKPR' => NULL
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key['SNKPR_ID']);
|
|
}
|
|
}
|
|
|
|
foreach ($datLkpr as $key) {
|
|
$action = $this->Klaim->delete('link_klaimprogram', $key['ID_LKPR'], 'ID_LKPR');
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'direset');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'direset');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function dataNota_AdminSales_A1() { // [19]
|
|
$datKlaim = $this->Klaim->getData_SnKlaimProgram_status1();
|
|
$datPelanggan = $this->Klaim->getData_Pelanggan_byID();
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_notaNotNull();
|
|
$datClean = $this->Klaim->getData_SnKlaimProgram_kunciNotNull();
|
|
$tgl = date('Y-m-d');
|
|
|
|
$data = [
|
|
'sidebar' => "menu klaim stok",
|
|
'navChild' => "klaim proses nota",
|
|
'klaim' => $datKlaim,
|
|
'snkpr' => $datSnkpr,
|
|
'sntarik' => $datClean,
|
|
'pelanggan' => $datPelanggan,
|
|
'tgl' => $tgl,
|
|
];
|
|
$this->load->view('proses/KlaimNota_AdminSales_A1', $data);
|
|
}
|
|
|
|
public function kodeINVKlaim() { //[20]
|
|
$kk = $this->Klaim->getKode_INVKlaim();
|
|
$tgl = date('y');
|
|
if (is_array($kk) || is_object($kk)) {
|
|
foreach ($kk as $row) {
|
|
if ($row['KODE'] == null) {
|
|
return "INV/ITP-K/".$tgl."000001";
|
|
} else {
|
|
$str = (string) $row['KODE'];
|
|
$tgl_lama = substr($str, 10, -6);
|
|
if ($tgl_lama!=$tgl) {
|
|
return "INV/ITP-K/".$tgl."000001";
|
|
} else {
|
|
$panjang = 6;
|
|
$data = substr($str, 12, $panjang);
|
|
$ko = (int) $data + 1;
|
|
$str = (string) $ko;
|
|
$panjang = 18 - strlen($str);
|
|
$data = "INV/ITP-K/".$tgl."000000";
|
|
$data = substr($data, 0, $panjang) . $str;
|
|
return $data;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public function ubahnota_ASA1() { // [21]
|
|
$method = $this->input->post('method');
|
|
$id_snkpr = $this->input->post('id_snkpr');
|
|
$tgl_saleout = $this->input->post('tgl_saleout');
|
|
$id_pelanggan = $this->input->post('id_pelanggan');
|
|
$harga_snkpr = $this->input->post('harga_snkpr');
|
|
|
|
$datSnkpr = $this->Klaim->getData_SnKlaimProgram_byID($id_snkpr);
|
|
if ($datSnkpr==FALSE OR $datSnkpr[0]['STATUS_SNKPR']!=1) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$harga_snkpr = str_replace(',', '.', $harga_snkpr);
|
|
|
|
$check_nilai = is_numeric($harga_snkpr);
|
|
if ($check_nilai==FALSE) {
|
|
$harga_snkpr = 0;
|
|
}
|
|
|
|
if ($harga_snkpr<=0) {
|
|
$this->session->set_flashdata('not_zero_negative', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
if ($datSnkpr[0]['NOTA_SNKPR']==NULL) {
|
|
$nota_snkpr = $this->kodeINVKlaim();
|
|
$update = [
|
|
'PEL_ID' => $id_pelanggan,
|
|
'TGL_SALEOUT' => $tgl_saleout,
|
|
'HARGA_SNKPR' => $harga_snkpr,
|
|
'NOTA_SNKPR' => $nota_snkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $id_snkpr);
|
|
} else {
|
|
$update = [
|
|
'PEL_ID' => $id_pelanggan,
|
|
'TGL_SALEOUT' => $tgl_saleout,
|
|
'HARGA_SNKPR' => $harga_snkpr
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $id_snkpr);
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'diubah');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function cetakNotaKlaim($id) { // [22]
|
|
$datKlaim = $this->Klaim->getData_SnKlaimProgram_forCetakNota($id);
|
|
|
|
$data = [
|
|
'klaim' => $datKlaim
|
|
];
|
|
$this->load->view('cetak/Nota_Klaim_ITP', $data);
|
|
|
|
}
|
|
|
|
public function bersihmassal_ASC2() { // [23]
|
|
$method = $this->input->post('method');
|
|
$snkpr = $this->input->post('snkprbersih');
|
|
|
|
foreach ($snkpr as $key) {
|
|
$datSnKpr = $this->Klaim->getData_SnKlaimProgram_byID($key);
|
|
if ($datSnKpr==FALSE OR $datSnKpr[0]['NOTA_SNKPR']==NULL OR $datSnKpr[0]['HARGA_SNKPR']==NULL OR $datSnKpr[0]['PEL_ID']==NULL OR $datSnKpr[0]['TGL_SALEOUT']==NULL) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
}
|
|
|
|
foreach ($snkpr as $key) {
|
|
$update = [
|
|
'KUNCI_SNKPR' => '1'
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $key);
|
|
}
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'dibersihkan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'dibersihkan');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
public function tarikulang_ASC2() { // [24]
|
|
$method = $this->input->post('method');
|
|
$id_snkpr = $this->input->post('id_snkpr');
|
|
|
|
$datSnKpr = $this->Klaim->getData_SnKlaimProgram_byID($id_snkpr);
|
|
if ($datSnKpr==FALSE OR $datSnKpr[0]['KUNCI_SNKPR']==NULL) {
|
|
$this->session->set_flashdata('data_changed', 'error');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
$update = [
|
|
'KUNCI_SNKPR' => NULL
|
|
];
|
|
$action = $this->Klaim->update('sn_klaimprogram', $update, 'ID_SNKPR', $id_snkpr);
|
|
|
|
if ($action) {
|
|
$this->session->set_flashdata('success', 'ditarik');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
} else {
|
|
$this->session->set_flashdata('failed', 'ditarik');
|
|
redirect($_SERVER['HTTP_REFERER']);
|
|
}
|
|
|
|
}
|
|
|
|
}
|