The files will import now init of TrackingDataImport.vbs file Co-authored-by: Daniel Covington <danielc@kentcommunications.com>pull/7/head
| @@ -0,0 +1,166 @@ | |||
| Option Explicit | |||
| Dim dev:dev = True | |||
| Dim DataDirectory | |||
| Dim ConnectionString | |||
| Dim glob:set glob = CreateObject("Chilkat_9_5_0.Global") | |||
| Dim success:success = glob.UnlockBundle("KENTCM.CB1022025_RGzBPM5J655e") | |||
| If (success <> 1) Then | |||
| WriteLine(glob.LastErrorText) | |||
| WScript.Quit | |||
| End If | |||
| Dim objCSV:Set objCsv = CreateObject("Chilkat_9_5_0.Csv") | |||
| Dim WorkingDirectory:WorkingDirectory = Replace(WScript.ScriptFullName,WScript.ScriptName,"") | |||
| If dev Then | |||
| DataDirectory = WorkingDirectory & "test" | |||
| ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=F:\Development\Tracking_Kits\Data\webdata - Copy.mdb;" | |||
| Else | |||
| DataDirectory = "\\kci-syn-cl01\PC Transfer\TrackingDataImport\" | |||
| ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;" | |||
| End If | |||
| CheckForFiles | |||
| Function CheckForFiles() | |||
| Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject") | |||
| If objFSO.FolderExists(DataDirectory) Then | |||
| Dim objFolder:Set objFolder = objFSO.GetFolder(DataDirectory) | |||
| If objFolder.Files.Count > 0 Then | |||
| WScript.Echo "Files found in directory: " & DataDirectory | |||
| Dim objFile | |||
| For Each objFile In objFolder.Files | |||
| Dim CsvString:CsvString = ConvertCsvToString(objFile.Path) | |||
| If ValidImportCSV(CsvString) Then | |||
| SetupKit CsvString,objFile.Name | |||
| End If | |||
| Next | |||
| Else | |||
| WScript.Echo "No files found in directory: " & DataDirectory | |||
| End If | |||
| End If | |||
| End Function | |||
| Function ValidJcode(jcode) | |||
| Dim oConn | |||
| Set oConn = WScript.CreateObject("ADODB.Connection") | |||
| oConn.ConnectionString = ConnectionString | |||
| oConn.Open | |||
| Dim oRs | |||
| set oRs = oConn.Execute("Select * from Jurisdiction Where [JCode] = '" & jcode & "';") | |||
| If oRs.EOF Then | |||
| ValidJcode = 0 | |||
| Else | |||
| ValidJcode = 1 | |||
| End If | |||
| oRs.Close | |||
| oConn.Close | |||
| End Function | |||
| Function SetupKit(CsvString,FileName) | |||
| Dim JobNumber:JobNumber = Mid(FileName,9,6) | |||
| Dim JCode:JCode = Left(Filename,5) | |||
| If IsNumeric(JobNumber) Then | |||
| If ValidJcode(JCode) Then | |||
| WScript.Echo FileName & " Is a Valid CSV for Importing" | |||
| Dim oConn:Set oConn = WScript.CreateObject("ADODB.Connection") | |||
| oConn.ConnectionString = ConnectionString | |||
| oConn.Open | |||
| oConn.Execute("Insert Into Kit ([JobNumber], [Jcode], [CreatedOn]) VALUES ('" & JobNumber & "','" & JCode & "',#" & Now() & "#);") | |||
| Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit ORDER BY ID DESC") | |||
| Dim kitId : kitId = rs("ID").value | |||
| rs.close | |||
| 'objCsv.LoadFromString(CsvString) | |||
| Dim i | |||
| For i = 1 To objCSV.NumRows | |||
| 'debug.WriteLine objCsv.GetCell(i,0) | |||
| ' debug.WriteLine("Insert Into [InkjetRecords] (KitID,VOTERID,LASTNAME,FIRSTNAME,MIDDLENAME" & _ | |||
| ' ",SUFFIX,PRECINCT,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,APPSENT,APPRETURNED,BALSENT,BALRETURNED" & _ | |||
| ' ",CountingBoard,UOCAVASTATUS,EMAILADDRESS,PHONENUMBER,BALLOT_NUMBER) VALUES (" & CInt(kitId) & ",'" & objCsv.GetCell(i,0) & _ | |||
| ' "','" & objCSV.GetCell(i,1) & _ | |||
| ' "','" & objCsv.GetCell(i,2) & _ | |||
| ' "','" & objCsv.GetCell(i,3) & _ | |||
| ' "','" & objCsv.GetCell(i,4) & _ | |||
| ' "','" & objCsv.GetCell(i,5) & _ | |||
| ' "','" & objCsv.GetCell(i,6) & _ | |||
| ' "','" & objCsv.GetCell(i,7) & _ | |||
| ' "','" & objCsv.GetCell(i,8) & _ | |||
| ' "','" & objCsv.GetCell(i,9) & _ | |||
| ' "','" & objCsv.GetCell(i,10) & _ | |||
| ' "','" & objCsv.GetCell(i,11) & _ | |||
| ' "','" & objCsv.GetCell(i,12) & _ | |||
| ' "','" & objCsv.GetCell(i,13) & _ | |||
| ' "','" & objCsv.GetCell(i,14) & _ | |||
| ' "','" & objCsv.GetCell(i,15) & _ | |||
| ' "','" & objCsv.GetCell(i,16) & _ | |||
| ' "','" & objCsv.GetCell(i,17) & _ | |||
| ' "','" & objCsv.GetCell(i,18) & _ | |||
| ' "','" & objCsv.GetCell(i,19) & _ | |||
| ' "')") | |||
| oConn.Execute("Insert Into [InkjetRecords] (KitID,VOTERID,LASTNAME,FIRSTNAME,MIDDLENAME" & _ | |||
| ",SUFFIX,PRECINCT,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,APPSENT,APPRETURNED,BALSENT,BALRETURNED" & _ | |||
| ",CountingBoard,UOCAVASTATUS,EMAILADDRESS,PHONENUMBER,BALLOT_NUMBER) VALUES (" & kitId & _ | |||
| ",'" & objCsv.GetCell(i,0) & _ | |||
| "','" & objCsv.GetCell(i,1) & _ | |||
| "','" & objCsv.GetCell(i,2) & _ | |||
| "','" & objCsv.GetCell(i,3) & _ | |||
| "','" & objCsv.GetCell(i,4) & _ | |||
| "','" & objCsv.GetCell(i,5) & _ | |||
| "','" & objCsv.GetCell(i,6) & _ | |||
| "','" & objCsv.GetCell(i,7) & _ | |||
| "','" & objCsv.GetCell(i,8) & _ | |||
| "','" & objCsv.GetCell(i,9) & _ | |||
| "','" & objCsv.GetCell(i,10) & _ | |||
| "','" & objCsv.GetCell(i,11) & _ | |||
| "','" & objCsv.GetCell(i,12) & _ | |||
| "','" & objCsv.GetCell(i,13) & _ | |||
| "','" & objCsv.GetCell(i,14) & _ | |||
| "','" & objCsv.GetCell(i,15) & _ | |||
| "','" & objCsv.GetCell(i,16) & _ | |||
| "','" & objCsv.GetCell(i,17) & _ | |||
| "','" & objCsv.GetCell(i,18) & _ | |||
| "','" & objCsv.GetCell(i,19) & _ | |||
| "')") | |||
| Next | |||
| oConn.Close | |||
| End If | |||
| End If | |||
| End Function | |||
| Function ConvertCsvToString(FilePath) | |||
| Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject") | |||
| Dim objCsvFile:set objCsvFile = objFSO.OpenTextFile(FilePath) | |||
| Dim strContent:strContent = "" | |||
| Dim intLineCount:intLineCount = 0 | |||
| Do Until objCsvFile.AtEndOfStream Or intLineCount >= 3 | |||
| objCsvFile.SkipLine | |||
| intLineCount = intLineCount + 1 | |||
| Loop | |||
| ' Read the remaining content into a string | |||
| Do Until objCsvFile.AtEndOfStream | |||
| Dim strLine:strLine = objCsvFile.ReadLine | |||
| strContent = strContent & strLine & vbCrLf | |||
| Loop | |||
| ConvertCsvToString = strContent | |||
| End Function | |||
| Function ValidImportCSV(CsvFileAsString) | |||
| objCSV.LoadFromString(CsvFileAsString) | |||
| If objCSV.NumColumns = 20 Then | |||
| debug.WriteLine objCsv.GetCell(1,1) | |||
| ValidImportCSV = True | |||
| Else | |||
| ValidImportCSV = False | |||
| End If | |||
| End Function | |||
Powered by TurnKey Linux.