Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

TrackingDataImport.vbs 23KB

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

Powered by TurnKey Linux.