From e7ea3ba909ce0b648be492278c690e1797ec07c8 Mon Sep 17 00:00:00 2001 From: kapsona777 Date: Thu, 24 Oct 2024 15:41:24 +0400 Subject: [PATCH] ids fix --- public/userarea/apilogic/process_import.php | 35 ++++++++++++--------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/public/userarea/apilogic/process_import.php b/public/userarea/apilogic/process_import.php index e239943..93d9a6d 100644 --- a/public/userarea/apilogic/process_import.php +++ b/public/userarea/apilogic/process_import.php @@ -30,7 +30,7 @@ foreach ($jsonEntries as $entry) { } // Validate and insert product - $productId = insertProduct($data['product'], $pdo); + $productId = insertProduct($data['product'], $pdo); if ($productId && validateJson($data)) { // Insert reports, parts, analyses, and results @@ -38,13 +38,13 @@ foreach ($jsonEntries as $entry) { $reportId = insertReport($report, $productId, $labId, $pdo); foreach ($report['parts'] as $part) { - $partId = insertPart($part, $reportId, $pdo); + $partId = insertPart($part, $reportId, $productId, $pdo); foreach ($part['analyses'] as $analysis) { - $analysisId = insertAnalysis($analysis, $partId, $pdo); + $analysisId = insertAnalysis($analysis, $partId, $productId, $pdo); foreach ($analysis['results'] as $result) { - insertResult($result, $analysisId, $pdo); + insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo); } } } @@ -151,7 +151,7 @@ function insertReport($report, $productId, $labId, $pdo) { } } -function insertPart($part, $reportId, $pdo) { +function insertPart($part, $reportId,$productId, $pdo) { // Check if the part already exists $query = "SELECT idparts FROM parts WHERE partsCode = :partsCode AND idreports = :idreports"; $stmt = $pdo->prepare($query); @@ -164,13 +164,14 @@ function insertPart($part, $reportId, $pdo) { if ($partId) { // Part already exists, return the existing ID return $partId; - } else { + } else { // Insert new part - $query = "INSERT INTO parts (partsCode, partsDescription, partsColor, partsMaterial, idreports) - VALUES (:partsCode, :partsDescription, :partsColor, :partsMaterial, :idreports)"; + $query = "INSERT INTO parts (partsCode, partsDescription, partsColor, partsMaterial, idreports, idproducts) + VALUES (:partsCode, :partsDescription, :partsColor, :partsMaterial, :idreports, :idproducts)"; $stmt = $pdo->prepare($query); $stmt->execute([ + 'idproducts' => $productId, 'partsCode' => $part['partsCode'], 'partsDescription' => $part['partsDescription'], 'partsColor' => $part['partsColor'], @@ -182,26 +183,27 @@ function insertPart($part, $reportId, $pdo) { } -function insertAnalysis($analysis, $partId, $pdo) { - $query = "INSERT INTO analysis_project (result_TestName, test_Rating, test_Rating2, requirements, reference, analysisgroupcode, idPart) - VALUES (:result_TestName, :test_Rating, :test_Rating2, :requirements, :reference, :analysisgroupcode, :idparts)"; +function insertAnalysis($analysis, $partId, $productId, $pdo) { + $query = "INSERT INTO analysis_project (result_TestName, test_Rating, test_Rating2, requirements, reference, analysisgroupcode, idpart, idproducts) + VALUES (:result_TestName, :test_Rating, :test_Rating2, :requirements, :reference, :analysisgroupcode, :idpart , :idproducts)"; $stmt = $pdo->prepare($query); $stmt->execute([ + 'idproducts' => $productId, 'result_TestName' => $analysis['result_TestName'], 'test_Rating' => $analysis['test_Rating'], 'test_Rating2' => $analysis['test_Rating2'], 'requirements' => $analysis['requirements'], 'reference' => $analysis['reference'], 'analysisgroupcode' => $analysis['analysisgroupcode'], - 'idparts' => $partId, + 'idpart' => $partId, ]); return $pdo->lastInsertId(); } -function insertResult($result, $analysisId, $pdo) { - $query = "INSERT INTO result_project (result_AnalytsName, result_AnalytsRating, result_Value, result_Comment, test_Rating, test_Rating2, result_UnitofMeasure, cas, requirements, reference, idanalysis_project) - VALUES (:result_AnalytsName, :result_AnalytsRating, :result_Value, :result_Comment, :test_Rating, :test_Rating2, :result_UnitofMeasure, :cas, :requirements, :reference, :idanalysis_project)"; +function insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo) { + $query = "INSERT INTO result_project (result_AnalytsName, result_AnalytsRating, result_Value, result_Comment, test_Rating, test_Rating2, result_UnitofMeasure, cas, requirements, reference, idanalysis_project, idpart, idproducts, idreports) + VALUES (:result_AnalytsName, :result_AnalytsRating, :result_Value, :result_Comment, :test_Rating, :test_Rating2, :result_UnitofMeasure, :cas, :requirements, :reference, :idanalysis_project, :idpart, :idproducts, :idreports)"; $stmt = $pdo->prepare($query); $stmt->execute([ @@ -216,6 +218,9 @@ function insertResult($result, $analysisId, $pdo) { 'requirements' => $result['requirements'], 'reference' => $result['reference'], 'idanalysis_project' => $analysisId, + 'idpart' => $partId, + 'idproducts' => $productId, + 'idreports' => $reportId, ]); }