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
e75d6840
Commit
e75d6840
authored
Mar 03, 2020
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
东方医院11月核对修改完结
parent
6f9c6770
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
112 additions
and
53 deletions
+112
-53
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+15
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+20
-0
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
+2
-0
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
+5
-0
performance/Performance.EntityModels/Entity/im_accountbasic.cs
+6
-1
performance/Performance.EntityModels/Entity/res_account.cs
+5
-0
performance/Performance.Services/AllotCompute/BaiscNormService.cs
+9
-7
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+3
-2
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+46
-43
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+0
-0
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadDeptAccounting.cs
+1
-0
No files found.
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
e75d6840
...
@@ -550,6 +550,11 @@
...
@@ -550,6 +550,11 @@
工号
工号
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.IncludeAvgCalculate"
>
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member
name=
"T:Performance.DtoModels.UnitType"
>
<member
name=
"T:Performance.DtoModels.UnitType"
>
<summary>
核算单元类型
</summary>
<summary>
核算单元类型
</summary>
</member>
</member>
...
@@ -724,6 +729,16 @@
...
@@ -724,6 +729,16 @@
科室名称
科室名称
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.IncludeAvgCalculate"
>
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.PermanentStaff"
>
<summary>
定科人数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.ManagerNumber"
>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.ManagerNumber"
>
<summary>
<summary>
科主任/护士长数量
科主任/护士长数量
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
e75d6840
...
@@ -1393,6 +1393,16 @@
...
@@ -1393,6 +1393,16 @@
科室
科室
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.IncludeAvgCalculate"
>
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.PermanentStaff"
>
<summary>
定科人数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.im_accountbasic.DoctorDirectorNumber"
>
<member
name=
"P:Performance.EntityModels.im_accountbasic.DoctorDirectorNumber"
>
<summary>
<summary>
科主任数量
科主任数量
...
@@ -2508,6 +2518,16 @@
...
@@ -2508,6 +2518,16 @@
科室
科室
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.res_account.IncludeAvgCalculate"
>
<summary>
是否带入平均计算 是 否
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.PermanentStaff"
>
<summary>
定科人数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.ManagerNumber"
>
<member
name=
"P:Performance.EntityModels.res_account.ManagerNumber"
>
<summary>
<summary>
科主任/护士长数量
科主任/护士长数量
...
...
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
View file @
e75d6840
...
@@ -131,7 +131,9 @@ public class ComputeResult
...
@@ -131,7 +131,9 @@ public class ComputeResult
public
decimal
?
Adjust
{
get
;
set
;
}
public
decimal
?
Adjust
{
get
;
set
;
}
public
string
UnitType
{
get
;
set
;
}
public
string
UnitType
{
get
;
set
;
}
public
string
Remark
{
get
;
set
;
}
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 工号
/// 工号
/// </summary>
/// </summary>
...
...
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
View file @
e75d6840
...
@@ -34,6 +34,11 @@ public class PerDataAccountBaisc : IPerData
...
@@ -34,6 +34,11 @@ public class PerDataAccountBaisc : IPerData
public
string
Department
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 定科人数
/// </summary>
public
decimal
PermanentStaff
{
get
;
set
;
}
/// <summary>
/// 科主任/护士长数量
/// 科主任/护士长数量
/// </summary>
/// </summary>
public
decimal
ManagerNumber
{
get
;
set
;
}
public
decimal
ManagerNumber
{
get
;
set
;
}
...
...
performance/Performance.EntityModels/Entity/im_accountbasic.cs
View file @
e75d6840
...
@@ -50,7 +50,12 @@ public class im_accountbasic
...
@@ -50,7 +50,12 @@ public class im_accountbasic
/// 科室
/// 科室
/// </summary>
/// </summary>
public
string
Department
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 定科人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 科主任数量
/// 科主任数量
/// </summary>
/// </summary>
...
...
performance/Performance.EntityModels/Entity/res_account.cs
View file @
e75d6840
...
@@ -45,6 +45,11 @@ public class res_account
...
@@ -45,6 +45,11 @@ public class res_account
/// 科室
/// 科室
/// </summary>
/// </summary>
public
string
Department
{
get
;
set
;
}
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 定科人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 科主任/护士长数量
/// 科主任/护士长数量
...
...
performance/Performance.Services/AllotCompute/BaiscNormService.cs
View file @
e75d6840
...
@@ -89,16 +89,18 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li
...
@@ -89,16 +89,18 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li
decimal
?
result
=
null
;
decimal
?
result
=
null
;
if
(
type
==
PerforType
.
临床主任护士长平均
)
if
(
type
==
PerforType
.
临床主任护士长平均
)
{
{
var
lczrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
临床主任
))?.
AvgValue
;
var
lczrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
临床主任
));
var
hszValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
护士长
))?.
AvgValue
;
var
hszValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
护士长
));
result
=
((
lczrValue
??
0
)
+
(
hszValue
??
0
))
/
2
;
var
total
=
((
lczrValue
?.
TotelNumber
??
0
)
+
(
hszValue
?.
TotelNumber
??
0
));
result
=
total
==
0
?
0
:
((
lczrValue
?.
TotelValue
??
0
)
+
(
hszValue
?.
TotelValue
??
0
))
/
total
;
}
}
else
if
(
type
==
PerforType
.
临床主任医技主任护士长平均
)
else
if
(
type
==
PerforType
.
临床主任医技主任护士长平均
)
{
{
var
lczrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
临床主任
))?.
AvgValue
;
var
lczrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
临床主任
));
var
yjzrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
医技主任
))?.
AvgValue
;
var
yjzrValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
医技主任
));
var
hszValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
护士长
))?.
AvgValue
;
var
hszValue
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
EnumHelper
.
GetDescription
(
PerforType
.
护士长
));
result
=
((
lczrValue
??
0
)
+
(
yjzrValue
??
0
)
+
(
hszValue
??
0
))
/
3
;
var
total
=
((
lczrValue
?.
TotelNumber
??
0
)
+
(
yjzrValue
?.
TotelNumber
??
0
)
+
(
hszValue
?.
TotelNumber
??
0
));
result
=
total
==
0
?
0
:
((
lczrValue
?.
TotelValue
??
0
)
+
(
yjzrValue
?.
TotelValue
??
0
)
+
(
hszValue
?.
TotelValue
??
0
))
/
total
;
}
}
else
else
{
{
...
...
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
e75d6840
...
@@ -293,8 +293,9 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
...
@@ -293,8 +293,9 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
dept
.
ScoringAverage
=
dept
.
ScoringAverage
==
0
m
?
1
:
dept
.
ScoringAverage
;
dept
.
ScoringAverage
=
dept
.
ScoringAverage
==
0
m
?
1
:
dept
.
ScoringAverage
;
dept
.
AdjustFactor
=
dept
.
AdjustFactor
==
0
m
?
1
:
dept
.
AdjustFactor
;
dept
.
AdjustFactor
=
dept
.
AdjustFactor
==
0
m
?
1
:
dept
.
AdjustFactor
;
dept
.
WorkSlopeFactor
=
dept
.
WorkSlopeFactor
==
0
m
?
1
:
dept
.
WorkSlopeFactor
;
dept
.
Income
=
econDoctor
?.
CellValue
??
0
;
dept
.
Income
=
econDoctor
?.
CellValue
??
0
;
dept
.
WorkloadFee
=
workDoctor
?.
CellValue
??
0
;
dept
.
WorkloadFee
=
dept
.
WorkSlopeFactor
*
(
workDoctor
?.
CellValue
??
0
)
;
dept
.
PerforFee
=
dept
.
Income
*
(
dept
.
BasicFactor
+
dept
.
SlopeFactor
);
dept
.
PerforFee
=
dept
.
Income
*
(
dept
.
BasicFactor
+
dept
.
SlopeFactor
);
dept
.
PerforTotal
=
dept
.
PerforFee
+
dept
.
WorkloadFee
+
dept
.
OtherPerfor1
+
(
dept
.
MinimumFee
??
0
);
dept
.
PerforTotal
=
dept
.
PerforFee
+
dept
.
WorkloadFee
+
dept
.
OtherPerfor1
+
(
dept
.
MinimumFee
??
0
);
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
dept
.
RealGiveFee
=
(
dept
.
PerforTotal
*
dept
.
ScoringAverage
+
dept
.
Extra
+
dept
.
OtherPerfor2
)
*
dept
.
AdjustFactor
;
...
@@ -526,7 +527,7 @@ private List<CofDrugProp> GetDrugConfig(PerExcel excel, int allotid)
...
@@ -526,7 +527,7 @@ private List<CofDrugProp> GetDrugConfig(PerExcel excel, int allotid)
var
fvalue
=
cofList
.
FirstOrDefault
(
t
=>
prop
>
t
.
MinRange
&&
prop
<=
t
.
MaxRange
)?.
Value
??
0
;
var
fvalue
=
cofList
.
FirstOrDefault
(
t
=>
prop
>
t
.
MinRange
&&
prop
<=
t
.
MaxRange
)?.
Value
??
0
;
cofs
.
Add
(
new
CofDrugProp
{
AccoutingUnit
=
unit
,
Factor
=
fvalue
,
Prop
=
prop
});
cofs
.
Add
(
new
CofDrugProp
{
AccoutingUnit
=
unit
,
Factor
=
fvalue
,
Prop
=
prop
});
}
}
return
cofs
;
return
cofs
;
}
}
#
endregion
#
endregion
}
}
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
e75d6840
...
@@ -185,54 +185,57 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
...
@@ -185,54 +185,57 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
}
}
var
empolyee
=
computeEmployees
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
group
.
AccountingUnit
);
var
empolyee
s
=
computeEmployees
.
Where
(
t
=>
t
.
AccountingUnit
==
group
.
AccountingUnit
);
if
(
empolyee
==
null
)
foreach
(
var
empolyee
in
empolyees
)
{
{
empolyee
=
new
ComputeEmployee
//if (empolyee == null)
//{
// empolyee = new ComputeEmployee
// {
// AccountType = AccountUnitType.科主任.ToString(),
// DoctorName = "人员信息缺失",
// FitPeople = "",
// ScoreAverageRate = 1,
// Punishment = 0,
// OtherPerfor = 0,
// Adjust = 1,
// };
//}
var
compute
=
new
ComputeResult
{
{
UnitType
=
UnitType
.
特殊核算组
.
ToString
(),
AccountingUnit
=
group
.
AccountingUnit
,
AccountType
=
AccountUnitType
.
科主任
.
ToString
(),
AccountType
=
AccountUnitType
.
科主任
.
ToString
(),
DoctorName
=
"人员信息缺失"
,
EmployeeName
=
empolyee
.
DoctorName
,
FitPeople
=
""
,
FitPeople
=
empolyee
.
FitPeople
,
ScoreAverageRate
=
1
,
JobTitle
=
empolyee
.
JobTitle
,
Punishment
=
0
,
OtherPerfor
=
0
,
ScoreAverageRate
=
empolyee
.
ScoreAverageRate
,
Adjust
=
1
,
Punishment
=
empolyee
.
Punishment
,
OtherPerfor
=
empolyee
.
OtherPerfor
,
Number
=
group
.
Number
,
PerforTotal
=
sumValue
,
Avg
=
group
.
Number
==
0
?
0
:
(
sumValue
/
group
.
Number
),
Adjust
=
empolyee
.
Adjust
};
};
compute
.
Efficiency
=
compute
.
Avg
*
(
empolyee
.
Efficiency
??
1
);
compute
.
Scale
=
compute
.
PerforTotal
*
(
empolyee
.
Scale
??
1
);
//应发管理绩效
compute
.
ShouldGiveFee
=
(
compute
.
Efficiency
+
compute
.
Scale
)
*
empolyee
.
Management
;
//绩效合计
compute
.
PerforSumFee
=
compute
.
Avg
+
compute
.
ShouldGiveFee
;
//应发绩效
compute
.
GiveFee
=
compute
.
PerforSumFee
;
//实发绩效
compute
.
RealGiveFee
=
(
compute
.
GiveFee
*
compute
.
ScoreAverageRate
+
(
compute
.
Punishment
??
0
)
+
(
compute
.
OtherPerfor
??
0
))
*
(
compute
.
Adjust
??
1
m
);
// 参考基数专用绩效合计
compute
.
BaiscNormPerforTotal
=
compute
.
RealGiveFee
;
computeList
.
Add
(
compute
);
}
}
var
compute
=
new
ComputeResult
{
UnitType
=
UnitType
.
特殊核算组
.
ToString
(),
AccountingUnit
=
group
.
AccountingUnit
,
AccountType
=
AccountUnitType
.
科主任
.
ToString
(),
EmployeeName
=
empolyee
.
DoctorName
,
FitPeople
=
empolyee
.
FitPeople
,
JobTitle
=
empolyee
.
JobTitle
,
ScoreAverageRate
=
empolyee
.
ScoreAverageRate
,
Punishment
=
empolyee
.
Punishment
,
OtherPerfor
=
empolyee
.
OtherPerfor
,
Number
=
group
.
Number
,
PerforTotal
=
sumValue
,
Avg
=
group
.
Number
==
0
?
0
:
(
sumValue
/
group
.
Number
),
Adjust
=
empolyee
.
Adjust
};
compute
.
Efficiency
=
compute
.
Avg
*
(
empolyee
.
Efficiency
??
1
);
compute
.
Scale
=
compute
.
PerforTotal
*
(
empolyee
.
Scale
??
1
);
//应发管理绩效
compute
.
ShouldGiveFee
=
(
compute
.
Efficiency
+
compute
.
Scale
)
*
empolyee
.
Management
;
//绩效合计
compute
.
PerforSumFee
=
compute
.
Avg
+
compute
.
ShouldGiveFee
;
//应发绩效
compute
.
GiveFee
=
compute
.
PerforSumFee
;
//实发绩效
compute
.
RealGiveFee
=
(
compute
.
GiveFee
*
compute
.
ScoreAverageRate
+
(
compute
.
Punishment
??
0
)
+
(
compute
.
OtherPerfor
??
0
))
*
(
compute
.
Adjust
??
1
m
);
// 参考基数专用绩效合计
compute
.
BaiscNormPerforTotal
=
compute
.
RealGiveFee
;
computeList
.
Add
(
compute
);
}
}
var
computes
=
Mapper
.
Map
<
List
<
res_compute
>>(
computeList
);
var
computes
=
Mapper
.
Map
<
List
<
res_compute
>>(
computeList
);
computes
.
ForEach
(
t
=>
t
.
AllotID
=
allot
.
ID
);
computes
.
ForEach
(
t
=>
t
.
AllotID
=
allot
.
ID
);
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
e75d6840
This diff is collapsed.
Click to expand it.
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadDeptAccounting.cs
View file @
e75d6840
...
@@ -35,6 +35,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
...
@@ -35,6 +35,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
unifyUnit
.
UnitType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元类型"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
UnitType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元类型"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
AccountingUnit
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
AccountingUnit
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"科室名称"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"科室名称"
).
PointCell
)?.
StringCellValue
;
unifyUnit
.
PermanentStaff
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效人数"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
ManagerNumber
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"科主任/护士长人数"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
ManagerNumber
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"科主任/护士长人数"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
Number
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元人员数量"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
Number
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元人员数量"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
BasicFactor
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"预算比例"
).
PointCell
)?.
NumericCellValue
);
unifyUnit
.
BasicFactor
=
ConvertHelper
.
To
<
decimal
>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"预算比例"
).
PointCell
)?.
NumericCellValue
);
...
...
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