Unverified Commit 178d005b authored by Dr.李's avatar Dr.李 Committed by GitHub

Merge pull request #4 from lion-sing/master

add internal borrow flag for outright management
parents 6af6574d 233c92ad
...@@ -1938,6 +1938,7 @@ class Outright(Base): ...@@ -1938,6 +1938,7 @@ class Outright(Base):
price_rule = Column(String(50), nullable=False) price_rule = Column(String(50), nullable=False)
due_date = Column(DateTime) due_date = Column(DateTime)
remark = Column(Text, nullable=True) remark = Column(Text, nullable=True)
internal_borrow = Column(Boolean, server_default=text("false"))
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -888,21 +888,27 @@ class SqlEngine(object): ...@@ -888,21 +888,27 @@ class SqlEngine(object):
index=False, index=False,
dtype={'weight': sa.types.JSON}) dtype={'weight': sa.types.JSON})
def fetch_outright_status(self, ref_date: str, is_open=True): def fetch_outright_status(self, ref_date: str, is_open=True, ignore_internal_borrow=False):
table = Outright table = Outright
if is_open: if is_open:
id_filter = 'notin_' id_filter = 'notin_'
else: else:
id_filter = 'in_' id_filter = 'in_'
if ignore_internal_borrow:
this_filter = [table.internal_borrow == False]
else:
this_filter = []
t = select([table.trade_id]). \ t = select([table.trade_id]). \
where(and_(table.trade_date <= ref_date, where(and_(table.trade_date <= ref_date,
table.operation == 'withdraw')).alias('t') table.operation == 'withdraw')).alias('t')
query = select([table]). \ query = select([table]). \
where(and_(getattr(table.trade_id, id_filter)(t), where(and_(*([getattr(table.trade_id, id_filter)(t),
table.trade_date <= ref_date, table.trade_date <= ref_date,
table.operation == 'lend')) table.operation == 'lend'] + this_filter)))
df = pd.read_sql(query, self.engine).set_index('trade_id') df = pd.read_sql(query, self.engine).set_index('trade_id')
del df['internal_borrow']
if df.empty: if df.empty:
return return
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment