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
20b07b6f
Commit
20b07b6f
authored
Jun 18, 2019
by
799284587@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
特殊科室
parent
8f813702
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
17 deletions
+30
-17
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+14
-6
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+3
-3
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadSpecialUnit.cs
+13
-8
No files found.
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
20b07b6f
...
...
@@ -91,8 +91,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
?.
FirstOrDefault
().
FitPeopleRatio
??
1
;
var
basic
=
baiscNormService
.
GetBaiscNorm
(
baiscnormList
,
(
PerforType
)
type
.
Value
);
// 添加参数计算
// 新都医院在特殊科室计算时,如果取核算基数计算时带入人数计算
item
.
Quantity
=
basic
!=
null
?
basic
*
radio
*
(!
item
.
Number
.
HasValue
||
item
.
Number
==
0
?
1
:
item
.
Number
)
:
null
;
item
.
Quantity
=
basic
!=
null
?
basic
*
radio
:
null
;
}
}
...
...
@@ -113,7 +112,16 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
//获取需要聚合的科室
var
accountDataList
=
dataList
.
Where
(
t
=>
t
.
AccountingUnit
==
group
.
AccountingUnit
);
//计算量化指标子项合计
var
sumValue
=
accountDataList
.
Sum
(
t
=>
t
.
Quantity
*
t
.
QuantitativeIndicatorsValue
);
var
sumValue
=
accountDataList
.
Sum
(
t
=>
{
// 新都医院在特殊科室计算时,如果取核算基数计算时带入人数计算
decimal
?
headcount
=
null
;
if
(
typeList
.
Any
(
o
=>
o
.
Description
==
t
.
QuantitativeIndicators
))
headcount
=
accountDataList
.
Sum
(
p
=>
p
.
Number
);
if
(!
headcount
.
HasValue
||
headcount
==
0
)
headcount
=
1
;
return
t
.
Quantity
*
t
.
QuantitativeIndicatorsValue
*
headcount
;
});
foreach
(
var
item
in
accountDataList
)
{
var
res
=
new
res_specialunit
...
...
@@ -129,10 +137,10 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
OtherPerfor
=
group
.
OtherPerfor
,
Punishment
=
group
.
Punishment
,
Adjust
=
group
.
Adjust
==
0
?
1
:
group
.
Adjust
,
Avg
=
group
.
Number
!=
0
?
sumValue
/
group
.
Number
:
null
,
GiveFee
=
sumValue
,
RealGiveFee
=
(
sumValue
+
(
group
.
OtherPerfor
??
0
)
+
(
group
.
Punishment
??
0
))
*
(
group
.
Adjust
==
0
?
1
:
group
.
Adjust
),
};
res
.
GiveFee
=
(
sumValue
+
(
group
.
OtherPerfor
??
0
)
+
(
group
.
Punishment
??
0
))
*
(
group
.
Adjust
==
0
?
1
:
group
.
Adjust
);
res
.
RealGiveFee
=
res
.
GiveFee
;
res
.
Avg
=
group
.
Number
!=
0
?
res
.
GiveFee
/
group
.
Number
:
null
;
resDataList
.
Add
(
res
);
}
}
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
20b07b6f
...
...
@@ -190,9 +190,9 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
//添加参数计算
compute
.
BaiscNormValue
=
baiscnorm
*
(
item
.
FitPeopleRatio
??
1
);
//应发绩效
compute
.
GiveFee
=
compute
.
BaiscNormValue
*
(
compute
.
PostCoefficient
+
item
.
Adjust
??
0
)
*
(
item
.
Grant
??
1
)
*
compute
.
Attendance
*
compute
.
ScoreAverageRate
*
(
compute
.
WorkYear
??
1
)
+
(
compute
.
OtherPerfor
??
0
)
+
(
item
.
Workload
??
0
)
+
(
compute
.
Punishment
??
0
);
compute
.
GiveFee
=
compute
.
BaiscNormValue
*
(
compute
.
PostCoefficient
+
(
item
.
Adjust
??
0
)
)
*
(
item
.
Grant
??
1
)
*
compute
.
Attendance
*
compute
.
ScoreAverageRate
*
(
compute
.
WorkYear
??
1
)
+
(
compute
.
OtherPerfor
??
0
)
+
(
item
.
Workload
??
0
)
+
(
compute
.
Punishment
??
0
);
//实发绩效
compute
.
RealGiveFee
=
compute
.
GiveFee
;
computeList
.
Add
(
compute
);
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadSpecialUnit.cs
View file @
20b07b6f
...
...
@@ -31,22 +31,27 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
var
accountingUnit
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"科室"
).
PointCell
)?.
ToString
();
if
(
string
.
IsNullOrEmpty
(
accountingUnit
))
accountingUnit
=
lastAccount
;
PerDataSpecialUnit
employee
=
new
PerDataSpecialUnit
PerDataSpecialUnit
specialUnit
=
new
PerDataSpecialUnit
{
RowNumber
=
r
,
AccountingUnit
=
accountingUnit
,
Department
=
accountingUnit
,
Number
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人数"
).
PointCell
)?.
ToString
()),
QuantitativeIndicators
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"量化指标"
).
PointCell
)?.
ToString
(),
Quantity
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"数量"
).
PointCell
)?.
ToString
()),
QuantitativeIndicatorsValue
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"量化指标绩效分值"
).
PointCell
)?.
ToString
()),
ScoringAverage
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
)?.
ToString
()),
OtherPerfor
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他绩效"
).
PointCell
)?.
ToString
()),
Punishment
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医院奖罚"
).
PointCell
)?.
ToString
()),
Adjust
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"调节系数"
).
PointCell
)?.
ToString
()),
};
dataList
.
Add
(
employee
);
lastAccount
=
employee
.
AccountingUnit
;
//相同科室只取以下项目第一次出现的值
if
(
accountingUnit
!=
lastAccount
)
{
specialUnit
.
Number
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人数"
).
PointCell
)?.
ToString
());
specialUnit
.
ScoringAverage
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
)?.
ToString
());
specialUnit
.
OtherPerfor
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"其他绩效"
).
PointCell
)?.
ToString
());
specialUnit
.
Punishment
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医院奖罚"
).
PointCell
)?.
ToString
());
specialUnit
.
Adjust
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"调节系数"
).
PointCell
)?.
ToString
());
}
dataList
.
Add
(
specialUnit
);
//合并单元格科室名称补全
lastAccount
=
specialUnit
.
AccountingUnit
;
}
return
dataList
;
...
...
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