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
90175881
Commit
90175881
authored
Jan 18, 2021
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
抽取添加新sheet,特殊科室数据根据核算单元进行关联
parent
2a027676
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
53 additions
and
9 deletions
+53
-9
performance/Performance.Repository/PerforCofdirectorRepository.cs
+26
-4
performance/Performance.Services/ExtractExcelService/ExtractService.cs
+2
-2
performance/Performance.Services/ExtractExcelService/SheetDataWrite/SpecialUnitDataWrite.cs
+2
-1
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 @
90175881
...
@@ -28,6 +28,8 @@ public int DeleteData(int allotId)
...
@@ -28,6 +28,8 @@ public int DeleteData(int allotId)
"im_employee_logistics"
,
"im_employee_logistics"
,
"im_header"
,
"im_header"
,
"im_specialunit"
,
"im_specialunit"
,
"log_check"
,
"per_employee"
,
"per_sheet"
,
"per_sheet"
,
"res_account"
,
"res_account"
,
"res_accountdoctor"
,
"res_accountdoctor"
,
...
@@ -35,7 +37,13 @@ public int DeleteData(int allotId)
...
@@ -35,7 +37,13 @@ public int DeleteData(int allotId)
"res_baiscnorm"
,
"res_baiscnorm"
,
"res_compute"
,
"res_compute"
,
"res_specialunit"
,
"res_specialunit"
,
"log_check"
,
"report_allot_crowd"
,
"report_allot_summary"
,
"report_original_income"
,
"report_original_persontime"
,
"report_original_stays"
,
"report_original_surgery"
,
"report_original_workload"
,
};
};
string
sql
=
""
;
string
sql
=
""
;
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
...
@@ -68,15 +76,22 @@ public int DeleteAllotData(int allotId)
...
@@ -68,15 +76,22 @@ public int DeleteAllotData(int allotId)
"im_employee_logistics"
,
"im_employee_logistics"
,
"im_header"
,
"im_header"
,
"im_specialunit"
,
"im_specialunit"
,
"log_check"
,
"per_employee"
,
"per_sheet"
,
"per_sheet"
,
"report_allot_crowd"
,
"report_allot_summary"
,
"report_original_income"
,
"report_original_persontime"
,
"report_original_stays"
,
"report_original_surgery"
,
"report_original_workload"
,
"res_account"
,
"res_account"
,
"res_accountdoctor"
,
"res_accountdoctor"
,
"res_accountnurse"
,
"res_accountnurse"
,
"res_baiscnorm"
,
"res_baiscnorm"
,
"res_compute"
,
"res_compute"
,
"res_specialunit"
,
"res_specialunit"
,
"log_check"
,
"per_employee"
,
};
};
string
sql
=
""
;
string
sql
=
""
;
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
...
@@ -89,13 +104,20 @@ public int DeleteResData(int allotId)
...
@@ -89,13 +104,20 @@ public int DeleteResData(int allotId)
{
{
List
<
string
>
tableArray
=
new
List
<
string
>
List
<
string
>
tableArray
=
new
List
<
string
>
{
{
"log_dbug"
,
"report_allot_crowd"
,
"report_allot_summary"
,
"report_original_income"
,
"report_original_persontime"
,
"report_original_stays"
,
"report_original_surgery"
,
"report_original_workload"
,
"res_account"
,
"res_account"
,
"res_accountdoctor"
,
"res_accountdoctor"
,
"res_accountnurse"
,
"res_accountnurse"
,
"res_baiscnorm"
,
"res_baiscnorm"
,
"res_compute"
,
"res_compute"
,
"res_specialunit"
,
"res_specialunit"
,
"log_dbug"
,
};
};
string
sql
=
""
;
string
sql
=
""
;
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
tableArray
.
ForEach
(
t
=>
sql
+=
$"delete from
{
t
}
where allotid=@allotId;"
);
...
...
performance/Performance.Services/ExtractExcelService/ExtractService.cs
View file @
90175881
...
@@ -21,7 +21,7 @@ public class ExtractService : IAutoInjection
...
@@ -21,7 +21,7 @@ public class ExtractService : IAutoInjection
private
readonly
PerSheetService
perSheetService
;
private
readonly
PerSheetService
perSheetService
;
private
readonly
PerforHospitalRepository
hospitalRepository
;
private
readonly
PerforHospitalRepository
hospitalRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
private
readonly
PerforPerallotRepository
perallotRepository
;
private
readonly
Perfor
c
ollectdataRepository
collectdataRepository
;
private
readonly
Perfor
C
ollectdataRepository
collectdataRepository
;
private
readonly
PerforPeremployeeRepository
peremployeeRepository
;
private
readonly
PerforPeremployeeRepository
peremployeeRepository
;
public
ExtractService
(
public
ExtractService
(
...
@@ -32,7 +32,7 @@ public class ExtractService : IAutoInjection
...
@@ -32,7 +32,7 @@ public class ExtractService : IAutoInjection
PerSheetService
perSheetService
,
PerSheetService
perSheetService
,
PerforHospitalRepository
hospitalRepository
,
PerforHospitalRepository
hospitalRepository
,
PerforPerallotRepository
perallotRepository
,
PerforPerallotRepository
perallotRepository
,
Perfor
c
ollectdataRepository
collectdataRepository
,
Perfor
C
ollectdataRepository
collectdataRepository
,
PerforPeremployeeRepository
peremployeeRepository
PerforPeremployeeRepository
peremployeeRepository
)
)
{
{
...
...
performance/Performance.Services/ExtractExcelService/SheetDataWrite/SpecialUnitDataWrite.cs
View file @
90175881
...
@@ -36,6 +36,7 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp
...
@@ -36,6 +36,7 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp
if
(
exSpecials
==
null
||
!
exSpecials
.
Any
())
return
;
if
(
exSpecials
==
null
||
!
exSpecials
.
Any
())
return
;
var
extractDto
=
(
data
as
List
<
ExtractTransDto
>)
??
new
List
<
ExtractTransDto
>();
var
extractDto
=
(
data
as
List
<
ExtractTransDto
>)
??
new
List
<
ExtractTransDto
>();
logger
.
LogInformation
(
"特殊科室数据1:"
+
JsonHelper
.
Serialize
(
extractDto
));
var
mergedRegions
=
new
List
<
SpecialCellRange
>();
var
mergedRegions
=
new
List
<
SpecialCellRange
>();
RemoveMergedRegion
(
sheet
,
ref
mergedRegions
);
RemoveMergedRegion
(
sheet
,
ref
mergedRegions
);
...
@@ -44,7 +45,7 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp
...
@@ -44,7 +45,7 @@ public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetTyp
var
index
=
columns
.
IndexOf
(
SpecialUnitColumns
.
Department
);
var
index
=
columns
.
IndexOf
(
SpecialUnitColumns
.
Department
);
var
needMergedRegions
=
mergedRegions
.
Where
(
t
=>
t
.
FirstColumn
==
index
&&
t
.
LastColumn
==
index
)?.
ToList
()
??
new
List
<
SpecialCellRange
>();
var
needMergedRegions
=
mergedRegions
.
Where
(
t
=>
t
.
FirstColumn
==
index
&&
t
.
LastColumn
==
index
)?.
ToList
()
??
new
List
<
SpecialCellRange
>();
var
specials
=
exSpecials
.
GroupJoin
(
extractDto
,
outer
=>
new
{
outer
.
Department
,
outer
.
Target
},
inner
=>
new
{
inner
.
Department
,
Target
=
inner
.
Category
},
var
specials
=
exSpecials
.
GroupJoin
(
extractDto
,
outer
=>
new
{
outer
.
Department
,
outer
.
Target
},
inner
=>
new
{
Department
=
inner
.
InpatDoctorAccounting
,
Target
=
inner
.
Category
},
(
outer
,
inner
)
=>
new
SpecialDto
(
outer
,
inner
)
=>
new
SpecialDto
{
{
Department
=
outer
.
Department
,
Department
=
outer
.
Department
,
...
...
performance/Performance.Services/ExtractExcelService/WriteDataFactory.cs
View file @
90175881
...
@@ -17,9 +17,11 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
...
@@ -17,9 +17,11 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
//case SheetType.Employee:
//case SheetType.Employee:
// factory = new EmployeeDataWrite();
// factory = new EmployeeDataWrite();
// break;
// break;
//case SheetType.ClinicEmployee:
//case SheetType.ClinicEmployee:
// factory = new ClinicEmployeeDataWrite();
// factory = new ClinicEmployeeDataWrite();
// break;
// break;
case
SheetType
.
OtherIncome
:
case
SheetType
.
OtherIncome
:
case
SheetType
.
Expend
:
case
SheetType
.
Expend
:
factory
=
new
OtherIncomeDataWrite
(
logger
);
factory
=
new
OtherIncomeDataWrite
(
logger
);
...
@@ -30,11 +32,14 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
...
@@ -30,11 +32,14 @@ public ISheetDataWrite GetWriteData(SheetType sheetType, ILogger logger)
break
;
break
;
case
SheetType
.
Workload
:
case
SheetType
.
Workload
:
case
SheetType
.
OtherWorkload
:
factory
=
new
WorkloadDataWrite
(
logger
);
factory
=
new
WorkloadDataWrite
(
logger
);
break
;
break
;
//case SheetType.AccountBasic:
//case SheetType.AccountBasic:
// factory = new AccountBasicDataWrite();
// factory = new AccountBasicDataWrite();
// break;
// break;
case
SheetType
.
SpecialUnit
:
case
SheetType
.
SpecialUnit
:
factory
=
new
SpecialUnitDataWrite
(
logger
);
factory
=
new
SpecialUnitDataWrite
(
logger
);
break
;
break
;
...
...
performance/Performance.Services/ReportService.cs
View file @
90175881
...
@@ -46,6 +46,7 @@ public List<PerReport> GetAvgPerfor(int hospitalid)
...
@@ -46,6 +46,7 @@ public List<PerReport> GetAvgPerfor(int hospitalid)
{
{
return
perforReportRepository
.
GetAvgPerfor
(
hospitalid
);
return
perforReportRepository
.
GetAvgPerfor
(
hospitalid
);
}
}
/// <summary>
/// <summary>
/// 人群绩效比
/// 人群绩效比
/// </summary>
/// </summary>
...
@@ -148,7 +149,6 @@ public List<PerReport> NurseAvg(int hospitalId, int isIndex)
...
@@ -148,7 +149,6 @@ public List<PerReport> NurseAvg(int hospitalId, int isIndex)
return
s
.
OrderBy
(
t
=>
t
.
Y
).
ThenByDescending
(
t
=>
t
.
Value
).
ToList
();
return
s
.
OrderBy
(
t
=>
t
.
Y
).
ThenByDescending
(
t
=>
t
.
Value
).
ToList
();
}
}
/// <summary>
/// <summary>
/// 门诊患者均次费用
/// 门诊患者均次费用
/// </summary>
/// </summary>
...
@@ -240,6 +240,8 @@ internal int ImportData(per_allot allot)
...
@@ -240,6 +240,8 @@ internal int ImportData(per_allot allot)
{
{
{
"@allotid"
,
allot
.
ID
},
{
"@allotid"
,
allot
.
ID
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@year"
,
allot
.
Year
},
{
"@month"
,
allot
.
Month
},
};
};
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
2
);
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
2
);
foreach
(
var
item
in
imports
)
foreach
(
var
item
in
imports
)
...
@@ -267,6 +269,8 @@ internal int UpdateData(per_allot allot)
...
@@ -267,6 +269,8 @@ internal int UpdateData(per_allot allot)
{
{
{
"@allotid"
,
allot
.
ID
},
{
"@allotid"
,
allot
.
ID
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@hospitalid"
,
allot
.
HospitalId
},
{
"@year"
,
allot
.
Year
},
{
"@month"
,
allot
.
Month
},
};
};
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
3
);
var
imports
=
repimportconfigRepository
.
GetEntities
(
w
=>
w
.
ScriptType
==
3
);
foreach
(
var
item
in
imports
)
foreach
(
var
item
in
imports
)
...
@@ -306,18 +310,23 @@ public List<PerReport> IndexReport(int hospitalId, string source)
...
@@ -306,18 +310,23 @@ public List<PerReport> IndexReport(int hospitalId, string source)
case
"医院收入结构占比"
:
case
"医院收入结构占比"
:
report
=
perforReportRepository
.
InHosIncome
(
hospitalId
,
currentDate
);
report
=
perforReportRepository
.
InHosIncome
(
hospitalId
,
currentDate
);
break
;
break
;
case
"绩效发放金额"
:
case
"绩效发放金额"
:
report
=
perforReportRepository
.
PerforPayment
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
report
=
perforReportRepository
.
PerforPayment
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
break
;
case
"绩效发放金额占全院收入占比"
:
case
"绩效发放金额占全院收入占比"
:
report
=
perforReportRepository
.
IndexPerforRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
report
=
perforReportRepository
.
IndexPerforRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
break
;
case
"药占比"
:
case
"药占比"
:
report
=
perforReportRepository
.
IndexDrugRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
report
=
perforReportRepository
.
IndexDrugRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
break
;
case
"材料占比"
:
case
"材料占比"
:
report
=
perforReportRepository
.
IndexMaterialRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
report
=
perforReportRepository
.
IndexMaterialRatio
(
hospitalId
,
currentDate
,
yoyDate
,
chainDate
);
break
;
break
;
case
"结构占比"
:
case
"结构占比"
:
report
=
perforReportRepository
.
IndexStructRatio
(
hospitalId
,
currentDate
);
report
=
perforReportRepository
.
IndexStructRatio
(
hospitalId
,
currentDate
);
break
;
break
;
...
@@ -326,7 +335,6 @@ public List<PerReport> IndexReport(int hospitalId, string source)
...
@@ -326,7 +335,6 @@ public List<PerReport> IndexReport(int hospitalId, string source)
return
report
;
return
report
;
}
}
/// <summary>
/// <summary>
/// 菜单
/// 菜单
/// </summary>
/// </summary>
...
@@ -340,27 +348,35 @@ public List<PerReport> MenuReport(ReportRequest request)
...
@@ -340,27 +348,35 @@ public List<PerReport> MenuReport(ReportRequest request)
case
"业务总收入"
:
case
"业务总收入"
:
report
=
perforReportRepository
.
GeneralIncome
(
request
);
report
=
perforReportRepository
.
GeneralIncome
(
request
);
break
;
break
;
case
"门诊住院业务收入占比"
:
case
"门诊住院业务收入占比"
:
report
=
perforReportRepository
.
InHosIncome
(
request
);
report
=
perforReportRepository
.
InHosIncome
(
request
);
break
;
break
;
case
"业务收入结构占比"
:
case
"业务收入结构占比"
:
report
=
perforReportRepository
.
StructRatio
(
request
);
report
=
perforReportRepository
.
StructRatio
(
request
);
break
;
break
;
case
"药占比"
:
case
"药占比"
:
report
=
perforReportRepository
.
DrugRatio
(
request
);
report
=
perforReportRepository
.
DrugRatio
(
request
);
break
;
break
;
case
"材料占比"
:
case
"材料占比"
:
report
=
perforReportRepository
.
MaterialRatio
(
request
);
report
=
perforReportRepository
.
MaterialRatio
(
request
);
break
;
break
;
case
"绩效发放金额占全院收入占比"
:
case
"绩效发放金额占全院收入占比"
:
report
=
perforReportRepository
.
PerforRatio
(
request
);
report
=
perforReportRepository
.
PerforRatio
(
request
);
break
;
break
;
case
"绩效群体收入"
:
case
"绩效群体收入"
:
report
=
perforReportRepository
.
PerforGroup
(
request
);
report
=
perforReportRepository
.
PerforGroup
(
request
);
break
;
break
;
case
"医生核算单元人均绩效"
:
case
"医生核算单元人均绩效"
:
report
=
perforReportRepository
.
DoctorAvg
(
request
);
report
=
perforReportRepository
.
DoctorAvg
(
request
);
break
;
break
;
case
"护理核算单元人均绩效"
:
case
"护理核算单元人均绩效"
:
report
=
perforReportRepository
.
NurseAvg
(
request
);
report
=
perforReportRepository
.
NurseAvg
(
request
);
break
;
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