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
98160dd5
Commit
98160dd5
authored
Nov 23, 2021
by
lcx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
核算前奖励计算
parent
5ff7ab55
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
9 deletions
+24
-9
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+5
-0
performance/Performance.EntityModels/Entity/ag_headsource.cs
+5
-0
performance/Performance.Services/RedistributionService.cs
+11
-6
performance/Performance.Services/SecondAllot/SecondAllotService.cs
+2
-2
performance/Performance.Services/SecondAllotService.cs
+1
-1
No files found.
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
98160dd5
...
...
@@ -965,6 +965,11 @@
科室单项奖励
</summary>
</member>
<member
name=
"P:Performance.EntityModels.ag_headsource.TotalPreAccountingReward"
>
<summary>
科室考核前奖励
</summary>
</member>
<member
name=
"P:Performance.EntityModels.ag_headsource.SeniorityTitlesAccountedPerformance"
>
<summary>
年资职称绩效占比
...
...
performance/Performance.EntityModels/Entity/ag_headsource.cs
View file @
98160dd5
...
...
@@ -61,6 +61,11 @@ public class ag_headsource
/// </summary>
public
Nullable
<
decimal
>
TotalDeptReward
{
get
;
set
;
}
/// <summary>
/// 科室考核前奖励
/// </summary>
public
Nullable
<
decimal
>
TotalPreAccountingReward
{
get
;
set
;
}
///// <summary>
///// 业绩分配绩效总额
///// </summary>
...
...
performance/Performance.Services/RedistributionService.cs
View file @
98160dd5
...
...
@@ -183,9 +183,10 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
new
SecondColumnDictionary
(
"工作量绩效合计"
,
nameof
(
ag_bodysource
.
WorkPerformance
),
true
,
399
),
new
SecondColumnDictionary
(
"单项奖励合计"
,
nameof
(
ag_bodysource
.
DeptReward
),
true
,
499
),
new
SecondColumnDictionary
(
"考核前奖励合计"
,
nameof
(
ag_bodysource
.
PreDeptReward
),
true
,
599
),
new
SecondColumnDictionary
(
"可分配绩效"
,
nameof
(
ag_bodysource
.
DistPerformance
),
true
,
5
00
),
new
SecondColumnDictionary
(
"医院发放夜班绩效"
,
nameof
(
ag_bodysource
.
NightWorkPerformance
),
true
,
5
02
),
new
SecondColumnDictionary
(
"可分配绩效"
,
nameof
(
ag_bodysource
.
DistPerformance
),
true
,
6
00
),
new
SecondColumnDictionary
(
"医院发放夜班绩效"
,
nameof
(
ag_bodysource
.
NightWorkPerformance
),
true
,
6
02
),
//new SecondColumnDictionary("预留比例",nameof(ag_bodysource.ReservedRatio),false,601 ),
//new SecondColumnDictionary("预留金额",nameof(ag_bodysource.ReservedAmount),false,602 ),
...
...
@@ -216,7 +217,7 @@ public List<SecondColumnDictionary> GetTableHeaderDictionary(ComputeMode compute
int
workloadSort
=
300
;
var
index
=
0
;
foreach
(
var
item
in
loads
.
Where
(
w
=>
!
w
.
Title
.
StartsWithIgnoreCase
(
"SingleAwards_"
)))
foreach
(
var
item
in
loads
.
Where
(
w
=>
!
w
.
Title
.
StartsWithIgnoreCase
(
"SingleAwards_"
)
&&
!
w
.
Title
.
StartsWithIgnoreCase
(
"PreAccountingReward_"
)
))
{
if
(
workloadGroups
.
Any
(
w
=>
w
.
Items
!=
null
&&
w
.
Items
.
Any
(
im
=>
im
.
EqualsIgnoreCase
(
item
.
Title
))))
index
=
workloadGroups
.
FindIndex
(
w
=>
w
.
Items
!=
null
&&
w
.
Items
.
Any
(
im
=>
im
.
EqualsIgnoreCase
(
item
.
Title
)));
...
...
@@ -421,7 +422,8 @@ public void ClearInvalidValue(List<Dictionary<string, object>> datas)
foreach
(
var
key
in
row
.
Keys
.
ToArray
())
{
if
(
key
.
StartsWithIgnoreCase
(
"SingleAwards_"
)
||
key
.
StartsWithIgnoreCase
(
"Workload_"
))
||
key
.
StartsWithIgnoreCase
(
"Workload_"
)
||
key
.
StartsWithIgnoreCase
(
"PreAccountingReward_"
))
{
var
value
=
row
[
key
]?.
ToString
()
??
""
;
if
(
value
==
"0"
||
Regex
.
IsMatch
(
value
,
"^0.[0]+$"
))
...
...
@@ -978,8 +980,11 @@ private void overviewCalculate(Dictionary<string, object> head, List<Dictionary<
//// 夜班工作量绩效总和
//var nightShiftWorkPerforTotal = rows.Sum(row => GetDecimal2(row, nameof(ag_bodysource.NightWorkPerformance)));
//head.AddOrUpdate(nameof(ag_headsource.NightShiftWorkPerforTotal), nightShiftWorkPerforTotal);
// 可分配绩效(顶栏) = 科室总绩效 - 夜班绩效(顶栏)
var
totalPerformance
=
GetDecimal2
(
head
,
nameof
(
ag_headsource
.
TotalDistPerformance
))
-
GetDecimal2
(
head
,
nameof
(
ag_headsource
.
NightShiftWorkPerforTotal
));
// 科室考核前奖励
var
totalPreAccountingReward
=
rows
.
Sum
(
row
=>
GetDecimal2
(
row
,
nameof
(
ag_bodysource
.
PreDeptReward
)));
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
TotalPreAccountingReward
),
totalPreAccountingReward
);
// 可分配绩效(顶栏) = 科室总绩效 - 夜班绩效(顶栏) - 科室考核前奖励
var
totalPerformance
=
GetDecimal2
(
head
,
nameof
(
ag_headsource
.
TotalDistPerformance
))
-
GetDecimal2
(
head
,
nameof
(
ag_headsource
.
NightShiftWorkPerforTotal
))
-
totalPreAccountingReward
;
head
.
AddOrUpdate
(
nameof
(
ag_headsource
.
TotalPerformance
),
totalPerformance
);
//// 医院其他绩效总和
//var otherPerformance = rows.Sum(row => GetDecimal2(row, nameof(ag_bodysource.OtherPerformance)));
...
...
performance/Performance.Services/SecondAllot/SecondAllotService.cs
View file @
98160dd5
...
...
@@ -584,7 +584,7 @@ public void SaveSecondAllotBodyData(int hospitalId, ag_secondallot second, dynam
var
workloads
=
agworkloadRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
hospitalId
&&
t
.
Department
==
second
.
Department
&&
t
.
UnitType
==
second
.
UnitType
)?.
ToList
();
if
(
workloads
==
null
||
!
workloads
.
Any
())
return
;
string
[]
prefix
=
new
string
[]
{
"WorkloadScore_"
,
"AssessmentScore_"
,
"WorkPerformance_"
,
$"
{
AgWorkloadType
.
SingleAwards
}
_"
,
$"
{
AgWorkloadType
.
Workload
}
_"
};
string
[]
prefix
=
new
string
[]
{
"WorkloadScore_"
,
"AssessmentScore_"
,
"WorkPerformance_"
,
$"
{
AgWorkloadType
.
SingleAwards
}
_"
,
$"
{
AgWorkloadType
.
Workload
}
_"
,
$"
{
AgWorkloadType
.
PreAccountingReward
}
_"
};
List
<
ag_workload_source
>
workloadSources
=
new
List
<
ag_workload_source
>();
foreach
(
var
rowitem
in
body
)
{
...
...
@@ -595,7 +595,7 @@ public void SaveSecondAllotBodyData(int hospitalId, ag_secondallot second, dynam
if
(!
result
)
continue
;
Dictionary
<
string
,
object
>
dict
=
JsonHelper
.
Deserialize
<
Dictionary
<
string
,
object
>>(
JsonHelper
.
Serialize
(
rowitem
));
var
keys
=
dict
.
Keys
.
Where
(
t
=>
t
.
StartsWithIgnoreCase
(
prefix
[
0
])
||
t
.
StartsWithIgnoreCase
(
prefix
[
1
])
||
t
.
StartsWithIgnoreCase
(
prefix
[
2
])
||
t
.
StartsWithIgnoreCase
(
prefix
[
3
])
||
t
.
StartsWithIgnoreCase
(
prefix
[
4
]
));
var
keys
=
dict
.
Keys
.
Where
(
t
=>
prefix
.
Any
(
w
=>
t
.
StartsWithIgnoreCase
(
w
)
));
if
(
keys
==
null
||
!
keys
.
Any
())
continue
;
foreach
(
var
key
in
keys
)
...
...
performance/Performance.Services/SecondAllotService.cs
View file @
98160dd5
...
...
@@ -1469,7 +1469,7 @@ public bool WorkloadDelete(int id)
public
List
<
ag_workload
>
GetSingleList
(
WorkloadRequest
request
)
{
return
agworkloadRepository
.
GetEntities
(
t
=>
t
.
HospitalId
==
request
.
HospitalId
&&
t
.
Department
==
request
.
Department
&&
t
.
UnitType
==
request
.
UnitType
&&
t
.
ItemId
.
StartsWith
(
AgWorkloadType
.
SingleAwards
.
ToString
()));
&&
t
.
UnitType
==
request
.
UnitType
&&
t
.
ItemId
.
StartsWith
(
request
.
AgWorkloadType
.
ToString
()));
}
//public (string, string) GetDeptAndUnit(int userId)
...
...
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