db_inventory = $this->load->database("inventory", true); $this->db_inventory_log = $this->load->database('inventory_log', true); } function download_data() { try { header("Content-Type:application/json"); $datas = json_decode(file_get_contents('php://input'), true); //echo json_encode($datas); if($datas){ $arr_inserted = array(); foreach ($datas as $k => $v) { $sql ="SELECT * FROM mutasirequestrespon WHERE MutasiRequestResponOldID = ? LIMIT 1"; $qry = $this->db_inventory->query([$v['MutasiRequestResponID']]); //echo $this->db_inventory->last_query(); if(!$qry){ //echo $this->db_inventory->last_query(); exit; } if(!$qry->row_array()){ $this->db_inventory->trans_start(); $this->db_inventory->trans_strict(FALSE); $id = $v['MutasiRequestResponID']; unset($v['branch_ip']); unset($v['MutasiRequestResponID']); $v['MutasiRequestResponIsUploaded'] = 'Y'; $v['MutasiRequestResponOldID'] = $id; $v['MutasiRequestResponCreated'] = date("Y-m-d H:i:s"); $v['MutasiRequestResponLastUpdated'] = date("Y-m-d H:i:s"); $qry = $this->db_inventory->insert('mutasirequestrespon', $v); if(!$qry){ $this->sys_error_db("insert mutasirequestrespon error", $this->db_inventory->last_query()); exit; } $sql = "UPDATE mutasirequestreceive SET MutasiRequestReceiveReceiveQty = ?, MutasiRequestReceiveStatus = ? WHERE MutasiRequestReceiveID = ?"; $qry = $this->db_inventory->query($sql, array( $v['MutasiRequestResponReceive'], $v['MutasiRequestResponStatus'], $v['MutasiRequestResponMutasiRequestReceiveID'] ) ); if(!$qry){ $this->sys_error_db("update mutasirequestreceive error", $this->db_inventory->last_query()); exit; } $arr_request_status = array( 'MutasiRequestReceiveStatusMutasiRequestReceiveID' => $v['MutasiRequestResponMutasiRequestReceiveID'], 'MutasiRequestReceiveStatusStatus' => $v['MutasiRequestResponStatus'], 'MutasiRequestReceiveStatusJSON' => json_encode($v), 'MutasiRequestReceiveStatusCreated' => date("Y-m-d H:i:s"), 'MutasiRequestReceiveStatusUserID' => 10000 ); $qry = $this->db_inventory->insert('mutasirequestreceive_status', $arr_request_status); if(!$qry){ $this->sys_error_db("insert mutasirequestreceive_status error", $this->db_inventory->last_query()); exit; } $data_update_mutasidetailstock = array('MutasiDetailStockReceiveQty' => $v['MutasiRequestResponReceive']); $this->db_inventory->where('MutasiDetailStockID', $v['MutasiRequestResponMutasiDetailStockID']); $this->db_inventory->update('mutasidetailstock', $data_update_mutasidetailstock); $sql = "UPDATE mutasidetail SET MutasiDetailReceiveQty = MutasiDetailReceiveQty + {$v['MutasiRequestResponReceive']} WHERE MutasiDetailID = ?"; $qry = $this->db_inventory->query($sql, array( $v['MutasiRequestResponMutasiDetailID'] ) ); if(!$qry){ $this->sys_error_db("update mutasidetail error", $this->db_inventory->last_query()); exit; } $sql = "SELECT COUNT(*) as x_count FROM mutasidetail WHERE ( MutasiDetailQty = 0 OR MutasiDetailQty <> MutasiDetailReceiveQty ) AND MutasiDetailIsActive = 'Y' AND MutasiDetailMutasiID = ? "; $qry = $this->db_inventory->query($sql, array( $v['MutasiRequestResponMutasiID'] ) ); if(!$qry){ $this->sys_error_db("update mutasidetail error", $this->db_inventory->last_query()); exit; } $status_mutasi = 'P'; $not_done = $qry->row()->x_count; if($not_done == 0) $status_mutasi = 'D'; $data_update_mutasi = array('MutasiStatus' => $status_mutasi); $this->db_inventory->where('MutasiID', $v['MutasiRequestResponMutasiID']); $this->db_inventory->update('mutasi', $data_update_mutasi); $this->db_inventory->trans_complete(); array_push($arr_inserted,$id); } } //print_r($arr_inserted); $result = array( "records" => $arr_inserted); $this->sys_ok($result); } } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } }