Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
financial-system
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xianyang
financial-system
Commits
c2b4b718
Commit
c2b4b718
authored
Mar 29, 2023
by
xianyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化财务信息,业务类型汇总导出
parent
17568c47
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
5 deletions
+14
-5
views.py
app/api/account/views.py
+5
-2
crud.py
app/api/export/crud.py
+1
-1
views.py
app/api/export/views.py
+2
-1
crud.py
app/api/statement/crud.py
+6
-1
No files found.
app/api/account/views.py
View file @
c2b4b718
...
...
@@ -6,6 +6,7 @@ from app.api.account import schemas, crud
from
app.api.statement
import
crud
as
statement_crud
from
libs.result_format
import
HttpResultResponse
,
HttpMessage
from
libs.token_verify
import
login_required
import
pandas
as
pd
router
=
APIRouter
()
...
...
@@ -64,7 +65,8 @@ def finance_info_excel(data: schemas.FinanceInfo, request: Request,
"""账户财务信息导出"""
headers
=
request
.
get
(
"headers"
)
statement_list
=
crud
.
get_finance_info
(
data
.
unique_tag
,
data
.
page
,
data
.
size
,
data
.
start_time
,
data
.
end_time
)
return
statement_crud
.
data_to_file
(
db
,
statement_list
,
"财务信息"
,
headers
)
df
=
[
'表id'
,
'金额'
,
'入账'
,
'出账'
,
'时间'
]
return
statement_crud
.
data_to_file
(
db
,
statement_list
,
"财务信息"
,
headers
,
df
)
@
router
.
get
(
"/finance/details"
)
...
...
@@ -87,7 +89,8 @@ def finance_info_excel(data: schemas.FinanceDetails, request: Request,
"""账户财务详情导出"""
headers
=
request
.
get
(
"headers"
)
statement_list
=
crud
.
get_finance_details
(
data
.
page
,
data
.
size
,
data
.
uuid
,
data
.
start_time
,
data
.
end_time
,
data
.
type
,
data
.
gift_type
)
return
statement_crud
.
data_to_file
(
db
,
statement_list
,
"财务明细"
,
headers
)
field_head
=
[
'订单号'
,
'出入账方式'
,
'礼物类型'
,
'金额'
,
'时间'
]
return
statement_crud
.
data_to_file
(
db
,
statement_list
,
"财务明细"
,
headers
,
field_head
)
@
router
.
get
(
"/type"
)
...
...
app/api/export/crud.py
View file @
c2b4b718
...
...
@@ -196,7 +196,7 @@ class MonthDataDerive(object):
"type"
:
res
[
"reference_type"
],
"expenditure"
:
out_value
,
"income"
:
income_value
,
"is_error"
:
0
if
out_value
==
income_value
else
1
,
"is_error"
:
'否'
if
out_value
==
income_value
else
'是'
,
"error_money"
:
float
(
'
%.2
f'
%
(
out_value
-
income_value
))
}
self
.
derive_key
.
append
(
res
[
"reference_type"
])
...
...
app/api/export/views.py
View file @
c2b4b718
...
...
@@ -97,4 +97,5 @@ def month_to_export(param: schemas.MonthStatistics, request: Request, token=Depe
if
not
param
.
date
:
return
HttpResultResponse
(
code
=
500
,
msg
=
'查询月份不能为空'
)
result
=
crud
.
MonthDataDerive
()
.
derive_data
(
'assets_log_'
+
param
.
date
,
param
.
type
)
return
statement_crud
.
data_to_file
(
db
,
result
,
"业务类型汇总"
,
headers
)
field_head
=
[
'业务名称'
,
'财务编码类型'
,
'出账金额'
,
'入账金额'
,
'是否异常'
,
'异常金额'
]
return
statement_crud
.
data_to_file
(
db
,
result
,
"业务类型汇总"
,
headers
,
field_head
)
app/api/statement/crud.py
View file @
c2b4b718
import
math
import
threading
import
time
from
concurrent.futures.thread
import
ThreadPoolExecutor
import
pandas
as
pd
...
...
@@ -20,7 +21,7 @@ locka = threading.Lock()
# 写入文件
def
data_to_file
(
db
,
data
,
name
,
header
):
def
data_to_file
(
db
,
data
,
name
,
header
,
field_list
):
# 获取操作人
user
=
query_token
(
db
,
header
)
params
=
{
"source"
:
name
,
"method"
:
"data_to_file"
,
"status"
:
1
}
...
...
@@ -28,6 +29,10 @@ def data_to_file(db, data, name, header):
params
[
"status"
]
=
3
try
:
bk
=
pd
.
DataFrame
(
data
)
if
data
[
0
]
.
get
(
'create_time'
):
if
isinstance
(
data
[
0
][
'create_time'
],
int
):
bk
[
'create_time'
]
=
bk
[
'create_time'
]
.
apply
(
lambda
x
:
time
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
,
time
.
localtime
(
x
)))
bk
.
columns
=
field_list
# 修改pandas头
with
pd
.
ExcelWriter
(
f
'static/{name}.xlsx'
)
as
writer
:
bk
.
to_excel
(
writer
,
sheet_name
=
'Sheet1'
,
index
=
False
)
file
=
open
(
writer
,
'rb'
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment