Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
439f4778
Commit
439f4778
authored
Dec 16, 2021
by
纪旭 韦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加汇总,及优化代码
parent
d739a710
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
149 additions
and
198 deletions
+149
-198
performance/Performance.Api/Controllers/ReportController.cs
+58
-116
performance/Performance.Api/wwwroot/Performance.Api.xml
+8
-14
performance/Performance.DtoModels/Request/ComputerRequest.cs
+14
-8
performance/Performance.Services/ComputeService.cs
+63
-4
performance/Performance.Services/DownloadService.cs
+6
-56
No files found.
performance/Performance.Api/Controllers/ReportController.cs
View file @
439f4778
...
...
@@ -2,6 +2,7 @@
using
Microsoft.AspNetCore.Mvc
;
using
Microsoft.AspNetCore.StaticFiles
;
using
Performance.DtoModels
;
using
Performance.Infrastructure
;
using
Performance.Services
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -277,35 +278,28 @@ public ApiResponse TableSpecial([FromBody] ConditionRequest request)
#
region
发放表视图、下载
/// <summary>
/// 全院绩效发放(视图)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"getAllComputeView
/{BeginTime},{EndTime},{CurrentPage},{PageSize}
"
)]
[
Route
(
"getAllComputeView"
)]
[
HttpPost
]
public
ApiResponse
GetAllComputeView
([
From
Route
]
BeginEndTime
request
)
public
ApiResponse
GetAllComputeView
([
From
Body
]
BeginEndTime
request
)
{
try
{
if
(
Convert
.
ToDateTime
(
request
.
BeginTime
)
>
Convert
.
ToDateTime
(
request
.
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
data
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp"
,
request
.
BeginTime
,
request
.
EndTime
);
if
(
null
==
data
)
var
datas
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp"
,
date
.
BeginTime
,
date
.
EndTime
);
if
(
null
==
datas
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
list
=
new
QueryComputeByDateGetPage
var
list
=
new
QueryComputeByDateGetPage
{
Data
=
data
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalCount
=
data
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
data
.
Count
()
/
request
.
PageSize
),
Data
=
datas
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalData
=
_computeService
.
SumDatas
(
datas
),
TotalCount
=
datas
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
datas
.
Count
()
/
request
.
PageSize
),
CurrentPage
=
request
.
CurrentPage
,
PageSize
=
request
.
PageSize
};
...
...
@@ -315,32 +309,22 @@ public ApiResponse GetAllComputeView([FromRoute] BeginEndTime request)
/// <summary>
/// 全院绩效发放(视图)下载
/// </summary>
/// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <param name="HospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"getAllComputeViewDown/download
/{HospitalId},{BeginTime},{EndTime}
"
)]
[
Route
(
"getAllComputeViewDown/download"
)]
[
HttpPost
]
public
IActionResult
AllComputeViewDownload
(
int
HospitalId
,
string
BeginTime
,
string
EndTime
)
public
IActionResult
AllComputeViewDownload
(
[
FromBody
]
BeginEndTimeDown
request
)
{
try
{
if
(
Convert
.
ToDateTime
(
BeginTime
)
>
Convert
.
ToDateTime
(
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
if
(
request
.
HospitalId
==
0
)
throw
new
PerformanceException
(
"医院ID不能为空"
);
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp"
,
BeginTime
,
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp"
,
date
.
BeginTime
,
date
.
EndTime
);
if
(
null
==
list
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
HospitalId
,
list
,
"/report/compute
"
,
"全院绩效发放"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
request
.
HospitalId
,
list
,
"/report/wholehospital_grant
"
,
"全院绩效发放"
);
var
memoryStream
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
filepath
,
FileMode
.
Open
))
...
...
@@ -360,32 +344,22 @@ public IActionResult AllComputeViewDownload(int HospitalId,string BeginTime,stri
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"gethosdataView
/{BeginTime},{EndTime},{CurrentPage},{PageSize}
"
)]
[
Route
(
"gethosdataView"
)]
[
HttpPost
]
public
ApiResponse
GethosdataView
([
From
Route
]
BeginEndTime
request
)
public
ApiResponse
GethosdataView
([
From
Body
]
BeginEndTime
request
)
{
try
{
if
(
Convert
.
ToDateTime
(
request
.
BeginTime
)
>
Convert
.
ToDateTime
(
request
.
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
data
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_dept"
,
request
.
BeginTime
,
request
.
EndTime
);
if
(
null
==
data
)
var
datas
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_dept"
,
date
.
BeginTime
,
date
.
EndTime
);
if
(
null
==
datas
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
list
=
new
QueryComputeByDateGetPage
{
Data
=
data
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalCount
=
data
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
data
.
Count
()
/
request
.
PageSize
),
Data
=
datas
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalData
=
_computeService
.
SumDatas
(
datas
),
TotalCount
=
datas
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
datas
.
Count
()
/
request
.
PageSize
),
CurrentPage
=
request
.
CurrentPage
,
PageSize
=
request
.
PageSize
};
...
...
@@ -396,33 +370,22 @@ public ApiResponse GethosdataView([FromRoute] BeginEndTime request)
/// <summary>
/// 全院核算绩效发放(视图) 下载
/// </summary>
/// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <param name="HospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"gethosdataView/download
/{HospitalId},{BeginTime},{EndTime}
"
)]
[
Route
(
"gethosdataView/download"
)]
[
HttpPost
]
public
IActionResult
GethosdataView
(
int
HospitalId
,
string
BeginTime
,
string
EndTime
)
public
IActionResult
GethosdataView
(
[
FromBody
]
BeginEndTimeDown
request
)
{
if
(
request
.
HospitalId
==
0
)
throw
new
PerformanceException
(
"医院ID不能为空"
);
try
{
if
(
Convert
.
ToDateTime
(
BeginTime
)
>
Convert
.
ToDateTime
(
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_dept"
,
BeginTime
,
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_dept"
,
date
.
BeginTime
,
date
.
EndTime
);
if
(
null
==
list
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
HospitalId
,
list
,
"/report/print/compute
"
,
"全院核算绩效发放"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
request
.
HospitalId
,
list
,
"/report/wholehospital_accounting_grant
"
,
"全院核算绩效发放"
);
var
memoryStream
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
filepath
,
FileMode
.
Open
))
...
...
@@ -442,33 +405,23 @@ public IActionResult GethosdataView(int HospitalId, string BeginTime, string End
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"allcomputeView/personnel
/{BeginTime},{EndTime},{CurrentPage},{PageSize}
"
)]
[
Route
(
"allcomputeView/personnel"
)]
[
HttpPost
]
public
ApiResponse
AllComputeViewByPM
([
From
Route
]
BeginEndTime
request
)
public
ApiResponse
AllComputeViewByPM
([
From
Body
]
BeginEndTime
request
)
{
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
try
{
if
(
Convert
.
ToDateTime
(
request
.
BeginTime
)
>
Convert
.
ToDateTime
(
request
.
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
datas
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp_finance"
,
date
.
BeginTime
,
date
.
EndTime
);
var
data
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp_finance"
,
request
.
BeginTime
,
request
.
EndTime
);
if
(
null
==
data
)
if
(
null
==
datas
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
list
=
new
QueryComputeByDateGetPage
var
list
=
new
QueryComputeByDateGetPage
{
Data
=
data
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalCount
=
data
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
data
.
Count
()
/
request
.
PageSize
),
Data
=
datas
.
Skip
((
request
.
CurrentPage
-
1
)
*
request
.
PageSize
).
Take
(
request
.
PageSize
).
ToList
(),
TotalData
=
_computeService
.
SumDatas
(
datas
),
TotalCount
=
datas
.
Count
(),
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
datas
.
Count
()
/
request
.
PageSize
),
CurrentPage
=
request
.
CurrentPage
,
PageSize
=
request
.
PageSize
};
...
...
@@ -478,33 +431,22 @@ public ApiResponse AllComputeViewByPM([FromRoute] BeginEndTime request)
/// <summary>
/// 获取财务全院绩效列表(视图)下载
/// </summary>
/// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <param name="HospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"allcomputeView/personnel/download
/{HospitalId},{BeginTime},{EndTime}
"
)]
[
Route
(
"allcomputeView/personnel/download"
)]
[
HttpPost
]
public
IActionResult
AllComputeByPMViewDownLoad
(
int
HospitalId
,
string
BeginTime
,
string
EndTime
)
public
IActionResult
AllComputeByPMViewDownLoad
(
[
FromBody
]
BeginEndTimeDown
request
)
{
if
(
request
.
HospitalId
==
0
)
throw
new
PerformanceException
(
"医院ID不能为空"
);
try
{
if
(
Convert
.
ToDateTime
(
BeginTime
)
>
Convert
.
ToDateTime
(
EndTime
))
{
throw
new
PerformanceException
();
}
}
catch
(
Exception
)
{
throw
new
PerformanceException
(
"请输入正确的时间格式"
);
}
var
date
=
_computeService
.
performanceImposeDate
(
request
.
BeginTime
,
request
.
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp_finance"
,
BeginTime
,
EndTime
);
var
list
=
_computeService
.
GetAllComputeViewByDate
(
"view_allot_sign_emp_finance"
,
date
.
BeginTime
,
date
.
EndTime
);
if
(
null
==
list
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
HospitalId
,
list
,
"/report/wholehospital
"
,
"财务全院绩效发放"
);
var
filepath
=
downloadService
.
AllComputerViewReportByDate
(
request
.
HospitalId
,
list
,
"/report/wholehospital_finance_grant
"
,
"财务全院绩效发放"
);
var
memoryStream
=
new
MemoryStream
();
using
(
var
stream
=
new
FileStream
(
filepath
,
FileMode
.
Open
))
...
...
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
439f4778
...
...
@@ -1617,13 +1617,11 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.AllComputeViewDownload(
System.Int32,System.String,System.String
)"
>
<member
name=
"M:Performance.Api.Controllers.ReportController.AllComputeViewDownload(
Performance.DtoModels.BeginEndTimeDown
)"
>
<summary>
全院绩效发放(视图)下载
</summary>
<param
name=
"BeginTime"
></param>
<param
name=
"EndTime"
></param>
<param
name=
"HospitalId"
></param>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GethosdataView(Performance.DtoModels.BeginEndTime)"
>
...
...
@@ -1633,29 +1631,25 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GethosdataView(
System.Int32,System.String,System.String
)"
>
<member
name=
"M:Performance.Api.Controllers.ReportController.GethosdataView(
Performance.DtoModels.BeginEndTimeDown
)"
>
<summary>
全院核算绩效发放(视图) 下载
</summary>
<param
name=
"BeginTime"
></param>
<param
name=
"EndTime"
></param>
<param
name=
"HospitalId"
></param>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.AllComputeViewByPM(Performance.DtoModels.BeginEndTime)"
>
<summary>
获取
全院绩效列表(人事科
)
获取
财务全院绩效列表(视图
)
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.AllComputeByPMViewDownLoad(
System.Int32,System.String,System.String
)"
>
<member
name=
"M:Performance.Api.Controllers.ReportController.AllComputeByPMViewDownLoad(
Performance.DtoModels.BeginEndTimeDown
)"
>
<summary>
全院绩效列表(人事科
)下载
获取财务全院绩效列表(视图
)下载
</summary>
<param
name=
"BeginTime"
></param>
<param
name=
"EndTime"
></param>
<param
name=
"HospitalId"
></param>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportGlobalController.GetAllReportGlobal(System.Int32)"
>
...
...
performance/Performance.DtoModels/Request/ComputerRequest.cs
View file @
439f4778
...
...
@@ -53,21 +53,27 @@ public class ComputerAliasRequest
public
string
Route
{
get
;
set
;
}
}
public
class
BeginEndTime
{
{
public
string
BeginTime
{
get
;
set
;
}
// 2021-01
public
string
EndTime
{
get
;
set
;
}
// 2021-08
public
int
CurrentPage
{
get
;
set
;
}
public
int
PageSize
{
get
;
set
;
}
}
public
class
BeginEndTimeDown
{
public
string
BeginTime
{
get
;
set
;
}
// 2021-01
public
string
EndTime
{
get
;
set
;
}
// 2021-08
public
int
HospitalId
{
get
;
set
;
}
}
public
class
QueryComputeByDateGetPage
public
class
QueryComputeByDateGetPage
{
public
List
<
dynamic
>
Data
{
get
;
set
;
}
public
int
CurrentPage
{
get
;
set
;
}
public
int
TotalPages
{
get
;
set
;
}
public
int
PageSize
{
get
;
set
;
}
public
int
TotalCount
{
get
;
set
;
}
public
Dictionary
<
string
,
decimal
>
TotalData
{
get
;
set
;
}
public
int
CurrentPage
{
get
;
set
;
}
public
int
TotalPages
{
get
;
set
;
}
public
int
PageSize
{
get
;
set
;
}
public
int
TotalCount
{
get
;
set
;
}
}
}
performance/Performance.Services/ComputeService.cs
View file @
439f4778
...
...
@@ -2009,9 +2009,9 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route)
{
"/result/wholehospital"
,
ComputeConfig
.
AllComputePersonView
},
{
"/result/print/compute"
,
ComputeConfig
.
AllComputeDepartmentView
},
{
"/report/
compute
"
,
ComputeConfig
.
AllComputeViewByDate
},
{
"/report/wholehospital
"
,
ComputeConfig
.
AllComputePerson
ViewByDate
},
{
"/report/
print/compute"
,
ComputeConfig
.
AllComputeDepartment
ViewByDate
},
{
"/report/
wholehospital_grant
"
,
ComputeConfig
.
AllComputeViewByDate
},
{
"/report/wholehospital
_accounting_grant"
,
ComputeConfig
.
AllComputeDepartment
ViewByDate
},
{
"/report/
wholehospital_finance_grant"
,
ComputeConfig
.
AllComputePerson
ViewByDate
},
};
var
init
=
pairs
.
ContainsKey
(
route
.
ToLower
())
?
pairs
[
route
.
ToLower
()]
:
new
List
<
cof_alias
>();
foreach
(
var
item
in
init
)
...
...
@@ -2075,6 +2075,65 @@ public List<dynamic> GetAllComputeViewByDate(string viewName, string BeginTime,
return
reportRepository
.
QueryComputeByDate
(
0
,
viewName
,
BeginTime
,
EndTime
);
}
/// <summary>
///
/// </summary>
/// <param name="datas"></param>
/// <returns></returns>
public
Dictionary
<
string
,
decimal
>
SumDatas
(
List
<
dynamic
>
datas
)
{
string
[]
notSum
=
new
string
[]
{
"hospitalid"
,
"allotid"
,
"year"
,
"month"
,
"jobnumber"
,
"bankcard"
,
"jobtitle"
,
"secondid"
,
"states"
,
"isshowmanage"
,
"batch"
};
Dictionary
<
string
,
decimal
>
pairs
=
new
Dictionary
<
string
,
decimal
>();
foreach
(
var
dt
in
datas
)
{
var
row
=
(
IDictionary
<
string
,
object
>)
dt
;
foreach
(
var
item
in
row
)
{
if
(
notSum
.
Contains
(
item
.
Key
.
ToLower
()))
continue
;
if
(
decimal
.
TryParse
(
item
.
Value
?.
ToString
(),
out
decimal
v
))
{
if
(
pairs
.
TryGetValue
(
item
.
Key
,
out
decimal
sum
))
{
sum
+=
v
;
pairs
[
item
.
Key
]
=
sum
;
}
else
{
pairs
[
item
.
Key
]
=
v
;
}
}
}
}
return
pairs
;
}
/// <summary>
/// 限制绩效发放输入的时间格式
/// </summary>
/// <param name="BeginTime"></param>
/// <param name="EndTime"></param>
/// <returns></returns>
public
BeginEndTime
performanceImposeDate
(
string
BeginTime
,
string
EndTime
)
{
var
Bdate
=
DateTime
.
Now
;
var
Edate
=
DateTime
.
Now
;
if
(
string
.
IsNullOrEmpty
(
BeginTime
)
||
!
DateTime
.
TryParse
(
BeginTime
,
out
Bdate
)
||
string
.
IsNullOrEmpty
(
EndTime
)
||
!
DateTime
.
TryParse
(
EndTime
,
out
Edate
))
throw
new
PerformanceException
(
"请输入正确的时间"
);
if
(
Bdate
>
Edate
)
throw
new
PerformanceException
(
"开始时间不能大于结束时间"
);
string
beginDate
=
Bdate
.
Year
+
$"-
{
Bdate
.
Month
.
ToString
().
PadLeft
(
2
,
'0'
)}
"
;
string
endDate
=
Edate
.
Year
+
$"-
{
Edate
.
Month
.
ToString
().
PadLeft
(
2
,
'0'
)}
"
;
return
new
BeginEndTime
{
BeginTime
=
beginDate
,
EndTime
=
endDate
};
}
}
public
class
ComputeConfig
...
...
@@ -2115,7 +2174,7 @@ public static List<cof_alias> AllComputeViewByDate
_allComputeViewByDate
.
Add
(
new
cof_alias
{
Alias
=
"年份"
,
Name
=
nameof
(
view_allot_sign_emp
.
Year
),
States
=
1
});
_allComputeViewByDate
.
Add
(
new
cof_alias
{
Alias
=
"月份"
,
Name
=
nameof
(
view_allot_sign_emp
.
Month
),
States
=
1
});
_allComputeViewByDate
.
AddRange
(
AllComputeView
);
}
}
return
_allComputeViewByDate
;
}
}
...
...
performance/Performance.Services/DownloadService.cs
View file @
439f4778
...
...
@@ -181,57 +181,7 @@ public string AllComputerViewReport(int allotId, List<dynamic> dynamics, string
{
var
allot
=
perallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
allotId
);
var
hospital
=
perforHospital
.
GetEntity
(
t
=>
t
.
ID
==
allot
.
HospitalId
);
var
alias
=
perforCofalias
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospital
.
ID
);
var
headList
=
_computeService
.
CustomColumnHeaders
(
hospital
.
ID
,
route
).
Where
(
w
=>
w
.
States
==
1
).
ToList
();
var
dpath
=
Path
.
Combine
(
evn
.
ContentRootPath
,
"Files"
,
"PerformanceRelease"
,
$"
{
allot
.
HospitalId
}
"
);
FileHelper
.
CreateDirectory
(
dpath
);
string
filepath
=
Path
.
Combine
(
dpath
,
$"
{
hospital
.
HosName
}
-
{
name
}
-
{
DateTime
.
Now
:
yyyy
年
MM
月
dd
日
}
"
);
FileHelper
.
DeleteFile
(
filepath
);
using
(
FileStream
fs
=
new
FileStream
(
filepath
,
FileMode
.
OpenOrCreate
))
using
(
ExcelPackage
package
=
new
ExcelPackage
(
fs
))
{
var
worksheet
=
package
.
Workbook
.
Worksheets
.
Add
(
name
);
if
(
dynamics
!=
null
&&
dynamics
.
Count
()
>
0
)
{
var
headers
=
((
IDictionary
<
string
,
object
>)
dynamics
.
ElementAt
(
0
)).
Keys
;
for
(
int
col
=
0
;
col
<
headList
.
Count
;
col
++)
{
worksheet
.
SetValue
(
1
,
col
+
1
,
headList
[
col
].
Alias
);
}
for
(
int
col
=
0
;
col
<
headList
.
Count
;
col
++)
{
for
(
int
row
=
0
;
row
<
dynamics
.
Count
();
row
++)
{
var
data
=
dynamics
.
ElementAt
(
row
);
var
temp
=
(
IDictionary
<
string
,
object
>)
data
;
var
value
=
temp
[
headList
[
col
].
Name
];
worksheet
.
Cells
[
row
+
2
,
col
+
1
].
Value
=
value
;
}
if
(
col
==
0
)
worksheet
.
SetValue
(
dynamics
.
Count
()
+
2
,
col
+
1
,
"合计"
);
else
worksheet
.
Cells
[
dynamics
.
Count
()
+
2
,
col
+
1
].
Formula
=
string
.
Format
(
"SUM({0})"
,
new
ExcelAddress
(
2
,
col
+
1
,
dynamics
.
Count
()
+
1
,
col
+
1
).
Address
);
}
}
worksheet
.
View
.
FreezePanes
(
2
,
1
);
for
(
int
row
=
worksheet
.
Dimension
.
Start
.
Row
;
row
<=
worksheet
.
Dimension
.
End
.
Row
;
row
++)
{
for
(
int
col
=
worksheet
.
Dimension
.
Start
.
Column
;
col
<=
worksheet
.
Dimension
.
End
.
Column
;
col
++)
{
worksheet
.
Cells
[
row
,
col
].
Style
.
Border
.
BorderAround
(
ExcelBorderStyle
.
Thin
);
worksheet
.
Cells
[
row
,
col
].
Style
.
Numberformat
.
Format
=
"#,##0.00"
;
}
}
package
.
Save
();
}
return
filepath
;
return
AllComputerDown
(
hospital
,
dynamics
,
route
,
name
);
}
/// <summary>
/// 财务、全院绩效发放下载(时间段)
...
...
@@ -243,15 +193,15 @@ public string AllComputerViewReport(int allotId, List<dynamic> dynamics, string
public
string
AllComputerViewReportByDate
(
int
HospitalId
,
List
<
dynamic
>
dynamics
,
string
route
,
string
name
)
{
var
hospital
=
perforHospital
.
GetEntity
(
t
=>
t
.
ID
==
HospitalId
);
var
alias
=
perforCofalias
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospital
.
ID
);
return
AllComputerDown
(
hospital
,
dynamics
,
route
,
name
);
}
public
string
AllComputerDown
(
sys_hospital
hospital
,
List
<
dynamic
>
dynamics
,
string
route
,
string
name
)
{
var
headList
=
_computeService
.
CustomColumnHeaders
(
hospital
.
ID
,
route
).
Where
(
w
=>
w
.
States
==
1
).
ToList
();
var
dpath
=
Path
.
Combine
(
evn
.
ContentRootPath
,
"Files"
,
"PerformanceRelease"
,
$"
{
HospitalId
}
"
);
var
dpath
=
Path
.
Combine
(
evn
.
ContentRootPath
,
"Files"
,
"PerformanceRelease"
,
$"
{
hospital
.
ID
}
"
);
FileHelper
.
CreateDirectory
(
dpath
);
string
filepath
=
Path
.
Combine
(
dpath
,
$"
{
hospital
.
HosName
}
-
{
name
}
-
{
DateTime
.
Now
:
yyyy
年
MM
月
dd
日
}
"
);
FileHelper
.
DeleteFile
(
filepath
);
using
(
FileStream
fs
=
new
FileStream
(
filepath
,
FileMode
.
OpenOrCreate
))
using
(
ExcelPackage
package
=
new
ExcelPackage
(
fs
))
{
...
...
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