async added
This commit is contained in:
18
kassa/new.py
18
kassa/new.py
@ -18,6 +18,7 @@ import datetime
|
||||
Base = declarative_base()
|
||||
metadata = Base.metadata
|
||||
|
||||
ignore_list = []
|
||||
|
||||
class PaymentDetails(Base):
|
||||
__tablename__ = "payment_details"
|
||||
@ -72,7 +73,7 @@ def get_payment_details(db: Session, engine_class: DBEngine):
|
||||
pd = engine_class.get_table('payment_details')
|
||||
year, month, external_id, is_refund, is_taken = engine_class.get_columns(
|
||||
'payment_details', ['year','month','external_id', 'is_refund', 'is_taken'])
|
||||
query = db.query(pd).filter(is_taken == False).with_entities(
|
||||
query = db.query(pd).filter(is_taken == False).filter(external_id.notin_(ignore_list)).with_entities(
|
||||
external_id, is_refund, is_taken).distinct().order_by(year, month,external_id, desc(is_refund))
|
||||
return query
|
||||
|
||||
@ -116,6 +117,7 @@ def get_payment_details_items(db: Session, engine_class: DBEngine, dict_engine:
|
||||
vats = dict_engine.get_table('payment_object_vat_type')
|
||||
agents = dict_engine.get_table('agents')
|
||||
company = dict_engine.get_table('providers')
|
||||
payment_type = dict_engine.get_table('payment_type')
|
||||
query = db.query(
|
||||
payment.c.external_id.label('external_id'),
|
||||
services.c.sname.label('name'),
|
||||
@ -126,11 +128,12 @@ def get_payment_details_items(db: Session, engine_class: DBEngine, dict_engine:
|
||||
payment.c.phone.label('phone'),
|
||||
company.c.inn,
|
||||
payment.c.summa.label('sum'),
|
||||
case(
|
||||
(payment.c.payment_method.in_([5, 6, 7]), 3),
|
||||
(payment.c.payment_method.in_([1, 2, 3]), 2),
|
||||
(payment.c.payment_method == 4, 1)
|
||||
).label("payment_group"),
|
||||
#case(
|
||||
# (payment.c.payment_method.in_([5, 6, 7]), 3),
|
||||
# (payment.c.payment_method.in_([1, 2, 3]), 2),
|
||||
# (payment.c.payment_method == 4, 1)
|
||||
#).label("payment_group"),
|
||||
payment_type.c["name"].label("payment_group"),
|
||||
payment_method.c["name"].label('payment_method'),
|
||||
payment_object.c["name"].label('payment_object'),
|
||||
vats.c["name"].label("vat"),
|
||||
@ -146,7 +149,8 @@ def get_payment_details_items(db: Session, engine_class: DBEngine, dict_engine:
|
||||
.join(payment_object, payment.c.payment_object == payment_object.c["id"])\
|
||||
.join(vats, payment.c.vat == vats.c["id"])\
|
||||
.join(company, payment.c.id_company == company.c["id_provider"])\
|
||||
.join(agents, payment.c.supplier_info == agents.c["id_agent"], isouter=True)
|
||||
.join(agents, payment.c.supplier_info == agents.c["id_agent"], isouter=True)\
|
||||
.join(payment_type, payment.c.payments == payment_type.c["id"])
|
||||
return query
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user