Merge branch 'lasha_kapanadze_thirdAndFourthTask'

This commit is contained in:
Claudio 2024-10-04 18:58:55 +02:00
commit 2ea676adae
14 changed files with 178 additions and 57 deletions

View File

@ -0,0 +1,6 @@
<?php
// redirect to userarea/index.php
header('Location: ../../userarea/index.php');
?>

View File

@ -18,23 +18,52 @@ if(isset($_FILES['f_csv'])) {
$spreadsheet = IOFactory::load($file, IReader::READ_DATA_ONLY);
$worksheet = $spreadsheet->getActiveSheet();
$arr_info = $worksheet->toArray();
$productsRefNumber_excelName = '';
$reportsNumberLab_excelName = '';
$partsCode_excelName = '';
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.");
$arr_need_columns = array();
foreach ($arr_associate as $item){
if($item['column_name'] == 'products_refnumber'){
$productsRefNumber_excelName = $item['headerfile'];
}
if($item['column_name'] == 'reportsNumberLab'){
$reportsNumberLab_excelName = $item['headerfile'];
}
if($item['column_name'] == 'partsCode'){
$partsCode_excelName = $item['headerfile'];
}
}
array_push($arr_need_columns, $productsRefNumber_excelName);
array_push($arr_need_columns, $reportsNumberLab_excelName);
array_push($arr_need_columns, $partsCode_excelName);
$result_groupNameHeaderFile = ""; //for analysisgroupcode
$result_testNameHeaderFile = ""; //for analysisvocabulary
$result_CasNameHeaderFile = ""; //for compundsvocabulary
$result_AnalytsNameHeaderFile = ""; //for compundsvocabulary
foreach($arr_associate as $item) {
array_push($arr_need_columns, $item['headerfile']);
if($item['column_name'] == 'analysisgroupcode'){
$result_groupNameHeaderFile = $item['headerfile'];
}
if($item['column_name'] == 'result_TestName') {
$result_testNameHeaderFile = $item['headerfile'];
}
if($item['column_name'] == 'cas'){
$result_CasNameHeaderFile = $item['headerfile'];
}
if($item['column_name'] == 'result_AnalytsName') {
$result_AnalytsNameHeaderFile = $item['headerfile'];
}
@ -55,19 +84,30 @@ if(isset($_FILES['f_csv'])) {
if($result_testNameHeaderFile != "") {
$arr_diff_anaysisvoc_words = array();
$idx_resultTestName_po = array_search($result_testNameHeaderFile, $arr_excel_columns);
$idx_groupCodeHeaderFile = array_search($result_groupNameHeaderFile, $arr_excel_columns);
for($i=1; $i<count($arr_info); $i++) {
if(!in_array($arr_info[$i][$idx_resultTestName_po], $arr_diff_anaysisvoc_words)) {
array_push($arr_diff_anaysisvoc_words, $arr_info[$i][$idx_resultTestName_po]);
array_push($arr_diff_anaysisvoc_words,
array(
"word"=>$arr_info[$i][$idx_resultTestName_po],
"groupcode"=> $arr_info[$i][$idx_groupCodeHeaderFile],
));
}
}
foreach($arr_diff_anaysisvoc_words as $item) {
$arr_analysis_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
$trim_item = str_replace("\n", "", str_replace("'", "\'", $item));
$arr_analysis_refdata->setQuery("SELECT * FROM analysisvocabulary where nameanalysisvoc like '$trim_item'");
$trim_item = str_replace("\n", "", str_replace("'", "\'", $item['word']));
$groupcodeTrimmed = str_replace("\n", "", str_replace("'", "\'", $item['groupcode']));
$arr_analysis_refdata->setQuery("SELECT * FROM analysisvocabulary where analysiscode like '$groupcodeTrimmed'");
$arr_analysis_refdata->execute();
$arr_analysis_ref = $arr_analysis_refdata->Results;
if($arr_analysis_ref > 0){
$arr_analysis_refdata->setQuery("SELECT * FROM analysisvocabulary where nameanalysisvoc like '$trim_item'");
$arr_analysis_refdata->execute();
$arr_analysis_ref = $arr_analysis_refdata->Results;
}
if(count($arr_analysis_ref) == 0) {
//check kind
$arr_analysiskind_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
@ -75,7 +115,7 @@ if(isset($_FILES['f_csv'])) {
$arr_analysiskind_refdata->execute();
$arr_analysiskind_ref = $arr_analysiskind_refdata->Results;
array_push($arr_anaysisvoc_words, array(
'word' => $item,
'word' => $item['word'],
'arr_similary' => $arr_analysiskind_ref
));
}
@ -88,6 +128,7 @@ if(isset($_FILES['f_csv'])) {
$arr_diff_compundsvoc_words = array();
$arr_tmp_diff_compundsvoc_words = array();
$idx_resultAnalytsName_po = array_search($result_AnalytsNameHeaderFile, $arr_excel_columns);
$idx_resultAnalytsName_cas = array_search($result_CasNameHeaderFile, $arr_excel_columns);
$idx_resultTestName_po = $result_testNameHeaderFile != "" ? array_search($result_testNameHeaderFile, $arr_excel_columns) : 0;
for($i=1; $i<count($arr_info); $i++) {
@ -95,18 +136,25 @@ if(isset($_FILES['f_csv'])) {
array_push($arr_tmp_diff_compundsvoc_words, $arr_info[$i][$idx_resultAnalytsName_po]);
array_push($arr_diff_compundsvoc_words, array(
'word' => $arr_info[$i][$idx_resultAnalytsName_po],
'cas' => $arr_info[$i][$idx_resultAnalytsName_cas],
'analysis_word' => $result_testNameHeaderFile != "" ? $arr_info[$i][$idx_resultTestName_po] : ""
));
}
}
foreach($arr_diff_compundsvoc_words as $item) {
foreach($arr_diff_compundsvoc_words as $item) {
$arr_compunds_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
$compund_word = $item['word'];
$compund_cas = $item['cas'];
$trim_item = str_replace("\n", "", str_replace("'", "\'", $compund_word));
$arr_compunds_refdata->setQuery("SELECT * FROM compundsvocabulary where namecompoundsvocabulary like '$trim_item' or cascompoundvocabulary like '$trim_item'");
$arr_compunds_refdata->setQuery("SELECT * FROM compundsvocabulary where cascompoundvocabulary like '%$compund_cas%'");
$arr_compunds_refdata->execute();
$arr_compunds_ref = $arr_compunds_refdata->Results;
if($arr_compunds_ref > 0 ){
$arr_compunds_refdata->setQuery("SELECT * FROM compundsvocabulary where namecompoundsvocabulary like '$trim_item' or cascompoundvocabulary like '$trim_item'");
$arr_compunds_refdata->execute();
$arr_compunds_ref = $arr_compunds_refdata->Results;
}
if(count($arr_compunds_ref) == 0) {
//check kind
$arr_compundskind_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
@ -119,7 +167,7 @@ if(isset($_FILES['f_csv'])) {
'arr_similary' => $arr_compundskind_ref
));
}
}
}
}
die(json_encode(array(
@ -138,8 +186,4 @@ if(isset($_FILES['f_csv'])) {
}
} else {
die("file_empty_error");
}
}

View File

@ -25,12 +25,12 @@
$arr_old_column_name = array();
$arr_old_headerfile = array();
$arr_old_db_headerfile = array();
foreach($arr_exist_info->Results as $item) {
foreach($arr_exist_info->Results as $item) {
array_push($arr_old_table_name, $item['table_name']);
array_push($arr_old_column_name, $item['column_name']);
array_push($arr_old_headerfile, $item['headerfile']);
array_push($arr_old_db_headerfile, $item['db_headerfile']);
}
}
?>
<!DOCTYPE html>
<html lang="en">
@ -258,7 +258,7 @@
<tr>
<td><?=$arr_old_headerfile[$i]?></td>
<td><i class="ion-arrow-right-c" style="width: 30px"></i></td>
<td><?=$arr_old_db_headerfile[$i]?></td>
<td><?=$arr_old_column_name[$i]?></td>
<td><input class="hidden" value="<?=$arr_old_table_name[$i]?>"><input class="hidden" value="<?=$arr_old_column_name[$i]?>"><a onclick="onRemoveResult(this)" style="color: red; padding: 5px; cursor:pointer; font-size: 16px"><i class="ion-close-circled"></i></a></td>
</tr>
<?php

View File

@ -43,6 +43,10 @@ if (isset($_FILES['f_csv'])) {
$arr_associate_data->setQuery("SELECT * FROM template_associate where template_importify_id=$template_id");
$arr_associate_data->execute();
$arr_associate = $arr_associate_data->Results;
$productsRefNumber_excelName = '';
$reportsNumberLab_excelName = '';
$partsCode_excelName = '';
if (count($arr_associate) > 0) { //check define columns
$spreadsheet = IOFactory::load($file);
@ -50,10 +54,21 @@ if (isset($_FILES['f_csv'])) {
$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.");
$arr_need_columns = array();
foreach ($arr_associate as $item){
if($item['column_name'] == 'products_refnumber'){
$productsRefNumber_excelName = $item['headerfile'];
}
if($item['column_name'] == 'reportsNumberLab'){
$reportsNumberLab_excelName = $item['headerfile'];
}
if($item['column_name'] == 'partsCode'){
$partsCode_excelName = $item['headerfile'];
}
}
array_push($arr_need_columns, $productsRefNumber_excelName);
array_push($arr_need_columns, $reportsNumberLab_excelName);
array_push($arr_need_columns, $partsCode_excelName);
// remove empty rows
$arr_info = array_filter($arr_info, function ($row) {
@ -92,9 +107,8 @@ if (isset($_FILES['f_csv'])) {
}
if ($verify_flag) {
//separate by Sample Code (PO#) - product
$idx_sample_code_po = array_search("Sample Code (PO#)", $arr_excel_columns);
//separate by products_refnumber - product
$idx_sample_code_po = array_search($productsRefNumber_excelName, $arr_excel_columns);
$arr_total_products = array();
$tmp_arr_child_products = array();
@ -115,9 +129,9 @@ if (isset($_FILES['f_csv'])) {
}
if (count($tmp_arr_child_products) > 0) {
array_push($arr_total_products, $tmp_arr_child_products);
}
}
//define importcode (timestamp)
$importcode = time();
@ -141,7 +155,10 @@ if (isset($_FILES['f_csv'])) {
'arr_project' => json_encode($arr_total_products),
'arr_excel_columns' => json_encode($arr_excel_columns),
'arr_associate' => json_encode($arr_associate),
'importcode' => $importcode
'importcode' => $importcode,
'productsRefNumber_excelName' => $productsRefNumber_excelName,
'reportsNumberLab_excelName' => $reportsNumberLab_excelName,
'partsCode_excelName' => $partsCode_excelName
]);
//insert to products table

View File

@ -11,8 +11,13 @@ $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'];
$productsRefNumber_excelName = $_POST['productsRefNumber_excelName'];
$reportsNumberLab_excelName = $_POST['reportsNumberLab_excelName'];
$partsCode_excelName = $_POST['partsCode_excelName'];
$idx_sample_code_po = array_search("Sample Code (PO#)", $arr_excel_columns);
$sample_code_po_column_name = array_search("products_refnumber", $arr_associate);
$idx_sample_code_po = array_search($productsRefNumber_excelName, $arr_excel_columns);
//insert to products table
$idx = 0;
@ -65,7 +70,7 @@ foreach ($arr_total_products as $product) {
//----------- report table ------------------
//separate reports table data
$idx_report_no_po = array_search("Report no.", $arr_excel_columns);
$idx_report_no_po = array_search($reportsNumberLab_excelName, $arr_excel_columns);
$arr_total_reports = array();
$tmp_arr_child_reports = array();
@ -136,7 +141,7 @@ foreach ($arr_total_products as $product) {
//----------- parts table ------------------
//separate parts table data
$idx_part_no_po = array_search("Part No.", $arr_excel_columns);
$idx_part_no_po = array_search($partsCode_excelName, $arr_excel_columns);
$arr_total_parts = array();
$tmp_arr_child_parts = array();
@ -213,33 +218,69 @@ foreach ($arr_total_products as $product) {
// $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));
$group_code_index = array_search("analysisgroupcode", array_column($arr_associate, 'column_name'));
$group_code_val = $result_project[array_search($arr_associate[$group_code_index]->headerfile, $arr_excel_columns)];
$trim_group_code = str_replace("\n", "", str_replace("'", "\'", $group_code_val));
$analysis_query = new WA_MySQLi_RS("getquery", $repnew, 0);
$analysis_query->setQuery("SELECT * FROM analysisvocabulary WHERE nameanalysisvoc like '$trim_item'");
$analysis_query->setQuery("SELECT * FROM analysisvocabulary WHERE analysiscode like '$trim_group_code'");
$analysis_query->execute();
$analysis_data = $analysis_query->Results;
$ref_id = 0;
if (count($analysis_data) > 0) {
if (count($analysis_data) > 0 && $trim_group_code != "") {
$ref_id = $analysis_data[0]['idanalysisvocabulary'];
}
} else {
$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) {
if($analysis_data[0]['refid'] == 0){
$ref_id = $analysis_data[0]['idanalysisvocabulary'];
}else{
$ref_id = $analysis_data[0]['refid'];
}
}
}
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));
$cas_index = array_search("cas", array_column($arr_associate, 'column_name'));
$cas_val = $result_project[array_search($arr_associate[$cas_index]->headerfile, $arr_excel_columns)];
$trim_cas_val = str_replace("\n", "", str_replace("'", "\'", $cas_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->setQuery("SELECT * FROM compundsvocabulary WHERE cascompoundvocabulary like '%$trim_cas_val%'");
$analysis_query->execute();
$analysis_data = $analysis_query->Results;
$ref_id = 0;
if (count($analysis_data) > 0) {
if (count($analysis_data) > 0 && $trim_cas_val != "") {
$ref_id = $analysis_data[0]['idcompoundsvocabulary'];
} else {
$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'");
$analysis_query->execute();
$analysis_data = $analysis_query->Results;
$ref_id = 0;
if (count($analysis_data) > 0) {
if($analysis_data[0]['refid'] == 0){
$ref_id = $analysis_data[0]['idcompoundsvocabulary'];
}else{
$ref_id = $analysis_data[0]['refid'];
}
}
}
array_push($arr_result_project_need_idx, array($arr_associate[$i]->column_name, $ref_id, 1));

View File

@ -0,0 +1,6 @@
<?php
// redirect to userarea/index.php
header('Location: ../../userarea/index.php');
?>

View File

@ -7,7 +7,7 @@
<!-- LOGO -->
<div class="topbar-left">
<div class="text-center bg-logo">
<a href="index.html" class="logo"><i class="mdi mdi-bowling text-success"></i> Reportify</a>
<a href="index.php" class="logo"><i class="mdi mdi-bowling text-success"></i> Reportify</a>
<!-- <a href="index.html" class="logo"><img src="assets/images/logo.png" height="24" alt="logo"></a> -->
</div>
</div>
@ -130,19 +130,6 @@
</li>
<?php } ?>
<li class="has_sub">
<a href="tables-basic.html" class="waves-effect"><i class="dripicons-copy"></i><span> <?php echo $contactus; ?> </span> <span class="float-right"><i class="mdi mdi-chevron-right"></i></span></a>
<ul class="list-unstyled">

View File

@ -50,7 +50,7 @@ ini_set('display_errors', 1);
<div class="page-title-box">
<div class="btn-group float-right">
<ol class="breadcrumb hide-phone p-0 m-0">
<li class="breadcrumb-item"><a href="#">YogiWhere</a></li>
<li class="breadcrumb-item"><a href="#">Reportify</a></li>
<li class="breadcrumb-item active">Dashboard</li>
</ol>
</div>

View File

@ -0,0 +1,6 @@
<?php
// redirect to userarea/index.php
header('Location: ../../userarea/index.php');
?>

View File

@ -34,6 +34,7 @@ $result = $conn->query($query);
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<title>Products</title>
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<!-- Includi prima jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

View File

@ -0,0 +1,6 @@
<?php
// redirect to userarea/index.php
header('Location: ../../userarea/index.php');
?>

View File

@ -33,6 +33,7 @@ $result = $conn->query($query);
<link href="../assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="../assets/css/icons.css" rel="stylesheet" type="text/css">
<link href="../assets/css/style.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<link href="https://cdn.jsdelivr.net/npm/boxicons@2.0.7/css/boxicons.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@10/dist/sweetalert2.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@10/dist/sweetalert2.min.css">

View File

@ -0,0 +1,6 @@
<?php
// redirect to userarea/index.php
header("Location: ../../userarea/index.php");
?>

View File

@ -1 +1 @@
{"remember_me":"1","notifications_signup_email":"0","forgot_password":"1","login_reset_token_lifetime":"30","throttle_enabled":"1","throttle_attempts":"3","throttle_lockout_time":"2","reg_enabled":"1","reg_email_confirmation":"1","2fa":{"enabled":false},"app_name":"YogiWhere","registration":{"captcha":{"enabled":false}},"tos":"1","captcha":{"enabled":false}}
{"remember_me":"1","notifications_signup_email":"0","forgot_password":"1","login_reset_token_lifetime":"30","throttle_enabled":"1","throttle_attempts":"3","throttle_lockout_time":"2","reg_enabled":"1","reg_email_confirmation":"1","2fa":{"enabled":false},"app_name":"Reportify","registration":{"captcha":{"enabled":false}},"tos":"1","captcha":{"enabled":false}}