diff options
Diffstat (limited to 'python/trade_dataclasses.py')
| -rw-r--r-- | python/trade_dataclasses.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/python/trade_dataclasses.py b/python/trade_dataclasses.py index aadec798..588a5e80 100644 --- a/python/trade_dataclasses.py +++ b/python/trade_dataclasses.py @@ -432,6 +432,7 @@ class MTMDeal: class Citco: _citco_headers = [] _citco_sftp = SftpClient.from_creds("citco") + _submission_queue = [] @classmethod def citco_upload(cls): @@ -446,6 +447,10 @@ class Citco: h["ExecTransType"] = 2 if h["OrdStatus"] == "N" else 0 h["Fund"] = "ISOSEL" h["SettleCurrency"] = "USD" + identifier = ( + "instrument" if cls.file_tag == "i.innocap_serenitas." else "trade" + ) + cls._submission_queue.append([h["ClientOrderID"], "NEW", identifier]) ###### csvwriter.writerows( @@ -454,6 +459,7 @@ class Citco: buf = buf.getvalue().encode() cls._citco_sftp.client.chdir("/incoming") cls._citco_sftp.put(buf, cls.fname()) + cls.submission_commit() dest = DAILY_DIR / str(datetime.date.today()) / cls.fname() dest.write_bytes(buf) cls._citco_queue.clear() @@ -465,6 +471,13 @@ class Citco: def fname(cls): return f"{cls.file_tag}{datetime.datetime.now():%Y%m%d%H%M%S}.csv" + @classmethod + def submission_commit(cls): + sql_str = "INSERT INTO citco_submission_status (serenitas_id, action, identifier_type) VALUES (%s, %s, %s) " + with cls._conn.cursor() as c: + c.executemany(sql_str, cls._submission_queue) + cls._conn.commit() + class CitcoProduct(Citco): _citco_queue: ClassVar[list] = [] |
