Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

TrackingDataImport.vbs 21KB

před 10 měsíci
před 10 měsíci
před 9 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 10 měsíci
před 9 měsíci
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469
  1. Option Explicit
  2. Dim dev:dev = True
  3. Dim outFile
  4. Dim WaitTime:WaitTime = 15000
  5. Dim DataDirectory
  6. Dim ExportDirectory
  7. Dim WshShell:Set WshShell = WScript.CreateObject("Wscript.Shell")
  8. Dim oConn:Set oConn = WScript.CreateObject("ADODB.Connection")
  9. Dim ConnectionString
  10. Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject")
  11. Dim glob:set glob = CreateObject("Chilkat_9_5_0.Global")
  12. Dim success:success = glob.UnlockBundle("KENTCM.CB1022025_RGzBPM5J655e")
  13. If (success <> 1) Then
  14. WriteLine(glob.LastErrorText)
  15. WScript.Quit
  16. End If
  17. Dim objCSV:Set objCsv = CreateObject("Chilkat_9_5_0.Csv")
  18. Dim WorkingDirectory:WorkingDirectory = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
  19. If dev Then
  20. DataDirectory = WorkingDirectory & "test"
  21. ExportDirectory = "\\kci-syn-cl01\PC Transfer\TrackingDataExport\"
  22. ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=F:\Development\Tracking_Kits\Data\webdata - Copy.mdb;"
  23. set outFile = objFSO.CreateTextFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\temp.csv",True)
  24. Else
  25. DataDirectory = "\\kci-syn-cl01\PC Transfer\TrackingDataImport"
  26. ExportDirectory = "\\kci-syn-cl01\PC Transfer\TrackingDataExport\"
  27. ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source=C:\inetpub\Data\webdata - Copy.mdb;"
  28. set outFile = objFSO.CreateTextFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\temp.csv",True)
  29. End If
  30. Dim KitID
  31. CheckForFiles
  32. KitID = CheckForJobsToCass()
  33. If KitID > 0 Then
  34. ExportMMCsv(KitID)
  35. RunMailManager
  36. ImportCass
  37. End If
  38. 'oConn.Open(ConnectionString)
  39. KitID = CheckForReadyToLabel()
  40. If KitID > 0 Then
  41. createTrackingInfoForKit(KitID)
  42. End If
  43. KitID = CheckForReadyToExportToSnailWorks()
  44. If KitID > 0 Then
  45. CreateExportForSnailWorks(KitID)
  46. End If
  47. WScript.Quit
  48. Function CheckForReadyToExportToSnailWorks()
  49. If oConn.State = 0 Then:oConn.Open(ConnectionString):End If
  50. Dim rs:Set rs = oConn.Execute("Select TOP 1 [ID] FROM [Kit] Where Status ='Ready For Export' and JobType='Purple Envelopes';")
  51. If Not rs.EOF Then
  52. CheckForReadyToExportToSnailWorks = rs("ID").value
  53. Else
  54. CheckForReadyToExportToSnailWorks = 0
  55. End If
  56. If rs.State = 1 Then:rs.Close:End If
  57. If oConn.State = 1 Then:oConn.Close:End If
  58. End Function
  59. Function CreateExportForSnailWorks(KitID)
  60. If oConn.State = 0 Then:oConn.Open(ConnectionString):End If
  61. Dim KitRs:set KitRs = oConn.Execute("Select * From [Kit] Where [ID] =" & KitID & ";")
  62. Dim KitLabelsRs: Set KitLabelsRs = oConn.Execute("SELECT InkjetRecords.ID, InkjetRecords.KitID, InkjetRecords.VOTERID, InkjetRecords.LASTNAME," &_
  63. " InkjetRecords.FIRSTNAME, InkjetRecords.MIDDLENAME, InkjetRecords.SUFFIX, InkjetRecords.PRECINCT," &_
  64. " InkjetRecords.ADDRESS1, InkjetRecords.ADDRESS2, InkjetRecords.ADDRESS3, InkjetRecords.ADDRESS4," &_
  65. " InkjetRecords.ADDRESS5, InkjetRecords.APPSENT, InkjetRecords.APPRETURNED, InkjetRecords.BALSENT," &_
  66. " InkjetRecords.BALRETURNED, InkjetRecords.CountingBoard, InkjetRecords.UOCAVASTATUS, InkjetRecords.EMAILADDRESS," &_
  67. " InkjetRecords.PHONENUMBER, InkjetRecords.BALLOT_NUMBER, InkjetRecords.CassADDRESS1, InkjetRecords.CassADDRESS2," &_
  68. " InkjetRecords.CassADDRESS3, InkjetRecords.CassADDRESS4, InkjetRecords.CassADDRESS5, InkjetRecords.KitLabelID," &_
  69. " KitLabels.ID, KitLabels.KitID, KitLabels.OutboundSerial, KitLabels.InBoundSerial, KitLabels.OutboundIMB," &_
  70. " KitLabels.InBoundIMB, KitLabels.OutboundIMBDigits, KitLabels.InBoundIMBDigits, KitLabels.OutboundIMBPNG," &_
  71. " KitLabels.INBOUNDIMBPNG, KitLabels.SetNumber" &_
  72. " FROM InkjetRecords" &_
  73. " LEFT JOIN [KitLabels] ON InkjetRecords.KitLabelID = KitLabels.ID" & _
  74. " WHERE InkjetRecords.KitID =" & KitID & " ;")
  75. Dim JurisdictionRs:Set JurisdictionRs = oConn.Execute("SELECT * FROM Jurisdiction WHERE JCode ='" & KitRs("Jcode").Value & "';")
  76. Dim ExportFileName:ExportFileName = objFSO.GetBaseName(KitRs("Filename")) & "_SW_EXPORT"
  77. If Not objFSO.FolderExists(ExportDirectory & KitRs("JobNumber").Value & "-" & JurisdictionRs("Name").value) Then:objFSO.CreateFolder(ExportDirectory & KitRs("JobNumber").Value & "-" & JurisdictionRs("Name").value):End If
  78. If objFSO.FileExists(ExportDirectory & KitRs("JobNumber").Value & "-" & JurisdictionRs("Name").value & "/" & ExportFileName) Then:objFSO.DeleteFile(ExportDirectory & KitRs("JobNumber").Value & "-" & JurisdictionRs("Name").value & "/" & ExportFileName):End If
  79. Dim objExportFile:set objExportFile = objFSO.CreateTextFile(ExportDirectory & KitRs("JobNumber").Value & "-" & JurisdictionRs("Name").value & "/" & ExportFileName,2)
  80. objExportFile.Write("H") 'Record Type Required value must be = "H" (Header)
  81. objExportFile.Write(PadString("5.1",5)) 'Version Required value must be ="5.1" for current release
  82. objExportFile.Write(PadString("?",50)) 'UserId Required
  83. objExportFile.Write(PadString(JurisdictionRs("Name").Value,50)) 'Client Name Required (will create new subaccount if not already defined)
  84. objExportFile.Write(PadString("",50)) 'Parent Client Name Optional (use if 3-tier account structure)
  85. objExportFile.Write(PadString("Purple envelope - " &_
  86. KitRs("JobNumber").Value,50)) 'Job Name Required
  87. objExportFile.Write(PadString("",50)) 'Job Description Optional
  88. objExportFile.Write(PadString("",50)) 'Split Name Optional will default to Default
  89. objExportFile.Write(PadString("",80)) 'Split Description Optional
  90. objExportFile.Write(PadString("L",1)) 'Piece Type Required L-Letters, C-Cards, F-Flats
  91. objExportFile.Write(PadString(Year(Now()) & "/" &_
  92. Right("0" & Month(Now()), 2) & "/" & Right("0" & Day(Now()), 2),10)) 'MailDate Required (YYYY/MM/DD)
  93. objExportFile.Write(PadString("N",1)) 'UploadType Required N = New job, new split A = Append new split to existing job R = Replace existing split
  94. objExportFile.Write(PadString("",8)) 'TrackedQuantity Optional
  95. objExportFile.Write(PadString("",8)) 'PiecesMailed Optional shown as Estimated Quantity
  96. objExportFile.Write(PadString("",10)) 'Target InHomeDateStart Optional (YYYY/MM/DD)
  97. objExportFile.Write(PadString("",10)) 'Target InHomeDateEnd Optional (YYYY/MM/DD)
  98. objExportFile.Write(PadString("",100)) 'ConfirmationEmail Optional
  99. objExportFile.Write(PadString("",9)) 'JobId (SW) Optional for previously created jobs SWJobId
  100. objExportFile.Write(PadString("",4)) 'SplitId (SW) Optional for previously created jobs SWJobId
  101. objExportFile.Write(PadString(Choice(IsNull(KitRs("InboundSTID")),"O","R"),1))'TypeofTracking Required Values: O- Outbound Only I-Inbound Only R-Round Trip
  102. objExportFile.Write(PadString("",11)) 'ReturnedPostalRoutingCode
  103. objExportFile.Write(PadString("",2)) 'ReportId1
  104. objExportFile.Write(PadString("",255)) 'Report1Email
  105. objExportFile.Write(PadString("",2)) 'ReportId2
  106. objExportFile.Write(PadString("",255)) 'Report2Email
  107. objExportFile.Write(vbCrLf)
  108. While Not KitLabelsRs.EOF
  109. objExportFile.Write("D") 'RecordType Required value must be = D (Detail)
  110. objExportFile.Write(PadString("",20)) 'CustomerUniqueIdentifier Optional- any identifier you designate
  111. objExportFile.Write(PadString(KitLabelsRs("OutboundIMBDigits"),31)) 'IMB Required Unencoded, numeric IMB
  112. objExportFile.Write(PadString((""),10)) 'Greeting Optional
  113. objExportFile.Write(PadString((""),50)) 'First Name Optional
  114. objExportFile.Write(PadString((""),2)) 'MI Optional
  115. objExportFile.Write(PadString((""),50)) 'Last Name Optional
  116. objExportFile.Write(PadString((""),10)) 'Suffix Optional
  117. objExportFile.Write(PadString((KitLabelsRs("CassADDRESS1").Value),100)) 'Full Name Optional
  118. objExportFile.Write(PadString((""),50)) 'Company Optional
  119. objExportFile.Write(PadString((""),50)) 'Title Optional
  120. objExportFile.Write(PadString(KitLabelsRs("CassADDRESS3").Value,128)) 'Address1 Optional
  121. objExportFile.Write(PadString(KitLabelsRs("CassADDRESS4").Value,128)) 'Address2 Optional
  122. objExportFile.Write(PadString(Left(KitLabelsRs("CassADDRESS5").Value, InStr(KitLabelsRs("CassADDRESS5").Value, ",") - 1),50)) 'City Optional
  123. objExportFile.Write(PadString(Mid(KitLabelsRs("CassADDRESS5").Value, InStr(KitLabelsRs("CassADDRESS5").Value, ",") + 2, 2),2)) 'State Optional
  124. objExportFile.Write PadString(Right(KitLabelsRs("CassADDRESS5").Value,11),11)'Zip Optional
  125. objExportFile.Write(PadString(KitRs("Jcode"),100)) 'UserDefined1 Optional - Summary fields only
  126. objExportFile.Write(PadString((""),100)) 'UserDefined2 Optional - Summary fields only
  127. objExportFile.Write(PadString((""),100)) 'UserDefined3 Optional - Summary fields only
  128. objExportFile.Write(PadString(KitLabelsRs("PRECINCT").Value & KitLabelsRs("BALLOT_NUMBER"),80)) 'UserDefinedIdentifier4 Optional Allows for unique identifiers
  129. objExportFile.Write(PadString(KitLabelsRs("VOTERID").Value,80)) 'UserDefinedIdentifier5 Optional Allows for unique identifiers
  130. objExportFile.Write(PadString((""),1)) 'SeedIndicator Optional - if true provide Y
  131. objExportFile.Write(PadString((""),80)) 'InductionPoint Optional
  132. objExportFile.Write(PadString((""),10)) 'InductionDate Optional Valid date format, ex. MM/DD/YYYY
  133. objExportFile.Write(PadString(Choice(IsNull(KitRs("InboundSTID")),"", _
  134. KitLabelsRs("InBoundIMBDigits").Value),31)) 'InboundIMB Optional numeric IMB for Round trip jobs only
  135. objExportFile.Write(PadString((""),24)) 'IMCB Optional Container Barcode
  136. objExportFile.Write(PadString((""),24)) 'IMTB Optional Tray Barcode
  137. objExportFile.Write(vbCrLf)
  138. KitLabelsRs.MoveNext
  139. Wend
  140. objExportFile.Close
  141. oConn.Execute("UPDATE KIT SET [Status] ='Ready to Proof',[ExportedToSnailWorks] =#" & Now() & "# WHERE [ID] =" & KitID & ";")
  142. If KitRs.State = 1 Then:KitRs.Close:End If
  143. If KitLabelsRs.State = 1 Then:KitLabelsRs.Close: End If
  144. If JurisdictionRs.State = 1 Then:JurisdictionRs.Close:End If
  145. If oConn.State = 1 Then:oConn.Close:End If
  146. End Function
  147. Function createTrackingInfoForKit(KitID)
  148. Dim KitRs:set KitRs = oConn.Execute("Select * from Kit Where ID =" & KitID & ";")
  149. Dim InkjetRs:Set InkjetRs = oConn.Execute("Select * from InkjetRecords Where KitID =" & KitID & ";")
  150. Dim JurisRs:set JurisRs = oConn.Execute("Select Right(IMB_Digits,9) as IMBZip FROM Jurisdiction Where JCode ='" & KitRs("Jcode") & "';"):Dim Jcode:Jcode = JurisRs("IMBZip"):JurisRs.Close
  151. Dim SerialNumberStart:SerialNumberStart = GetSetting("SerialNumberStart")
  152. Dim serialOffset:serialOffset = GetSetting("SerialOffset")
  153. Dim serialStart:serialStart = CLng(GetSetting("SerialNumberStart")) + CLng(GetSetting("SerialOffset"))
  154. Dim Counter:Counter=0
  155. Dim KitLabelID
  156. Dim KitLabelRs
  157. Dim Step : If KitRs("InboundSTID") <> "" Then : Step = 2 : Else Step = 1
  158. serialStart = PadLeft(serialStart + CLng(Counter),9,"0")
  159. While Not InkjetRs.EOF
  160. If Step = 1 Then
  161. oConn.Execute("INSERT INTO KitLabels (KitID,OutboundSerial,OutboundIMBDigits) " &_
  162. "VALUES(" & KitID & ",'" & serialStart & "','" & KitRs("OutBoundSTID").Value & serialStart & "000000000" & "');")
  163. Else
  164. oConn.Execute "INSERT INTO KitLabels (KitID,OutboundSerial,InBoundSerial,OutboundIMBDigits,InBoundIMBDigits) " &_
  165. "VALUES(" & KitID & ",'" & serialStart & "','" & serialStart + 1 & "','" & KitRs("OutBoundSTID").Value & serialStart & "000000000" & "','" & KitRs("InboundSTID").Value & serialStart + 1 & Jcode & "');"
  166. End If
  167. Set KitLabelRs = oConn.Execute("SELECT TOP 1 [ID] FROM KitLabels ORDER BY ID DESC"):KitLabelID = KitLabelRs("ID").Value
  168. oConn.Execute("UPDATE InkjetRecords Set [KitLabelID]=" & KitLabelID & " WHERE ID=" & InkjetRs("ID") & ";")
  169. Counter = Counter + Step
  170. serialStart = serialStart + Step
  171. InkjetRs.MoveNext
  172. Wend
  173. oConn.Execute("UPDATE Settings Set [Value]='" & serialOffset + Counter & "' WHERE [Name] = 'SerialOffset';")
  174. oConn.Execute("UPDATE Kit Set [Status]='Ready For Export', LabelsPrinted=#" & Now() & "# WHERE [ID] =" & KitID &";")
  175. End Function
  176. Function GetSetting(settingName)
  177. Dim rs:Set rs = oConn.Execute("Select Value From [Settings] Where [Name] = '" & settingName & "';")
  178. If Not rs.EOF Then
  179. GetSetting = rs(0).value
  180. rs.Close
  181. Else
  182. SetSetting = 0
  183. rs.Close
  184. End If
  185. End Function
  186. Function CheckForReadyToLabel()
  187. Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit Where Status ='Ready to Assign Labels' ORDER BY ID DESC;")
  188. If Not rs.EOF Then
  189. Dim kitId : kitId = rs("ID").value
  190. rs.Close
  191. CheckForReadyToLabel = KitID
  192. oConn.Execute("UPDATE Kit SET Status ='Applying Serial Numbers' WHERE ID =" & KitID & ";")
  193. Else
  194. CheckForReadyToLabel = 0
  195. End If
  196. End Function
  197. Function CheckForFiles()
  198. If objFSO.FolderExists(DataDirectory) Then
  199. Dim objFolder:Set objFolder = objFSO.GetFolder(DataDirectory)
  200. If objFolder.Files.Count > 0 Then
  201. 'WScript.Echo "Files found in directory: " & DataDirectory
  202. Dim objFile
  203. For Each objFile In objFolder.Files
  204. Dim CsvString:CsvString = ConvertCsvToString(objFile.Path)
  205. If ValidImportCSV(CsvString) Then
  206. SetupKit CsvString,objFile.Name
  207. objFSO.MoveFile objFile.Path, DataDirectory & "\import\" & objFile.Name
  208. End If
  209. Next
  210. Else
  211. 'WScript.Echo "No files found in directory: " & DataDirectory
  212. End If
  213. End If
  214. End Function
  215. Function ValidJcode(jcode)
  216. Dim oConn
  217. Set oConn = WScript.CreateObject("ADODB.Connection")
  218. oConn.ConnectionString = ConnectionString
  219. oConn.Open
  220. Dim oRs
  221. set oRs = oConn.Execute("Select * from Jurisdiction Where [JCode] = '" & jcode & "';")
  222. If oRs.EOF Then
  223. ValidJcode = 0
  224. Else
  225. ValidJcode = 1
  226. End If
  227. oRs.Close
  228. oConn.Close
  229. End Function
  230. Function SetupKit(CsvString,FileName)
  231. Dim JobNumber:JobNumber = Mid(FileName,9,6)
  232. Dim JCode:JCode = Left(Filename,5)
  233. If IsNumeric(JobNumber) Then
  234. If ValidJcode(JCode) Then
  235. WScript.Echo FileName & " Is a Valid CSV for Importing"
  236. Dim oConn:Set oConn = WScript.CreateObject("ADODB.Connection")
  237. oConn.ConnectionString = ConnectionString
  238. oConn.Open
  239. oConn.Execute("Insert Into Kit ([JobNumber], [Jcode], [CreatedOn], [JobType],[Filename],[Status]) VALUES ('" & JobNumber & "','" & JCode & "',#" & Now() & "#,'Purple Envelopes','" & FileName & "','Importing');")
  240. Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit ORDER BY ID DESC")
  241. Dim kitId : kitId = rs("ID").value
  242. rs.close
  243. Dim i
  244. For i = 1 To objCSV.NumRows -1
  245. oConn.Execute("Insert Into [InkjetRecords] (KitID,VOTERID,LASTNAME,FIRSTNAME,MIDDLENAME" & _
  246. ",SUFFIX,PRECINCT,ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5,APPSENT,APPRETURNED,BALSENT,BALRETURNED" & _
  247. ",CountingBoard,UOCAVASTATUS,EMAILADDRESS,PHONENUMBER,BALLOT_NUMBER) VALUES (" & kitId & _
  248. ",'" & Replace(objCSV.GetCell(i,0),"'","''") & _
  249. "','" & objCsv.GetCell(i,1) & _
  250. "','" & Replace(objCSV.GetCell(i,2),"'","''") & _
  251. "','" & Replace(objCSV.GetCell(i,3),"'","''") & _
  252. "','" & Replace(objCSV.GetCell(i,4),"'","''") & _
  253. "','" & Replace(objCSV.GetCell(i,5),"'","''") & _
  254. "','" & Replace(objCSV.GetCell(i,6),"'","''") & _
  255. "','" & Replace(objCSV.GetCell(i,7),"'","''") & _
  256. "','" & Replace(objCSV.GetCell(i,8),"'","''") & _
  257. "','" & Replace(objCSV.GetCell(i,9),"'","''") & _
  258. "','" & Replace(objCSV.GetCell(i,10),"'","''") & _
  259. "','" & Replace(objCSV.GetCell(i,11),"'","''") & _
  260. "','" & Replace(objCSV.GetCell(i,12),"'","''") & _
  261. "','" & Replace(objCsv.GetCell(i,13),"'","''") & _
  262. "','" & objCsv.GetCell(i,14) & _
  263. "','" & objCsv.GetCell(i,15) & _
  264. "','" & objCsv.GetCell(i,16) & _
  265. "','" & objCsv.GetCell(i,17) & _
  266. "','" & objCsv.GetCell(i,18) & _
  267. "','" & objCsv.GetCell(i,19) & _
  268. "')")
  269. Next
  270. oConn.Execute("Update Kit SET [Status] = 'Ready to Cass' Where ID = " & kitId &";")
  271. 'oConn.Close
  272. End If
  273. End If
  274. End Function
  275. Function ConvertCsvToString(FilePath)
  276. Dim objFSO:Set objFSO = CreateObject("Scripting.FileSystemObject")
  277. Dim objCsvFile:set objCsvFile = objFSO.OpenTextFile(FilePath)
  278. Dim strContent:strContent = ""
  279. Dim intLineCount:intLineCount = 0
  280. Do Until objCsvFile.AtEndOfStream Or intLineCount >= 3
  281. objCsvFile.SkipLine
  282. intLineCount = intLineCount + 1
  283. Loop
  284. ' Read the remaining content into a string
  285. Do Until objCsvFile.AtEndOfStream
  286. Dim strLine:strLine = objCsvFile.ReadLine
  287. strContent = strContent & strLine & vbCrLf
  288. Loop
  289. ConvertCsvToString = strContent
  290. End Function
  291. Function ValidImportCSV(CsvFileAsString)
  292. objCSV.LoadFromString(CsvFileAsString)
  293. If objCSV.NumColumns = 20 Then
  294. debug.WriteLine objCsv.GetCell(1,1)
  295. ValidImportCSV = True
  296. Else
  297. ValidImportCSV = False
  298. End If
  299. End Function
  300. Sub ImportCass
  301. Dim currentRow
  302. objCsv.LoadFile("\\kci-syn-cl01\PC Transfer\TrackingDataExport\FROM_MM.CSV")
  303. For currentRow = 0 To objCsv.NumRows -1
  304. oConn.Execute("UPDATE InkJetRecords SET CassADDRESS1 = '" & Replace(objCsv.GetCell(currentRow,1),"'","''") & "', " &_
  305. "CassADDRESS2 = '" & Replace(objCSV.GetCell(currentRow,3),"'","''") & "', " &_
  306. "CassADDRESS3 = '" & Replace(objCSV.GetCell(currentRow,4),"'","''") & "', " &_
  307. "CassADDRESS4 = '" & Replace(objCSV.GetCell(currentRow,5),"'","''") & "', " &_
  308. "CassADDRESS5 = '" & Replace(objCsv.GetCell(currentRow,6) & ", " & objCsv.GetCell(currentRow,7) & " " & objCsv.GetCell(currentRow,8),"'","''") & "'" &_
  309. " WHERE ID = " & objCSV.GetCell(currentRow,0) & ";")
  310. Next
  311. oConn.Execute("UPDATE Kit SET Status ='Ready To Assign STIDS' WHERE ID =" & KitID & ";")
  312. oConn.Execute("UPDATE Kit SET [Cass] = 1 WHERE ID =" & KitID & ";")
  313. End Sub
  314. Sub RunMailManager
  315. 'WshShell.Run "\\MM2012\APPS\BCC\MM2010\mailman.exe -p -j MMJOB.mjb -u DAN",1,True
  316. WshShell.Run "PsExec64.exe -i -e -u ntp\danielc -p SunBrightShine! \\MarkH2 ""\\MM2012\APPS\BCC\MM2010\mailman.exe"" -p -j MMJOB.mjb -u DAN",1,True
  317. End Sub
  318. Sub ExportMMCsv(KitId)
  319. Dim success
  320. objCsv.HasColumnNames = 1
  321. objCSV.EnableQuotes = 1
  322. success = objCsv.SetColumnName(0,"ID")
  323. success = objCsv.SetColumnName(1,"NAME")
  324. success = objCsv.SetColumnName(2,"ADDRESS1")
  325. success = objCsv.SetColumnName(3,"ADDRESS2")
  326. success = objCsv.SetColumnName(4,"ADDRESS3")
  327. success = objCsv.SetColumnName(5,"ADDRESS4")
  328. success = objCsv.SetColumnName(6,"ADDRESS5")
  329. Dim rs : Set rs = oConn.Execute("Select ID," & _
  330. "IIF(FIRSTNAME IS NULL,'',FIRSTNAME & ' ') & " & _
  331. "IIF(MIDDLENAME IS NULL,'',MIDDLENAME & ' ') & " & _
  332. "IIF(LASTNAME IS NULL,'',LASTNAME & ' ') & " & _
  333. "IIF(SUFFIX IS NULL,'',SUFFIX & ' ') " & _
  334. "AS NAME, ADDRESS1,ADDRESS2,ADDRESS3,ADDRESS4,ADDRESS5 FROM InkjetRecords WHERE KitID =" & KitID & " ORDER By ID;")
  335. Dim CurrentRow:CurrentRow = 0
  336. While Not rs.EOF
  337. objCSV.SetCell CurrentRow,0,rs("ID").value
  338. objCSV.SetCell CurrentRow,1,rs("NAME").value
  339. objCSV.SetCell CurrentRow,2,rs("ADDRESS1").value
  340. objCSV.SetCell CurrentRow,3,rs("ADDRESS2").value
  341. objCSV.SetCell CurrentRow,4,rs("ADDRESS3").value
  342. objCSV.SetCell CurrentRow,5,rs("ADDRESS4").value
  343. objCSV.SetCell CurrentRow,6,rs("ADDRESS5").value
  344. rs.MoveNext
  345. CurrentRow = CurrentRow +1
  346. Wend
  347. Dim CsvString:CsvString = objCSV.SaveToString()
  348. outFile.WriteLine CsvString
  349. outFile.Close
  350. End Sub
  351. Function CheckForJobsToCass()
  352. oConn.ConnectionString = ConnectionString
  353. oConn.Open
  354. 'oConn.Open
  355. Dim rs : set rs = oConn.Execute("Select TOP 1 ID from Kit Where Status ='Ready to Cass' ORDER BY ID DESC;")
  356. If Not rs.EOF Then
  357. Dim kitId : kitId = rs("ID").value
  358. rs.Close
  359. CheckForJobsToCass = KitID
  360. oConn.Execute("UPDATE Kit SET Status ='Cassing' WHERE ID =" & KitID & ";")
  361. Else
  362. CheckForJobsToCass = 0
  363. End If
  364. 'oConn.Close
  365. End Function
  366. Public Function PadLeft(originalString,desiredLength,Char)
  367. Dim padLength
  368. padLength = desiredLength - Len(originalString)
  369. If padLength > 0 Then
  370. ' Left pad the string with zeros
  371. PadLeft = String(padLength, Char) & originalString
  372. Else
  373. ' If the original string is already longer or equal to the desired length, no padding is needed
  374. PadLeft = originalString
  375. End If
  376. End Function
  377. Function PadString(inputString, size)
  378. Dim paddedString
  379. Dim inputLength
  380. Dim i
  381. ' Get the length of the input string
  382. inputLength = Len(inputString)
  383. ' If the input string is already equal to or longer than the specified size, return it as is
  384. If inputLength >= size Then
  385. PadString = inputString
  386. Exit Function
  387. End If
  388. ' Initialize the padded string with the input string
  389. paddedString = inputString
  390. ' Pad spaces to the right of the input string until it reaches the specified size
  391. For i = 1 To (size - inputLength)
  392. paddedString = paddedString & " "
  393. Next
  394. ' Return the padded string
  395. PadString = paddedString
  396. End Function
  397. Public Sub Assign(ByRef var, ByVal val)
  398. If IsObject(val) Then
  399. Set var = val
  400. Else
  401. var = val
  402. End If
  403. End Sub
  404. Public Function Choice(ByVal cond, ByVal if_true, ByVal if_false)
  405. If cond Then
  406. Assign Choice, if_true
  407. Else
  408. Assign Choice, if_false
  409. End If
  410. End Function

Powered by TurnKey Linux.