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
2aebe274
Commit
2aebe274
authored
Apr 14, 2020
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Plain Diff
V20200414正式版发布
文本修改
parents
12a2b71e
cccf0e4a
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
145 additions
and
29 deletions
+145
-29
performance/Performance.Api/Template/医院绩效模板.xlsx
+0
-0
performance/Performance.Api/appsettings.json
+1
-1
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
+37
-2
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
+15
-0
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
+19
-4
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
+2
-2
performance/Performance.DtoModels/PerExcel/PerDataClinicEmployee.cs
+1
-1
performance/Performance.DtoModels/PerExcel/PerDataEmployee.cs
+1
-1
performance/Performance.DtoModels/Response/ResComputeResponse.cs
+15
-0
performance/Performance.EntityModels/Entity/res_compute.cs
+15
-0
performance/Performance.Extract.Api/Template/东方医院绩效模板.xlsx
+0
-0
performance/Performance.Repository/PerforReportRepository .cs
+0
-0
performance/Performance.Services/AllotCompute/ProcessComputService.cs
+3
-3
performance/Performance.Services/AllotCompute/ResultComputeService.cs
+2
-1
performance/Performance.Services/ComputeService.cs
+2
-2
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+28
-8
performance/Performance.Services/PerExcelService/PerSheetService.cs
+1
-1
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadClinicEmployee.cs
+1
-1
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadEmployee.cs
+1
-1
performance/Performance.Services/SheetSevice.cs
+1
-1
No files found.
performance/Performance.Api/Template/医院绩效模板.xlsx
View file @
2aebe274
No preview for this file type
performance/Performance.Api/appsettings.json
View file @
2aebe274
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
"SmtpServer"
:
"smtpdm.aliyun.com"
,
"SmtpServer"
:
"smtpdm.aliyun.com"
,
"Account"
:
"service@email.suvalue.com"
,
"Account"
:
"service@email.suvalue.com"
,
"Password"
:
"SuValue123456"
,
"Password"
:
"SuValue123456"
,
"IsEnable"
:
tru
e
"IsEnable"
:
fals
e
},
},
"Application"
:
{
"Application"
:
{
//登录过期时间
//登录过期时间
...
...
performance/Performance.Api/wwwroot/Performance.DtoModels.xml
View file @
2aebe274
...
@@ -483,6 +483,11 @@
...
@@ -483,6 +483,11 @@
岗位系数
岗位系数
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.Grant"
>
<summary>
发放系数(来自人员名单)
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.ShouldGiveFee"
>
<member
name=
"P:Performance.DtoModels.ComputeResult.ShouldGiveFee"
>
<summary>
<summary>
应发管理绩效(需计算)
应发管理绩效(需计算)
...
@@ -558,6 +563,21 @@
...
@@ -558,6 +563,21 @@
工号
工号
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.ManagerNumber"
>
<summary>
科主任/护士长人数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.MedicalNumber"
>
<summary>
核算单元人员数量
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ComputeResult.PermanentStaff"
>
<summary>
效率绩效人数
</summary>
</member>
<member
name=
"T:Performance.DtoModels.UnitType"
>
<member
name=
"T:Performance.DtoModels.UnitType"
>
<summary>
核算单元类型
</summary>
<summary>
核算单元类型
</summary>
</member>
</member>
...
@@ -874,7 +894,7 @@
...
@@ -874,7 +894,7 @@
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataClinicEmployee.JobTitle"
>
<member
name=
"P:Performance.DtoModels.PerDataClinicEmployee.JobTitle"
>
<summary>
<summary>
职
称
职
务分类
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataClinicEmployee.Basics"
>
<member
name=
"P:Performance.DtoModels.PerDataClinicEmployee.Basics"
>
...
@@ -974,7 +994,7 @@
...
@@ -974,7 +994,7 @@
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataEmployee.JobTitle"
>
<member
name=
"P:Performance.DtoModels.PerDataEmployee.JobTitle"
>
<summary>
<summary>
职
称
职
务分类
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.PerDataEmployee.PostCoefficient"
>
<member
name=
"P:Performance.DtoModels.PerDataEmployee.PostCoefficient"
>
...
@@ -2471,6 +2491,21 @@
...
@@ -2471,6 +2491,21 @@
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.DtoModels.ResComputeResponse.ManagerNumber"
>
<summary>
科主任/护士长人数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ResComputeResponse.MedicalNumber"
>
<summary>
核算单元人员数量
</summary>
</member>
<member
name=
"P:Performance.DtoModels.ResComputeResponse.PermanentStaff"
>
<summary>
效率绩效人数
</summary>
</member>
<member
name=
"P:Performance.DtoModels.RoleResponse.RoleName"
>
<member
name=
"P:Performance.DtoModels.RoleResponse.RoleName"
>
<summary>
<summary>
角色名称
角色名称
...
...
performance/Performance.Api/wwwroot/Performance.EntityModels.xml
View file @
2aebe274
...
@@ -3318,6 +3318,21 @@
...
@@ -3318,6 +3318,21 @@
</summary>
</summary>
</member>
</member>
<member
name=
"P:Performance.EntityModels.res_compute.ManagerNumber"
>
<summary>
科主任/护士长人数
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_compute.MedicalNumber"
>
<summary>
核算单元人员数量
</summary>
</member>
<member
name=
"P:Performance.EntityModels.res_compute.PermanentStaff"
>
<summary>
效率绩效人数
</summary>
</member>
<member
name=
"T:Performance.EntityModels.res_specialunit"
>
<member
name=
"T:Performance.EntityModels.res_specialunit"
>
<summary>
<summary>
...
...
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
View file @
2aebe274
...
@@ -55,10 +55,10 @@ public class ComputeResult
...
@@ -55,10 +55,10 @@ public class ComputeResult
/// </summary>
/// </summary>
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
///
//
<summary>
/// <summary>
///
//
发放系数(来自人员名单)
/// 发放系数(来自人员名单)
///
//
</summary>
/// </summary>
//
public Nullable<decimal> Grant { get; set; }
public
Nullable
<
decimal
>
Grant
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 应发管理绩效(需计算)
/// 应发管理绩效(需计算)
...
@@ -143,5 +143,20 @@ public class ComputeResult
...
@@ -143,5 +143,20 @@ public class ComputeResult
///// 工作量绩效
///// 工作量绩效
///// </summary>
///// </summary>
//public decimal? Workload { get; set; }
//public decimal? Workload { get; set; }
/// <summary>
/// 科主任/护士长人数
/// </summary>
public
Nullable
<
decimal
>
ManagerNumber
{
get
;
set
;
}
/// <summary>
/// 核算单元人员数量
/// </summary>
public
Nullable
<
decimal
>
MedicalNumber
{
get
;
set
;
}
/// <summary>
/// 效率绩效人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
}
}
}
}
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
View file @
2aebe274
...
@@ -23,8 +23,8 @@ public enum UnitType
...
@@ -23,8 +23,8 @@ public enum UnitType
医技组
=
3
,
医技组
=
3
,
[
Description
(
"专家组"
)]
[
Description
(
"专家组"
)]
专家组
=
4
,
专家组
=
4
,
[
Description
(
"其他
组
"
)]
[
Description
(
"其他"
)]
其他
组
=
5
,
其他
=
5
,
[
Description
(
"特殊核算组"
)]
[
Description
(
"特殊核算组"
)]
特殊核算组
=
6
,
特殊核算组
=
6
,
}
}
...
...
performance/Performance.DtoModels/PerExcel/PerDataClinicEmployee.cs
View file @
2aebe274
...
@@ -32,7 +32,7 @@ public class PerDataClinicEmployee : IPerData
...
@@ -32,7 +32,7 @@ public class PerDataClinicEmployee : IPerData
public
string
DoctorName
{
get
;
set
;
}
public
string
DoctorName
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 职
称
/// 职
务分类
/// </summary>
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
public
string
JobTitle
{
get
;
set
;
}
...
...
performance/Performance.DtoModels/PerExcel/PerDataEmployee.cs
View file @
2aebe274
...
@@ -42,7 +42,7 @@ public class PerDataEmployee : IPerData
...
@@ -42,7 +42,7 @@ public class PerDataEmployee : IPerData
public
string
DoctorName
{
get
;
set
;
}
public
string
DoctorName
{
get
;
set
;
}
/// <summary>
/// <summary>
/// 职
称
/// 职
务分类
/// </summary>
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
public
string
JobTitle
{
get
;
set
;
}
...
...
performance/Performance.DtoModels/Response/ResComputeResponse.cs
View file @
2aebe274
...
@@ -150,5 +150,20 @@ public class ResComputeResponse
...
@@ -150,5 +150,20 @@ public class ResComputeResponse
///
///
/// </summary>
/// </summary>
public
string
Remark
{
get
;
set
;
}
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// 科主任/护士长人数
/// </summary>
public
Nullable
<
decimal
>
ManagerNumber
{
get
;
set
;
}
/// <summary>
/// 核算单元人员数量
/// </summary>
public
Nullable
<
decimal
>
MedicalNumber
{
get
;
set
;
}
/// <summary>
/// 效率绩效人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
}
}
}
}
performance/Performance.EntityModels/Entity/res_compute.cs
View file @
2aebe274
...
@@ -170,5 +170,20 @@ public class res_compute
...
@@ -170,5 +170,20 @@ public class res_compute
///
///
/// </summary>
/// </summary>
public
string
Remark
{
get
;
set
;
}
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// 科主任/护士长人数
/// </summary>
public
Nullable
<
decimal
>
ManagerNumber
{
get
;
set
;
}
/// <summary>
/// 核算单元人员数量
/// </summary>
public
Nullable
<
decimal
>
MedicalNumber
{
get
;
set
;
}
/// <summary>
/// 效率绩效人数
/// </summary>
public
Nullable
<
decimal
>
PermanentStaff
{
get
;
set
;
}
}
}
}
}
performance/Performance.Extract.Api/Template/东方医院绩效模板.xlsx
View file @
2aebe274
No preview for this file type
performance/Performance.Repository/PerforReportRepository .cs
View file @
2aebe274
This diff is collapsed.
Click to expand it.
performance/Performance.Services/AllotCompute/ProcessComputService.cs
View file @
2aebe274
...
@@ -252,7 +252,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
...
@@ -252,7 +252,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
var
pairs
=
new
[]
var
pairs
=
new
[]
{
{
new
{
Name
=
"医生组临床科室单元核算表"
,
Data
=
doctorWorkloadData
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
,
UnitType
.
专家组
,
UnitType
.
其他
组
}
},
new
{
Name
=
"医生组临床科室单元核算表"
,
Data
=
doctorWorkloadData
,
SheetType
=
SheetType
.
ComputeDoctorAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
医生组
,
UnitType
.
医技组
,
UnitType
.
专家组
,
UnitType
.
其他
}
},
new
{
Name
=
"护理组临床科室单元核算表"
,
Data
=
nurseWorkloadData
,
SheetType
=
SheetType
.
ComputeNurseAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
护理组
}
},
new
{
Name
=
"护理组临床科室单元核算表"
,
Data
=
nurseWorkloadData
,
SheetType
=
SheetType
.
ComputeNurseAccount
,
UnitTypes
=
new
List
<
UnitType
>
{
UnitType
.
护理组
}
},
};
};
List
<
PerSheet
>
result
=
new
List
<
PerSheet
>();
List
<
PerSheet
>
result
=
new
List
<
PerSheet
>();
...
@@ -270,7 +270,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
...
@@ -270,7 +270,7 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, List<res_
continue
;
continue
;
var
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
var
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
unitType
.
ToString
()
&&
t
.
AccountingUnit
==
dept
.
Department
);
if
(
UnitType
.
专家组
==
unitType
||
UnitType
.
其他
组
==
unitType
)
if
(
UnitType
.
专家组
==
unitType
||
UnitType
.
其他
==
unitType
)
{
{
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
econDoctor
=
economicData
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
workDoctor
=
info
.
Data
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
dept
.
Department
);
...
@@ -503,7 +503,7 @@ private List<CofDrugProp> GetDrugConfig(PerExcel excel, int allotid)
...
@@ -503,7 +503,7 @@ private List<CofDrugProp> GetDrugConfig(PerExcel excel, int allotid)
var
incomeSheet
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
Income
&&
t
.
SheetName
.
Contains
(
"门诊"
)
&&
t
.
SheetName
.
Contains
(
"开单"
));
var
incomeSheet
=
excel
.
PerSheet
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
Income
&&
t
.
SheetName
.
Contains
(
"门诊"
)
&&
t
.
SheetName
.
Contains
(
"开单"
));
var
datalist
=
incomeSheet
.
PerData
.
Select
(
t
=>
(
PerData
)
t
);
var
datalist
=
incomeSheet
.
PerData
.
Select
(
t
=>
(
PerData
)
t
);
var
drugtype
=
perforCofdrugtypeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotid
&&
t
.
ChargeType
==
"药
品
"
)?.
Select
(
t
=>
t
.
Charge
).
ToList
();
var
drugtype
=
perforCofdrugtypeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allotid
&&
t
.
ChargeType
==
"药
费
"
)?.
Select
(
t
=>
t
.
Charge
).
ToList
();
var
drugData
=
datalist
.
Where
(
t
=>
drugtype
.
Contains
(
t
.
TypeName
)).
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
{
AccountingUnit
=
t
.
Key
,
SumValue
=
t
.
Sum
(
s
=>
s
.
CellValue
)
});
var
drugData
=
datalist
.
Where
(
t
=>
drugtype
.
Contains
(
t
.
TypeName
)).
GroupBy
(
t
=>
t
.
AccountingUnit
).
Select
(
t
=>
new
{
AccountingUnit
=
t
.
Key
,
SumValue
=
t
.
Sum
(
s
=>
s
.
CellValue
)
});
if
(
drugtype
==
null
)
if
(
drugtype
==
null
)
...
...
performance/Performance.Services/AllotCompute/ResultComputeService.cs
View file @
2aebe274
...
@@ -218,7 +218,8 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
...
@@ -218,7 +218,8 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
Number
=
group
.
Number
,
Number
=
group
.
Number
,
PerforTotal
=
sumValue
,
PerforTotal
=
sumValue
,
Avg
=
group
.
Number
==
0
?
0
:
(
sumValue
/
group
.
Number
),
Avg
=
group
.
Number
==
0
?
0
:
(
sumValue
/
group
.
Number
),
Adjust
=
empolyee
.
Adjust
Adjust
=
empolyee
.
Adjust
,
Grant
=
empolyee
.
Management
};
};
compute
.
Efficiency
=
compute
.
Avg
*
(
empolyee
.
Efficiency
??
1
);
compute
.
Efficiency
=
compute
.
Avg
*
(
empolyee
.
Efficiency
??
1
);
...
...
performance/Performance.Services/ComputeService.cs
View file @
2aebe274
...
@@ -128,7 +128,7 @@ public List<DeptResponse> GetNursePerformance(int allotId)
...
@@ -128,7 +128,7 @@ public List<DeptResponse> GetNursePerformance(int allotId)
/// <returns></returns>
/// <returns></returns>
public
List
<
DeptResponse
>
GetOtherPerformance
(
int
allotId
)
public
List
<
DeptResponse
>
GetOtherPerformance
(
int
allotId
)
{
{
var
unitType
=
new
List
<
int
>
{
(
int
)
UnitType
.
其他
组
,
(
int
)
UnitType
.
专家组
};
var
unitType
=
new
List
<
int
>
{
(
int
)
UnitType
.
其他
,
(
int
)
UnitType
.
专家组
};
var
list
=
perforResaccountRepository
.
GetEntities
(
t
=>
unitType
.
Contains
(
t
.
UnitType
.
Value
)
&&
t
.
AllotID
==
allotId
)?.
OrderBy
(
t
=>
t
.
UnitType
).
ThenByDescending
(
t
=>
t
.
AccountingUnit
);
var
list
=
perforResaccountRepository
.
GetEntities
(
t
=>
unitType
.
Contains
(
t
.
UnitType
.
Value
)
&&
t
.
AllotID
==
allotId
)?.
OrderBy
(
t
=>
t
.
UnitType
).
ThenByDescending
(
t
=>
t
.
AccountingUnit
);
List
<
DeptResponse
>
other
=
Mapper
.
Map
<
List
<
DeptResponse
>>(
list
);
List
<
DeptResponse
>
other
=
Mapper
.
Map
<
List
<
DeptResponse
>>(
list
);
other
?.
ForEach
(
t
=>
t
.
UnitName
=
((
UnitType
)
t
.
UnitType
).
ToString
());
other
?.
ForEach
(
t
=>
t
.
UnitName
=
((
UnitType
)
t
.
UnitType
).
ToString
());
...
@@ -324,7 +324,7 @@ public DeptDataDetails DeptDetail(int accountId)
...
@@ -324,7 +324,7 @@ public DeptDataDetails DeptDetail(int accountId)
Detail
=
new
List
<
DetailDtos
>()
Detail
=
new
List
<
DetailDtos
>()
};
};
int
type
=
doctor
.
UnitType
.
Value
;
int
type
=
doctor
.
UnitType
.
Value
;
if
(
type
==
(
int
)
UnitType
.
专家组
||
type
==
(
int
)
UnitType
.
其他
组
)
if
(
type
==
(
int
)
UnitType
.
专家组
||
type
==
(
int
)
UnitType
.
其他
)
type
=
1
;
type
=
1
;
var
basicData
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
&&
t
.
UnitType
==
type
&&
t
.
AccountingUnit
==
doctor
.
AccountingUnit
);
var
basicData
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
&&
t
.
UnitType
==
type
&&
t
.
AccountingUnit
==
doctor
.
AccountingUnit
);
var
persheet
=
_perforPerSheetRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
);
var
persheet
=
_perforPerSheetRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
doctor
.
AllotID
);
...
...
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
2aebe274
...
@@ -301,18 +301,34 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
...
@@ -301,18 +301,34 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
var
empolyee
=
empolyees
.
ElementAt
(
i
);
var
empolyee
=
empolyees
.
ElementAt
(
i
);
var
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
((
UnitType
)
t
.
UnitType
).
ToString
()
==
empolyee
.
UnitType
&&
t
.
AccountingUnit
==
empolyee
.
AccountingUnit
);
var
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
((
UnitType
)
t
.
UnitType
).
ToString
()
==
empolyee
.
UnitType
&&
t
.
AccountingUnit
==
empolyee
.
AccountingUnit
);
if
(
resAccount
==
null
)
if
(
resAccount
==
null
&&
empolyees
.
Count
()
>
1
)
{
{
// 如果没有找到科室,则找相同用户的其他核算单元类型
// 如果没有找到科室,则找相同用户的其他核算单元类型
for
(
int
j
=
0
;
j
<
empolyees
.
Count
();
j
++)
//for (int j = 0; j < empolyees.Count(); j++)
//{
// if (i == j) continue;
// var empolyee2 = empolyees.ElementAt(j);
// resAccount = dataList.FirstOrDefault(t => ((UnitType)t.UnitType).ToString() == empolyee2.UnitType && t.AccountingUnit == empolyee2.AccountingUnit);
// if (resAccount != null) continue;
//}
//if (resAccount == null) continue;
var
unitTypes
=
new
[]
{
new
{
UnitType
=
new
List
<
int
>{
(
int
)
UnitType
.
医生组
,
(
int
)
UnitType
.
医技组
},
JobTitle
=
"主任"
},
new
{
UnitType
=
new
List
<
int
>{
(
int
)
UnitType
.
护理组
},
JobTitle
=
"护士长"
},
};
foreach
(
var
type
in
unitTypes
)
{
{
if
(
i
==
j
)
continue
;
if
(
empolyee
.
JobTitle
.
IndexOf
(
type
.
JobTitle
)
==
-
1
)
continue
;
var
empolyee2
=
empolyees
.
ElementAt
(
j
);
foreach
(
var
item
in
type
.
UnitType
)
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
((
UnitType
)
t
.
UnitType
).
ToString
()
==
empolyee2
.
UnitType
&&
t
.
AccountingUnit
==
empolyee2
.
AccountingUnit
);
{
resAccount
=
dataList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
item
&&
t
.
AccountingUnit
==
empolyee
.
AccountingUnit
);
if
(
resAccount
!=
null
)
continue
;
if
(
resAccount
!=
null
)
continue
;
}
}
if
(
resAccount
==
null
)
continue
;
}
}
}
if
(
resAccount
==
null
)
continue
;
var
basicRule
=
basicRuleList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
(
UnitType
)
resAccount
.
UnitType
);
var
basicRule
=
basicRuleList
.
FirstOrDefault
(
t
=>
t
.
UnitType
==
(
UnitType
)
resAccount
.
UnitType
);
if
(
basicRule
==
null
)
continue
;
if
(
basicRule
==
null
)
continue
;
...
@@ -344,7 +360,11 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
...
@@ -344,7 +360,11 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
Efficiency
=
effAvg
*
(
empolyee
.
Efficiency
??
1
),
Efficiency
=
effAvg
*
(
empolyee
.
Efficiency
??
1
),
Scale
=
resAccount
.
PerforTotal
*
(
empolyee
.
Scale
??
1
),
Scale
=
resAccount
.
PerforTotal
*
(
empolyee
.
Scale
??
1
),
Adjust
=
empolyee
.
Adjust
,
Adjust
=
empolyee
.
Adjust
,
Remark
=
empolyees
.
Count
()
>
1
?
"特殊科室主任,共用核算单元"
:
""
Remark
=
empolyees
.
Count
()
>
1
?
"特殊科室主任,共用核算单元"
:
""
,
Grant
=
empolyee
.
Management
,
ManagerNumber
=
resAccount
.
ManagerNumber
,
MedicalNumber
=
resAccount
.
Number
,
PermanentStaff
=
resAccount
.
PermanentStaff
};
};
//应发管理绩效
//应发管理绩效
compute
.
ShouldGiveFee
=
(
compute
.
Efficiency
+
compute
.
Scale
)
*
(
empolyee
.
Management
??
0
);
compute
.
ShouldGiveFee
=
(
compute
.
Efficiency
+
compute
.
Scale
)
*
(
empolyee
.
Management
??
0
);
...
@@ -390,7 +410,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
...
@@ -390,7 +410,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
AccountingUnit
=
item
.
AccountingUnit
,
AccountingUnit
=
item
.
AccountingUnit
,
EmployeeName
=
item
.
DoctorName
,
EmployeeName
=
item
.
DoctorName
,
FitPeople
=
item
.
FitPeople
,
FitPeople
=
item
.
FitPeople
,
//Grant = item.Gra
nt ?? 1,
Grant
=
item
.
Manageme
nt
??
1
,
WorkTime
=
item
.
WorkTime
,
WorkTime
=
item
.
WorkTime
,
PostCoefficient
=
item
.
PostCoefficient
,
PostCoefficient
=
item
.
PostCoefficient
,
Attendance
=
item
.
Attendance
,
Attendance
=
item
.
Attendance
,
...
...
performance/Performance.Services/PerExcelService/PerSheetService.cs
View file @
2aebe274
...
@@ -83,7 +83,7 @@ public SheetType GetSheetType(string sheetName)
...
@@ -83,7 +83,7 @@ public SheetType GetSheetType(string sheetName)
{
{
if
(
sheetName
.
StartsWith
(
"行政人员名单"
))
if
(
sheetName
.
StartsWith
(
"行政人员名单"
))
return
SheetType
.
Employee
;
return
SheetType
.
Employee
;
else
if
(
sheetName
.
StartsWith
(
"
临床人员名单
"
))
else
if
(
sheetName
.
StartsWith
(
"
业务中层
"
))
return
SheetType
.
ClinicEmployee
;
return
SheetType
.
ClinicEmployee
;
else
if
(
sheetName
.
StartsWith
(
"1.0"
))
else
if
(
sheetName
.
StartsWith
(
"1.0"
))
return
SheetType
.
OtherIncome
;
return
SheetType
.
OtherIncome
;
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadClinicEmployee.cs
View file @
2aebe274
...
@@ -35,7 +35,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
...
@@ -35,7 +35,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
,
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
,
PersonnelNumber
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
)?.
StringCellValue
,
PersonnelNumber
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
)?.
StringCellValue
,
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
)?.
StringCellValue
,
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
)?.
StringCellValue
,
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职
称
"
).
PointCell
)?.
StringCellValue
,
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职
务分类
"
).
PointCell
)?.
StringCellValue
,
Basics
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"基础绩效系数"
).
PointCell
)?.
NumericCellValue
),
Basics
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"基础绩效系数"
).
PointCell
)?.
NumericCellValue
),
PostCoefficient
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"岗位系数"
).
PointCell
)?.
NumericCellValue
),
PostCoefficient
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"岗位系数"
).
PointCell
)?.
NumericCellValue
),
Efficiency
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效系数"
).
PointCell
)?.
NumericCellValue
),
Efficiency
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"效率绩效系数"
).
PointCell
)?.
NumericCellValue
),
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadEmployee.cs
View file @
2aebe274
...
@@ -37,7 +37,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
...
@@ -37,7 +37,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
,
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
)?.
StringCellValue
,
PersonnelNumber
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
)?.
StringCellValue
,
PersonnelNumber
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员工号"
).
PointCell
)?.
StringCellValue
,
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
)?.
StringCellValue
,
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
)?.
StringCellValue
,
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职
称
"
).
PointCell
)?.
StringCellValue
,
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职
务分类
"
).
PointCell
)?.
StringCellValue
,
FitPeople
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"绩效基数核算参考对象"
).
PointCell
)?.
StringCellValue
,
FitPeople
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"绩效基数核算参考对象"
).
PointCell
)?.
StringCellValue
,
FitPeopleRatio
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"绩效基数核算系数"
).
PointCell
)?.
NumericCellValue
),
FitPeopleRatio
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"绩效基数核算系数"
).
PointCell
)?.
NumericCellValue
),
AccountType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员分类"
).
PointCell
)?.
StringCellValue
,
AccountType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"人员分类"
).
PointCell
)?.
StringCellValue
,
...
...
performance/Performance.Services/SheetSevice.cs
View file @
2aebe274
...
@@ -284,7 +284,7 @@ private void CommonExport(int sheetID, SheetExportResponse response)
...
@@ -284,7 +284,7 @@ private void CommonExport(int sheetID, SheetExportResponse response)
{
{
var
data
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
&&
t
.
SignID
==
head
.
SignID
);
var
data
=
dataList
.
FirstOrDefault
(
t
=>
t
.
RowNumber
==
rowNumber
&&
t
.
SignID
==
head
.
SignID
);
var
value
=
data
?.
CellValue
;
var
value
=
data
?.
CellValue
;
if
(
value
.
HasValue
&&
value
.
Value
>
0
)
if
(
value
.
HasValue
)
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
rowbody
.
Data
.
Add
(
new
Cell
(
head
.
PointCell
.
Value
,
value
,
1
,
1
,
data
.
IsTotal
==
1
,
true
,
data
.
Annotation
));
}
}
}
}
...
...
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