32 lines
1.4 KiB
Python
32 lines
1.4 KiB
Python
from flask_sqlalchemy import SQLAlchemy
|
|
from datetime import datetime
|
|
|
|
|
|
db = SQLAlchemy()
|
|
|
|
class StateOfDate(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
updated_at = db.Column(db.TIMESTAMP, default=datetime.now(), onupdate=datetime.now(), nullable=False)
|
|
date = db.Column(db.String(8), unique=True, nullable=False) # YYYYMMDD
|
|
system_issues = db.Column(db.Integer, default=0)
|
|
data_issues = db.Column(db.Integer, default=0)
|
|
|
|
def __repr__(self):
|
|
return f"{self.date}: {self.system_issues} {self.data_issues}"
|
|
|
|
def isDone(self):
|
|
return self.system_issues==0 and self.data_issues==0
|
|
|
|
class StateOfInvoice(db.Model):
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
country = db.Column(db.String(2), nullable=False) # XX
|
|
poslogid = db.Column(db.String(16), unique=True, nullable=False)
|
|
receiptid = db.Column(db.String(16), unique=True, nullable=False)
|
|
receiptmonth = db.Column(db.String(6), nullable=False) # YYYYMM
|
|
updated_at = db.Column(db.TIMESTAMP, default=datetime.now(), onupdate=datetime.now(), nullable=False)
|
|
state = db.Column(db.Integer, default=-1) # -1: unprocessed, 0: has issues, 1: processed to xml file, 2: sent to ecosio 3: monthly-reported
|
|
|
|
def __repr__(self):
|
|
return f"{self.country} {self.poslogid} {self.receiptid} {self.receiptmonth} {self.updated_at} {self.state}"
|
|
|