# coding: utf-8
from datetime import datetime
from time import timezone
from sqlalchemy import Column, Date, DateTime, Float, Index, Integer, String, Text
from sqlalchemy.schema import FetchedValue
from flask_sqlalchemy import SQLAlchemy


# db = SQLAlchemy()

#與當前項目相關的模型文件，即所有的實體類在此編寫
from coffee_manage import db
# from werkzeug.utils import send_file

#用戶表
class User(db.Model):
    __tablename__ = 'user'
    userID = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    firstname = db.Column(db.String(30), nullable=False)
    lastname = db.Column(db.String(30), nullable=False)
    mail = db.Column(db.String(50), nullable=False)
    phone = db.Column(db.String(20), nullable=False)
    username = db.Column(db.String(30), nullable=False, unique=True)
    password = db.Column(db.String(40), nullable=False)
    status = db.Column(db.Integer, nullable=False, info='0:admin;1:new;9:disable')

# ////////////////////////////////////////////////////////////////////////////////
# coffee 1.0 板子燒錄 腳位存值
class coffee1_0_pin(db.Model):
    __tablename__ = 'coffee1_0_pin'
    sn = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    tid = db.Column(db.Text, nullable=True)
    ethernet = db.Column(db.Text, nullable=True)
    wifi = db.Column(db.Text, nullable=True)
    zigbee = db.Column(db.Text, nullable=True)
    R1 = db.Column(db.Text, nullable=True)
    R2 = db.Column(db.Text, nullable=True)
    R3 = db.Column(db.Text, nullable=True)
    R4 = db.Column(db.Text, nullable=True)
    R5 = db.Column(db.Text, nullable=True)
    R6 = db.Column(db.Text, nullable=True)
    R7  = db.Column(db.Text, nullable=True)
    R8 = db.Column(db.Text, nullable=True)
    R9 = db.Column(db.Text, nullable=True)
    R10 = db.Column(db.Text, nullable=True)
    R11 = db.Column(db.Text, nullable=True)
    R12 = db.Column(db.Text, nullable=True)
    R13 = db.Column(db.Text, nullable=True)
    R14 = db.Column(db.Text, nullable=True)
    R15 = db.Column(db.Text, nullable=True)
    R16 = db.Column(db.Text, nullable=True)
    R17 = db.Column(db.Text, nullable=True)
    R18 = db.Column(db.Text, nullable=True)
    R19 = db.Column(db.Text, nullable=True)
    R20 = db.Column(db.Text, nullable=True)
    M1= db.Column(db.Text, nullable=True)
    M2= db.Column(db.Text, nullable=True)
    M3= db.Column(db.Text, nullable=True)
    M4= db.Column(db.Text, nullable=True)
    M5= db.Column(db.Text, nullable=True)
    M6= db.Column(db.Text, nullable=True)
    M7= db.Column(db.Text, nullable=True)
    M8= db.Column(db.Text, nullable=True)
    M9= db.Column(db.Text, nullable=True)
    M10= db.Column(db.Text, nullable=True)
    M11= db.Column(db.Text, nullable=True)
    M12= db.Column(db.Text, nullable=True)
    M13= db.Column(db.Text, nullable=True)
    M14= db.Column(db.Text, nullable=True)
    M15= db.Column(db.Text, nullable=True)
    M16= db.Column(db.Text, nullable=True)
    M17= db.Column(db.Text, nullable=True)
    M18= db.Column(db.Text, nullable=True)
    M19= db.Column(db.Text, nullable=True)
    M1_Hz= db.Column(db.Text, nullable=True)
    M2_Hz= db.Column(db.Text, nullable=True)
    M3_Hz= db.Column(db.Text, nullable=True)
    M4_Hz= db.Column(db.Text, nullable=True)
    M5_Hz= db.Column(db.Text, nullable=True)
    M6_Hz= db.Column(db.Text, nullable=True)
    M7_Hz= db.Column(db.Text, nullable=True)
    M8_Hz= db.Column(db.Text, nullable=True)
    M9_Hz= db.Column(db.Text, nullable=True)
    M10_Hz= db.Column(db.Text, nullable=True)
    M11_Hz= db.Column(db.Text, nullable=True)
    M12_Hz= db.Column(db.Text, nullable=True)
    M13_Hz= db.Column(db.Text, nullable=True)
    M14_Hz= db.Column(db.Text, nullable=True)
    M15_Hz= db.Column(db.Text, nullable=True)
    M16_Hz= db.Column(db.Text, nullable=True)
    M17_Hz= db.Column(db.Text, nullable=True)
    M18_Hz= db.Column(db.Text, nullable=True)
    M19_Hz= db.Column(db.Text, nullable=True)

    # =============================================================================

class dry_block_waiting(db.Model):
    __tablename__ = 'dry_block_waiting'
    __table_args__ = {
        'mysql_row_format':'DYNAMIC'
    }
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    cond_z1_1 = db.Column(db.Text, nullable=True)
    # cond_tank1_1 = db.Column(db.Text, nullable=True)
    cond_a1_1 = db.Column(db.Text, nullable=True)
    cond_b1_1 = db.Column(db.Text, nullable=True)
    cond_c1_1 = db.Column(db.Text, nullable=True)
    cond_a1_2 = db.Column(db.Text, nullable=True)
    cond_b1_2 = db.Column(db.Text, nullable=True)
    cond_c1_2 = db.Column(db.Text, nullable=True)
    cond_d1_2 = db.Column(db.Text, nullable=True)
    cond_a1_3 = db.Column(db.Text, nullable=True)
    cond_b1_3 = db.Column(db.Text, nullable=True)
    cond_c1_3 = db.Column(db.Text, nullable=True)
    cond_d1_3 = db.Column(db.Text, nullable=True)
    cond_a1_4 = db.Column(db.Text, nullable=True)
    cond_b1_4 = db.Column(db.Text, nullable=True)
    cond_c1_4 = db.Column(db.Text, nullable=True)
    cond_d1_4 = db.Column(db.Text, nullable=True)
    cond_a1_5 = db.Column(db.Text, nullable=True)
    cond_b1_5 = db.Column(db.Text, nullable=True)
    cond_c1_5 = db.Column(db.Text, nullable=True)
    cond_d1_5 = db.Column(db.Text, nullable=True)
    do_obj1_1 = db.Column(db.Text, nullable=True)
    do_act1_1 = db.Column(db.Text, nullable=True)
    do_obj1_2 = db.Column(db.Text, nullable=True)
    do_act1_2 = db.Column(db.Text, nullable=True)
    do_obj1_3 = db.Column(db.Text, nullable=True)
    do_act1_3 = db.Column(db.Text, nullable=True)
    do_obj1_4 = db.Column(db.Text, nullable=True)
    do_act1_4 = db.Column(db.Text, nullable=True)
    do_obj1_5 = db.Column(db.Text, nullable=True)
    do_act1_5 = db.Column(db.Text, nullable=True)
    cond_z2_1 = db.Column(db.Text, nullable=True)
    # cond_tank2_1 = db.Column(db.Text, nullable=True)
    cond_a2_1 = db.Column(db.Text, nullable=True)
    cond_b2_1 = db.Column(db.Text, nullable=True)
    cond_c2_1 = db.Column(db.Text, nullable=True)
    cond_a2_2 = db.Column(db.Text, nullable=True)
    cond_b2_2 = db.Column(db.Text, nullable=True)
    cond_c2_2 = db.Column(db.Text, nullable=True)
    cond_d2_2 = db.Column(db.Text, nullable=True)
    cond_a2_3 = db.Column(db.Text, nullable=True)
    cond_b2_3 = db.Column(db.Text, nullable=True)
    cond_c2_3 = db.Column(db.Text, nullable=True)
    cond_d2_3 = db.Column(db.Text, nullable=True)
    cond_a2_4 = db.Column(db.Text, nullable=True)
    cond_b2_4 = db.Column(db.Text, nullable=True)
    cond_c2_4 = db.Column(db.Text, nullable=True)
    cond_d2_4 = db.Column(db.Text, nullable=True)
    cond_a2_5 = db.Column(db.Text, nullable=True)
    cond_b2_5 = db.Column(db.Text, nullable=True)
    cond_c2_5 = db.Column(db.Text, nullable=True)
    cond_d2_5 = db.Column(db.Text, nullable=True)
    do_obj2_1 = db.Column(db.Text, nullable=True)
    do_act2_1 = db.Column(db.Text, nullable=True)
    do_obj2_2 = db.Column(db.Text, nullable=True)
    do_act2_2 = db.Column(db.Text, nullable=True)
    do_obj2_3 = db.Column(db.Text, nullable=True)
    do_act2_3 = db.Column(db.Text, nullable=True)
    do_obj2_4 = db.Column(db.Text, nullable=True)
    do_act2_4 = db.Column(db.Text, nullable=True)
    do_obj2_5 = db.Column(db.Text, nullable=True)
    do_act2_5 = db.Column(db.Text, nullable=True)
    cond_z3_1 = db.Column(db.Text, nullable=True)
    # cond_tank3_1 = db.Column(db.Text, nullable=True)
    cond_a3_1 = db.Column(db.Text, nullable=True)
    cond_b3_1 = db.Column(db.Text, nullable=True)
    cond_c3_1 = db.Column(db.Text, nullable=True)
    cond_a3_2 = db.Column(db.Text, nullable=True)
    cond_b3_2 = db.Column(db.Text, nullable=True)
    cond_c3_2 = db.Column(db.Text, nullable=True)
    cond_d3_2 = db.Column(db.Text, nullable=True)
    cond_a3_3 = db.Column(db.Text, nullable=True)
    cond_b3_3 = db.Column(db.Text, nullable=True)
    cond_c3_3 = db.Column(db.Text, nullable=True)
    cond_d3_3 = db.Column(db.Text, nullable=True)
    cond_a3_4 = db.Column(db.Text, nullable=True)
    cond_b3_4 = db.Column(db.Text, nullable=True)
    cond_c3_4 = db.Column(db.Text, nullable=True)
    cond_d3_4 = db.Column(db.Text, nullable=True)
    cond_a3_5 = db.Column(db.Text, nullable=True)
    cond_b3_5 = db.Column(db.Text, nullable=True)
    cond_c3_5 = db.Column(db.Text, nullable=True)
    cond_d3_5 = db.Column(db.Text, nullable=True)
    do_obj3_1 = db.Column(db.Text, nullable=True)
    do_act3_1 = db.Column(db.Text, nullable=True)
    do_obj3_2 = db.Column(db.Text, nullable=True)
    do_act3_2 = db.Column(db.Text, nullable=True)
    do_obj3_3 = db.Column(db.Text, nullable=True)
    do_act3_3 = db.Column(db.Text, nullable=True)
    do_obj3_4 = db.Column(db.Text, nullable=True)
    do_act3_4 = db.Column(db.Text, nullable=True)
    do_obj3_5 = db.Column(db.Text, nullable=True)
    do_act3_5 = db.Column(db.Text, nullable=True)
    cond_z4_1 = db.Column(db.Text, nullable=True)
    # cond_tank4_1 = db.Column(db.Text, nullable=True)
    cond_a4_1 = db.Column(db.Text, nullable=True)
    cond_b4_1 = db.Column(db.Text, nullable=True)
    cond_c4_1 = db.Column(db.Text, nullable=True)
    cond_a4_2 = db.Column(db.Text, nullable=True)
    cond_b4_2 = db.Column(db.Text, nullable=True)
    cond_c4_2 = db.Column(db.Text, nullable=True)
    cond_d4_2 = db.Column(db.Text, nullable=True)
    cond_a4_3 = db.Column(db.Text, nullable=True)
    cond_b4_3 = db.Column(db.Text, nullable=True)
    cond_c4_3 = db.Column(db.Text, nullable=True)
    cond_d4_3 = db.Column(db.Text, nullable=True)
    cond_a4_4 = db.Column(db.Text, nullable=True)
    cond_b4_4 = db.Column(db.Text, nullable=True)
    cond_c4_4 = db.Column(db.Text, nullable=True)
    cond_d4_4 = db.Column(db.Text, nullable=True)
    cond_a4_5 = db.Column(db.Text, nullable=True)
    cond_b4_5 = db.Column(db.Text, nullable=True)
    cond_c4_5 = db.Column(db.Text, nullable=True)
    cond_d4_5 = db.Column(db.Text, nullable=True)
    do_obj4_1 = db.Column(db.Text, nullable=True)
    do_act4_1 = db.Column(db.Text, nullable=True)
    do_obj4_2 = db.Column(db.Text, nullable=True)
    do_act4_2 = db.Column(db.Text, nullable=True)
    do_obj4_3 = db.Column(db.Text, nullable=True)
    do_act4_3 = db.Column(db.Text, nullable=True)
    do_obj4_4 = db.Column(db.Text, nullable=True)
    do_act4_4 = db.Column(db.Text, nullable=True)
    do_obj4_5 = db.Column(db.Text, nullable=True)
    do_act4_5 = db.Column(db.Text, nullable=True)
    cond_z5_1 = db.Column(db.Text, nullable=True)
    # cond_tank5_1 = db.Column(db.Text, nullable=True)
    cond_a5_1 = db.Column(db.Text, nullable=True)
    cond_b5_1 = db.Column(db.Text, nullable=True)
    cond_c5_1 = db.Column(db.Text, nullable=True)
    cond_a5_2 = db.Column(db.Text, nullable=True)
    cond_b5_2 = db.Column(db.Text, nullable=True)
    cond_c5_2 = db.Column(db.Text, nullable=True)
    cond_d5_2 = db.Column(db.Text, nullable=True)
    cond_a5_3 = db.Column(db.Text, nullable=True)
    cond_b5_3 = db.Column(db.Text, nullable=True)
    cond_c5_3 = db.Column(db.Text, nullable=True)
    cond_d5_3 = db.Column(db.Text, nullable=True)
    cond_a5_4 = db.Column(db.Text, nullable=True)
    cond_b5_4 = db.Column(db.Text, nullable=True)
    cond_c5_4 = db.Column(db.Text, nullable=True)
    cond_d5_4 = db.Column(db.Text, nullable=True)
    cond_a5_5 = db.Column(db.Text, nullable=True)
    cond_b5_5 = db.Column(db.Text, nullable=True)
    cond_c5_5 = db.Column(db.Text, nullable=True)
    cond_d5_5 = db.Column(db.Text, nullable=True)
    do_obj5_1 = db.Column(db.Text, nullable=True)
    do_act5_1 = db.Column(db.Text, nullable=True)
    do_obj5_2 = db.Column(db.Text, nullable=True)
    do_act5_2 = db.Column(db.Text, nullable=True)
    do_obj5_3 = db.Column(db.Text, nullable=True)
    do_act5_3 = db.Column(db.Text, nullable=True)
    do_obj5_4 = db.Column(db.Text, nullable=True)
    do_act5_4 = db.Column(db.Text, nullable=True)
    do_obj5_5 = db.Column(db.Text, nullable=True)
    do_act5_5 = db.Column(db.Text, nullable=True)
    
