diff --git a/public/userarea/importify/bck300924-import_auto_script.php b/public/userarea/importify/bck300924-import_auto_script.php new file mode 100644 index 0000000..01a2a6b --- /dev/null +++ b/public/userarea/importify/bck300924-import_auto_script.php @@ -0,0 +1,389 @@ + + &$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; $iAction = "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; $ibindColumn($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 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 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"); +} diff --git a/public/userarea/importify/bck300924-importify_bg_script.php b/public/userarea/importify/bck300924-importify_bg_script.php new file mode 100644 index 0000000..8b3368e --- /dev/null +++ b/public/userarea/importify/bck300924-importify_bg_script.php @@ -0,0 +1,289 @@ + + + + + +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(); diff --git a/public/userarea/importify/import_auto_script.php b/public/userarea/importify/import_auto_script.php index f8b016b..01a2a6b 100644 --- a/public/userarea/importify/import_auto_script.php +++ b/public/userarea/importify/import_auto_script.php @@ -1,6 +1,7 @@ &$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 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; $iAction = "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; $ibindColumn($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 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 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; $iAction = "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; $ibindColumn($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 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 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"); } - - - - diff --git a/public/userarea/products/get_user_table_settings.php b/public/userarea/products/get_user_table_settings.php new file mode 100644 index 0000000..a13a82f --- /dev/null +++ b/public/userarea/products/get_user_table_settings.php @@ -0,0 +1,48 @@ +connect_error) { + die("Connection failed: " . $conn->connect_error); + } + + // Query per verificare se il record esiste + $query = "SELECT * FROM user_table_settings WHERE iduser = ? AND page = ?"; + $stmt = $conn->prepare($query); + $stmt->bind_param("is", $userId, $tablen); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + // Restituisci i dati esistenti + $row = $result->fetch_assoc(); + echo json_encode([ + 'column_visibility' => $row['column_visibility'], + 'column_order' => $row['column_order'] + ]); + } else { + // Crea un record di default se non esiste + $defaultVisibility = json_encode([/* Impostazioni di visibilità predefinite */]); + $defaultOrder = json_encode([/* Ordine delle colonne predefinito */]); + + $insertQuery = "INSERT INTO user_table_settings (iduser, page, column_visibility, column_order, created_at) VALUES (?, ?, ?, ?, NOW())"; + $insertStmt = $conn->prepare($insertQuery); + $insertStmt->bind_param("isss", $userId, $tablen, $defaultVisibility, $defaultOrder); + $insertStmt->execute(); + + // Restituisci le impostazioni predefinite + echo json_encode([ + 'column_visibility' => $defaultVisibility, + 'column_order' => $defaultOrder + ]); + } +} diff --git a/public/userarea/products/products.php b/public/userarea/products/products.php index 8a397f6..69b70e8 100644 --- a/public/userarea/products/products.php +++ b/public/userarea/products/products.php @@ -1,5 +1,22 @@ - - + +prepare($query); +$stmt->bind_param("is", $iduserlogin, $page); +$stmt->execute(); +$stmt->bind_result($column_visibility, $column_order); +$stmt->fetch(); +$stmt->close(); +?> query($query); - - + + + + + + + + + + + + + + + - - @@ -59,6 +87,41 @@ $result = $conn->query($query); .text-dark { color: black !important; } + + .custom-colvis-btn .dt-button { + background-color: #f8f9fa !important; + /* Colore di sfondo chiaro per i pulsanti */ + color: #343a40 !important; + /* Testo scuro per il contrasto */ + border: 1px solid #ced4da !important; + /* Bordo leggero */ + } + + .custom-colvis-btn .dt-button.active { + background-color: #007bff !important; + /* Colore di sfondo attivo (blu) */ + color: white !important; + /* Testo bianco per il contrasto */ + } + + .custom-colvis-btn .dt-button:hover { + background-color: #0056b3 !important; + /* Colore al passaggio del mouse (blu più scuro) */ + color: white !important; + } + + /* Forza il contrasto per i pulsanti del selettore */ + .dt-button-collection button.active { + background-color: #007bff !important; + /* Colore per il bottone selezionato */ + color: #007bff !important; + } + + .dt-button-collection button { + background-color: #f8f9fa !important; + /* Colore per i bottoni non attivi */ + color: #000 !important; + } @@ -93,6 +156,19 @@ $result = $conn->query($query); Color Season Market + SKU + Order + Buyer + Fiber Content Result + Supplier + Department + Production Date + Date In Lab + Date Out Lab + Lab Service + Age Range + Division + Phase Action @@ -105,6 +181,19 @@ $result = $conn->query($query); + + + + + + + + + + + + + @@ -118,65 +207,115 @@ $result = $conn->query($query); + - + + + + + + + \ No newline at end of file diff --git a/public/userarea/products/save_table_settings.php b/public/userarea/products/save_table_settings.php new file mode 100644 index 0000000..1b6264f --- /dev/null +++ b/public/userarea/products/save_table_settings.php @@ -0,0 +1,40 @@ +prepare("SELECT * FROM user_table_settings WHERE iduser = ? AND page_name = ?"); + $stmt->bind_param("is", $iduser, $page); + $stmt->execute(); + $result = $stmt->get_result(); + + if ($result->num_rows > 0) { + // Aggiorna le impostazioni esistenti + $stmt = $conn->prepare("UPDATE user_table_settings SET column_visibility = ?, column_order = ? WHERE iduser = ? AND page_name = ?"); + $stmt->bind_param("ssis", $column_visibility, $column_order, $iduser, $page); + } else { + // Inserisci nuove impostazioni + $stmt = $conn->prepare("INSERT INTO user_table_settings (iduser, page_name, column_visibility, column_order) VALUES (?, ?, ?, ?)"); + $stmt->bind_param("isss", $iduser, $page, $column_visibility, $column_order); + } + + if ($stmt->execute()) { + echo json_encode(['success' => true]); + } else { + echo json_encode(['error' => 'Failed to save settings']); + } +} else { + // Se non ci sono dati sufficienti, invia un errore + http_response_code(400); + echo json_encode(['error' => 'Invalid request']); +} + +$conn->close(); +?>