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); $bodyZ = file_get_contents('php://input'); $body = gzuncompress($bodyZ); $datas = json_decode($body, true); // print_r($datas); if ($datas) { $this->db_inventory->trans_start(); $this->db_inventory->trans_strict(FALSE); $arr_inserted = array(); foreach ($datas as $k => $v) { $sql = "SELECT * FROM mutasisetupbranch WHERE MutasiSetupBranchOldID = ? LIMIT 1"; $qry = $this->db_inventory->query([$v['MutasiSetupBranchID']]); //echo $this->db_inventory->last_query(); if (!$qry) { echo $this->db_inventory->last_query(); exit; } //print_r($qry->row_array()); if (!$qry->row_array()) { $arr_insert_setup = $v; $arr_insert_setup['MutasiSetupBranchOldID'] = $v['MutasiSetupBranchID']; unset($arr_insert_setup['branch_ip']); unset($arr_insert_setup['MutasiSetupBranchID']); $arr_insert_setup['MutasiSetupBranchIsSend'] = 'Y'; $arr_insert_setup['MutasiSetupBranchCreated'] = date("Y-m-d H:i:s"); $arr_insert_setup['MutasiSetupBranchLastUpdated'] = date("Y-m-d H:i:s"); // $qry = $this->db_inventory->insert('mutasisetupbranch', $arr_insert_setup); // $qry = $this->db_inventory->insert('mutasisetupbranch', $arr_insert_setup); $sql = $this->db_inventory->insert_string('mutasisetupbranch', $arr_insert_setup) . ' ON DUPLICATE KEY UPDATE MutasiSetupBranchOldID = MutasiSetupBranchOldID'; $qry = $this->db_inventory->query($sql); if (!$qry) { echo $this->db_inventory->last_query(); exit; } $last_id = $this->db_inventory->insert_id(); $sql = "SELECT * FROM mutasisetupbranch WHERE MutasiSetupBranchID = ?"; $qry = $this->db_inventory->query($sql, array($last_id)); if (!$qry) { echo $this->db_inventory->last_query(); exit; } $data_after_insert = $qry->row_array(); //print_r($data_after_insert); $this->create_mutasi($data_after_insert, $last_id ); //$arr_inserted = $v; } array_push($arr_inserted, $v['MutasiSetupBranchID']); } $this->db_inventory->trans_complete(); // $resp = array( // 'status' => 'OK', // "data" => array("records" => $arr_inserted) // ); $result = array("records" => $arr_inserted); $this->sys_ok($result); // echo gzcompress(json_encode($resp)); } } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function create_mutasi($mutasi,$xid) { //print_r($mutasi); $arr_insert_mutasi = $this->objToArray(json_decode($mutasi['MutasiSetupBranchJSON'])); //print_r($arr_insert_mutasi); $details = $arr_insert_mutasi['details']; $id = $arr_insert_mutasi['MutasiID']; unset($arr_insert_mutasi['details']); unset($arr_insert_mutasi['MutasiID']); $arr_insert_mutasi['MutasiCreated'] = date("Y-m-d H:i:s"); $arr_insert_mutasi['MutasiLastUpdated'] = date("Y-m-d H:i:s"); $qry = $this->db_inventory->insert('mutasi', $arr_insert_mutasi); //echo $this->db_inventory->last_query(); if (!$qry) { echo $this->db_inventory->last_query(); exit; } $last_id = $this->db_inventory->insert_id(); foreach ($details as $key => $value) { $arr_insert_mutasi_details = array(); $arr_insert_mutasi_details['MutasiDetailMutasiRequestReceiveID'] = $value['MutasiDetailMutasiRequestReceiveID']; $arr_insert_mutasi_details['MutasiDetailItemID'] = $value['MutasiDetailItemID']; $arr_insert_mutasi_details['MutasiDetailItemUnitID'] = $value['MutasiDetailItemUnitID']; $arr_insert_mutasi_details['MutasiDetailQty'] = $value['MutasiDetailQty']; $arr_insert_mutasi_details['MutasiDetailReceiveQty'] = $value['MutasiDetailReceiveQty']; $arr_insert_mutasi_details['MutasiDetailMutasiID'] = $last_id; $arr_insert_mutasi_details['MutasiDetailCreated'] = date("Y-m-d H:i:s"); $arr_insert_mutasi_details['MutasiDetailLastUpdated'] = date("Y-m-d H:i:s"); $arr_insert_mutasi_details['MutasiDetailUserID'] = 220688; //print_r($arr_insert_mutasi_details); $qry = $this->db_inventory->insert('mutasidetail', $arr_insert_mutasi_details); //echo $this->db_inventory->last_query(); if (!$qry) { echo $this->db_inventory->last_query(); exit; } $id_detail = $this->db_inventory->insert_id(); $arr_detail_additional = array(); $arr_detail_additional['MutasiDetailAddtionalRequestDetailID'] = $value['mutasi_request_detail_id']; $arr_detail_additional['MutasiDetailAddtionalMutasiDetailID'] = $id_detail; $arr_detail_additional['MutasiDetailAddtionalMutasiRequestReceiveNumber'] = $value['request_receive_number']; $arr_detail_additional['MutasiDetailAddtionalMutasiRequestReceiveID'] = $value['request_receive_id']; $arr_detail_additional['MutasiDetailAddtionalMutasiRequestNumber'] = $value['request_number']; $arr_detail_additional['MutasiDetailAddtionalCompanyID'] = $value['CompanyID']; $arr_detail_additional['MutasiDetailAddtionalM_BranchID'] = $value['M_BranchID']; $arr_detail_additional['MutasiDetailAddtionalEstimatedDelivery'] = $value['estimated_delivery']; $arr_detail_additional['MutasiDetailAddtionalRequestQty'] = $value['request_qty']; $arr_detail_additional['MutasiDetailAddtionalRestQty'] = $value['rest_qty']; $arr_detail_additional['MutasiDetailAddtionalNote'] = $value['note']; $qry = $this->db_inventory->insert('mutasidetailadditional', $arr_detail_additional); if (!$qry) { echo $this->db_inventory->last_query(); exit; } } $sql = "UPDATE mutasisetupbranch SET MutasiSetupBranchIsCreated = 'Y', MutasiSetupBranchMutasiBranchID = ? WHERE MutasiSetupBranchID = ? "; $qry = $this->db_inventory->query($sql, array($last_id, $xid)); if (!$qry) { echo $this->db_inventory->last_query(); exit; } return true; } protected function objToArray($obj) { // Not an object or array if (!is_object($obj) && !is_array($obj)) { return $obj; } // Parse array foreach ($obj as $key => $value) { $arr[$key] = $this->objToArray($value); } // Return parsed array return $arr; } }