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.