aboutsummaryrefslogtreecommitdiffstats
path: root/python/gfs_monitor.py
blob: 8631e97afd3829371013e47f571b0505978620e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import datetime
import logging
from serenitas.analytics.dates import prev_business_day
from serenitas.utils.db import dbconn
from serenitas.utils.exchange import ExchangeMessage
from citco_ops.utils import GFSMonitor

if __name__ == "__main__":
    import argparse

    parser = argparse.ArgumentParser()
    parser.add_argument(
        "cob",
        nargs="?",
        type=datetime.date.fromisoformat,
        default=prev_business_day(datetime.date.today()),
        help="working date",
    )
    args = parser.parse_args()
    logger = logging.getLogger(__name__)
    conn = dbconn("dawndb")
    sql_str = "SELECT endqty as payment_amount, invccy as currency, periodenddate as settle_date FROM valuation_reports vr WHERE fund=%s AND port ='GFS_HELPER_BUSINESS_UNIT' AND periodenddate =%s AND abs(endqty) > 50000;"
    em = ExchangeMessage()
    with conn.cursor() as c:
        for fund in ("BOWDST", "SERCGMAST"):
            c.execute(sql_str, (fund, args.cob))
            GFSMonitor.stage_payment(c)
            GFSMonitor.email_globeop(fund)
            GFSMonitor._insert_queue.clear()