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
e6ede3ac
Commit
e6ede3ac
authored
Mar 09, 2021
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '夜班绩效' into v20201230yubei
parents
3cff38c8
c78dadec
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
46 additions
and
2 deletions
+46
-2
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+5
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+10
-0
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
+5
-0
performance/Performance.EntityModels/Entity/ag_secondallot.cs
+1
-0
performance/Performance.EntityModels/Entity/res_account.cs
+4
-0
performance/Performance.EntityModels/Entity/res_specialunit.cs
+4
-0
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+5
-0
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+12
-2
No files found.
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
e6ede3ac
...
...
@@ -1101,6 +1101,11 @@
是否需要二次分配
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataAccountBaisc.NightShiftWorkPerforFee"
>
<summary>
夜班绩效
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataClinicEmployee.UnitType"
>
<summary>
核算单元分类
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
e6ede3ac
...
...
@@ -4420,6 +4420,11 @@
是否需要二次分配
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_account.NightShiftWorkPerforFee"
>
<summary>
夜班绩效
</summary>
</member>
<member
name=
"T:Performance.EntityModels.res_accountdoctor"
>
<summary>
医生科室核算结果
...
...
@@ -5175,6 +5180,11 @@
调节后其他绩效
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_specialunit.NightShiftWorkPerforFee"
>
<summary>
夜班绩效
</summary>
</member>
<member
name=
"T:Performance.EntityModels.sys_extract"
>
<summary>
医院数据提取脚本
...
...
performance/Performance.DtoModels/PerExcel/PerDataAccountBaisc.cs
View file @
e6ede3ac
...
...
@@ -237,6 +237,11 @@ public class PerDataAccountBaisc : IPerData
/// </summary>
public
string
NeedSecondAllot
{
get
;
set
;
}
/// <summary>
/// 夜班绩效
/// </summary>
public
Nullable
<
decimal
>
NightShiftWorkPerforFee
{
get
;
set
;
}
#
endregion
由计算得出
}
}
performance/Performance.EntityModels/Entity/ag_secondallot.cs
View file @
e6ede3ac
...
...
@@ -105,5 +105,6 @@ public class ag_secondallot
/// 护理部备注
/// </summary>
public
string
NursingDeptRemark
{
get
;
set
;
}
public
decimal
?
NightShiftWorkPerforFee
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/res_account.cs
View file @
e6ede3ac
...
...
@@ -192,5 +192,9 @@ public class res_account
/// 是否需要二次分配
/// </summary>
public
string
NeedSecondAllot
{
get
;
set
;
}
/// <summary>
/// 夜班绩效
/// </summary>
public
Nullable
<
decimal
>
NightShiftWorkPerforFee
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/res_specialunit.cs
View file @
e6ede3ac
...
...
@@ -131,5 +131,9 @@ public class res_specialunit
/// 调节后其他绩效
/// </summary>
public
Nullable
<
decimal
>
AdjustLaterOtherFee
{
get
;
set
;
}
/// <summary>
/// 夜班绩效
/// </summary>
public
Nullable
<
decimal
>
NightShiftWorkPerforFee
{
get
;
set
;
}
}
}
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
e6ede3ac
...
...
@@ -268,6 +268,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
var
economicData
=
perSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
ComputeEconomic
)?.
PerData
?.
Select
(
t
=>
(
PerData
)
t
);
var
doctorWorkloadData
=
perSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
ComputeDoctorWorkload
)?.
PerData
?.
Select
(
t
=>
(
PerData
)
t
);
var
nurseWorkloadData
=
perSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
ComputeNurseWorkload
)?.
PerData
?.
Select
(
t
=>
(
PerData
)
t
);
var
accountExtraData
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
AccountExtra
)?.
PerData
?.
Select
(
t
=>
(
PerData
)
t
);
var
pairs
=
new
[]
{
...
...
@@ -301,7 +302,10 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
}
if
(
UnitType
.
医技组
==
unitType
&&
workDoctor
==
null
)
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
UnitType
.
医生组
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
AccountingUnit
);
// 夜班绩效 从医院奖罚的明细项中获取
var
nightShift
=
accountExtraData
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
dept
.
UnitType
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
&&
w
.
TypeName
?.
Trim
()
==
"夜班绩效"
)?.
CellValue
??
0
;
dept
.
NightShiftWorkPerforFee
=
nightShift
;
//dept.MedicineFactor = workDoctor?.MedicineFactor;
//dept.ScoringAverage = scoreAverage.HasValue ? scoreAverage ?? 0 : dept.ScoringAverage;
dept
.
ScoringAverage
=
dept
.
ScoringAverage
;
...
...
@@ -325,6 +329,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, per_allot
dept
.
RealGiveFee
=
Math
.
Round
((
dept
.
AssessLaterPerforTotal
*
dept
.
AdjustFactor
+
dept
.
AdjustLaterOtherFee
)
??
0
);
//dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
dept
.
Avg
=
dept
.
Number
==
0
?
0
:
dept
.
PerforTotal
/
dept
.
Number
;
}
sheet
.
PerData
.
AddRange
(
atDataList
);
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
e6ede3ac
...
...
@@ -136,6 +136,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
//取出科室
var
accountList
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
AccountBasic
)?.
PerData
?.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
var
accountExtraData
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
AccountExtra
)?.
PerData
?.
Select
(
t
=>
(
PerData
)
t
);
List
<
res_specialunit
>
resDataList
=
new
List
<
res_specialunit
>();
...
...
@@ -173,6 +174,9 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
//var materialsExtra = materialsExtras?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept?.AccountingUnit)?.TotelValue;
//var scoreAverage = accountScoreAverages?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept?.AccountingUnit)?.TotelValue;
// 夜班绩效 从医院奖罚的明细项中获取
var
nightShift
=
accountExtraData
.
FirstOrDefault
(
w
=>
w
.
UnitType
==
dept
.
UnitType
&&
w
.
AccountingUnit
==
dept
.
AccountingUnit
&&
w
.
TypeName
?.
Trim
()
==
"夜班绩效"
)?.
CellValue
??
0
;
decimal
?
headcount
=
null
;
if
(
typeList
.
Any
(
o
=>
o
.
Description
==
item
.
QuantitativeIndicators
))
headcount
=
group
.
Number
;
...
...
@@ -207,6 +211,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
AssessBeforeOtherFee
=
dept
?.
AssessBeforeOtherFee
??
0
,
AssessLaterOtherFee
=
dept
?.
AssessLaterOtherFee
??
0
,
AdjustLaterOtherFee
=
dept
?.
AdjustLaterOtherFee
??
0
,
NightShiftWorkPerforFee
=
nightShift
,
};
res
.
PerforTotal
=
(
sumValue
??
0
)
+
res
.
AssessBeforeOtherFee
;
res
.
GiveFee
=
Math
.
Round
(
res
.
PerforTotal
+
res
.
AssessLaterOtherFee
??
0
);
...
...
@@ -541,6 +546,7 @@ public void GenerateSecondAllot(per_allot allot)
Month
=
allot
.
Month
,
UnitType
=
((
UnitType
)
item
.
UnitType
).
ToString
(),
Department
=
item
.
AccountingUnit
,
NightShiftWorkPerforFee
=
item
.
NightShiftWorkPerforFee
,
RealGiveFee
=
item
.
RealGiveFee
,
});
}
...
...
@@ -548,7 +554,7 @@ public void GenerateSecondAllot(per_allot allot)
}
if
(
specialList
!=
null
)
{
foreach
(
var
item
in
specialList
.
Select
(
w
=>
new
{
w
.
AccountingUnit
,
w
.
RealGiveFee
}).
Distinct
())
foreach
(
var
item
in
specialList
.
Select
(
w
=>
new
{
w
.
AccountingUnit
,
w
.
NightShiftWorkPerforFee
,
w
.
RealGiveFee
}).
Distinct
())
{
if
(!
tempSecond
.
Any
(
f
=>
f
.
UnitType
==
UnitType
.
特殊核算组
.
ToString
()
&&
f
.
Department
==
item
.
AccountingUnit
))
{
...
...
@@ -559,6 +565,7 @@ public void GenerateSecondAllot(per_allot allot)
Month
=
allot
.
Month
,
UnitType
=
UnitType
.
特殊核算组
.
ToString
(),
Department
=
item
.
AccountingUnit
,
NightShiftWorkPerforFee
=
item
.
NightShiftWorkPerforFee
,
RealGiveFee
=
item
.
RealGiveFee
,
});
}
...
...
@@ -580,13 +587,16 @@ public void GenerateSecondAllot(per_allot allot)
UnitType
=
item
.
UnitType
,
Department
=
item
.
Department
,
RealGiveFee
=
item
.
RealGiveFee
,
NightShiftWorkPerforFee
=
item
.
NightShiftWorkPerforFee
,
Status
=
1
,
NursingDeptStatus
=
1
,
});
}
else
{
if
(
Math
.
Abs
((
second
.
RealGiveFee
??
0
)
-
(
item
.
RealGiveFee
??
0
))
>=
0.5
m
&&
second
.
Status
>
1
)
var
backResult
=
Math
.
Abs
((
second
.
RealGiveFee
??
0
)
-
(
item
.
RealGiveFee
??
0
))
>=
0.5
m
||
Math
.
Abs
((
second
.
NightShiftWorkPerforFee
??
0
)
-
(
item
.
NightShiftWorkPerforFee
??
0
))
>=
0.5
m
;
if
(
backResult
&&
second
.
Status
>
1
)
{
second
.
Status
=
4
;
second
.
Remark
=
"科室绩效结果发生变更,需要重新提交"
;
...
...
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