class dry_block_waiting1(db.Model):
    __tablename__ = 'dry_block_waiting1'
    __table_args__ = {
    'mysql_row_format':'DYNAMIC'
    }
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    IP = db.Column(db.Text, nullable=True)
    cond_z1_1 = db.Column(db.Text, nullable=True)
    cond_a1_1 = db.Column(db.Text, nullable=True)
    cond_b1_1 = db.Column(db.Text, nullable=True)
    cond_c1_1 = db.Column(db.Text, nullable=True)
    cond_a1_2 = db.Column(db.Text, nullable=True)
    cond_b1_2 = db.Column(db.Text, nullable=True)
    cond_c1_2 = db.Column(db.Text, nullable=True)
    cond_d1_2 = db.Column(db.Text, nullable=True)
    cond_a1_3 = db.Column(db.Text, nullable=True)
    cond_b1_3 = db.Column(db.Text, nullable=True)
    cond_c1_3 = db.Column(db.Text, nullable=True)
    cond_d1_3 = db.Column(db.Text, nullable=True)
    cond_a1_4 = db.Column(db.Text, nullable=True)
    cond_b1_4 = db.Column(db.Text, nullable=True)
    cond_c1_4 = db.Column(db.Text, nullable=True)
    cond_d1_4 = db.Column(db.Text, nullable=True)
    cond_a1_5 = db.Column(db.Text, nullable=True)
    cond_b1_5 = db.Column(db.Text, nullable=True)
    cond_c1_5 = db.Column(db.Text, nullable=True)
    cond_d1_5 = db.Column(db.Text, nullable=True)
    cond_a1_6 = db.Column(db.Text, nullable=True)
    cond_b1_6 = db.Column(db.Text, nullable=True)
    cond_c1_6 = db.Column(db.Text, nullable=True)
    cond_d1_6 = db.Column(db.Text, nullable=True)
    cond_a1_7 = db.Column(db.Text, nullable=True)
    cond_b1_7 = db.Column(db.Text, nullable=True)
    cond_c1_7 = db.Column(db.Text, nullable=True)
    cond_d1_7 = db.Column(db.Text, nullable=True)
    cond_a1_8 = db.Column(db.Text, nullable=True)
    cond_b1_8 = db.Column(db.Text, nullable=True)
    cond_c1_8 = db.Column(db.Text, nullable=True)
    cond_d1_8 = db.Column(db.Text, nullable=True)
    cond_a1_9 = db.Column(db.Text, nullable=True)
    cond_b1_9 = db.Column(db.Text, nullable=True)
    cond_c1_9 = db.Column(db.Text, nullable=True)
    cond_d1_9 = db.Column(db.Text, nullable=True)
    cond_a1_10 = db.Column(db.Text, nullable=True)
    cond_b1_10 = db.Column(db.Text, nullable=True)
    cond_c1_10 = db.Column(db.Text, nullable=True)
    cond_d1_10 = db.Column(db.Text, nullable=True)
    cond_a1_11 = db.Column(db.Text, nullable=True)
    cond_b1_11 = db.Column(db.Text, nullable=True)
    cond_c1_11 = db.Column(db.Text, nullable=True)
    cond_d1_11 = db.Column(db.Text, nullable=True)
    cond_a1_12 = db.Column(db.Text, nullable=True)
    cond_b1_12 = db.Column(db.Text, nullable=True)
    cond_c1_12 = db.Column(db.Text, nullable=True)
    cond_d1_12 = db.Column(db.Text, nullable=True)
    cond_a1_13 = db.Column(db.Text, nullable=True)
    cond_b1_13 = db.Column(db.Text, nullable=True)
    cond_c1_13 = db.Column(db.Text, nullable=True)
    cond_d1_13 = db.Column(db.Text, nullable=True)
    do_obj1_1 = db.Column(db.Text, nullable=True)
    do_act1_1 = db.Column(db.Text, nullable=True)
    do_obj1_2 = db.Column(db.Text, nullable=True)
    do_act1_2 = db.Column(db.Text, nullable=True)
    do_obj1_3 = db.Column(db.Text, nullable=True)
    do_act1_3 = db.Column(db.Text, nullable=True)
    do_obj1_4 = db.Column(db.Text, nullable=True)
    do_act1_4 = db.Column(db.Text, nullable=True)
    do_obj1_5 = db.Column(db.Text, nullable=True)
    do_act1_5 = db.Column(db.Text, nullable=True)
    do_obj1_6 = db.Column(db.Text, nullable=True)
    do_act1_6 = db.Column(db.Text, nullable=True)
    do_obj1_7 = db.Column(db.Text, nullable=True)
    do_act1_7 = db.Column(db.Text, nullable=True)
    do_obj1_8 = db.Column(db.Text, nullable=True)
    do_act1_8 = db.Column(db.Text, nullable=True)
    do_obj1_9 = db.Column(db.Text, nullable=True)
    do_act1_9 = db.Column(db.Text, nullable=True)
    do_obj1_10 = db.Column(db.Text, nullable=True)
    do_act1_10 = db.Column(db.Text, nullable=True)
    do_obj1_11 = db.Column(db.Text, nullable=True)
    do_act1_11 = db.Column(db.Text, nullable=True)
    do_obj1_12 = db.Column(db.Text, nullable=True)
    do_act1_12 = db.Column(db.Text, nullable=True)
    do_obj1_13 = db.Column(db.Text, nullable=True)
    do_act1_13 = db.Column(db.Text, nullable=True)
    do_obj1_14 = db.Column(db.Text, nullable=True)
    do_act1_14 = db.Column(db.Text, nullable=True)
    do_obj1_15 = db.Column(db.Text, nullable=True)
    do_act1_15 = db.Column(db.Text, nullable=True)
    do_obj1_16 = db.Column(db.Text, nullable=True)
    do_act1_16 = db.Column(db.Text, nullable=True)
    do_obj1_17 = db.Column(db.Text, nullable=True)
    do_act1_17 = db.Column(db.Text, nullable=True)
    do_obj1_18 = db.Column(db.Text, nullable=True)
    do_act1_18 = db.Column(db.Text, nullable=True)
    do_obj1_19 = db.Column(db.Text, nullable=True)
    do_act1_19 = db.Column(db.Text, nullable=True)
    do_obj1_20 = db.Column(db.Text, nullable=True)
    do_act1_20 = db.Column(db.Text, nullable=True)

class block_cond_d1_1(db.Model):
    __tablename__ = 'block_cond_d1_1'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    IP = db.Column(db.Text, nullable=True)
    cond_z1_1 = db.Column(db.Text, nullable=True)
    cond_a1_1 = db.Column(db.Text, nullable=True)
    cond_b1_1 = db.Column(db.Text, nullable=True)
    cond_c1_1 = db.Column(db.Text, nullable=True)
    cond_a1_2 = db.Column(db.Text, nullable=True)
    cond_b1_2 = db.Column(db.Text, nullable=True)
    cond_c1_2 = db.Column(db.Text, nullable=True)
    cond_d1_2 = db.Column(db.Text, nullable=True)
    cond_a1_3 = db.Column(db.Text, nullable=True)
    cond_b1_3 = db.Column(db.Text, nullable=True)
    cond_c1_3 = db.Column(db.Text, nullable=True)
    cond_d1_3 = db.Column(db.Text, nullable=True)
    cond_a1_4 = db.Column(db.Text, nullable=True)
    cond_b1_4 = db.Column(db.Text, nullable=True)
    cond_c1_4 = db.Column(db.Text, nullable=True)
    cond_d1_4 = db.Column(db.Text, nullable=True)
    cond_a1_5 = db.Column(db.Text, nullable=True)
    cond_b1_5 = db.Column(db.Text, nullable=True)
    cond_c1_5 = db.Column(db.Text, nullable=True)
    cond_d1_5 = db.Column(db.Text, nullable=True)
    cond_a1_6 = db.Column(db.Text, nullable=True)
    cond_b1_6 = db.Column(db.Text, nullable=True)
    cond_c1_6 = db.Column(db.Text, nullable=True)
    cond_d1_6 = db.Column(db.Text, nullable=True)
    cond_a1_7 = db.Column(db.Text, nullable=True)
    cond_b1_7 = db.Column(db.Text, nullable=True)
    cond_c1_7 = db.Column(db.Text, nullable=True)
    cond_d1_7 = db.Column(db.Text, nullable=True)
    cond_a1_8 = db.Column(db.Text, nullable=True)
    cond_b1_8 = db.Column(db.Text, nullable=True)
    cond_c1_8 = db.Column(db.Text, nullable=True)
    cond_d1_8 = db.Column(db.Text, nullable=True)
    cond_a1_9 = db.Column(db.Text, nullable=True)
    cond_b1_9 = db.Column(db.Text, nullable=True)
    cond_c1_9 = db.Column(db.Text, nullable=True)
    cond_d1_9 = db.Column(db.Text, nullable=True)
    cond_a1_10 = db.Column(db.Text, nullable=True)
    cond_b1_10 = db.Column(db.Text, nullable=True)
    cond_c1_10 = db.Column(db.Text, nullable=True)
    cond_d1_10 = db.Column(db.Text, nullable=True)
    cond_a1_11 = db.Column(db.Text, nullable=True)
    cond_b1_11 = db.Column(db.Text, nullable=True)
    cond_c1_11 = db.Column(db.Text, nullable=True)
    cond_d1_11 = db.Column(db.Text, nullable=True)
    cond_a1_12 = db.Column(db.Text, nullable=True)
    cond_b1_12 = db.Column(db.Text, nullable=True)
    cond_c1_12 = db.Column(db.Text, nullable=True)
    cond_d1_12 = db.Column(db.Text, nullable=True)
    cond_a1_13 = db.Column(db.Text, nullable=True)
    cond_b1_13 = db.Column(db.Text, nullable=True)
    cond_c1_13 = db.Column(db.Text, nullable=True)
    cond_d1_13 = db.Column(db.Text, nullable=True)
    do_obj1_1 = db.Column(db.Text, nullable=True)
    do_act1_1 = db.Column(db.Text, nullable=True)
    do_obj1_2 = db.Column(db.Text, nullable=True)
    do_act1_2 = db.Column(db.Text, nullable=True)
    do_obj1_3 = db.Column(db.Text, nullable=True)
    do_act1_3 = db.Column(db.Text, nullable=True)
    do_obj1_4 = db.Column(db.Text, nullable=True)
    do_act1_4 = db.Column(db.Text, nullable=True)
    do_obj1_5 = db.Column(db.Text, nullable=True)
    do_act1_5 = db.Column(db.Text, nullable=True)
    do_obj1_6 = db.Column(db.Text, nullable=True)
    do_act1_6 = db.Column(db.Text, nullable=True)
    do_obj1_7 = db.Column(db.Text, nullable=True)
    do_act1_7 = db.Column(db.Text, nullable=True)
    do_obj1_8 = db.Column(db.Text, nullable=True)
    do_act1_8 = db.Column(db.Text, nullable=True)
    do_obj1_9 = db.Column(db.Text, nullable=True)
    do_act1_9 = db.Column(db.Text, nullable=True)
    do_obj1_10 = db.Column(db.Text, nullable=True)
    do_act1_10 = db.Column(db.Text, nullable=True)
    do_obj1_11 = db.Column(db.Text, nullable=True)
    do_act1_11 = db.Column(db.Text, nullable=True)
    do_obj1_12 = db.Column(db.Text, nullable=True)
    do_act1_12 = db.Column(db.Text, nullable=True)
    do_obj1_13 = db.Column(db.Text, nullable=True)
    do_act1_13 = db.Column(db.Text, nullable=True)
    do_obj1_14 = db.Column(db.Text, nullable=True)
    do_act1_14 = db.Column(db.Text, nullable=True)
    do_obj1_15 = db.Column(db.Text, nullable=True)
    do_act1_15 = db.Column(db.Text, nullable=True)
    do_obj1_16 = db.Column(db.Text, nullable=True)
    do_act1_16 = db.Column(db.Text, nullable=True)
    do_obj1_17 = db.Column(db.Text, nullable=True)
    do_act1_17 = db.Column(db.Text, nullable=True)
    do_obj1_18 = db.Column(db.Text, nullable=True)
    do_act1_18 = db.Column(db.Text, nullable=True)
    do_obj1_19 = db.Column(db.Text, nullable=True)
    do_act1_19 = db.Column(db.Text, nullable=True)
    do_obj1_20 = db.Column(db.Text, nullable=True)
    do_act1_20 = db.Column(db.Text, nullable=True)

class block_cond_d1_2(db.Model):
    __tablename__ = 'block_cond_d1_2'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    IP = db.Column(db.Text, nullable=False)
    cond_z2_1 = db.Column(db.Text, nullable=True)
    cond_a2_1 = db.Column(db.Text, nullable=True)
    cond_b2_1 = db.Column(db.Text, nullable=True)
    cond_c2_1 = db.Column(db.Text, nullable=True)
    cond_a2_2 = db.Column(db.Text, nullable=True)
    cond_b2_2 = db.Column(db.Text, nullable=True)
    cond_c2_2 = db.Column(db.Text, nullable=True)
    cond_d2_2 = db.Column(db.Text, nullable=True)
    cond_a2_3 = db.Column(db.Text, nullable=True)
    cond_b2_3 = db.Column(db.Text, nullable=True)
    cond_c2_3 = db.Column(db.Text, nullable=True)
    cond_d2_3 = db.Column(db.Text, nullable=True)
    cond_a2_4 = db.Column(db.Text, nullable=True)
    cond_b2_4 = db.Column(db.Text, nullable=True)
    cond_c2_4 = db.Column(db.Text, nullable=True)
    cond_d2_4 = db.Column(db.Text, nullable=True)
    cond_a2_5 = db.Column(db.Text, nullable=True)
    cond_b2_5 = db.Column(db.Text, nullable=True)
    cond_c2_5 = db.Column(db.Text, nullable=True)
    cond_d2_5 = db.Column(db.Text, nullable=True)
    cond_a2_6 = db.Column(db.Text, nullable=True)
    cond_b2_6 = db.Column(db.Text, nullable=True)
    cond_c2_6 = db.Column(db.Text, nullable=True)
    cond_d2_6 = db.Column(db.Text, nullable=True)
    cond_a2_7 = db.Column(db.Text, nullable=True)
    cond_b2_7 = db.Column(db.Text, nullable=True)
    cond_c2_7 = db.Column(db.Text, nullable=True)
    cond_d2_7 = db.Column(db.Text, nullable=True)
    cond_a2_8 = db.Column(db.Text, nullable=True)
    cond_b2_8 = db.Column(db.Text, nullable=True)
    cond_c2_8 = db.Column(db.Text, nullable=True)
    cond_d2_8 = db.Column(db.Text, nullable=True)
    cond_a2_9 = db.Column(db.Text, nullable=True)
    cond_b2_9 = db.Column(db.Text, nullable=True)
    cond_c2_9 = db.Column(db.Text, nullable=True)
    cond_d2_9 = db.Column(db.Text, nullable=True)
    cond_a2_10 = db.Column(db.Text, nullable=True)
    cond_b2_10 = db.Column(db.Text, nullable=True)
    cond_c2_10 = db.Column(db.Text, nullable=True)
    cond_d2_10 = db.Column(db.Text, nullable=True)
    cond_a2_11 = db.Column(db.Text, nullable=True)
    cond_b2_11 = db.Column(db.Text, nullable=True)
    cond_c2_11 = db.Column(db.Text, nullable=True)
    cond_d2_11 = db.Column(db.Text, nullable=True)
    cond_a2_12 = db.Column(db.Text, nullable=True)
    cond_b2_12 = db.Column(db.Text, nullable=True)
    cond_c2_12 = db.Column(db.Text, nullable=True)
    cond_d2_12 = db.Column(db.Text, nullable=True)
    cond_a2_13 = db.Column(db.Text, nullable=True)
    cond_b2_13 = db.Column(db.Text, nullable=True)
    cond_c2_13 = db.Column(db.Text, nullable=True)
    cond_d2_13 = db.Column(db.Text, nullable=True)
    do_obj2_1 = db.Column(db.Text, nullable=True)
    do_act2_1 = db.Column(db.Text, nullable=True)
    do_obj2_2 = db.Column(db.Text, nullable=True)
    do_act2_2 = db.Column(db.Text, nullable=True)
    do_obj2_3 = db.Column(db.Text, nullable=True)
    do_act2_3 = db.Column(db.Text, nullable=True)
    do_obj2_4 = db.Column(db.Text, nullable=True)
    do_act2_4 = db.Column(db.Text, nullable=True)
    do_obj2_5 = db.Column(db.Text, nullable=True)
    do_act2_5 = db.Column(db.Text, nullable=True)
    do_obj2_6 = db.Column(db.Text, nullable=True)
    do_act2_6 = db.Column(db.Text, nullable=True)
    do_obj2_7 = db.Column(db.Text, nullable=True)
    do_act2_7 = db.Column(db.Text, nullable=True)
    do_obj2_8 = db.Column(db.Text, nullable=True)
    do_act2_8 = db.Column(db.Text, nullable=True)
    do_obj2_9 = db.Column(db.Text, nullable=True)
    do_act2_9 = db.Column(db.Text, nullable=True)
    do_obj2_10 = db.Column(db.Text, nullable=True)
    do_act2_10 = db.Column(db.Text, nullable=True)
    do_obj2_11 = db.Column(db.Text, nullable=True)
    do_act2_11 = db.Column(db.Text, nullable=True)
    do_obj2_12 = db.Column(db.Text, nullable=True)
    do_act2_12 = db.Column(db.Text, nullable=True)
    do_obj2_13 = db.Column(db.Text, nullable=True)
    do_act2_13 = db.Column(db.Text, nullable=True)
    do_obj2_14 = db.Column(db.Text, nullable=True)
    do_act2_14 = db.Column(db.Text, nullable=True)
    do_obj2_15 = db.Column(db.Text, nullable=True)
    do_act2_15 = db.Column(db.Text, nullable=True)
    do_obj2_16 = db.Column(db.Text, nullable=True)
    do_act2_16 = db.Column(db.Text, nullable=True)
    do_obj2_17 = db.Column(db.Text, nullable=True)
    do_act2_17 = db.Column(db.Text, nullable=True)
    do_obj2_18 = db.Column(db.Text, nullable=True)
    do_act2_18 = db.Column(db.Text, nullable=True)
    do_obj2_19 = db.Column(db.Text, nullable=True)
    do_act2_19 = db.Column(db.Text, nullable=True)
    do_obj2_20 = db.Column(db.Text, nullable=True)
    do_act2_20 = db.Column(db.Text, nullable=True)

class block_cond_d1_3(db.Model):
    __tablename__ = 'block_cond_d1_3'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    IP = db.Column(db.Text, nullable=False)
    cond_z3_1 = db.Column(db.Text, nullable=True)
    cond_a3_1 = db.Column(db.Text, nullable=True)
    cond_b3_1 = db.Column(db.Text, nullable=True)
    cond_c3_1 = db.Column(db.Text, nullable=True)
    cond_a3_2 = db.Column(db.Text, nullable=True)
    cond_b3_2 = db.Column(db.Text, nullable=True)
    cond_c3_2 = db.Column(db.Text, nullable=True)
    cond_d3_2 = db.Column(db.Text, nullable=True)
    cond_a3_3 = db.Column(db.Text, nullable=True)
    cond_b3_3 = db.Column(db.Text, nullable=True)
    cond_c3_3 = db.Column(db.Text, nullable=True)
    cond_d3_3 = db.Column(db.Text, nullable=True)
    cond_a3_4 = db.Column(db.Text, nullable=True)
    cond_b3_4 = db.Column(db.Text, nullable=True)
    cond_c3_4 = db.Column(db.Text, nullable=True)
    cond_d3_4 = db.Column(db.Text, nullable=True)
    cond_a3_5 = db.Column(db.Text, nullable=True)
    cond_b3_5 = db.Column(db.Text, nullable=True)
    cond_c3_5 = db.Column(db.Text, nullable=True)
    cond_d3_5 = db.Column(db.Text, nullable=True)
    cond_a3_6 = db.Column(db.Text, nullable=True)
    cond_b3_6 = db.Column(db.Text, nullable=True)
    cond_c3_6 = db.Column(db.Text, nullable=True)
    cond_d3_6 = db.Column(db.Text, nullable=True)
    cond_a3_7 = db.Column(db.Text, nullable=True)
    cond_b3_7 = db.Column(db.Text, nullable=True)
    cond_c3_7 = db.Column(db.Text, nullable=True)
    cond_d3_7 = db.Column(db.Text, nullable=True)
    cond_a3_8 = db.Column(db.Text, nullable=True)
    cond_b3_8 = db.Column(db.Text, nullable=True)
    cond_c3_8 = db.Column(db.Text, nullable=True)
    cond_d3_8 = db.Column(db.Text, nullable=True)
    cond_a3_9 = db.Column(db.Text, nullable=True)
    cond_b3_9 = db.Column(db.Text, nullable=True)
    cond_c3_9 = db.Column(db.Text, nullable=True)
    cond_d3_9 = db.Column(db.Text, nullable=True)
    cond_a3_10 = db.Column(db.Text, nullable=True)
    cond_b3_10 = db.Column(db.Text, nullable=True)
    cond_c3_10 = db.Column(db.Text, nullable=True)
    cond_d3_10 = db.Column(db.Text, nullable=True)
    cond_a3_11 = db.Column(db.Text, nullable=True)
    cond_b3_11 = db.Column(db.Text, nullable=True)
    cond_c3_11 = db.Column(db.Text, nullable=True)
    cond_d3_11 = db.Column(db.Text, nullable=True)
    cond_a3_12 = db.Column(db.Text, nullable=True)
    cond_b3_12 = db.Column(db.Text, nullable=True)
    cond_c3_12 = db.Column(db.Text, nullable=True)
    cond_d3_12 = db.Column(db.Text, nullable=True)
    cond_a3_13 = db.Column(db.Text, nullable=True)
    cond_b3_13 = db.Column(db.Text, nullable=True)
    cond_c3_13 = db.Column(db.Text, nullable=True)
    cond_d3_13 = db.Column(db.Text, nullable=True)
    do_obj3_1 = db.Column(db.Text, nullable=True)
    do_act3_1 = db.Column(db.Text, nullable=True)
    do_obj3_2 = db.Column(db.Text, nullable=True)
    do_act3_2 = db.Column(db.Text, nullable=True)
    do_obj3_3 = db.Column(db.Text, nullable=True)
    do_act3_3 = db.Column(db.Text, nullable=True)
    do_obj3_4 = db.Column(db.Text, nullable=True)
    do_act3_4 = db.Column(db.Text, nullable=True)
    do_obj3_5 = db.Column(db.Text, nullable=True)
    do_act3_5 = db.Column(db.Text, nullable=True)
    do_obj3_6 = db.Column(db.Text, nullable=True)
    do_act3_6 = db.Column(db.Text, nullable=True)
    do_obj3_7 = db.Column(db.Text, nullable=True)
    do_act3_7 = db.Column(db.Text, nullable=True)
    do_obj3_8 = db.Column(db.Text, nullable=True)
    do_act3_8 = db.Column(db.Text, nullable=True)
    do_obj3_9 = db.Column(db.Text, nullable=True)
    do_act3_9 = db.Column(db.Text, nullable=True)
    do_obj3_10 = db.Column(db.Text, nullable=True)
    do_act3_10 = db.Column(db.Text, nullable=True)
    do_obj3_11 = db.Column(db.Text, nullable=True)
    do_act3_11 = db.Column(db.Text, nullable=True)
    do_obj3_12 = db.Column(db.Text, nullable=True)
    do_act3_12 = db.Column(db.Text, nullable=True)
    do_obj3_13 = db.Column(db.Text, nullable=True)
    do_act3_13 = db.Column(db.Text, nullable=True)
    do_obj3_14 = db.Column(db.Text, nullable=True)
    do_act3_14 = db.Column(db.Text, nullable=True)
    do_obj3_15 = db.Column(db.Text, nullable=True)
    do_act3_15 = db.Column(db.Text, nullable=True)
    do_obj3_16 = db.Column(db.Text, nullable=True)
    do_act3_16 = db.Column(db.Text, nullable=True)
    do_obj3_17 = db.Column(db.Text, nullable=True)
    do_act3_17 = db.Column(db.Text, nullable=True)
    do_obj3_18 = db.Column(db.Text, nullable=True)
    do_act3_18 = db.Column(db.Text, nullable=True)
    do_obj3_19 = db.Column(db.Text, nullable=True)
    do_act3_19 = db.Column(db.Text, nullable=True)
    do_obj3_20 = db.Column(db.Text, nullable=True)
    do_act3_20 = db.Column(db.Text, nullable=True)

