added column selection and reorder in products
This commit is contained in:
@@ -0,0 +1,389 @@
|
||||
<?php include('../include/headscript.php'); ?>
|
||||
<?php
|
||||
require '../../vendor/autoload.php';
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\IReader;
|
||||
|
||||
function post_async($url, array $params)
|
||||
{
|
||||
foreach ($params as $key => &$val) {
|
||||
if (is_array($val)) $val = implode(',', $val);
|
||||
$post_params[] = $key . '=' . urlencode($val);
|
||||
}
|
||||
$post_string = implode('&', $post_params);
|
||||
|
||||
$parts = parse_url($url);
|
||||
|
||||
$fp = fsockopen(
|
||||
$parts['host'],
|
||||
isset($parts['port']) ? $parts['port'] : 80,
|
||||
$errno,
|
||||
$errstr,
|
||||
30
|
||||
);
|
||||
|
||||
$out = "POST " . $parts['path'] . " HTTP/1.1\r\n";
|
||||
$out .= "Host: " . $parts['host'] . "\r\n";
|
||||
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
|
||||
$out .= "Content-Length: " . strlen($post_string) . "\r\n";
|
||||
$out .= "Connection: Close\r\n\r\n";
|
||||
if (isset($post_string)) $out .= $post_string;
|
||||
|
||||
fwrite($fp, $out);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
if (isset($_FILES['f_csv'])) {
|
||||
$file = $_FILES['f_csv']['tmp_name'];
|
||||
$template_id = $_POST['template_id'];
|
||||
|
||||
//get template associate data
|
||||
$arr_associate_data = new WA_MySQLi_RS("rsl", $repnew, 0);
|
||||
$arr_associate_data->setQuery("SELECT * FROM template_associate where template_importify_id=$template_id");
|
||||
$arr_associate_data->execute();
|
||||
$arr_associate = $arr_associate_data->Results;
|
||||
|
||||
if (count($arr_associate) > 0) { //check define columns
|
||||
$spreadsheet = IOFactory::load($file);
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$arr_info = $worksheet->toArray();
|
||||
if (count($arr_info) > 1) { //check excel rows
|
||||
$arr_excel_columns = $arr_info[0];
|
||||
$arr_need_columns = array();
|
||||
array_push($arr_need_columns, "Sample Code (PO#)");
|
||||
array_push($arr_need_columns, "Report no.");
|
||||
array_push($arr_need_columns, "Part No.");
|
||||
|
||||
// remove empty rows
|
||||
$arr_info = array_filter($arr_info, function ($row) {
|
||||
return !empty(array_filter($row));
|
||||
});
|
||||
|
||||
// find date date in $arr_info formatted as m/d/yyyy and convert to yyyy-mm-dd
|
||||
$rowCount = count($arr_info);
|
||||
for ($i = 0; $i < $rowCount; $i++) {
|
||||
$colCount = count($arr_info[$i]);
|
||||
for ($j = 0; $j < $colCount; $j++) {
|
||||
$value = $arr_info[$i][$j];
|
||||
|
||||
// Check if the value is a string that matches the m/d/yyyy format
|
||||
if (is_string($value) && preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $value)) {
|
||||
// Convert to DateTime and format to Y-m-d
|
||||
$dateTime = DateTime::createFromFormat('m/d/Y', $value);
|
||||
if ($dateTime) {
|
||||
$arr_info[$i][$j] = $dateTime->format('Y-m-d'); // Store the formatted date
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($arr_associate as $item) {
|
||||
array_push($arr_need_columns, $item['headerfile']);
|
||||
}
|
||||
|
||||
//check excel data column with template associate data
|
||||
$verify_flag = true;
|
||||
for ($i = 0; $i < count($arr_need_columns); $i++) {
|
||||
if (!in_array($arr_need_columns[$i], $arr_excel_columns)) {
|
||||
$verify_flag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if ($verify_flag) {
|
||||
//separate by Sample Code (PO#) - product
|
||||
$idx_sample_code_po = array_search("Sample Code (PO#)", $arr_excel_columns);
|
||||
|
||||
|
||||
$arr_total_products = array();
|
||||
$tmp_arr_child_products = array();
|
||||
$tmp_sample_code_po = "";
|
||||
for ($i = 1; $i < count($arr_info); $i++) {
|
||||
if ($arr_info[$i][$idx_sample_code_po] == $tmp_sample_code_po) {
|
||||
array_push($tmp_arr_child_products, $arr_info[$i]);
|
||||
} else {
|
||||
if ($tmp_sample_code_po != "") {
|
||||
if (count($tmp_arr_child_products) > 0) {
|
||||
array_push($arr_total_products, $tmp_arr_child_products);
|
||||
}
|
||||
}
|
||||
$tmp_sample_code_po = $arr_info[$i][$idx_sample_code_po];
|
||||
$tmp_arr_child_products = array();
|
||||
array_push($tmp_arr_child_products, $arr_info[$i]);
|
||||
}
|
||||
}
|
||||
if (count($tmp_arr_child_products) > 0) {
|
||||
array_push($arr_total_products, $tmp_arr_child_products);
|
||||
}
|
||||
|
||||
|
||||
//define importcode (timestamp)
|
||||
$importcode = time();
|
||||
|
||||
//insert import his
|
||||
$InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
$InsertQuery->Action = "insert";
|
||||
$InsertQuery->Table = "`template_import_his`";
|
||||
$InsertQuery->bindColumn("created_at", "s", date("Y-m-d H:i:s"), "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("user_id", "i", "" . $_SESSION['iduserlogin'], "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "s", "" . $importcode, "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("f_status", "i", "0", "WA_DEFAULT");
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
|
||||
// post_async("localhost:80/0_claudio/reportify_new/public/userarea/importify/importify_bg_script.php", [
|
||||
// 'importcode' => $importcode
|
||||
// ]);
|
||||
|
||||
|
||||
post_async($_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'] . "/../importify_bg_script.php", [
|
||||
'arr_project' => json_encode($arr_total_products),
|
||||
'arr_excel_columns' => json_encode($arr_excel_columns),
|
||||
'arr_associate' => json_encode($arr_associate),
|
||||
'importcode' => $importcode
|
||||
]);
|
||||
|
||||
//insert to products table
|
||||
// foreach($arr_total_products as $product) {
|
||||
// //check exist product item
|
||||
// $sample_code_po = $product[0][$idx_sample_code_po];
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// $idproducts = "";
|
||||
//
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_product_need_idx = array();
|
||||
// for($i=0; $i<count($arr_associate); $i++) {
|
||||
// if($arr_associate[$i]['table_name'] == "products") {
|
||||
// array_push($arr_product_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`products`";
|
||||
// $InsertQuery->bindColumn("products_refnumber", "s", $product[0][$idx_sample_code_po], "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode. "", "WA_DEFAULT");
|
||||
// for($i=0; $i<count($arr_product_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_product_need_idx[$i][0], "s", $product[0][$arr_product_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// }
|
||||
// }
|
||||
// if($idproducts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //----------- report table ------------------
|
||||
// //separate reports table data
|
||||
// $idx_report_no_po = array_search("Report no.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_reports = array();
|
||||
// $tmp_arr_child_reports = array();
|
||||
// $tmp_report_no = "";
|
||||
// for($i=0; $i<count($product); $i++) {
|
||||
// if($product[$i][$idx_report_no_po] == $tmp_report_no) {
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// } else {
|
||||
// if($tmp_report_no != "") {
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
// }
|
||||
// $tmp_report_no = $product[$i][$idx_report_no_po];
|
||||
// $tmp_arr_child_reports = array();
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
//
|
||||
// //insert to reports table
|
||||
// foreach($arr_total_reports as $report) {
|
||||
// //check exist reports item
|
||||
// $report_no = $report[0][$idx_report_no_po];
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// $idreports = "";
|
||||
//
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// } else { // have to insert new
|
||||
// $arr_report_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "reports") {
|
||||
// array_push($arr_report_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`reports`";
|
||||
// $InsertQuery->bindColumn("reportsNumberLab", "s", $report[0][$idx_report_no_po]."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_report_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_report_need_idx[$i][0], "s", $report[0][$arr_report_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// }
|
||||
// }
|
||||
// if ($idreports == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- parts table ------------------
|
||||
// //separate parts table data
|
||||
// $idx_part_no_po = array_search("Part No.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_parts = array();
|
||||
// $tmp_arr_child_parts = array();
|
||||
// $tmp_part_no = "";
|
||||
// for($i=0; $i<count($report); $i++) {
|
||||
// if($report[$i][$idx_part_no_po] == $tmp_part_no) {
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// } else {
|
||||
// if($tmp_part_no != "") {
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
// }
|
||||
// $tmp_part_no = $report[$i][$idx_part_no_po];
|
||||
// $tmp_arr_child_parts = array();
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
//
|
||||
// //insert to parts table
|
||||
// foreach($arr_total_parts as $part) {
|
||||
// //check exist parts item
|
||||
// $part_no = $part[0][$idx_part_no_po];
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// $idparts = "";
|
||||
//
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_part_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "parts") {
|
||||
// array_push($arr_part_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`parts`";
|
||||
// $InsertQuery->bindColumn("partsCode", "s", $part[0][$idx_part_no_po] . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_part_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_part_need_idx[$i][0], "s", $part[0][$arr_part_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// }
|
||||
// }
|
||||
// if ($idparts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- result_project table ------------------
|
||||
// foreach($part as $result_project) {
|
||||
// //check exist result_project item
|
||||
//// $result_project_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
//// $sql_result_project_query = "SELECT * FROM result_project WHERE idPart='$idparts' and idreports='$idreports' and idproducts='$idproducts'";
|
||||
////
|
||||
// $arr_result_project_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "result_project") {
|
||||
// array_push($arr_result_project_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
////
|
||||
//// foreach($arr_result_project_need_idx as $q) {
|
||||
//// $sql_result_project_query .= " and ".$q[0]."='".$q[0]."'";
|
||||
//// }
|
||||
////
|
||||
//// $result_project_query->setQuery($sql_result_project_query);
|
||||
//// $result_project_query->execute();
|
||||
////
|
||||
//// $result_project_info = $result_project_query->Results;
|
||||
////
|
||||
//// if (count($result_project_info) == 0) {
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`result_project`";
|
||||
// $InsertQuery->bindColumn("idPart", "s", $idparts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_result_project_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_result_project_need_idx[$i][0], "s", $result_project[$arr_result_project_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
die('success');
|
||||
} else {
|
||||
die("invalid_excel_data_format_error");
|
||||
}
|
||||
} else {
|
||||
die("invalid_excel_data_format_error");
|
||||
}
|
||||
} else {
|
||||
die("none_define_column_error");
|
||||
}
|
||||
} else {
|
||||
die("file_empty_error");
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
<?php
|
||||
define('BASE_PATH', realpath(__DIR__ . '/../../..'));
|
||||
require_once(BASE_PATH . '\public\Connections\repnew.php');
|
||||
?>
|
||||
<?php require_once(BASE_PATH . '/public/webassist/mysqli/rsobj.php'); ?>
|
||||
<?php require_once(BASE_PATH . '/public/webassist/mysqli/queryobj.php'); ?>
|
||||
<?php require_once(BASE_PATH . "/public/webassist/form_validations/wavt_scripts_php.php"); ?>
|
||||
|
||||
<?php
|
||||
$arr_total_products = json_decode($_POST['arr_project']);
|
||||
$arr_excel_columns = json_decode($_POST['arr_excel_columns']);
|
||||
$arr_associate = json_decode($_POST['arr_associate']);
|
||||
$importcode = $_POST['importcode'];
|
||||
|
||||
$idx_sample_code_po = array_search("Sample Code (PO#)", $arr_excel_columns);
|
||||
|
||||
//insert to products table
|
||||
$idx = 0;
|
||||
foreach ($arr_total_products as $product) {
|
||||
//check exist product item
|
||||
$sample_code_po = $product[0][$idx_sample_code_po];
|
||||
$product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
$product_query->execute();
|
||||
|
||||
$product_info = $product_query->Results;
|
||||
$idproducts = "";
|
||||
|
||||
if (count($product_info) > 0) {
|
||||
$idproducts = $product_info[0]['idproducts'];
|
||||
} else { // have to insert new
|
||||
$arr_product_need_idx = array();
|
||||
for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
if ($arr_associate[$i]->table_name == "products") {
|
||||
array_push($arr_product_need_idx, array($arr_associate[$i]->column_name, array_search($arr_associate[$i]->headerfile, $arr_excel_columns)));
|
||||
}
|
||||
}
|
||||
|
||||
$InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
$InsertQuery->Action = "insert";
|
||||
$InsertQuery->Table = "`products`";
|
||||
$InsertQuery->bindColumn("products_refnumber", "s", $product[0][$idx_sample_code_po], "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
for ($i = 0; $i < count($arr_product_need_idx); $i++) {
|
||||
$InsertQuery->bindColumn($arr_product_need_idx[$i][0], "s", $product[0][$arr_product_need_idx[$i][1]], "WA_DEFAULT");
|
||||
}
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
|
||||
$product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
$product_query->execute();
|
||||
|
||||
$product_info = $product_query->Results;
|
||||
|
||||
if (count($product_info) > 0) {
|
||||
$idproducts = $product_info[0]['idproducts'];
|
||||
}
|
||||
}
|
||||
$idx++;
|
||||
|
||||
if ($idproducts == "") {
|
||||
die("server_error");
|
||||
}
|
||||
|
||||
//----------- report table ------------------
|
||||
//separate reports table data
|
||||
$idx_report_no_po = array_search("Report no.", $arr_excel_columns);
|
||||
|
||||
$arr_total_reports = array();
|
||||
$tmp_arr_child_reports = array();
|
||||
$tmp_report_no = "";
|
||||
for ($i = 0; $i < count($product); $i++) {
|
||||
if ($product[$i][$idx_report_no_po] == $tmp_report_no) {
|
||||
array_push($tmp_arr_child_reports, $product[$i]);
|
||||
} else {
|
||||
if ($tmp_report_no != "") {
|
||||
if (count($tmp_arr_child_reports) > 0) {
|
||||
array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
}
|
||||
}
|
||||
$tmp_report_no = $product[$i][$idx_report_no_po];
|
||||
$tmp_arr_child_reports = array();
|
||||
array_push($tmp_arr_child_reports, $product[$i]);
|
||||
}
|
||||
}
|
||||
if (count($tmp_arr_child_reports) > 0) {
|
||||
array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
}
|
||||
|
||||
//insert to reports table
|
||||
foreach ($arr_total_reports as $report) {
|
||||
//check exist reports item
|
||||
$report_no = $report[0][$idx_report_no_po];
|
||||
$report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
$report_query->execute();
|
||||
|
||||
$report_info = $report_query->Results;
|
||||
$idreports = "";
|
||||
|
||||
if (count($report_info) > 0) {
|
||||
$idreports = $report_info[0]['idreports'];
|
||||
} else { // have to insert new
|
||||
$arr_report_need_idx = array();
|
||||
for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
if ($arr_associate[$i]->table_name == "reports") {
|
||||
array_push($arr_report_need_idx, array($arr_associate[$i]->column_name, array_search($arr_associate[$i]->headerfile, $arr_excel_columns)));
|
||||
}
|
||||
}
|
||||
|
||||
$InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
$InsertQuery->Action = "insert";
|
||||
$InsertQuery->Table = "`reports`";
|
||||
$InsertQuery->bindColumn("reportsNumberLab", "s", $report[0][$idx_report_no_po] . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
for ($i = 0; $i < count($arr_report_need_idx); $i++) {
|
||||
$InsertQuery->bindColumn($arr_report_need_idx[$i][0], "s", $report[0][$arr_report_need_idx[$i][1]], "WA_DEFAULT");
|
||||
}
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
|
||||
$report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
$report_query->execute();
|
||||
|
||||
$report_info = $report_query->Results;
|
||||
if (count($report_info) > 0) {
|
||||
$idreports = $report_info[0]['idreports'];
|
||||
}
|
||||
}
|
||||
if ($idreports == "") {
|
||||
die("server_error");
|
||||
}
|
||||
|
||||
//----------- parts table ------------------
|
||||
//separate parts table data
|
||||
$idx_part_no_po = array_search("Part No.", $arr_excel_columns);
|
||||
|
||||
$arr_total_parts = array();
|
||||
$tmp_arr_child_parts = array();
|
||||
$tmp_part_no = "";
|
||||
for ($i = 0; $i < count($report); $i++) {
|
||||
if ($report[$i][$idx_part_no_po] == $tmp_part_no) {
|
||||
array_push($tmp_arr_child_parts, $report[$i]);
|
||||
} else {
|
||||
if ($tmp_part_no != "") {
|
||||
if (count($tmp_arr_child_parts) > 0) {
|
||||
array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
}
|
||||
}
|
||||
$tmp_part_no = $report[$i][$idx_part_no_po];
|
||||
$tmp_arr_child_parts = array();
|
||||
array_push($tmp_arr_child_parts, $report[$i]);
|
||||
}
|
||||
}
|
||||
if (count($tmp_arr_child_parts) > 0) {
|
||||
array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
}
|
||||
|
||||
//insert to parts table
|
||||
foreach ($arr_total_parts as $part) {
|
||||
//check exist parts item
|
||||
$part_no = $part[0][$idx_part_no_po];
|
||||
$part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
$part_query->execute();
|
||||
|
||||
$part_info = $part_query->Results;
|
||||
$idparts = "";
|
||||
|
||||
if (count($part_info) > 0) {
|
||||
$idparts = $part_info[0]['idParts'];
|
||||
} else { // have to insert new
|
||||
$arr_part_need_idx = array();
|
||||
for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
if ($arr_associate[$i]->table_name == "parts") {
|
||||
array_push($arr_part_need_idx, array($arr_associate[$i]->column_name, array_search($arr_associate[$i]->headerfile, $arr_excel_columns)));
|
||||
}
|
||||
}
|
||||
|
||||
$InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
$InsertQuery->Action = "insert";
|
||||
$InsertQuery->Table = "`parts`";
|
||||
$InsertQuery->bindColumn("partsCode", "s", $part[0][$idx_part_no_po] . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
for ($i = 0; $i < count($arr_part_need_idx); $i++) {
|
||||
$InsertQuery->bindColumn($arr_part_need_idx[$i][0], "s", $part[0][$arr_part_need_idx[$i][1]], "WA_DEFAULT");
|
||||
}
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
|
||||
$part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
$part_query->execute();
|
||||
|
||||
$part_info = $part_query->Results;
|
||||
if (count($part_info) > 0) {
|
||||
$idparts = $part_info[0]['idParts'];
|
||||
}
|
||||
}
|
||||
if ($idparts == "") {
|
||||
die("server_error");
|
||||
}
|
||||
|
||||
//----------- result_project table ------------------
|
||||
foreach ($part as $result_project) {
|
||||
//check exist result_project item
|
||||
// $result_project_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $sql_result_project_query = "SELECT * FROM result_project WHERE idPart='$idparts' and idreports='$idreports' and idproducts='$idproducts'";
|
||||
//
|
||||
$arr_result_project_need_idx = array();
|
||||
for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
if ($arr_associate[$i]->table_name == "result_project") {
|
||||
if ($arr_associate[$i]->column_name == "result_TestName") {
|
||||
$tmp_val = $result_project[array_search($arr_associate[$i]->headerfile, $arr_excel_columns)];
|
||||
$trim_item = str_replace("\n", "", str_replace("'", "\'", $tmp_val));
|
||||
$analysis_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$analysis_query->setQuery("SELECT * FROM analysisvocabulary WHERE nameanalysisvoc like '$trim_item'");
|
||||
$analysis_query->execute();
|
||||
|
||||
$analysis_data = $analysis_query->Results;
|
||||
$ref_id = 0;
|
||||
if (count($analysis_data) > 0) {
|
||||
$ref_id = $analysis_data[0]['idanalysisvocabulary'];
|
||||
}
|
||||
|
||||
array_push($arr_result_project_need_idx, array($arr_associate[$i]->column_name, $ref_id, 1));
|
||||
} else if ($arr_associate[$i]->column_name == "result_AnalytsName") {
|
||||
$tmp_val = $result_project[array_search($arr_associate[$i]->headerfile, $arr_excel_columns)];
|
||||
$trim_item = str_replace("\n", "", str_replace("'", "\'", $tmp_val));
|
||||
$analysis_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
$analysis_query->setQuery("SELECT * FROM compundsvocabulary WHERE namecompoundsvocabulary like '$tmp_val' or cascompoundvocabulary like '$tmp_val'");
|
||||
$analysis_query->execute();
|
||||
|
||||
$analysis_data = $analysis_query->Results;
|
||||
$ref_id = 0;
|
||||
if (count($analysis_data) > 0) {
|
||||
$ref_id = $analysis_data[0]['idcompoundsvocabulary'];
|
||||
}
|
||||
|
||||
array_push($arr_result_project_need_idx, array($arr_associate[$i]->column_name, $ref_id, 1));
|
||||
} else {
|
||||
array_push($arr_result_project_need_idx, array($arr_associate[$i]->column_name, array_search($arr_associate[$i]->headerfile, $arr_excel_columns), 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
//
|
||||
// foreach($arr_result_project_need_idx as $q) {
|
||||
// $sql_result_project_query .= " and ".$q[0]."='".$q[0]."'";
|
||||
// }
|
||||
//
|
||||
// $result_project_query->setQuery($sql_result_project_query);
|
||||
// $result_project_query->execute();
|
||||
//
|
||||
// $result_project_info = $result_project_query->Results;
|
||||
//
|
||||
// if (count($result_project_info) == 0) {
|
||||
$InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
$InsertQuery->Action = "insert";
|
||||
$InsertQuery->Table = "`result_project`";
|
||||
$InsertQuery->bindColumn("idPart", "s", $idparts . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
for ($i = 0; $i < count($arr_result_project_need_idx); $i++) {
|
||||
if ($arr_result_project_need_idx[$i][2] > 0) {
|
||||
$InsertQuery->bindColumn($arr_result_project_need_idx[$i][0], "s", $arr_result_project_need_idx[$i][1], "WA_DEFAULT");
|
||||
} else {
|
||||
$InsertQuery->bindColumn($arr_result_project_need_idx[$i][0], "s", $result_project[$arr_result_project_need_idx[$i][1]], "WA_DEFAULT");
|
||||
}
|
||||
}
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
// }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$UpdateQuery = new WA_MySQLi_Query($repnew);
|
||||
$UpdateQuery->Action = "update";
|
||||
$UpdateQuery->Table = "`template_import_his`";
|
||||
$UpdateQuery->bindColumn("f_status", "i", "1", "WA_DEFAULT");
|
||||
$UpdateQuery->addFilter("importcode", "=", "s", "" . $importcode . "");
|
||||
$UpdateQuery->execute();
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php include('../include/headscript.php'); ?>
|
||||
<?php
|
||||
require '../../vendor/autoload.php';
|
||||
|
||||
use PhpOffice\PhpSpreadsheet\IOFactory;
|
||||
use PhpOffice\PhpSpreadsheet\Reader\IReader;
|
||||
|
||||
@@ -8,28 +9,32 @@ function post_async($url, array $params)
|
||||
{
|
||||
foreach ($params as $key => &$val) {
|
||||
if (is_array($val)) $val = implode(',', $val);
|
||||
$post_params[] = $key.'='.urlencode($val);
|
||||
$post_params[] = $key . '=' . urlencode($val);
|
||||
}
|
||||
$post_string = implode('&', $post_params);
|
||||
|
||||
$parts=parse_url($url);
|
||||
$parts = parse_url($url);
|
||||
|
||||
$fp = fsockopen($parts['host'],
|
||||
isset($parts['port'])?$parts['port']:80,
|
||||
$errno, $errstr, 30);
|
||||
$fp = fsockopen(
|
||||
$parts['host'],
|
||||
isset($parts['port']) ? $parts['port'] : 80,
|
||||
$errno,
|
||||
$errstr,
|
||||
30
|
||||
);
|
||||
|
||||
$out = "POST ".$parts['path']." HTTP/1.1\r\n";
|
||||
$out.= "Host: ".$parts['host']."\r\n";
|
||||
$out.= "Content-Type: application/x-www-form-urlencoded\r\n";
|
||||
$out.= "Content-Length: ".strlen($post_string)."\r\n";
|
||||
$out.= "Connection: Close\r\n\r\n";
|
||||
if (isset($post_string)) $out.= $post_string;
|
||||
$out = "POST " . $parts['path'] . " HTTP/1.1\r\n";
|
||||
$out .= "Host: " . $parts['host'] . "\r\n";
|
||||
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
|
||||
$out .= "Content-Length: " . strlen($post_string) . "\r\n";
|
||||
$out .= "Connection: Close\r\n\r\n";
|
||||
if (isset($post_string)) $out .= $post_string;
|
||||
|
||||
fwrite($fp, $out);
|
||||
fclose($fp);
|
||||
}
|
||||
|
||||
if(isset($_FILES['f_csv'])) {
|
||||
if (isset($_FILES['f_csv'])) {
|
||||
$file = $_FILES['f_csv']['tmp_name'];
|
||||
$template_id = $_POST['template_id'];
|
||||
|
||||
@@ -39,11 +44,11 @@ if(isset($_FILES['f_csv'])) {
|
||||
$arr_associate_data->execute();
|
||||
$arr_associate = $arr_associate_data->Results;
|
||||
|
||||
if(count($arr_associate) > 0) { //check define columns
|
||||
if (count($arr_associate) > 0) { //check define columns
|
||||
$spreadsheet = IOFactory::load($file);
|
||||
$worksheet = $spreadsheet->getActiveSheet();
|
||||
$arr_info = $worksheet->toArray();
|
||||
if(count($arr_info) > 1) { //check excel rows
|
||||
$arr_info = $worksheet->toArray();
|
||||
if (count($arr_info) > 1) { //check excel rows
|
||||
$arr_excel_columns = $arr_info[0];
|
||||
$arr_need_columns = array();
|
||||
array_push($arr_need_columns, "Sample Code (PO#)");
|
||||
@@ -51,7 +56,7 @@ if(isset($_FILES['f_csv'])) {
|
||||
array_push($arr_need_columns, "Part No.");
|
||||
|
||||
// remove empty rows
|
||||
$arr_info = array_filter($arr_info, function($row) {
|
||||
$arr_info = array_filter($arr_info, function ($row) {
|
||||
return !empty(array_filter($row));
|
||||
});
|
||||
|
||||
@@ -61,7 +66,7 @@ if(isset($_FILES['f_csv'])) {
|
||||
$colCount = count($arr_info[$i]);
|
||||
for ($j = 0; $j < $colCount; $j++) {
|
||||
$value = $arr_info[$i][$j];
|
||||
|
||||
|
||||
// Check if the value is a string that matches the m/d/yyyy format
|
||||
if (is_string($value) && preg_match('/^\d{1,2}\/\d{1,2}\/\d{4}$/', $value)) {
|
||||
// Convert to DateTime and format to Y-m-d
|
||||
@@ -73,20 +78,20 @@ if(isset($_FILES['f_csv'])) {
|
||||
}
|
||||
}
|
||||
|
||||
foreach($arr_associate as $item) {
|
||||
foreach ($arr_associate as $item) {
|
||||
array_push($arr_need_columns, $item['headerfile']);
|
||||
}
|
||||
|
||||
//check excel data column with template associate data
|
||||
$verify_flag = true;
|
||||
for($i=0; $i<count($arr_need_columns); $i++) {
|
||||
if(!in_array($arr_need_columns[$i], $arr_excel_columns)) {
|
||||
for ($i = 0; $i < count($arr_need_columns); $i++) {
|
||||
if (!in_array($arr_need_columns[$i], $arr_excel_columns)) {
|
||||
$verify_flag = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($verify_flag) {
|
||||
if ($verify_flag) {
|
||||
//separate by Sample Code (PO#) - product
|
||||
$idx_sample_code_po = array_search("Sample Code (PO#)", $arr_excel_columns);
|
||||
|
||||
@@ -94,12 +99,12 @@ if(isset($_FILES['f_csv'])) {
|
||||
$arr_total_products = array();
|
||||
$tmp_arr_child_products = array();
|
||||
$tmp_sample_code_po = "";
|
||||
for($i=1; $i<count($arr_info); $i++) {
|
||||
if($arr_info[$i][$idx_sample_code_po] == $tmp_sample_code_po) {
|
||||
for ($i = 1; $i < count($arr_info); $i++) {
|
||||
if ($arr_info[$i][$idx_sample_code_po] == $tmp_sample_code_po) {
|
||||
array_push($tmp_arr_child_products, $arr_info[$i]);
|
||||
} else {
|
||||
if($tmp_sample_code_po != "") {
|
||||
if(count($tmp_arr_child_products) > 0) {
|
||||
if ($tmp_sample_code_po != "") {
|
||||
if (count($tmp_arr_child_products) > 0) {
|
||||
array_push($arr_total_products, $tmp_arr_child_products);
|
||||
}
|
||||
}
|
||||
@@ -108,7 +113,7 @@ if(isset($_FILES['f_csv'])) {
|
||||
array_push($tmp_arr_child_products, $arr_info[$i]);
|
||||
}
|
||||
}
|
||||
if(count($tmp_arr_child_products) > 0) {
|
||||
if (count($tmp_arr_child_products) > 0) {
|
||||
array_push($arr_total_products, $tmp_arr_child_products);
|
||||
}
|
||||
|
||||
@@ -122,17 +127,17 @@ if(isset($_FILES['f_csv'])) {
|
||||
$InsertQuery->Table = "`template_import_his`";
|
||||
$InsertQuery->bindColumn("created_at", "s", date("Y-m-d H:i:s"), "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("user_id", "i", "" . $_SESSION['iduserlogin'], "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "s", "" .$importcode, "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("importcode", "s", "" . $importcode, "WA_DEFAULT");
|
||||
$InsertQuery->bindColumn("f_status", "i", "0", "WA_DEFAULT");
|
||||
$InsertQuery->saveInSession("");
|
||||
$InsertQuery->execute();
|
||||
|
||||
// post_async("localhost:80/0_claudio/reportify_new/public/userarea/importify/importify_bg_script.php", [
|
||||
// 'importcode' => $importcode
|
||||
// ]);
|
||||
// post_async("localhost:80/0_claudio/reportify_new/public/userarea/importify/importify_bg_script.php", [
|
||||
// 'importcode' => $importcode
|
||||
// ]);
|
||||
|
||||
|
||||
post_async($_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI']."/../importify_bg_script.php", [
|
||||
post_async($_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI'] . "/../importify_bg_script.php", [
|
||||
'arr_project' => json_encode($arr_total_products),
|
||||
'arr_excel_columns' => json_encode($arr_excel_columns),
|
||||
'arr_associate' => json_encode($arr_associate),
|
||||
@@ -140,234 +145,234 @@ if(isset($_FILES['f_csv'])) {
|
||||
]);
|
||||
|
||||
//insert to products table
|
||||
// foreach($arr_total_products as $product) {
|
||||
// //check exist product item
|
||||
// $sample_code_po = $product[0][$idx_sample_code_po];
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// $idproducts = "";
|
||||
//
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_product_need_idx = array();
|
||||
// for($i=0; $i<count($arr_associate); $i++) {
|
||||
// if($arr_associate[$i]['table_name'] == "products") {
|
||||
// array_push($arr_product_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`products`";
|
||||
// $InsertQuery->bindColumn("products_refnumber", "s", $product[0][$idx_sample_code_po], "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode. "", "WA_DEFAULT");
|
||||
// for($i=0; $i<count($arr_product_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_product_need_idx[$i][0], "s", $product[0][$arr_product_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// }
|
||||
// }
|
||||
// if($idproducts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //----------- report table ------------------
|
||||
// //separate reports table data
|
||||
// $idx_report_no_po = array_search("Report no.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_reports = array();
|
||||
// $tmp_arr_child_reports = array();
|
||||
// $tmp_report_no = "";
|
||||
// for($i=0; $i<count($product); $i++) {
|
||||
// if($product[$i][$idx_report_no_po] == $tmp_report_no) {
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// } else {
|
||||
// if($tmp_report_no != "") {
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
// }
|
||||
// $tmp_report_no = $product[$i][$idx_report_no_po];
|
||||
// $tmp_arr_child_reports = array();
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
//
|
||||
// //insert to reports table
|
||||
// foreach($arr_total_reports as $report) {
|
||||
// //check exist reports item
|
||||
// $report_no = $report[0][$idx_report_no_po];
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// $idreports = "";
|
||||
//
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// } else { // have to insert new
|
||||
// $arr_report_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "reports") {
|
||||
// array_push($arr_report_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`reports`";
|
||||
// $InsertQuery->bindColumn("reportsNumberLab", "s", $report[0][$idx_report_no_po]."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_report_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_report_need_idx[$i][0], "s", $report[0][$arr_report_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// }
|
||||
// }
|
||||
// if ($idreports == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- parts table ------------------
|
||||
// //separate parts table data
|
||||
// $idx_part_no_po = array_search("Part No.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_parts = array();
|
||||
// $tmp_arr_child_parts = array();
|
||||
// $tmp_part_no = "";
|
||||
// for($i=0; $i<count($report); $i++) {
|
||||
// if($report[$i][$idx_part_no_po] == $tmp_part_no) {
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// } else {
|
||||
// if($tmp_part_no != "") {
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
// }
|
||||
// $tmp_part_no = $report[$i][$idx_part_no_po];
|
||||
// $tmp_arr_child_parts = array();
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
//
|
||||
// //insert to parts table
|
||||
// foreach($arr_total_parts as $part) {
|
||||
// //check exist parts item
|
||||
// $part_no = $part[0][$idx_part_no_po];
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// $idparts = "";
|
||||
//
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_part_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "parts") {
|
||||
// array_push($arr_part_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`parts`";
|
||||
// $InsertQuery->bindColumn("partsCode", "s", $part[0][$idx_part_no_po] . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_part_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_part_need_idx[$i][0], "s", $part[0][$arr_part_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// }
|
||||
// }
|
||||
// if ($idparts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- result_project table ------------------
|
||||
// foreach($part as $result_project) {
|
||||
// //check exist result_project item
|
||||
//// $result_project_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
//// $sql_result_project_query = "SELECT * FROM result_project WHERE idPart='$idparts' and idreports='$idreports' and idproducts='$idproducts'";
|
||||
////
|
||||
// $arr_result_project_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "result_project") {
|
||||
// array_push($arr_result_project_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
////
|
||||
//// foreach($arr_result_project_need_idx as $q) {
|
||||
//// $sql_result_project_query .= " and ".$q[0]."='".$q[0]."'";
|
||||
//// }
|
||||
////
|
||||
//// $result_project_query->setQuery($sql_result_project_query);
|
||||
//// $result_project_query->execute();
|
||||
////
|
||||
//// $result_project_info = $result_project_query->Results;
|
||||
////
|
||||
//// if (count($result_project_info) == 0) {
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`result_project`";
|
||||
// $InsertQuery->bindColumn("idPart", "s", $idparts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_result_project_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_result_project_need_idx[$i][0], "s", $result_project[$arr_result_project_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// foreach($arr_total_products as $product) {
|
||||
// //check exist product item
|
||||
// $sample_code_po = $product[0][$idx_sample_code_po];
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// $idproducts = "";
|
||||
//
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_product_need_idx = array();
|
||||
// for($i=0; $i<count($arr_associate); $i++) {
|
||||
// if($arr_associate[$i]['table_name'] == "products") {
|
||||
// array_push($arr_product_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`products`";
|
||||
// $InsertQuery->bindColumn("products_refnumber", "s", $product[0][$idx_sample_code_po], "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode. "", "WA_DEFAULT");
|
||||
// for($i=0; $i<count($arr_product_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_product_need_idx[$i][0], "s", $product[0][$arr_product_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $product_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $product_query->setQuery("SELECT * FROM products WHERE products_refnumber='$sample_code_po'");
|
||||
// $product_query->execute();
|
||||
//
|
||||
// $product_info = $product_query->Results;
|
||||
// if(count($product_info) > 0) {
|
||||
// $idproducts = $product_info[0]['idproducts'];
|
||||
// }
|
||||
// }
|
||||
// if($idproducts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
//
|
||||
// //----------- report table ------------------
|
||||
// //separate reports table data
|
||||
// $idx_report_no_po = array_search("Report no.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_reports = array();
|
||||
// $tmp_arr_child_reports = array();
|
||||
// $tmp_report_no = "";
|
||||
// for($i=0; $i<count($product); $i++) {
|
||||
// if($product[$i][$idx_report_no_po] == $tmp_report_no) {
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// } else {
|
||||
// if($tmp_report_no != "") {
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
// }
|
||||
// $tmp_report_no = $product[$i][$idx_report_no_po];
|
||||
// $tmp_arr_child_reports = array();
|
||||
// array_push($tmp_arr_child_reports, $product[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_reports) > 0) {
|
||||
// array_push($arr_total_reports, $tmp_arr_child_reports);
|
||||
// }
|
||||
//
|
||||
// //insert to reports table
|
||||
// foreach($arr_total_reports as $report) {
|
||||
// //check exist reports item
|
||||
// $report_no = $report[0][$idx_report_no_po];
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// $idreports = "";
|
||||
//
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// } else { // have to insert new
|
||||
// $arr_report_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "reports") {
|
||||
// array_push($arr_report_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`reports`";
|
||||
// $InsertQuery->bindColumn("reportsNumberLab", "s", $report[0][$idx_report_no_po]."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts."", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_report_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_report_need_idx[$i][0], "s", $report[0][$arr_report_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $report_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $report_query->setQuery("SELECT * FROM reports WHERE reportsNumberLab='$report_no' and idproducts='$idproducts'");
|
||||
// $report_query->execute();
|
||||
//
|
||||
// $report_info = $report_query->Results;
|
||||
// if (count($report_info) > 0) {
|
||||
// $idreports = $report_info[0]['idreports'];
|
||||
// }
|
||||
// }
|
||||
// if ($idreports == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- parts table ------------------
|
||||
// //separate parts table data
|
||||
// $idx_part_no_po = array_search("Part No.", $arr_excel_columns);
|
||||
//
|
||||
// $arr_total_parts = array();
|
||||
// $tmp_arr_child_parts = array();
|
||||
// $tmp_part_no = "";
|
||||
// for($i=0; $i<count($report); $i++) {
|
||||
// if($report[$i][$idx_part_no_po] == $tmp_part_no) {
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// } else {
|
||||
// if($tmp_part_no != "") {
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
// }
|
||||
// $tmp_part_no = $report[$i][$idx_part_no_po];
|
||||
// $tmp_arr_child_parts = array();
|
||||
// array_push($tmp_arr_child_parts, $report[$i]);
|
||||
// }
|
||||
// }
|
||||
// if(count($tmp_arr_child_parts) > 0) {
|
||||
// array_push($arr_total_parts, $tmp_arr_child_parts);
|
||||
// }
|
||||
//
|
||||
// //insert to parts table
|
||||
// foreach($arr_total_parts as $part) {
|
||||
// //check exist parts item
|
||||
// $part_no = $part[0][$idx_part_no_po];
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// $idparts = "";
|
||||
//
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// } else { // have to insert new
|
||||
// $arr_part_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "parts") {
|
||||
// array_push($arr_part_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`parts`";
|
||||
// $InsertQuery->bindColumn("partsCode", "s", $part[0][$idx_part_no_po] . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_part_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_part_need_idx[$i][0], "s", $part[0][$arr_part_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//
|
||||
// $part_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
// $part_query->setQuery("SELECT * FROM parts WHERE partsCode='$part_no' and idreports='$idreports' and idproducts='$idproducts'");
|
||||
// $part_query->execute();
|
||||
//
|
||||
// $part_info = $part_query->Results;
|
||||
// if (count($part_info) > 0) {
|
||||
// $idparts = $part_info[0]['idParts'];
|
||||
// }
|
||||
// }
|
||||
// if ($idparts == "") {
|
||||
// die("server_error");
|
||||
// }
|
||||
//
|
||||
// //----------- result_project table ------------------
|
||||
// foreach($part as $result_project) {
|
||||
// //check exist result_project item
|
||||
//// $result_project_query = new WA_MySQLi_RS("getquery", $repnew, 0);
|
||||
//// $sql_result_project_query = "SELECT * FROM result_project WHERE idPart='$idparts' and idreports='$idreports' and idproducts='$idproducts'";
|
||||
////
|
||||
// $arr_result_project_need_idx = array();
|
||||
// for ($i = 0; $i < count($arr_associate); $i++) {
|
||||
// if ($arr_associate[$i]['table_name'] == "result_project") {
|
||||
// array_push($arr_result_project_need_idx, array($arr_associate[$i]['column_name'], array_search($arr_associate[$i]['headerfile'], $arr_excel_columns)));
|
||||
// }
|
||||
// }
|
||||
////
|
||||
//// foreach($arr_result_project_need_idx as $q) {
|
||||
//// $sql_result_project_query .= " and ".$q[0]."='".$q[0]."'";
|
||||
//// }
|
||||
////
|
||||
//// $result_project_query->setQuery($sql_result_project_query);
|
||||
//// $result_project_query->execute();
|
||||
////
|
||||
//// $result_project_info = $result_project_query->Results;
|
||||
////
|
||||
//// if (count($result_project_info) == 0) {
|
||||
// $InsertQuery = new WA_MySQLi_Query($repnew);
|
||||
// $InsertQuery->Action = "insert";
|
||||
// $InsertQuery->Table = "`result_project`";
|
||||
// $InsertQuery->bindColumn("idPart", "s", $idparts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idproducts", "i", "" . $idproducts . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("idreports", "i", "" . $idreports . "", "WA_DEFAULT");
|
||||
// $InsertQuery->bindColumn("importcode", "i", "" . $importcode . "", "WA_DEFAULT");
|
||||
// for ($i = 0; $i < count($arr_result_project_need_idx); $i++) {
|
||||
// $InsertQuery->bindColumn($arr_result_project_need_idx[$i][0], "s", $result_project[$arr_result_project_need_idx[$i][1]], "WA_DEFAULT");
|
||||
// }
|
||||
// $InsertQuery->saveInSession("");
|
||||
// $InsertQuery->execute();
|
||||
//// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
die('success');
|
||||
} else {
|
||||
@@ -382,7 +387,3 @@ if(isset($_FILES['f_csv'])) {
|
||||
} else {
|
||||
die("file_empty_error");
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user