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']); } } }