db_inventory = $this->load->database("inventory", true); $this->db_inventory_log = $this->load->database('inventory_log', true); } function get_param_z() { $body_z = file_get_contents("php://input"); $body = gzuncompress($body_z); return json_decode($body, true); } function reply($resp) { echo json_encode($resp); } function reply_gz($resp) { //echo json_encode($resp); echo gzcompress(json_encode($resp)); } function download_data() { try { header("Content-Type:application/json"); // $datas = json_decode(file_get_contents('php://input'), true); $datas = $this->get_param_z(); // print_r($datas); // echo json_encode($datas); // exit; 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']; $M_BranchID = $v['M_BranchID']; unset($v['M_BranchID']); 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); $sql = $this->db_inventory->insert_string('mutasirequestrespon', $v) . ' ON DUPLICATE KEY UPDATE MutasiRequestResponOldID = MutasiRequestResponOldID'; $qry = $this->db_inventory->query($sql); if(!$qry){ $arr = [ "err" => "insert mutasirequestrespon error", "message" => $this->db_inventory->error()['message'] ]; // print_r($this->db_inventory->error()['message']); // $this->sys_error_db("insert mutasirequestrespon error", $this->db_inventory->error()['message']); $this->sys_error_db($arr); exit; } $sql = "UPDATE mutasirequestreceive SET MutasiRequestReceiveReceiveQty = ?, MutasiRequestReceiveStatus = ? WHERE MutasiRequestReceiveID = ?"; $qry = $this->db_inventory->query($sql, array( $v['MutasiRequestResponReceive'], $v['MutasiRequestResponStatus'], $v['MutasiRequestResponMutasiRequestReceiveID'] ) ); // print_r($this->db_inventory->last_query()); 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; // } // add check data mutasirequestreceive_status $MutasiRequestReceiveStatusMutasiRequestReceiveID_check = $v['MutasiRequestResponMutasiRequestReceiveID']; // $sql_check = "SELECT * // FROM mutasirequestreceive_status // WHERE MutasiRequestReceiveStatusMutasiRequestReceiveID = ? // AND // MutasiRequestReceiveStatusStatus IN ('D','P') // "; $sql_check = "SELECT COUNT(*) as total FROM mutasirequestreceive_status WHERE JSON_EXTRACT(MutasiRequestReceiveStatusJSON, '$.MutasiRequestResponOldID') = ? AND JSON_EXTRACT(MutasiRequestReceiveStatusJSON, '$.M_BranchID') = ? AND MutasiRequestReceiveStatusMutasiRequestReceiveID = ? AND MutasiRequestReceiveStatusStatus = ?"; $qry_check = $this->db_inventory->query($sql_check,[ $v['MutasiRequestResponOldID'], $M_BranchID, $MutasiRequestReceiveStatusMutasiRequestReceiveID_check, $v['MutasiRequestResponStatus'] ]); // print_r($this->db_inventory->last_query()); if(!$qry_check){ $this->sys_error_db("check mutasirequestreceive_status error", $this->db_inventory->last_query()); exit; } // exit; $data_cek = $qry_check->row_array(); // $data_json_cek = json_decode($data_cek['MutasiRequestReceiveStatusJSON']); // $data_json_cek = $this->objToArray(json_decode($data_cek['MutasiRequestReceiveStatusJSON'])); // print_r($arr_request_status); // exit; // exit; // $json2 = array( // "MutasiRequestResponOldID"=> $v['MutasiRequestResponOldID'], // "MutasiRequestResponType"=> $v['MutasiRequestResponType'], // "MutasiRequestResponMutasiRequestReceiveID"=> $v['MutasiRequestResponMutasiRequestReceiveID'], // "MutasiRequestResponToCompanyAdddressID"=> $v['MutasiRequestResponToCompanyAdddressID'], // "MutasiRequestResponFromCompanyAdddressID"=> $v['MutasiRequestResponFromCompanyAdddressID'], // "MutasiRequestResponMutasiRequestDetailID"=> $v['MutasiRequestResponMutasiRequestDetailID'], // "MutasiRequestResponMutasiID"=> $v['MutasiRequestResponMutasiID'], // "MutasiRequestResponMutasiDetailStockID"=> $v['MutasiRequestResponMutasiDetailStockID'], // "MutasiRequestResponMutasiDetailID"=> $v['MutasiRequestResponMutasiDetailID'], // "MutasiRequestResponStatus"=> $v['MutasiRequestResponStatus'], // "MutasiRequestResponReceive"=> $v['MutasiRequestResponReceive'], // "MutasiRequestResponCreated"=> $v['MutasiRequestResponCreated'], // "MutasiRequestResponLastUpdated"=> $v['MutasiRequestResponLastUpdated'], // "MutasiRequestResponIsUploaded"=> $v['MutasiRequestResponIsUploaded'], // "MutasiRequestResponIsdownloadded"=> $v['MutasiRequestResponIsdownloadded'], // "M_BranchID"=> $M_BranchID // ); // print_r($json2); // print_r("penanda"); $v['M_BranchID'] = $M_BranchID; $arr_request_status = array( 'MutasiRequestReceiveStatusMutasiRequestReceiveID' => $v['MutasiRequestResponMutasiRequestReceiveID'], 'MutasiRequestReceiveStatusStatus' => $v['MutasiRequestResponStatus'], 'MutasiRequestReceiveStatusJSON' => json_encode($v), 'MutasiRequestReceiveStatusCreated' => date("Y-m-d H:i:s"), 'MutasiRequestReceiveStatusUserID' => 10000 ); // print_r($arr_request_status); if($data_cek['total'] == 0) // if(count($data_cek) == 0) { // print_r($v); // echo "
"; // print_r($v); // exit; // print_r("json cek"); // print_r($data_json_cek); // print_r($data_cek); // foreach($data_cek as $k=> $l){ // if($v['MutasiRequestResponOldID'] != $data_json_cek['MutasiRequestResponOldID'] // && ( // ($v['MutasiRequestResponStatus'] != $data_json_cek['MutasiRequestResponStatus'] // && $v['MutasiRequestResponStatus'] != "P") // || ($v['MutasiRequestResponStatus'] == "P") // ) // && $M_BranchID != $data_json_cek['M_BranchID'] // ){ // print_r("masuk foreach"); // print_r($l); $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; } // masuk if $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; } // masuk if $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; } // masuk if $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); // masuk if // } // } } // end // // masuk if // $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; // } // // masuk if // masuk if // $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; // } // masuk if // // masuk if // $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); // // masuk if $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); } } 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; } function update_qty_try($qty) { try { $sql = "UPDATE mutasirequestreceive SET MutasiRequestReceiveReceiveQty = MutasiRequestReceiveReceiveQty + $qty, MutasiRequestReceiveStatus = ? WHERE MutasiRequestReceiveID = ?"; $qry = $this->db_inventory->query($sql, array( "P", 1 ) ); if(!$qry){ $arr_e = [ "x" => "check mutasirequestreceive_status error", "msg" => $this->db_inventory->last_query() ]; $this->sys_error_db($arr_e); exit; } } catch (Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } }