From 01b543dd741bd2f533007ba7743bcab09dfde429 Mon Sep 17 00:00:00 2001 From: kapsona777 Date: Fri, 25 Oct 2024 14:24:22 +0400 Subject: [PATCH] fix idreport in analysis table and uuid in all table as importcode --- public/userarea/apilogic/process_import.php | 47 ++++++++++++--------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/public/userarea/apilogic/process_import.php b/public/userarea/apilogic/process_import.php index 93d9a6d..4c1ebe6 100644 --- a/public/userarea/apilogic/process_import.php +++ b/public/userarea/apilogic/process_import.php @@ -21,6 +21,7 @@ $jsonEntries = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($jsonEntries as $entry) { $data = json_decode($entry['json_data'], true); + $uuid = $entry['uuid']; // Validate lab reference $labId = getLaboratoryId($data['reflab'], $pdo); @@ -30,21 +31,21 @@ foreach ($jsonEntries as $entry) { } // Validate and insert product - $productId = insertProduct($data['product'], $pdo); + $productId = insertProduct($data['product'], $pdo, $uuid); if ($productId && validateJson($data)) { // Insert reports, parts, analyses, and results foreach ($data['product']['reports'] as $report) { - $reportId = insertReport($report, $productId, $labId, $pdo); + $reportId = insertReport($report, $productId, $labId, $pdo, $uuid); foreach ($report['parts'] as $part) { - $partId = insertPart($part, $reportId, $productId, $pdo); + $partId = insertPart($part, $reportId, $productId, $pdo, $uuid); foreach ($part['analyses'] as $analysis) { - $analysisId = insertAnalysis($analysis, $partId, $productId, $pdo); + $analysisId = insertAnalysis($analysis, $partId, $productId, $reportId, $pdo, $uuid); foreach ($analysis['results'] as $result) { - insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo); + insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo, $uuid); } } } @@ -74,15 +75,15 @@ function getLaboratoryId($reflab, $pdo) { return $stmt->fetchColumn(); } -function insertProduct($product, $pdo) { +function insertProduct($product, $pdo, $uuid) { $query = "SELECT idproducts FROM products WHERE products_refnumber = :refnumber"; $stmt = $pdo->prepare($query); $stmt->execute(['refnumber' => $product['products_refnumber']]); $productId = $stmt->fetchColumn(); if (!$productId) { - $query = "INSERT INTO products (products_refnumber, products_description, products_style, products_sku, products_color, products_season, products_market, products_order, product_buyer, product_claimedfiber, products_fibercontentresult, dateprod, namesupplier, agerange, products_billto, products_billtocde, products_codeanddesc, products_division, products_phase, products_country, products_region) - VALUES (:refnumber, :description, :style, :sku, :color, :season, :market, :order, :buyer, :claimedfiber, :fibercontentresult, :dateprod, :supplier, :agerange, :billto, :billtocde, :codeanddesc, :division, :phase, :country, :region)"; + $query = "INSERT INTO products (products_refnumber, products_description, products_style, products_sku, products_color, products_season, products_market, products_order, product_buyer, product_claimedfiber, products_fibercontentresult, dateprod, namesupplier, agerange, products_billto, products_billtocde, products_codeanddesc, products_division, products_phase, products_country, products_region, importcode) + VALUES (:refnumber, :description, :style, :sku, :color, :season, :market, :order, :buyer, :claimedfiber, :fibercontentresult, :dateprod, :supplier, :agerange, :billto, :billtocde, :codeanddesc, :division, :phase, :country, :region, :importcode)"; $stmt = $pdo->prepare($query); $stmt->execute([ 'refnumber' => $product['products_refnumber'], @@ -106,13 +107,14 @@ function insertProduct($product, $pdo) { 'phase' => $product['products_phase'], 'country' => $product['products_country'], 'region' => $product['products_region'], + 'importcode' => $uuid ]); return $pdo->lastInsertId(); } return $productId; // Return existing product ID } -function insertReport($report, $productId, $labId, $pdo) { +function insertReport($report, $productId, $labId, $pdo, $uuid) { // Check if the report already exists $query = "SELECT idreports FROM reports WHERE reportsNumberLab = :reportsNumberLab AND idLabs = :idlaboratories"; $stmt = $pdo->prepare($query); @@ -127,8 +129,8 @@ function insertReport($report, $productId, $labId, $pdo) { return $reportId; } else { // Insert new report - $query = "INSERT INTO reports (reportsNumberLab, reportDateIn, reportsDateOut, reportsDateDue, reportsRating, reportsRating2, pdffilename, reports_LabName, reports_testype, reports_invoicenumber, reports_invoiceamount, reports_invoiceadate, idproducts, idLabs) - VALUES (:reportsNumberLab, :reportDateIn, :reportsDateOut, :reportsDateDue, :reportsRating, :reportsRating2, :pdffilename, :reports_LabName, :reports_testype, :reports_invoicenumber, :reports_invoiceamount, :reports_invoiceadate, :idproducts, :idlaboratories)"; + $query = "INSERT INTO reports (reportsNumberLab, reportDateIn, reportsDateOut, reportsDateDue, reportsRating, reportsRating2, pdffilename, reports_LabName, reports_testype, reports_invoicenumber, reports_invoiceamount, reports_invoiceadate, idproducts, idLabs, importcode) + VALUES (:reportsNumberLab, :reportDateIn, :reportsDateOut, :reportsDateDue, :reportsRating, :reportsRating2, :pdffilename, :reports_LabName, :reports_testype, :reports_invoicenumber, :reports_invoiceamount, :reports_invoiceadate, :idproducts, :idlaboratories, :importcode)"; $stmt = $pdo->prepare($query); $stmt->execute([ @@ -146,12 +148,13 @@ function insertReport($report, $productId, $labId, $pdo) { 'reports_invoiceadate' => $report['reports_invoiceadate'], 'idproducts' => $productId, 'idlaboratories' => $labId, + 'importcode' => $uuid ]); return $pdo->lastInsertId(); } } -function insertPart($part, $reportId,$productId, $pdo) { +function insertPart($part, $reportId,$productId, $pdo, $uuid) { // Check if the part already exists $query = "SELECT idparts FROM parts WHERE partsCode = :partsCode AND idreports = :idreports"; $stmt = $pdo->prepare($query); @@ -166,8 +169,8 @@ function insertPart($part, $reportId,$productId, $pdo) { return $partId; } else { // Insert new part - $query = "INSERT INTO parts (partsCode, partsDescription, partsColor, partsMaterial, idreports, idproducts) - VALUES (:partsCode, :partsDescription, :partsColor, :partsMaterial, :idreports, :idproducts)"; + $query = "INSERT INTO parts (partsCode, partsDescription, partsColor, partsMaterial, idreports, idproducts, importcode) + VALUES (:partsCode, :partsDescription, :partsColor, :partsMaterial, :idreports, :idproducts, :importcode)"; $stmt = $pdo->prepare($query); $stmt->execute([ @@ -177,19 +180,21 @@ function insertPart($part, $reportId,$productId, $pdo) { 'partsColor' => $part['partsColor'], 'partsMaterial' => $part['partsMaterial'], 'idreports' => $reportId, + 'importcode' => $uuid ]); return $pdo->lastInsertId(); } } -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)"; +function insertAnalysis($analysis, $partId, $productId, $reportId, $pdo, $uuid) { + $query = "INSERT INTO analysis_project (result_TestName, test_Rating, test_Rating2, requirements, reference, analysisgroupcode, idpart, idproducts, idreports, importcode) + VALUES (:result_TestName, :test_Rating, :test_Rating2, :requirements, :reference, :analysisgroupcode, :idpart , :idproducts, :idreports, :importcode)"; $stmt = $pdo->prepare($query); $stmt->execute([ 'idproducts' => $productId, + 'idreports' => $reportId, 'result_TestName' => $analysis['result_TestName'], 'test_Rating' => $analysis['test_Rating'], 'test_Rating2' => $analysis['test_Rating2'], @@ -197,13 +202,14 @@ function insertAnalysis($analysis, $partId, $productId, $pdo) { 'reference' => $analysis['reference'], 'analysisgroupcode' => $analysis['analysisgroupcode'], 'idpart' => $partId, + 'importcode' => $uuid ]); return $pdo->lastInsertId(); } -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)"; +function insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo, $uuid) { + $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, importcode) + VALUES (:result_AnalytsName, :result_AnalytsRating, :result_Value, :result_Comment, :test_Rating, :test_Rating2, :result_UnitofMeasure, :cas, :requirements, :reference, :idanalysis_project, :idpart, :idproducts, :idreports, :importcode)"; $stmt = $pdo->prepare($query); $stmt->execute([ @@ -221,6 +227,7 @@ function insertResult($result, $analysisId, $partId, $productId, $reportId, $pdo 'idpart' => $partId, 'idproducts' => $productId, 'idreports' => $reportId, + 'importcode' => $uuid ]); }