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
c5d7f4fc
Commit
c5d7f4fc
authored
Dec 30, 2021
by
纪旭 韦
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
基本完成绩效汇总三个表
parent
cdff00e8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
175 additions
and
37 deletions
+175
-37
performance/Performance.Api/Controllers/ReportController.cs
+0
-0
performance/Performance.Api/Program.cs
+1
-0
performance/Performance.Api/wwwroot/Performance.Api.xml
+38
-3
performance/Performance.DtoModels/Request/ComputerRequest.cs
+17
-8
performance/Performance.EntityModels/Other/view_allot_sign_dept.cs
+1
-1
performance/Performance.Repository/PerforReportRepository .cs
+35
-16
performance/Performance.Services/ComputeService.cs
+79
-5
performance/Performance.Services/DownloadService.cs
+4
-4
No files found.
performance/Performance.Api/Controllers/ReportController.cs
View file @
c5d7f4fc
This diff is collapsed.
Click to expand it.
performance/Performance.Api/Program.cs
View file @
c5d7f4fc
...
...
@@ -45,5 +45,6 @@ public static void Main(string[] args)
logging
.
SetMinimumLevel
(
LogLevel
.
Trace
);
})
.
UseNLog
();
}
}
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
c5d7f4fc
...
...
@@ -1663,6 +1663,20 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GetWholeHospitalGrantSummary(Performance.DtoModels.HospitalGrantSummary)"
>
<summary>
全院绩效发放汇总表(视图)
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.WholeHospitalGrantSummaryDownload(Performance.DtoModels.HospitalGrantSummaryDown)"
>
<summary>
全院绩效发放汇总表(视图)下载
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GethosdataView(Performance.DtoModels.BeginEndTime)"
>
<summary>
全院核算绩效发放(视图)
...
...
@@ -1670,16 +1684,23 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GetWholeHospitalGrantSummary(Performance.DtoModels.HospitalGrantSummary)"
>
<member
name=
"M:Performance.Api.Controllers.ReportController.GethosdataView(Performance.DtoModels.BeginEndTimeDown)"
>
<summary>
全院核算绩效发放(视图) 下载
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GetWholeHospitalAccountingGrantSummary(Performance.DtoModels.HospitalGrantSummary)"
>
<summary>
全院核算绩效发放汇总表(视图)
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.
GethosdataView(Performance.DtoModels.BeginEndTime
Down)"
>
<member
name=
"M:Performance.Api.Controllers.ReportController.
WholeHospitalAccountingGrantSummaryDownload(Performance.DtoModels.HospitalGrantSummary
Down)"
>
<summary>
全院核算绩效发放
(视图)
下载
全院核算绩效发放
汇总表(视图)
下载
</summary>
<param
name=
"request"
></param>
<returns></returns>
...
...
@@ -1698,6 +1719,20 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.GetWholeHospitalFinanceGrantSummary(Performance.DtoModels.HospitalGrantSummary)"
>
<summary>
财务全院绩效发放汇总表(视图)
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportController.WholeHospitalFinanceGrantSummaryDownload(Performance.DtoModels.HospitalGrantSummaryDown)"
>
<summary>
财务全院绩效发放汇总表(视图)下载
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.ReportGlobalController.GetAllReportGlobal(System.Int32)"
>
<summary>
获取报表配置信息
...
...
performance/Performance.DtoModels/Request/ComputerRequest.cs
View file @
c5d7f4fc
...
...
@@ -73,25 +73,34 @@ public class HospitalGrantSummary : BeginEndTime
public
List
<
string
>
GroupBy
{
get
;
set
;
}
public
List
<
string
>
SumBy
{
get
;
set
;
}
}
public
class
HospitalGrantSummaryDown
:
HospitalGrantSummary
{
public
int
HospitalId
{
get
;
set
;
}
public
string
[]
heads
{
get
;
set
;
}
}
public
class
QueryComputeByDateGetPage
public
class
QueryComputeByDateGetPage
:
GetPage
{
public
List
<
dynamic
>
Data
{
get
;
set
;
}
public
Dictionary
<
string
,
decimal
>
TotalData
{
get
;
set
;
}
}
public
class
GetPage
{
public
int
CurrentPage
{
get
;
set
;
}
public
int
TotalPages
{
get
;
set
;
}
public
int
PageSize
{
get
;
set
;
}
public
int
TotalCount
{
get
;
set
;
}
}
public
class
QueryComputeByDateGetTotal
public
class
QueryComputeByDateGetTotal
:
GetPage
{
public
List
<
Head
>
Head
{
get
;
set
;
}
public
List
<
dynamic
>
Data
{
get
;
set
;
}
public
Dictionary
<
string
,
decimal
>
TotalData
{
get
;
set
;
}}
}
public
class
Head
{
public
string
Name
{
get
;
set
;
}
public
string
Alias
{
get
;
set
;
}
public
decimal
TotalData
{
get
;
set
;
}}
}
public
class
Head
{
public
string
Name
{
get
;
set
;
}
public
string
Alias
{
get
;
set
;
}
}
performance/Performance.EntityModels/Other/view_allot_sign_dept.cs
View file @
c5d7f4fc
...
...
@@ -6,7 +6,7 @@ public class view_allot_sign_dept
public
int
AllotID
{
get
;
set
;
}
public
int
Year
{
get
;
set
;
}
public
int
Month
{
get
;
set
;
}
public
int
Unit
Nam
e
{
get
;
set
;
}
public
int
Unit
Typ
e
{
get
;
set
;
}
public
int
AccountingUnit
{
get
;
set
;
}
public
int
PerforFee
{
get
;
set
;
}
public
int
WorkloadFee
{
get
;
set
;
}
...
...
performance/Performance.Repository/PerforReportRepository .cs
View file @
c5d7f4fc
using
Microsoft.EntityFrameworkCore
;
using
Dapper
;
using
Microsoft.EntityFrameworkCore
;
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
System
;
...
...
@@ -406,25 +407,43 @@ public List<dynamic> QueryComputeByDate(string viewName, DateTime beginTime, Dat
return
DapperQuery
<
dynamic
>(
sql
,
new
{
beginTime
=
beginTime
.
ToString
(
"yyyy-MM-dd"
),
endTime
=
endTime
.
ToString
(
"yyyy-MM-dd"
)
}).
ToList
();
}
public
List
<
dynamic
>
QueryComputeByDateAndTotal
(
string
viewName
,
DateTime
beginTime
,
DateTime
endTime
,
List
<
string
>
groupBy
,
List
<
string
>
sumBy
)
public
(
int
count
,
List
<
dynamic
>
data
)
QueryComputeByDateAndTotal
(
string
viewName
,
DateTime
beginTime
,
DateTime
endTime
,
List
<
string
>
groupBy
,
List
<
string
>
sumBy
,
int
pageNumber
,
int
pageSize
)
{
string
Groupby
=
""
;
string
Sumby
=
""
;
foreach
(
var
item
in
groupBy
)
{
Groupby
+=
$@"
{
item
}
,"
;
}
foreach
(
var
item
in
sumBy
)
if
(!
new
string
[]
{
"view_allot_sign_dept"
,
"view_allot_sign_emp"
,
"view_allot_sign_emp_finance"
}.
Contains
(
viewName
))
return
(
0
,
new
List
<
dynamic
>());
var
sql
=
$@" SELECT * FROM
{
viewName
}
where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime
and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime "
;
Dictionary
<
string
,
List
<
string
>>
dict
=
new
Dictionary
<
string
,
List
<
string
>>
{
Sumby
+=
$@"Sum(
{
item
}
)
{
item
}
,"
;
}
Groupby
=
Groupby
.
Substring
(
0
,
Groupby
.
Length
-
1
);
Sumby
=
Sumby
.
Substring
(
0
,
Sumby
.
Length
-
1
);
{
"view_allot_sign_dept_group"
,
new
List
<
string
>{
"hospitalid"
,
"allotid"
,
"year"
,
"month"
,
"unittype"
,
"accountingunit"
}
},
{
"view_allot_sign_dept_sum"
,
new
List
<
string
>{
"perforfee"
,
"workloadfee"
,
"assessbeforeotherfee"
,
"perfortotal"
,
"scoringaverage"
,
"extra"
,
"medicineextra"
,
"materialsextra"
,
"assesslaterotherfee"
,
"assesslaterperfortotal"
,
"adjustfactor"
,
"adjustlaterotherfee"
,
"aprperforamount"
,
"hideaprotherperforamount"
,
"assesslatermanagementfee"
,
"realgivefee"
}
},
{
"view_allot_sign_emp_group"
,
new
List
<
string
>{
"hospitalid"
,
"year"
,
"month"
,
"source"
,
"allotid"
,
"secondid"
,
"states"
,
"unittype"
,
"accountingunit"
,
"isshowmanage"
,
"employeename"
,
"jobnumber"
,
"jobtitle"
,
"emp_unittype"
,
"emp_accountingunit"
,
"bankcard"
,
"batch"
,
"jobcategory"
,
"duty"
,
"titleposition"
}
},
{
"view_allot_sign_emp_sum"
,
new
List
<
string
>{
"perforsumfee"
,
"performanagementfee"
,
"nightworkperfor"
,
"adjustlaterotherfee"
,
"otherperfor"
,
"hideotherperfor"
,
"shouldgivefee"
,
"reservedratiofee"
,
"realgivefee"
}
},
{
"view_allot_sign_emp_finance_group"
,
new
List
<
string
>{
"hospitalid"
,
"year"
,
"month"
,
"allotid"
,
"jobnumber"
,
"employeename"
,
"jobtitle"
,
"unittype"
,
"accountingunit"
,
"bankcard"
,
"jobcategory"
,
"duty"
,
"titleposition"
}
},
{
"view_allot_sign_emp_finance_sum"
,
new
List
<
string
>{
"perforsumfee"
,
"performanagementfee"
,
"nightworkperfor"
,
"adjustlaterotherfee"
,
"otherperfor"
,
"hideotherperfor"
,
"shouldgivefee"
,
"reservedratiofee"
,
"realgivefee"
}
},
};
var
sql
=
$@"SELECT
{
Groupby
}
,
{
Sumby
}
FROM
{
viewName
}
where STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') >= @beginTime
and STR_TO_DATE(concat(Year,'-',Month,'-01'),'%Y-%m-%d') < @endTime Group By
{
Groupby
}
"
;
if
(
groupBy
==
null
||
!
groupBy
.
Any
(
t
=>
!
string
.
IsNullOrEmpty
(
t
)))
groupBy
=
dict
[
viewName
+
"_group"
];
return
DapperQuery
<
dynamic
>(
sql
,
new
{
beginTime
=
beginTime
.
ToString
(
"yyyy-MM-dd"
),
endTime
=
endTime
.
ToString
(
"yyyy-MM-dd"
)
}).
ToList
();
if
(
sumBy
==
null
||
!
sumBy
.
Any
(
t
=>
!
string
.
IsNullOrEmpty
(
t
)))
sumBy
=
dict
[
viewName
+
"_sum"
];
sql
=
$"select
{
string
.
Join
(
","
,
groupBy
)}
,
{
string
.
Join
(
","
,
sumBy
.
Select
(
t
=>
$"sum(
{
t
}
)
{
t
}
"
))}
from (
{
sql
}
) tab group by
{
string
.
Join
(
","
,
groupBy
)}
"
;
sql
=
$@" select 0 as count;
{
sql
}
"
;
if
(
pageNumber
!=
0
&&
pageSize
!=
0
)
sql
=
$@" select count(1) count from (
{
sql
}
) tab;
select * from (
{
sql
}
) tab limit
{
pageSize
}
offset
{(
pageNumber
-
1
)
*
pageSize
}
;"
;
var
queryMulti
=
context
.
Database
.
GetDbConnection
().
QueryMultiple
(
sql
,
new
{
beginTime
,
endTime
});
var
count
=
queryMulti
.
ReadFirstOrDefault
<
int
>();
var
data
=
queryMulti
.
Read
<
dynamic
>()?.
ToList
();
return
(
count
,
data
);
}
public
CustonPagingData
QueryCustom
(
CustomPagingRequest
request
,
bool
IsHead
)
...
...
performance/Performance.Services/ComputeService.cs
View file @
c5d7f4fc
...
...
@@ -1999,7 +1999,7 @@ private decimal GetDecimal(decimal? value, decimal _ = 0)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
List
<
cof_alias
>
CustomColumnHeaders
(
int
hospitalId
,
string
route
)
public
List
<
cof_alias
>
CustomColumnHeaders
(
int
hospitalId
,
string
route
,
params
string
[]
heads
)
{
var
init
=
new
List
<
cof_alias
>();
var
alias
=
cofaliasRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalId
)
??
new
List
<
cof_alias
>();
...
...
@@ -2016,6 +2016,11 @@ public List<cof_alias> CustomColumnHeaders(int hospitalId, string route)
{
"/report/wholehospital_grant"
,
ComputeConfig
.
AllComputeViewByDate
},
{
"/report/wholehospital_accounting_grant"
,
ComputeConfig
.
AllComputeDepartmentViewByDate
},
{
"/report/wholehospital_finance_grant"
,
ComputeConfig
.
AllComputePersonViewByDate
},
{
"/report/wholehospital_grant_summary"
,
ComputeConfig
.
PerformanceTotal
(
route
,
heads
)
},
{
"/report/wholehospital_accounting_grant_summary"
,
ComputeConfig
.
PerformanceTotal
(
route
,
heads
)
},
{
"/report/wholehospital_finance_grant_summary"
,
ComputeConfig
.
PerformanceTotal
(
route
,
heads
)
},
};
init
=
pairs
.
ContainsKey
(
route
.
ToLower
())
?
pairs
[
route
.
ToLower
()]
:
new
List
<
cof_alias
>();
}
...
...
@@ -2074,12 +2079,68 @@ public List<dynamic> GetAllComputeViewByDate(string viewName, DateTime beginTime
{
return
reportRepository
.
QueryComputeByDate
(
viewName
,
beginTime
,
endTime
);
}
public
List
<
dynamic
>
GetAllComputeViewByDateAndTotal
(
string
viewName
,
DateTime
beginTime
,
DateTime
endTime
,
List
<
string
>
groupBy
,
List
<
string
>
sumBy
)
public
(
int
count
,
List
<
dynamic
>
data
)
GetAllComputeViewByDateAndTotal
(
string
viewName
,
DateTime
beginTime
,
DateTime
endTime
,
List
<
string
>
groupBy
,
List
<
string
>
sumBy
,
int
pageNumber
=
0
,
int
pageSize
=
0
)
{
return
reportRepository
.
QueryComputeByDateAndTotal
(
viewName
,
beginTime
,
endTime
,
groupBy
,
sumBy
);
return
reportRepository
.
QueryComputeByDateAndTotal
(
viewName
,
beginTime
,
endTime
,
groupBy
,
sumBy
,
pageNumber
,
pageSize
);
}
public
QueryComputeByDateGetTotal
GetPerformanceSummary
(
HospitalGrantSummary
request
,
string
ViewName
)
{
DateTime
bdate
=
DateTime
.
Now
;
DateTime
edate
=
DateTime
.
Now
;
if
(
string
.
IsNullOrEmpty
(
request
.
BeginTime
)
||
!
DateTime
.
TryParse
(
request
.
BeginTime
,
out
bdate
)
||
string
.
IsNullOrEmpty
(
request
.
EndTime
)
||
!
DateTime
.
TryParse
(
request
.
EndTime
,
out
edate
))
throw
new
PerformanceException
(
"请输入正确的时间"
);
var
headlist
=
request
.
GroupBy
.
Union
(
request
.
SumBy
).
Select
(
t
=>
t
.
ToLower
()).
ToList
();
List
<
cof_alias
>
AllComputeView
=
ComputeConfig
.
AllComputeView
.
ToList
();
List
<
Head
>
head
=
new
List
<
Head
>();
if
((
request
.
GroupBy
!=
null
&&
request
.
GroupBy
.
Any
(
t
=>
!
string
.
IsNullOrEmpty
(
t
)))
&&
(
request
.
SumBy
!=
null
&&
request
.
SumBy
.
Any
(
t
=>
!
string
.
IsNullOrEmpty
(
t
))))
AllComputeView
=
ComputeConfig
.
AllComputeView
.
Where
(
t
=>
headlist
.
Contains
(
t
.
Name
.
ToLower
())).
ToList
();
foreach
(
var
item
in
AllComputeView
)
{
Head
head1
=
new
Head
()
{
Name
=
item
.
Name
,
Alias
=
item
.
Alias
};
head
.
Add
(
head1
);
}
decimal
TotalData
=
0
;
var
(
TotalCount
,
datas
)
=
GetAllComputeViewByDateAndTotal
(
ViewName
,
bdate
,
edate
.
AddMonths
(
1
),
request
.
GroupBy
,
request
.
SumBy
);
if
(
null
==
datas
)
throw
new
PerformanceException
(
"当前绩效记录不存在"
);
foreach
(
var
item
in
SumDatas
(
datas
))
{
TotalData
+=
item
.
Value
;
}
var
list
=
new
QueryComputeByDateGetTotal
{
Head
=
head
,
Data
=
datas
,
TotalData
=
TotalData
,
TotalCount
=
TotalCount
,
TotalPages
=
(
int
)
Math
.
Ceiling
((
double
)
TotalCount
/
request
.
PageSize
),
CurrentPage
=
request
.
CurrentPage
,
PageSize
=
request
.
PageSize
};
return
list
;
}
/// <summary>
///
///
合计数据
/// </summary>
/// <param name="datas"></param>
/// <returns></returns>
...
...
@@ -2119,6 +2180,16 @@ public List<dynamic> GetAllComputeViewByDateAndTotal(string viewName, DateTime b
public
class
ComputeConfig
{
public
static
List
<
cof_alias
>
PerformanceTotal
(
string
route
,
string
[]
heads
)
{
if
(
route
==
"/report/wholehospital_grant_summary"
)
return
AllComputeView
.
Where
(
t
=>
heads
.
Contains
(
t
.
Name
.
ToLower
())).
ToList
();
if
(
route
==
"/report/wholehospital_accounting_grant_summary"
)
return
AllComputeDepartmentView
.
Where
(
t
=>
heads
.
Contains
(
t
.
Name
.
ToLower
())).
ToList
();
if
(
route
==
"/report/wholehospital_finance_grant_summary"
)
return
AllComputePersonView
.
Where
(
t
=>
heads
.
Contains
(
t
.
Name
.
ToLower
())).
ToList
();
return
null
;
}
public
static
List
<
cof_alias
>
AllComputeView
{
get
;
}
=
new
List
<
cof_alias
>
{
new
cof_alias
{
Alias
=
"来源"
,
Name
=
nameof
(
view_allot_sign_emp
.
Source
),
States
=
1
},
...
...
@@ -2160,6 +2231,9 @@ public static List<cof_alias> AllComputeViewByDate
}
}
public
static
List
<
cof_alias
>
AllComputePersonView
{
get
;
}
=
new
List
<
cof_alias
>
{
...
...
@@ -2194,7 +2268,7 @@ public static List<cof_alias> AllComputePersonViewByDate
}
public
static
List
<
cof_alias
>
AllComputeDepartmentView
{
get
;
}
=
new
List
<
cof_alias
>
{
new
cof_alias
{
Alias
=
"核算群体"
,
Name
=
nameof
(
view_allot_sign_dept
.
Unit
Nam
e
),
States
=
1
},
new
cof_alias
{
Alias
=
"核算群体"
,
Name
=
nameof
(
view_allot_sign_dept
.
Unit
Typ
e
),
States
=
1
},
new
cof_alias
{
Alias
=
"核算单元"
,
Name
=
nameof
(
view_allot_sign_dept
.
AccountingUnit
),
States
=
1
},
new
cof_alias
{
Alias
=
"业绩绩效"
,
Name
=
nameof
(
view_allot_sign_dept
.
PerforFee
),
States
=
1
},
new
cof_alias
{
Alias
=
"工作量绩效"
,
Name
=
nameof
(
view_allot_sign_dept
.
WorkloadFee
),
States
=
1
},
...
...
performance/Performance.Services/DownloadService.cs
View file @
c5d7f4fc
...
...
@@ -191,18 +191,18 @@ public string AllComputerViewReport(int allotId, List<dynamic> dynamics, string
/// <param name="allData"></param>
/// <param name="isAll"></param>
/// <returns></returns>
public
string
AllComputerViewReportByDate
(
int
hospitalId
,
List
<
dynamic
>
dynamics
,
string
route
,
string
name
,
DateTime
beginTime
,
DateTime
endTime
)
public
string
AllComputerViewReportByDate
(
int
hospitalId
,
List
<
dynamic
>
dynamics
,
string
route
,
string
name
,
DateTime
beginTime
,
DateTime
endTime
,
params
string
[]
headlist
)
{
var
hospital
=
perforHospital
.
GetEntity
(
t
=>
t
.
ID
==
hospitalId
);
var
title
=
(
beginTime
.
AddMonths
(
1
).
Date
==
endTime
.
Date
)
?
$"
{
beginTime
.
ToString
(
"yyyy年MM月"
)}{
hospital
.
HosName
}
医院 ---
{
name
}
"
:
$"
{
beginTime
.
ToString
(
"yyyy年MM月"
)}
至
{
endTime
.
ToString
(
"yyyy年MM月"
)}{
hospital
.
HosName
}
医院 ---
{
name
}
"
;
return
AllComputerDown
(
hospital
,
dynamics
,
route
,
title
,
name
);
return
AllComputerDown
(
hospital
,
dynamics
,
route
,
title
,
name
,
headlist
);
}
public
string
AllComputerDown
(
sys_hospital
hospital
,
List
<
dynamic
>
dynamics
,
string
route
,
string
title
,
string
name
)
public
string
AllComputerDown
(
sys_hospital
hospital
,
List
<
dynamic
>
dynamics
,
string
route
,
string
title
,
string
name
,
params
string
[]
headlist
)
{
var
headList
=
_computeService
.
CustomColumnHeaders
(
hospital
.
ID
,
route
).
Where
(
w
=>
w
.
States
==
1
).
ToList
();
var
headList
=
_computeService
.
CustomColumnHeaders
(
hospital
.
ID
,
route
,
headlist
).
Where
(
w
=>
w
.
States
==
1
).
ToList
();
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
日
}
"
);
...
...
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