aboutsummaryrefslogtreecommitdiffstats
path: root/python/trade_dataclasses.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/trade_dataclasses.py')
-rw-r--r--python/trade_dataclasses.py13
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] = []