Insert initial letter rates.

Create letter rates dao.
Query to fetch letter rates.
This commit is contained in:
Rebecca Law
2017-12-06 16:40:38 +00:00
parent 07a71ef71c
commit 14be85160c
4 changed files with 90 additions and 2 deletions

View File

@@ -0,0 +1,23 @@
from app import db
from app.dao.dao_utils import transactional
from app.models import LetterRate
@transactional
def dao_create_letter_rate(letter_rate):
db.session.add(letter_rate)
def get_letter_rates_for_daterange(date, crown, sheet_count, post_class='second'):
rates = LetterRate.query.filter(
LetterRate.start_date <= date
).filter((LetterRate.end_date == None) | # noqa
(LetterRate.end_date > date)
).filter(
LetterRate.crown == crown
).filter(
LetterRate.sheet_count == sheet_count
).filter(
LetterRate.post_class == post_class
).all()
return rates

View File

@@ -1487,7 +1487,7 @@ class LetterRate(db.Model):
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4)
start_date = db.Column(db.DateTime, nullable=False)
end_date = db.Column(db.DateTime, nullable=True)
sheet_total = db.Column(db.Integer, nullable=False) # double sided sheet
sheet_count = db.Column(db.Integer, nullable=False) # double sided sheet
rate = db.Column(db.Numeric(), nullable=False)
crown = db.Column(db.Boolean, nullable=False)
post_class = db.Column(db.String, nullable=False)