Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

168 строки
7.1 KiB

  1. //
  2. // File.swift
  3. //
  4. //
  5. // Created by Michiel Carman on 11/2/21.
  6. //
  7. import Foundation
  8. import Vapor
  9. import Fluent
  10. import FluentPostgresDriver
  11. final class mdlCPCLTemplateCommand: Model, Content{
  12. struct Input: Content{
  13. let id: Int?
  14. let cmd: String
  15. let sortorder: Int
  16. let isactive: Bool
  17. let createdate: Date?
  18. let createuserid: Int?
  19. let updatedate: Date?
  20. let updateuserid: Int?
  21. let cpcltemplate: mdlCPCLTemplate
  22. }
  23. struct Output: Content{
  24. let id: Int?
  25. let cmd: String
  26. let sortorder: Int
  27. let isactive: Bool
  28. let createdate: Date?
  29. let createuserid: Int?
  30. let updatedate: Date?
  31. let updateuserid: Int?
  32. let cpcltemplate: mdlCPCLTemplate
  33. }
  34. static let schema = "CPCLTemplateCommand"
  35. @ID(custom: "id", generatedBy: .database) var id: Int?
  36. @Field(key: "cmd") var cmd: String
  37. @Field(key: "sortOrder") var sortorder: Int
  38. @Field(key: "isActive") var isactive: Bool
  39. @Field(key: "createUserId" ) var createuserid: Int?
  40. @Timestamp(key: "createDate", on: .create) var createdate: Date?
  41. @Field(key: "updateUserId") var updateuserid: Int?
  42. @Timestamp(key: "updateDate", on: .update) var updatedate: Date?
  43. @Parent(key: "cpclTemplateId") var cpcltemplate: mdlCPCLTemplate
  44. init(){}
  45. init(cmd: String, sortorder: Int){
  46. self.cmd = cmd
  47. self.sortorder = sortorder
  48. self.isactive = true
  49. self.createuserid = -1
  50. self.updateuserid = -1
  51. self.$cpcltemplate.id = mdlCPCLTemplate(id: 1).id!
  52. }
  53. init(id: Int? = nil, cmd: String, sortorder: Int, isactive: Bool, createuserid: Int? = -1, createdate: Date? = nil, updateuserid: Int? = -1, updatedate: Date? = nil, cpcltemplate: mdlCPCLTemplate){
  54. self.id = id
  55. self.cmd = cmd
  56. self.sortorder = sortorder
  57. self.isactive = isactive
  58. self.createuserid = createuserid
  59. self.createdate = createdate
  60. self.updateuserid = updateuserid
  61. self.updatedate = updatedate
  62. self.$cpcltemplate.id = cpcltemplate.id!
  63. }
  64. }
  65. extension mdlCPCLTemplateCommand {
  66. struct create: Migration{
  67. func prepare(on database: Database) -> EventLoopFuture<Void> {
  68. return database.schema("CPCLTemplateCommand")
  69. .field("id", .int, .identifier(auto: true))
  70. .field("cmd", .string)
  71. .field("sortOrder", .int)
  72. .field("isActive", .bool)
  73. .field("cpclTemplateId", .int, .required, .references("CPCLTemplate", "id"))
  74. .field("createUserId", .int)
  75. .field("createDate", .datetime)
  76. .field("updateUserId", .int)
  77. .field("updateDate", .datetime)
  78. .create()
  79. }
  80. func revert(on database: Database) -> EventLoopFuture<Void> {
  81. database.schema("CPCLTemplateCommand").delete()
  82. }
  83. }
  84. //* Uncomment if you need to seed the table.
  85. struct seed: Migration {
  86. func prepare(on database: Database) -> EventLoopFuture<Void> {
  87. // 1
  88. let array: [mdlCPCLTemplateCommand] = [
  89. .init(cmd: "! 0 200 200 600 1 \r\n", sortorder: 1),
  90. .init(cmd: "VB PDF-417 34 100 XD 3 YD 5 C 3 S 2 PDF Data \r\n", sortorder: 2),
  91. .init(cmd: "[Dealer Code]|[Serial Number]|[Unit]|[Make]|[Jobsite]|[Model]|[]|[Compartment]|[]|[Meter Reading]|[Hours on Oil]|[Fluid Brand]|[Fluid Viscosity]|[Fluid Changed]|[Filter Changed]|[Oil Added Unit]|[Oil Added]|[Work Order Number]|[Oil Sample Date Barcode]|[Comment]|[Compartment Code]|\r\n", sortorder: 3),
  92. .init(cmd: "ENDPDF \r\n", sortorder: 4),
  93. .init(cmd: "T 0 0 215 500 Comment\r\n", sortorder: 5),
  94. .init(cmd: "L 215 495 700 495 1 \r\n", sortorder: 6),
  95. .init(cmd: "T 5 0 215 474 [Comment]\r\n", sortorder: 7),
  96. .init(cmd: "T 0 0 215 390 Oil Brand\r\n", sortorder: 8),
  97. .init(cmd: "L 215 385 447 385 1 \r\n", sortorder: 9),
  98. .init(cmd: "T 5 0 215 364 [Fluid Brand]\r\n", sortorder: 10),
  99. .init(cmd: "T 0 0 538 390 Oil Weight\r\n", sortorder: 11),
  100. .init(cmd: "L 538 385 700 385 1 \r\n", sortorder: 12),
  101. .init(cmd: "T 5 0 538 364 [Fluid Viscosity]\r\n", sortorder: 13),
  102. .init(cmd: "T 0 0 468 335 Level\r\n", sortorder: 14),
  103. .init(cmd: "L 468 330 700 330 1 \r\n", sortorder: 15),
  104. .init(cmd: "T 5 0 468 309 [Level]\r\n", sortorder: 16),
  105. .init(cmd: "T 0 0 215 335 Oil Added\r\n", sortorder: 17),
  106. .init(cmd: "L 215 330 447 330 1 \r\n", sortorder: 18),
  107. .init(cmd: "T 5 0 215 309 [Oil Added] [Oil Added Unit]\r\n", sortorder: 19),
  108. .init(cmd: "T 0 0 215 445 Oil Chgd\r\n", sortorder: 20),
  109. .init(cmd: "L 215 440 447 440 1 \r\n", sortorder: 21),
  110. .init(cmd: "T 5 0 215 419 [Oil Changed]\r\n", sortorder: 22),
  111. .init(cmd: "T 0 0 468 445 Filter Chgd\r\n", sortorder: 23),
  112. .init(cmd: "L 468 440 700 440 1 \r\n", sortorder: 24),
  113. .init(cmd: "T 5 0 468 419 [Filter Changed]\r\n", sortorder: 25),
  114. .init(cmd: "T 0 0 215 225 Mtr Reading\r\n", sortorder: 26),
  115. .init(cmd: "L 215 220 447 220 1 \r\n", sortorder: 27),
  116. .init(cmd: "T 5 0 215 199 [Meter Reading]\r\n", sortorder: 28),
  117. .init(cmd: "T 0 0 215 280 Hrs on Oil\r\n", sortorder: 29),
  118. .init(cmd: "L 215 275 447 275 1 \r\n", sortorder: 30),
  119. .init(cmd: "T 5 0 215 254 [Hours on Oil]\r\n", sortorder: 31),
  120. .init(cmd: "T 0 0 215 170 Unit No\r\n", sortorder: 32),
  121. .init(cmd: "L 215 165 447 165 1 \r\n", sortorder: 33),
  122. .init(cmd: "T 5 0 215 144 [Unit]\r\n", sortorder: 34),
  123. .init(cmd: "T 0 0 468 170 Serial No\r\n", sortorder: 35),
  124. .init(cmd: "L 468 165 700 165 1 \r\n", sortorder: 36),
  125. .init(cmd: "T 5 0 468 144 [Serial Number]\r\n", sortorder: 37),
  126. .init(cmd: "T 0 0 468 115 Model\r\n", sortorder: 38),
  127. .init(cmd: "L 468 110 700 110 1 \r\n", sortorder: 39),
  128. .init(cmd: "T 5 0 468 89 [Model]\r\n", sortorder: 40),
  129. .init(cmd: "T 0 0 215 115 Make\r\n", sortorder: 41),
  130. .init(cmd: "L 215 110 447 110 1 \r\n", sortorder: 42),
  131. .init(cmd: "T 5 0 215 89 [Make]\r\n", sortorder: 43),
  132. .init(cmd: "T 0 0 215 60 Sample Taken From\r\n", sortorder: 44),
  133. .init(cmd: "L 215 55 700 55 1 \r\n", sortorder: 45),
  134. .init(cmd: "T 5 0 215 34 [Compartment]\r\n", sortorder: 46),
  135. .init(cmd: "T 0 0 468 225 Sample Date\r\n", sortorder: 47),
  136. .init(cmd: "L 468 220 700 220 1 \r\n", sortorder: 48),
  137. .init(cmd: "T 5 0 468 199 [Oil Sample Date Label]\r\n", sortorder: 49),
  138. .init(cmd: "T 5 0 15 5 [Customer]\r\n", sortorder: 50),
  139. .init(cmd: "T 5 0 600 5 [Work Order Number]\r\n", sortorder: 51),
  140. .init(cmd: "FORM \r\n", sortorder: 52),
  141. .init(cmd: "PRINT \r\n", sortorder: 53)
  142. ]
  143. // 2
  144. return array.map { obj in
  145. obj.save(on: database)
  146. }
  147. .flatten(on: database.eventLoop)
  148. }
  149. func revert(on database: Database) -> EventLoopFuture<Void> {
  150. // 3
  151. mdlCPCLTemplateCommand.query(on: database).delete()
  152. }
  153. }
  154. //
  155. }