models.py 45 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016
  1. # coding: utf-8
  2. from datetime import datetime
  3. from sqlalchemy import Column, Date, DateTime, Float, Index, Integer, String, Text
  4. from sqlalchemy.schema import FetchedValue
  5. from flask_sqlalchemy import SQLAlchemy
  6. # db = SQLAlchemy()
  7. #與當前項目相關的模型文件,即所有的實體類在此編寫
  8. from coffee_manage import db
  9. from werkzeug.utils import send_file
  10. #用戶表
  11. class User(db.Model):
  12. __tablename__ = 'user'
  13. userID = db.Column(db.Integer, primary_key=True)
  14. firstname = db.Column(db.String(30), nullable=False)
  15. lastname = db.Column(db.String(30), nullable=False)
  16. mail = db.Column(db.String(50), nullable=False)
  17. phone = db.Column(db.String(20), nullable=False)
  18. username = db.Column(db.String(30), nullable=False, unique=True)
  19. password = db.Column(db.String(40), nullable=False)
  20. status = db.Column(db.Integer, nullable=False, info='0:admin;1:new;9:disable')
  21. # ////////////////////////////////////////////////////////////////////////////////
  22. # dry_block 取值測試
  23. class dry_block_waiting(db.Model):
  24. __tablename__ = 'dry_block_waiting'
  25. sn = db.Column(db.Integer, primary_key=True)
  26. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  27. cond_z1_1 = db.Column(db.Text, nullable=False)
  28. cond_tank1_1 = db.Column(db.Text, nullable=False)
  29. cond_a1_1 = db.Column(db.Text, nullable=False)
  30. cond_b1_1 = db.Column(db.Text, nullable=False)
  31. cond_c1_1 = db.Column(db.Text, nullable=False)
  32. cond_a1_2 = db.Column(db.Text, nullable=False)
  33. cond_b1_2 = db.Column(db.Text, nullable=False)
  34. cond_c1_2 = db.Column(db.Text, nullable=False)
  35. cond_d1_2 = db.Column(db.Text, nullable=False)
  36. cond_a1_3 = db.Column(db.Text, nullable=False)
  37. cond_b1_3 = db.Column(db.Text, nullable=False)
  38. cond_c1_3 = db.Column(db.Text, nullable=False)
  39. cond_d1_3 = db.Column(db.Text, nullable=False)
  40. cond_a1_4 = db.Column(db.Text, nullable=False)
  41. cond_b1_4 = db.Column(db.Text, nullable=False)
  42. cond_c1_4 = db.Column(db.Text, nullable=False)
  43. cond_d1_4 = db.Column(db.Text, nullable=False)
  44. cond_a1_5 = db.Column(db.Text, nullable=False)
  45. cond_b1_5 = db.Column(db.Text, nullable=False)
  46. cond_c1_5 = db.Column(db.Text, nullable=False)
  47. cond_d1_5 = db.Column(db.Text, nullable=False)
  48. do_obj1_1 = db.Column(db.Text, nullable=False)
  49. do_act1_1 = db.Column(db.Text, nullable=False)
  50. do_obj1_2 = db.Column(db.Text, nullable=False)
  51. do_act1_2 = db.Column(db.Text, nullable=False)
  52. do_obj1_3 = db.Column(db.Text, nullable=False)
  53. do_act1_3 = db.Column(db.Text, nullable=False)
  54. do_obj1_4 = db.Column(db.Text, nullable=False)
  55. do_act1_4 = db.Column(db.Text, nullable=False)
  56. do_obj1_5 = db.Column(db.Text, nullable=False)
  57. do_act1_5 = db.Column(db.Text, nullable=False)
  58. cond_z2_1 = db.Column(db.Text, nullable=False)
  59. cond_tank2_1 = db.Column(db.Text, nullable=False)
  60. cond_a2_1 = db.Column(db.Text, nullable=False)
  61. cond_b2_1 = db.Column(db.Text, nullable=False)
  62. cond_c2_1 = db.Column(db.Text, nullable=False)
  63. cond_a2_2 = db.Column(db.Text, nullable=False)
  64. cond_b2_2 = db.Column(db.Text, nullable=False)
  65. cond_c2_2 = db.Column(db.Text, nullable=False)
  66. cond_d2_2 = db.Column(db.Text, nullable=False)
  67. cond_a2_3 = db.Column(db.Text, nullable=False)
  68. cond_b2_3 = db.Column(db.Text, nullable=False)
  69. cond_c2_3 = db.Column(db.Text, nullable=False)
  70. cond_d2_3 = db.Column(db.Text, nullable=False)
  71. cond_a2_4 = db.Column(db.Text, nullable=False)
  72. cond_b2_4 = db.Column(db.Text, nullable=False)
  73. cond_c2_4 = db.Column(db.Text, nullable=False)
  74. cond_d2_4 = db.Column(db.Text, nullable=False)
  75. cond_a2_5 = db.Column(db.Text, nullable=False)
  76. cond_b2_5 = db.Column(db.Text, nullable=False)
  77. cond_c2_5 = db.Column(db.Text, nullable=False)
  78. cond_d2_5 = db.Column(db.Text, nullable=False)
  79. do_obj2_1 = db.Column(db.Text, nullable=False)
  80. do_act2_1 = db.Column(db.Text, nullable=False)
  81. do_obj2_2 = db.Column(db.Text, nullable=False)
  82. do_act2_2 = db.Column(db.Text, nullable=False)
  83. do_obj2_3 = db.Column(db.Text, nullable=False)
  84. do_act2_3 = db.Column(db.Text, nullable=False)
  85. do_obj2_4 = db.Column(db.Text, nullable=False)
  86. do_act2_4 = db.Column(db.Text, nullable=False)
  87. do_obj2_5 = db.Column(db.Text, nullable=False)
  88. do_act2_5 = db.Column(db.Text, nullable=False)
  89. cond_z3_1 = db.Column(db.Text, nullable=False)
  90. cond_tank3_1 = db.Column(db.Text, nullable=False)
  91. cond_a3_1 = db.Column(db.Text, nullable=False)
  92. cond_b3_1 = db.Column(db.Text, nullable=False)
  93. cond_c3_1 = db.Column(db.Text, nullable=False)
  94. cond_a3_2 = db.Column(db.Text, nullable=False)
  95. cond_b3_2 = db.Column(db.Text, nullable=False)
  96. cond_c3_2 = db.Column(db.Text, nullable=False)
  97. cond_d3_2 = db.Column(db.Text, nullable=False)
  98. cond_a3_3 = db.Column(db.Text, nullable=False)
  99. cond_b3_3 = db.Column(db.Text, nullable=False)
  100. cond_c3_3 = db.Column(db.Text, nullable=False)
  101. cond_d3_3 = db.Column(db.Text, nullable=False)
  102. cond_a3_4 = db.Column(db.Text, nullable=False)
  103. cond_b3_4 = db.Column(db.Text, nullable=False)
  104. cond_c3_4 = db.Column(db.Text, nullable=False)
  105. cond_d3_4 = db.Column(db.Text, nullable=False)
  106. cond_a3_5 = db.Column(db.Text, nullable=False)
  107. cond_b3_5 = db.Column(db.Text, nullable=False)
  108. cond_c3_5 = db.Column(db.Text, nullable=False)
  109. cond_d3_5 = db.Column(db.Text, nullable=False)
  110. do_obj3_1 = db.Column(db.Text, nullable=False)
  111. do_act3_1 = db.Column(db.Text, nullable=False)
  112. do_obj3_2 = db.Column(db.Text, nullable=False)
  113. do_act3_2 = db.Column(db.Text, nullable=False)
  114. do_obj3_3 = db.Column(db.Text, nullable=False)
  115. do_act3_3 = db.Column(db.Text, nullable=False)
  116. do_obj3_4 = db.Column(db.Text, nullable=False)
  117. do_act3_4 = db.Column(db.Text, nullable=False)
  118. do_obj3_5 = db.Column(db.Text, nullable=False)
  119. do_act3_5 = db.Column(db.Text, nullable=False)
  120. cond_z4_1 = db.Column(db.Text, nullable=False)
  121. cond_tank4_1 = db.Column(db.Text, nullable=False)
  122. cond_a4_1 = db.Column(db.Text, nullable=False)
  123. cond_b4_1 = db.Column(db.Text, nullable=False)
  124. cond_c4_1 = db.Column(db.Text, nullable=False)
  125. cond_a4_2 = db.Column(db.Text, nullable=False)
  126. cond_b4_2 = db.Column(db.Text, nullable=False)
  127. cond_c4_2 = db.Column(db.Text, nullable=False)
  128. cond_d4_2 = db.Column(db.Text, nullable=False)
  129. cond_a4_3 = db.Column(db.Text, nullable=False)
  130. cond_b4_3 = db.Column(db.Text, nullable=False)
  131. cond_c4_3 = db.Column(db.Text, nullable=False)
  132. cond_d4_3 = db.Column(db.Text, nullable=False)
  133. cond_a4_4 = db.Column(db.Text, nullable=False)
  134. cond_b4_4 = db.Column(db.Text, nullable=False)
  135. cond_c4_4 = db.Column(db.Text, nullable=False)
  136. cond_d4_4 = db.Column(db.Text, nullable=False)
  137. cond_a4_5 = db.Column(db.Text, nullable=False)
  138. cond_b4_5 = db.Column(db.Text, nullable=False)
  139. cond_c4_5 = db.Column(db.Text, nullable=False)
  140. cond_d4_5 = db.Column(db.Text, nullable=False)
  141. do_obj4_1 = db.Column(db.Text, nullable=False)
  142. do_act4_1 = db.Column(db.Text, nullable=False)
  143. do_obj4_2 = db.Column(db.Text, nullable=False)
  144. do_act4_2 = db.Column(db.Text, nullable=False)
  145. do_obj4_3 = db.Column(db.Text, nullable=False)
  146. do_act4_3 = db.Column(db.Text, nullable=False)
  147. do_obj4_4 = db.Column(db.Text, nullable=False)
  148. do_act4_4 = db.Column(db.Text, nullable=False)
  149. do_obj4_5 = db.Column(db.Text, nullable=False)
  150. do_act4_5 = db.Column(db.Text, nullable=False)
  151. cond_z5_1 = db.Column(db.Text, nullable=False)
  152. cond_tank5_1 = db.Column(db.Text, nullable=False)
  153. cond_a5_1 = db.Column(db.Text, nullable=False)
  154. cond_b5_1 = db.Column(db.Text, nullable=False)
  155. cond_c5_1 = db.Column(db.Text, nullable=False)
  156. cond_a5_2 = db.Column(db.Text, nullable=False)
  157. cond_b5_2 = db.Column(db.Text, nullable=False)
  158. cond_c5_2 = db.Column(db.Text, nullable=False)
  159. cond_d5_2 = db.Column(db.Text, nullable=False)
  160. cond_a5_3 = db.Column(db.Text, nullable=False)
  161. cond_b5_3 = db.Column(db.Text, nullable=False)
  162. cond_c5_3 = db.Column(db.Text, nullable=False)
  163. cond_d5_3 = db.Column(db.Text, nullable=False)
  164. cond_a5_4 = db.Column(db.Text, nullable=False)
  165. cond_b5_4 = db.Column(db.Text, nullable=False)
  166. cond_c5_4 = db.Column(db.Text, nullable=False)
  167. cond_d5_4 = db.Column(db.Text, nullable=False)
  168. cond_a5_5 = db.Column(db.Text, nullable=False)
  169. cond_b5_5 = db.Column(db.Text, nullable=False)
  170. cond_c5_5 = db.Column(db.Text, nullable=False)
  171. cond_d5_5 = db.Column(db.Text, nullable=False)
  172. do_obj5_1 = db.Column(db.Text, nullable=False)
  173. do_act5_1 = db.Column(db.Text, nullable=False)
  174. do_obj5_2 = db.Column(db.Text, nullable=False)
  175. do_act5_2 = db.Column(db.Text, nullable=False)
  176. do_obj5_3 = db.Column(db.Text, nullable=False)
  177. do_act5_3 = db.Column(db.Text, nullable=False)
  178. do_obj5_4 = db.Column(db.Text, nullable=False)
  179. do_act5_4 = db.Column(db.Text, nullable=False)
  180. do_obj5_5 = db.Column(db.Text, nullable=False)
  181. do_act5_5 = db.Column(db.Text, nullable=False)
  182. # # ////////////////////////////////////////////////////////////////////////////////
  183. # ===== 乾燥槽 - 桶槽 =====
  184. # 乾燥桶_感測器_超音波感測器 0421 update
  185. class dry_tank_UltraSonic(db.Model):
  186. __tablename__ = 'dry_tank_UltraSonic'
  187. sn = db.Column(db.Integer, primary_key=True)
  188. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  189. tank_num = db.Column(db.Text, nullable=False)
  190. UltraSonic = db.Column(db.Text, nullable=False)
  191. # 乾燥桶_感測器_大氣壓力 0421 update
  192. class dry_tank_PA(db.Model):
  193. __tablename__ = 'dry_tank_PA'
  194. sn = db.Column(db.Integer, primary_key=True)
  195. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  196. tank_num = db.Column(db.Text, nullable=False)
  197. PA = db.Column(db.Text, nullable=False)
  198. # 乾燥桶_感測器_馬達編碼器 0421 update
  199. class dry_tank_motorEncoder(db.Model):
  200. __tablename__ = 'dry_tank_motorEncoder'
  201. sn = db.Column(db.Integer, primary_key=True)
  202. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  203. tank_num = db.Column(db.Text, nullable=False)
  204. motorEncoder = db.Column(db.Text, nullable=False)
  205. # 乾燥桶_感測器_SHT11 0421 update
  206. class dry_tank_SHT11(db.Model):
  207. __tablename__ = 'dry_tank_SHT11'
  208. sn = db.Column(db.Integer, primary_key=True)
  209. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  210. tank_num = db.Column(db.Text, nullable=False)
  211. SHT11_Temp = db.Column(db.Text, nullable=False)
  212. SHT11_Humidity = db.Column(db.Text, nullable=False)
  213. # 乾燥桶_感測器_土壤三合一感測器 0421 update
  214. class dry_tank_Soil(db.Model):
  215. __tablename__ = 'dry_tank_Soil'
  216. sn = db.Column(db.Integer, primary_key=True)
  217. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  218. tank_num = db.Column(db.Text, nullable=False)
  219. soil_Temp = db.Column(db.Text, nullable=False)
  220. soil_Humidity = db.Column(db.Text, nullable=False)
  221. soil_EC = db.Column(db.Text, nullable=False)
  222. # 乾燥桶_感測器_蝴蝶閥狀態顯示器 0421 update
  223. class dry_tank_diskvalveMonitor(db.Model):
  224. __tablename__ = 'dry_tank_diskvalveMonitor'
  225. sn = db.Column(db.Integer, primary_key=True)
  226. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  227. tank_num = db.Column(db.Text, nullable=False)
  228. diskvalveMonitor = db.Column(db.Text, nullable=False)
  229. # 乾燥桶_感測器_水位計 0421 update
  230. class dry_outer_WaterLevel(db.Model):
  231. __tablename__ = 'dry_outer_WaterLevel'
  232. sn = db.Column(db.Integer, primary_key=True)
  233. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  234. tank_num = db.Column(db.Text, nullable=False)
  235. WaterLevel = db.Column(db.Text, nullable=False)
  236. #乾燥桶_致動器_ALL 0421 update
  237. class dry_tank_actuator(db.Model):
  238. __tablename__ = 'dry_tank_actuator'
  239. sn = db.Column(db.Integer, primary_key=True)
  240. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  241. tank_num = db.Column(db.Text, nullable=False)
  242. vacuum = db.Column(db.Text, nullable=False)
  243. threewayvalve_input = db.Column(db.Text, nullable=False)
  244. solenoid_disinfect = db.Column(db.Text, nullable=False)
  245. motor = db.Column(db.Text, nullable=False)
  246. solenoid_outer_water = db.Column(db.Text, nullable=False)
  247. solenoid_water_out = db.Column(db.Text, nullable=False)
  248. heater1 = db.Column(db.Text, nullable=False)
  249. heater2 = db.Column(db.Text, nullable=False)
  250. temp_enable = db.Column(db.Text, nullable=False)
  251. temp = db.Column(db.Text, nullable=False)
  252. diskvalve = db.Column(db.Text, nullable=False)
  253. switch_magnetic = db.Column(db.Text, nullable=False)
  254. switch_emergency = db.Column(db.Text, nullable=False)
  255. camera = db.Column(db.Text, nullable=False)
  256. light_warning = db.Column(db.Text, nullable=False)
  257. #乾燥桶_致動器_ALL OLD
  258. class dry_tank_brake(db.Model):
  259. __tablename__ = 'dry_tank_brake'
  260. sn = db.Column(db.Integer, primary_key=True)
  261. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  262. tank_num = db.Column(db.Text, nullable=False)
  263. vacuum = db.Column(db.Integer, nullable=False)
  264. threewayvalve_input = db.Column(db.Integer, nullable=False)
  265. threewayvalve_bean = db.Column(db.Integer, nullable=False)
  266. diskvalve = db.Column(db.Integer, nullable=False)
  267. solenoid_disinfect = db.Column(db.Integer, nullable=False)
  268. solenoid_water = db.Column(db.Integer, nullable=False)
  269. solenoid_outer_water = db.Column(db.Integer, nullable=False)
  270. motor = db.Column(db.Integer, nullable=False)
  271. blower = db.Column(db.Integer, nullable=False)
  272. heater1 = db.Column(db.Integer, nullable=False)
  273. heater2 = db.Column(db.Integer, nullable=False)
  274. temp1_enable = db.Column(db.Integer, nullable=False)
  275. temp1 = db.Column(db.Float, nullable=False)
  276. # ===== 乾燥槽 - 入料 =====
  277. # 乾燥桶入料_感測器_超音波感測器
  278. class dry_input_sensor(db.Model):
  279. __tablename__ = 'dry_input_sensor'
  280. sn = db.Column(db.Integer, primary_key=True)
  281. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  282. tank_num = db.Column(db.Text, nullable=False)
  283. UltraSonic = db.Column(db.Text, nullable=False)
  284. # 乾燥桶入料_排程設定
  285. class set_dry_input(db.Model):
  286. __tablename__ = 'set_dry_input'
  287. sn = db.Column(db.Integer, primary_key=True)
  288. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  289. input_height = db.Column(db.Text, nullable=False)
  290. input_entertime = db.Column(db.Text, nullable=False)
  291. input_exittime = db.Column(db.Text, nullable=False)
  292. tank_height = db.Column(db.Text, nullable=False)
  293. # 乾燥桶入料_致動器_真空吸料機
  294. class dry_input_brake(db.Model):
  295. __tablename__ = 'dry_input_brake'
  296. sn = db.Column(db.Integer, primary_key=True)
  297. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  298. tank_num = db.Column(db.Text, nullable=False)
  299. vacuum = db.Column(db.Integer, nullable=False)
  300. # ===== 乾燥槽 - 出料 =====
  301. # 乾燥桶出料_感測器_超音波感測器
  302. class dry_output_sensor(db.Model):
  303. __tablename__ = 'dry_output_sensor'
  304. sn = db.Column(db.Integer, primary_key=True)
  305. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  306. tank_num = db.Column(db.Text, nullable=False)
  307. UltraSonic = db.Column(db.Text, nullable=False)
  308. # 乾燥桶出料_致動器_真空吸料機
  309. class dry_output_brake(db.Model):
  310. __tablename__ = 'dry_output_brake'
  311. sn = db.Column(db.Integer, primary_key=True)
  312. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  313. tank_num = db.Column(db.Text, nullable=False)
  314. vacuum = db.Column(db.Integer, nullable=False)
  315. # ////////////////////////////////////////////////////////////////////////////////
  316. # ===== 發酵槽 - 桶槽 =====
  317. # 發酵槽_感測器_超音波感測器 0421 update
  318. class ferment_tank_UltraSonic(db.Model):
  319. __tablename__ = 'ferment_tank_UltraSonic'
  320. sn = db.Column(db.Integer, primary_key=True)
  321. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  322. tank_num = db.Column(db.Text, nullable=False)
  323. UltraSonic = db.Column(db.Text, nullable=False)
  324. # 發酵槽_感測器_PA 0421 update
  325. class ferment_tank_PA(db.Model):
  326. __tablename__ = 'ferment_tank_PA'
  327. sn = db.Column(db.Integer, primary_key=True)
  328. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  329. tank_num = db.Column(db.Text, nullable=False)
  330. PA = db.Column(db.Text, nullable=False)
  331. # 發酵槽_感測器_馬達編碼器 0421 update
  332. class ferment_tank_motorEncoder(db.Model):
  333. __tablename__ = 'ferment_tank_motorEncoder'
  334. sn = db.Column(db.Integer, primary_key=True)
  335. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  336. tank_num = db.Column(db.Text, nullable=False)
  337. motorEncoder = db.Column(db.Text, nullable=False)
  338. # 發酵槽_感測器_SHT11 0421 update
  339. class ferment_tank_SHT11(db.Model):
  340. __tablename__ = 'ferment_tank_SHT11'
  341. sn = db.Column(db.Integer, primary_key=True)
  342. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  343. tank_num = db.Column(db.Text, nullable=False)
  344. SHT11_Temp = db.Column(db.Text, nullable=False)
  345. SHT11_Humidity = db.Column(db.Text, nullable=False)
  346. # 發酵槽_感測器_EC 0421 update
  347. class ferment_tank_EC(db.Model):
  348. __tablename__ = 'ferment_tank_EC'
  349. sn = db.Column(db.Integer, primary_key=True)
  350. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  351. tank_num = db.Column(db.Text, nullable=False)
  352. EC = db.Column(db.Text, nullable=False)
  353. # 發酵槽_感測器_DO 0421 update
  354. class ferment_tank_DO(db.Model):
  355. __tablename__ = 'ferment_tank_DO'
  356. sn = db.Column(db.Integer, primary_key=True)
  357. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  358. tank_num = db.Column(db.Text, nullable=False)
  359. DO = db.Column(db.Text, nullable=False)
  360. # 發酵槽_感測器_PH 0421 update
  361. class ferment_tank_PH(db.Model):
  362. __tablename__ = 'ferment_tank_PH'
  363. sn = db.Column(db.Integer, primary_key=True)
  364. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  365. tank_num = db.Column(db.Text, nullable=False)
  366. PH = db.Column(db.Text, nullable=False)
  367. # 發酵槽_感測器_ORP 0421 update
  368. class ferment_tank_ORP(db.Model):
  369. __tablename__ = 'ferment_tank_ORP'
  370. sn = db.Column(db.Integer, primary_key=True)
  371. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  372. tank_num = db.Column(db.Text, nullable=False)
  373. ORP = db.Column(db.Text, nullable=False)
  374. # 發酵槽_感測器_二氧化碳 0421 update
  375. class ferment_tank_CO2(db.Model):
  376. __tablename__ = 'ferment_tank_CO2'
  377. sn = db.Column(db.Integer, primary_key=True)
  378. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  379. tank_num = db.Column(db.Text, nullable=False)
  380. CO2 = db.Column(db.Text, nullable=False)
  381. # 發酵槽_感測器_蝴蝶閥狀態顯示器 0421 update
  382. class ferment_tank_diskvalveMonitor(db.Model):
  383. __tablename__ = 'ferment_tank_diskvalveMonitor'
  384. sn = db.Column(db.Integer, primary_key=True)
  385. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  386. tank_num = db.Column(db.Text, nullable=False)
  387. diskvalveMonitor = db.Column(db.Text, nullable=False)
  388. # 發酵槽_感測器_水位計 0421 update
  389. class ferment_tank_WaterLevel(db.Model):
  390. __tablename__ = 'ferment_tank_WaterLevel'
  391. sn = db.Column(db.Integer, primary_key=True)
  392. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  393. tank_num = db.Column(db.Text, nullable=False)
  394. WaterLevel = db.Column(db.Text, nullable=False)
  395. # 發酵槽_感測器_咖啡生豆高度 OLD
  396. class ferment_tank_LiDAR(db.Model):
  397. __tablename__ = 'ferment_tank_LiDAR'
  398. sn = db.Column(db.Integer, primary_key=True)
  399. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  400. tank_num = db.Column(db.Text, nullable=False)
  401. LiDAR = db.Column(db.Text, nullable=False)
  402. # 發酵槽_感測器_水位高度 OLD
  403. class ferment_tank_PressureWaterLevel(db.Model):
  404. __tablename__ = 'ferment_tank_PressureWaterLevel'
  405. sn = db.Column(db.Integer, primary_key=True)
  406. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  407. tank_num = db.Column(db.Text, nullable=False)
  408. PressureWaterLevel = db.Column(db.Text, nullable=False)
  409. # 發酵槽_致動器 0421 update
  410. class ferment_tank_actuator(db.Model):
  411. __tablename__ = 'ferment_tank_actuator'
  412. sn = db.Column(db.Integer, primary_key=True)
  413. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  414. tank_num = db.Column(db.Text, nullable=False)
  415. vacuum = db.Column(db.Text, nullable=False)
  416. threewayvalve_input = db.Column(db.Text, nullable=False)
  417. solenoid_tank_disinfect = db.Column(db.Text, nullable=False)
  418. threewayvalve_outer_float = db.Column(db.Text, nullable=False)
  419. motor = db.Column(db.Text, nullable=False)
  420. solenoid_outer_water_in = db.Column(db.Text, nullable=False)
  421. solenoid_tank_water_in = db.Column(db.Text, nullable=False)
  422. solenoid_tank_water_out = db.Column(db.Text, nullable=False)
  423. pump_sensor = db.Column(db.Text, nullable=False)
  424. pump_CO2 = db.Column(db.Text, nullable=False)
  425. solenoid_tank_pump = db.Column(db.Text, nullable=False)
  426. heater1 = db.Column(db.Text, nullable=False)
  427. heater2 = db.Column(db.Text, nullable=False)
  428. temp_enable = db.Column(db.Text, nullable=False)
  429. temp = db.Column(db.Text, nullable=False)
  430. diskvalve = db.Column(db.Text, nullable=False)
  431. switch_magnetic = db.Column(db.Text, nullable=False)
  432. switch_emergency = db.Column(db.Text, nullable=False)
  433. camera = db.Column(db.Text, nullable=False)
  434. light_warning = db.Column(db.Text, nullable=False)
  435. # ===== 發酵槽 - 入料 =====
  436. # 發酵槽_發酵貨櫃入料儲豆槽_超音波感測器 OLD
  437. class ferment_input_UltraSonic(db.Model):
  438. __tablename__ = 'ferment_input_UltraSonic'
  439. sn = db.Column(db.Integer, primary_key=True)
  440. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  441. tank_num = db.Column(db.Text, nullable=False)
  442. UltraSonic = db.Column(db.Text, nullable=False)
  443. # 發酵槽_發酵貨櫃入料儲豆槽_致動器 OLD
  444. class ferment_input_actuator(db.Model):
  445. __tablename__ = 'ferment_input_actuator'
  446. sn = db.Column(db.Integer, primary_key=True)
  447. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  448. tank_num = db.Column(db.Text, nullable=False)
  449. vacuum = db.Column(db.Integer, nullable=False)
  450. # ===== 乾燥槽 - 出料 =====
  451. # # 發酵槽_發酵貨櫃出料儲豆槽_感測器 OLD
  452. class ferment_output_UltraSonic(db.Model):
  453. __tablename__ = 'ferment_output_UltraSonic'
  454. sn = db.Column(db.Integer, primary_key=True)
  455. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  456. tank_num = db.Column(db.Text, nullable=False)
  457. UltraSonic = db.Column(db.Text, nullable=False)
  458. # 發酵槽_發酵貨櫃出料儲豆槽_致動器 OLD
  459. class ferment_output_actuator(db.Model):
  460. __tablename__ = 'ferment_output_actuator'
  461. sn = db.Column(db.Integer, primary_key=True)
  462. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  463. tank_num = db.Column(db.Text, nullable=False)
  464. vacuum = db.Column(db.Integer, nullable=False)
  465. # ////////////////////////////////////////////////////////////////////////////////
  466. # 發酵槽_發酵貨櫃自動化狀態判斷 OLD
  467. class ferment_container_status(db.Model):
  468. __tablename__ = 'ferment_container_status'
  469. sn = db.Column(db.Integer, primary_key=True)
  470. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  471. Ferment_Input_1 = db.Column(db.Text, nullable=False)
  472. Ferment_Input_2 = db.Column(db.Text, nullable=False)
  473. Ferment_Tank_1 = db.Column(db.Text, nullable=False)
  474. Ferment_Tank_2 = db.Column(db.Text, nullable=False)
  475. Ferment_Tank_3 = db.Column(db.Text, nullable=False)
  476. Ferment_Tank_4 = db.Column(db.Text, nullable=False)
  477. Ferment_Tank_5 = db.Column(db.Text, nullable=False)
  478. Ferment_Tank_6 = db.Column(db.Text, nullable=False)
  479. Ferment_Tank_7 = db.Column(db.Text, nullable=False)
  480. Ferment_Tank_8 = db.Column(db.Text, nullable=False)
  481. Ferment_Tank_9 = db.Column(db.Text, nullable=False)
  482. Ferment_Tank_10 = db.Column(db.Text, nullable=False)
  483. Ferment_Tank_11 = db.Column(db.Text, nullable=False)
  484. Ferment_Tank_12 = db.Column(db.Text, nullable=False)
  485. Ferment_Output_1 = db.Column(db.Text, nullable=False)
  486. Ferment_Output_2 = db.Column(db.Text, nullable=False)
  487. # 乾燥槽_乾燥貨櫃自動化狀態判斷
  488. class dry_container_status(db.Model):
  489. __tablename__ = 'dry_container_status'
  490. sn = db.Column(db.Integer, primary_key=True)
  491. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  492. Dry_Input_1 = db.Column(db.Text, nullable=False)
  493. Dry_Input_2 = db.Column(db.Text, nullable=False)
  494. Dry_Tank_1 = db.Column(db.Text, nullable=False)
  495. Dry_Tank_2 = db.Column(db.Text, nullable=False)
  496. Dry_Tank_3 = db.Column(db.Text, nullable=False)
  497. Dry_Tank_4 = db.Column(db.Text, nullable=False)
  498. Dry_Tank_5 = db.Column(db.Text, nullable=False)
  499. Dry_Tank_6 = db.Column(db.Text, nullable=False)
  500. Dry_Tank_7 = db.Column(db.Text, nullable=False)
  501. Dry_Tank_8 = db.Column(db.Text, nullable=False)
  502. Dry_Tank_9 = db.Column(db.Text, nullable=False)
  503. Dry_Tank_10 = db.Column(db.Text, nullable=False)
  504. Dry_Tank_11 = db.Column(db.Text, nullable=False)
  505. Dry_Tank_12 = db.Column(db.Text, nullable=False)
  506. Dry_Output_1 = db.Column(db.Text, nullable=False)
  507. Dry_Output_2 = db.Column(db.Text, nullable=False)
  508. # 清洗槽_清洗貨櫃自動化狀態判斷
  509. class clean_container_status(db.Model):
  510. __tablename__ = 'clean_container_status'
  511. sn = db.Column(db.Integer, primary_key=True)
  512. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  513. Clean_Input_1 = db.Column(db.Text, nullable=False)
  514. Clean_Input_2 = db.Column(db.Text, nullable=False)
  515. Clean_Tank_1 = db.Column(db.Text, nullable=False)
  516. Clean_Tank_2 = db.Column(db.Text, nullable=False)
  517. Clean_Tank_3 = db.Column(db.Text, nullable=False)
  518. Clean_Tank_4 = db.Column(db.Text, nullable=False)
  519. Reclaimed_Tank_1 = db.Column(db.Text, nullable=False)
  520. ColorSelect_Input_1 = db.Column(db.Text, nullable=False)
  521. ColorSelect_Input_2 = db.Column(db.Text, nullable=False)
  522. ColorSelect_Tank_1 = db.Column(db.Text, nullable=False)
  523. ColorSelect_Tank_2 = db.Column(db.Text, nullable=False)
  524. ColorSelect_Output_g1 = db.Column(db.Text, nullable=False)
  525. ColorSelect_Output_b1 = db.Column(db.Text, nullable=False)
  526. ColorSelect_Output_g2 = db.Column(db.Text, nullable=False)
  527. ColorSelect_Output_b2 = db.Column(db.Text, nullable=False)
  528. Peel_Tank_1 = db.Column(db.Text, nullable=False)
  529. Peel_Tank_2 = db.Column(db.Text, nullable=False)
  530. Peel_Output_1 = db.Column(db.Text, nullable=False)
  531. Peel_Output_2 = db.Column(db.Text, nullable=False)
  532. Peel_Output_b1 = db.Column(db.Text, nullable=False)
  533. # ////////////////////////////////////////////////////////////////////////////////
  534. # ===== 清洗 - 桶槽 =====
  535. # 清洗槽_感測器_超音波感測器 0421 update
  536. class clean_tank_UltraSonic(db.Model):
  537. __tablename__ = 'clean_tank_UltraSonic'
  538. sn = db.Column(db.Integer, primary_key=True)
  539. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  540. tank_num = db.Column(db.Text, nullable=False)
  541. UltraSonic = db.Column(db.Text, nullable=False)
  542. # 清洗槽_感測器_馬達編碼器 0421 update
  543. class clean_tank_motorEncoder(db.Model):
  544. __tablename__ = 'clean_tank_motorEncoder'
  545. sn = db.Column(db.Integer, primary_key=True)
  546. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  547. tank_num = db.Column(db.Text, nullable=False)
  548. motorEncoder = db.Column(db.Text, nullable=False)
  549. # 清洗槽_感測器_內桶濁度計 0421 update
  550. class clean_tank_Turbidity(db.Model):
  551. __tablename__ = 'clean_tank_Turbidity'
  552. sn = db.Column(db.Integer, primary_key=True)
  553. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  554. tank_num = db.Column(db.Text, nullable=False)
  555. tankTurbidity = db.Column(db.Text, nullable=False)
  556. # 清洗槽_感測器_蝴蝶閥狀態顯示器 0421 update
  557. class clean_tank_diskvalveMonitor(db.Model):
  558. __tablename__ = 'clean_tank_diskvalveMonitor'
  559. sn = db.Column(db.Integer, primary_key=True)
  560. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  561. tank_num = db.Column(db.Text, nullable=False)
  562. diskvalveMonitor = db.Column(db.Text, nullable=False)
  563. # 清洗槽_感測器_過濾器濁度計 0421 update
  564. class clean_filter_Turbidity(db.Model):
  565. __tablename__ = 'clean_filter_Turbidity'
  566. sn = db.Column(db.Integer, primary_key=True)
  567. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  568. tank_num = db.Column(db.Text, nullable=False)
  569. filterTurbidity = db.Column(db.Text, nullable=False)
  570. # 清洗浮選槽_致動器 0421 update
  571. class cleann_tank_actuator(db.Model):
  572. __tablename__ = 'cleann_tank_actuator'
  573. sn = db.Column(db.Integer, primary_key=True)
  574. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  575. tank_num = db.Column(db.Text, nullable=False)
  576. vacuum = db.Column(db.Text, nullable=False)
  577. threewayvalve_input = db.Column(db.Text, nullable=False)
  578. solenoid_disinfect = db.Column(db.Text, nullable=False)
  579. pump_disinfect = db.Column(db.Text, nullable=False)
  580. motor = db.Column(db.Text, nullable=False)
  581. pump_water_in = db.Column(db.Text, nullable=False)
  582. solenoid_reclaimed_in = db.Column(db.Text, nullable=False)
  583. solenoid_water_in = db.Column(db.Text, nullable=False)
  584. solenoid_water_out = db.Column(db.Text, nullable=False)
  585. solenoid_reclaimed_out = db.Column(db.Text, nullable=False)
  586. diskvalve = db.Column(db.Text, nullable=False)
  587. switch_magnetic = db.Column(db.Text, nullable=False)
  588. switch_emergency = db.Column(db.Text, nullable=False)
  589. camera = db.Column(db.Text, nullable=False)
  590. light_warning = db.Column(db.Text, nullable=False)
  591. # 清洗浮選槽_致動器 (old)
  592. class clean_tank_actuator(db.Model):
  593. __tablename__ = 'clean_tank_actuator'
  594. sn = db.Column(db.Integer, primary_key=True)
  595. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  596. tank_num = db.Column(db.Text, nullable=False)
  597. vacuum = db.Column(db.Integer, nullable=False)
  598. pump_waterInput = db.Column(db.Integer, nullable=False)
  599. pump_waterL2L3 = db.Column(db.Integer, nullable=False)
  600. pump_waterL4L5 = db.Column(db.Integer, nullable=False)
  601. solenoid_waterL2L3 = db.Column(db.Integer, nullable=False)
  602. solenoid_waterL4L5 = db.Column(db.Integer, nullable=False)
  603. stepping_motor = db.Column(db.Text, nullable=False)
  604. # ===== 清洗 - 入料 =====
  605. # 清洗浮選槽_清洗貨櫃入料儲豆槽_致動器 OLD
  606. class clean_input_actuator(db.Model):
  607. __tablename__ = 'clean_input_actuator'
  608. sn = db.Column(db.Integer, primary_key=True)
  609. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  610. tank_num = db.Column(db.Text, nullable=False)
  611. vacuum = db.Column(db.Integer, nullable=False)
  612. # ===== 清洗 - 出料 =====
  613. # 清洗浮選槽_清洗貨櫃出料儲豆槽_致動器 OLD
  614. class clean_output_actuator(db.Model):
  615. __tablename__ = 'clean_output_actuator'
  616. sn = db.Column(db.Integer, primary_key=True)
  617. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  618. tank_num = db.Column(db.Text, nullable=False)
  619. vacuum = db.Column(db.Integer, nullable=False)
  620. # ===== 中水 - 桶槽 =====
  621. # 中水桶_致動器
  622. class reclaimed_tank_actuator(db.Model):
  623. __tablename__ = 'reclaimed_tank_actuator'
  624. sn = db.Column(db.Integer, primary_key=True)
  625. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  626. tank_num = db.Column(db.Text, nullable=False)
  627. pump_cleanwater_in = db.Column(db.Text, nullable=False)
  628. pump_in_clean = db.Column(db.Text, nullable=False)
  629. solenoid_water_in = db.Column(db.Text, nullable=False)
  630. solenoid_water_out = db.Column(db.Text, nullable=False)
  631. solenoid_reclaimed_out = db.Column(db.Text, nullable=False)
  632. # ===== 色選 - 桶槽 =====
  633. # 色選_感測器_超音波感測器 0421 update
  634. class colorselect_tank_UltraSonic(db.Model):
  635. __tablename__ = 'colorselect_tank_UltraSonic'
  636. sn = db.Column(db.Integer, primary_key=True)
  637. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  638. tank_num = db.Column(db.Text, nullable=False)
  639. UltraSonic = db.Column(db.Text, nullable=False)
  640. # 色選_感測器_顏色感測器 0421 update
  641. class colorselect_tank_color(db.Model):
  642. __tablename__ = 'colorselect_tank_color'
  643. sn = db.Column(db.Integer, primary_key=True)
  644. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  645. tank_num = db.Column(db.Text, nullable=False)
  646. color = db.Column(db.Text, nullable=False)
  647. # 色選_致動器 ALL 0421 update
  648. class colorselect_tank_actuator(db.Model):
  649. __tablename__ = 'colorselect_tank_actuator'
  650. sn = db.Column(db.Integer, primary_key=True)
  651. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  652. tank_num = db.Column(db.Text, nullable=False)
  653. vacuum = db.Column(db.Text, nullable=False)
  654. motor = db.Column(db.Text, nullable=False)
  655. nozzle = db.Column(db.Text, nullable=False)
  656. # ===== 色選 - 出料 =====
  657. # 色選機_清洗貨櫃出料儲豆槽_致動器 OLD
  658. class colorselect_output_actuator(db.Model):
  659. __tablename__ = 'colorselect_output_actuator'
  660. sn = db.Column(db.Integer, primary_key=True)
  661. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  662. tank_num = db.Column(db.Text, nullable=False)
  663. vacuum = db.Column(db.Integer, nullable=False)
  664. # ===== 脫皮 - 桶槽 =====
  665. # 脫皮機_感測器_超音波感測器 0421 update
  666. class peel_output_UltraSonic(db.Model):
  667. __tablename__ = 'peel_output_UltraSonic'
  668. sn = db.Column(db.Integer, primary_key=True)
  669. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  670. tank_num = db.Column(db.Text, nullable=False)
  671. UltraSonic = db.Column(db.Text, nullable=False)
  672. # 脫皮機_感測器_馬達編碼器 0421 update
  673. class peel_output_motorEncoder(db.Model):
  674. __tablename__ = 'peel_output_motorEncoder'
  675. sn = db.Column(db.Integer, primary_key=True)
  676. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  677. tank_num = db.Column(db.Text, nullable=False)
  678. motorEncoder = db.Column(db.Text, nullable=False)
  679. # 脫皮機_致動器 0421 update
  680. class peel_tank_actuator(db.Model):
  681. __tablename__ = 'peel_tank_actuator'
  682. sn = db.Column(db.Integer, primary_key=True)
  683. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  684. tank_num = db.Column(db.Text, nullable=False)
  685. vacuum = db.Column(db.Text, nullable=False)
  686. motor = db.Column(db.Text, nullable=False)
  687. # ===== 脫皮 - 入料 =====
  688. # 脫皮機_清洗貨櫃入料儲豆槽_致動器 OLD
  689. class peel_input_actuator(db.Model):
  690. __tablename__ = 'peel_input_actuator'
  691. sn = db.Column(db.Integer, primary_key=True)
  692. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  693. tank_num = db.Column(db.Text, nullable=False)
  694. vacuum = db.Column(db.Integer, nullable=False)
  695. # ===== 脫皮 - 出料 =====
  696. # 脫皮機_清洗貨櫃出料儲豆槽_致動器 OLD
  697. class peel_output_actuator(db.Model):
  698. __tablename__ = 'peel_output_actuator'
  699. sn = db.Column(db.Integer, primary_key=True)
  700. datetime = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
  701. tank_num = db.Column(db.Text, nullable=False)
  702. vacuum = db.Column(db.Integer, nullable=False)
  703. # ////////////////////////////////////////////////////////////////////////////////
  704. # #發酵槽溫度感測器表
  705. # class TankTemSensor(db.Model):
  706. # __tablename__ = 'tank_tem_sensor'
  707. # sn = db.Column(db.Integer, primary_key=True)
  708. # datetime = db.Column(db.DateTime, nullable=False)
  709. # tank_num = db.Column(db.Integer, nullable=False)
  710. # tem = db.Column(db.Text, nullable=False)
  711. # #發酵槽二氧化碳感測器表
  712. # class TankCO2Sensor(db.Model):
  713. # __tablename__ = 'tank_co2_sensor'
  714. # sn = db.Column(db.Integer, primary_key=True)
  715. # datetime = db.Column(db.DateTime, nullable=False)
  716. # tank_num = db.Column(db.Integer, nullable=False)
  717. # co2 = db.Column(db.Text, nullable=False)
  718. # #發酵槽酸鹼值感測器表
  719. # class TankPHSensor(db.Model):
  720. # __tablename__ = 'tank_ph_sensor'
  721. # sn = db.Column(db.Integer, primary_key=True)
  722. # datetime = db.Column(db.DateTime, nullable=False)
  723. # tank_num = db.Column(db.Integer, nullable=False)
  724. # ph = db.Column(db.Text, nullable=False)
  725. # #發酵槽酸鹼值感測器表
  726. # class TankECSensor(db.Model):
  727. # __tablename__ = 'tank_ec_sensor'
  728. # sn = db.Column(db.Integer, primary_key=True)
  729. # datetime = db.Column(db.DateTime, nullable=False)
  730. # tank_num = db.Column(db.Integer, nullable=False)
  731. # ec = db.Column(db.Text, nullable=False)
  732. # #發酵槽超音波感測器表
  733. # class TankSonicSensor(db.Model):
  734. # __tablename__ = 'tank_sonic_sensor'
  735. # sn = db.Column(db.Integer, primary_key=True)
  736. # datetime = db.Column(db.DateTime, nullable=False)
  737. # tank_num = db.Column(db.Integer, nullable=False)
  738. # sonic = db.Column(db.Text, nullable=False)
  739. # class BeanValve(db.Model):
  740. # __tablename__ = 'bean_valve'
  741. # sn = db.Column(db.Integer, primary_key=True)
  742. # datetime = db.Column(db.DateTime, nullable=False)
  743. # duration = db.Column(db.Text, nullable=False)
  744. # start = db.Column(db.Text, nullable=False)
  745. # end = db.Column(db.Text, nullable=False)
  746. # class WashMachine(db.Model):
  747. # __tablename__ = 'wash_machine'
  748. # sn = db.Column(db.Integer, primary_key=True)
  749. # datetime = db.Column(db.DateTime, nullable=False)
  750. # duration = db.Column(db.Text, nullable=False)
  751. # start = db.Column(db.Text, nullable=False)
  752. # end = db.Column(db.Text, nullable=False)
  753. # class ConveyorBelt1(db.Model):
  754. # __tablename__ = 'conveyor_belt1'
  755. # sn = db.Column(db.Integer, primary_key=True)
  756. # datetime = db.Column(db.DateTime, nullable=False)
  757. # duration = db.Column(db.Text, nullable=False)
  758. # start = db.Column(db.Text, nullable=False)
  759. # end = db.Column(db.Text, nullable=False)
  760. # class Cargo1Disinfect(db.Model):
  761. # __tablename__ = 'cargo1_disinfect'
  762. # sn = db.Column(db.Integer, primary_key=True)
  763. # datetime = db.Column(db.DateTime, nullable=False)
  764. # duration = db.Column(db.Text, nullable=False)
  765. # start = db.Column(db.Text, nullable=False)
  766. # end = db.Column(db.Text, nullable=False)
  767. # class ColorMachine(db.Model):
  768. # __tablename__ = 'color_machine'
  769. # sn = db.Column(db.Integer, primary_key=True)
  770. # datetime = db.Column(db.DateTime, nullable=False)
  771. # duration = db.Column(db.Text, nullable=False)
  772. # start = db.Column(db.Text, nullable=False)
  773. # end = db.Column(db.Text, nullable=False)
  774. # class ConveyorBelt2(db.Model):
  775. # __tablename__ = 'conveyor_belt2'
  776. # sn = db.Column(db.Integer, primary_key=True)
  777. # datetime = db.Column(db.DateTime, nullable=False)
  778. # duration = db.Column(db.Text, nullable=False)
  779. # start = db.Column(db.Text, nullable=False)
  780. # end = db.Column(db.Text, nullable=False)
  781. # class PeelingMachine(db.Model):
  782. # __tablename__ = 'peeling_machine'
  783. # sn = db.Column(db.Integer, primary_key=True)
  784. # datetime = db.Column(db.DateTime, nullable=False)
  785. # duration = db.Column(db.Text, nullable=False)
  786. # start = db.Column(db.Text, nullable=False)
  787. # end = db.Column(db.Text, nullable=False)
  788. # class ConveyorBelt3(db.Model):
  789. # __tablename__ = 'conveyor_belt3'
  790. # sn = db.Column(db.Integer, primary_key=True)
  791. # datetime = db.Column(db.DateTime, nullable=False)
  792. # duration = db.Column(db.Text, nullable=False)
  793. # start = db.Column(db.Text, nullable=False)
  794. # end = db.Column(db.Text, nullable=False)
  795. # class Bacteria(db.Model):
  796. # __tablename__ = 'bacteria'
  797. # sn = db.Column(db.Integer, primary_key=True)
  798. # datetime = db.Column(db.DateTime, nullable=False)
  799. # tank_num = db.Column(db.Integer, nullable=False)
  800. # duration = db.Column(db.Text, nullable=False)
  801. # start = db.Column(db.Text, nullable=False)
  802. # end = db.Column(db.Text, nullable=False)
  803. # class Cargo2Disinfect(db.Model):
  804. # __tablename__ = 'cargo2_disinfect'
  805. # sn = db.Column(db.Integer, primary_key=True)
  806. # datetime = db.Column(db.DateTime, nullable=False)
  807. # tank_num = db.Column(db.Integer, nullable=False)
  808. # duration = db.Column(db.Text, nullable=False)
  809. # start = db.Column(db.Text, nullable=False)
  810. # end = db.Column(db.Text, nullable=False)
  811. # class Heating(db.Model):
  812. # __tablename__ = 'heating'
  813. # sn = db.Column(db.Integer, primary_key=True)
  814. # datetime = db.Column(db.DateTime, nullable=False)
  815. # tank_num = db.Column(db.Integer, nullable=False)
  816. # duration = db.Column(db.Text, nullable=False)
  817. # start = db.Column(db.Text, nullable=False)
  818. # end = db.Column(db.Text, nullable=False)
  819. # class Stir(db.Model):
  820. # __tablename__ = 'stir'
  821. # sn = db.Column(db.Integer, primary_key=True)
  822. # datetime = db.Column(db.DateTime, nullable=False)
  823. # tank_num = db.Column(db.Integer, nullable=False)
  824. # duration = db.Column(db.Text, nullable=False)
  825. # start = db.Column(db.Text, nullable=False)
  826. # end = db.Column(db.Text, nullable=False)
  827. # class WaterInjection(db.Model):
  828. # __tablename__ = 'water_injection'
  829. # sn = db.Column(db.Integer, primary_key=True)
  830. # datetime = db.Column(db.DateTime, nullable=False)
  831. # tank_num = db.Column(db.Integer, nullable=False)
  832. # duration = db.Column(db.Text, nullable=False)
  833. # start = db.Column(db.Text, nullable=False)
  834. # end = db.Column(db.Text, nullable=False)
  835. # class TopValve(db.Model):
  836. # __tablename__ = 'top_valve'
  837. # sn = db.Column(db.Integer, primary_key=True)
  838. # datetime = db.Column(db.DateTime, nullable=False)
  839. # tank_num = db.Column(db.Integer, nullable=False)
  840. # duration = db.Column(db.Text, nullable=False)
  841. # start = db.Column(db.Text, nullable=False)
  842. # end = db.Column(db.Text, nullable=False)
  843. # class BottomValve(db.Model):
  844. # __tablename__ = 'bottom_valve'
  845. # sn = db.Column(db.Integer, primary_key=True)
  846. # datetime = db.Column(db.DateTime, nullable=False)
  847. # tank_num = db.Column(db.Integer, nullable=False)
  848. # duration = db.Column(db.Text, nullable=False)
  849. # start = db.Column(db.Text, nullable=False)
  850. # end = db.Column(db.Text, nullable=False)
  851. # class Temperature(db.Model):
  852. # __tablename__ = 'temperature'
  853. # sn = db.Column(db.Integer, primary_key=True)
  854. # datetime = db.Column(db.DateTime, nullable=False)
  855. # tank_num = db.Column(db.Integer, nullable=False)
  856. # duration = db.Column(db.Text, nullable=False)
  857. # start = db.Column(db.Text, nullable=False)
  858. # end = db.Column(db.Text, nullable=False)
  859. # class Hoist(db.Model):
  860. # __tablename__ = 'hoist'
  861. # sn = db.Column(db.Integer, primary_key=True)
  862. # datetime = db.Column(db.DateTime, nullable=False)
  863. # duration = db.Column(db.Text, nullable=False)
  864. # start = db.Column(db.Text, nullable=False)
  865. # end = db.Column(db.Text, nullable=False)
  866. # class Dryer(db.Model):
  867. # __tablename__ = 'dryer'
  868. # sn = db.Column(db.Integer, primary_key=True)
  869. # datetime = db.Column(db.DateTime, nullable=False)
  870. # duration = db.Column(db.Text, nullable=False)
  871. # start = db.Column(db.Text, nullable=False)
  872. # end = db.Column(db.Text, nullable=False)
  873. # class Relay(db.Model):
  874. # __tablename__ = 'relay'
  875. # sn = db.Column(db.Integer, primary_key=True)
  876. # datetime = db.Column(db.DateTime, nullable=False)
  877. # tank_num = db.Column(db.Integer, nullable=False)
  878. # status= db.Column(db.Text, nullable=False)
  879. # class PeelingMachineRPM(db.Model):
  880. # __tablename__ = 'peeling_machine_rpm'
  881. # sn = db.Column(db.Integer, primary_key=True)
  882. # datetime = db.Column(db.DateTime, nullable=False)
  883. # tank_num = db.Column(db.Integer, nullable=False)
  884. # rpm = db.Column(db.Text, nullable=False)
  885. # class StirRPM(db.Model):
  886. # __tablename__ = 'stir_rpm'
  887. # sn = db.Column(db.Integer, primary_key=True)
  888. # datetime = db.Column(db.DateTime, nullable=False)
  889. # tank_num = db.Column(db.Integer, nullable=False)
  890. # rpm = db.Column(db.Text, nullable=False)
  891. db.create_all()