1
0

models.py 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614
  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. # 乾燥槽
  23. # 乾燥桶入料_感測器_超音波感測器
  24. class dry_input_sensor(db.Model):
  25. __tablename__ = 'dry_input_sensor'
  26. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  27. tank_num = db.Column(db.Text, nullable=False)
  28. UltraSonic = db.Column(db.Text, nullable=False)
  29. # 乾燥桶_感測器_SHT11
  30. class dry_tank_SHT11(db.Model):
  31. __tablename__ = 'dry_tank_SHT11'
  32. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  33. tank_num = db.Column(db.Text, nullable=False)
  34. SHT11_Temp = db.Column(db.Text, nullable=False)
  35. SHT11_Humidity = db.Column(db.Text, nullable=False)
  36. # 乾燥桶_感測器_土壤三合一感測器
  37. class dry_tank_Soil(db.Model):
  38. __tablename__ = 'dry_tank_Soil'
  39. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  40. tank_num = db.Column(db.Text, nullable=False)
  41. soil_Temp = db.Column(db.Text, nullable=False)
  42. soil_Humidity = db.Column(db.Text, nullable=False)
  43. soil_EC = db.Column(db.Text, nullable=False)
  44. # 乾燥桶_感測器_超音波感測器
  45. class dry_tank_PA(db.Model):
  46. __tablename__ = 'dry_tank_PA'
  47. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  48. tank_num = db.Column(db.Text, nullable=False)
  49. PA = db.Column(db.Text, nullable=False)
  50. # 乾燥桶_感測器_超音波感測器
  51. class dry_tank_UltraSonic(db.Model):
  52. __tablename__ = 'dry_tank_UltraSonic'
  53. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  54. tank_num = db.Column(db.Text, nullable=False)
  55. UltraSonic = db.Column(db.Text, nullable=False)
  56. # 乾燥桶出料_感測器_超音波感測器
  57. class dry_output_sensor(db.Model):
  58. __tablename__ = 'dry_output_sensor'
  59. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  60. tank_num = db.Column(db.Text, nullable=False)
  61. UltraSonic = db.Column(db.Text, nullable=False)
  62. # 乾燥桶入料_排程設定
  63. class set_dry_input(db.Model):
  64. __tablename__ = 'set_dry_input'
  65. # sn
  66. sn = db.Column(db.Integer, primary_key=True)
  67. # 存入時間
  68. datetime = db.Column(db.DateTime, nullable=False)
  69. # 入料儲豆槽_咖啡豆高度
  70. input_height = db.Column(db.Text, nullable=False)
  71. # 乾燥桶_吸料時間
  72. input_entertime = db.Column(db.Text, nullable=False)
  73. # 乾燥桶_放料時間
  74. input_exittime = db.Column(db.Text, nullable=False)
  75. # 乾燥桶_咖啡豆高度
  76. tank_height = db.Column(db.Text, nullable=False)
  77. # 乾燥桶入料_制動器_真空吸料機
  78. class dry_input_brake(db.Model):
  79. __tablename__ = 'dry_input_brake'
  80. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  81. tank_num = db.Column(db.Text, nullable=False)
  82. vacuum = db.Column(db.Integer, nullable=False)
  83. #乾燥桶_制動器_ALL
  84. class dry_tank_brake(db.Model):
  85. __tablename__ = 'dry_tank_brake'
  86. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  87. tank_num = db.Column(db.Text, nullable=False)
  88. vacuum = db.Column(db.Integer, nullable=False)
  89. threewayvalve = db.Column(db.Integer, nullable=False)
  90. diskvalve = db.Column(db.Integer, nullable=False)
  91. solenoid_disinfect = db.Column(db.Integer, nullable=False)
  92. solenoid_water = db.Column(db.Integer, nullable=False)
  93. motor = db.Column(db.Integer, nullable=False)
  94. blower = db.Column(db.Integer, nullable=False)
  95. heater1 = db.Column(db.Integer, nullable=False)
  96. heater2 = db.Column(db.Integer, nullable=False)
  97. temp1_enable = db.Column(db.Integer, nullable=False)
  98. temp1 = db.Column(db.Float, nullable=False)
  99. # 乾燥桶出料_制動器_真空吸料機
  100. class dry_output_brake(db.Model):
  101. __tablename__ = 'dry_output_brake'
  102. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  103. tank_num = db.Column(db.Text, nullable=False)
  104. vacuum = db.Column(db.Integer, nullable=False)
  105. # ////////////////////////////////////////////////////////////////////////////////
  106. # 發酵槽
  107. # 發酵槽_發酵貨櫃入料儲豆槽_超音波感測器
  108. class ferment_input_UltraSonic(db.Model):
  109. __tablename__ = 'ferment_input_UltraSonic'
  110. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  111. tank_num = db.Column(db.Text, nullable=False)
  112. UltraSonic = db.Column(db.Text, nullable=False)
  113. # 發酵槽_發酵貨櫃入料儲豆槽_制動器
  114. class ferment_input_actuator(db.Model):
  115. __tablename__ = 'ferment_input_actuator'
  116. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  117. tank_num = db.Column(db.Text, nullable=False)
  118. vacuum = db.Column(db.Integer, nullable=False)
  119. # 發酵槽_感測器_SHT11
  120. class ferment_tank_SHT11(db.Model):
  121. __tablename__ = 'ferment_tank_SHT11'
  122. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  123. tank_num = db.Column(db.Text, nullable=False)
  124. SHT11_Temp = db.Column(db.Text, nullable=False)
  125. SHT11_Humidity = db.Column(db.Text, nullable=False)
  126. # 發酵槽_感測器_二氧化碳
  127. class ferment_tank_CO2(db.Model):
  128. __tablename__ = 'ferment_tank_CO2'
  129. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  130. tank_num = db.Column(db.Text, nullable=False)
  131. CO2 = db.Column(db.Text, nullable=False)
  132. # 發酵槽_感測器_PH
  133. class ferment_tank_PH(db.Model):
  134. __tablename__ = 'ferment_tank_PH'
  135. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  136. tank_num = db.Column(db.Text, nullable=False)
  137. PH = db.Column(db.Text, nullable=False)
  138. # 發酵槽_感測器_ORP
  139. class ferment_tank_ORP(db.Model):
  140. __tablename__ = 'ferment_tank_ORP'
  141. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  142. tank_num = db.Column(db.Text, nullable=False)
  143. ORP = db.Column(db.Text, nullable=False)
  144. # 發酵槽_感測器_DO
  145. class ferment_tank_DO(db.Model):
  146. __tablename__ = 'ferment_tank_DO'
  147. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  148. tank_num = db.Column(db.Text, nullable=False)
  149. DO = db.Column(db.Text, nullable=False)
  150. # 發酵槽_感測器_EC
  151. class ferment_tank_EC(db.Model):
  152. __tablename__ = 'ferment_tank_EC'
  153. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  154. tank_num = db.Column(db.Text, nullable=False)
  155. EC = db.Column(db.Text, nullable=False)
  156. # 發酵槽_感測器_PA
  157. class ferment_tank_PA(db.Model):
  158. __tablename__ = 'ferment_tank_PA'
  159. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  160. tank_num = db.Column(db.Text, nullable=False)
  161. PA = db.Column(db.Text, nullable=False)
  162. # 發酵槽保溫夾層_感測器_保溫夾層水位計
  163. class ferment_tank_WaterLevel(db.Model):
  164. __tablename__ = 'ferment_tank_WaterLevel'
  165. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  166. tank_num = db.Column(db.Text, nullable=False)
  167. WaterLevel = db.Column(db.Text, nullable=False)
  168. # 發酵槽_感測器_超音波感測器
  169. class ferment_tank_UltraSonic(db.Model):
  170. __tablename__ = 'ferment_tank_UltraSonic'
  171. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  172. tank_num = db.Column(db.Text, nullable=False)
  173. UltraSonic = db.Column(db.Text, nullable=False)
  174. # 發酵槽_感測器_咖啡生豆高度
  175. class ferment_tank_LiDAR(db.Model):
  176. __tablename__ = 'ferment_tank_LiDAR'
  177. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  178. tank_num = db.Column(db.Text, nullable=False)
  179. LiDAR = db.Column(db.Text, nullable=False)
  180. # 發酵槽_感測器_水位高度
  181. class ferment_tank_PressureWaterLevel(db.Model):
  182. __tablename__ = 'ferment_tank_PressureWaterLevel'
  183. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  184. tank_num = db.Column(db.Text, nullable=False)
  185. PressureWaterLevel = db.Column(db.Text, nullable=False)
  186. # 發酵槽_制動器
  187. class ferment_tank_actuator(db.Model):
  188. __tablename__ = 'ferment_tank_actuator'
  189. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  190. tank_num = db.Column(db.Text, nullable=False)
  191. vacuum = db.Column(db.Integer, nullable=False)
  192. threewayvalve_input = db.Column(db.Integer, nullable=False)
  193. diskvalve = db.Column(db.Integer, nullable=False)
  194. solenoid_tank_water_total = db.Column(db.Integer, nullable=False)
  195. solenoid_tank_disinfect = db.Column(db.Integer, nullable=False)
  196. solenoid_outer_water = db.Column(db.Integer, nullable=False)
  197. solenoid_tank_water_in = db.Column(db.Integer, nullable=False)
  198. pump_sensor = db.Column(db.Integer, nullable=False)
  199. threewayvalve_bean = db.Column(db.Integer, nullable=False)
  200. threewayvalve_outer_float = db.Column(db.Integer, nullable=False)
  201. motor = db.Column(db.Integer, nullable=False)
  202. heater1 = db.Column(db.Integer, nullable=False)
  203. heater2 = db.Column(db.Integer, nullable=False)
  204. temp_enable = db.Column(db.Integer, nullable=False)
  205. temp = db.Column(db.Integer, nullable=False)
  206. # 發酵槽_發酵貨櫃出料儲豆槽_感測器
  207. class ferment_output_UltraSonic(db.Model):
  208. __tablename__ = 'ferment_output_UltraSonic'
  209. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  210. tank_num = db.Column(db.Text, nullable=False)
  211. UltraSonic = db.Column(db.Text, nullable=False)
  212. # 發酵槽_發酵貨櫃出料儲豆槽_制動器
  213. class ferment_output_actuator(db.Model):
  214. __tablename__ = 'ferment_output_actuator'
  215. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  216. tank_num = db.Column(db.Text, nullable=False)
  217. vacuum = db.Column(db.Integer, nullable=False)
  218. # 發酵槽_發酵貨櫃自動化狀態判斷
  219. class ferment_container_status(db.Model):
  220. __tablename__ = 'ferment_container_status'
  221. sn = db.Column(db.Integer, primary_key=True)
  222. datetime = db.Column(db.DateTime, nullable=False)
  223. Ferment_Input_1 = db.Column(db.Text, nullable=False)
  224. Ferment_Input_2 = db.Column(db.Text, nullable=False)
  225. Ferment_Tank_1 = db.Column(db.Text, nullable=False)
  226. Ferment_Tank_2 = db.Column(db.Text, nullable=False)
  227. Ferment_Tank_3 = db.Column(db.Text, nullable=False)
  228. Ferment_Tank_4 = db.Column(db.Text, nullable=False)
  229. Ferment_Tank_5 = db.Column(db.Text, nullable=False)
  230. Ferment_Tank_6 = db.Column(db.Text, nullable=False)
  231. Ferment_Tank_7 = db.Column(db.Text, nullable=False)
  232. Ferment_Tank_8 = db.Column(db.Text, nullable=False)
  233. Ferment_Tank_9 = db.Column(db.Text, nullable=False)
  234. Ferment_Tank_10 = db.Column(db.Text, nullable=False)
  235. Ferment_Tank_11 = db.Column(db.Text, nullable=False)
  236. Ferment_Tank_12 = db.Column(db.Text, nullable=False)
  237. Ferment_Output_1 = db.Column(db.Text, nullable=False)
  238. Ferment_Output_2 = db.Column(db.Text, nullable=False)
  239. # 乾燥槽_乾燥貨櫃自動化狀態判斷
  240. class dry_container_status(db.Model):
  241. __tablename__ = 'dry_container_status'
  242. sn = db.Column(db.Integer, primary_key=True)
  243. datetime = db.Column(db.DateTime, nullable=False)
  244. Dry_Input_1 = db.Column(db.Text, nullable=False)
  245. Dry_Input_2 = db.Column(db.Text, nullable=False)
  246. Dry_Tank_1 = db.Column(db.Text, nullable=False)
  247. Dry_Tank_2 = db.Column(db.Text, nullable=False)
  248. Dry_Tank_3 = db.Column(db.Text, nullable=False)
  249. Dry_Tank_4 = db.Column(db.Text, nullable=False)
  250. Dry_Tank_5 = db.Column(db.Text, nullable=False)
  251. Dry_Tank_6 = db.Column(db.Text, nullable=False)
  252. Dry_Tank_7 = db.Column(db.Text, nullable=False)
  253. Dry_Tank_8 = db.Column(db.Text, nullable=False)
  254. Dry_Tank_9 = db.Column(db.Text, nullable=False)
  255. Dry_Tank_10 = db.Column(db.Text, nullable=False)
  256. Dry_Tank_11 = db.Column(db.Text, nullable=False)
  257. Dry_Tank_12 = db.Column(db.Text, nullable=False)
  258. Dry_Output_1 = db.Column(db.Text, nullable=False)
  259. Dry_Output_2 = db.Column(db.Text, nullable=False)
  260. # ////////////////////////////////////////////////////////////////////////////////
  261. # 清洗貨櫃
  262. # 清洗浮選槽_清洗貨櫃入料儲豆槽_制動器
  263. class clean_input_actuator(db.Model):
  264. __tablename__ = 'clean_input_actuator'
  265. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  266. tank_num = db.Column(db.Text, nullable=False)
  267. vacuum = db.Column(db.Integer, nullable=False)
  268. # 清洗浮選槽_制動器
  269. class clean_tank_actuator(db.Model):
  270. __tablename__ = 'clean_tank_actuator'
  271. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  272. tank_num = db.Column(db.Text, nullable=False)
  273. vacuum = db.Column(db.Integer, nullable=False)
  274. pump_waterInput = db.Column(db.Integer, nullable=False)
  275. pump_waterL2L3 = db.Column(db.Integer, nullable=False)
  276. pump_waterL4L5 = db.Column(db.Integer, nullable=False)
  277. solenoid_waterL2L3 = db.Column(db.Integer, nullable=False)
  278. solenoid_waterL4L5 = db.Column(db.Integer, nullable=False)
  279. stepping_motor = db.Column(db.Text, nullable=False)
  280. # 清洗浮選槽_清洗貨櫃出料儲豆槽_制動器
  281. class clean_output_actuator(db.Model):
  282. __tablename__ = 'clean_output_actuator'
  283. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  284. tank_num = db.Column(db.Text, nullable=False)
  285. vacuum = db.Column(db.Integer, nullable=False)
  286. # 清洗浮選槽_感測器
  287. class clean_tank_UltraSonic(db.Model):
  288. __tablename__ = 'clean_tank_UltraSonic'
  289. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  290. tank_num = db.Column(db.Text, nullable=False)
  291. UltraSonic = db.Column(db.Text, nullable=False)
  292. # 脫皮機_清洗貨櫃入料儲豆槽_制動器
  293. class peel_input_actuator(db.Model):
  294. __tablename__ = 'peel_input_actuator'
  295. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  296. tank_num = db.Column(db.Text, nullable=False)
  297. vacuum = db.Column(db.Integer, nullable=False)
  298. # 脫皮機_制動器
  299. class peel_tank_actuator(db.Model):
  300. __tablename__ = 'peel_tank_actuator'
  301. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  302. tank_num = db.Column(db.Text, nullable=False)
  303. vacuum = db.Column(db.Integer, nullable=False)
  304. motor = db.Column(db.Integer, nullable=False)
  305. # 脫皮機_清洗貨櫃出料儲豆槽_制動器
  306. class peel_output_actuator(db.Model):
  307. __tablename__ = 'peel_output_actuator'
  308. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  309. tank_num = db.Column(db.Text, nullable=False)
  310. vacuum = db.Column(db.Integer, nullable=False)
  311. # 色選機_清洗貨櫃出料儲豆槽_制動器
  312. class colorselect_output_actuator(db.Model):
  313. __tablename__ = 'colorselect_output_actuator'
  314. datetime = db.Column(db.DateTime, nullable=False, primary_key=True)
  315. tank_num = db.Column(db.Text, nullable=False)
  316. vacuum = db.Column(db.Integer, nullable=False)
  317. # ////////////////////////////////////////////////////////////////////////////////
  318. #發酵槽溫度感測器表
  319. class TankTemSensor(db.Model):
  320. __tablename__ = 'tank_tem_sensor'
  321. sn = db.Column(db.Integer, primary_key=True)
  322. datetime = db.Column(db.DateTime, nullable=False)
  323. tank_num = db.Column(db.Integer, nullable=False)
  324. tem = db.Column(db.Text, nullable=False)
  325. #發酵槽二氧化碳感測器表
  326. class TankCO2Sensor(db.Model):
  327. __tablename__ = 'tank_co2_sensor'
  328. sn = db.Column(db.Integer, primary_key=True)
  329. datetime = db.Column(db.DateTime, nullable=False)
  330. tank_num = db.Column(db.Integer, nullable=False)
  331. co2 = db.Column(db.Text, nullable=False)
  332. #發酵槽酸鹼值感測器表
  333. class TankPHSensor(db.Model):
  334. __tablename__ = 'tank_ph_sensor'
  335. sn = db.Column(db.Integer, primary_key=True)
  336. datetime = db.Column(db.DateTime, nullable=False)
  337. tank_num = db.Column(db.Integer, nullable=False)
  338. ph = db.Column(db.Text, nullable=False)
  339. #發酵槽酸鹼值感測器表
  340. class TankECSensor(db.Model):
  341. __tablename__ = 'tank_ec_sensor'
  342. sn = db.Column(db.Integer, primary_key=True)
  343. datetime = db.Column(db.DateTime, nullable=False)
  344. tank_num = db.Column(db.Integer, nullable=False)
  345. ec = db.Column(db.Text, nullable=False)
  346. #發酵槽超音波感測器表
  347. class TankSonicSensor(db.Model):
  348. __tablename__ = 'tank_sonic_sensor'
  349. sn = db.Column(db.Integer, primary_key=True)
  350. datetime = db.Column(db.DateTime, nullable=False)
  351. tank_num = db.Column(db.Integer, nullable=False)
  352. sonic = db.Column(db.Text, nullable=False)
  353. class BeanValve(db.Model):
  354. __tablename__ = 'bean_valve'
  355. sn = db.Column(db.Integer, primary_key=True)
  356. datetime = db.Column(db.DateTime, nullable=False)
  357. duration = db.Column(db.Text, nullable=False)
  358. start = db.Column(db.Text, nullable=False)
  359. end = db.Column(db.Text, nullable=False)
  360. class WashMachine(db.Model):
  361. __tablename__ = 'wash_machine'
  362. sn = db.Column(db.Integer, primary_key=True)
  363. datetime = db.Column(db.DateTime, nullable=False)
  364. duration = db.Column(db.Text, nullable=False)
  365. start = db.Column(db.Text, nullable=False)
  366. end = db.Column(db.Text, nullable=False)
  367. class ConveyorBelt1(db.Model):
  368. __tablename__ = 'conveyor_belt1'
  369. sn = db.Column(db.Integer, primary_key=True)
  370. datetime = db.Column(db.DateTime, nullable=False)
  371. duration = db.Column(db.Text, nullable=False)
  372. start = db.Column(db.Text, nullable=False)
  373. end = db.Column(db.Text, nullable=False)
  374. class Cargo1Disinfect(db.Model):
  375. __tablename__ = 'cargo1_disinfect'
  376. sn = db.Column(db.Integer, primary_key=True)
  377. datetime = db.Column(db.DateTime, nullable=False)
  378. duration = db.Column(db.Text, nullable=False)
  379. start = db.Column(db.Text, nullable=False)
  380. end = db.Column(db.Text, nullable=False)
  381. class ColorMachine(db.Model):
  382. __tablename__ = 'color_machine'
  383. sn = db.Column(db.Integer, primary_key=True)
  384. datetime = db.Column(db.DateTime, nullable=False)
  385. duration = db.Column(db.Text, nullable=False)
  386. start = db.Column(db.Text, nullable=False)
  387. end = db.Column(db.Text, nullable=False)
  388. class ConveyorBelt2(db.Model):
  389. __tablename__ = 'conveyor_belt2'
  390. sn = db.Column(db.Integer, primary_key=True)
  391. datetime = db.Column(db.DateTime, nullable=False)
  392. duration = db.Column(db.Text, nullable=False)
  393. start = db.Column(db.Text, nullable=False)
  394. end = db.Column(db.Text, nullable=False)
  395. class PeelingMachine(db.Model):
  396. __tablename__ = 'peeling_machine'
  397. sn = db.Column(db.Integer, primary_key=True)
  398. datetime = db.Column(db.DateTime, nullable=False)
  399. duration = db.Column(db.Text, nullable=False)
  400. start = db.Column(db.Text, nullable=False)
  401. end = db.Column(db.Text, nullable=False)
  402. class ConveyorBelt3(db.Model):
  403. __tablename__ = 'conveyor_belt3'
  404. sn = db.Column(db.Integer, primary_key=True)
  405. datetime = db.Column(db.DateTime, nullable=False)
  406. duration = db.Column(db.Text, nullable=False)
  407. start = db.Column(db.Text, nullable=False)
  408. end = db.Column(db.Text, nullable=False)
  409. class Bacteria(db.Model):
  410. __tablename__ = 'bacteria'
  411. sn = db.Column(db.Integer, primary_key=True)
  412. datetime = db.Column(db.DateTime, nullable=False)
  413. tank_num = db.Column(db.Integer, nullable=False)
  414. duration = db.Column(db.Text, nullable=False)
  415. start = db.Column(db.Text, nullable=False)
  416. end = db.Column(db.Text, nullable=False)
  417. class Cargo2Disinfect(db.Model):
  418. __tablename__ = 'cargo2_disinfect'
  419. sn = db.Column(db.Integer, primary_key=True)
  420. datetime = db.Column(db.DateTime, nullable=False)
  421. tank_num = db.Column(db.Integer, nullable=False)
  422. duration = db.Column(db.Text, nullable=False)
  423. start = db.Column(db.Text, nullable=False)
  424. end = db.Column(db.Text, nullable=False)
  425. class Heating(db.Model):
  426. __tablename__ = 'heating'
  427. sn = db.Column(db.Integer, primary_key=True)
  428. datetime = db.Column(db.DateTime, nullable=False)
  429. tank_num = db.Column(db.Integer, nullable=False)
  430. duration = db.Column(db.Text, nullable=False)
  431. start = db.Column(db.Text, nullable=False)
  432. end = db.Column(db.Text, nullable=False)
  433. class Stir(db.Model):
  434. __tablename__ = 'stir'
  435. sn = db.Column(db.Integer, primary_key=True)
  436. datetime = db.Column(db.DateTime, nullable=False)
  437. tank_num = db.Column(db.Integer, nullable=False)
  438. duration = db.Column(db.Text, nullable=False)
  439. start = db.Column(db.Text, nullable=False)
  440. end = db.Column(db.Text, nullable=False)
  441. class WaterInjection(db.Model):
  442. __tablename__ = 'water_injection'
  443. sn = db.Column(db.Integer, primary_key=True)
  444. datetime = db.Column(db.DateTime, nullable=False)
  445. tank_num = db.Column(db.Integer, nullable=False)
  446. duration = db.Column(db.Text, nullable=False)
  447. start = db.Column(db.Text, nullable=False)
  448. end = db.Column(db.Text, nullable=False)
  449. class TopValve(db.Model):
  450. __tablename__ = 'top_valve'
  451. sn = db.Column(db.Integer, primary_key=True)
  452. datetime = db.Column(db.DateTime, nullable=False)
  453. tank_num = db.Column(db.Integer, nullable=False)
  454. duration = db.Column(db.Text, nullable=False)
  455. start = db.Column(db.Text, nullable=False)
  456. end = db.Column(db.Text, nullable=False)
  457. class BottomValve(db.Model):
  458. __tablename__ = 'bottom_valve'
  459. sn = db.Column(db.Integer, primary_key=True)
  460. datetime = db.Column(db.DateTime, nullable=False)
  461. tank_num = db.Column(db.Integer, nullable=False)
  462. duration = db.Column(db.Text, nullable=False)
  463. start = db.Column(db.Text, nullable=False)
  464. end = db.Column(db.Text, nullable=False)
  465. class Temperature(db.Model):
  466. __tablename__ = 'temperature'
  467. sn = db.Column(db.Integer, primary_key=True)
  468. datetime = db.Column(db.DateTime, nullable=False)
  469. tank_num = db.Column(db.Integer, nullable=False)
  470. duration = db.Column(db.Text, nullable=False)
  471. start = db.Column(db.Text, nullable=False)
  472. end = db.Column(db.Text, nullable=False)
  473. class Hoist(db.Model):
  474. __tablename__ = 'hoist'
  475. sn = db.Column(db.Integer, primary_key=True)
  476. datetime = db.Column(db.DateTime, nullable=False)
  477. duration = db.Column(db.Text, nullable=False)
  478. start = db.Column(db.Text, nullable=False)
  479. end = db.Column(db.Text, nullable=False)
  480. class Dryer(db.Model):
  481. __tablename__ = 'dryer'
  482. sn = db.Column(db.Integer, primary_key=True)
  483. datetime = db.Column(db.DateTime, nullable=False)
  484. duration = db.Column(db.Text, nullable=False)
  485. start = db.Column(db.Text, nullable=False)
  486. end = db.Column(db.Text, nullable=False)
  487. class Relay(db.Model):
  488. __tablename__ = 'relay'
  489. sn = db.Column(db.Integer, primary_key=True)
  490. datetime = db.Column(db.DateTime, nullable=False)
  491. tank_num = db.Column(db.Integer, nullable=False)
  492. status= db.Column(db.Text, nullable=False)
  493. class PeelingMachineRPM(db.Model):
  494. __tablename__ = 'peeling_machine_rpm'
  495. sn = db.Column(db.Integer, primary_key=True)
  496. datetime = db.Column(db.DateTime, nullable=False)
  497. tank_num = db.Column(db.Integer, nullable=False)
  498. rpm = db.Column(db.Text, nullable=False)
  499. class StirRPM(db.Model):
  500. __tablename__ = 'stir_rpm'
  501. sn = db.Column(db.Integer, primary_key=True)
  502. datetime = db.Column(db.DateTime, nullable=False)
  503. tank_num = db.Column(db.Integer, nullable=False)
  504. rpm = db.Column(db.Text, nullable=False)
  505. db.create_all()