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
8eeea943
Commit
8eeea943
authored
Jan 11, 2021
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
其他工作量sheet数据写入、创建其他工作量sheet时删除“工作量”关键字过滤,写入方法调整,兼容其他工作量样式
parent
fbe334bf
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
45 additions
and
17 deletions
+45
-17
performance/Performance.Repository/PerforCofdirectorRepository.cs
+6
-0
performance/Performance.Services/ExtractExcelService/ExtractHelper/ExtractHelper.cs
+11
-12
performance/Performance.Services/ExtractExcelService/ExtractHelper/WriteDataHelper.cs
+5
-3
performance/Performance.Services/ExtractExcelService/WriteDataFactory.cs
+5
-0
performance/Performance.Services/ReportService.cs
+18
-2
No files found.
performance/Performance.Repository/PerforCofdirectorRepository.cs
View file @
8eeea943
...
...
@@ -77,6 +77,12 @@ public int DeleteAllotData(int allotId)
"res_specialunit"
,
"log_check"
,
"per_employee"
,
"report_allot_crowd"
,
"report_allot_summary"
,
"report_original_income"
,
"report_original_persontime"
,
"report_original_stays"
,
"report_original_surgery"
,
};
string
sql
=
""
;
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
...
...
performance/Performance.Services/ExtractExcelService/ExtractHelper/ExtractHelper.cs
View file @
8eeea943
...
...
@@ -36,7 +36,7 @@ private static (string TempPath, string FilePath) CopyOriginalFile(int hospitalI
FileHelper
.
CreateDirectory
(
dpath
);
string
tempPath
=
Path
.
Combine
(
dpath
,
$"Template
{
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmssfff"
)}{
ext
}
"
);
FileHelper
.
Copy
(
originalPath
,
tempPath
);
string
filePath
=
Path
.
Combine
(
dpath
,
$"绩效提取数据
{
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmssfff"
)}
.xls
"
);
string
filePath
=
Path
.
Combine
(
dpath
,
$"绩效提取数据
{
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmssfff"
)}
{
ext
}
"
);
return
(
tempPath
,
filePath
);
}
...
...
@@ -66,19 +66,19 @@ public static void CreateNotExistSheet(List<ex_module> modulesList, IWorkbook wo
}
}
foreach
(
var
module
in
modulesList
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Workload
)?.
OrderBy
(
t
=>
t
.
ModuleName
))
foreach
(
var
module
in
modulesList
.
Where
(
t
=>
t
.
SheetType
==
(
int
)
SheetType
.
Other
Workload
)?.
OrderBy
(
t
=>
t
.
ModuleName
))
{
var
sheet
=
workbook
.
GetSheet
(
module
.
ModuleName
)
??
workbook
.
GetSheet
(
module
.
ModuleName
.
NoBlank
());
if
(
sheet
==
null
)
{
string
key
=
"工作量"
;
if
(
module
.
ModuleName
.
Contains
(
key
))
{
var
item
=
pairs
.
Where
(
t
=>
t
.
Key
.
StartsWith
(
"3."
)).
OrderByDescending
(
t
=>
t
.
Key
).
First
();
var
copysheet
=
workbook
.
GetSheet
(
item
.
Key
);
var
newSheet
=
copysheet
.
CopySheet
(
module
.
ModuleName
,
true
);
workbook
.
SetSheetOrder
(
newSheet
.
SheetName
,
workbook
.
NumberOfSheets
-
1
);
}
//
string key = "工作量";
//
if (module.ModuleName.Contains(key))
//
{
var
item
=
pairs
.
Where
(
t
=>
t
.
Key
.
StartsWith
(
"3."
)).
OrderByDescending
(
t
=>
t
.
Key
).
First
();
var
copysheet
=
workbook
.
GetSheet
(
item
.
Key
);
var
newSheet
=
copysheet
.
CopySheet
(
module
.
ModuleName
,
true
);
workbook
.
SetSheetOrder
(
newSheet
.
SheetName
,
workbook
.
NumberOfSheets
-
1
);
//
}
}
}
}
...
...
@@ -109,4 +109,4 @@ public static void ClearSheetPartialData(ISheet sheet, PerSheetPoint point, Shee
}
}
}
}
\ No newline at end of file
}
performance/Performance.Services/ExtractExcelService/ExtractHelper/WriteDataHelper.cs
View file @
8eeea943
...
...
@@ -48,7 +48,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
}
if
(
columns
==
null
||
!
columns
.
Any
())
return
;
var
factorStyle
=
sheetType
==
SheetType
.
Workload
var
factorStyle
=
new
SheetType
[]
{
SheetType
.
Workload
,
SheetType
.
OtherWorkload
}.
Contains
(
sheetType
)
?
style
.
SetBgkColorAndFormat
(
style
.
GetCellStyle
(),
StyleType
.
系数
,
CellFormat
.
数字
)
:
style
.
SetBgkColorAndFormat
(
style
.
GetCellStyle
(),
StyleType
.
系数
,
CellFormat
.
百分比
);
var
columnStyle
=
style
.
SetBgkColorAndFormat
(
style
.
GetCellStyle
(),
StyleType
.
列头
);
...
...
@@ -61,7 +61,7 @@ public static void WriteSheetHeader(ISheet sheet, PerSheetPoint point, SheetType
columnCell
.
SetCellValue
(
item
.
ColumnName
);
columnCell
.
CellStyle
=
columnStyle
;
if
(
sheetType
==
SheetType
.
Workload
)
if
(
new
SheetType
[]
{
SheetType
.
Workload
,
SheetType
.
OtherWorkload
}.
Contains
(
sheetType
)
)
{
var
workloadCell
=
workloadFactor
.
GetOrCreate
(
headerFirstCellNum
);
workloadCell
.
SetCellValue
<
decimal
>(
item
.
WorkloadFactor
);
...
...
@@ -309,7 +309,9 @@ public static void WriteCollectData(ISheet sheet, PerSheetPoint point, SheetType
{
var
departments
=
data
.
Select
(
s
=>
s
.
Department
).
Where
(
w
=>
!
string
.
IsNullOrEmpty
(
w
)).
Distinct
().
ToList
();
var
filed
=
sheetType
==
SheetType
.
Workload
?
collectWork
:
new
SheetType
[]
{
SheetType
.
OtherIncome
,
SheetType
.
Expend
}.
Contains
(
sheetType
)
?
collectIncome
:
collectDept
;
var
filed
=
new
SheetType
[]
{
SheetType
.
Workload
,
SheetType
.
OtherWorkload
}.
Contains
(
sheetType
)
?
collectWork
:
new
SheetType
[]
{
SheetType
.
OtherIncome
,
SheetType
.
Expend
}.
Contains
(
sheetType
)
?
collectIncome
:
collectDept
;
var
deptStyle
=
style
.
GetCellStyle
();
var
cellStyle
=
style
.
SetBgkColorAndFormat
(
style
.
GetCellStyle
(),
StyleType
.
数据
);
...
...
performance/Performance.Services/ExtractExcelService/WriteDataFactory.cs
View file @
8eeea943
...
...
@@ -17,9 +17,11 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
//case SheetType.Employee:
// factory = new EmployeeDataWrite();
// break;
//case SheetType.ClinicEmployee:
// factory = new ClinicEmployeeDataWrite();
// break;
case
SheetType
.
OtherIncome
:
case
SheetType
.
Expend
:
factory
=
new
OtherIncomeDataWrite
(
logger
);
...
...
@@ -30,11 +32,14 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
break
;
case
SheetType
.
Workload
:
case
SheetType
.
OtherWorkload
:
factory
=
new
WorkloadDataWrite
(
logger
);
break
;
//case SheetType.AccountBasic:
// factory = new AccountBasicDataWrite();
// break;
case
SheetType
.
SpecialUnit
:
factory
=
new
SpecialUnitDataWrite
(
logger
);
break
;
...
...
performance/Performance.Services/ReportService.cs
View file @
8eeea943
...
...
@@ -46,6 +46,7 @@ public List<PerReport> GetAvgPerfor(int hospitalid)
{
return
perforReportRepository
.
GetAvgPerfor
(
hospitalid
);
}
/// <summary>
/// 人群绩效比
/// </summary>
...
...
@@ -148,7 +149,6 @@ public List<PerReport> NurseAvg(int hospitalId, int isIndex)
return
s
.
OrderBy
(
t
=>
t
.
Y
).
ThenByDescending
(
t
=>
t
.
Value
).
ToList
();
}
/// <summary>
/// 门诊患者均次费用
/// </summary>
...
...
@@ -240,6 +240,8 @@ internal int ImportData(per_allot allot)
{
{
"@allotid"
,
allot
.
ID
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@year"
,
allot
.
Year
},
{
"@month"
,
allot
.
Month
},
};
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
2
);
foreach
(
var
item
in
imports
)
...
...
@@ -267,6 +269,8 @@ internal int UpdateData(per_allot allot)
{
{
"@allotid"
,
allot
.
ID
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@year"
,
allot
.
Year
},
{
"@month"
,
allot
.
Month
},
};
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
3
);
foreach
(
var
item
in
imports
)
...
...
@@ -306,18 +310,23 @@ public List<PerReport> IndexReport(int hospitalId, string source)
case
"医院收入结构占比"
:
report
=
perforReportRepository
.
InHosIncome
(
hospitalId
,
currentDate
);
break
;
case
"绩效发放金额"
:
report
=
perforReportRepository
.
PerforPayment
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
case
"绩效发放金额占全院收入占比"
:
report
=
perforReportRepository
.
IndexPerforRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
case
"药占比"
:
report
=
perforReportRepository
.
IndexDrugRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
case
"材料占比"
:
report
=
perforReportRepository
.
IndexMaterialRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
case
"结构占比"
:
report
=
perforReportRepository
.
IndexStructRatio
(
hospitalId
,
currentDate
);
break
;
...
...
@@ -326,7 +335,6 @@ public List<PerReport> IndexReport(int hospitalId, string source)
return
report
;
}
/// <summary>
/// 菜单
/// </summary>
...
...
@@ -340,27 +348,35 @@ public List<PerReport> MenuReport(ReportRequest request)
case
"业务总收入"
:
report
=
perforReportRepository
.
GeneralIncome
(
request
);
break
;
case
"门诊住院业务收入占比"
:
report
=
perforReportRepository
.
InHosIncome
(
request
);
break
;
case
"业务收入结构占比"
:
report
=
perforReportRepository
.
StructRatio
(
request
);
break
;
case
"药占比"
:
report
=
perforReportRepository
.
DrugRatio
(
request
);
break
;
case
"材料占比"
:
report
=
perforReportRepository
.
MaterialRatio
(
request
);
break
;
case
"绩效发放金额占全院收入占比"
:
report
=
perforReportRepository
.
PerforRatio
(
request
);
break
;
case
"绩效群体收入"
:
report
=
perforReportRepository
.
PerforGroup
(
request
);
break
;
case
"医生核算单元人均绩效"
:
report
=
perforReportRepository
.
DoctorAvg
(
request
);
break
;
case
"护理核算单元人均绩效"
:
report
=
perforReportRepository
.
NurseAvg
(
request
);
break
;
...
...
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