--- a/admin/importdatagov.php +++ b/admin/importdatagov.php @@ -1,7 +1,7 @@ prepare($contractNoticeInsertQ); +$contractNoticeUpdateQ = 'UPDATE contractnotice SET ("' . implode('" , "', $contractNoticeFields) . '") = ( '; +foreach ($contractNoticeFields as $key => $f) { + $contractNoticeUpdateQ.= ($key == 0 ? "" : ", ") . "?"; +} +$contractNoticeUpdateQ.= ') where "CNID" = ?;'; +$contractNoticeUpdateQ = $conn->prepare($contractNoticeUpdateQ); + function processFile($fpath) { - global $conn, $contractNoticeFields, $contractNoticeInsertQ; + global $conn, $contractNoticeFields, $contractNoticeInsertQ, $contractNoticeUpdateQ; $row = 1; $success = 0; ini_set('auto_detect_line_endings',TRUE); @@ -64,17 +72,18 @@ "Parent Contract ID" => "parentCN", "Contract ID" => "CNID", "Publish Date" => "publishDate", - "AmendmentDate" => "amendDate", + "Amendment Date" => "amendDate", "Start Date" => "contractStart", "End Date" => "contractEnd", "Value" => "value", "Description" => "description", "Agency Ref ID" => "agencyID", "UNSPSC Code" => "categoryUNSPSC", - "Title" => "category", + "UNSPSC Title" => "category", "Procurement Method" => "procurementMethod", - "TenderNumber" => "atmID", + "ATM ID" => "atmID", "SON ID" => "SONID", + "Panel Arrangement" => "SONPanelArrangement", "Confidentiality Contract Flag" => "confidentialityContract", "Confidentiality Contract Reason" => "confidentialityContractReason", "Confidentiality Outputs Flag" => "confidentialityOutputs", @@ -83,12 +92,12 @@ "Consultancy Reason" => "consultancyReason", "Amendment Reason" => "amendmentReason", "Supplier Name" => "supplierName", - "SupplierAddress" => "supplierAddress", - "SupplierSuburb" => "supplierCity", + "Supplier Address" => "supplierAddress", + "Supplier Suburb" => "supplierCity", "Supplier Postcode" => "supplierPostcode", "Supplier Country" => "supplierCountry", "Supplier ABN Exempt" => "supplierABNExempt", - "ABN" => "supplierABN", + "Supplier ABN" => "supplierABN", "Contact Name" => "", "Contact Phone" => "", "Branch" => "contactBranch", @@ -103,7 +112,7 @@ $num = count($data); if ($row == 1) { $headers = $data; - } elseif ($row > 1) { + } elseif ($row >30000 && $row < 59000) { if ($num > count($datamapping0712)) { die("Error in data import; data mapping fields out of bounds or changed $num > ".count($datamapping0712)."
" . $fpath . print_r($data)); } @@ -144,13 +153,13 @@ } flush(); // print_r($contractNoticeInsert); - $contractNoticeInsertQ->execute($contractNoticeInsert); + /* $contractNoticeInsertQ->execute($contractNoticeInsert); $errors = $conn->errorInfo(); if ($errors[1] == 7 && strpos($errors[2], "duplicate key")) { -// echo "dupe {$data[2]} row $row
\n"; + echo "dupe {$data[2]} row $row
\n"; } else { if ($errors[1] == 0) { - echo "success {$data[2]} row $row
\n"; + echo "success insert {$data[2]} row $row
\n"; $success++; } else { foreach ($contractNoticeFields as $key => $cnf) { @@ -158,8 +167,32 @@ } echo $data[2] . " failed CN insert.
" . print_r($errors, true) . "
row $row

\n"; } -} +}*/ + + + $contractNoticeUpdate = $contractNoticeInsert; + $contractNoticeUpdate[] = $data[2]; +#var_dump($contractNoticeUpdate); + /*$i =0; + while($i < 35) { + echo "{$contractNoticeFields[$i]} : {$contractNoticeUpdate[$i]}
"; + $i++; + }*/ + $contractNoticeUpdateQ->execute($contractNoticeUpdate); + $errors = $conn->errorInfo(); + + if ($errors[1] == 0) { + // echo "success update {$data[2]} row $row
\n"; + $success++; + } else { + foreach ($contractNoticeFields as $key => $cnf) { + echo var_dump($contractNoticeUpdate[$key]) . $cnf . "
"; + } + echo $data[2] . " failed CN update.
" . print_r($errors, true) . "
row $row

\n"; + } + flush(); + //die('endlol'); //echo "
\n"; } $row++; @@ -204,10 +237,10 @@ // if ($success > 0) { $conn->exec("update datasets set \"lastUpdated\" = NOW() where title = 'Contract Notices'"); - echo "link amend
"; + /*echo "link amend
"; include ("linkAmendments.php"); echo "update UNSPSC
"; - include ("updateUNSPSC.php"); + include ("updateUNSPSC.php");*/ } // cn