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
201a7605
Commit
201a7605
authored
Oct 19, 2020
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
行政高层 行政中层 行政工勤 计算调整
parent
c32cdc96
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
52 additions
and
30 deletions
+52
-30
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
+1
-1
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+51
-29
No files found.
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
View file @
201a7605
...
...
@@ -126,7 +126,7 @@ public class ComputeResult
public
Nullable
<
decimal
>
OtherPerfor
{
get
;
set
;
}
/// <summary>
/// 应发绩效 考核
前
(需计算)
/// 应发绩效 考核
后
(需计算)
/// </summary>
public
Nullable
<
decimal
>
GiveFee
{
get
;
set
;
}
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
201a7605
...
...
@@ -387,7 +387,6 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
OtherManagePerfor
=
empolyee
.
OtherManagePerfor
??
0
,
Number
=
resAccount
.
Number
,
PerforTotal
=
resAccount
.
PerforTotal
,
Avg
=
avg
*
(
empolyee
.
Basics
??
0
)
*
(
empolyee
.
Attendance
??
0
),
Efficiency
=
effAvg
*
(
empolyee
.
Efficiency
??
0
),
Scale
=
resAccount
.
PerforTotal
*
(
empolyee
.
Scale
??
0
),
Adjust
=
(
isBudget
?
adjust
:
empolyee
.
Adjust
)
??
1
m
,
...
...
@@ -404,21 +403,29 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
.
FirstOrDefault
(
w
=>
w
.
AccountingUnit
==
empolyee
.
AccountingUnit
&&
w
.
UnitType
==
empolyee
.
UnitType
&&
w
.
JobNumber
==
empolyee
.
JobNumber
&&
w
.
EmployeeName
==
empolyee
.
DoctorName
)?.
TotelValue
;
compute
.
Avg
=
avg
*
(
empolyee
.
Basics
??
0
)
*
compute
.
Attendance
;
compute
.
Punishment
=
extra
??
0
;
// 考核前管理绩效
compute
.
ShouldGiveFee
=
Math
.
Round
((
compute
.
Efficiency
+
compute
.
Scale
)
*
compute
.
Grant
+
compute
.
OtherManagePerfor
??
0
);
// 考核后管理绩效
compute
.
AssessLaterManagementFee
=
Math
.
Round
(
compute
.
ShouldGiveFee
*
compute
.
ScoreAverageRate
*
compute
.
Attendance
+
compute
.
Punishment
??
0
);
//绩效合计
compute
.
PerforSumFee
=
Math
.
Round
((
compute
.
Avg
*
(
empolyee
.
Basics
??
0
))
+
compute
.
ShouldGiveFee
+
compute
.
AssessBeforeOtherFee
??
0
);
//应发绩效
//compute.GiveFee = compute.PerforSumFee;
compute
.
GiveFee
=
Math
.
Round
(
compute
.
PerforSumFee
*
compute
.
ScoreAverageRate
*
compute
.
Attendance
+
compute
.
Punishment
+
compute
.
OtherPerfor
+
compute
.
AssessLaterOtherFee
??
0
);
//实发绩效
//compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
compute
.
RealGiveFee
=
Math
.
Round
(
compute
.
GiveFee
*
compute
.
Adjust
+
compute
.
AdjustLaterOtherFee
??
0
);
// 考核前绩效
compute
.
PerforSumFee
=
compute
.
Attendance
==
0
?
Math
.
Round
(
compute
.
ShouldGiveFee
??
0
)
:
Math
.
Round
(
compute
.
Avg
/
compute
.
Attendance
+
compute
.
ShouldGiveFee
??
0
);
// 参考基数专用绩效合计
compute
.
BaiscNormPerforTotal
=
compute
.
PerforSumFee
;
// 实发绩效
compute
.
RealGiveFee
=
Math
.
Round
((
compute
.
Avg
+
compute
.
AssessLaterManagementFee
)
*
compute
.
Adjust
+
compute
.
AdjustLaterOtherFee
??
0
);
////绩效合计
//compute.PerforSumFee = Math.Round((compute.Avg * (empolyee.Basics ?? 0)) + compute.ShouldGiveFee + compute.AssessBeforeOtherFee ?? 0);
////应发绩效
////compute.GiveFee = compute.PerforSumFee;
//compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * compute.Attendance + compute.Punishment + compute.OtherPerfor + compute.AssessLaterOtherFee ?? 0);
////实发绩效
////compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
//compute.RealGiveFee = Math.Round(compute.GiveFee * compute.Adjust + compute.AdjustLaterOtherFee ?? 0);
// 参考基数专用绩效合计
//compute.BaiscNormPerforTotal = compute.PerforSumFee;
computeList
.
Add
(
compute
);
}
...
...
@@ -496,31 +503,46 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
compute
.
FitPeopleValue
=
baiscnorm
;
}
}
// 行政高层 行政中层 夜班费
if
(
AccountUnitType
.
行政高层
.
ToString
()
==
involve
||
AccountUnitType
.
行政中层
.
ToString
()
==
involve
)
compute
.
NightWorkPerfor
=
item
.
NightWorkPerfor
;
//添加参数计算
compute
.
BaiscNormValue
=
baiscnorm
*
(
item
.
FitPeopleRatio
??
0
);
//绩效合计
compute
.
PerforTotal
=
compute
.
BaiscNormValue
*
compute
.
PostCoefficient
*
compute
.
Attendance
;
// 行政高层 行政中层 考核前其他绩效
if
(
AccountUnitType
.
行政高层
.
ToString
()
==
involve
||
AccountUnitType
.
行政中层
.
ToString
()
==
involve
)
compute
.
PerforTotal
=
compute
.
PerforTotal
+
compute
.
AssessBeforeOtherFee
;
//应发绩效
compute
.
GiveFee
=
compute
.
BaiscNormValue
*
compute
.
PostCoefficient
*
compute
.
Attendance
+
compute
.
Punishment
;
// 行政中高层 不需要其他绩效 行政工勤 不需要考核得分率 区分开计算
if
(
AccountUnitType
.
行政工勤
.
ToString
()
==
involve
)
compute
.
GiveFee
=
Math
.
Round
(
compute
.
GiveFee
+
compute
.
OtherPerfor
??
0
);
else
compute
.
GiveFee
=
Math
.
Round
((
compute
.
GiveFee
*
compute
.
ScoreAverageRate
+
compute
.
AssessLaterOtherFee
)
??
0
);
//实发绩效
compute
.
RealGiveFee
=
Math
.
Round
((
compute
.
GiveFee
*
compute
.
Adjust
+
compute
.
AdjustLaterOtherFee
)
??
0
);
{
// 行政高层 行政中层 夜班费
compute
.
NightWorkPerfor
=
item
.
NightWorkPerfor
;
//考核前绩效
compute
.
PerforTotal
=
Math
.
Round
(
compute
.
BaiscNormValue
*
compute
.
PostCoefficient
*
compute
.
Attendance
+
compute
.
AssessBeforeOtherFee
??
0
);
//考核后绩效
compute
.
GiveFee
=
Math
.
Round
(
compute
.
PerforTotal
*
compute
.
ScoreAverageRate
+
compute
.
Punishment
??
0
);
//实发绩效
compute
.
RealGiveFee
=
Math
.
Round
((
compute
.
GiveFee
*
compute
.
Adjust
+
compute
.
AdjustLaterOtherFee
)
??
0
);
}
else
if
(
AccountUnitType
.
行政工勤
.
ToString
()
==
involve
)
{
//考核前绩效
compute
.
PerforTotal
=
Math
.
Round
(
compute
.
BaiscNormValue
*
compute
.
PostCoefficient
*
compute
.
Attendance
+
compute
.
OtherPerfor
??
0
);
//考核后绩效 没什么用也不显示
compute
.
GiveFee
=
compute
.
PerforTotal
*
compute
.
ScoreAverageRate
;
//实发绩效 没什么用也不显示
compute
.
RealGiveFee
=
Math
.
Round
(
compute
.
GiveFee
*
compute
.
Adjust
??
0
);
}
computeList
.
Add
(
compute
);
//// 行政高层 行政中层 夜班费
//if (AccountUnitType.行政高层.ToString() == involve || AccountUnitType.行政中层.ToString() == involve)
// compute.NightWorkPerfor = item.NightWorkPerfor;
//// 行政高层 行政中层 考核前其他绩效
//if (AccountUnitType.行政高层.ToString() == involve || AccountUnitType.行政中层.ToString() == involve)
// compute.PerforTotal = compute.PerforTotal + compute.AssessBeforeOtherFee;
////考核后绩效
//compute.GiveFee = compute.BaiscNormValue * compute.PostCoefficient * compute.Attendance + compute.Punishment;
//// 行政中高层 不需要其他绩效 行政工勤 不需要考核得分率 区分开计算
//if (AccountUnitType.行政工勤.ToString() == involve)
// compute.GiveFee = Math.Round(compute.GiveFee + compute.OtherPerfor ?? 0);
//else
// compute.GiveFee = Math.Round((compute.GiveFee * compute.ScoreAverageRate + compute.AssessLaterOtherFee) ?? 0);
////实发绩效
//compute.RealGiveFee = Math.Round((compute.GiveFee * compute.Adjust + compute.AdjustLaterOtherFee) ?? 0);
//computeList.Add(compute);
}
}
...
...
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