class block_cond_d1_t(db.Model):
    __tablename__ = 'block_cond_d1_t'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    IP = db.Column(db.Text, nullable=False)
    tank_num = db.Column(db.Text, nullable=False)
    cond1= db.Column(db.Text, nullable=True)
    cond2= db.Column(db.Text, nullable=True)
    cond3= db.Column(db.Text, nullable=True)
    cond4= db.Column(db.Text, nullable=True)
    cond5= db.Column(db.Text, nullable=True)
    cond6= db.Column(db.Text, nullable=True)
    cond7= db.Column(db.Text, nullable=True)
    cond8= db.Column(db.Text, nullable=True)
    cond9= db.Column(db.Text, nullable=True)
    cond10= db.Column(db.Text, nullable=True)
    cond11= db.Column(db.Text, nullable=True)
    cond12= db.Column(db.Text, nullable=True)
    cond13= db.Column(db.Text, nullable=True)
    cond14= db.Column(db.Text, nullable=True)
    cond15= db.Column(db.Text, nullable=True)
    cond16= db.Column(db.Text, nullable=True)
    cond17= db.Column(db.Text, nullable=True)
    cond18= db.Column(db.Text, nullable=True)
    cond19= db.Column(db.Text, nullable=True)
    cond20= db.Column(db.Text, nullable=True)

class block_cond_dry_t(db.Model):
    __tablename__ = 'block_cond_dry_t'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    UserName = db.Column(db.Text, nullable=False)
    tank_num = db.Column(db.Text, nullable=False)
    cond= db.Column(db.Text, nullable=True)

class dry_tank_relation(db.Model):
    __tablename__ = 'dry_tank_relation'
    tank_id = db.Column(db.String(5), nullable=False, primary_key=True)
    tank_type = db.Column(db.Text, nullable=False)
    tank_import = db.Column(db.Text, nullable=False)
    tank_export = db.Column(db.Text, nullable=False)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
# # ////////////////////////////////////////////////////////////////////////////////
# 乾燥槽
# 乾燥桶入料_感測器_超音波感測器
class dry_input_sensor(db.Model):
    __tablename__ = 'dry_input_sensor'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 乾燥桶_感測器_SHT11
class dry_tank_SHT11(db.Model):
    __tablename__ = 'dry_tank_SHT11'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    SHT11_Temp = db.Column(db.Text, nullable=False)
    SHT11_Humidity = db.Column(db.Text, nullable=False)

# 乾燥桶_感測器_土壤三合一感測器
class dry_tank_Soil(db.Model):
    __tablename__ = 'dry_tank_Soil'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    soil_Temp = db.Column(db.Text, nullable=False)
    soil_Humidity = db.Column(db.Text, nullable=False)
    soil_EC = db.Column(db.Text, nullable=False)

# 乾燥桶_感測器_大氣壓力
class dry_tank_PA(db.Model):
    __tablename__ = 'dry_tank_PA'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    PA = db.Column(db.Text, nullable=False)

# 乾燥桶_感測器_超音波感測器
class dry_tank_UltraSonic(db.Model):
    __tablename__ = 'dry_tank_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 乾燥桶出料_感測器_超音波感測器
class dry_output_sensor(db.Model):
    __tablename__ = 'dry_output_sensor'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 乾燥桶入料_排程設定
class set_dry_input(db.Model):
    __tablename__ = 'set_dry_input'
    sn = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    input_height = db.Column(db.Text, nullable=False)
    input_entertime = db.Column(db.Text, nullable=False)
    input_exittime = db.Column(db.Text, nullable=False)
    tank_height = db.Column(db.Text, nullable=False)

# 乾燥桶入料_致動器_真空吸料機
class dry_input_brake(db.Model):
    __tablename__ = 'dry_input_brake'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

#乾燥桶_致動器_ALL
class dry_tank_brake(db.Model):
    __tablename__ = 'dry_tank_brake'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    threewayvalve_input = db.Column(db.Integer, nullable=False)
    threewayvalve_bean = db.Column(db.Integer, nullable=False)
    diskvalve = db.Column(db.Integer, nullable=False)
    solenoid_disinfect = db.Column(db.Integer, nullable=False)
    solenoid_water = db.Column(db.Integer, nullable=False)
    solenoid_outer_water = db.Column(db.Integer, nullable=False)
    motor = db.Column(db.Integer, nullable=False)
    blower = db.Column(db.Integer, nullable=False)
    heater1 = db.Column(db.Integer, nullable=False)
    heater2 = db.Column(db.Integer, nullable=False)
    temp1_enable = db.Column(db.Integer, nullable=False)
    temp1 = db.Column(db.Float, nullable=False)

# 乾燥桶出料_致動器_真空吸料機
class dry_output_brake(db.Model):
    __tablename__ = 'dry_output_brake'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    
# ////////////////////////////////////////////////////////////////////////////////
# 發酵槽
# 發酵槽_發酵貨櫃入料儲豆槽_超音波感測器
class ferment_input_UltraSonic(db.Model):
    __tablename__ = 'ferment_input_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 發酵槽_發酵貨櫃入料儲豆槽_致動器
class ferment_input_actuator(db.Model):
    __tablename__ = 'ferment_input_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 發酵槽_感測器_SHT11
class ferment_tank_SHT11(db.Model):
    __tablename__ = 'ferment_tank_SHT11'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    SHT11_Temp = db.Column(db.Text, nullable=False)
    SHT11_Humidity = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_二氧化碳
