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
a9e8f4f4
Commit
a9e8f4f4
authored
Jan 17, 2020
by
李承祥
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更改效率、规模系数来源
parent
3e4c46bf
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
105 additions
and
9 deletions
+105
-9
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+35
-0
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+5
-0
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
+2
-0
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
+20
-0
performance/Performance.DtoModels/PerExcel/PerDataSpecialUnit.cs
+15
-0
performance/Performance.EntityModels/Entity/res_specialunit.cs
+5
-0
performance/Performance.Repository/PerforCofdirectorRepository.cs
+1
-0
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+1
-1
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+16
-3
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+4
-4
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
+1
-1
No files found.
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
a9e8f4f4
...
@@ -400,6 +400,26 @@
...
@@ -400,6 +400,26 @@
调节系数
调节系数
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ComputeEmployee.UnitType"
>
<summary>
核算单元分类
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeEmployee.Efficiency"
>
<summary>
效率绩效系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeEmployee.Scale"
>
<summary>
规模绩效系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeEmployee.Management"
>
<summary>
管理绩效发放系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.AccountType"
>
<member
name=
"P:Performance.DtoModels.ComputeResult.AccountType"
>
<summary>
<summary>
科室类别(例如 医技科室 临床科室 其他科室)
科室类别(例如 医技科室 临床科室 其他科室)
...
@@ -1006,6 +1026,21 @@
...
@@ -1006,6 +1026,21 @@
调节系数
调节系数
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataSpecialUnit.Efficiency"
>
<summary>
效率绩效系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataSpecialUnit.Scale"
>
<summary>
规模绩效系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerDataSpecialUnit.Management"
>
<summary>
管理绩效发放系数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.PerHeader.SignID"
>
<member
name=
"P:Performance.DtoModels.PerHeader.SignID"
>
<summary>
<summary>
唯一标准
唯一标准
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
a9e8f4f4
...
@@ -2974,6 +2974,11 @@
...
@@ -2974,6 +2974,11 @@
实发绩效
实发绩效
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.res_specialunit.ResultsTotalFee"
>
<summary>
业绩总绩效
</summary>
</member>
<member
name=
"T:Performance.EntityModels.sys_extract"
>
<member
name=
"T:Performance.EntityModels.sys_extract"
>
<summary>
<summary>
医院数据提取脚本
医院数据提取脚本
...
...
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
View file @
a9e8f4f4
...
@@ -194,6 +194,8 @@ public AutoMapperConfigs()
...
@@ -194,6 +194,8 @@ public AutoMapperConfigs()
CreateMap
<
ag_secondallot
,
SecondListResponse
>().
ReverseMap
();
CreateMap
<
ag_secondallot
,
SecondListResponse
>().
ReverseMap
();
CreateMap
<
im_employee_clinic
,
PerDataClinicEmployee
>().
ReverseMap
();
CreateMap
<
im_employee_clinic
,
PerDataClinicEmployee
>().
ReverseMap
();
CreateMap
<
im_employee_clinic
,
ComputeEmployee
>().
ReverseMap
();
}
}
}
}
}
}
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
View file @
a9e8f4f4
...
@@ -95,5 +95,25 @@ public class ComputeEmployee
...
@@ -95,5 +95,25 @@ public class ComputeEmployee
///// 发放系数
///// 发放系数
///// </summary>
///// </summary>
//public Nullable<decimal> Grant { get; set; }
//public Nullable<decimal> Grant { get; set; }
/// <summary>
/// 核算单元分类
/// </summary>
public
string
UnitType
{
get
;
set
;
}
/// <summary>
/// 效率绩效系数
/// </summary>
public
Nullable
<
decimal
>
Efficiency
{
get
;
set
;
}
/// <summary>
/// 规模绩效系数
/// </summary>
public
Nullable
<
decimal
>
Scale
{
get
;
set
;
}
/// <summary>
/// 管理绩效发放系数
/// </summary>
public
Nullable
<
decimal
>
Management
{
get
;
set
;
}
}
}
}
}
performance/Performance.DtoModels/PerExcel/PerDataSpecialUnit.cs
View file @
a9e8f4f4
...
@@ -56,5 +56,20 @@ public class PerDataSpecialUnit : IPerData
...
@@ -56,5 +56,20 @@ public class PerDataSpecialUnit : IPerData
/// </summary>
/// </summary>
public
Nullable
<
decimal
>
Adjust
{
get
;
set
;
}
public
Nullable
<
decimal
>
Adjust
{
get
;
set
;
}
public
int
RowNumber
{
get
;
set
;
}
public
int
RowNumber
{
get
;
set
;
}
/// <summary>
/// 效率绩效系数
/// </summary>
public
Nullable
<
decimal
>
Efficiency
{
get
;
set
;
}
/// <summary>
/// 规模绩效系数
/// </summary>
public
Nullable
<
decimal
>
Scale
{
get
;
set
;
}
/// <summary>
/// 管理绩效发放系数
/// </summary>
public
Nullable
<
decimal
>
Management
{
get
;
set
;
}
}
}
}
}
performance/Performance.EntityModels/Entity/res_specialunit.cs
View file @
a9e8f4f4
...
@@ -95,5 +95,10 @@ public class res_specialunit
...
@@ -95,5 +95,10 @@ public class res_specialunit
/// 实发绩效
/// 实发绩效
/// </summary>
/// </summary>
public
Nullable
<
decimal
>
RealGiveFee
{
get
;
set
;
}
public
Nullable
<
decimal
>
RealGiveFee
{
get
;
set
;
}
/// <summary>
/// 业绩总绩效
/// </summary>
public
Nullable
<
decimal
>
ResultsTotalFee
{
get
;
set
;
}
}
}
}
}
performance/Performance.Repository/PerforCofdirectorRepository.cs
View file @
a9e8f4f4
...
@@ -22,6 +22,7 @@ public int DeleteData(int allotId)
...
@@ -22,6 +22,7 @@ public int DeleteData(int allotId)
"im_accountbasic"
,
"im_accountbasic"
,
"im_data"
,
"im_data"
,
"im_employee"
,
"im_employee"
,
"im_employee_clinic"
,
"im_header"
,
"im_header"
,
"im_specialunit"
,
"im_specialunit"
,
"per_sheet"
,
"per_sheet"
,
...
...
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
a9e8f4f4
...
@@ -526,7 +526,7 @@ private List<CofDrugProp> GetDrugConfig(PerExcel excel, int allotid)
...
@@ -526,7 +526,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 @
a9e8f4f4
...
@@ -23,6 +23,7 @@ public class ResultComputeService : IAutoInjection
...
@@ -23,6 +23,7 @@ public class ResultComputeService : IAutoInjection
private
readonly
PerforResspecialunitRepository
perforResspecialunitRepository
;
private
readonly
PerforResspecialunitRepository
perforResspecialunitRepository
;
private
readonly
PerforImaccountbasicRepository
perforImaccountbasicRepository
;
private
readonly
PerforImaccountbasicRepository
perforImaccountbasicRepository
;
private
readonly
LogManageService
logManageService
;
private
readonly
LogManageService
logManageService
;
private
readonly
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
;
public
ResultComputeService
(
public
ResultComputeService
(
PerforImemployeeRepository
perforImEmployeeRepository
,
PerforImemployeeRepository
perforImEmployeeRepository
,
...
@@ -31,7 +32,8 @@ public class ResultComputeService : IAutoInjection
...
@@ -31,7 +32,8 @@ public class ResultComputeService : IAutoInjection
PerforResspecialunitRepository
perforResspecialunitRepository
,
PerforResspecialunitRepository
perforResspecialunitRepository
,
PerforImaccountbasicRepository
perforImaccountbasicRepository
,
PerforImaccountbasicRepository
perforImaccountbasicRepository
,
BaiscNormService
baiscNormService
,
ComputeDirector
computeDirector
,
BaiscNormService
baiscNormService
,
ComputeDirector
computeDirector
,
LogManageService
logManageService
)
LogManageService
logManageService
,
PerforImemployeeclinicRepository
perforImemployeeclinicRepository
)
{
{
this
.
baiscNormService
=
baiscNormService
;
this
.
baiscNormService
=
baiscNormService
;
this
.
computeDirector
=
computeDirector
;
this
.
computeDirector
=
computeDirector
;
...
@@ -41,6 +43,7 @@ public class ResultComputeService : IAutoInjection
...
@@ -41,6 +43,7 @@ public class ResultComputeService : IAutoInjection
this
.
perforResspecialunitRepository
=
perforResspecialunitRepository
;
this
.
perforResspecialunitRepository
=
perforResspecialunitRepository
;
this
.
perforImaccountbasicRepository
=
perforImaccountbasicRepository
;
this
.
perforImaccountbasicRepository
=
perforImaccountbasicRepository
;
this
.
logManageService
=
logManageService
;
this
.
logManageService
=
logManageService
;
this
.
perforImemployeeclinicRepository
=
perforImemployeeclinicRepository
;
}
}
/// <summary>
/// <summary>
...
@@ -50,7 +53,7 @@ public class ResultComputeService : IAutoInjection
...
@@ -50,7 +53,7 @@ public class ResultComputeService : IAutoInjection
public
List
<
res_baiscnorm
>
Compute
(
per_allot
allot
,
PerExcel
excel
,
List
<
PerSheet
>
accountSheet
,
bool
isMinimum
=
false
)
public
List
<
res_baiscnorm
>
Compute
(
per_allot
allot
,
PerExcel
excel
,
List
<
PerSheet
>
accountSheet
,
bool
isMinimum
=
false
)
{
{
//取出人员信息
//取出人员信息
var
empolyeeList
=
perforIm
Employee
Repository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
var
empolyeeList
=
perforIm
employeeclinic
Repository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
var
accountbasicList
=
perforImaccountbasicRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
var
accountbasicList
=
perforImaccountbasicRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
List
<
ComputeEmployee
>
computeEmployees
=
Mapper
.
Map
<
List
<
ComputeEmployee
>>(
empolyeeList
);
List
<
ComputeEmployee
>
computeEmployees
=
Mapper
.
Map
<
List
<
ComputeEmployee
>>(
empolyeeList
);
...
@@ -62,10 +65,12 @@ public List<res_baiscnorm> Compute(per_allot allot, PerExcel excel, List<PerShee
...
@@ -62,10 +65,12 @@ public List<res_baiscnorm> Compute(per_allot allot, PerExcel excel, List<PerShee
baiscNormService
.
ComputeAvg
(
baiscnormList
,
accountbasicList
,
computResult
);
baiscNormService
.
ComputeAvg
(
baiscnormList
,
accountbasicList
,
computResult
);
baiscNormService
.
DocterNurseBaiscnorm
(
baiscnormList
,
accountbasicList
,
accountSheet
);
baiscNormService
.
DocterNurseBaiscnorm
(
baiscnormList
,
accountbasicList
,
accountSheet
);
var
empolyeeList1
=
perforImEmployeeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
computeEmployees
=
Mapper
.
Map
<
List
<
ComputeEmployee
>>(
empolyeeList1
);
logManageService
.
WriteMsg
(
"正在生成绩效"
,
"院领导、业务中层、工勤人员 最终绩效数据计算"
,
1
,
allot
.
ID
,
"ReceiveMessage"
);
logManageService
.
WriteMsg
(
"正在生成绩效"
,
"院领导、业务中层、工勤人员 最终绩效数据计算"
,
1
,
allot
.
ID
,
"ReceiveMessage"
);
var
computResult2
=
computeDirector
.
Compute
(
computeEmployees
,
allot
,
baiscnormList
);
var
computResult2
=
computeDirector
.
Compute
(
computeEmployees
,
allot
,
baiscnormList
);
//计算 行政人员 平均值
//计算 行政人员 平均值
baiscNormService
.
ComputeOtherAvg
(
baiscnormList
,
computResult2
,
empolyeeList
);
baiscNormService
.
ComputeOtherAvg
(
baiscnormList
,
computResult2
,
empolyeeList
1
);
if
(!
isMinimum
)
if
(!
isMinimum
)
{
{
...
@@ -94,9 +99,16 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
...
@@ -94,9 +99,16 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
return
;
return
;
var
typeList
=
EnumHelper
.
GetItems
<
PerforType
>();
var
typeList
=
EnumHelper
.
GetItems
<
PerforType
>();
var
dataList
=
specialUnit
.
PerData
.
Select
(
t
=>
(
PerDataSpecialUnit
)
t
);
var
dataList
=
specialUnit
.
PerData
.
Select
(
t
=>
(
PerDataSpecialUnit
)
t
);
var
specialEmployee
=
perforImemployeeclinicRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
//替换考核基数
//替换考核基数
foreach
(
var
item
in
dataList
)
foreach
(
var
item
in
dataList
)
{
{
if
(
specialEmployee
!=
null
&&
specialEmployee
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
)
!=
null
)
{
item
.
Efficiency
=
specialEmployee
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
).
Efficiency
??
1
;
item
.
Scale
=
specialEmployee
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
).
Scale
??
1
;
item
.
Management
=
specialEmployee
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
).
Management
??
1
;
}
var
type
=
typeList
.
FirstOrDefault
(
o
=>
o
.
Description
==
item
.
QuantitativeIndicators
);
var
type
=
typeList
.
FirstOrDefault
(
o
=>
o
.
Description
==
item
.
QuantitativeIndicators
);
if
(
type
!=
null
)
if
(
type
!=
null
)
{
{
...
@@ -164,6 +176,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
...
@@ -164,6 +176,7 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
res
.
GiveFee
=
(
sumValue
+
(
group
.
OtherPerfor
??
0
)
+
(
group
.
Punishment
??
0
));
res
.
GiveFee
=
(
sumValue
+
(
group
.
OtherPerfor
??
0
)
+
(
group
.
Punishment
??
0
));
res
.
RealGiveFee
=
res
.
GiveFee
*
(
group
.
Adjust
==
0
?
1
:
group
.
Adjust
);
res
.
RealGiveFee
=
res
.
GiveFee
*
(
group
.
Adjust
==
0
?
1
:
group
.
Adjust
);
res
.
Avg
=
group
.
Number
!=
0
?
res
.
GiveFee
/
group
.
Number
:
null
;
res
.
Avg
=
group
.
Number
!=
0
?
res
.
GiveFee
/
group
.
Number
:
null
;
res
.
ResultsTotalFee
=
0
;
resDataList
.
Add
(
res
);
resDataList
.
Add
(
res
);
}
}
}
}
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
a9e8f4f4
...
@@ -205,7 +205,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
...
@@ -205,7 +205,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
var
basicRule
=
basicRuleList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
(
UnitType
)
accountbasic
.
UnitType
);
var
basicRule
=
basicRuleList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
(
UnitType
)
accountbasic
.
UnitType
);
if
(
basicRule
==
null
)
continue
;
if
(
basicRule
==
null
)
continue
;
var
empolyee
=
empolyeeList
.
FirstOrDefault
(
t
=>
t
.
AccountType
==
basicRule
.
Account
UnitType
.
ToString
()
&&
t
.
AccountingUnit
==
accountbasic
.
DoctorAccountingUnit
);
var
empolyee
=
empolyeeList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
basicRule
.
UnitType
.
ToString
()
&&
t
.
AccountingUnit
==
accountbasic
.
DoctorAccountingUnit
);
if
(
empolyee
==
null
)
if
(
empolyee
==
null
)
{
{
...
@@ -225,7 +225,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
...
@@ -225,7 +225,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
UnitType
=
basicRule
.
UnitType
.
ToString
(),
UnitType
=
basicRule
.
UnitType
.
ToString
(),
AccountingUnit
=
accountbasic
.
DoctorAccountingUnit
,
AccountingUnit
=
accountbasic
.
DoctorAccountingUnit
,
AccountType
=
empolyee
.
AccountType
,
AccountType
=
basicRule
.
AccountUnitType
.
ToString
()
,
EmployeeName
=
empolyee
.
DoctorName
,
EmployeeName
=
empolyee
.
DoctorName
,
FitPeople
=
empolyee
.
FitPeople
,
FitPeople
=
empolyee
.
FitPeople
,
JobTitle
=
empolyee
.
JobTitle
,
JobTitle
=
empolyee
.
JobTitle
,
...
@@ -237,8 +237,8 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
...
@@ -237,8 +237,8 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
Number
=
number
,
Number
=
number
,
PerforTotal
=
realGiveFee
,
PerforTotal
=
realGiveFee
,
Avg
=
realAvg
,
Avg
=
realAvg
,
Efficiency
=
realAvg
*
(
accountbasic
.
DoctorEffic
??
1
),
Efficiency
=
realAvg
*
(
empolyee
.
Efficiency
??
1
),
Scale
=
perforTotal
*
(
accountbasic
.
Doctor
Scale
??
1
),
Scale
=
perforTotal
*
(
empolyee
.
Scale
??
1
),
Adjust
=
empolyee
.
Adjust
,
Adjust
=
empolyee
.
Adjust
,
Remark
=
isShare
?
"特殊科室主任,共用核算单元"
:
""
Remark
=
isShare
?
"特殊科室主任,共用核算单元"
:
""
};
};
...
...
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
View file @
a9e8f4f4
...
@@ -144,7 +144,7 @@ public PerSheet OnceCompute(PerSheet sheet)
...
@@ -144,7 +144,7 @@ public PerSheet OnceCompute(PerSheet sheet)
{
{
header
.
PointCell
=
header
.
PointCell
+
phead
;
header
.
PointCell
=
header
.
PointCell
+
phead
;
header
.
Children
.
ForEach
(
item
=>
item
.
PointCell
=
item
.
PointCell
+
phead
);
header
.
Children
.
ForEach
(
item
=>
item
.
PointCell
=
item
.
PointCell
+
phead
);
phead
=
phead
+
3
;
phead
=
phead
+
3
;
}
}
}
}
...
...
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