fix idreport in analysis table and uuid in all table as importcode
This commit is contained in:
parent
da95ee6c2f
commit
01b543dd74
@ -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
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user