load->model('ModelBarang', 'Barang'); $this->load->model('ModelGudang', 'Gudang'); $this->load->model('ModelNeraca', 'Neraca'); $this->load->model('ModelStock', 'Stock'); $this->load->library(['datatables', 'form_validation']); $this->form_validation->set_error_delimiters('', ''); } public function output_json($data, $encode = true) { if ($encode) $data = json_encode($data); $this->output->set_content_type('application/json')->set_output($data); } public function index() { $datStock = $this->Stock->getDataSetStock(); $datBarang = $this->Barang->getDataBarangDb(); $datGudang = $this->Gudang->getDataGudangPembelian(); $data = [ 'sidebar' => "set data", 'navChild' => "", 'barang' => $datBarang, 'gudang' => $datGudang, 'stock' => $datStock ]; $this->load->view('proses/SetStock', $data); } public function save() { $method = $this->input->post('method'); $id = $this->input->post('id_stock'); $id_barang = $this->input->post('id_barang'); $id_gudang = $this->input->post('id_gudang'); $qty_stock = $this->input->post('qty_stock'); $harga_stock = $this->input->post('harga_stock'); $totalharga = $harga_stock*$qty_stock; $nilai = $this->Neraca->getDataNeraca(4); $nilai = $nilai[0]['NILAI_NERACA']; $nilai_neraca = $nilai+$totalharga; $id_neraca = 4; $update = [ 'NILAI_NERACA' => $nilai_neraca ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca); $dh = $this->Stock->getID_DH($id_barang); $id_dh = $dh[0]['ID_DH']; $update = [ 'AVG_DH' => $harga_stock ]; $action = $this->Stock->update('daftar_harga', $update, 'ID_DH',$id_dh); $input = [ 'BARANG_ID' => $id_barang, 'QTY_DB' => $qty_stock, 'HARGA_DB' => $harga_stock ]; $action = $this->Stock->create('daftar_beli', $input); $datadb = $this->Stock->getID_DB(); $id_db = $datadb[0]['ID_DB']; $input = [ 'DB_ID' => $id_db, 'QTY_STOCK' => $qty_stock, 'GUDANG_ID' => $id_gudang ]; $action = $this->Stock->create('stock', $input); $jenis = $this->Stock->getDataJenis($id_barang); $type_jenis = $jenis[0]['TYPE_JENIS']; if ($type_jenis=="0") { $stock = $this->Stock->getID_STOCK(); $id_stock = $stock[0]['ID_STOCK']; $kuantiti = $this->Stock->getDataKuantiti($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti+$qty_stock; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); $this->session->set_flashdata('flash', 'dilakukan'); redirect($_SERVER['HTTP_REFERER']); } else if ($action) { $this->session->set_flashdata('flash', 'dilakukan'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('flashgagal', 'dilakukan'); redirect($_SERVER['HTTP_REFERER']); } } public function edit() { $method = $this->input->post('method'); $id_stock = $this->input->post('id_stock'); $id_gudang = $this->input->post('id_gudanged'); $qty_stock = $this->input->post('qty_stocked'); $harga_stock = $this->input->post('harga_stocked'); $stock = $this->Stock->getDataStock($id_stock); $harga = $stock[0]['HARGA_DB']; $qty = $stock[0]['QTY_DB']; $id_barang = $stock[0]['BARANG_ID']; $jenis = $this->Stock->getDataJenis($id_barang); $type_jenis = $jenis[0]['TYPE_JENIS']; if ($type_jenis=="0") { $kuantiti = $this->Stock->getDataKuantiti($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti-$qty; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); } else if ($type_jenis=="1") { $real = $this->Stock->getQtyReal($id_stock); $kuantiti = $this->Stock->getDataKuantiti($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti-$real; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); $action = $this->Stock->delSn($id_stock); } $totalharga = $harga*$qty; $nilai = $this->Neraca->getDataNeraca(4); $nilai = $nilai[0]['NILAI_NERACA']; $nilai_neraca = $nilai-$totalharga; $id_neraca = 4; $update = [ 'NILAI_NERACA' => $nilai_neraca ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca); $nilai = $this->Neraca->getDataNeraca(4); $nilai = $nilai[0]['NILAI_NERACA']; $totalharga = $harga_stock*$qty_stock; $nilai_neraca = $nilai+$totalharga; $id_neraca = 4; $update = [ 'NILAI_NERACA' => $nilai_neraca ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca); $datadb = $this->Stock->getDataSetStock($id_stock); $id_db = $datadb[0]['DB_ID']; $dh = $this->Stock->getID_DH($id_barang); $id_dh = $dh[0]['ID_DH']; $update = [ 'AVG_DH' => $harga_stock ]; $action = $this->Stock->update('daftar_harga', $update, 'ID_DH',$id_dh); $update = [ 'GUDANG_ID' => $id_gudang, 'QTY_STOCK' => $qty_stock ]; $action = $this->Stock->update('stock', $update,'ID_STOCK',$id_stock); $update = [ 'QTY_DB' => $qty_stock, 'HARGA_DB' => $harga_stock ]; $action = $this->Stock->update('daftar_beli', $update,'ID_DB',$id_db); $stock = $this->Stock->getDataStock($id_stock); $id_barang = $stock[0]['BARANG_ID']; $jenis = $this->Stock->getDataJenis($id_barang); $type_jenis = $jenis[0]['TYPE_JENIS']; if ($type_jenis=="0") { $kuantiti = $this->Stock->getDataKuantiti($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti+$qty_stock; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); $this->session->set_flashdata('flash', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else if ($action) { $this->session->set_flashdata('flash', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } else { $this->session->set_flashdata('flashgagal', 'diubah'); redirect($_SERVER['HTTP_REFERER']); } } public function hapus() { $id = $this->input->post('id'); $stock = $this->Stock->getDataStock($id); $harga = $stock[0]['HARGA_DB']; $qty = $stock[0]['QTY_DB']; $id_barang = $stock[0]['BARANG_ID']; $id_db = $stock[0]['DB_ID']; $jenis = $this->Stock->getDataJenis($id_barang); $type_jenis = $jenis[0]['TYPE_JENIS']; if ($type_jenis=="0") { $kuantiti = $this->Stock->getDataKuantiti($id); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti-$qty; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); } else if ($type_jenis=="1") { $kuantiti = $this->Stock->getDataKuantiti($id); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $real = $this->Stock->getQtyReal($id); $qty_real = $ready_kuantiti-$real; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); $action = $this->Stock->delSn($id); } $totalharga = $harga*$qty; $nilai = $this->Neraca->getDataNeraca(4); $nilai = $nilai[0]['NILAI_NERACA']; $nilai_neraca = $nilai-$totalharga; $id_neraca = 4; $update = [ 'NILAI_NERACA' => $nilai_neraca ]; $action = $this->Neraca->update('neraca', $update, 'ID_NERACA',$id_neraca); $dh = $this->Stock->getID_DH($id_barang); $id_dh = $dh[0]['ID_DH']; $update = [ 'AVG_DH' => '0' ]; $action = $this->Stock->update('daftar_harga', $update, 'ID_DH',$id_dh); $action = $this->Stock->delete('stock',$id,'ID_STOCK'); $action = $this->Stock->delete('daftar_beli',$id_db,'ID_DB'); $this->session->set_flashdata('flash', 'dihapus'); redirect($_SERVER['HTTP_REFERER']); } public function tambahSn($id) { $stock = $this->Stock->getDataSetStock($id); $max = $this->Stock->getQtyReal($id); $data = [ 'sidebar' => "set data", 'navChild' => "", 'stock' => $stock, 'id_stock' => $id, 'qty' => $stock[0]['QTY_STOCK'], 'title' => $stock[0]['NAMA_BARANG'], 'max' => $max, ]; $this->load->view('proses/SetSn', $data); } public function datasn() { $id = $this->input->post('id'); $data = $this->Stock->getDataSn($id); $this->output_json(['value' => 1, 'total' => sizeof($data), 'data' => $data]); } public function jumlahdatasn() { $id = $this->input->post('id'); $data = $this->Stock->getDataSn($id); $this->output_json(['value' => 1, 'jumlah_data' => sizeof($data)]); } public function savesn() { $id = $this->input->post('id_sn'); $nama_sn = $this->input->post('nama_sn'); $nama_sn = strtoupper($nama_sn); $id_stock = $this->input->post('id_stock'); $qtyStock = $this->Stock->getDataSetStock($id_stock); $qtyStock = $qtyStock[0]['QTY_STOCK']; $qtyReal = $this->Stock->getQtyReal($id_stock); if ($id != null) { $data = [ 'NAMA_SN' => $nama_sn, 'STOCK_ID' => $id_stock, 'STATUS_SN' => '0' ]; $action = $this->Stock->update('sn', $data, 'ID_SN', $id); $id_gudang = $this->Stock->getDataSnStock($id); $id_gudang = $id_gudang[0]['GUDANG_ID']; $update = [ 'GUDANG_ID' => $id_gudang ]; $action = $this->Stock->update('sn', $update, 'ID_SN', $id); if ($action) { $this->output_json(['value' => 1, 'id' => $id, 'nama_sn' => $nama_sn]); $this->session->set_flashdata('flash', 'diedit'); } else { $this->output_json(['value' => 0, 'id' => $id, 'nama_sn' => $nama_sn]); } } else { //Fungsi Tambah SN $data = [ 'NAMA_SN' => $nama_sn, 'STOCK_ID' => $id_stock, 'STATUS_SN' => '0' ]; $action = $this->Stock->create('sn', $data); $id_sn = $this->Stock->getID_SN(); $id_sn = $id_sn[0]['ID_SN']; $id_gudang = $this->Stock->getDataSnStock($id_sn); $id_gudang = $id_gudang[0]['GUDANG_ID']; $update = [ 'GUDANG_ID' => $id_gudang ]; $action = $this->Stock->update('sn', $update, 'ID_SN', $id_sn); //Fungsi update Qty Real Tabel Barang $kuantiti = $this->Stock->getKuantitiData($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti+1; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); $qtyReal = $this->Stock->getQtyReal($id_stock); if ($qtyReal==$qtyStock){ $this->output_json(['value' => 2, 'id' => $id, 'nama_sn' => $nama_sn]); $this->session->set_flashdata('flashkunci', 'dilakukan'); } else if ($action) { $this->output_json(['value' => 1, 'id' => $id, 'nama_sn' => $nama_sn]); } else { $this->output_json(['value' => 0, 'id' => $id, 'nama_sn' => $nama_sn]); } } } public function hapussn() { $id = $this->input->post('id_sn'); $id_stock = $this->Stock->getDataSnStock($id); $id_stock = $id_stock[0]['STOCK_ID']; $qtyStock = $this->Stock->getDataSetStock($id_stock); $qtyReal = $this->Stock->getQtyReal($id_stock); $action = $this->Stock->delete('sn', $id, 'ID_SN'); //Fungsi update Qty Real Tabel Barang $kuantiti = $this->Stock->getKuantitiData($id_stock); $id_kuantiti = $kuantiti[0]['ID_KUANTITI']; $ready_kuantiti = $kuantiti[0]['READY_KUANTITI']; $qty_real = $ready_kuantiti-1; $update = [ 'READY_KUANTITI' => $qty_real, 'GLOBAL_KUANTITI' => $qty_real ]; $action = $this->Stock->update('kuantiti', $update, 'ID_KUANTITI', $id_kuantiti); if ($qtyReal==$qtyStock[0]['QTY_STOCK']){ $this->output_json(['value' => 2, 'message' => 'Berhasil', 'dt' => $action]); $this->session->set_flashdata('flashkurang', 'dilakukan'); } else { if ($action) { $this->output_json(['value' => 1, 'message' => 'Berhasil', 'dt' => $action]); } else { $this->output_json(['value' => 0, 'message' => "gagal", 'dt' => $action]); } } } }