class ferment_tank_CO2(db.Model):
    __tablename__ = 'ferment_tank_CO2'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    CO2 = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_PH
class ferment_tank_PH(db.Model):
    __tablename__ = 'ferment_tank_PH'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    PH = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_ORP
class ferment_tank_ORP(db.Model):
    __tablename__ = 'ferment_tank_ORP'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    ORP = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_DO
class ferment_tank_DO(db.Model):
    __tablename__ = 'ferment_tank_DO'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    DO = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_EC
class ferment_tank_EC(db.Model):
    __tablename__ = 'ferment_tank_EC'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    EC = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_PA
class ferment_tank_PA(db.Model):
    __tablename__ = 'ferment_tank_PA'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    PA = db.Column(db.Text, nullable=False)

# 發酵槽保溫夾層_感測器_保溫夾層水位計
class ferment_tank_WaterLevel(db.Model):
    __tablename__ = 'ferment_tank_WaterLevel'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    WaterLevel = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_超音波感測器
class ferment_tank_UltraSonic(db.Model):
    __tablename__ = 'ferment_tank_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_咖啡生豆高度
class ferment_tank_LiDAR(db.Model):
    __tablename__ = 'ferment_tank_LiDAR'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    LiDAR = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_水位高度
class ferment_tank_PressureWaterLevel(db.Model):
    __tablename__ = 'ferment_tank_PressureWaterLevel'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    PressureWaterLevel = db.Column(db.Text, nullable=False)

# 發酵槽_感測器_馬達編碼器
class ferment_tank_motorEncoder(db.Model):
    __tablename__ = 'ferment_tank_motorEncoder'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    motorEncoder = db.Column(db.Text, nullable=False)

# 發酵槽_致動器
class ferment_tank_actuator(db.Model):
    __tablename__ = 'ferment_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    threewayvalve_input = db.Column(db.Integer, nullable=False)
    diskvalve = db.Column(db.Integer, nullable=False)
    solenoid_tank_pump = db.Column(db.Integer, nullable=False)
    solenoid_tank_disinfect = db.Column(db.Integer, nullable=False)
    solenoid_outer_water = db.Column(db.Integer, nullable=False)
    solenoid_tank_water_in = db.Column(db.Integer, nullable=False)
    solenoid_tank_water_out = db.Column(db.Integer, nullable=False)
    pump_sensor = db.Column(db.Integer, nullable=False)
    threewayvalve_outer_float = db.Column(db.Integer, nullable=False)
    motor = db.Column(db.Integer, nullable=False)
    heater1 = db.Column(db.Integer, nullable=False)
    heater2 = db.Column(db.Integer, nullable=False)
    temp_enable = db.Column(db.Integer, nullable=False)
    temp = db.Column(db.Integer, nullable=False)

# 發酵槽_發酵貨櫃出料儲豆槽_感測器
class ferment_output_UltraSonic(db.Model):
    __tablename__ = 'ferment_output_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

# 發酵槽_發酵貨櫃出料儲豆槽_致動器
class ferment_output_actuator(db.Model):
    __tablename__ = 'ferment_output_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 發酵槽_發酵貨櫃自動化狀態判斷
class ferment_container_status(db.Model):
    __tablename__ = 'ferment_container_status'
    sn = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    Ferment_Input_1 = db.Column(db.Text, nullable=False)
    Ferment_Input_2 = db.Column(db.Text, nullable=False)
    Ferment_Tank_1 = db.Column(db.Text, nullable=False)
    Ferment_Tank_2 = db.Column(db.Text, nullable=False)
    Ferment_Tank_3 = db.Column(db.Text, nullable=False)
    Ferment_Tank_4 = db.Column(db.Text, nullable=False)
    Ferment_Tank_5 = db.Column(db.Text, nullable=False)
    Ferment_Tank_6 = db.Column(db.Text, nullable=False)
    Ferment_Tank_7 = db.Column(db.Text, nullable=False)
    Ferment_Tank_8 = db.Column(db.Text, nullable=False)
    Ferment_Tank_9 = db.Column(db.Text, nullable=False)
    Ferment_Tank_10 = db.Column(db.Text, nullable=False)
    Ferment_Tank_11 = db.Column(db.Text, nullable=False)
    Ferment_Tank_12 = db.Column(db.Text, nullable=False)
    Ferment_Output_1 = db.Column(db.Text, nullable=False)
    Ferment_Output_2 = db.Column(db.Text, nullable=False)

# 乾燥槽_乾燥貨櫃自動化狀態判斷
class dry_container_status(db.Model):
    __tablename__ = 'dry_container_status'
    sn = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    Dry_Input_1 = db.Column(db.Text, nullable=False)
    Dry_Input_2 = db.Column(db.Text, nullable=False)
    Dry_Tank_1 = db.Column(db.Text, nullable=False)
    Dry_Tank_2 = db.Column(db.Text, nullable=False)
    Dry_Tank_3 = db.Column(db.Text, nullable=False)
    Dry_Tank_4 = db.Column(db.Text, nullable=False)
    Dry_Tank_5 = db.Column(db.Text, nullable=False)
    Dry_Tank_6 = db.Column(db.Text, nullable=False)
    Dry_Tank_7 = db.Column(db.Text, nullable=False)
    Dry_Tank_8 = db.Column(db.Text, nullable=False)
    Dry_Tank_9 = db.Column(db.Text, nullable=False)
    Dry_Tank_10 = db.Column(db.Text, nullable=False)
    Dry_Tank_11 = db.Column(db.Text, nullable=False)
    Dry_Tank_12 = db.Column(db.Text, nullable=False)
    Dry_Output_1 = db.Column(db.Text, nullable=False)
    Dry_Output_2 = db.Column(db.Text, nullable=False)

# 乾燥槽_乾燥貨櫃自動化狀態判斷
class clean_container_status(db.Model):
    __tablename__ = 'clean_container_status'
    sn = db.Column(db.Integer, primary_key=True)
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    Clean_Input_1 = db.Column(db.Text, nullable=False)
    Clean_Input_2 = db.Column(db.Text, nullable=False)
    Clean_Tank_1 = db.Column(db.Text, nullable=False)
    Clean_Tank_2 = db.Column(db.Text, nullable=False)
    Clean_Tank_3 = db.Column(db.Text, nullable=False)
    Clean_Tank_4 = db.Column(db.Text, nullable=False)
    Reclaimed_Tank_1 = db.Column(db.Text, nullable=False)
    ColorSelect_Input_1 = db.Column(db.Text, nullable=False)
    ColorSelect_Input_2 = db.Column(db.Text, nullable=False)
    ColorSelect_Tank_1 = db.Column(db.Text, nullable=False)
    ColorSelect_Tank_2 = db.Column(db.Text, nullable=False)
    ColorSelect_Output_g1 = db.Column(db.Text, nullable=False)
    ColorSelect_Output_b1 = db.Column(db.Text, nullable=False)
    ColorSelect_Output_g2 = db.Column(db.Text, nullable=False)
    ColorSelect_Output_b2 = db.Column(db.Text, nullable=False)
    Peel_Tank_1 = db.Column(db.Text, nullable=False)
    Peel_Tank_2 = db.Column(db.Text, nullable=False)
    Peel_Output_1 = db.Column(db.Text, nullable=False)
    Peel_Output_2 = db.Column(db.Text, nullable=False)
    Peel_Output_b1 = db.Column(db.Text, nullable=False)

# ////////////////////////////////////////////////////////////////////////////////
# 清洗貨櫃
# 清洗浮選槽_清洗貨櫃入料儲豆槽_致動器
class clean_input_actuator(db.Model):
    __tablename__ = 'clean_input_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 清洗浮選槽_致動器 (old)
class clean_tank_actuator(db.Model):
    __tablename__ = 'clean_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    pump_waterInput = db.Column(db.Integer, nullable=False)
    pump_waterL2L3 = db.Column(db.Integer, nullable=False)
    pump_waterL4L5 = db.Column(db.Integer, nullable=False)
    solenoid_waterL2L3 = db.Column(db.Integer, nullable=False)
    solenoid_waterL4L5 = db.Column(db.Integer, nullable=False)
    stepping_motor = db.Column(db.Text, nullable=False)

# 清洗浮選槽_致動器 (new)
class cleann_tank_actuator(db.Model):
    __tablename__ = 'cleann_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    threewayvalve_input = db.Column(db.Integer, nullable=False)
    motor = db.Column(db.Integer, nullable=False)
    solenoid_reclaimed_in = db.Column(db.Integer, nullable=False)
    solenoid_water_in = db.Column(db.Integer, nullable=False)
    pump_water_in = db.Column(db.Integer, nullable=False)
    solenoid_water_out = db.Column(db.Integer, nullable=False)
    solenoid_reclaimed_out = db.Column(db.Integer, nullable=False)
    solenoid_disinfect = db.Column(db.Integer, nullable=False)
    pump_disinfect = db.Column(db.Integer, nullable=False)
    diskvalve = db.Column(db.Integer, nullable=False)

# 清洗浮選槽_清洗貨櫃出料儲豆槽_致動器
class clean_output_actuator(db.Model):
    __tablename__ = 'clean_output_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 清洗浮選槽_感測器
class clean_tank_UltraSonic(db.Model):
    __tablename__ = 'clean_tank_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

class clean_tank_Encoder(db.Model):
    __tablename__ = 'clean_tank_Encoder'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    Encoder = db.Column(db.Text, nullable=False)

class clean_tank_Turbidity(db.Model):
    __tablename__ = 'clean_tank_Turbidity'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    tankTurbidity = db.Column(db.Text, nullable=False)

class clean_filter_Turbidity(db.Model):
    __tablename__ = 'clean_filter_Turbidity'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    filterTurbidity = db.Column(db.Text, nullable=False)

# 脫皮機_清洗貨櫃入料儲豆槽_致動器
class peel_input_actuator(db.Model):
    __tablename__ = 'peel_input_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 脫皮機_致動器
class peel_tank_actuator(db.Model):
    __tablename__ = 'peel_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    motor = db.Column(db.Integer, nullable=False)

# 脫皮機_感測器
class peel_output_UltraSonic(db.Model):
    __tablename__ = 'peel_output_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Text, nullable=False)

class peel_output_motorEncoder(db.Model):
    __tablename__ = 'peel_output_motorEncoder'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    motorEncoder = db.Column(db.Text, nullable=False)

# 脫皮機_清洗貨櫃出料儲豆槽_致動器
class peel_output_actuator(db.Model):
    __tablename__ = 'peel_output_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

# 色選機_清洗貨櫃出料儲豆槽_致動器
class colorselect_output_actuator(db.Model):
    __tablename__ = 'colorselect_output_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)

class colorselect_tank_actuator(db.Model):
    __tablename__ = 'colorselect_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    vacuum = db.Column(db.Integer, nullable=False)
    motor = db.Column(db.Integer, nullable=False)
    nozzle = db.Column(db.Integer, nullable=False)
    
class colorselect_tank_color(db.Model):
    __tablename__ = 'colorselect_tank_color'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    color = db.Column(db.Integer, nullable=False)

class colorselect_tank_UltraSonic(db.Model):
    __tablename__ = 'colorselect_tank_UltraSonic'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    UltraSonic = db.Column(db.Integer, nullable=False)

# 中水桶_致動器
class reclaimed_tank_actuator(db.Model):
    __tablename__ = 'reclaimed_tank_actuator'
    datetime = db.Column(db.DateTime, default=datetime.now(), nullable=False, primary_key=True)
    tank_num = db.Column(db.Text, nullable=False)
    solenoid_water_in = db.Column(db.Integer, nullable=False)
    solenoid_water_out = db.Column(db.Integer, nullable=False)
    solenoid_reclaimed_out = db.Column(db.Integer, nullable=False)
    pump_reclaimed_out = db.Column(db.Integer, nullable=False)

# ////////////////////////////////////////////////////////////////////////////////



# #發酵槽溫度感測器表
# class TankTemSensor(db.Model):
#     __tablename__ = 'tank_tem_sensor'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     tem = db.Column(db.Text, nullable=False)

# #發酵槽二氧化碳感測器表
# class TankCO2Sensor(db.Model):
#     __tablename__ = 'tank_co2_sensor'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     co2 = db.Column(db.Text, nullable=False)

# #發酵槽酸鹼值感測器表
# class TankPHSensor(db.Model):
#     __tablename__ = 'tank_ph_sensor'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     ph = db.Column(db.Text, nullable=False)

# #發酵槽酸鹼值感測器表
# class TankECSensor(db.Model):
#     __tablename__ = 'tank_ec_sensor'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     ec = db.Column(db.Text, nullable=False)

# #發酵槽超音波感測器表
# class TankSonicSensor(db.Model):
#     __tablename__ = 'tank_sonic_sensor'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     sonic = db.Column(db.Text, nullable=False)


# class BeanValve(db.Model):
#     __tablename__ = 'bean_valve'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class WashMachine(db.Model):
#     __tablename__ = 'wash_machine'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class ConveyorBelt1(db.Model):
#     __tablename__ = 'conveyor_belt1'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Cargo1Disinfect(db.Model):
#     __tablename__ = 'cargo1_disinfect'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class ColorMachine(db.Model):
#     __tablename__ = 'color_machine'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class ConveyorBelt2(db.Model):
#     __tablename__ = 'conveyor_belt2'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class PeelingMachine(db.Model):
#     __tablename__ = 'peeling_machine'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)



# class ConveyorBelt3(db.Model):
#     __tablename__ = 'conveyor_belt3'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)



# class Bacteria(db.Model):
#     __tablename__ = 'bacteria'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Cargo2Disinfect(db.Model):
#     __tablename__ = 'cargo2_disinfect'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Heating(db.Model):
#     __tablename__ = 'heating'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Stir(db.Model):
#     __tablename__ = 'stir'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class WaterInjection(db.Model):
#     __tablename__ = 'water_injection'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)



# class TopValve(db.Model):
#     __tablename__ = 'top_valve'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class BottomValve(db.Model):
#     __tablename__ = 'bottom_valve'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Temperature(db.Model):
#     __tablename__ = 'temperature'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Hoist(db.Model):
#     __tablename__ = 'hoist'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Dryer(db.Model):
#     __tablename__ = 'dryer'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     duration = db.Column(db.Text, nullable=False)
#     start = db.Column(db.Text, nullable=False)
#     end = db.Column(db.Text, nullable=False)

# class Relay(db.Model):
#     __tablename__ = 'relay'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     status= db.Column(db.Text, nullable=False)


# class PeelingMachineRPM(db.Model):
#     __tablename__ = 'peeling_machine_rpm'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     rpm = db.Column(db.Text, nullable=False)

# class StirRPM(db.Model):
#     __tablename__ = 'stir_rpm'

#     sn = db.Column(db.Integer, primary_key=True)
#     datetime = db.Column(db.DateTime, nullable=False)
#     tank_num = db.Column(db.Integer, nullable=False)
#     rpm = db.Column(db.Text, nullable=False)



db.create_all()