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
8a19fa10
Commit
8a19fa10
authored
Mar 25, 2019
by
ruyun.zhang@suvalue.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
人员计算
parent
5e8f6891
Hide whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
952 additions
and
311 deletions
+952
-311
performance/Performance.Api/Controllers/AllotController.cs
+2
-2
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
+5
-0
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
+94
-0
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
+114
-0
performance/Performance.DtoModels/PerExcel/ComputeSource.cs
+84
-0
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
+28
-20
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
+2
-1
performance/Performance.EntityModels/Entity/Sys_User.cs
+4
-2
performance/Performance.EntityModels/Entity/cof_director.cs
+9
-2
performance/Performance.EntityModels/Entity/cof_drugprop.cs
+4
-2
performance/Performance.EntityModels/Entity/cof_income.cs
+9
-2
performance/Performance.EntityModels/Entity/cof_position.cs
+22
-10
performance/Performance.EntityModels/Entity/cof_workyear.cs
+45
-0
performance/Performance.EntityModels/Entity/im_accountbasic.cs
+6
-4
performance/Performance.EntityModels/Entity/im_data.cs
+22
-19
performance/Performance.EntityModels/Entity/im_employee.cs
+26
-22
performance/Performance.EntityModels/Entity/im_header.cs
+14
-11
performance/Performance.EntityModels/Entity/per_allot.cs
+24
-22
performance/Performance.EntityModels/Entity/per_sheet.cs
+9
-7
performance/Performance.EntityModels/Entity/res_accountdoctor.cs
+9
-7
performance/Performance.EntityModels/Entity/res_accountnurse.cs
+9
-7
performance/Performance.EntityModels/Entity/res_baiscnorm.cs
+10
-8
performance/Performance.EntityModels/Entity/res_compute.cs
+52
-25
performance/Performance.EntityModels/Entity/sys_hospital.cs
+4
-2
performance/Performance.EntityModels/Entity/sys_menu.cs
+8
-7
performance/Performance.EntityModels/Entity/sys_role.cs
+5
-3
performance/Performance.EntityModels/Entity/sys_role_menu.cs
+6
-4
performance/Performance.EntityModels/Entity/sys_sms.cs
+4
-2
performance/Performance.EntityModels/Entity/sys_user_hospital.cs
+4
-2
performance/Performance.EntityModels/Entity/sys_user_role.cs
+6
-4
performance/Performance.Repository/PerforCofworkyearRepository.cs
+21
-0
performance/Performance.Services/PerExcelService/ComputeEmpolyee/BaiscNormService.cs
+39
-0
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDeputyDirector.cs
+0
-17
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
+150
-29
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeMedicalTechnician .cs
+0
-14
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeNurse.cs
+0
-17
performance/Performance.Services/PerExcelService/NopiSevice.cs
+17
-1
performance/Performance.Services/PerExcelService/PerExcelService.cs
+74
-29
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
+1
-1
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeWorkload.cs
+1
-1
performance/Performance.Services/PerExcelService/SheetDataRead/IPerSheetDataRead.cs
+1
-1
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadEmployee.cs
+3
-3
performance/Performance.Services/SheetSevice.cs
+1
-0
performance/performance.sln
+4
-1
No files found.
performance/Performance.Api/Controllers/AllotController.cs
View file @
8a19fa10
...
...
@@ -148,8 +148,8 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]Al
var
allot
=
_allotService
.
GetAllot
(
request
.
ID
);
if
(
null
==
allot
||
string
.
IsNullOrEmpty
(
allot
.
Path
))
throw
new
PerformanceException
(
"当前绩效记录不存在或没有上传数据文件"
);
//
_perExcelService.Execute(allot);
BackgroundJob
.
Enqueue
(()
=>
_perExcelService
.
Execute
(
allot
));
_perExcelService
.
Execute
(
allot
);
//
BackgroundJob.Enqueue(() => _perExcelService.Execute(allot));
return
new
ApiResponse
(
ResponseType
.
OK
);
}
}
...
...
performance/Performance.DtoModels/AutoMapper/AutoMapperConfigs.cs
View file @
8a19fa10
...
...
@@ -98,6 +98,11 @@ public AutoMapperConfigs()
CreateMap
<
PerDataAccountBaisc
,
im_accountbasic
>();
CreateMap
<
PerDataAccountDoctor
,
res_accountdoctor
>();
CreateMap
<
PerDataAccountNurse
,
res_accountnurse
>();
CreateMap
<
res_accountdoctor
,
ComputeSource
>();
CreateMap
<
res_accountnurse
,
ComputeSource
>();
CreateMap
<
im_employee
,
ComputeEmployee
>();
CreateMap
<
ComputeResult
,
res_compute
>();
}
}
}
performance/Performance.DtoModels/PerExcel/ComputeEmployee.cs
0 → 100644
View file @
8a19fa10
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
ComputeEmployee
{
/// <summary>
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// </summary>
public
string
AccountType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 科室名称
/// </summary>
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// 核算基数
/// </summary>
public
Nullable
<
decimal
>
BasicNorm
{
get
;
set
;
}
/// <summary>
/// 医生姓名
/// </summary>
public
string
DoctorName
{
get
;
set
;
}
/// <summary>
/// 职称
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
/// <summary>
/// 岗位系数
/// </summary>
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
/// <summary>
/// 参加工作时间
/// </summary>
public
Nullable
<
DateTime
>
WorkTime
{
get
;
set
;
}
/// <summary>
/// 考核得分率
/// </summary>
public
Nullable
<
decimal
>
ScoreAverageRate
{
get
;
set
;
}
/// <summary>
/// 出勤率
/// </summary>
public
Nullable
<
decimal
>
Attendance
{
get
;
set
;
}
/// <summary>
/// 核算单元医生数
/// </summary>
public
Nullable
<
int
>
PeopleNumber
{
get
;
set
;
}
/// <summary>
/// 工作量绩效
/// </summary>
public
Nullable
<
decimal
>
Workload
{
get
;
set
;
}
/// <summary>
/// 其他绩效
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
public
Nullable
<
decimal
>
Punishment
{
get
;
set
;
}
/// <summary>
/// 调节系数
/// </summary>
public
Nullable
<
decimal
>
Adjust
{
get
;
set
;
}
/// <summary>
/// 发放系数
/// </summary>
public
Nullable
<
decimal
>
Grant
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/PerExcel/ComputeResult.cs
0 → 100644
View file @
8a19fa10
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
ComputeResult
{
/// <summary>
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// </summary>
public
string
AccountType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// 人员姓名
/// </summary>
public
string
EmployeeName
{
get
;
set
;
}
/// <summary>
/// 绩效合计(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
PerforTotal
{
get
;
set
;
}
/// <summary>
/// 核算单元医生数量(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
Number
{
get
;
set
;
}
/// <summary>
/// 人均绩效(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
Avg
{
get
;
set
;
}
/// <summary>
/// 效率绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
Efficiency
{
get
;
set
;
}
/// <summary>
/// 规模绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
Scale
{
get
;
set
;
}
/// <summary>
/// 岗位系数
/// </summary>
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
/// <summary>
/// 发放系数(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Grant
{
get
;
set
;
}
/// <summary>
/// 应发管理绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
ShouldGiveFee
{
get
;
set
;
}
/// <summary>
/// 绩效合计(需计算)
/// </summary>
public
Nullable
<
decimal
>
PerforSumFee
{
get
;
set
;
}
/// <summary>
/// 考核对分率(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
ScoreAverageRate
{
get
;
set
;
}
/// <summary>
/// 出勤率(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Attendance
{
get
;
set
;
}
/// <summary>
/// 医院奖罚(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Punishment
{
get
;
set
;
}
/// <summary>
/// 其他绩效(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor
{
get
;
set
;
}
/// <summary>
/// 实发绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
GiveFee
{
get
;
set
;
}
/// <summary>
/// 参加工作时间(来自人员名单)
/// </summary>
public
Nullable
<
DateTime
>
WorkTime
{
get
;
set
;
}
/// <summary>
/// 绩效基础金额(计算)
/// </summary>
public
Nullable
<
decimal
>
BaiscNormValue
{
get
;
set
;
}
/// <summary>
/// 年资系数(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
WorkYear
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/PerExcel/ComputeSource.cs
0 → 100644
View file @
8a19fa10
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.DtoModels
{
public
class
ComputeSource
{
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 核算单元医生数量
/// </summary>
public
Nullable
<
decimal
>
Number
{
get
;
set
;
}
/// <summary>
/// 医生基础系数
/// </summary>
public
Nullable
<
decimal
>
BasicFactor
{
get
;
set
;
}
/// <summary>
/// 倾斜系数
/// </summary>
public
Nullable
<
decimal
>
SlopeFactor
{
get
;
set
;
}
/// <summary>
/// 其他绩效1
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor1
{
get
;
set
;
}
/// <summary>
/// 其他绩效2
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor2
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
public
Nullable
<
decimal
>
Extra
{
get
;
set
;
}
/// <summary>
/// 考核对分率
/// </summary>
public
Nullable
<
decimal
>
ScoringAverage
{
get
;
set
;
}
/// <summary>
/// 调节系数
/// </summary>
public
Nullable
<
decimal
>
AdjustFactor
{
get
;
set
;
}
/// <summary>
/// 科室业绩
/// </summary>
public
Nullable
<
decimal
>
Income
{
get
;
set
;
}
/// <summary>
/// 业绩绩效
/// </summary>
public
Nullable
<
decimal
>
PerforFee
{
get
;
set
;
}
/// <summary>
/// 工作量绩效
/// </summary>
public
Nullable
<
decimal
>
WorkloadFee
{
get
;
set
;
}
/// <summary>
/// 绩效合计
/// </summary>
public
Nullable
<
decimal
>
PerforTotal
{
get
;
set
;
}
/// <summary>
/// 人均绩效
/// </summary>
public
Nullable
<
decimal
>
Avg
{
get
;
set
;
}
/// <summary>
/// 实发绩效
/// </summary>
public
Nullable
<
decimal
>
GiveFee
{
get
;
set
;
}
}
}
performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
View file @
8a19fa10
...
...
@@ -45,27 +45,35 @@ public enum SheetType
}
/// <summary>
///
职位归类
///
绩效类型
/// </summary>
public
enum
Empolye
eType
public
enum
Performanc
eType
{
/// <summary> 院领导 </summary>
[
Description
(
"院领导"
)]
TopManage
=
1
,
/// <summary> 行政中层 </summary>
[
Description
(
"行政中层"
)]
MiddleManage
=
2
,
/// <summary> 行政中层 </summary>
[
Description
(
"行政工勤"
)]
LogisticsWorkers
=
3
,
/// <summary> 行政中层 </summary>
[
Description
(
"临床科室主任"
)]
Director
=
4
,
/// <summary> 行政中层 </summary>
[
Description
(
"临床科室副主任"
)]
DeputyDirector
=
5
,
/// <summary> 行政中层 </summary>
[
Description
(
"临床科室护士长"
)]
Nurse
=
6
,
/// <summary> 没有绩效 </summary>
[
Description
(
"没有绩效"
)]
Null
=
0
,
/// <summary> 科室主任人均绩效 </summary>
[
Description
(
"科室主任人均绩效"
)]
Director
=
1
,
/// <summary> 科室副主任人均绩效 </summary>
[
Description
(
"科室副主任人均绩效"
)]
DeputyDirector
=
2
,
/// <summary> 科室护士长人均绩效 </summary>
[
Description
(
"科室护士长人均绩效"
)]
Nurse
=
3
,
/// <summary> 临床科室主任人均绩效 (绩效标准取 科室主任人均绩效) </summary>
[
Description
(
"临床科室主任人均绩效"
)]
ReferenceDirector
=
4
,
/// <summary> 临床科室中层人均绩效 (绩效标准取 科室主任/护士长/科室副主任/医技主任 平均值) </summary>
[
Description
(
"临床科室中层人均绩效"
)]
ReferenceDirectorAvg
=
5
,
/// <summary> 临床科室护士人均绩效的95% (绩效标准取 护理组临床科室单元核算表 平均值) </summary>
[
Description
(
"临床科室护士人均绩效的95%"
)]
ReferenceNurseAvg95
=
6
,
/// <summary> 临床科室护士长人均绩效 (绩效标准取 护士长 平均值)</summary>
[
Description
(
"临床科室护士长人均绩效"
)]
ReferenceHeadNurse
=
7
,
}
}
performance/Performance.EntityModels/Context/PerformanceDbContext.cs
View file @
8a19fa10
...
...
@@ -32,6 +32,7 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public
virtual
DbSet
<
cof_director
>
Cof_Director
{
get
;
set
;
}
public
virtual
DbSet
<
res_baiscnorm
>
Res_Baiscnorm
{
get
;
set
;
}
public
virtual
DbSet
<
res_compute
>
Res_Compute
{
get
;
set
;
}
public
virtual
DbSet
<
cof_position
>
Dic_Position
{
get
;
set
;
}
public
virtual
DbSet
<
cof_position
>
Cof_Position
{
get
;
set
;
}
public
virtual
DbSet
<
cof_workyear
>
Cof_Workyear
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/Sys_User.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_user.cs">
// * FileName: sys_user.cs
// * history : 2019-03-
05 14:05:41
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_user Entity Model
/// </summary>
public
class
sys_user
[
Table
(
"sys_user"
)]
public
class
sys_user
{
/// <summary>
///
...
...
performance/Performance.EntityModels/Entity/cof_director.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" cof_director.cs">
// * FileName: cof_director.cs
// * history : 2019-03-2
2 15:48:50
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// cof_director Entity Model
/// </summary>
public
class
cof_director
[
Table
(
"cof_director"
)]
public
class
cof_director
{
/// <summary>
///
...
...
@@ -23,6 +25,11 @@ public class cof_director
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
string
TypeName
{
get
;
set
;
}
/// <summary>
...
...
performance/Performance.EntityModels/Entity/cof_drugprop.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" cof_drugprop.cs">
// * FileName: cof_drugprop.cs
// * history : 2019-03-2
0 16:16:15
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// cof_drugprop Entity Model
/// </summary>
public
class
cof_drugprop
[
Table
(
"cof_drugprop"
)]
public
class
cof_drugprop
{
/// <summary>
///
...
...
performance/Performance.EntityModels/Entity/cof_income.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" cof_income.cs">
// * FileName: cof_income.cs
// * history : 2019-03-2
1 15:03:58
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// cof_income Entity Model
/// </summary>
public
class
cof_income
[
Table
(
"cof_income"
)]
public
class
cof_income
{
/// <summary>
///
...
...
@@ -21,6 +23,11 @@ public class cof_income
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// 关键字匹配
/// </summary>
public
string
SheetNameKeyword
{
get
;
set
;
}
...
...
performance/Performance.EntityModels/Entity/cof_position.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file="
dic
_position.cs">
// * FileName:
dic
_position.cs
// * history : 2019-03-2
2 15:48:50
// <copyright file="
cof
_position.cs">
// * FileName:
cof
_position.cs
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
/// <summary>
///
dic
_position Entity Model
///
cof
_position Entity Model
/// </summary>
public
class
cof_position
[
Table
(
"cof_position"
)]
public
class
cof_position
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// 职位名称
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
/// <summary>
/// 职位归类 1 院领导 2 行政中层 3 行政工勤 4 临床科室主任 5 临床科室副主任 6 临床科室护士长
/// </summary>
public
Nullable
<
int
>
JobType
{
get
;
set
;
}
/// <summary>
/// 额外补偿系数
/// </summary>
public
Nullable
<
decimal
>
ExtraFactor
{
get
;
set
;
}
/// <summary>
/// 职位类别 1 普通类别 2 基础绩效来源
/// </summary>
...
...
performance/Performance.EntityModels/Entity/cof_workyear.cs
0 → 100644
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" cof_workyear.cs">
// * FileName: cof_workyear.cs
// * history : 2019-03-25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// cof_workyear Entity Model
/// </summary>
[
Table
(
"cof_workyear"
)]
public
class
cof_workyear
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// >
/// </summary>
public
Nullable
<
decimal
>
MaxRange
{
get
;
set
;
}
/// <summary>
/// <=
/// </summary>
public
Nullable
<
decimal
>
MinRange
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
decimal
>
Value
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/im_accountbasic.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" im_accountbasic.cs">
// * FileName: im_accountbasic.cs
// * history : 2019-03-2
0 09:47:33
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// im_accountbasic Entity Model
/// </summary>
public
class
im_accountbasic
[
Table
(
"im_accountbasic"
)]
public
class
im_accountbasic
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
...
...
performance/Performance.EntityModels/Entity/im_data.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" im_data.cs">
// * FileName: im_data.cs
// * history : 2019-03-
14 10:25:59
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
/// <summary>
/// im_data Entity Model
/// </summary>
public
class
im_data
[
Table
(
"im_data"
)]
public
class
im_data
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
SheetID
{
get
;
set
;
}
/// <summary>
/// 核算单元类别 1 医生组 2护理组
/// </summary>
public
Nullable
<
int
>
UnitType
{
get
;
set
;
}
/// <summary>
/// 行号
/// </summary>
public
Nullable
<
int
>
RowNumber
{
get
;
set
;
}
/// <summary>
/// 核算单元名称
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 科室名称
/// </summary>
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 列头类型名称
/// </summary>
public
string
TypeName
{
get
;
set
;
}
/// <summary>
/// 单元格value
/// </summary>
public
Nullable
<
decimal
>
CellValue
{
get
;
set
;
}
/// <summary>
/// 1 加 2 减 3 乘
/// </summary>
public
Nullable
<
int
>
ComputRule
{
get
;
set
;
}
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
IsTotal
{
get
;
set
;
}
/// <summary>
/// 是否带入系数计算 1 带入 2 不带入
/// </summary>
public
Nullable
<
int
>
IsFactor
{
get
;
set
;
}
/// <summary>
/// 系数值
/// </summary>
public
Nullable
<
decimal
>
FactorValue
{
get
;
set
;
}
/// <summary>
/// 单元格注释
/// </summary>
public
string
Annotation
{
get
;
set
;
}
/// <summary>
/// 单元格备注
/// </summary>
public
string
Remark
{
get
;
set
;
}
/// <summary>
///
SignID
///
/// </summary>
public
string
SignID
{
get
;
set
;
}
}
...
...
performance/Performance.EntityModels/Entity/im_employee.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" im_employee.cs">
// * FileName: im_employee.cs
// * history : 2019-03-
08 16:39:35
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
/// <summary>
/// im_employee Entity Model
/// </summary>
public
class
im_employee
[
Table
(
"im_employee"
)]
public
class
im_employee
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// sheet页id
/// </summary>
public
Nullable
<
int
>
SheetID
{
get
;
set
;
}
/// <summary>
/// 科室类别(例如 医技科室 临床科室 其他科室)
/// </summary>
public
string
AccountType
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 科室名称
/// </summary>
public
string
Department
{
get
;
set
;
}
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// 医生姓名
/// </summary>
public
string
DoctorName
{
get
;
set
;
}
/// <summary>
/// 职称
/// </summary>
public
string
JobTitle
{
get
;
set
;
}
/// <summary>
/// 岗位系数
/// </summary>
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
/// <summary>
/// 参加工作时间
/// </summary>
public
Nullable
<
DateTime
>
WorkTime
{
get
;
set
;
}
/// <summary>
/// 考核得分率
/// </summary>
public
Nullable
<
decimal
>
ScoreAverageRate
{
get
;
set
;
}
/// <summary>
/// 出勤率
/// </summary>
public
Nullable
<
decimal
>
Attendance
{
get
;
set
;
}
/// <summary>
/// 核算单元医生数
/// </summary>
public
Nullable
<
int
>
PeopleNumber
{
get
;
set
;
}
/// <summary>
/// 工作量绩效
/// </summary>
public
Nullable
<
decimal
>
Workload
{
get
;
set
;
}
/// <summary>
/// 其他绩效
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor
{
get
;
set
;
}
/// <summary>
/// 医院奖罚
/// </summary>
public
Nullable
<
decimal
>
Punishment
{
get
;
set
;
}
/// <summary>
/// 调节系数
/// </summary>
public
Nullable
<
decimal
>
Adjust
{
get
;
set
;
}
/// <summary>
/// 发放系数
/// </summary>
...
...
performance/Performance.EntityModels/Entity/im_header.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" im_header.cs">
// * FileName: im_header.cs
// * history : 2019-03-
14 10:25:59
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// im_header Entity Model
/// </summary>
public
class
im_header
[
Table
(
"im_header"
)]
public
class
im_header
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
...
...
@@ -59,19 +61,20 @@ public class im_header
/// 合并列
/// </summary>
public
Nullable
<
int
>
MergeCell
{
get
;
set
;
}
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
IsTotal
{
get
;
set
;
}
/// <summary>
/// 单元格内容
/// </summary>
public
string
CellValue
{
get
;
set
;
}
/// <summary>
///
SignID
///
/// </summary>
public
string
SignID
{
get
;
set
;
}
/// <summary>
/// 1 汇总 2原始数据
/// </summary>
public
Nullable
<
int
>
IsTotal
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/per_allot.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file="
sys
_allot.cs">
// * FileName:
sys
_allot.cs
// * history : 2019-03-
06 16:43:26
// <copyright file="
per
_allot.cs">
// * FileName:
per
_allot.cs
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
/// <summary>
///
sys
_allot Entity Model
///
per
_allot Entity Model
/// </summary>
public
class
per_allot
[
Table
(
"per_allot"
)]
public
class
per_allot
{
/// <summary>
/// ID
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
public
int
ID
{
get
;
set
;
}
/// <summary>
/// 医院ID
/// </summary>
public
int
HospitalId
{
get
;
set
;
}
/// <summary>
///
CreateUser
///
/// </summary>
public
int
?
CreateUser
{
get
;
set
;
}
public
Nullable
<
int
>
CreateUser
{
get
;
set
;
}
/// <summary>
/// 绩效统计时间
/// </summary>
public
Nullable
<
DateTime
>
CreateDate
{
get
;
set
;
}
/// <summary>
/// 绩效发放年
/// </summary>
public
int
Year
{
get
;
set
;
}
/// <summary>
/// 绩效发放月
/// </summary>
public
int
Month
{
get
;
set
;
}
/// <summary>
/// 绩效发放总金额
/// </summary>
public
Nullable
<
decimal
>
AllotFee
{
get
;
set
;
}
/// <summary>
/// 绩效统计时间
/// </summary>
public
Nullable
<
DateTime
>
CreateDate
{
get
;
set
;
}
/// <summary>
/// 文件路径
/// </summary>
public
string
Path
{
get
;
set
;
}
/// <summary>
/// 上传日期
/// </summary>
public
Nullable
<
DateTime
>
UploadDate
{
get
;
set
;
}
/// <summary>
/// 0 数据未上传 1 数据已上传 2 数据解析中 3 数据解析成功 4 绩效结果生成中 5绩效结果解析成功 6 归档
/// </summary>
...
...
performance/Performance.EntityModels/Entity/per_sheet.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file="
im
_sheet.cs">
// * FileName:
im
_sheet.cs
// * history : 2019-03-
14 10:25:59
// <copyright file="
per
_sheet.cs">
// * FileName:
per
_sheet.cs
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
///
im
_sheet Entity Model
///
per
_sheet Entity Model
/// </summary>
public
class
per_sheet
[
Table
(
"per_sheet"
)]
public
class
per_sheet
{
/// <summary>
/// ID
...
...
@@ -34,9 +36,9 @@ public class per_sheet
///
/// </summary>
public
Nullable
<
int
>
SheetType
{
get
;
set
;
}
/// <summary>
///
Դ 1 excel 2
///
数据来源 1 excel 导入 2 计算
/// </summary>
public
Nullable
<
int
>
Source
{
get
;
set
;
}
}
...
...
performance/Performance.EntityModels/Entity/res_accountdoctor.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file="
im
_accountdoctor.cs">
// * FileName:
im
_accountdoctor.cs
// * history : 2019-03-2
0 09:47:33
// <copyright file="
res
_accountdoctor.cs">
// * FileName:
res
_accountdoctor.cs
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
///
im
_accountdoctor Entity Model
///
res
_accountdoctor Entity Model
/// </summary>
public
class
res_accountdoctor
[
Table
(
"res_accountdoctor"
)]
public
class
res_accountdoctor
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
...
...
performance/Performance.EntityModels/Entity/res_accountnurse.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file="
im
_accountnurse.cs">
// * FileName:
im
_accountnurse.cs
// * history : 2019-03-2
0 09:47:33
// <copyright file="
res
_accountnurse.cs">
// * FileName:
res
_accountnurse.cs
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
///
im
_accountnurse Entity Model
///
res
_accountnurse Entity Model
/// </summary>
public
class
res_accountnurse
[
Table
(
"res_accountnurse"
)]
public
class
res_accountnurse
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
...
...
performance/Performance.EntityModels/Entity/res_baiscnorm.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" res_baiscnorm.cs">
// * FileName: res_baiscnorm.cs
// * history : 2019-03-2
2 15:48:50
// * history : 2019-03-2
5 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// res_baiscnorm Entity Model
/// </summary>
public
class
res_baiscnorm
[
Table
(
"res_baiscnorm"
)]
public
class
res_baiscnorm
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
SheetID
{
get
;
set
;
}
/// <summary>
/// 绩效核算人群
/// </summary>
...
...
@@ -38,16 +40,16 @@ public class res_baiscnorm
/// <summary>
/// 绩效总额
/// </summary>
public
string
TotelValue
{
get
;
set
;
}
public
Nullable
<
decimal
>
TotelValue
{
get
;
set
;
}
/// <summary>
/// 人均绩效
/// </summary>
public
string
AvgValue
{
get
;
set
;
}
public
Nullable
<
decimal
>
AvgValue
{
get
;
set
;
}
/// <summary>
/// 总人数
/// </summary>
public
Nullable
<
int
>
TotelNumber
{
get
;
set
;
}
public
Nullable
<
decimal
>
TotelNumber
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/res_compute.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" res_compute.cs">
// * FileName: res_compute.cs
// * history : 2019-03-2
2 16:41:30
// * history : 2019-03-2
5 19:35:46
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
namespace
Performance.EntityModels
{
/// <summary>
/// res_compute Entity Model
/// </summary>
public
class
res_compute
[
Table
(
"res_compute"
)]
public
class
res_compute
{
/// <summary>
///
/// </summary>
[
Key
]
public
int
ID
{
get
;
set
;
}
public
int
ID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
AllotID
{
get
;
set
;
}
/// <summary>
/// sheet页id
/// </summary>
public
Nullable
<
int
>
SheetID
{
get
;
set
;
}
/// <summary>
/// 核算单元
/// </summary>
public
string
AccountingUnit
{
get
;
set
;
}
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public
string
FitPeople
{
get
;
set
;
}
/// <summary>
/// 人员姓名
/// </summary>
public
string
EmployeeName
{
get
;
set
;
}
/// <summary>
/// 绩效合计(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
PerforTotal
{
get
;
set
;
}
/// <summary>
/// 核算单元医生数量(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
Number
{
get
;
set
;
}
/// <summary>
/// 人均绩效(来自科室经济测算表)
/// </summary>
public
Nullable
<
decimal
>
Avg
{
get
;
set
;
}
/// <summary>
/// 效率绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
Efficiency
{
get
;
set
;
}
/// <summary>
/// 规模绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
Scale
{
get
;
set
;
}
/// <summary>
/// 岗位系数
/// </summary>
public
Nullable
<
decimal
>
PostCoefficient
{
get
;
set
;
}
/// <summary>
/// 发放系数(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Grant
{
get
;
set
;
}
/// <summary>
/// 应发管理绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
ShouldGiveFee
{
get
;
set
;
}
/// <summary>
/// 绩效合计(需计算)
/// </summary>
public
Nullable
<
decimal
>
PerforSumFee
{
get
;
set
;
}
/// <summary>
/// 发放系数(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Grant
{
get
;
set
;
}
/// <summary>
/// 考核对分率(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
ScoreAverageRate
{
get
;
set
;
}
/// <summary>
/// 医院奖罚(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Punishment
{
get
;
set
;
}
/// <summary>
/// 其他绩效(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
OtherPerfor
{
get
;
set
;
}
/// <summary>
/// 应发绩效(需计算)
/// </summary>
public
Nullable
<
decimal
>
GiveFee
{
get
;
set
;
}
/// <summary>
/// 出勤率(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
Attendance
{
get
;
set
;
}
/// <summary>
/// 参加工作时间(来自人员名单)
/// </summary>
public
Nullable
<
DateTime
>
WorkTime
{
get
;
set
;
}
/// <summary>
/// 绩效基础金额(计算)
/// </summary>
public
Nullable
<
decimal
>
BaiscNormValue
{
get
;
set
;
}
/// <summary>
/// 年资系数(来自人员名单)
/// </summary>
public
Nullable
<
decimal
>
WorkYear
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/sys_hospital.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_hospital.cs">
// * FileName: sys_hospital.cs
// * history : 2019-03-
05 14:05:41
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_hospital Entity Model
/// </summary>
public
class
sys_hospital
[
Table
(
"sys_hospital"
)]
public
class
sys_hospital
{
/// <summary>
/// ID
...
...
performance/Performance.EntityModels/Entity/sys_menu.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_menu.cs">
// * FileName: sys_menu.cs
// * history : 2019-03-
05 16:57:57
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_menu Entity Model
/// </summary>
public
class
sys_menu
[
Table
(
"sys_menu"
)]
public
class
sys_menu
{
/// <summary>
///
...
...
@@ -41,14 +43,13 @@ public class sys_menu
public
string
MenuIcon
{
get
;
set
;
}
/// <summary>
/// 菜单
类型 1 首页中出现 2 医院页中出现
/// 菜单
状态 1 启用 2禁用
/// </summary>
public
int
MenuType
{
get
;
set
;
}
public
int
States
{
get
;
set
;
}
/// <summary>
///
菜单状态 1 启用 2禁用
///
/// </summary>
public
int
States
{
get
;
set
;
}
public
int
Sort
{
get
;
set
;
}
public
Nullable
<
int
>
Sort
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/sys_role.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_role.cs">
// * FileName: sys_role.cs
// * history : 2019-03-
05 16:57:57
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_role Entity Model
/// </summary>
public
class
sys_role
[
Table
(
"sys_role"
)]
public
class
sys_role
{
/// <summary>
///
...
...
@@ -29,7 +31,7 @@ public class sys_role
///
/// </summary>
public
string
Remark
{
get
;
set
;
}
/// <summary>
/// 菜单状态 1 启用 2禁用
/// </summary>
...
...
performance/Performance.EntityModels/Entity/sys_role_menu.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_role_menu.cs">
// * FileName: sys_role_menu.cs
// * history : 2019-03-
05 16:57:57
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_role_menu Entity Model
/// </summary>
public
class
sys_role_menu
[
Table
(
"sys_role_menu"
)]
public
class
sys_role_menu
{
/// <summary>
///
...
...
@@ -23,11 +25,11 @@ public class sys_role_menu
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
Ru
leID
{
get
;
set
;
}
public
int
Ro
leID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
MenuID
{
get
;
set
;
}
public
int
MenuID
{
get
;
set
;
}
}
}
performance/Performance.EntityModels/Entity/sys_sms.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_sms.cs">
// * FileName: sys_sms.cs
// * history : 2019-03-
05 11:49:50
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_sms Entity Model
/// </summary>
public
class
sys_sms
[
Table
(
"sys_sms"
)]
public
class
sys_sms
{
/// <summary>
///
...
...
performance/Performance.EntityModels/Entity/sys_user_hospital.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_user_hospital.cs">
// * FileName: sys_user_hospital.cs
// * history : 2019-03-
05 11:49:50
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_user_hospital Entity Model
/// </summary>
public
class
sys_user_hospital
[
Table
(
"sys_user_hospital"
)]
public
class
sys_user_hospital
{
/// <summary>
///
...
...
performance/Performance.EntityModels/Entity/sys_user_role.cs
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" sys_user_role.cs">
// * FileName: sys_user_role.cs
// * history : 2019-03-
05 16:57:57
// * history : 2019-03-
25 11:33:14
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
System.ComponentModel.DataAnnotations
;
using
System.ComponentModel.DataAnnotations.Schema
;
namespace
Performance.EntityModels
{
/// <summary>
/// sys_user_role Entity Model
/// </summary>
public
class
sys_user_role
[
Table
(
"sys_user_role"
)]
public
class
sys_user_role
{
/// <summary>
///
...
...
@@ -23,11 +25,11 @@ public class sys_user_role
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
RoleID
{
get
;
set
;
}
public
int
RoleID
{
get
;
set
;
}
/// <summary>
///
/// </summary>
public
Nullable
<
int
>
UserID
{
get
;
set
;
}
public
int
UserID
{
get
;
set
;
}
}
}
performance/Performance.Repository/PerforCofworkyearRepository.cs
0 → 100644
View file @
8a19fa10
//-----------------------------------------------------------------------
// <copyright file=" cof_workyear.cs">
// * FileName: cof_workyear.cs
// * history : Created by T4 2019-03-25 11:32:42
// </copyright>
//-----------------------------------------------------------------------
using
System
;
using
Performance.EntityModels
;
namespace
Performance.Repository
{
/// <summary>
/// cof_workyear Repository
/// </summary>
public
class
PerforCofworkyearRepository
:
PerforRepository
<
cof_workyear
>
{
public
PerforCofworkyearRepository
(
PerformanceDbContext
context
)
:
base
(
context
)
{
}
}
}
performance/Performance.Services/PerExcelService/ComputeEmpolyee/BaiscNormService.cs
0 → 100644
View file @
8a19fa10
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
Performance.Services
{
public
class
BaiscNormService
:
IAutoInjection
{
public
decimal
?
GetBaiscNorm
(
List
<
res_baiscnorm
>
baiscnorms
,
PerformanceType
type
)
{
decimal
?
result
=
null
;
if
(
type
==
PerformanceType
.
ReferenceDirector
)
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床科主任"
)?.
AvgValue
;
}
else
if
(
type
==
PerformanceType
.
ReferenceDirectorAvg
)
{
List
<
string
>
avgObjectList
=
new
List
<
string
>
{
"临床科主任"
,
"临床科副主任"
,
"医技科主任"
,
"临床科护长"
};
var
baisc
=
baiscnorms
.
Where
(
t
=>
avgObjectList
.
Contains
(
t
.
PositionName
));
result
=
baisc
.
Sum
(
s
=>
s
.
TotelValue
)
/
baisc
.
Sum
(
s
=>
s
.
TotelNumber
);
}
else
if
(
type
==
PerformanceType
.
ReferenceHeadNurse
)
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床科护长"
)?.
AvgValue
;
}
else
if
(
type
==
PerformanceType
.
ReferenceNurseAvg95
)
{
result
=
baiscnorms
.
FirstOrDefault
(
t
=>
t
.
PositionName
==
"临床护士"
)?.
AvgValue
*
0.95
m
;
}
if
(
result
.
HasValue
)
result
=
Math
.
Round
(
result
.
Value
,
4
);
return
result
;
}
}
}
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDeputyDirector.cs
deleted
100644 → 0
View file @
5e8f6891
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.Services
{
/// <summary>
/// 临床科室副主任
/// </summary>
public
class
ComputeDeputyDirector
{
public
void
Compute
(
List
<
EntityModels
.
im_employee
>
empolyeeList
)
{
throw
new
NotImplementedException
();
}
}
}
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeDirector.cs
View file @
8a19fa10
using
Performance.DtoModels
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
...
...
@@ -10,40 +11,160 @@ namespace Performance.Services
/// <summary>
/// 临床科室主任
/// </summary>
public
class
ComputeDirector
public
class
ComputeDirector
:
IAutoInjection
{
public
void
Compute
(
List
<
im_employee
>
empolyeeList
,
List
<
cof_position
>
positionList
,
List
<
res_accountdoctor
>
doctorList
,
List
<
cof_director
>
directorList
)
/// <summary>
/// 临床科室主任、临床科室副主任、临床科室护士长 计算
/// </summary>
/// <param name="empolyeeList"></param>
/// <param name="nurseList"></param>
/// <param name="directorList"></param>
/// <returns></returns>
public
List
<
ComputeResult
>
Compute
(
List
<
ComputeEmployee
>
empolyeeList
,
List
<
ComputeSource
>
nurseList
,
List
<
cof_director
>
directorList
)
{
var
positions
=
positionList
.
Where
(
t
=>
t
.
JobType
==
(
int
)
EmpolyeeType
.
Director
);
var
needCompute
=
empolyeeList
.
Where
(
t
=>
positions
.
Select
(
s
=>
s
.
JobTitle
).
Contains
(
t
.
JobTitle
));
foreach
(
var
item
in
needCompute
)
Dictionary
<
PerformanceType
,
string
>
keyValues
=
new
Dictionary
<
PerformanceType
,
string
>
{
var
resAccount
=
doctorList
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
);
var
efficiency
=
directorList
.
FirstOrDefault
(
t
=>
t
.
TypeName
==
"效率绩效"
&&
positions
.
Select
(
s
=>
s
.
JobTitle
).
Contains
(
t
.
JobTitle
));
var
scale
=
directorList
.
FirstOrDefault
(
t
=>
t
.
TypeName
==
"规模绩效"
&&
positions
.
Select
(
s
=>
s
.
JobTitle
).
Contains
(
t
.
JobTitle
));
new
res_compute
{
PerformanceType
.
Director
,
"临床科室主任"
},
{
PerformanceType
.
DeputyDirector
,
"临床科室副主任"
},
{
PerformanceType
.
Nurse
,
"临床科室护士长"
},
};
List
<
ComputeResult
>
computeList
=
new
List
<
ComputeResult
>();
foreach
(
var
key
in
keyValues
.
Keys
)
{
var
needCompute
=
empolyeeList
.
Where
(
t
=>
t
.
FitPeople
==
EnumHelper
.
GetDescription
(
key
));
foreach
(
var
item
in
needCompute
)
{
var
resAccount
=
nurseList
.
FirstOrDefault
(
t
=>
t
.
AccountingUnit
==
item
.
AccountingUnit
);
var
efficiency
=
directorList
.
FirstOrDefault
(
t
=>
t
.
TypeName
==
"效率绩效"
&&
t
.
JobTitle
==
keyValues
[
key
]);
var
scale
=
directorList
.
FirstOrDefault
(
t
=>
t
.
TypeName
==
"规模绩效"
&&
t
.
JobTitle
==
keyValues
[
key
]);
var
compute
=
new
ComputeResult
{
AccountType
=
item
.
AccountType
,
AccountingUnit
=
item
.
AccountingUnit
,
EmployeeName
=
item
.
DoctorName
,
FitPeople
=
item
.
FitPeople
,
Number
=
resAccount
?.
Number
,
PerforTotal
=
resAccount
?.
PerforTotal
,
Avg
=
resAccount
?.
Avg
,
Efficiency
=
efficiency
?.
Value
*
resAccount
?.
Avg
,
Scale
=
scale
?.
Value
*
resAccount
?.
PerforTotal
,
Grant
=
item
.
Grant
,
ShouldGiveFee
=
(
efficiency
?.
Value
*
resAccount
?.
Avg
+
scale
?.
Value
*
resAccount
?.
PerforTotal
)
*
item
.
Grant
,
ScoreAverageRate
=
item
.
ScoreAverageRate
,
Punishment
=
item
.
Punishment
,
OtherPerfor
=
item
.
OtherPerfor
};
//绩效合计
var
perforSumFee
=
(
compute
.
Avg
+
compute
.
Efficiency
+
compute
.
Scale
)
*
item
.
Grant
;
if
(
perforSumFee
>
(
compute
.
Avg
??
0
)
*
2.5
m
)
compute
.
PerforSumFee
=
(
compute
.
Avg
??
0
)
*
2.5
m
;
else
compute
.
PerforSumFee
=
perforSumFee
;
//应发绩效
compute
.
GiveFee
=
compute
.
Avg
*
item
.
Grant
+
(
compute
.
Efficiency
+
compute
.
Scale
)
*
item
.
Grant
*
compute
.
ScoreAverageRate
+
(
item
.
Punishment
??
0
)
+
(
item
.
OtherPerfor
??
0
);
computeList
.
Add
(
compute
);
}
}
return
computeList
;
}
/// <summary>
/// 绩效标准计算
/// </summary>
/// <param name="computes"></param>
/// <returns></returns>
public
List
<
res_baiscnorm
>
ComputeAvg
(
List
<
ComputeResult
>
computes
)
{
var
keyList
=
new
[]
{
new
{
type
=
"临床科室"
,
reference
=
"科室主任人均绩效"
,
groupname
=
"临床科主任"
},
new
{
type
=
"临床科室"
,
reference
=
"科室副主任人均绩效"
,
groupname
=
"临床科副主任"
},
new
{
type
=
"医技科室"
,
reference
=
"科室主任人均绩效"
,
groupname
=
"医技科主任"
},
new
{
type
=
"临床科室"
,
reference
=
"科室护士长人均绩效"
,
groupname
=
"临床科护长"
},
};
var
groupList
=
from
cp
in
computes
join
gp
in
keyList
on
new
{
type
=
cp
.
AccountType
,
reference
=
cp
.
FitPeople
}
equals
new
{
gp
.
type
,
gp
.
reference
}
select
new
{
gp
.
groupname
,
cp
};
var
result
=
groupList
.
GroupBy
(
t
=>
t
.
groupname
)
.
Select
(
s
=>
new
res_baiscnorm
{
AllotID
=
item
.
AllotID
,
SheetID
=
item
.
SheetID
,
AccountingUnit
=
item
.
AccountingUnit
,
EmployeeName
=
item
.
DoctorName
,
FitPeople
=
item
.
FitPeople
,
Number
=
resAccount
?.
Number
,
PerforTotal
=
resAccount
?.
PerforTotal
,
Avg
=
resAccount
?.
Avg
,
Efficiency
=
efficiency
?.
Value
*
resAccount
?.
Avg
,
Scale
=
scale
?.
Value
*
resAccount
?.
PerforTotal
,
Grant
=
item
.
Grant
,
ShouldGiveFee
=
(
efficiency
?.
Value
*
resAccount
?.
Avg
+
scale
?.
Value
*
resAccount
?.
PerforTotal
)
*
item
.
Grant
,
PerforSumFee
=
0
,
ScoreAverageRate
=
item
.
ScoreAverageRate
,
Punishment
=
item
.
Punishment
,
OtherPerfor
=
item
.
OtherPerfor
,
GiveFee
=
item
.
AllotID
,
};
PositionName
=
s
.
Key
,
TotelNumber
=
s
.
Count
(),
TotelValue
=
s
.
Sum
(
t
=>
t
.
cp
.
GiveFee
),
AvgValue
=
s
.
Sum
(
t
=>
t
.
cp
.
GiveFee
)
/
s
.
Count
()
});
return
result
.
ToList
();
}
/// <summary>
/// 院领导、业务中层、工勤人员 计算
/// </summary>
/// <param name="empolyeeList"></param>
/// <param name="baiscnormList"></param>
/// <returns></returns>
public
List
<
ComputeResult
>
Compute
(
List
<
ComputeEmployee
>
empolyeeList
,
List
<
res_baiscnorm
>
baiscnormList
,
List
<
cof_workyear
>
workyearList
)
{
PerformanceType
[]
types
=
new
PerformanceType
[]
{
PerformanceType
.
ReferenceDirector
,
PerformanceType
.
ReferenceDirectorAvg
,
PerformanceType
.
ReferenceNurseAvg95
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
Null
,
};
PerformanceType
[]
yearTypes
=
new
PerformanceType
[]
{
PerformanceType
.
ReferenceNurseAvg95
,
PerformanceType
.
ReferenceHeadNurse
,
PerformanceType
.
Null
,
};
BaiscNormService
baiscNormService
=
new
BaiscNormService
();
List
<
ComputeResult
>
computeList
=
new
List
<
ComputeResult
>();
foreach
(
var
type
in
types
)
{
var
needCompute
=
empolyeeList
.
Where
(
t
=>
t
.
FitPeople
==
EnumHelper
.
GetDescription
(
type
));
var
baiscnorm
=
baiscNormService
.
GetBaiscNorm
(
baiscnormList
,
type
);
foreach
(
var
item
in
needCompute
)
{
var
compute
=
new
ComputeResult
{
AccountType
=
item
.
AccountType
,
AccountingUnit
=
item
.
AccountingUnit
,
EmployeeName
=
item
.
DoctorName
,
FitPeople
=
item
.
FitPeople
,
Grant
=
item
.
Grant
,
WorkTime
=
item
.
WorkTime
,
BaiscNormValue
=
baiscnorm
,
PostCoefficient
=
item
.
PostCoefficient
,
Attendance
=
item
.
Attendance
,
ScoreAverageRate
=
item
.
ScoreAverageRate
,
Punishment
=
item
.
Punishment
,
OtherPerfor
=
item
.
OtherPerfor
};
//绩效合计
compute
.
ShouldGiveFee
=
baiscnorm
*
compute
.
PostCoefficient
*
compute
.
Attendance
*
compute
.
ScoreAverageRate
+
(
compute
.
OtherPerfor
??
0
)
+
(
item
.
Workload
??
0
)
+
(
compute
.
Punishment
??
0
);
//年资系数
if
(
yearTypes
.
Contains
(
type
)
&&
item
.
WorkTime
.
HasValue
&&
item
.
WorkTime
.
Value
>
new
DateTime
(
1970
,
1
,
1
))
{
var
years
=
((
DateTime
.
Now
.
Year
-
item
.
WorkTime
.
Value
.
Year
)
*
12
+
(
DateTime
.
Now
.
Month
-
item
.
WorkTime
.
Value
.
Month
))
/
12.0
m
;
var
value
=
workyearList
.
FirstOrDefault
(
t
=>
t
.
MinRange
<
years
&&
years
<=
t
.
MaxRange
)?.
Value
;
compute
.
WorkYear
=
value
;
compute
.
ShouldGiveFee
=
compute
.
ShouldGiveFee
*
(
value
??
1
);
}
//应发绩效
compute
.
GiveFee
=
compute
.
ShouldGiveFee
*
item
.
Adjust
*
item
.
Grant
;
computeList
.
Add
(
compute
);
}
}
return
computeList
;
}
}
}
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeMedicalTechnician .cs
deleted
100644 → 0
View file @
5e8f6891
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.Services
{
public
class
ComputeMedicalTechnician
{
public
void
Compute
(
List
<
EntityModels
.
im_employee
>
empolyeeList
)
{
}
}
}
performance/Performance.Services/PerExcelService/ComputeEmpolyee/ComputeNurse.cs
deleted
100644 → 0
View file @
5e8f6891
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Performance.Services
{
/// <summary>
/// 护士长
/// </summary>
public
class
ComputeNurse
{
public
void
Compute
(
List
<
EntityModels
.
im_employee
>
empolyeeList
)
{
throw
new
NotImplementedException
();
}
}
}
performance/Performance.Services/PerExcelService/NopiSevice.cs
View file @
8a19fa10
using
NPOI.SS.UserModel
;
using
NPOI.HSSF.UserModel
;
using
NPOI.SS.UserModel
;
using
Performance.Infrastructure
;
using
System
;
using
System.Collections.Generic
;
...
...
@@ -24,5 +25,20 @@ public class NopiSevice
}
return
null
;
}
public
static
DateTime
?
GetCellDatetimeValue
(
ICell
cell
)
{
if
(
cell
!=
null
)
{
if
(
cell
.
CellType
==
CellType
.
Numeric
)
{
if
(
HSSFDateUtil
.
IsCellDateFormatted
(
cell
))
{
return
cell
.
DateCellValue
;
}
}
}
return
null
;
}
}
}
performance/Performance.Services/PerExcelService/PerExcelService.cs
View file @
8a19fa10
...
...
@@ -23,12 +23,14 @@ public class PerExcelService : IAutoInjection
private
PerforImHeaderRepository
_perforImHeaderRepository
;
private
PerforImEmployeeRepository
_perforImEmployeeRepository
;
private
PerforImaccountbasicRepository
_perforImaccountbasicRepository
;
private
PerforResAccountdoctorRepository
_perforImaccountdoctorRepository
;
private
PerforResAccountnurseRepository
_perforImaccountnurseRepository
;
private
PerforCofpositionRepository
_perforCofpositionRepository
;
private
PerforCofdirectorRepository
_perforCofdirectorRepository
;
private
PerforCofworkyearRepository
_perforCofworkyearRepository
;
private
PerforResAccountdoctorRepository
_perforResAccountdoctorRepository
;
private
PerforResAccountnurseRepository
_perforResAccountnurseRepository
;
private
PerforResbaiscnormRepository
_perforResbaiscnormRepository
;
private
PerforRescomputeRepository
_perforRescomputeRepository
;
public
PerExcelService
(
PerSheetService
perSheetService
,
PerHeaderService
perHeaderService
,
PerforPerSheetRepository
perforImSheetRepository
,
...
...
@@ -36,12 +38,14 @@ public class PerExcelService : IAutoInjection
PerforImHeaderRepository
perforImHeaderRepository
,
PerforImEmployeeRepository
perforImEmployeeRepository
,
PerforImaccountbasicRepository
perforImaccountbasicRepository
,
PerforResAccountdoctorRepository
perforImaccountdoctorRepository
,
PerforResAccountnurseRepository
perforImaccountnurseRepository
,
PerforCofpositionRepository
perforCofpositionRepository
,
PerforCofdirectorRepository
perforCofdirectorRepository
,
PerforResAccountdoctorRepository
perforResAccountdoctorRepository
,
PerforResAccountnurseRepository
perforResAccountnurseRepository
)
PerforResAccountnurseRepository
perforResAccountnurseRepository
,
PerforResbaiscnormRepository
perforResbaiscnormRepository
,
PerforRescomputeRepository
perforRescomputeRepository
,
PerforCofworkyearRepository
perforCofworkyearRepository
)
{
_perSheetService
=
perSheetService
;
_perHeaderService
=
perHeaderService
;
...
...
@@ -50,22 +54,18 @@ public class PerExcelService : IAutoInjection
_perforImHeaderRepository
=
perforImHeaderRepository
;
_perforImEmployeeRepository
=
perforImEmployeeRepository
;
_perforImaccountbasicRepository
=
perforImaccountbasicRepository
;
_perforImaccountdoctorRepository
=
perforImaccountdoctorRepository
;
_perforImaccountnurseRepository
=
perforImaccountnurseRepository
;
_perforCofpositionRepository
=
perforCofpositionRepository
;
_perforResAccountdoctorRepository
=
perforResAccountdoctorRepository
;
_perforResAccountnurseRepository
=
perforResAccountnurseRepository
;
_perforCofdirectorRepository
=
perforCofdirectorRepository
;
_perforResbaiscnormRepository
=
perforResbaiscnormRepository
;
_perforRescomputeRepository
=
perforRescomputeRepository
;
_perforCofworkyearRepository
=
perforCofworkyearRepository
;
}
public
void
Execute
(
per_allot
allot
)
{
//清空当前绩效下数据
Clear
(
allot
.
ID
);
// 拷贝配置信息
Copy
(
allot
.
ID
);
// 导出数据
var
excel
=
Import
(
allot
.
Path
);
...
...
@@ -78,13 +78,28 @@ public void Execute(per_allot allot)
// 保存过程数据
Save
(
list
,
allot
.
ID
,
2
);
var
baiscnorm
=
NurseBaiscnorm
(
list
);
// 计算最总数据
Compute
(
allot
,
excel
);
Compute
(
allot
,
excel
,
baiscnorm
);
//发送邮件
SendEmail
(
allot
);
}
private
res_baiscnorm
NurseBaiscnorm
(
List
<
PerSheet
>
list
)
{
var
sheet
=
list
.
FirstOrDefault
(
t
=>
t
.
SheetType
==
SheetType
.
ComputeNurseAccount
);
var
perdata
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountNurse
)
t
);
return
new
res_baiscnorm
{
PositionName
=
"临床护士"
,
TotelNumber
=
perdata
.
Sum
(
t
=>
t
.
Number
),
TotelValue
=
perdata
.
Sum
(
t
=>
t
.
PerforTotal
),
AvgValue
=
perdata
.
Sum
(
t
=>
t
.
PerforTotal
)
/
perdata
.
Sum
(
t
=>
t
.
Number
)
};
}
private
void
SendEmail
(
per_allot
allot
)
{
...
...
@@ -166,46 +181,58 @@ public void Save(List<PerSheet> perSheets, int allotId, int source)
{
var
imdata
=
Mapper
.
Map
<
im_employee
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
imdata
.
AllotID
=
allotId
;
_perforImEmployeeRepository
.
Add
(
imdata
);
}
}
else
if
(
sheet
.
SheetType
==
SheetType
.
DeptAccounting
)
{
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountBaisc
)
t
);
List
<
im_accountbasic
>
addList
=
new
List
<
im_accountbasic
>();
foreach
(
var
data
in
dataList
)
{
var
imdata
=
Mapper
.
Map
<
im_accountbasic
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
_perforImaccountbasicRepository
.
Add
(
imdata
);
imdata
.
AllotID
=
allotId
;
addList
.
Add
(
imdata
);
}
_perforImaccountbasicRepository
.
AddRange
(
addList
.
ToArray
());
}
else
if
(
sheet
.
SheetType
==
SheetType
.
ComputeDoctorAccount
)
{
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountDoctor
)
t
);
List
<
res_accountdoctor
>
addList
=
new
List
<
res_accountdoctor
>();
foreach
(
var
data
in
dataList
)
{
var
imdata
=
Mapper
.
Map
<
res_accountdoctor
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
_perforImaccountdoctorRepository
.
Add
(
imdata
);
imdata
.
AllotID
=
allotId
;
addList
.
Add
(
imdata
);
}
_perforResAccountdoctorRepository
.
AddRange
(
addList
.
ToArray
());
}
else
if
(
sheet
.
SheetType
==
SheetType
.
ComputeNurseAccount
)
{
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerDataAccountNurse
)
t
);
List
<
res_accountnurse
>
addList
=
new
List
<
res_accountnurse
>();
foreach
(
var
data
in
dataList
)
{
var
imdata
=
Mapper
.
Map
<
res_accountnurse
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
_perforImaccountnurseRepository
.
Add
(
imdata
);
imdata
.
AllotID
=
allotId
;
addList
.
Add
(
imdata
);
}
_perforImaccountnurseRepository
.
AddRange
(
addList
.
ToArray
());
}
else
{
List
<
im_header
>
addHeadList
=
new
List
<
im_header
>();
foreach
(
var
header
in
sheet
.
PerHeader
)
{
var
imheader
=
Mapper
.
Map
<
im_header
>(
header
);
imheader
.
SheetID
=
imsheet
.
ID
;
_perforImHeaderRepository
.
Add
(
imheader
);
imheader
.
AllotID
=
allotId
;
addHeadList
.
Add
(
imheader
);
if
(
header
.
IsHasChildren
)
{
foreach
(
var
child
in
header
.
Children
)
...
...
@@ -213,17 +240,22 @@ public void Save(List<PerSheet> perSheets, int allotId, int source)
var
imheaderChild
=
Mapper
.
Map
<
im_header
>(
child
);
imheaderChild
.
SheetID
=
imsheet
.
ID
;
imheaderChild
.
ParentID
=
imheader
.
ID
;
_perforImHeaderRepository
.
Add
(
imheaderChild
);
addHeadList
.
Add
(
imheaderChild
);
}
}
}
_perforImHeaderRepository
.
AddRange
(
addHeadList
.
ToArray
());
List
<
im_data
>
addDataList
=
new
List
<
im_data
>();
var
dataList
=
sheet
.
PerData
.
Select
(
t
=>
(
PerData
)
t
);
foreach
(
var
data
in
dataList
)
{
var
imdata
=
Mapper
.
Map
<
im_data
>(
data
);
imdata
.
SheetID
=
imsheet
.
ID
;
_perforImDataRepository
.
Add
(
imdata
);
imdata
.
AllotID
=
allotId
;
addDataList
.
Add
(
imdata
);
}
_perforImDataRepository
.
AddRange
(
addDataList
.
ToArray
());
}
}
...
...
@@ -305,30 +337,43 @@ private IRow CreateRow(ICellStyle cellstyle, ISheet exportSheet, IRow row, PerHe
/// 计算最终数据
/// </summary>
/// <param name="excel"></param>
public
void
Compute
(
per_allot
allot
,
PerExcel
excel
)
public
void
Compute
(
per_allot
allot
,
PerExcel
excel
,
res_baiscnorm
baiscnorm
)
{
var
sheetList
=
_perforImSheetRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
//取出人员信息
var
empolyeeList
=
_perforImEmployeeRepository
.
GetEntities
(
t
=>
sheetList
.
Select
(
s
=>
s
.
ID
).
Contains
(
t
.
SheetID
.
Value
)
);
//取出人员信息
var
empolyeeList
=
_perforImEmployeeRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
//人员身份字典
var
positionList
=
_perforCofpositionRepository
.
GetEntities
();
//年资系数
var
workyearList
=
_perforCofworkyearRepository
.
GetEntities
();
//规模绩效和效率绩效配置表
var
directorList
=
_perforCofdirectorRepository
.
GetEntities
();
//取出
//取出医生科室
var
doctorList
=
_perforResAccountdoctorRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
ComputeDirector
computeDirector
=
new
ComputeDirector
();
computeDirector
.
Compute
(
empolyeeList
,
positionList
,
doctorList
,
directorList
);
//取出护士科室
var
nurseList
=
_perforResAccountnurseRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
List
<
ComputeEmployee
>
computeEmployees
=
Mapper
.
Map
<
List
<
ComputeEmployee
>>(
empolyeeList
);
_perforResAccountnurseRepository
.
GetEntities
(
t
=>
t
.
AllotID
==
allot
.
ID
);
//根据不同人员执行不同算法
//empolyeeList.Where(t=>t.)
List
<
ComputeSource
>
computeSources
=
new
List
<
ComputeSource
>(
);
computeSources
.
AddRange
(
Mapper
.
Map
<
List
<
ComputeSource
>>(
doctorList
));
computeSources
.
AddRange
(
Mapper
.
Map
<
List
<
ComputeSource
>>(
nurseList
));
//计算院领导、中层管理、工勤人员
ComputeDirector
computeDirector
=
new
ComputeDirector
();
var
computResult
=
computeDirector
.
Compute
(
computeEmployees
,
computeSources
,
directorList
);
var
baiscnormList
=
computeDirector
.
ComputeAvg
(
computResult
);
baiscnormList
.
Add
(
baiscnorm
);
var
computResult2
=
computeDirector
.
Compute
(
computeEmployees
,
baiscnormList
,
workyearList
);
//throw new NotImplementedException();
var
computes
=
Mapper
.
Map
<
List
<
res_compute
>>(
computResult
);
computes
.
AddRange
(
Mapper
.
Map
<
List
<
res_compute
>>(
computResult2
));
computes
.
ForEach
(
t
=>
t
.
AllotID
=
allot
.
ID
);
_perforRescomputeRepository
.
AddRange
(
computes
.
ToArray
());
baiscnormList
.
ForEach
(
t
=>
t
.
AllotID
=
allot
.
ID
);
_perforResbaiscnormRepository
.
AddRange
(
baiscnormList
.
ToArray
());
}
}
}
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeEconomic.cs
View file @
8a19fa10
...
...
@@ -11,7 +11,7 @@ namespace Performance.Services
/// <summary>
/// 科室经济核算汇总表 (收入/其他收入/支出)
/// </summary>
public
class
PerSheetDataComputeEconomic
public
class
PerSheetDataComputeEconomic
:
IAutoInjection
{
#
region
合并科室经济
/// <summary>
...
...
performance/Performance.Services/PerExcelService/SheetDataCompute/PerSheetDataComputeWorkload.cs
View file @
8a19fa10
...
...
@@ -11,7 +11,7 @@ namespace Performance.Services
/// <summary>
/// 工作量
/// </summary>
public
class
PerSheetDataComputeWorkload
public
class
PerSheetDataComputeWorkload
:
IAutoInjection
{
#
region
工作量一次计算
/// <summary>
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/IPerSheetDataRead.cs
View file @
8a19fa10
...
...
@@ -6,7 +6,7 @@
namespace
Performance.Services
{
public
interface
IPerSheetDataRead
public
interface
IPerSheetDataRead
:
IAutoInjection
{
/// <summary>
/// excel 列头及数据 配置信息
...
...
performance/Performance.Services/PerExcelService/SheetDataRead/PerSheetDataReadEmployee.cs
View file @
8a19fa10
...
...
@@ -37,14 +37,14 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
{
RowNumber
=
r
,
AccountingUnit
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元"
).
PointCell
).
ToString
(),
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"
科室
"
).
PointCell
).
ToString
(),
Department
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"
核算单元
"
).
PointCell
).
ToString
(),
DoctorName
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"医生姓名"
).
PointCell
).
ToString
(),
JobTitle
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"职称"
).
PointCell
).
ToString
(),
FitPeople
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"绩效基数核算参考对象"
).
PointCell
).
ToString
(),
AccountType
=
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元分类"
).
PointCell
).
ToString
(),
PostCoefficient
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"岗位系数"
).
PointCell
).
ToString
()),
WorkTime
=
ConvertHelper
.
To
<
DateTime
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"考核得分率"
).
PointCell
).
ToString
(
)),
ScoreAverageRate
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"
医生姓名
"
).
PointCell
).
ToString
()),
WorkTime
=
NopiSevice
.
GetCellDatetimeValue
(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"参加工作时间"
).
PointCell
)),
ScoreAverageRate
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"
考核得分率
"
).
PointCell
).
ToString
()),
Attendance
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"出勤率"
).
PointCell
).
ToString
()),
PeopleNumber
=
ConvertHelper
.
To
<
int
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"核算单元医生数"
).
PointCell
).
ToString
()),
Workload
=
ConvertHelper
.
To
<
decimal
?>(
row
.
GetCell
(
perHeader
.
FirstOrDefault
(
p
=>
p
.
CellValue
==
"工作量绩效"
).
PointCell
).
ToString
()),
...
...
performance/Performance.Services/SheetSevice.cs
View file @
8a19fa10
...
...
@@ -101,6 +101,7 @@ private void CommonExport(int sheetID, SheetExportResponse response)
var
headList
=
_perforImHeaderRepository
.
GetEntities
(
t
=>
t
.
SheetID
==
sheetID
).
OrderBy
(
t
=>
t
.
PointCell
);
var
dataList
=
_perforImDataRepository
.
GetEntities
(
t
=>
t
.
SheetID
==
sheetID
);
if
(
dataList
==
null
||
dataList
.
Count
==
0
)
return
;
//创建列头行
var
rowhead
=
new
Row
(
0
);
...
...
performance/performance.sln
View file @
8a19fa10
...
...
@@ -12,6 +12,9 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "1.site", "1.site", "{69CFD3FA-0B61-41D4-A9E8-44B933001293}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "2.services", "2.services", "{2E5D3959-48C9-4BAD-89BF-9CF1DDCB453D}"
ProjectSection(SolutionItems) = preProject
Performance.EntityModels\Entity\ComputeResult.cs = Performance.EntityModels\Entity\ComputeResult.cs
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3.repository", "3.repository", "{95E7A23D-DC0E-4C27-AD7C-EAF4917012EF}"
EndProject
...
...
@@ -23,7 +26,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Performance.DtoModels", "Pe
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Performance.EntityModels", "Performance.EntityModels\Performance.EntityModels.csproj", "{F7708C0C-0B0B-4E7E-A995-E39F7044FD11}"
EndProject
Project("{
FAE04EC0-301F-11D3-BF4B-00C04F79EFBC
}") = "Performance.Api", "Performance.Api\Performance.Api.csproj", "{3AE00FF5-F0BA-4D72-A23B-770186309327}"
Project("{
9A19103F-16F7-4668-BE54-9A1E7A4F7556
}") = "Performance.Api", "Performance.Api\Performance.Api.csproj", "{3AE00FF5-F0BA-4D72-A23B-770186309327}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
...
...
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