class ObjectType(db.Model): __tablename__ = "tblobjtype" id = db.Column(db.Integer, primary_key=True, unique=True) code = db.Column(db.String(50), nullable=False, unique=True) objtype = db.Column(db.Integer, unique=True, nullable=False) # must be integer description = db.Column(db.String(100), nullable=False, unique=True) table = db.Column(db.String(100), nullable=False, unique=True) # what table date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False)
class CustomerType(db.Model): __tablename__ = "tblcusttype" # If Employee, Customers id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), unique=True, nullable=False) name = db.Column(db.String(100), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'))
class DiscountType(db.Model): __tablename__ = "tbldscnttype" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False, unique=True) description = db.Column(db.String(100), nullable=False) discount = db.Column(db.Float, nullable=False, default=0.00) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class DiscountedCustomer(db.Model): __tablename__ = "tbldisccust" id = db.Column(db.Integer, primary_key=True) senior_name = db.Column(db.String(100), nullable=False, unique=True) senior_id = db.Column(db.String(150), nullable=False) contact_number = db.Column(db.String(30)) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class PaymentType(db.Model): __tablename__ = "tblpaymenttype" """if cash, deposit, ecash, etc""" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False, unique=True) description = db.Column(db.String(100), nullable=False) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class PriceListHeader(db.Model): __tablename__ = "tblpricelist" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False, unique=True) description = db.Column(db.String(100), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'))
class PriceListRow(db.Model): __tablename__ = "tblpricelistrow" id = db.Column(db.Integer, primary_key=True) pricelist_id = db.Column(db.Integer, db.ForeignKey('tblpricelist.id', ondelete='CASCADE'), nullable=False) item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code', ondelete='NO ACTION'), nullable=False) price = db.Column(db.Float, nullable=False, default=0.00) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'))
class UnitOfMeasure(db.Model): __tablename__ = "tbluom" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False, unique=True) description = db.Column(db.String(100), nullable=False, unique=True) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) items = db.relationship('Items', backref='unitofmeasure', lazy=True) def __repr__(self): return f"UnitOfMeasure('{self.code}', '{self.description}')"
class Branch(db.Model): __tablename__ = 'tblbranch' id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False, unique=True) name = db.Column(db.String(100), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) def __repr__(self): return f"Branch('{self.code}', '{self.name}'"
class WhseInv(db.Model): __tablename__ = "tblwhseinv" id = db.Column(db.Integer, primary_key=True) item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) quantity = db.Column(db.Float, nullable=False, default=0.00) warehouse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) item = db.relationship("Items", backref="whseinv", lazy=True) def __repr__(self): return f"WhseInv('{self.item_code}', '{self.item_name}', '{self.quantity}')"
class Items(db.Model): __tablename__ = "tblitems" id = db.Column(db.Integer, primary_key=True) item_code = db.Column(db.String(100), unique=True, nullable=False) item_name = db.Column(db.String(150), nullable=False) item_group = db.Column(db.String(50), db.ForeignKey('tblitemgrp.code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) min_stock = db.Column(db.Float, nullable=False, default=0.00) max_stock = db.Column(db.Float, nullable=False, default=0.00) price = db.Column(db.Float, default=0.00) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) barcode = db.Column(db.Integer) def __repr__(self): return f"Items('{self.item_code}', '{self.item_name}"
class PayTransHeader(db.Model): __tablename__ = "tblpayment" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num objtype = db.Column(db.Integer, db.ForeignKey( 'tblobjtype.objtype'), nullable=False) # seriescode + number reference = db.Column(db.String(100), nullable=False) transdate = db.Column(db.DateTime, nullable=False) base_id = db.Column(db.Integer, db.ForeignKey( 'tblsales.id', ondelete='CASCADE')) # sales id base_num = db.Column(db.Integer) # sales transnum # C for Close, N for Cancel docstatus = db.Column(db.String(10), default='C') cust_code = db.Column(db.String(100), nullable=False) total_due = db.Column(db.Float, nullable=False, default=0.00) total_paid = db.Column(db.Float, nullable=False, default=0.00) remarks = db.Column(db.String(250)) reference2 = db.Column(db.String(250)) sap_number = db.Column(db.Integer) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) payrows = db.relationship( 'PayTransRow', back_populates='payheader', lazy=True)
class SalesHeader(db.Model): __tablename__ = "tblsales" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id docstatus = db.Column(db.String(30), default='O') seriescode = db.Column(db.String(50), nullable=False) transnumber = db.Column(db.Integer, nullable=False) reference = db.Column(db.String(100)) transdate = db.Column(db.DateTime, nullable=False, default=datetime.now) cust_code = db.Column(db.String(100), db.ForeignKey('tblcustomer.code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) cust_name = db.Column(db.String(100), nullable=False) objtype = db.Column(db.Integer, db.ForeignKey('tblobjtype.objtype'), nullable=False) remarks = db.Column(db.String(250)) transtype = db.Column(db.String(50), db.ForeignKey('tblsalestype.code'), nullable=False) delfee = db.Column(db.Float, default=0.00) disctype = db.Column(db.String(50), db.ForeignKey('tbldscnttype.code')) discprcnt = db.Column(db.Float, nullable=False, default=0.00) disc_amount = db.Column(db.Float, nullable=False, default=0.00) gross = db.Column(db.Float, nullable=False, default=0.00) gc_amount = db.Column(db.Float, nullable=False, default=0.00) doctotal = db.Column(db.Float, nullable=False, default=0.00) reference2 = db.Column(db.String(100)) tenderamt = db.Column(db.Float, default=0.00) sap_number = db.Column(db.Integer) appliedamt = db.Column(db.Float, default=0.00) change = db.Column(db.Float, default=0.00) amount_due = db.Column(db.Float, default=0.00) row_discount = db.Column(db.Float, default=0.00) void = db.Column(db.Boolean, nullable=True, default=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) confirm = db.Column(db.Boolean, default=False) date_confirm = db.Column(db.DateTime, default=datetime.now) confirm_by = db.Column(db.Integer) # user id latitude = db.Column(db.Float) longitude = db.Column(db.Float) created_user = db.relationship("User", backref="salesheader", foreign_keys=[created_by]) salesrow = db.relationship("SalesRow", back_populates="salesheader", lazy=True)
class Customer(db.Model): __tablename__ = "tblcustomer" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(100), unique=True, nullable=False) name = db.Column(db.String(100), nullable=False) birthdate = db.Column(db.DateTime, default=datetime.now) cust_type = db.Column(db.Integer, db.ForeignKey('tblcusttype.id'), nullable=False) address = db.Column(db.String(250)) contact = db.Column(db.String(100)) whse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) balance = db.Column(db.Float, nullable=False, default=0.00) dep_balance = db.Column(db.Float, default=0.00) custtype = db.relationship('CustomerType', backref='custtype', lazy=True)
class Deposit(db.Model): __tablename__ = "tbldeposit" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num objtype = db.Column(db.Integer, db.ForeignKey( 'tblobjtype.objtype'), nullable=False) # seriescode + number reference = db.Column(db.String(100), nullable=False) transdate = db.Column(db.DateTime, nullable=False) # O for Open, C for Close, N for Cancel status = db.Column(db.String(10), default='O') cust_code = db.Column(db.String(100), db.ForeignKey( 'tblcustomer.code', onupdate='CASCADE'), nullable=False) amount = db.Column(db.Float, nullable=False, default=0.00) balance = db.Column(db.Float, nullable=False, default=0.00) remarks = db.Column(db.String(250)) reference2 = db.Column(db.String(100)) sap_number = db.Column(db.Integer) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class ReceiveHeader(db.Model): __tablename__ = "tblreceive" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num base_id = db.Column(db.Integer) # if from System Transfer objtype = db.Column(db.Integer, nullable=False) sap_number = db.Column(db.Integer, nullable=True, default=None) docstatus = db.Column(db.String(10), nullable=False, default='O') transtype = db.Column(db.String(100)) transdate = db.Column(db.DateTime) reference = db.Column(db.String(100)) reference2 = db.Column(db.String(100)) remarks = db.Column(db.String(250), nullable=True) supplier = db.Column(db.String(150)) type2 = db.Column(db.String(100)) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) recrow = db.relationship( "ReceiveRow", back_populates="recheader", lazy=True)
class PayTransRow(db.Model): __tablename__ = "tblpaymentrow" id = db.Column(db.Integer, primary_key=True) payment_id = db.Column(db.Integer, db.ForeignKey( 'tblpayment.id', ondelete='NO ACTION'), nullable=False) payment_type = db.Column(db.String(50), db.ForeignKey( 'tblpaymenttype.code', onupdate='CASCADE'), nullable=False) deposit_id = db.Column(db.Integer) amount = db.Column(db.Float, nullable=False) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) status = db.Column(db.Integer, default=1) # 1 if not cancel, 2 if canceled reference2 = db.Column(db.String(100)) sap_number = db.Column(db.Integer) payheader = db.relationship( 'PayTransHeader', back_populates='payrows', lazy=True)
class PullOutRow(db.Model): __tablename__ = "tblpulloutrow" id = db.Column(db.Integer, primary_key=True) pullout_id = db.Column(db.Integer, db.ForeignKey('tblpullout.id', ondelete='CASCADE'), nullable=False) whsecode = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) to_whse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode'), nullable=False) # pullout destination item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code')) objtype = db.Column(db.Integer, nullable=False) quantity = db.Column(db.Float, nullable=False, default=0.00) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code')) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) sap_number = db.Column(db.Integer)
class CashOut(db.Model): __tablename__ = "tblcashout" id = db.Column(db.Integer, primary_key=True) seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num objtype = db.Column(db.Integer, db.ForeignKey( 'tblobjtype.objtype'), nullable=False) # seriescode + number reference = db.Column(db.String(100), nullable=False) transdate = db.Column(db.DateTime, nullable=False) amount = db.Column(db.Float, nullable=False, default=0.00) remarks = db.Column(db.String(250)) # C for Close and N for Cancel status = db.Column(db.String(10), default='C') created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class Warehouses(db.Model): __tablename__ = "tblwhses" id = db.Column(db.Integer, primary_key=True) whsecode = db.Column(db.String(100), unique=True, nullable=False) whsename = db.Column(db.String(150), nullable=False) branch = db.Column(db.String(50), db.ForeignKey('tblbranch.code', ondelete='NO ACTION', onupdate='NO ACTION'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='CASCADE'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) sales = db.Column(db.Boolean, nullable=True, default=False) cutoff = db.Column(db.Boolean, default=False) pricelist = db.Column(db.Integer, db.ForeignKey('tblpricelist.id', ondelete='CASCADE'), nullable=True) def is_sales(self): return self.sales def is_cutoff(self): return self.cutoff def __repr__(self): return f"Warehouses('{self.whsecode}', '{self.whsename}'"
class PullOutHeaderRequest(db.Model): __tablename__ = "tblpulloutreq" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num objtype = db.Column(db.Integer, db.ForeignKey('tblobjtype.objtype'), nullable=False) transdate = db.Column(db.DateTime, nullable=False) reference = db.Column(db.String(100), nullable=False) # seriescode + number remarks = db.Column(db.String(250)) user_type = db.Column(db.String(50)) docstatus = db.Column(db.String(10), default='O', nullable=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) confirm = db.Column(db.Boolean, default=False)
class ItemRequestRow(db.Model): __tablename__ = "tblitemreqrow" id = db.Column(db.Integer, primary_key=True) request_id = db.Column(db.Integer, db.ForeignKey('tblitemreq.id', ondelete='CASCADE'), nullable=False) objtype = db.Column(db.Integer, nullable=False) from_whse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) to_whse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode'), nullable=False) item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) quantity = db.Column(db.Float, nullable=False) deliverqty = db.Column(db.Float, nullable=False, default=0.00) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code'), nullable=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) request_header = db.relationship("ItemRequest", back_populates="request_rows", lazy=True)
class TransferHeader(db.Model): __tablename__ = "tbltransfer" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) # series next_num reference = db.Column(db.String(100)) # Objcode + Series Next Num objtype = db.Column(db.Integer, nullable=False) sap_number = db.Column(db.Integer, nullable=True, default=None) docstatus = db.Column(db.String(10), nullable=False, default='O') transdate = db.Column(db.DateTime) reference2 = db.Column(db.String(100)) remarks = db.Column(db.String(250)) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) transrow = db.relationship( "TransferRow", back_populates="transheader", lazy=True)
class InvTransaction(db.Model): __tablename__ = "tblwhstransaction" id = db.Column(db.Integer, primary_key=True) series_code = db.Column(db.String(50), nullable=False) # series code trans_id = db.Column(db.Integer, nullable=False) # transaction id trans_num = db.Column(db.Integer, nullable=False) # transaction number objtype = db.Column(db.Integer, nullable=False) # objtype item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code', ondelete='CASCADE'), nullable=False) inqty = db.Column(db.Float, nullable=False, default=0) outqty = db.Column(db.Float, nullable=False, default=0) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code'), nullable=False) warehouse = db.Column(db.String(100), nullable=False) warehouse2 = db.Column(db.String(100), nullable=False) transdate = db.Column(db.DateTime, nullable=False, default=datetime.now) reference = db.Column(db.String(100)) reference2 = db.Column(db.String(100)) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) sap_number = db.Column(db.Integer, nullable=True, default=None) remarks = db.Column(db.String(150))
class SalesRow(db.Model): __tablename__ = "tblsalesrow" id = db.Column(db.Integer, primary_key=True) sales_id = db.Column( db.Integer, db.ForeignKey('tblsales.id', ondelete='NO ACTION', onupdate='CASCADE')) item_code = db.Column( db.String(100), db.ForeignKey('tblitems.item_code', ondelete='NO ACTION', onupdate='NO ACTION')) quantity = db.Column(db.Float, nullable=False, default=0.00) whsecode = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', onupdate='CASCADE'), nullable=False) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code', onupdate='CASCADE')) unit_price = db.Column(db.Float, nullable=False) disc_amount = db.Column(db.Float, nullable=False, default=0.00) discprcnt = db.Column(db.Float, nullable=False, default=0.00) gross = db.Column(db.Float, nullable=False, default=0.00) linetotal = db.Column(db.Float, nullable=False, default=0.00) free = db.Column(db.Boolean, default=False) row_whse = db.relationship("Warehouses", backref="salesrow", foreign_keys=[whsecode]) salesheader = db.relationship("SalesHeader", back_populates="salesrow", lazy=True)
class CashTransaction(db.Model): __tablename__ = "tblcashtrans" id = db.Column(db.Integer, primary_key=True) trans_id = db.Column(db.Integer, nullable=False) trans_num = db.Column(db.Integer, nullable=False) transdate = db.Column(db.DateTime, nullable=False) objtype = db.Column(db.Integer, db.ForeignKey( 'tblobjtype.objtype'), nullable=False) amount = db.Column(db.Float, nullable=False) transtype = db.Column(db.String(50)) reference = db.Column(db.String(100)) created_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) updated_by = db.Column( db.Integer, db.ForeignKey('tbluser.id'), nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now)
class TransferRow(db.Model): __tablename__ = "tbltransrow" id = db.Column(db.Integer, primary_key=True, unique=True) transfer_id = db.Column(db.Integer, db.ForeignKey( 'tbltransfer.id', ondelete='CASCADE'), nullable=False) transnumber = db.Column(db.Integer, nullable=False) objtype = db.Column(db.Integer, nullable=False) from_whse = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) to_whse = db.Column(db.String(100), db.ForeignKey( 'tblwhses.whsecode'), nullable=False) item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) quantity = db.Column(db.Float, nullable=False) uom = db.Column(db.String(50), db.ForeignKey( 'tbluom.code'), nullable=False) sap_number = db.Column(db.Integer, nullable=True, default=None) confirm = db.Column(db.Boolean, nullable=False, default=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) status = db.Column(db.Integer, default=1) # 1 for not cancel, 2 for cancel transheader = db.relationship( "TransferHeader", back_populates="transrow", lazy=True)
class Series(db.Model): __tablename__ = "tblseries" id = db.Column(db.Integer, primary_key=True) code = db.Column(db.String(50), nullable=False) # series code name = db.Column(db.String(100), nullable=False) # series name whsecode = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='NO ACTION', onupdate='CASCADE'), nullable=False) objtype = db.Column(db.Integer, db.ForeignKey('tblobjtype.objtype'), nullable=False) start_num = db.Column(db.Integer, nullable=False) next_num = db.Column(db.Integer, nullable=False) end_num = db.Column(db.Integer, nullable=False) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) updated_by = db.Column(db.DateTime, nullable=False, default=datetime.now) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id'), nullable=False) obj_code = db.relationship("ObjectType", backref="series", lazy=True) def __repr__(self): return f"Series('{self.code}', '{self.name}', '{self.objtype}', \
class ItemRequest(db.Model): __tablename__ = "tblitemreq" id = db.Column(db.Integer, primary_key=True) series = db.Column(db.Integer, db.ForeignKey('tblseries.id', ondelete='NO ACTION', onupdate='NO ACTION')) # series id seriescode = db.Column(db.String(50), nullable=False) # series code transnumber = db.Column(db.Integer, nullable=False) docstatus = db.Column(db.String(10), default='O', nullable=False) reference = db.Column(db.String(100)) transdate = db.Column(db.DateTime, nullable=False, default=datetime.now) duedate = db.Column(db.DateTime, nullable=False, default=datetime.now) reference2 = db.Column(db.String(100)) remarks = db.Column(db.String(250)) objtype = db.Column(db.Integer, nullable=False) created_by = db.Column(db.Integer, db.ForeignKey('tbluser.id', ondelete='NO ACTION'), nullable=False) updated_by = db.Column(db.Integer, db.ForeignKey('tbluser.id')) date_created = db.Column(db.DateTime, nullable=False, default=datetime.now) date_updated = db.Column(db.DateTime, nullable=False, default=datetime.now) confirm = db.Column(db.Boolean) sap_number = db.Column(db.Integer) request_rows = db.relationship('ItemRequestRow', back_populates="request_header", lazy=True)
class FinalInvCountRow(db.Model): __tablename__ = "tblfinalcountrow" id = db.Column(db.Integer, primary_key=True) finalcount_id = db.Column(db.Integer, db.ForeignKey('tblfinalcount.id', ondelete='CASCADE'), nullable=False) whsecode = db.Column(db.String(100), db.ForeignKey('tblwhses.whsecode', ondelete='CASCADE', onupdate='CASCADE'), nullable=False) item_code = db.Column(db.String(100), db.ForeignKey('tblitems.item_code')) quantity = db.Column(db.Float, nullable=False, default=0.00) ending_sales_count = db.Column(db.Float, nullable=False, default=0.00) ending_auditor_count = db.Column(db.Float, nullable=False, default=0.00) ending_manager_count = db.Column(db.Float, nullable=False, default=0.00) ending_final_count = db.Column(db.Float, nullable=False, default=0.00) po_sales_count = db.Column(db.Float, nullable=False, default=0.00) po_auditor_count = db.Column(db.Float, nullable=False, default=0.00) po_manager_count = db.Column(db.Float, nullable=False, default=0.00) po_final_count = db.Column(db.Float, nullable=False, default=0.00) variance = db.Column(db.Float, nullable=False, default=0.00) uom = db.Column(db.String(50), db.ForeignKey('tbluom.code'))