Commit d5feaadc authored by xianyang's avatar xianyang

优化业务类型汇总导出,余额查询

parent 5b54b719
...@@ -48,11 +48,10 @@ class FinanceDetails(PublicModel): ...@@ -48,11 +48,10 @@ class FinanceDetails(PublicModel):
class FixTable(BaseModel): class FixTable(BaseModel):
type: int type: int
uuid: str = '' uuid: str
money: float money: float
amount_type: Optional[str] = "consumable" amount_type: Optional[str] = "consumable"
remark: str remark: str
unique_tag: Optional[str] = ""
class AccountTypeUpdate(BaseModel): class AccountTypeUpdate(BaseModel):
......
...@@ -96,7 +96,6 @@ def month_to_export(param: schemas.MonthStatistics, request: Request, token=Depe ...@@ -96,7 +96,6 @@ def month_to_export(param: schemas.MonthStatistics, request: Request, token=Depe
headers = request.get("headers") headers = request.get("headers")
if not param.date: if not param.date:
return HttpResultResponse(code=500, msg='查询月份不能为空') return HttpResultResponse(code=500, msg='查询月份不能为空')
result, num = crud.CalculationMonthlyBill().month_statistics_task('assets_log_' + param.date, param.type, param.name, result = crud.MonthDataDerive().derive_data('assets_log_' + param.date, param.type, param.name)
param.page, 999999)
field_head = ['业务名称', '财务编码类型', '出账金额', '入账金额', '是否异常', '异常金额'] field_head = ['业务名称', '财务编码类型', '出账金额', '入账金额', '是否异常', '异常金额']
return statement_crud.data_to_file(db, result, "业务类型汇总", headers, field_head) return statement_crud.data_to_file(db, result, "业务类型汇总", headers, field_head)
...@@ -338,15 +338,9 @@ def transfer_money(db: Session, param, h_list): ...@@ -338,15 +338,9 @@ def transfer_money(db: Session, param, h_list):
def create_fix_table(db: Session, param, h_list): def create_fix_table(db: Session, param, h_list):
"""增加修复报表""" """增加修复报表"""
uuid = param.uuid
unique_res = []
if param.type == 0:
acc_sql = f"select unique_tag,uuid from fi_account where unique_tag='{param.unique_tag}'"
unique_res = LinkMysql(env.DB_3YV2).query_mysql(acc_sql)
uuid = unique_res[0]['uuid']
if param.amount_type == 'backpack': if param.amount_type == 'backpack':
guild_sql = f"select count(id) as num from guild where uuid='{uuid}'" guild_sql = f"select count(id) as num from guild where uuid='{param.uuid}'"
user_sql = f"select user_id,nick_name,user_number from v2_user where uuid='{uuid}'" user_sql = f"select user_id,nick_name,user_number from v2_user where uuid='{param.uuid}'"
with ThreadPoolExecutor(max_workers=2) as pool: with ThreadPoolExecutor(max_workers=2) as pool:
future1 = pool.submit(LinkMysql(env.DB_3YV2).query_mysql, guild_sql) future1 = pool.submit(LinkMysql(env.DB_3YV2).query_mysql, guild_sql)
future2 = pool.submit(LinkMysql(env.DB_3YV2).query_mysql, user_sql) future2 = pool.submit(LinkMysql(env.DB_3YV2).query_mysql, user_sql)
...@@ -369,7 +363,7 @@ def create_fix_table(db: Session, param, h_list): ...@@ -369,7 +363,7 @@ def create_fix_table(db: Session, param, h_list):
method = 'Server.BaseExecute.Increase' method = 'Server.BaseExecute.Increase'
data = { data = {
"ip": ip, "ip": ip,
"dst_uuid": uuid, "dst_uuid": param.uuid,
"dst_amount_type": param.amount_type, "dst_amount_type": param.amount_type,
"amount": param.money, "amount": param.money,
"fee": 0, "fee": 0,
...@@ -382,7 +376,7 @@ def create_fix_table(db: Session, param, h_list): ...@@ -382,7 +376,7 @@ def create_fix_table(db: Session, param, h_list):
method = 'Server.BaseExecute.Reduce' method = 'Server.BaseExecute.Reduce'
data = { data = {
"ip": ip, "ip": ip,
"src_uuid": uuid, "src_uuid": param.uuid,
"src_amount_type": param.amount_type, "src_amount_type": param.amount_type,
"amount": param.money, "amount": param.money,
"fee": 0, "fee": 0,
...@@ -394,7 +388,11 @@ def create_fix_table(db: Session, param, h_list): ...@@ -394,7 +388,11 @@ def create_fix_table(db: Session, param, h_list):
clearing_res = search(data, method) clearing_res = search(data, method)
print(clearing_res) print(clearing_res)
if clearing_res['status']: if clearing_res['status']:
unique_tag = unique_res[0]['unique_tag'] if unique_res else uuid unique_res = []
if param.type == 0:
acc_sql = f"select unique_tag from fi_account where uuid='{param.uuid}'"
unique_res = LinkMysql(env.DB_3YV2).query_mysql(acc_sql)
unique_tag = unique_res[0]['unique_tag'] if unique_res else param.uuid
user = query_token(db, h_list) user = query_token(db, h_list)
try: try:
insert_fix_sql = f"insert into finance_fix_log(type, money, create_time, unique_tag, amount_type, remark, operator,operator_id) " \ insert_fix_sql = f"insert into finance_fix_log(type, money, create_time, unique_tag, amount_type, remark, operator,operator_id) " \
......
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