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
b9922a39
Commit
b9922a39
authored
Jun 06, 2019
by
李承祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
绩效类型相关修改,绩效参考对象取值计算
parent
084b90fd
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
76 additions
and
28 deletions
+76
-28
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
+5
-0
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
+18
-6
performance/Performance.DtoModels/PerExcel/PerDataEmployee.cs
+5
-0
performance/Performance.EntityModels/Entity/im_employee.cs
+5
-0
performance/Performance.EntityModels/Entity/sys_extract.cs
+7
-7
performance/Performance.Services/AllotCompute/BaiscNormService.cs
+10
-2
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+5
-1
performance/Performance.Services/ComputeService.cs
+3
-3
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+18
-9
No files found.
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
View file @
b9922a39
...
@@ -27,6 +27,11 @@ public class ComputeEmployee
...
@@ -27,6 +27,11 @@ public class ComputeEmployee
public
string
FitPeople
{
get
;
set
;
}
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
/// </summary>
public
Nullable
<
decimal
>
FitPeopleRatio
{
get
;
set
;
}
/// <summary>
/// 核算基数
/// 核算基数
/// </summary>
/// </summary>
public
Nullable
<
decimal
>
BasicNorm
{
get
;
set
;
}
public
Nullable
<
decimal
>
BasicNorm
{
get
;
set
;
}
...
...
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
View file @
b9922a39
...
@@ -68,14 +68,14 @@ public enum PerformanceType
...
@@ -68,14 +68,14 @@ public enum PerformanceType
Null
=
0
,
Null
=
0
,
/// <summary> 科室主任人均绩效 </summary>
/// <summary> 科室主任人均绩效 </summary>
[
Description
(
"科室主任人均绩效"
)]
//
[Description("科室主任人均绩效")]
Director
=
1
,
//
Director = 1,
/// <summary> 科室副主任人均绩效 </summary>
/// <summary> 科室副主任人均绩效 </summary>
[
Description
(
"科室副主任人均绩效"
)]
[
Description
(
"科室副主任人均绩效"
)]
DeputyDirector
=
2
,
DeputyDirector
=
2
,
/// <summary> 科室护士长人均绩效 </summary>
/// <summary> 科室护士长人均绩效 </summary>
[
Description
(
"科室护士长人均绩效"
)]
//
[Description("科室护士长人均绩效")]
Nurse
=
3
,
//
Nurse = 3,
/// <summary> 临床科室主任人均绩效 (绩效标准取 科室主任人均绩效) </summary>
/// <summary> 临床科室主任人均绩效 (绩效标准取 科室主任人均绩效) </summary>
[
Description
(
"临床科室主任人均绩效"
)]
[
Description
(
"临床科室主任人均绩效"
)]
...
@@ -84,10 +84,22 @@ public enum PerformanceType
...
@@ -84,10 +84,22 @@ public enum PerformanceType
[
Description
(
"临床科室中层人均绩效"
)]
[
Description
(
"临床科室中层人均绩效"
)]
ReferenceDirectorAvg
=
5
,
ReferenceDirectorAvg
=
5
,
/// <summary> 临床科室护士人均绩效的95% (绩效标准取 护理组临床科室单元核算表 平均值) </summary>
/// <summary> 临床科室护士人均绩效的95% (绩效标准取 护理组临床科室单元核算表 平均值) </summary>
[
Description
(
"临床科室护士人均绩效的95%"
)]
//
[Description("临床科室护士人均绩效的95%")]
ReferenceNurseAvg95
=
6
,
//
ReferenceNurseAvg95 = 6,
/// <summary> 临床科室护士长人均绩效 (绩效标准取 护士长 平均值)</summary>
/// <summary> 临床科室护士长人均绩效 (绩效标准取 护士长 平均值)</summary>
[
Description
(
"临床科室护士长人均绩效"
)]
[
Description
(
"临床科室护士长人均绩效"
)]
ReferenceHeadNurse
=
7
,
ReferenceHeadNurse
=
7
,
/// <summary> 临床科室副主任人均绩效 </summary>
[
Description
(
"临床科室副主任人均绩效"
)]
ReferenceDeputyDirector
=
8
,
/// <summary> 临床科室医生人均绩效 </summary>
[
Description
(
"临床科室医生人均绩效"
)]
ReferenceDoctor
=
9
,
/// <summary> 临床科室护士人均绩效 </summary>
[
Description
(
"临床科室护士人均绩效"
)]
ReferenceNurse
=
10
,
/// <summary> 行政工勤人均绩效 </summary>
[
Description
(
"行政工勤人均绩效"
)]
LogisticsWorker
=
11
,
}
}
}
}
performance/Performance.DtoModels/PerExcel/PerDataEmployee.cs
View file @
b9922a39
...
@@ -22,6 +22,11 @@ public class PerDataEmployee : IPerData
...
@@ -22,6 +22,11 @@ public class PerDataEmployee : IPerData
public
string
FitPeople
{
get
;
set
;
}
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
/// </summary>
public
Nullable
<
decimal
>
FitPeopleRatio
{
get
;
set
;
}
/// <summary>
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// </summary>
/// </summary>
public
string
AccountType
{
get
;
set
;
}
public
string
AccountType
{
get
;
set
;
}
...
...
performance/Performance.EntityModels/Entity/im_employee.cs
View file @
b9922a39
...
@@ -57,6 +57,11 @@ public class im_employee
...
@@ -57,6 +57,11 @@ public class im_employee
public
string
FitPeople
{
get
;
set
;
}
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 绩效基数核算参考对象取值比例(如临床科室护士*95%)
/// </summary>
public
Nullable
<
decimal
>
FitPeopleRatio
{
get
;
set
;
}
/// <summary>
/// 医生姓名
/// 医生姓名
/// </summary>
/// </summary>
public
string
DoctorName
{
get
;
set
;
}
public
string
DoctorName
{
get
;
set
;
}
...
...
performance/Performance.EntityModels/Entity/sys_extract.cs
View file @
b9922a39
...
@@ -7,35 +7,35 @@
...
@@ -7,35 +7,35 @@
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
{
/// <summary>
/// <summary>
/// 医院数据提取脚本
/// 医院数据提取脚本
/// </summary>
/// </summary>
[
Table
(
"sys_extract"
)]
[
Table
(
"sys_extract"
)]
public
class
sys_extract
public
class
sys_extract
{
{
/// <summary>
/// <summary>
///
///
/// </summary>
/// </summary>
[
Key
]
[
Key
]
public
int
Id
{
get
;
set
;
}
public
int
Id
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 医院ID
/// 医院ID
/// </summary>
/// </summary>
public
Nullable
<
int
>
HospitalId
{
get
;
set
;
}
public
Nullable
<
int
>
HospitalId
{
get
;
set
;
}
/// <summary>
/// <summary>
/// EXCEL中SHEET名称
/// EXCEL中SHEET名称
/// </summary>
/// </summary>
public
string
SheetName
{
get
;
set
;
}
public
string
SheetName
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 执行脚本
/// 执行脚本
/// </summary>
/// </summary>
public
string
ExecuteScript
{
get
;
set
;
}
public
string
ExecuteScript
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 是否可用 1 可用 2 不可用
/// 是否可用 1 可用 2 不可用
/// </summary>
/// </summary>
...
...
performance/Performance.Services/AllotCompute/BaiscNormService.cs
View file @
b9922a39
...
@@ -36,9 +36,17 @@ public class BaiscNormService : IAutoInjection
...
@@ -36,9 +36,17 @@ public class BaiscNormService : IAutoInjection
{
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床科护长"
)?.
AvgValue
;
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床科护长"
)?.
AvgValue
;
}
}
else
if
(
type
==
PerformanceType
.
ReferenceNurse
Avg95
)
else
if
(
type
==
PerformanceType
.
ReferenceNurse
)
{
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床护士"
)?.
AvgValue
*
0.95
m
;
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床护士"
)?.
AvgValue
;
}
else
if
(
type
==
PerformanceType
.
ReferenceDoctor
)
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床医生"
)?.
AvgValue
;
}
else
if
(
type
==
PerformanceType
.
LogisticsWorker
)
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"行政工勤"
)?.
AvgValue
;
}
}
if
(
result
.
HasValue
)
if
(
result
.
HasValue
)
result
=
Math
.
Round
(
result
.
Value
,
4
);
result
=
Math
.
Round
(
result
.
Value
,
4
);
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
b9922a39
...
@@ -107,7 +107,11 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
...
@@ -107,7 +107,11 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
{
{
var
type
=
typeList
.
FirstOrDefault
(
o
=>
o
.
Description
==
t
.
QuantitativeIndicators
);
var
type
=
typeList
.
FirstOrDefault
(
o
=>
o
.
Description
==
t
.
QuantitativeIndicators
);
if
(
type
!=
null
)
if
(
type
!=
null
)
t
.
Quantity
=
baiscNormService
.
GetBaiscNorm
(
baiscnormList
,
(
PerformanceType
)
type
.
Value
);
{
var
radio
=
perforImEmployeeRepository
.
GetEntities
(
p
=>
p
.
FitPeople
==
EnumHelper
.
GetDescription
((
PerformanceType
)
type
.
Value
)
&&
p
.
AllotID
==
allot
.
ID
)
?.
FirstOrDefault
().
FitPeopleRatio
??
1
;
t
.
Quantity
=
Math
.
Round
(
baiscNormService
.
GetBaiscNorm
(
baiscnormList
,
(
PerformanceType
)
type
.
Value
).
Value
*
radio
,
4
);
//添加参数计算
}
var
res
=
new
res_specialunit
var
res
=
new
res_specialunit
{
{
...
...
performance/Performance.Services/ComputeService.cs
View file @
b9922a39
...
@@ -55,9 +55,9 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
...
@@ -55,9 +55,9 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
{
{
{
1
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceDirector
}
},
{
1
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceDirector
}
},
{
2
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceDirectorAvg
}
},
{
2
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceDirectorAvg
}
},
{
3
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceNurseAvg95
,
PerformanceType
.
ReferenceHead
Nurse
,
PerformanceType
.
Null
}
},
{
3
,
new
List
<
PerformanceType
>{
PerformanceType
.
LogisticsWorker
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
Reference
Nurse
,
PerformanceType
.
Null
}
},
{
4
,
new
List
<
PerformanceType
>{
PerformanceType
.
Dire
ctor
,
PerformanceType
.
DeputyDirector
}
},
{
4
,
new
List
<
PerformanceType
>{
PerformanceType
.
ReferenceDo
ctor
,
PerformanceType
.
DeputyDirector
}
},
{
5
,
new
List
<
PerformanceType
>{
PerformanceType
.
Nurse
}
}
{
5
,
new
List
<
PerformanceType
>{
PerformanceType
.
Reference
Nurse
}
}
};
};
if
(
keyValues
.
ContainsKey
(
type
))
if
(
keyValues
.
ContainsKey
(
type
))
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
b9922a39
...
@@ -31,9 +31,9 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<Comp
...
@@ -31,9 +31,9 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<Comp
{
{
Dictionary
<
PerformanceType
,
string
>
keyValues
=
new
Dictionary
<
PerformanceType
,
string
>
Dictionary
<
PerformanceType
,
string
>
keyValues
=
new
Dictionary
<
PerformanceType
,
string
>
{
{
{
PerformanceType
.
Director
,
"临床科室主任"
},
{
PerformanceType
.
Reference
Director
,
"临床科室主任"
},
{
PerformanceType
.
DeputyDirector
,
"临床科室副主任"
},
{
PerformanceType
.
DeputyDirector
,
"临床科室副主任"
},
{
PerformanceType
.
Nurse
,
"临床科室护士长"
},
{
PerformanceType
.
ReferenceHead
Nurse
,
"临床科室护士长"
},
};
};
List
<
ComputeResult
>
computeList
=
new
List
<
ComputeResult
>();
List
<
ComputeResult
>
computeList
=
new
List
<
ComputeResult
>();
foreach
(
var
key
in
keyValues
.
Keys
)
foreach
(
var
key
in
keyValues
.
Keys
)
...
@@ -93,10 +93,19 @@ public List<res_baiscnorm> ComputeAvg(List<ComputeResult> computes)
...
@@ -93,10 +93,19 @@ public List<res_baiscnorm> ComputeAvg(List<ComputeResult> computes)
{
{
var
keyList
=
new
[]
var
keyList
=
new
[]
{
{
new
{
type
=
"临床科室"
,
reference
=
"科室主任人均绩效"
,
groupname
=
"临床科主任"
},
//new { type = "临床科室", reference = "科室主任人均绩效", groupname = "临床科主任" },
new
{
type
=
"临床科室"
,
reference
=
"科室副主任人均绩效"
,
groupname
=
"临床科副主任"
},
//new { type = "临床科室", reference = "科室副主任人均绩效", groupname = "临床科副主任" },
new
{
type
=
"医技科室"
,
reference
=
"科室主任人均绩效"
,
groupname
=
"医技科主任"
},
//new { type = "医技科室", reference = "科室主任人均绩效", groupname = "医技科主任" },
new
{
type
=
"临床科室"
,
reference
=
"科室护士长人均绩效"
,
groupname
=
"临床科护长"
},
//new { type = "临床科室", reference = "科室护士长人均绩效", groupname = "临床科护长" },
new
{
type
=
"临床科室"
,
reference
=
"科室副主任人均绩效"
,
groupname
=
"科副主任"
},
new
{
type
=
"临床科室"
,
reference
=
"临床科室主任人均绩效"
,
groupname
=
"临床科主任"
},
new
{
type
=
"医技科室"
,
reference
=
"临床科室主任人均绩效"
,
groupname
=
"医技科主任"
},
new
{
type
=
"临床科室"
,
reference
=
"临床科室副主任人均绩效"
,
groupname
=
"临床科副主任"
},
new
{
type
=
"临床科室"
,
reference
=
"临床科室医生人均绩效"
,
groupname
=
"临床医生"
},
new
{
type
=
"临床科室"
,
reference
=
"临床科室护士长人均绩效"
,
groupname
=
"临床科护长"
},
//new { type = "临床科室", reference = "临床科室护士人均绩效", groupname = "临床护士" },已存在
new
{
type
=
"临床科室"
,
reference
=
"行政工勤人均绩效"
,
groupname
=
"行政工勤"
},
};
};
var
groupList
=
from
cp
in
computes
var
groupList
=
from
cp
in
computes
...
@@ -126,13 +135,13 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<res_
...
@@ -126,13 +135,13 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<res_
{
{
PerformanceType
.
ReferenceDirector
,
PerformanceType
.
ReferenceDirector
,
PerformanceType
.
ReferenceDirectorAvg
,
PerformanceType
.
ReferenceDirectorAvg
,
PerformanceType
.
ReferenceNurse
Avg95
,
PerformanceType
.
ReferenceNurse
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
Null
,
PerformanceType
.
Null
,
};
};
PerformanceType
[]
yearTypes
=
new
PerformanceType
[]
PerformanceType
[]
yearTypes
=
new
PerformanceType
[]
{
{
PerformanceType
.
ReferenceNurse
Avg95
,
PerformanceType
.
ReferenceNurse
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
Null
,
PerformanceType
.
Null
,
};
};
...
@@ -153,7 +162,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<res_
...
@@ -153,7 +162,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<res_
FitPeople
=
item
.
FitPeople
,
FitPeople
=
item
.
FitPeople
,
Grant
=
item
.
Grant
,
Grant
=
item
.
Grant
,
WorkTime
=
item
.
WorkTime
,
WorkTime
=
item
.
WorkTime
,
BaiscNormValue
=
baiscnorm
,
BaiscNormValue
=
baiscnorm
*
(
item
.
FitPeopleRatio
??
1
),
//添加参数计算
PostCoefficient
=
item
.
PostCoefficient
,
PostCoefficient
=
item
.
PostCoefficient
,
Attendance
=
item
.
Attendance
,
Attendance
=
item
.
Attendance
,
ScoreAverageRate
=
item
.
ScoreAverageRate
,
ScoreAverageRate
=
item
.
ScoreAverageRate
,
...
...
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