Nav apraksta

models.py 26KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. from django.db import models
  2. # Create your models here.
  3. from django.contrib.auth.models import User # Assuming you're using Django's built-in User model
  4. class Report(models.Model):
  5. name = models.CharField(max_length=255) # Name of the report
  6. created_by = models.ForeignKey(
  7. User,
  8. on_delete=models.CASCADE,
  9. related_name="reports"
  10. ) # Reference to the user who created the report
  11. created_at = models.DateTimeField(auto_now_add=True) # Automatically set when created
  12. updated_at = models.DateTimeField(auto_now=True) # Automatically updated when modified
  13. file = models.FileField(upload_to='reports/files/', null=True, blank=True) # File field
  14. def __str__(self):
  15. return self.name
  16. class MgMasterView(models.Model):
  17. # ProcessControl.dbo.[Q-PRO-DATA]
  18. PRO0 = models.CharField(primary_key=True,max_length=255, null=False)
  19. PRO1 = models.CharField(max_length=255, null=True)
  20. PRO1C = models.CharField(max_length=255, null=True)
  21. Japanese_CustomerName = models.CharField(max_length=255, null=True)
  22. PRO2 = models.CharField(max_length=255, null=True)
  23. PRO5 = models.CharField(max_length=255, null=True)
  24. PRO8 = models.CharField(max_length=255, null=True)
  25. PRO9 = models.CharField(max_length=255, null=True)
  26. PRO10 = models.CharField(max_length=255, null=True)
  27. PRO11 = models.CharField(max_length=255, null=True)
  28. PRO12 = models.CharField(max_length=255, null=True)
  29. PRO13 = models.CharField(max_length=255, null=True)
  30. PRO14 = models.CharField(max_length=255, null=True)
  31. PRO15 = models.CharField(max_length=255, null=True)
  32. PRO16 = models.CharField(max_length=255, null=True)
  33. PRO17 = models.CharField(max_length=255, null=True)
  34. PRO18 = models.CharField(max_length=255, null=True)
  35. PRO21 = models.CharField(max_length=255, null=True)
  36. PRO25 = models.CharField(max_length=255, null=True)
  37. PRO27 = models.CharField(max_length=255, null=True)
  38. P2 = models.CharField(max_length=255, null=True) # PRO-P2
  39. SPEED = models.CharField(max_length=255, null=True) # PRO-SPEED
  40. PRO_TOOL = models.CharField(max_length=255, null=True, db_column='PRO-TOOL') # PRO-TOOL
  41. PRO4 = models.CharField(max_length=255, null=True)
  42. # dbo.[MG-MAS-1]
  43. MC11 = models.CharField(max_length=255, null=True)
  44. MC12 = models.CharField(max_length=255, null=True)
  45. MC14 = models.CharField(max_length=255, null=True)
  46. MC15 = models.CharField(max_length=255, null=True)
  47. MC16 = models.CharField(max_length=255, null=True)
  48. MC19 = models.CharField(max_length=255, null=True)
  49. MC20 = models.CharField(max_length=255, null=True)
  50. MC21 = models.CharField(max_length=255, null=True)
  51. MC22 = models.CharField(max_length=255, null=True)
  52. MC23 = models.CharField(max_length=255, null=True)
  53. MC24 = models.CharField(max_length=255, null=True)
  54. # dbo.[MG-MAS-2]
  55. MP45 = models.CharField(max_length=255, null=True)
  56. MP49 = models.CharField(max_length=255, null=True)
  57. # dbo.[MG-MAS-3]
  58. MI13 = models.CharField(max_length=255, null=True)
  59. TC = models.CharField(max_length=255, null=True)
  60. MI14 = models.CharField(max_length=255, null=True)
  61. MI15 = models.CharField(max_length=255, null=True)
  62. MI16 = models.CharField(max_length=255, null=True)
  63. MI17 = models.CharField(max_length=255, null=True)
  64. MI18 = models.CharField(max_length=255, null=True)
  65. MI19 = models.CharField(max_length=255, null=True)
  66. MI20 = models.CharField(max_length=255, null=True)
  67. MI21 = models.CharField(max_length=255, null=True)
  68. MI22 = models.CharField(max_length=255, null=True)
  69. MI23 = models.CharField(max_length=255, null=True)
  70. MI31 = models.CharField(max_length=255, null=True)
  71. MI33 = models.CharField(max_length=255, null=True)
  72. INSAGM = models.CharField(max_length=255, null=True)
  73. MARAGM = models.CharField(max_length=255, null=True)
  74. MI53 = models.CharField(max_length=255, null=True)
  75. MI55 = models.CharField(max_length=255, null=True)
  76. MI36 = models.CharField(max_length=255, null=True)
  77. MI39 = models.CharField(max_length=255, null=True)
  78. MI24 = models.CharField(max_length=255, null=True)
  79. # MGT_Config.dbo.[TABLE_TI-T1], [TABLE_TI-T5], [TABLE_TI-T6]
  80. Ind1 = models.CharField(max_length=255, null=True) # TIT1NE
  81. Ind2 = models.CharField(max_length=255, null=True) # TIT5NE
  82. Ind3 = models.CharField(max_length=255, null=True) # TIT6NE
  83. # Conditional Fields
  84. AGR1 = models.CharField(max_length=255, null=True)
  85. AGR2 = models.CharField(max_length=255, null=True)
  86. ob_Condition = models.CharField(max_length=255, null=True) # TIT4NE
  87. class Meta:
  88. managed = False
  89. db_table = 'mg_master_view'
  90. app_label = "legacy"
  91. #db_table = 'MgMasterView_Full_Mockup_Data'
  92. class VMasterView(models.Model):
  93. # Fields from ProcessControl.dbo.[Q-PRO-DATA]
  94. PRO0 = models.CharField(primary_key=True, max_length=255, null=False)
  95. PRO1 = models.CharField(max_length=255, null=True)
  96. PRO1C = models.CharField(max_length=255, null=True)
  97. Japanese_CustomerName = models.CharField(max_length=255, null=True)
  98. PRO2 = models.CharField(max_length=255, null=True)
  99. PRO5 = models.CharField(max_length=255, null=True)
  100. PRO8 = models.CharField(max_length=255, null=True)
  101. PRO9 = models.CharField(max_length=255, null=True)
  102. PRO10 = models.CharField(max_length=255, null=True)
  103. PRO11 = models.CharField(max_length=255, null=True)
  104. PRO12 = models.CharField(max_length=255, null=True)
  105. PRO13 = models.CharField(max_length=255, null=True)
  106. PRO14 = models.CharField(max_length=255, null=True)
  107. PRO15 = models.CharField(max_length=255, null=True)
  108. PRO16 = models.CharField(max_length=255, null=True)
  109. PRO17 = models.CharField(max_length=255, null=True)
  110. PRO18 = models.CharField(max_length=255, null=True)
  111. PRO21 = models.CharField(max_length=255, null=True)
  112. PRO25 = models.CharField(max_length=255, null=True)
  113. PRO27 = models.CharField(max_length=255, null=True)
  114. P2 = models.CharField(max_length=255, null=True) # PRO-P2
  115. PRO6 = models.CharField(max_length=255, null=True)
  116. SPEED = models.CharField(max_length=255, null=True) # PRO-SPEED
  117. PRO_TOOL = models.CharField(max_length=255, null=True, db_column='PRO-TOOL') # PRO-TOOL
  118. PRO4 = models.CharField(max_length=255, null=True)
  119. # Fields from dbo.[V-MAS-1]
  120. MC11 = models.CharField(max_length=255, null=True)
  121. MC12 = models.CharField(max_length=255, null=True)
  122. MC14 = models.CharField(max_length=255, null=True)
  123. MC15 = models.CharField(max_length=255, null=True)
  124. MC16 = models.CharField(max_length=255, null=True)
  125. MC19 = models.CharField(max_length=255, null=True)
  126. MC20 = models.CharField(max_length=255, null=True)
  127. MC21 = models.CharField(max_length=255, null=True)
  128. MC22 = models.CharField(max_length=255, null=True)
  129. MC23 = models.CharField(max_length=255, null=True)
  130. MC24 = models.CharField(max_length=255, null=True)
  131. # Fields from dbo.[V-MAS-2]
  132. MP34 = models.CharField(max_length=255, null=True)
  133. MP39 = models.CharField(max_length=255, null=True)
  134. # Fields from dbo.[V-MAS-3]
  135. MI13 = models.CharField(max_length=255, null=True)
  136. TC = models.CharField(max_length=255, null=True)
  137. MI14 = models.CharField(max_length=255, null=True)
  138. MI15 = models.CharField(max_length=255, null=True)
  139. MI16 = models.CharField(max_length=255, null=True)
  140. MI17 = models.CharField(max_length=255, null=True)
  141. MI18 = models.CharField(max_length=255, null=True)
  142. MI19 = models.CharField(max_length=255, null=True)
  143. MI20 = models.CharField(max_length=255, null=True)
  144. MI21 = models.CharField(max_length=255, null=True)
  145. MI22 = models.CharField(max_length=255, null=True)
  146. MI23 = models.CharField(max_length=255, null=True)
  147. MI31 = models.CharField(max_length=255, null=True)
  148. MI33 = models.CharField(max_length=255, null=True)
  149. INSAGM = models.CharField(max_length=255, null=True)
  150. MARAGM = models.CharField(max_length=255, null=True)
  151. MI53 = models.CharField(max_length=255, null=True)
  152. MI55 = models.CharField(max_length=255, null=True)
  153. MI36 = models.CharField(max_length=255, null=True)
  154. MI39 = models.CharField(max_length=255, null=True)
  155. MI24 = models.CharField(max_length=255, null=True)
  156. # Fields from MGT_Config.dbo.[TABLE_TI-T1], [TABLE_TI-T5], [TABLE_TI-T6]
  157. Ind1 = models.CharField(max_length=255, null=True) # TIT1NE
  158. Ind2 = models.CharField(max_length=255, null=True) # TIT5NE
  159. Ind3 = models.CharField(max_length=255, null=True) # TIT6NE
  160. # Conditional Fields
  161. AGR1 = models.CharField(max_length=255, null=True)
  162. AGR2 = models.CharField(max_length=255, null=True)
  163. ob_Condition = models.CharField(max_length=255, null=True) # TIT4NE
  164. class Meta:
  165. managed = False
  166. #db_table = 'VMasterView_Full_Mockup_Data'
  167. db_table = 'v_master_view'
  168. app_label = "legacy"
  169. class VwRotateLog(models.Model):
  170. # Fields from the SQL view
  171. PROD_CODE = models.CharField(max_length=255, null=True)
  172. LOT_NO = models.CharField(max_length=255, null=True)
  173. SPEED_SPEC = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  174. SPEED_TEST = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  175. SPEED_NG = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  176. CREATED_DT = models.DateTimeField(null=True)
  177. LAST_UPD_DT = models.DateTimeField(null=True)
  178. QTY = models.IntegerField(null=True)
  179. STATION_NO = models.CharField(max_length=255, null=True)
  180. class Meta:
  181. managed = False # This model corresponds to a database view
  182. db_table = 'VwRotateLog_Mockup_Data'
  183. class VwRotateResult(models.Model):
  184. # Fields from the SQL view
  185. PROD_CODE = models.CharField(max_length=255, null=True)
  186. LOT_NO = models.CharField(max_length=255, null=True)
  187. SPEED_SPEC = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  188. QTY = models.IntegerField(null=True)
  189. STATION_NO = models.CharField(max_length=255, null=True)
  190. START_DT = models.DateTimeField(null=True) # T1.TEST_DT as START_DT
  191. TEST_NO = models.CharField(max_length=255, null=True)
  192. SPEED_TEST_VAL = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  193. SPEED_NG_VAL = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  194. TEST_END_DT = models.DateTimeField(null=True) # T2.TEST_DT as TEST_END_DT
  195. class Meta:
  196. managed = False # This model corresponds to a database view
  197. db_table = 'VW_ROTATE_RESULT' # Name of the database view
  198. class BelMasterView(models.Model):
  199. # Fields from ProcessControl.dbo.[Q-PRO-DATA]
  200. PRO0 = models.CharField(primary_key=True, max_length=255, null=False)
  201. PRO1 = models.CharField(max_length=255, null=True)
  202. PRO1C = models.CharField(max_length=255, null=True)
  203. Japanese_CustomerName = models.CharField(max_length=255, null=True)
  204. PRO2 = models.CharField(max_length=255, null=True)
  205. PRO5 = models.CharField(max_length=255, null=True)
  206. PRO8 = models.CharField(max_length=255, null=True)
  207. PRO9 = models.CharField(max_length=255, null=True)
  208. PRO10 = models.CharField(max_length=255, null=True)
  209. PRO11 = models.CharField(max_length=255, null=True)
  210. PRO12 = models.CharField(max_length=255, null=True)
  211. PRO13 = models.CharField(max_length=255, null=True)
  212. PRO14 = models.CharField(max_length=255, null=True)
  213. PRO15 = models.CharField(max_length=255, null=True)
  214. PRO16 = models.CharField(max_length=255, null=True)
  215. PRO17 = models.CharField(max_length=255, null=True)
  216. PRO18 = models.CharField(max_length=255, null=True)
  217. PRO21 = models.CharField(max_length=255, null=True)
  218. PRO25 = models.CharField(max_length=255, null=True)
  219. PRO27 = models.CharField(max_length=255, null=True)
  220. P2 = models.CharField(max_length=255, null=True) # PRO-P2
  221. PRO6 = models.CharField(max_length=255, null=True)
  222. SPEED = models.CharField(max_length=255, null=True) # PRO-SPEED
  223. PRO_TOOL = models.CharField(max_length=255, null=True, db_column='PRO-TOOL') # PRO-TOOL
  224. PRO4 = models.CharField(max_length=255, null=True)
  225. # Fields from dbo.[BEL-MAS-1]
  226. MC11 = models.CharField(max_length=255, null=True)
  227. MC12 = models.CharField(max_length=255, null=True)
  228. MC14 = models.CharField(max_length=255, null=True)
  229. MC15 = models.CharField(max_length=255, null=True)
  230. MC16 = models.CharField(max_length=255, null=True)
  231. MC19 = models.CharField(max_length=255, null=True)
  232. MC20 = models.CharField(max_length=255, null=True)
  233. MC21 = models.CharField(max_length=255, null=True)
  234. MC22 = models.CharField(max_length=255, null=True)
  235. MC23 = models.CharField(max_length=255, null=True)
  236. MC24 = models.CharField(max_length=255, null=True)
  237. # Fields from dbo.[BEL-MAS-2]
  238. MP45 = models.CharField(max_length=255, null=True)
  239. MP49 = models.CharField(max_length=255, null=True)
  240. # Fields from dbo.[BEL-MAS-3]
  241. MI13 = models.CharField(max_length=255, null=True)
  242. TC = models.CharField(max_length=255, null=True)
  243. MI14 = models.CharField(max_length=255, null=True)
  244. MI15 = models.CharField(max_length=255, null=True)
  245. MI16 = models.CharField(max_length=255, null=True)
  246. MI17 = models.CharField(max_length=255, null=True)
  247. MI18 = models.CharField(max_length=255, null=True)
  248. MI19 = models.CharField(max_length=255, null=True)
  249. MI20 = models.CharField(max_length=255, null=True)
  250. MI21 = models.CharField(max_length=255, null=True)
  251. MI22 = models.CharField(max_length=255, null=True)
  252. MI23 = models.CharField(max_length=255, null=True)
  253. MI31 = models.CharField(max_length=255, null=True)
  254. MI33 = models.CharField(max_length=255, null=True)
  255. INSAGM = models.CharField(max_length=255, null=True)
  256. MARAGM = models.CharField(max_length=255, null=True)
  257. MI53 = models.CharField(max_length=255, null=True)
  258. MI55 = models.CharField(max_length=255, null=True)
  259. MI36 = models.CharField(max_length=255, null=True)
  260. MI39 = models.CharField(max_length=255, null=True)
  261. MI24 = models.CharField(max_length=255, null=True)
  262. # Fields from MGT_Config.dbo.[TABLE_TI-T1], [TABLE_TI-T5], [TABLE_TI-T6]
  263. Ind1 = models.CharField(max_length=255, null=True) # TIT1NE
  264. Ind2 = models.CharField(max_length=255, null=True) # TIT5NE
  265. Ind3 = models.CharField(max_length=255, null=True) # TIT6NE
  266. # Conditional Fields
  267. AGR1 = models.CharField(max_length=255, null=True)
  268. AGR2 = models.CharField(max_length=255, null=True)
  269. ob_Condition = models.CharField(max_length=255, null=True) # TIT4NE
  270. class Meta:
  271. managed = False # This model corresponds to a database view
  272. app_label = "legacy"
  273. db_table = 'bel_master_view' # Name of the database view
  274. class EMasterView(models.Model):
  275. # Fields from ProcessControl.dbo.[Q-PRO-DATA]
  276. PRO0 = models.CharField(primary_key=True, max_length=255, null=False)
  277. PRO1 = models.CharField(max_length=255, null=True)
  278. PRO1C = models.CharField(max_length=255, null=True)
  279. Japanese_CustomerName = models.CharField(max_length=255, null=True)
  280. PRO2 = models.CharField(max_length=255, null=True)
  281. PRO5 = models.CharField(max_length=255, null=True)
  282. PRO8 = models.CharField(max_length=255, null=True)
  283. PRO9 = models.CharField(max_length=255, null=True)
  284. PRO10 = models.CharField(max_length=255, null=True)
  285. PRO11 = models.CharField(max_length=255, null=True)
  286. PRO12 = models.CharField(max_length=255, null=True)
  287. PRO13 = models.CharField(max_length=255, null=True)
  288. PRO14 = models.CharField(max_length=255, null=True)
  289. PRO15 = models.CharField(max_length=255, null=True)
  290. PRO16 = models.CharField(max_length=255, null=True)
  291. PRO17 = models.CharField(max_length=255, null=True)
  292. PRO18 = models.CharField(max_length=255, null=True)
  293. PRO21 = models.CharField(max_length=255, null=True)
  294. PRO25 = models.CharField(max_length=255, null=True)
  295. PRO27 = models.CharField(max_length=255, null=True)
  296. P2 = models.CharField(max_length=255, null=True) # PRO-P2
  297. PRO6 = models.CharField(max_length=255, null=True)
  298. SPEED = models.CharField(max_length=255, null=True) # PRO-SPEED
  299. PRO_TOOL = models.CharField(max_length=255, null=True, db_column='PRO-TOOL') # PRO-TOOL
  300. PRO4 = models.CharField(max_length=255, null=True)
  301. # Fields from dbo.[E-MAS-1]
  302. MC11 = models.CharField(max_length=255, null=True)
  303. MC12 = models.CharField(max_length=255, null=True)
  304. MC14 = models.CharField(max_length=255, null=True)
  305. MC15 = models.CharField(max_length=255, null=True)
  306. MC16 = models.CharField(max_length=255, null=True)
  307. MC19 = models.CharField(max_length=255, null=True)
  308. MC20 = models.CharField(max_length=255, null=True)
  309. MC21 = models.CharField(max_length=255, null=True)
  310. MC22 = models.CharField(max_length=255, null=True)
  311. MC23 = models.CharField(max_length=255, null=True)
  312. MC24 = models.CharField(max_length=255, null=True)
  313. # Fields from dbo.[E-MAS-2]
  314. MP45 = models.CharField(max_length=255, null=True)
  315. MP49 = models.CharField(max_length=255, null=True)
  316. # Fields from dbo.[E-MAS-3]
  317. MI13 = models.CharField(max_length=255, null=True)
  318. TC = models.CharField(max_length=255, null=True)
  319. MI14 = models.CharField(max_length=255, null=True)
  320. MI15 = models.CharField(max_length=255, null=True)
  321. MI16 = models.CharField(max_length=255, null=True)
  322. MI17 = models.CharField(max_length=255, null=True)
  323. MI18 = models.CharField(max_length=255, null=True)
  324. MI19 = models.CharField(max_length=255, null=True)
  325. MI20 = models.CharField(max_length=255, null=True)
  326. MI21 = models.CharField(max_length=255, null=True)
  327. MI22 = models.CharField(max_length=255, null=True)
  328. MI23 = models.CharField(max_length=255, null=True)
  329. MI31 = models.CharField(max_length=255, null=True)
  330. MI33 = models.CharField(max_length=255, null=True)
  331. INSAGM = models.CharField(max_length=255, null=True)
  332. MARAGM = models.CharField(max_length=255, null=True)
  333. MI53 = models.CharField(max_length=255, null=True)
  334. MI55 = models.CharField(max_length=255, null=True)
  335. MI36 = models.CharField(max_length=255, null=True)
  336. MI39 = models.CharField(max_length=255, null=True)
  337. MI24 = models.CharField(max_length=255, null=True)
  338. # Fields from MGT_Config.dbo.[TABLE_TI-T1], [TABLE_TI-T5], [TABLE_TI-T6]
  339. Ind1 = models.CharField(max_length=255, null=True) # TIT1NE
  340. Ind2 = models.CharField(max_length=255, null=True) # TIT5NE
  341. Ind3 = models.CharField(max_length=255, null=True) # TIT6NE
  342. # Conditional Fields
  343. AGR1 = models.CharField(max_length=255, null=True)
  344. AGR2 = models.CharField(max_length=255, null=True)
  345. ob_Condition = models.CharField(max_length=255, null=True) # TIT4NE
  346. class Meta:
  347. managed = False # This model corresponds to a database view
  348. app_label = "legacy"
  349. db_table = 'e_master_view' # Name of the database view
  350. class AllProductAverageObMinMaxView(models.Model):
  351. ProductCode = models.CharField(max_length=255, null=True) # RE01
  352. out_min = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Minimum of [OB-O]
  353. out_max = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Maximum of [OB-O]
  354. in_min = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Minimum of [OB-I]
  355. in_max = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Maximum of [OB-I]
  356. class Meta:
  357. managed = False # This model corresponds to a database view
  358. app_label = "legacy"
  359. db_table = 'AllProduct_Average_OB_MIN_MAX_view' # Name of the database view
  360. class AllProductDimensionForInsProcess(models.Model):
  361. ProdType = models.CharField(max_length=255, null=True) # Product type (e.g., 'V', 'E', 'BEL', 'MG')
  362. ProductCode = models.CharField(max_length=255, primary_key=True) # Product code# Product code
  363. Size_Id = models.CharField(max_length=255, null=True) # Size ID (e.g., '001', '002')
  364. Size_Name = models.CharField(max_length=255, null=True) # Size name (e.g., 'D', 'T', 'H')
  365. Std = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Standard value
  366. TolUn = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Tolerance lower limit
  367. TolUp = models.DecimalField(max_digits=10, decimal_places=2, null=True) # Tolerance upper limit
  368. class Meta:
  369. managed = False # This model corresponds to a database view
  370. app_label = "legacy"
  371. db_table = 'AllProduct_Dimension_ForInsProcess' # Name of the database view
  372. class AllProductPressPositionPressWeight(models.Model):
  373. ProductCode = models.CharField(max_length=255, null=True)
  374. Lot_No = models.CharField(max_length=255, null=True)
  375. PO_Qty = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  376. UWeight = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  377. Current_ProNo = models.CharField(max_length=255, null=True)
  378. Press_Time = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  379. PressType_1 = models.CharField(max_length=255, null=True)
  380. PressWeight_1 = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  381. PressType_2 = models.CharField(max_length=255, null=True)
  382. PressWeight_2 = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  383. Press_Ton = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  384. Press_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  385. Press_T_Tol = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  386. Mold_D = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  387. Mold_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  388. SegMold_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  389. SegMold_D = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  390. Center_D = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  391. Center_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  392. LowerPlate_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  393. StudPlate_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  394. UpperPlate_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  395. PinPlate_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  396. TopConcave_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  397. BottomConcave_T = models.DecimalField(max_digits=10, decimal_places=2, null=True)
  398. class Meta:
  399. managed = False # This model corresponds to a database view
  400. app_label = "legacy"
  401. db_table = 'AllProduct_PressPosition_PressWeight' # Name of the database view
  402. class RotateBrokenTest(models.Model):
  403. row_no = models.IntegerField(null=True, blank=True)
  404. speed_spec = models.FloatField(null=True, blank=True)
  405. speed_test = models.FloatField(null=True, blank=True)
  406. speedOk = models.CharField(max_length=4, null=True, blank=True)
  407. qty = models.IntegerField()
  408. station_no = models.IntegerField()
  409. created_at = models.DateTimeField(null=True, blank=True)
  410. updated_at = models.DateTimeField(null=True, blank=True)
  411. lot_no = models.CharField(max_length=50, null=True, blank=True)
  412. machine_id = models.IntegerField(null=True, blank=True)
  413. code = models.CharField(max_length=50, null=True, blank=True)
  414. emp_id = models.IntegerField()
  415. devid = models.CharField(max_length=40, null=True, blank=True)
  416. mode = models.CharField(max_length=10, null=True, blank=True)
  417. cal_mode = models.IntegerField(null=True, blank=True)
  418. class Meta:
  419. managed = False # This model corresponds to a database view
  420. app_label = "legacy"
  421. db_table = "rotate_broken_test" # Matches SQL Server table name
  422. class LotType(models.Model):
  423. lot_no = models.CharField(primary_key=True,max_length=20, db_column='LotNo')
  424. group = models.CharField(max_length=10, db_column='Group')
  425. sub_group = models.CharField(max_length=10, db_column='SubGroup')
  426. class Meta:
  427. db_table = 'T-LotType'
  428. managed = False # Since it's an existing table in SQL Server
  429. app_label = "trans"
  430. TEMPLATE_CHOICES = [
  431. "hardness_out",
  432. "hardness_out_in",
  433. "hardness_both_size",
  434. "dimension",
  435. "dimension_app",
  436. "dimension_bal_weight",
  437. "dim_bal_app_hard",
  438. "dim_bal_app_rot_hard",
  439. "thickness_8_point",
  440. "centering"
  441. ]
  442. class CustomerTemplateMapping(models.Model):
  443. TEMPLATE_TYPE_CHOICES = [
  444. ("japanese", "Japanese"),
  445. ("asean", "ASEAN"),
  446. ]
  447. customer_name = models.CharField(max_length=255)
  448. export_template = models.CharField(
  449. max_length=20,
  450. choices=TEMPLATE_TYPE_CHOICES,
  451. default="japanese",
  452. )
  453. template_names = models.JSONField(default=list, blank=True, null=True) # stores list of template names
  454. created_by = models.ForeignKey(
  455. User,
  456. on_delete=models.SET_NULL,
  457. null=True,
  458. blank=True,
  459. ) # Reference to the user who created the report
  460. created_at = models.DateTimeField(auto_now_add=True) # Automatically set when created
  461. updated_at = models.DateTimeField(auto_now=True) # Automatically updated when modified
  462. def __str__(self):
  463. return self.customer_name
  464. class ProductDrawing(models.Model):
  465. code_no = models.CharField(max_length=100, null=True, blank=True)
  466. code_no_mks = models.CharField(max_length=100, null=True, blank=True)
  467. lot_no = models.CharField(max_length=100, null=True, blank=True)
  468. drawing = models.ImageField(upload_to='drawings/')
  469. description = models.TextField(null=True, blank=True)
  470. created_at = models.DateTimeField(auto_now_add=True)
  471. updated_at = models.DateTimeField(auto_now=True)
  472. created_by = models.ForeignKey(
  473. User,
  474. on_delete=models.SET_NULL,
  475. null=True,
  476. blank=True,
  477. ) # Reference to the user who created the report
  478. def __str__(self):
  479. return f"{self.code_no} - {self.lot_no}"
  480. class MksCodeMap(models.Model):
  481. mgt_code = models.CharField(max_length=100)
  482. mks_code = models.CharField(max_length=100)
  483. created_at = models.DateTimeField(auto_now_add=True)
  484. updated_at = models.DateTimeField(auto_now=True)
  485. def __str__(self):
  486. return f"{self.mgt_code} ⇄ {self.mks_code}"