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
a5373e37
Commit
a5373e37
authored
Jun 23, 2021
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
二次分配审核后查看详情
parent
4f7b6d4a
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
226 additions
and
109 deletions
+226
-109
performance/Performance.Api/Controllers/SecondAllotController.cs
+29
-0
performance/Performance.Api/wwwroot/Performance.Api.xml
+7
-0
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+43
-3
performance/Performance.DtoModels/Second/SecondBaseDto.cs
+11
-0
performance/Performance.DtoModels/Second/SecondColumnDictionary.cs
+24
-0
performance/Performance.DtoModels/Second/SecondLoadDto.cs
+1
-6
performance/Performance.Services/RedistributionService.cs
+111
-100
No files found.
performance/Performance.Api/Controllers/SecondAllotController.cs
View file @
a5373e37
...
...
@@ -797,6 +797,35 @@ public ApiResponse RedistributionEmployee([FromBody] SecondEmployeeDto request)
var
employees
=
_redistributionService
.
RedistributionEmployee
(
request
);
return
new
ApiResponse
(
ResponseType
.
OK
,
employees
);
}
/// <summary>
/// 二次分配审核后查看详情
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[
Route
(
"api/second/redistribution/detail"
)]
[
HttpPost
]
public
ApiResponse
RedistributionDetail
([
FromBody
]
SecondBaseDto
request
)
{
if
(!
Enum
.
IsDefined
(
typeof
(
ComputeMode
),
request
.
ComputeMode
))
throw
new
PerformanceException
(
"暂不支持当前计算方式!"
);
var
second
=
secondAllotService
.
GetSecondAllot
(
request
.
SecondId
);
if
(
second
==
null
)
throw
new
PerformanceException
(
"参数SecondId无效!"
);
var
allot
=
_allotService
.
GetAllot
(
second
.
AllotId
.
Value
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"绩效记录不存在!"
);
// 年资职称绩效占比与工作量绩效占比 校验
var
loads
=
_redistributionService
.
GetWorkLoads
(
allot
.
HospitalId
,
second
.
UnitType
,
second
.
Department
);
var
workloadGroups
=
_redistributionService
.
GetTopWorkloadBodyGroups
(
loads
);
// 返回信息
var
(
head
,
rows
)
=
_redistributionService
.
RedistributionDetail
((
ComputeMode
)
request
.
ComputeMode
,
allot
,
second
);
var
dic
=
_redistributionService
.
GetTableHeaderDictionary
((
ComputeMode
)
request
.
ComputeMode
,
second
,
loads
,
workloadGroups
);
return
new
ApiResponse
(
ResponseType
.
OK
,
new
{
Head
=
head
,
Body
=
rows
,
Dic
=
dic
});
}
#
endregion
}
}
performance/Performance.Api/wwwroot/Performance.Api.xml
View file @
a5373e37
...
...
@@ -1654,6 +1654,13 @@
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.SecondAllotController.RedistributionDetail(Performance.DtoModels.SecondBaseDto)"
>
<summary>
二次分配审核后查看详情
</summary>
<param
name=
"request"
></param>
<returns></returns>
</member>
<member
name=
"M:Performance.Api.Controllers.SheetController.SheetList(Performance.DtoModels.SheetRequest)"
>
<summary>
sheet 列表
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
a5373e37
...
...
@@ -3781,12 +3781,52 @@
纵向计算
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondEmployeeDto.ComputeMode"
>
<member
name=
"P:Performance.DtoModels.SecondBaseDto.ComputeMode"
>
<summary>
计算方式:11 不计算 12 横向计算 13 纵向计算
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Label"
>
<summary>
描述
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Key"
>
<summary>
主键
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.IsTrue"
>
<summary>
是否显示 true显示
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Fixed"
>
<summary>
计算方式:1 不计算 2 横向计算 3 纵向计算
是否固定
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondLoadDto.ComputeMode"
>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Sort"
>
<summary>
排序
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Site"
>
<summary>
位置 Top、Table
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Type"
>
<summary>
类型 单项奖励:SingleAwards,工作量:Workload
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondColumnDictionary.Color"
>
<summary>
颜色class名称
</summary>
</member>
<member
name=
"P:Performance.DtoModels.SecondEmployeeDto.ComputeMode"
>
<summary>
计算方式:11 不计算 12 横向计算 13 纵向计算
</summary>
...
...
performance/Performance.DtoModels/Second/SecondBaseDto.cs
0 → 100644
View file @
a5373e37
namespace
Performance.DtoModels
{
public
class
SecondBaseDto
{
public
int
SecondId
{
get
;
set
;
}
/// <summary>
/// 计算方式:11 不计算 12 横向计算 13 纵向计算
/// </summary>
public
int
ComputeMode
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/Second/SecondColumnDictionary.cs
View file @
a5373e37
...
...
@@ -2,13 +2,37 @@
{
public
class
SecondColumnDictionary
{
/// <summary>
/// 描述
/// </summary>
public
string
Label
{
get
;
set
;
}
/// <summary>
/// 主键
/// </summary>
public
string
Key
{
get
;
set
;
}
/// <summary>
/// 是否显示 true显示
/// </summary>
public
bool
IsTrue
{
get
;
set
;
}
/// <summary>
/// 是否固定
/// </summary>
public
string
Fixed
{
get
;
set
;
}
/// <summary>
/// 排序
/// </summary>
public
int
Sort
{
get
;
set
;
}
/// <summary>
/// 位置 Top、Table
/// </summary>
public
string
Site
{
get
;
set
;
}
/// <summary>
/// 类型 单项奖励:SingleAwards,工作量:Workload
/// </summary>
public
string
Type
{
get
;
set
;
}
/// <summary>
/// 颜色class名称
/// </summary>
public
string
Color
{
get
;
set
;
}
public
SecondColumnDictionary
()
...
...
performance/Performance.DtoModels/Second/SecondLoadDto.cs
View file @
a5373e37
namespace
Performance.DtoModels
{
public
class
SecondLoadDto
public
class
SecondLoadDto
:
SecondBaseDto
{
public
int
SecondId
{
get
;
set
;
}
/// <summary>
/// 计算方式:11 不计算 12 横向计算 13 纵向计算
/// </summary>
public
int
ComputeMode
{
get
;
set
;
}
/// <summary>
/// 数据加载方式:0 保存,1 上次,2 字典
/// </summary>
...
...
performance/Performance.Services/RedistributionService.cs
View file @
a5373e37
...
...
@@ -149,10 +149,10 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
new
SecondColumnDictionary
(
"科室"
,
nameof
(
ag_bodysource
.
Department
),
true
,
100
,
fix
:
"Left"
),
new
SecondColumnDictionary
(
"主管"
,
nameof
(
ag_bodysource
.
Post
),
true
,
100
),
new
SecondColumnDictionary
(
"人员系数"
,
nameof
(
ag_bodysource
.
StaffCoefficient
),
false
,
200
,
color
:
Color
.
DarkTurquoise
.
ToRGB
()
),
new
SecondColumnDictionary
(
"出勤"
,
nameof
(
ag_bodysource
.
ActualAttendance
),
false
,
201
,
color
:
Color
.
DarkTurquoise
.
ToRGB
()
),
new
SecondColumnDictionary
(
"职称"
,
nameof
(
ag_bodysource
.
JobTitle
),
false
,
202
,
color
:
Color
.
DarkTurquoise
.
ToRGB
()
),
new
SecondColumnDictionary
(
"职称系数"
,
nameof
(
ag_bodysource
.
TitleCoefficient
),
false
,
203
,
color
:
Color
.
DarkTurquoise
.
ToRGB
()
),
new
SecondColumnDictionary
(
"人员系数"
,
nameof
(
ag_bodysource
.
StaffCoefficient
),
false
,
200
,
color
:
"title_color"
),
new
SecondColumnDictionary
(
"出勤"
,
nameof
(
ag_bodysource
.
ActualAttendance
),
false
,
201
,
color
:
"title_color"
),
new
SecondColumnDictionary
(
"职称"
,
nameof
(
ag_bodysource
.
JobTitle
),
false
,
202
,
color
:
"title_color"
),
new
SecondColumnDictionary
(
"职称系数"
,
nameof
(
ag_bodysource
.
TitleCoefficient
),
false
,
203
,
color
:
"title_color"
),
new
SecondColumnDictionary
(
"职称绩效"
,
nameof
(
ag_bodysource
.
TitlePerformance
),
true
,
299
),
new
SecondColumnDictionary
(
"工作量绩效合计"
,
nameof
(
ag_bodysource
.
WorkPerformance
),
true
,
399
),
...
...
@@ -174,16 +174,11 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
if
(
workloadGroups
==
null
)
workloadGroups
=
GetTopWorkloadBodyGroups
(
loads
);
var
colors
=
RandomHelper
.
Color
(
Color
.
LightGreen
,
Color
.
LawnGreen
,
workloadGroups
.
Count
);
var
index
=
0
;
int
workloadSort
=
300
;
foreach
(
var
item
in
loads
.
Where
(
w
=>
!
w
.
Title
.
StartsWithIgnoreCase
(
"SingleAwards_"
)))
{
if
(
workloadGroups
.
Any
(
w
=>
w
.
Items
?.
FirstOrDefault
()
==
item
.
Title
))
index
=
workloadGroups
.
FindIndex
(
w
=>
w
.
Items
?.
FirstOrDefault
()
==
item
.
Title
);
var
color
=
index
<
colors
.
Count
?
colors
[
index
].
ToRGB
()
:
""
;
maps
.
Add
(
new
SecondColumnDictionary
(
item
.
Value
,
item
.
Title
,
false
,
++
workloadSort
,
type
:
"Workload"
,
color
:
color
));
var
index
=
workloadGroups
.
FindIndex
(
w
=>
w
.
Items
!=
null
&&
w
.
Items
.
Any
(
im
=>
im
.
EqualsIgnoreCase
(
item
.
Title
)));
maps
.
Add
(
new
SecondColumnDictionary
(
item
.
Value
,
item
.
Title
,
false
,
++
workloadSort
,
type
:
"Workload"
,
color
:
$"workload_color
{
index
}
"
));
}
// 多工作量加载
...
...
@@ -200,7 +195,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
int
singleAwardsSort
=
400
;
foreach
(
var
item
in
loads
.
Where
(
w
=>
w
.
Title
.
StartsWithIgnoreCase
(
"SingleAwards_"
)))
{
maps
.
Add
(
new
SecondColumnDictionary
(
item
.
Value
,
item
.
Title
,
false
,
++
singleAwardsSort
,
type
:
"SingleAwards"
,
color
:
Color
.
Cyan
.
ToRGB
()
));
maps
.
Add
(
new
SecondColumnDictionary
(
item
.
Value
,
item
.
Title
,
false
,
++
singleAwardsSort
,
type
:
"SingleAwards"
,
color
:
"singleawards_color"
));
}
return
maps
.
OrderBy
(
w
=>
w
.
Sort
).
ToList
();
}
...
...
@@ -281,17 +276,12 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
// 横向 纵向 特有顶部信息
if
(
computeMode
!=
ComputeMode
.
NotCalculate
)
{
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
DaysFullAttendance
),
DateTime
.
DaysInMonth
(
allot
.
Year
,
allot
.
Month
));
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
SeniorityTitlesAccountedPerformance
),
0.2
m
);
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
Workload_Ratio_Default
),
0.8
m
);
var
history
=
_agheadsourceRepository
.
GetEntity
(
t
=>
t
.
SecondId
==
second
.
Id
);
if
(
history
!=
null
)
{
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
SeniorityTitlesAccountedPerformance
),
history
.
SeniorityTitlesAccountedPerformance
);
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
Workload_Ratio_Default
),
history
.
Workload_Ratio_Default
);
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
DaysFullAttendance
),
history
.
DaysFullAttendance
);
}
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
SeniorityTitlesAccountedPerformance
),
history
?.
SeniorityTitlesAccountedPerformance
??
0.2
m
);
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
Workload_Ratio_Default
),
history
?.
Workload_Ratio_Default
??
0.8
m
);
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
DaysFullAttendance
),
history
?.
DaysFullAttendance
??
DateTime
.
DaysInMonth
(
allot
.
Year
,
allot
.
Month
));
// 多工作量加载
var
headDynamic
=
_agworktypesourceRepository
.
GetEntities
(
t
=>
t
.
SecondId
==
second
.
Id
);
if
(
headDynamic
!=
null
&&
headDynamic
.
Any
())
...
...
@@ -689,84 +679,6 @@ public void ResultCompute(ComputeMode computeMode, Dictionary<string, object> he
}
/// <summary>
/// 科室查询人员字典
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
List
<
Dictionary
<
string
,
object
>>
RedistributionEmployee
(
SecondEmployeeDto
request
)
{
List
<
Dictionary
<
string
,
object
>>
result
=
new
List
<
Dictionary
<
string
,
object
>>();
var
second
=
_secondallotRepository
.
GetEntity
(
t
=>
t
.
Id
==
request
.
SecondId
);
if
(
second
==
null
)
throw
new
PerformanceException
(
"参数SecondId无效!"
);
var
allot
=
_perallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
second
.
AllotId
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"绩效记录不存在!"
);
// 当前二次分配配置工作量
var
loads
=
GetWorkLoads
(
allot
.
HospitalId
,
second
.
UnitType
,
second
.
Department
);
Expression
<
Func
<
per_employee
,
bool
>>
exp
=
t
=>
t
.
AllotId
==
second
.
AllotId
;
if
(
request
!=
null
&&
!
string
.
IsNullOrEmpty
(
request
.
SearchQuery
))
{
exp
=
exp
.
And
(
t
=>
true
&&
(
t
.
AccountingUnit
.
Contains
(
request
.
SearchQuery
)
||
t
.
PersonnelNumber
.
Contains
(
request
.
SearchQuery
)
||
t
.
DoctorName
.
Contains
(
request
.
SearchQuery
)
||
t
.
Department
.
Contains
(
request
.
SearchQuery
)));
}
// 分页查询
var
employees
=
_peremployeeRepository
.
GetEntitiesForPaging
(
request
.
PageNumber
,
request
.
PageSize
,
exp
);
if
(
employees
!=
null
)
{
Func
<
per_employee
,
decimal
?>
getDistPerformance
=
(
emp
)
=>
0
;
// 不计算模板时,带出工作量绩效(一次分配中的应发绩效)
if
(
request
.
ComputeMode
==
(
int
)
ComputeMode
.
NotCalculate
)
{
if
(
UnitTypeUtil
.
IsOffice
(
second
.
UnitType
))
{
var
distPerformance
=
_rescomputeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
second
.
AllotId
&&
employees
.
Select
(
s
=>
s
.
PersonnelNumber
).
Contains
(
t
.
JobNumber
));
getDistPerformance
=
(
emp
)
=>
{
if
(
second
.
Department
==
emp
.
AccountingUnit
)
return
distPerformance
?.
Where
(
w
=>
w
.
JobNumber
?.
Trim
()
==
emp
.
PersonnelNumber
?.
Trim
())?.
Sum
(
w
=>
w
.
GiveFee
);
return
0
;
};
}
}
var
monthDays
=
DateTime
.
DaysInMonth
(
allot
.
Year
,
allot
.
Month
);
foreach
(
var
employee
in
employees
)
{
Dictionary
<
string
,
object
>
item
=
new
Dictionary
<
string
,
object
>();
// 不计算模板时,带出工作量绩效(一次分配中的应发绩效)
if
(
request
.
ComputeMode
==
(
int
)
ComputeMode
.
NotCalculate
)
{
item
.
Add
(
nameof
(
ag_bodysource
.
WorkPerformance
),
getDistPerformance
(
employee
));
}
item
.
Add
(
nameof
(
per_employee
.
UnitType
),
employee
.
UnitType
);
item
.
Add
(
nameof
(
ag_bodysource
.
SecondId
),
request
.
SecondId
);
item
.
Add
(
nameof
(
ag_bodysource
.
Department
),
employee
.
AccountingUnit
);
item
.
Add
(
nameof
(
ag_bodysource
.
Name
),
employee
.
DoctorName
);
item
.
Add
(
nameof
(
ag_bodysource
.
WorkNumber
),
employee
.
PersonnelNumber
);
item
.
Add
(
nameof
(
ag_bodysource
.
JobTitle
),
employee
.
JobTitle
);
item
.
Add
(
nameof
(
ag_bodysource
.
Post
),
"否"
);
item
.
Add
(
nameof
(
ag_bodysource
.
TitleCoefficient
),
1
);
item
.
Add
(
nameof
(
ag_bodysource
.
ActualAttendance
),
employee
.
AttendanceDay
>
monthDays
?
monthDays
:
employee
.
AttendanceDay
);
item
.
Add
(
nameof
(
ag_bodysource
.
StaffCoefficient
),
1
);
if
(
loads
!=
null
)
{
foreach
(
var
score
in
loads
.
Where
(
w
=>
w
.
Title
.
StartsWithIgnoreCase
(
"AssessmentScore_"
)).
ToList
())
{
if
(
score
.
Value
==
null
)
item
.
AddOrUpdate
(
score
.
Title
,
100
);
}
}
result
.
Add
(
item
);
}
}
return
result
;
}
/// <summary>
/// 重算顶部医院其他绩效、重算行内实发绩效、重算顶部工作量
/// </summary>
/// <param name="head"></param>
...
...
@@ -1219,5 +1131,104 @@ public List<SecondComputeCheckResultDto> CheckData(ag_secondallot second, List<D
return
result
;
}
#
endregion
#
region
二次分配审核后查看详情
/// <summary>
/// 二次分配审核后查看详情
/// </summary>
/// <param name="computeMode"></param>
/// <param name="allot"></param>
/// <param name="second"></param>
/// <returns></returns>
public
(
Dictionary
<
string
,
object
>
head
,
List
<
Dictionary
<
string
,
object
>>
rows
)
RedistributionDetail
(
ComputeMode
computeMode
,
per_allot
allot
,
ag_secondallot
second
)
{
var
head
=
LoadHead
(
computeMode
,
allot
,
second
);
var
loadEmployees
=
_agbodysourceRepository
.
GetEntities
(
w
=>
w
.
SecondId
==
second
.
Id
);
var
rows
=
LoadWorkload
(
allot
,
second
,
loadEmployees
);
return
(
head
,
rows
);
}
#
endregion
#
region
科室查询人员字典
/// <summary>
/// 科室查询人员字典
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public
object
RedistributionEmployee
(
SecondEmployeeDto
request
)
{
List
<
Dictionary
<
string
,
object
>>
result
=
new
List
<
Dictionary
<
string
,
object
>>();
var
second
=
_secondallotRepository
.
GetEntity
(
t
=>
t
.
Id
==
request
.
SecondId
);
if
(
second
==
null
)
throw
new
PerformanceException
(
"参数SecondId无效!"
);
var
allot
=
_perallotRepository
.
GetEntity
(
t
=>
t
.
ID
==
second
.
AllotId
);
if
(
allot
==
null
)
throw
new
PerformanceException
(
"绩效记录不存在!"
);
// 当前二次分配配置工作量
var
loads
=
GetWorkLoads
(
allot
.
HospitalId
,
second
.
UnitType
,
second
.
Department
);
Expression
<
Func
<
per_employee
,
bool
>>
exp
=
t
=>
t
.
AllotId
==
second
.
AllotId
;
if
(
request
!=
null
&&
!
string
.
IsNullOrEmpty
(
request
.
SearchQuery
))
{
exp
=
exp
.
And
(
t
=>
true
&&
(
t
.
AccountingUnit
.
Contains
(
request
.
SearchQuery
)
||
t
.
PersonnelNumber
.
Contains
(
request
.
SearchQuery
)
||
t
.
DoctorName
.
Contains
(
request
.
SearchQuery
)
||
t
.
Department
.
Contains
(
request
.
SearchQuery
)));
}
// 分页查询
var
employees
=
_peremployeeRepository
.
GetEntitiesForPaging
(
request
.
PageNumber
,
request
.
PageSize
,
exp
);
if
(
employees
!=
null
)
{
Func
<
per_employee
,
decimal
?>
getDistPerformance
=
(
emp
)
=>
0
;
// 不计算模板时,带出工作量绩效(一次分配中的应发绩效)
if
(
request
.
ComputeMode
==
(
int
)
ComputeMode
.
NotCalculate
)
{
if
(
UnitTypeUtil
.
IsOffice
(
second
.
UnitType
))
{
var
distPerformance
=
_rescomputeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
second
.
AllotId
&&
employees
.
Select
(
s
=>
s
.
PersonnelNumber
).
Contains
(
t
.
JobNumber
));
getDistPerformance
=
(
emp
)
=>
{
if
(
second
.
Department
==
emp
.
AccountingUnit
)
return
distPerformance
?.
Where
(
w
=>
w
.
JobNumber
?.
Trim
()
==
emp
.
PersonnelNumber
?.
Trim
())?.
Sum
(
w
=>
w
.
GiveFee
);
return
0
;
};
}
}
var
monthDays
=
DateTime
.
DaysInMonth
(
allot
.
Year
,
allot
.
Month
);
foreach
(
var
employee
in
employees
)
{
Dictionary
<
string
,
object
>
item
=
new
Dictionary
<
string
,
object
>();
// 不计算模板时,带出工作量绩效(一次分配中的应发绩效)
if
(
request
.
ComputeMode
==
(
int
)
ComputeMode
.
NotCalculate
)
{
item
.
Add
(
nameof
(
ag_bodysource
.
WorkPerformance
),
getDistPerformance
(
employee
));
}
item
.
Add
(
nameof
(
per_employee
.
UnitType
),
employee
.
UnitType
);
item
.
Add
(
nameof
(
ag_bodysource
.
SecondId
),
request
.
SecondId
);
item
.
Add
(
nameof
(
ag_bodysource
.
Department
),
employee
.
AccountingUnit
);
item
.
Add
(
nameof
(
ag_bodysource
.
Name
),
employee
.
DoctorName
);
item
.
Add
(
nameof
(
ag_bodysource
.
WorkNumber
),
employee
.
PersonnelNumber
);
item
.
Add
(
nameof
(
ag_bodysource
.
JobTitle
),
employee
.
JobTitle
);
item
.
Add
(
nameof
(
ag_bodysource
.
Post
),
"否"
);
item
.
Add
(
nameof
(
ag_bodysource
.
TitleCoefficient
),
1
);
item
.
Add
(
nameof
(
ag_bodysource
.
ActualAttendance
),
employee
.
AttendanceDay
>
monthDays
?
monthDays
:
employee
.
AttendanceDay
);
item
.
Add
(
nameof
(
ag_bodysource
.
StaffCoefficient
),
1
);
if
(
loads
!=
null
)
{
foreach
(
var
score
in
loads
.
Where
(
w
=>
w
.
Title
.
StartsWithIgnoreCase
(
"AssessmentScore_"
)).
ToList
())
{
if
(
score
.
Value
==
null
)
item
.
AddOrUpdate
(
score
.
Title
,
100
);
}
}
result
.
Add
(
item
);
}
}
return
new
{
employees
.
CurrentPage
,
employees
.
TotalPages
,
employees
.
PageSize
,
employees
.
TotalCount
,
list
=
result
};
}
#
endregion
}
}
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