added functionality which is checking cas code and analysiscode before checking names.

This commit is contained in:
Lasha Kapanadze 2024-10-02 21:40:15 +04:00
parent c2464eedcf
commit 171aa4e816

View File

@ -50,6 +50,14 @@ if(isset($_FILES['f_csv'])) {
if($item['column_name'] == 'result_TestName') { if($item['column_name'] == 'result_TestName') {
$result_testNameHeaderFile = $item['headerfile']; $result_testNameHeaderFile = $item['headerfile'];
}
if($item['column_name'] == 'analysisgroupcode') {
$result_AnalytsGroupCodeHeaderFile = $item['headerfile'];
}
if($item['column_name'] == 'cas') {
$result_CASHeaderFile = $item['headerfile'];
} }
if($item['column_name'] == 'result_AnalytsName') { if($item['column_name'] == 'result_AnalytsName') {
@ -66,79 +74,135 @@ if(isset($_FILES['f_csv'])) {
} }
} }
$arr_analysis_code = array();
$arr_anaysisvoc_words = array();
if($verify_flag) { if($verify_flag) {
//check result_TestName field // check analysis code
$arr_anaysisvoc_words = array(); if($result_AnalytsGroupCodeHeaderFile != ""){
if($result_testNameHeaderFile != "") { $arr_diff_analysis_code = array();
$arr_diff_anaysisvoc_words = array(); $idx_resultAnalytsGroupCode_po = array_search($result_AnalytsGroupCodeHeaderFile, $arr_excel_columns);
$idx_resultTestName_po = array_search($result_testNameHeaderFile, $arr_excel_columns);
for($i=1; $i<count($arr_info); $i++) { for($i=1; $i<count($arr_info); $i++) {
if(!in_array($arr_info[$i][$idx_resultTestName_po], $arr_diff_anaysisvoc_words)) { if(!in_array($arr_info[$i][$idx_resultAnalytsGroupCode_po], $arr_diff_analysis_code)) {
array_push($arr_diff_anaysisvoc_words, $arr_info[$i][$idx_resultTestName_po]); array_push($arr_diff_analysis_code, $arr_info[$i][$idx_resultAnalytsGroupCode_po]);
} }
} }
foreach($arr_diff_anaysisvoc_words as $item) { foreach($arr_diff_analysis_code as $item) {
$arr_analysis_refdata = new WA_MySQLi_RS("rsl", $repnew, 0); $arr_analysis_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
$trim_item = str_replace("\n", "", str_replace("'", "\'", $item)); $trim_item = str_replace("\n", "", str_replace("'", "\'", $item));
$arr_analysis_refdata->setQuery("SELECT * FROM analysisvocabulary where nameanalysisvoc like '$trim_item'"); $arr_analysis_refdata->setQuery("SELECT * FROM analysisvocabulary where analysiscode like '%$trim_item%'");
$arr_analysis_refdata->execute(); $arr_analysis_refdata->execute();
$arr_analysis_ref = $arr_analysis_refdata->Results; $arr_analysis_ref = $arr_analysis_refdata->Results;
if(count($arr_analysis_ref) == 0) { if(count($arr_analysis_ref) == 0) {
//check kind array_push($arr_analysis_code, $item);
$arr_analysiskind_refdata = new WA_MySQLi_RS("rsl", $repnew, 0); }
$arr_analysiskind_refdata->setQuery("SELECT * FROM analysisvocabulary where preferred like 'Y'"); }
$arr_analysiskind_refdata->execute(); }
$arr_analysiskind_ref = $arr_analysiskind_refdata->Results;
array_push($arr_anaysisvoc_words, array( // if array $arr_analysis_code is empty
'word' => $item, if(count($arr_analysis_code) == 0 && $result_testNameHeaderFile != "") {
'arr_similary' => $arr_analysiskind_ref //check result_TestName field
)); if($result_testNameHeaderFile != "") {
$arr_diff_anaysisvoc_words = array();
$idx_resultTestName_po = array_search($result_testNameHeaderFile, $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]);
}
}
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%'");
$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);
$arr_analysiskind_refdata->setQuery("SELECT * FROM analysisvocabulary where preferred like '%Y%'");
$arr_analysiskind_refdata->execute();
$arr_analysiskind_ref = $arr_analysiskind_refdata->Results;
array_push($arr_anaysisvoc_words, array(
'word' => $item,
'arr_similary' => $arr_analysiskind_ref
));
}
} }
} }
} }
//check result_AnalytsName field
$arr_compundsvoc_words = array();
if($result_AnalytsNameHeaderFile != "") { // check cas code
$arr_diff_compundsvoc_words = array(); $arr_cas_code = array();
$arr_tmp_diff_compundsvoc_words = array(); if($result_CASHeaderFile != ""){
$idx_resultAnalytsName_po = array_search($result_AnalytsNameHeaderFile, $arr_excel_columns); $arr_diff_cas_code = array();
$idx_resultTestName_po = $result_testNameHeaderFile != "" ? array_search($result_testNameHeaderFile, $arr_excel_columns) : 0; $idx_resultCAS_po = array_search($result_CASHeaderFile, $arr_excel_columns);
for($i=1; $i<count($arr_info); $i++) { for($i=1; $i<count($arr_info); $i++) {
if(!in_array($arr_info[$i][$idx_resultAnalytsName_po], $arr_tmp_diff_compundsvoc_words)) { if(!in_array($arr_info[$i][$idx_resultCAS_po], $arr_diff_cas_code)) {
array_push($arr_tmp_diff_compundsvoc_words, $arr_info[$i][$idx_resultAnalytsName_po]); array_push($arr_diff_cas_code, $arr_info[$i][$idx_resultCAS_po]);
array_push($arr_diff_compundsvoc_words, array(
'word' => $arr_info[$i][$idx_resultAnalytsName_po],
'analysis_word' => $result_testNameHeaderFile != "" ? $arr_info[$i][$idx_resultTestName_po] : ""
));
} }
} }
foreach($arr_diff_compundsvoc_words as $item) { foreach($arr_diff_cas_code as $item) {
$arr_compunds_refdata = new WA_MySQLi_RS("rsl", $repnew, 0); $arr_cas_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
$compund_word = $item['word']; $trim_item = str_replace("\n", "", str_replace("'", "\'", $item));
$trim_item = str_replace("\n", "", str_replace("'", "\'", $compund_word)); $arr_cas_refdata->setQuery("SELECT * FROM compundsvocabulary where cascompoundvocabulary like '%$trim_item%'");
$arr_compunds_refdata->setQuery("SELECT * FROM compundsvocabulary where namecompoundsvocabulary like '$trim_item' or cascompoundvocabulary like '$trim_item'"); $arr_cas_refdata->execute();
$arr_compunds_refdata->execute(); $arr_cas_ref = $arr_cas_refdata->Results;
$arr_compunds_ref = $arr_compunds_refdata->Results; if(count($arr_cas_ref) == 0) {
if(count($arr_compunds_ref) == 0) { array_push($arr_cas_code, $item);
//check kind }
$arr_compundskind_refdata = new WA_MySQLi_RS("rsl", $repnew, 0); }
$arr_compundskind_refdata->setQuery("SELECT * FROM compundsvocabulary where preferred like 'Y'"); }
$arr_compundskind_refdata->execute();
$arr_compundskind_ref = $arr_compundskind_refdata->Results; // if array $arr_cas_code is empty
array_push($arr_compundsvoc_words, array( if(count($arr_cas_code) == 0 && $result_AnalytsNameHeaderFile != "") {
'word' => $compund_word, //check result_AnalytsName field
'anaysis_word' => $item['analysis_word'], $arr_compundsvoc_words = array();
'arr_similary' => $arr_compundskind_ref if($result_AnalytsNameHeaderFile != "") {
)); $arr_diff_compundsvoc_words = array();
$arr_tmp_diff_compundsvoc_words = array();
$idx_resultAnalytsName_po = array_search($result_AnalytsNameHeaderFile, $arr_excel_columns);
$idx_resultTestName_po = $result_testNameHeaderFile != "" ? array_search($result_testNameHeaderFile, $arr_excel_columns) : 0;
for($i=1; $i<count($arr_info); $i++) {
if(!in_array($arr_info[$i][$idx_resultAnalytsName_po], $arr_tmp_diff_compundsvoc_words)) {
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],
'analysis_word' => $result_testNameHeaderFile != "" ? $arr_info[$i][$idx_resultTestName_po] : ""
));
}
}
foreach($arr_diff_compundsvoc_words as $item) {
$arr_compunds_refdata = new WA_MySQLi_RS("rsl", $repnew, 0);
$compund_word = $item['word'];
$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->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);
$arr_compundskind_refdata->setQuery("SELECT * FROM compundsvocabulary where preferred like '%Y%'");
$arr_compundskind_refdata->execute();
$arr_compundskind_ref = $arr_compundskind_refdata->Results;
array_push($arr_compundsvoc_words, array(
'word' => $compund_word,
'anaysis_word' => $item['analysis_word'],
'arr_similary' => $arr_compundskind_ref
));
}
} }
} }
} }
die(json_encode(array( die(json_encode(array(
'code' => "success", 'code' => "success",
'arr_analysis_data' => $arr_anaysisvoc_words, 'arr_analysis_data' => $arr_anaysisvoc_words,