Commit 209c0c0e by lcx

Merge branch 'v2020calculate' into v2020newreq

# Conflicts:
#	performance/Performance.Api/wwwroot/Performance.DtoModels.xml
#	performance/Performance.DtoModels/PerExcel/ExcelEnum.cs
parents c5c952a1 9cd57574
...@@ -320,6 +320,19 @@ public ApiResponse DeleteApr([FromBody] per_apr_amount request) ...@@ -320,6 +320,19 @@ public ApiResponse DeleteApr([FromBody] per_apr_amount request)
} }
/// <summary> /// <summary>
/// 医院其他绩效审核;驳回、成功
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("apr/audit")]
public ApiResponse AuditResult([FromBody] AprAmountAuditRequest request)
{
var userid = claim.GetUserId();
var result = employeeService.ConfirmAudit(userid, request);
return result ? new ApiResponse(ResponseType.OK, "操作成功") : new ApiResponse(ResponseType.Fail, "操作失败");
}
/// <summary>
/// 上传人员绩效文件 /// 上传人员绩效文件
/// </summary> /// </summary>
/// <param name="form"></param> /// <param name="form"></param>
......
...@@ -654,6 +654,12 @@ ...@@ -654,6 +654,12 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.EmployeeController.AuditResult(Performance.DtoModels.AprAmountAuditRequest)">
<summary>
医院其他绩效审核;驳回、成功
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.EmployeeController.Import(Microsoft.AspNetCore.Http.IFormCollection)"> <member name="M:Performance.Api.Controllers.EmployeeController.Import(Microsoft.AspNetCore.Http.IFormCollection)">
<summary> <summary>
上传人员绩效文件 上传人员绩效文件
......
...@@ -408,11 +408,26 @@ ...@@ -408,11 +408,26 @@
效率绩效人数 效率绩效人数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeEmployee.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.ScoreAverageRate"> <member name="P:Performance.DtoModels.ComputeEmployee.ScoreAverageRate">
<summary> <summary>
考核得分率 考核得分率
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeEmployee.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.Attendance"> <member name="P:Performance.DtoModels.ComputeEmployee.Attendance">
<summary> <summary>
出勤率 出勤率
...@@ -485,7 +500,7 @@ ...@@ -485,7 +500,7 @@
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.PerforTotal"> <member name="P:Performance.DtoModels.ComputeResult.PerforTotal">
<summary> <summary>
绩效合计(来自科室经济测算表) 绩效合计 考核前(来自科室经济测算表)
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.Number"> <member name="P:Performance.DtoModels.ComputeResult.Number">
...@@ -525,12 +540,27 @@ ...@@ -525,12 +540,27 @@
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.PerforSumFee"> <member name="P:Performance.DtoModels.ComputeResult.PerforSumFee">
<summary> <summary>
绩效合计(需计算) 绩效合计 考核前(需计算)
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.ScoreAverageRate"> <member name="P:Performance.DtoModels.ComputeResult.ScoreAverageRate">
<summary> <summary>
考核对分率(来自人员名单) 考核得分率
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeResult.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.Attendance"> <member name="P:Performance.DtoModels.ComputeResult.Attendance">
...@@ -555,7 +585,7 @@ ...@@ -555,7 +585,7 @@
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.GiveFee"> <member name="P:Performance.DtoModels.ComputeResult.GiveFee">
<summary> <summary>
应发绩效(需计算) 应发绩效 考核前(需计算)
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeResult.BaiscNormPerforTotal"> <member name="P:Performance.DtoModels.ComputeResult.BaiscNormPerforTotal">
...@@ -677,8 +707,11 @@ ...@@ -677,8 +707,11 @@
<member name="F:Performance.DtoModels.SheetType.AccountScoreAverage"> <member name="F:Performance.DtoModels.SheetType.AccountScoreAverage">
<summary> 科室材料考核 </summary> <summary> 科室材料考核 </summary>
</member> </member>
<member name="F:Performance.DtoModels.SheetType.OtherWorkload"> <member name="F:Performance.DtoModels.SheetType.AccountAdjustLaterOtherFee">
<summary> 其他工作量(不参与核算) </summary> <summary> 科室调节后其他绩效 </summary>
</member>
<member name="F:Performance.DtoModels.SheetType.PersonAdjustLaterOtherFee">
<summary> 业务中层行政中高层调节后其他绩效 </summary>
</member> </member>
<member name="T:Performance.DtoModels.AccountUnitType"> <member name="T:Performance.DtoModels.AccountUnitType">
<summary> <summary>
...@@ -828,9 +861,9 @@ ...@@ -828,9 +861,9 @@
其他绩效1 其他绩效1
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.OtherPerfor2"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.AssessBeforeOtherFee">
<summary> <summary>
其他绩效2 考核前其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.MedicineExtra"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.MedicineExtra">
...@@ -853,11 +886,21 @@ ...@@ -853,11 +886,21 @@
考核对分率 考核对分率
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.AdjustFactor"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.AdjustFactor">
<summary> <summary>
调节系数 调节系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Scale"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.Scale">
<summary> <summary>
规模绩效系数 规模绩效系数
...@@ -895,7 +938,12 @@ ...@@ -895,7 +938,12 @@
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.PerforTotal"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.PerforTotal">
<summary> <summary>
绩效合计 绩效合计 考核前
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.AssessLaterPerforTotal">
<summary>
绩效合计 考核后
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Avg"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.Avg">
...@@ -968,11 +1016,21 @@ ...@@ -968,11 +1016,21 @@
管理绩效发放系数 管理绩效发放系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.ScoreAverageRate"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.ScoreAverageRate">
<summary> <summary>
考核得分率 考核得分率
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.Attendance"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.Attendance">
<summary> <summary>
出勤率 出勤率
...@@ -993,6 +1051,11 @@ ...@@ -993,6 +1051,11 @@
调节系数 调节系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.RowNumber"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.RowNumber">
<summary> <summary>
行号 行号
...@@ -1053,11 +1116,21 @@ ...@@ -1053,11 +1116,21 @@
夜班费 夜班费
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataEmployee.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataEmployee.ScoreAverageRate"> <member name="P:Performance.DtoModels.PerDataEmployee.ScoreAverageRate">
<summary> <summary>
考核得分率 考核得分率
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataEmployee.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataEmployee.Attendance"> <member name="P:Performance.DtoModels.PerDataEmployee.Attendance">
<summary> <summary>
出勤率 出勤率
...@@ -1068,6 +1141,11 @@ ...@@ -1068,6 +1141,11 @@
调节系数 调节系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataEmployee.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataEmployee.RowNumber"> <member name="P:Performance.DtoModels.PerDataEmployee.RowNumber">
<summary> <summary>
行号 行号
...@@ -1128,6 +1206,11 @@ ...@@ -1128,6 +1206,11 @@
其他绩效 其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataLogisticsEmployee.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataLogisticsEmployee.RowNumber"> <member name="P:Performance.DtoModels.PerDataLogisticsEmployee.RowNumber">
<summary> <summary>
行号 行号
...@@ -1498,6 +1581,15 @@ ...@@ -1498,6 +1581,15 @@
路径 路径
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.Id">
<summary> 二次绩效Id </summary>
</member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.IsPass">
<summary> 审核结果 1、审核通过 2、驳回 </summary>
</member>
<member name="P:Performance.DtoModels.AprAmountAuditRequest.Remark">
<summary> 备注 </summary>
</member>
<member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type"> <member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type">
<summary> <summary>
短信验证类型 1 手机号登录 2 其他 短信验证类型 1 手机号登录 2 其他
...@@ -2932,6 +3024,21 @@ ...@@ -2932,6 +3024,21 @@
医院其他绩效 医院其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ResComputeResponse.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ResComputeResponse.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.ResComputeResponse.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.DtoModels.RoleResponse.RoleName"> <member name="P:Performance.DtoModels.RoleResponse.RoleName">
<summary> <summary>
角色名称 角色名称
......
...@@ -1962,79 +1962,29 @@ ...@@ -1962,79 +1962,29 @@
保底绩效系数 保底绩效系数
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseHeadNumber"> <member name="P:Performance.EntityModels.im_accountbasic.UpdateDate">
<summary>
护士长人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseNumber">
<summary>
护士人数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseBasicFactor">
<summary>
护理基础系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseSlopeFactor">
<summary>
倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseScale">
<summary>
规模绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseEffic">
<summary>
效率绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseGrant">
<summary>
发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseOtherPerfor1">
<summary>
其他绩效1
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseOtherPerfor2">
<summary>
其他绩效2
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseExtra">
<summary> <summary>
医院奖罚
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseScoringAverage"> <member name="P:Performance.EntityModels.im_accountbasic.UpdateUser">
<summary> <summary>
考核对分率
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_accountbasic.NurseAdjustFactor"> <member name="P:Performance.EntityModels.im_accountbasic.AssessBeforeOtherFee">
<summary> <summary>
调节系数 考核前其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_accountbasic.WorkSlopeFactor"> <member name="P:Performance.EntityModels.im_accountbasic.AssessLaterOtherFee">
<summary> <summary>
工作量倾斜系数 考核后其他绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_accountbasic.UpdateDate"> <member name="P:Performance.EntityModels.im_accountbasic.AdjustLaterOtherFee">
<summary> <summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.UpdateUser">
<summary>
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.im_data"> <member name="T:Performance.EntityModels.im_data">
...@@ -2277,6 +2227,21 @@ ...@@ -2277,6 +2227,21 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_employee.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="T:Performance.EntityModels.im_employee_clinic"> <member name="T:Performance.EntityModels.im_employee_clinic">
<summary> <summary>
...@@ -2422,6 +2387,21 @@ ...@@ -2422,6 +2387,21 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_employee_clinic.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="T:Performance.EntityModels.im_employee_logistics"> <member name="T:Performance.EntityModels.im_employee_logistics">
<summary> <summary>
...@@ -2522,6 +2502,21 @@ ...@@ -2522,6 +2502,21 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_employee_logistics.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_logistics.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_logistics.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="T:Performance.EntityModels.im_header"> <member name="T:Performance.EntityModels.im_header">
<summary> <summary>
...@@ -2967,6 +2962,26 @@ ...@@ -2967,6 +2962,26 @@
核算单元 核算单元
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_apr_amount.Status">
<summary>
状态 1 未提交 2 等待审核 3 审核通过 4 驳回
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.AuditTime">
<summary>
审核时间
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.AuditUser">
<summary>
审核人
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.Remark">
<summary>
备注
</summary>
</member>
<member name="P:Performance.EntityModels.per_apr_amount.CreateDate"> <member name="P:Performance.EntityModels.per_apr_amount.CreateDate">
<summary> <summary>
...@@ -4087,6 +4102,26 @@ ...@@ -4087,6 +4102,26 @@
实发绩效 实发绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.res_account.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.AssessLaterPerforTotal">
<summary>
考核后绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_account.Remark"> <member name="P:Performance.EntityModels.res_account.Remark">
<summary> <summary>
备注 备注
...@@ -4552,6 +4587,21 @@ ...@@ -4552,6 +4587,21 @@
效率绩效人数 效率绩效人数
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.res_compute.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_compute.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="T:Performance.EntityModels.res_reserved"> <member name="T:Performance.EntityModels.res_reserved">
<summary> <summary>
...@@ -4812,6 +4862,26 @@ ...@@ -4812,6 +4862,26 @@
业绩总绩效 业绩总绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.res_specialunit.PerforTotal">
<summary>
考核前绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.AssessBeforeOtherFee">
<summary>
考核前其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.AssessLaterOtherFee">
<summary>
考核后其他绩效
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.AdjustLaterOtherFee">
<summary>
调节后其他绩效
</summary>
</member>
<member name="T:Performance.EntityModels.sys_extract"> <member name="T:Performance.EntityModels.sys_extract">
<summary> <summary>
医院数据提取脚本 医院数据提取脚本
......
...@@ -116,7 +116,7 @@ public AutoMapperConfigs() ...@@ -116,7 +116,7 @@ public AutoMapperConfigs()
.ForMember(dest => dest.DoctorBasicFactor, opt => opt.MapFrom(src => src.BasicFactor)) .ForMember(dest => dest.DoctorBasicFactor, opt => opt.MapFrom(src => src.BasicFactor))
//.ForMember(dest => dest.DoctorSlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor)) //.ForMember(dest => dest.DoctorSlopeFactor, opt => opt.MapFrom(src => src.SlopeFactor))
.ForMember(dest => dest.DoctorOtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1)) .ForMember(dest => dest.DoctorOtherPerfor1, opt => opt.MapFrom(src => src.OtherPerfor1))
.ForMember(dest => dest.DoctorOtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2)) //.ForMember(dest => dest.DoctorOtherPerfor2, opt => opt.MapFrom(src => src.OtherPerfor2))
//.ForMember(dest => dest.DoctorExtra, opt => opt.MapFrom(src => src.Extra)) //.ForMember(dest => dest.DoctorExtra, opt => opt.MapFrom(src => src.Extra))
.ForMember(dest => dest.DoctorScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage)) .ForMember(dest => dest.DoctorScoringAverage, opt => opt.MapFrom(src => src.ScoringAverage))
.ForMember(dest => dest.DoctorAdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor)) .ForMember(dest => dest.DoctorAdjustFactor, opt => opt.MapFrom(src => src.AdjustFactor))
......
...@@ -82,11 +82,26 @@ public class ComputeEmployee ...@@ -82,11 +82,26 @@ public class ComputeEmployee
//public Nullable<DateTime> WorkTime { get; set; } //public Nullable<DateTime> WorkTime { get; set; }
/// <summary> /// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核得分率 /// 考核得分率
/// </summary> /// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; } public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary> /// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 出勤率 /// 出勤率
/// </summary> /// </summary>
public Nullable<decimal> Attendance { get; set; } public Nullable<decimal> Attendance { get; set; }
......
...@@ -36,7 +36,7 @@ public class ComputeResult ...@@ -36,7 +36,7 @@ public class ComputeResult
public string EmployeeName { get; set; } public string EmployeeName { get; set; }
/// <summary> /// <summary>
/// 绩效合计(来自科室经济测算表) /// 绩效合计 考核前(来自科室经济测算表)
/// </summary> /// </summary>
public Nullable<decimal> PerforTotal { get; set; } public Nullable<decimal> PerforTotal { get; set; }
...@@ -76,16 +76,31 @@ public class ComputeResult ...@@ -76,16 +76,31 @@ public class ComputeResult
public Nullable<decimal> ShouldGiveFee { get; set; } public Nullable<decimal> ShouldGiveFee { get; set; }
/// <summary> /// <summary>
/// 绩效合计(需计算) /// 绩效合计 考核前(需计算)
/// </summary> /// </summary>
public Nullable<decimal> PerforSumFee { get; set; } public Nullable<decimal> PerforSumFee { get; set; }
/// <summary> /// <summary>
/// 考核对分率(来自人员名单) /// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核得分率
/// </summary> /// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; } public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary> /// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 出勤率(来自人员名单) /// 出勤率(来自人员名单)
/// </summary> /// </summary>
public Nullable<decimal> Attendance { get; set; } public Nullable<decimal> Attendance { get; set; }
...@@ -106,7 +121,7 @@ public class ComputeResult ...@@ -106,7 +121,7 @@ public class ComputeResult
public Nullable<decimal> OtherPerfor { get; set; } public Nullable<decimal> OtherPerfor { get; set; }
/// <summary> /// <summary>
/// 应发绩效(需计算) /// 应发绩效 考核前(需计算)
/// </summary> /// </summary>
public Nullable<decimal> GiveFee { get; set; } public Nullable<decimal> GiveFee { get; set; }
......
...@@ -120,10 +120,17 @@ public enum SheetType ...@@ -120,10 +120,17 @@ public enum SheetType
[Description("科室考核")] [Description("科室考核")]
AccountScoreAverage = 25, AccountScoreAverage = 25,
/// <summary> 科室调节后其他绩效 </summary>
[Description("科室调节后其他绩效")]
AccountAdjustLaterOtherFee = 26,
/// <summary> 业务中层行政中高层调节后其他绩效 </summary>
[Description("业务中层行政中高层调节后其他绩效")]
PersonAdjustLaterOtherFee = 27,
/// <summary> 其他工作量(不参与核算) </summary> /// <summary> 其他工作量(不参与核算) </summary>
[Description("其他工作量")] [Description("其他工作量")]
OtherWorkload = 26, OtherWorkload = 28,
} }
/// <summary> /// <summary>
......
...@@ -64,9 +64,14 @@ public class PerDataAccountBaisc : IPerData ...@@ -64,9 +64,14 @@ public class PerDataAccountBaisc : IPerData
public decimal OtherPerfor1 { get; set; } public decimal OtherPerfor1 { get; set; }
/// <summary> /// <summary>
/// 其他绩效2 /// 考核前其他绩效
/// </summary> /// </summary>
public decimal OtherPerfor2 { get; set; } public Nullable<decimal> AssessBeforeOtherFee { get; set; }
///// <summary>
///// 其他绩效2
///// </summary>
//public decimal OtherPerfor2 { get; set; }
/// <summary> /// <summary>
/// 药占比奖罚 /// 药占比奖罚
...@@ -89,11 +94,21 @@ public class PerDataAccountBaisc : IPerData ...@@ -89,11 +94,21 @@ public class PerDataAccountBaisc : IPerData
public decimal ScoringAverage { get; set; } public decimal ScoringAverage { get; set; }
/// <summary> /// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节系数 /// 调节系数
/// </summary> /// </summary>
public decimal AdjustFactor { get; set; } public decimal AdjustFactor { get; set; }
/// <summary> /// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 规模绩效系数 /// 规模绩效系数
/// </summary> /// </summary>
public decimal Scale { get; set; } public decimal Scale { get; set; }
...@@ -153,11 +168,16 @@ public class PerDataAccountBaisc : IPerData ...@@ -153,11 +168,16 @@ public class PerDataAccountBaisc : IPerData
public Nullable<decimal> WorkloadFee { get; set; } public Nullable<decimal> WorkloadFee { get; set; }
/// <summary> /// <summary>
/// 绩效合计 /// 绩效合计 考核前
/// </summary> /// </summary>
public Nullable<decimal> PerforTotal { get; set; } public Nullable<decimal> PerforTotal { get; set; }
/// <summary> /// <summary>
/// 绩效合计 考核后
/// </summary>
public Nullable<decimal> AssessLaterPerforTotal { get; set; }
/// <summary>
/// 人均绩效 /// 人均绩效
/// </summary> /// </summary>
public Nullable<decimal> Avg { get; set; } public Nullable<decimal> Avg { get; set; }
......
...@@ -77,11 +77,21 @@ public class PerDataClinicEmployee : IPerData ...@@ -77,11 +77,21 @@ public class PerDataClinicEmployee : IPerData
//public Nullable<DateTime> WorkTime { get; set; } //public Nullable<DateTime> WorkTime { get; set; }
/// <summary> /// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核得分率 /// 考核得分率
/// </summary> /// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; } public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary> /// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 出勤率 /// 出勤率
/// </summary> /// </summary>
public Nullable<decimal> Attendance { get; set; } public Nullable<decimal> Attendance { get; set; }
...@@ -112,6 +122,11 @@ public class PerDataClinicEmployee : IPerData ...@@ -112,6 +122,11 @@ public class PerDataClinicEmployee : IPerData
public Nullable<decimal> Adjust { get; set; } public Nullable<decimal> Adjust { get; set; }
/// <summary> /// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 行号 /// 行号
/// </summary> /// </summary>
public int RowNumber { get; set; } public int RowNumber { get; set; }
......
...@@ -67,11 +67,21 @@ public class PerDataEmployee : IPerData ...@@ -67,11 +67,21 @@ public class PerDataEmployee : IPerData
public Nullable<decimal> NightWorkPerfor { get; set; } public Nullable<decimal> NightWorkPerfor { get; set; }
/// <summary> /// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核得分率 /// 考核得分率
/// </summary> /// </summary>
public Nullable<decimal> ScoreAverageRate { get; set; } public Nullable<decimal> ScoreAverageRate { get; set; }
/// <summary> /// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 出勤率 /// 出勤率
/// </summary> /// </summary>
public Nullable<decimal> Attendance { get; set; } public Nullable<decimal> Attendance { get; set; }
...@@ -96,6 +106,11 @@ public class PerDataEmployee : IPerData ...@@ -96,6 +106,11 @@ public class PerDataEmployee : IPerData
/// </summary> /// </summary>
public Nullable<decimal> Adjust { get; set; } public Nullable<decimal> Adjust { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
///// <summary> ///// <summary>
///// 发放系数 ///// 发放系数
///// </summary> ///// </summary>
......
...@@ -62,6 +62,11 @@ public class PerDataLogisticsEmployee : IPerData ...@@ -62,6 +62,11 @@ public class PerDataLogisticsEmployee : IPerData
public Nullable<decimal> OthePerfor { get; set; } public Nullable<decimal> OthePerfor { get; set; }
/// <summary> /// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 行号 /// 行号
/// </summary> /// </summary>
public int RowNumber { get; set; } public int RowNumber { get; set; }
......
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class AprAmountAuditRequest
{
/// <summary> 二次绩效Id </summary>
public int Id { get; set; }
/// <summary> 审核结果 1、审核通过 2、驳回 </summary>
public int IsPass { get; set; }
/// <summary> 备注 </summary>
public string Remark { get; set; }
}
public class AprAmountAuditRequestValidator : AbstractValidator<AprAmountAuditRequest>
{
public AprAmountAuditRequestValidator()
{
RuleFor(x => x.Id).NotNull().NotEmpty().GreaterThan(0);
RuleFor(x => x.IsPass).NotNull().NotEmpty().InclusiveBetween(1, 2);
}
}
}
...@@ -182,5 +182,20 @@ public class ResComputeResponse ...@@ -182,5 +182,20 @@ public class ResComputeResponse
/// 医院其他绩效 /// 医院其他绩效
/// </summary> /// </summary>
public Nullable<decimal> OtherPerformance { get; set; } public Nullable<decimal> OtherPerformance { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -141,70 +141,70 @@ public class im_accountbasic ...@@ -141,70 +141,70 @@ public class im_accountbasic
/// </summary> /// </summary>
public Nullable<decimal> MinimumFactor { get; set; } public Nullable<decimal> MinimumFactor { get; set; }
/// <summary> ///// <summary>
/// 护士长人数 ///// 护士长人数
/// </summary> ///// </summary>
public Nullable<decimal> NurseHeadNumber { get; set; } //public Nullable<decimal> NurseHeadNumber { get; set; }
/// <summary> ///// <summary>
/// 护士人数 ///// 护士人数
/// </summary> ///// </summary>
public Nullable<decimal> NurseNumber { get; set; } //public Nullable<decimal> NurseNumber { get; set; }
/// <summary> ///// <summary>
/// 护理基础系数 ///// 护理基础系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseBasicFactor { get; set; } //public Nullable<decimal> NurseBasicFactor { get; set; }
/// <summary> ///// <summary>
/// 倾斜系数 ///// 倾斜系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseSlopeFactor { get; set; } //public Nullable<decimal> NurseSlopeFactor { get; set; }
/// <summary> ///// <summary>
/// 规模绩效系数 ///// 规模绩效系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseScale { get; set; } //public Nullable<decimal> NurseScale { get; set; }
/// <summary> ///// <summary>
/// 效率绩效系数 ///// 效率绩效系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseEffic { get; set; } //public Nullable<decimal> NurseEffic { get; set; }
/// <summary> ///// <summary>
/// 发放系数 ///// 发放系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseGrant { get; set; } //public Nullable<decimal> NurseGrant { get; set; }
/// <summary> ///// <summary>
/// 其他绩效1 ///// 其他绩效1
/// </summary> ///// </summary>
public Nullable<decimal> NurseOtherPerfor1 { get; set; } //public Nullable<decimal> NurseOtherPerfor1 { get; set; }
/// <summary> ///// <summary>
/// 其他绩效2 ///// 其他绩效2
/// </summary> ///// </summary>
public Nullable<decimal> NurseOtherPerfor2 { get; set; } //public Nullable<decimal> NurseOtherPerfor2 { get; set; }
/// <summary> ///// <summary>
/// 医院奖罚 ///// 医院奖罚
/// </summary> ///// </summary>
public Nullable<decimal> NurseExtra { get; set; } //public Nullable<decimal> NurseExtra { get; set; }
/// <summary> ///// <summary>
/// 考核对分率 ///// 考核对分率
/// </summary> ///// </summary>
public Nullable<decimal> NurseScoringAverage { get; set; } //public Nullable<decimal> NurseScoringAverage { get; set; }
/// <summary> ///// <summary>
/// 调节系数 ///// 调节系数
/// </summary> ///// </summary>
public Nullable<decimal> NurseAdjustFactor { get; set; } //public Nullable<decimal> NurseAdjustFactor { get; set; }
/// <summary> ///// <summary>
/// 工作量倾斜系数 ///// 工作量倾斜系数
/// </summary> ///// </summary>
public Nullable<decimal> WorkSlopeFactor { get; set; } //public Nullable<decimal> WorkSlopeFactor { get; set; }
/// <summary> /// <summary>
/// ///
...@@ -215,5 +215,18 @@ public class im_accountbasic ...@@ -215,5 +215,18 @@ public class im_accountbasic
/// ///
/// </summary> /// </summary>
public Nullable<int> UpdateUser { get; set; } public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -145,5 +145,17 @@ public class im_employee ...@@ -145,5 +145,17 @@ public class im_employee
/// ///
/// </summary> /// </summary>
public Nullable<int> UpdateUser { get; set; } public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -155,5 +155,17 @@ public class im_employee_clinic ...@@ -155,5 +155,17 @@ public class im_employee_clinic
/// ///
/// </summary> /// </summary>
public Nullable<int> UpdateUser { get; set; } public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -140,5 +140,18 @@ public class im_employee_logistics ...@@ -140,5 +140,18 @@ public class im_employee_logistics
/// ///
/// </summary> /// </summary>
public Nullable<int> UpdateUser { get; set; } public Nullable<int> UpdateUser { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -57,6 +57,26 @@ public class per_apr_amount ...@@ -57,6 +57,26 @@ public class per_apr_amount
public string AccountingUnit { get; set; } public string AccountingUnit { get; set; }
/// <summary> /// <summary>
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public int Status { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public Nullable<DateTime> AuditTime { get; set; }
/// <summary>
/// 审核人
/// </summary>
public Nullable<int> AuditUser { get; set; }
/// <summary>
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// ///
/// </summary> /// </summary>
public Nullable<DateTime> CreateDate { get; set; } public Nullable<DateTime> CreateDate { get; set; }
......
...@@ -162,6 +162,23 @@ public class res_account ...@@ -162,6 +162,23 @@ public class res_account
public Nullable<decimal> RealGiveFee { get; set; } public Nullable<decimal> RealGiveFee { get; set; }
/// <summary> /// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
/// <summary>
/// 考核后绩效
/// </summary>
public Nullable<decimal> AssessLaterPerforTotal { get; set; }
/// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
public string Remark { get; set; } public string Remark { get; set; }
......
...@@ -210,5 +210,18 @@ public class res_compute ...@@ -210,5 +210,18 @@ public class res_compute
/// 效率绩效人数 /// 效率绩效人数
/// </summary> /// </summary>
public Nullable<decimal> PermanentStaff { get; set; } public Nullable<decimal> PermanentStaff { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -115,5 +115,21 @@ public class res_specialunit ...@@ -115,5 +115,21 @@ public class res_specialunit
/// 业绩总绩效 /// 业绩总绩效
/// </summary> /// </summary>
public Nullable<decimal> ResultsTotalFee { get; set; } public Nullable<decimal> ResultsTotalFee { get; set; }
/// <summary>
/// 考核前绩效
/// </summary>
public Nullable<decimal> PerforTotal { get; set; }
/// <summary>
/// 考核前其他绩效
/// </summary>
public Nullable<decimal> AssessBeforeOtherFee { get; set; }
/// <summary>
/// 考核后其他绩效
/// </summary>
public Nullable<decimal> AssessLaterOtherFee { get; set; }
/// <summary>
/// 调节后其他绩效
/// </summary>
public Nullable<decimal> AdjustLaterOtherFee { get; set; }
} }
} }
...@@ -305,12 +305,16 @@ public void Save(List<PerSheet> perSheets, int allotId) ...@@ -305,12 +305,16 @@ public void Save(List<PerSheet> perSheets, int allotId)
dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor; dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor;
dept.Income = econDoctor?.CellValue ?? 0; dept.Income = econDoctor?.CellValue ?? 0;
dept.WorkloadFee = workDoctor?.CellValue ?? 0; dept.WorkloadFee = workDoctor?.CellValue ?? 0;
dept.AssessBeforeOtherFee = dept.AssessBeforeOtherFee ?? 0;
dept.AssessLaterOtherFee = dept.AssessLaterOtherFee ?? 0;
dept.AdjustLaterOtherFee = dept.AdjustLaterOtherFee ?? 0;
dept.Extra = (extra ?? 0); dept.Extra = (extra ?? 0);
dept.MedicineExtra = (drugExtra ?? 0); dept.MedicineExtra = (drugExtra ?? 0);
dept.MaterialsExtra = (materialsExtra ?? 0); dept.MaterialsExtra = (materialsExtra ?? 0);
dept.PerforFee = dept.Income * dept.BasicFactor; dept.PerforFee = dept.Income * dept.BasicFactor;
dept.PerforTotal = Math.Round((dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1) ?? 0); dept.PerforTotal = Math.Round((dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1 + dept.AssessBeforeOtherFee) ?? 0);
dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.OtherPerfor2 + (extra ?? 0)) * dept.AdjustFactor) ?? 0); dept.AssessLaterPerforTotal = Math.Round((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.Extra + dept.AssessLaterOtherFee) ?? 0);
dept.RealGiveFee = Math.Round((dept.AssessLaterPerforTotal * dept.AdjustFactor + dept.AdjustLaterOtherFee) ?? 0);
dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number); dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
} }
...@@ -368,7 +372,7 @@ public void ComputeOffice(per_allot allot, PerExcel excel, IEnumerable<AccountUn ...@@ -368,7 +372,7 @@ public void ComputeOffice(per_allot allot, PerExcel excel, IEnumerable<AccountUn
dept.MaterialsExtra = 0;//(materialsExtra ?? 0); dept.MaterialsExtra = 0;//(materialsExtra ?? 0);
dept.PerforFee = empolyees.Sum(w => w.PerforTotal ?? 0); dept.PerforFee = empolyees.Sum(w => w.PerforTotal ?? 0);
dept.PerforTotal = Math.Round((dept.PerforFee + (dept?.OtherPerfor1 ?? 0)) ?? 0); dept.PerforTotal = Math.Round((dept.PerforFee + (dept?.OtherPerfor1 ?? 0)) ?? 0);
dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.OtherPerfor2 + (extra ?? 0)) * dept.AdjustFactor) ?? 0); dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + (extra ?? 0)) * dept.AdjustFactor) ?? 0);
//dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number); //dept.Avg = dept.ManagerNumber + dept.Number == 0 ? 0 : dept.PerforTotal / (dept.ManagerNumber + dept.Number);
dept.Avg = dept.Number == 0 ? 0 : dept.PerforTotal / dept.Number; dept.Avg = dept.Number == 0 ? 0 : dept.PerforTotal / dept.Number;
......
...@@ -164,7 +164,6 @@ public class ResultComputeService : IAutoInjection ...@@ -164,7 +164,6 @@ public class ResultComputeService : IAutoInjection
}); });
var groupAdjust = isBudget ? adjust : (dept?.AdjustFactor ?? 0);
foreach (var item in accountDataList) foreach (var item in accountDataList)
{ {
//科室奖罚汇总结果 //科室奖罚汇总结果
...@@ -193,16 +192,20 @@ public class ResultComputeService : IAutoInjection ...@@ -193,16 +192,20 @@ public class ResultComputeService : IAutoInjection
QuantitativeIndicatorsValue = item.QuantitativeIndicatorsValue, QuantitativeIndicatorsValue = item.QuantitativeIndicatorsValue,
QuantitativeFee = item.Quantity * item.QuantitativeIndicatorsValue * headcount, QuantitativeFee = item.Quantity * item.QuantitativeIndicatorsValue * headcount,
//ScoringAverage = scoreAverage.HasValue ? scoreAverage : dept?.ScoringAverage, //ScoringAverage = scoreAverage.HasValue ? scoreAverage : dept?.ScoringAverage,
ScoringAverage = dept?.ScoringAverage, ScoringAverage = dept?.ScoringAverage ?? 0,
OtherPerfor = dept?.OtherPerfor1, OtherPerfor = dept?.OtherPerfor1,
Punishment = (extra ?? 0), Punishment = (extra ?? 0),
MedicineExtra = (drugExtra ?? 0), MedicineExtra = (drugExtra ?? 0),
MaterialsExtra = (materialsExtra ?? 0), MaterialsExtra = (materialsExtra ?? 0),
Adjust = (groupAdjust == 0) ? 1 : groupAdjust, Adjust = isBudget ? adjust : (dept?.AdjustFactor ?? 1),
};
res.GiveFee = Math.Round((sumValue + (extra ?? 0)) ?? 0); AssessBeforeOtherFee = dept.AssessBeforeOtherFee ?? 0,
res.RealGiveFee = Math.Round(res.GiveFee * (res.ScoringAverage ?? 0) * (groupAdjust == 0 ? 1 : groupAdjust) ?? 0); AssessLaterOtherFee = dept.AssessLaterOtherFee ?? 0,
AdjustLaterOtherFee = dept.AdjustLaterOtherFee ?? 0,
};
res.PerforTotal = (sumValue ?? 0) + res.AssessBeforeOtherFee;
res.GiveFee = Math.Round(res.PerforTotal + res.AssessLaterOtherFee ?? 0);
res.RealGiveFee = Math.Round(res.GiveFee * res.ScoringAverage * res.Adjust + res.Punishment + res.AdjustLaterOtherFee ?? 0);
res.Avg = Math.Round((group.Number != 0 ? res.GiveFee / group.Number : null) ?? 0); res.Avg = Math.Round((group.Number != 0 ? res.GiveFee / group.Number : null) ?? 0);
res.ResultsTotalFee = Math.Round(sumValue ?? 0); res.ResultsTotalFee = Math.Round(sumValue ?? 0);
...@@ -233,14 +236,18 @@ public class ResultComputeService : IAutoInjection ...@@ -233,14 +236,18 @@ public class ResultComputeService : IAutoInjection
JobTitle = empolyee.JobTitle, JobTitle = empolyee.JobTitle,
ScoreAverageRate = empolyee.ScoreAverageRate, ScoreAverageRate = empolyee.ScoreAverageRate,
//Punishment = empolyee.Punishment, Punishment = extra ?? 0,
//OtherPerfor = empolyee.OtherPerfor, //OtherPerfor = empolyee.OtherPerfor,
OtherManagePerfor = empolyee.OtherManagePerfor,
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 = empolyeeAdjust, Adjust = empolyeeAdjust ?? 1m,
Grant = isBudget ? grant : empolyee.Management Grant = isBudget ? grant : empolyee.Management,
Attendance = empolyee.Attendance ?? 0,
AssessBeforeOtherFee = empolyee.AssessBeforeOtherFee ?? 0,
AssessLaterOtherFee = empolyee.AssessLaterOtherFee ?? 0,
AdjustLaterOtherFee = empolyee.AdjustLaterOtherFee ?? 0,
}; };
compute.Efficiency = compute.Avg * (empolyee.Efficiency ?? 1); compute.Efficiency = compute.Avg * (empolyee.Efficiency ?? 1);
...@@ -248,13 +255,13 @@ public class ResultComputeService : IAutoInjection ...@@ -248,13 +255,13 @@ public class ResultComputeService : IAutoInjection
//应发管理绩效 //应发管理绩效
compute.ShouldGiveFee = Math.Round((compute.Efficiency + compute.Scale) * compute.Grant ?? 0); compute.ShouldGiveFee = Math.Round((compute.Efficiency + compute.Scale) * compute.Grant ?? 0);
//绩效合计 //绩效合计
compute.PerforSumFee = Math.Round(compute.Avg + compute.ShouldGiveFee ?? 0); compute.PerforSumFee = Math.Round(compute.Avg + compute.ShouldGiveFee + compute.AssessBeforeOtherFee ?? 0);
//应发绩效 //应发绩效
//compute.GiveFee = compute.PerforSumFee; //compute.GiveFee = compute.PerforSumFee;
compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (extra ?? 0) ?? 0); compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * compute.Attendance + compute.Punishment + compute.AssessLaterOtherFee ?? 0);
//实发绩效 //实发绩效
//compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m); //compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
compute.RealGiveFee = Math.Round(compute.GiveFee * (compute.Adjust ?? 1m) ?? 0); compute.RealGiveFee = Math.Round(compute.GiveFee * compute.Adjust + compute.AdjustLaterOtherFee ?? 0);
// 参考基数专用绩效合计 // 参考基数专用绩效合计
compute.BaiscNormPerforTotal = compute.PerforSumFee; compute.BaiscNormPerforTotal = compute.PerforSumFee;
......
...@@ -710,7 +710,8 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId) ...@@ -710,7 +710,8 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
string single = ""; string single = "";
var sheetType = new List<int> { var sheetType = new List<int> {
(int)SheetType.Income, (int)SheetType.OtherIncome, (int)SheetType.Expend, (int)SheetType.Workload, (int)SheetType.AccountExtra, (int)SheetType.Income, (int)SheetType.OtherIncome, (int)SheetType.Expend, (int)SheetType.Workload, (int)SheetType.AccountExtra,
(int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess, (int)SheetType.AccountScoreAverage (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess, (int)SheetType.AccountScoreAverage,
(int)SheetType.AccountAdjustLaterOtherFee
}; };
foreach (var stype in sheetType) foreach (var stype in sheetType)
{ {
...@@ -764,6 +765,11 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId) ...@@ -764,6 +765,11 @@ public DeptDataDetails<DetailModuleExtend> DeptDetail(int accountId)
//amount = Math.Round(doctor?.ScoringAverage ?? 0, 4); //amount = Math.Round(doctor?.ScoringAverage ?? 0, 4);
amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 4); amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 4);
} }
else if (sheet.SheetType == (int)SheetType.AccountAdjustLaterOtherFee)
{
sheettype = 9;
amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 0);
}
var item = new DetailDtos var item = new DetailDtos
{ {
...@@ -965,7 +971,8 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second) ...@@ -965,7 +971,8 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second)
var sheetType = new List<int> var sheetType = new List<int>
{ {
(int)SheetType.AccountExtra, (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess,(int)SheetType.AccountScoreAverage (int)SheetType.AccountExtra, (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess,
(int)SheetType.AccountScoreAverage, (int)SheetType.AccountAdjustLaterOtherFee
}; };
Regex reg = new Regex("[0-9]*"); Regex reg = new Regex("[0-9]*");
int groupBasis = 0; int groupBasis = 0;
...@@ -1003,6 +1010,11 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second) ...@@ -1003,6 +1010,11 @@ public DeptDataDetails SpecialDeptDetail(ag_secondallot second)
//amount = Math.Round(special.FirstOrDefault()?.ScoringAverage ?? 0, 4); //amount = Math.Round(special.FirstOrDefault()?.ScoringAverage ?? 0, 4);
amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)UnitType.特殊核算组 && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 4); amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)UnitType.特殊核算组 && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 4);
} }
else if (sheet.SheetType == (int)SheetType.AccountAdjustLaterOtherFee)
{
sheettype = 9;
amount = Math.Round(basicData.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)UnitType.特殊核算组 && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0, 0);
}
var item = new DetailDtos var item = new DetailDtos
{ {
......
...@@ -425,6 +425,25 @@ public bool DeleteApr(int id) ...@@ -425,6 +425,25 @@ public bool DeleteApr(int id)
return true; return true;
} }
/// <summary>
/// 审核医院其他绩效
/// </summary>
/// <param name="userid"></param>
/// <param name="request"></param>
/// <returns></returns>
public bool ConfirmAudit(int userid, AprAmountAuditRequest request)
{
var apramount = perapramountRepository.GetEntity(t => t.Id == request.Id);
if (apramount.Status != 2)
throw new PerformanceException("该绩效未提交至审核,请确认");
apramount.Status = (request.IsPass == 1) ? 3 : 4;
apramount.AuditUser = userid;
apramount.AuditTime = DateTime.Now;
apramount.Remark = request.Remark;
return perapramountRepository.Update(apramount);
}
public void ImpoerAprEmployees(int allotid, string path, int userid) public void ImpoerAprEmployees(int allotid, string path, int userid)
{ {
var data = perapramountRepository.GetEntities(t => t.AllotId == allotid); var data = perapramountRepository.GetEntities(t => t.AllotId == allotid);
......
...@@ -183,7 +183,7 @@ private bool EditAccountBasic(int userId, OriginalRequest request) ...@@ -183,7 +183,7 @@ private bool EditAccountBasic(int userId, OriginalRequest request)
{ "核算单元人员数量", nameof(im_accountbasic.DoctorNumber) }, { "核算单元人员数量", nameof(im_accountbasic.DoctorNumber) },
{ "预算比例", nameof(im_accountbasic.DoctorBasicFactor) }, { "预算比例", nameof(im_accountbasic.DoctorBasicFactor) },
//{ "倾斜系数", nameof(im_accountbasic.DoctorSlopeFactor) }, //{ "倾斜系数", nameof(im_accountbasic.DoctorSlopeFactor) },
{ "工作量倾斜系数", nameof(im_accountbasic.WorkSlopeFactor) }, //{ "工作量倾斜系数", nameof(im_accountbasic.WorkSlopeFactor) },
{ "保底绩效参考标准", nameof(im_accountbasic.MinimumReference) }, { "保底绩效参考标准", nameof(im_accountbasic.MinimumReference) },
{ "保底绩效系数", nameof(im_accountbasic.MinimumFactor) }, { "保底绩效系数", nameof(im_accountbasic.MinimumFactor) },
{ "其他绩效1", nameof(im_accountbasic.DoctorOtherPerfor1) }, { "其他绩效1", nameof(im_accountbasic.DoctorOtherPerfor1) },
......
...@@ -379,21 +379,24 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS ...@@ -379,21 +379,24 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
JobTitle = empolyee.JobTitle, JobTitle = empolyee.JobTitle,
JobNumber = empolyee.JobNumber, JobNumber = empolyee.JobNumber,
ScoreAverageRate = empolyee.ScoreAverageRate, AssessBeforeOtherFee = empolyee.AssessBeforeOtherFee ?? 0,
OtherPerfor = empolyee.OtherPerfor, ScoreAverageRate = empolyee.ScoreAverageRate ?? 0,
AssessLaterOtherFee = empolyee.AssessLaterOtherFee ?? 0,
AdjustLaterOtherFee = empolyee.AdjustLaterOtherFee ?? 0,
OtherPerfor = empolyee.OtherPerfor ?? 0,
OtherManagePerfor = empolyee.OtherManagePerfor ?? 0, OtherManagePerfor = empolyee.OtherManagePerfor ?? 0,
Number = resAccount.ManagerNumber + resAccount.Number, Number = resAccount.ManagerNumber + resAccount.Number,
PerforTotal = resAccount.PerforTotal, PerforTotal = resAccount.PerforTotal,
Avg = avg, Avg = avg,
Efficiency = effAvg * (empolyee.Efficiency ?? 0), Efficiency = effAvg * (empolyee.Efficiency ?? 0),
Scale = resAccount.PerforTotal * (empolyee.Scale ?? 0), Scale = resAccount.PerforTotal * (empolyee.Scale ?? 0),
Adjust = isBudget ? adjust : empolyee.Adjust, Adjust = (isBudget ? adjust : empolyee.Adjust) ?? 1m,
Remark = empolyees.Count() > 1 ? "特殊科室主任,共用核算单元" : "", Remark = empolyees.Count() > 1 ? "特殊科室主任,共用核算单元" : "",
Grant = isBudget ? grant : empolyee.Management, Grant = (isBudget ? grant : empolyee.Management) ?? 0,
ManagerNumber = resAccount.ManagerNumber, ManagerNumber = resAccount.ManagerNumber,
MedicalNumber = resAccount.Number, MedicalNumber = resAccount.Number,
PermanentStaff = empolyee.PermanentStaff, PermanentStaff = empolyee.PermanentStaff,
Attendance = empolyee.Attendance Attendance = empolyee.Attendance ?? 0,
}; };
var extra = employeeExtra?.Where(w => !string.IsNullOrEmpty(w.AccountingUnit) && !string.IsNullOrEmpty(w.UnitType) var extra = employeeExtra?.Where(w => !string.IsNullOrEmpty(w.AccountingUnit) && !string.IsNullOrEmpty(w.UnitType)
...@@ -403,15 +406,15 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS ...@@ -403,15 +406,15 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
compute.Punishment = extra ?? 0; compute.Punishment = extra ?? 0;
//应发管理绩效 //应发管理绩效
compute.ShouldGiveFee = Math.Round((compute.Efficiency + compute.Scale + compute.OtherManagePerfor) * (compute.Grant ?? 0) ?? 0); compute.ShouldGiveFee = Math.Round((compute.Efficiency + compute.Scale + compute.OtherManagePerfor) * compute.Grant ?? 0);
//绩效合计 //绩效合计
compute.PerforSumFee = Math.Round((compute.Avg * (empolyee.Basics ?? 0)) + compute.ShouldGiveFee ?? 0); compute.PerforSumFee = Math.Round((compute.Avg * (empolyee.Basics ?? 0)) + compute.ShouldGiveFee + compute.AssessBeforeOtherFee ?? 0);
//应发绩效 //应发绩效
//compute.GiveFee = compute.PerforSumFee; //compute.GiveFee = compute.PerforSumFee;
compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (extra ?? 0) ?? 0) + (compute.OtherPerfor ?? 0); compute.GiveFee = Math.Round(compute.PerforSumFee * compute.ScoreAverageRate * compute.Attendance + compute.Punishment + compute.OtherPerfor + compute.AssessLaterOtherFee ?? 0);
//实发绩效 //实发绩效
//compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m); //compute.RealGiveFee = (compute.GiveFee * compute.ScoreAverageRate * (compute.Attendance ?? 0) + (compute.Punishment ?? 0) + (compute.OtherPerfor ?? 0)) * (compute.Adjust ?? 1m);
compute.RealGiveFee = Math.Round(compute.GiveFee * (compute.Adjust ?? 1m) ?? 0); compute.RealGiveFee = Math.Round(compute.GiveFee * compute.Adjust + compute.AdjustLaterOtherFee ?? 0);
// 参考基数专用绩效合计 // 参考基数专用绩效合计
compute.BaiscNormPerforTotal = compute.PerforSumFee; compute.BaiscNormPerforTotal = compute.PerforSumFee;
...@@ -455,7 +458,6 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot ...@@ -455,7 +458,6 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
.FirstOrDefault(w => w.AccountingUnit == item.AccountingUnit && w.UnitType == item.UnitType && w.JobNumber == item.JobNumber && w.EmployeeName == item.DoctorName) .FirstOrDefault(w => w.AccountingUnit == item.AccountingUnit && w.UnitType == item.UnitType && w.JobNumber == item.JobNumber && w.EmployeeName == item.DoctorName)
?.TotelValue; ?.TotelValue;
var itemAdjust = isBudget ? adjust : item.Adjust;
var compute = new ComputeResult var compute = new ComputeResult
{ {
AccountType = item.AccountType, AccountType = item.AccountType,
...@@ -470,12 +472,15 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot ...@@ -470,12 +472,15 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
Attendance = item.Attendance, Attendance = item.Attendance,
ScoreAverageRate = item.ScoreAverageRate, ScoreAverageRate = item.ScoreAverageRate,
Punishment = extra ?? 0, Punishment = extra ?? 0,
OtherPerfor = item.OtherPerfor, OtherPerfor = item.OtherPerfor ?? 0,
JobTitle = item.JobTitle, JobTitle = item.JobTitle,
JobNumber = item.JobNumber, JobNumber = item.JobNumber,
Adjust = itemAdjust, Adjust = (isBudget ? adjust : item.Adjust) ?? 1m,
//Workload = item.Workload //Workload = item.Workload
AssessBeforeOtherFee = item.AssessBeforeOtherFee ?? 0,
AssessLaterOtherFee = item.AssessLaterOtherFee ?? 0,
AdjustLaterOtherFee = item.AdjustLaterOtherFee ?? 0,
}; };
decimal? baiscnorm = compute?.FitPeopleValue ?? 0; decimal? baiscnorm = compute?.FitPeopleValue ?? 0;
...@@ -497,17 +502,22 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot ...@@ -497,17 +502,22 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
compute.BaiscNormValue = baiscnorm * (item.FitPeopleRatio ?? 0); compute.BaiscNormValue = baiscnorm * (item.FitPeopleRatio ?? 0);
//绩效合计 //绩效合计
compute.PerforTotal = compute.BaiscNormValue * compute.PostCoefficient * compute.Attendance; compute.PerforTotal = compute.BaiscNormValue * compute.PostCoefficient * compute.Attendance;
// 行政高层 行政中层 考核前其他绩效
if (AccountUnitType.行政高层.ToString() == involve || AccountUnitType.行政中层.ToString() == involve)
compute.PerforTotal = compute.PerforTotal + compute.AssessBeforeOtherFee;
//应发绩效 //应发绩效
compute.GiveFee = compute.BaiscNormValue * compute.PostCoefficient * compute.Attendance + compute.Punishment; compute.GiveFee = compute.BaiscNormValue * compute.PostCoefficient * compute.Attendance + compute.Punishment;
// 行政中高层 不需要其他绩效 行政工勤 不需要考核得分率 区分开计算 // 行政中高层 不需要其他绩效 行政工勤 不需要考核得分率 区分开计算
if (AccountUnitType.行政工勤.ToString() == involve) if (AccountUnitType.行政工勤.ToString() == involve)
compute.GiveFee = Math.Round(compute.GiveFee + (compute.OtherPerfor ?? 0) ?? 0); compute.GiveFee = Math.Round(compute.GiveFee + compute.OtherPerfor ?? 0);
else else
compute.GiveFee = Math.Round((compute.GiveFee * compute.ScoreAverageRate) ?? 0); compute.GiveFee = Math.Round((compute.GiveFee * compute.ScoreAverageRate + compute.AssessLaterOtherFee) ?? 0);
//实发绩效 //实发绩效
compute.RealGiveFee = Math.Round((compute.GiveFee * (itemAdjust ?? 1)) ?? 0); compute.RealGiveFee = Math.Round((compute.GiveFee * compute.Adjust + compute.AdjustLaterOtherFee) ?? 0);
computeList.Add(compute); computeList.Add(compute);
} }
} }
......
...@@ -20,9 +20,12 @@ public class ExcelReadConfig ...@@ -20,9 +20,12 @@ public class ExcelReadConfig
new ColumnInfo(nameof(PerDataEmployee.AccountType), "人员分类"), new ColumnInfo(nameof(PerDataEmployee.AccountType), "人员分类"),
new ColumnInfo(nameof(PerDataEmployee.PostCoefficient), "岗位系数", true), new ColumnInfo(nameof(PerDataEmployee.PostCoefficient), "岗位系数", true),
new ColumnInfo(nameof(PerDataEmployee.NightWorkPerfor), "夜班费"), new ColumnInfo(nameof(PerDataEmployee.NightWorkPerfor), "夜班费"),
new ColumnInfo(nameof(PerDataEmployee.AssessBeforeOtherFee), "考核前其他绩效", true),
new ColumnInfo(nameof(PerDataEmployee.ScoreAverageRate), "考核得分率", true), new ColumnInfo(nameof(PerDataEmployee.ScoreAverageRate), "考核得分率", true),
new ColumnInfo(nameof(PerDataEmployee.AssessLaterOtherFee), "考核后其他绩效", true),
new ColumnInfo(nameof(PerDataEmployee.Attendance), "出勤率", true), new ColumnInfo(nameof(PerDataEmployee.Attendance), "出勤率", true),
new ColumnInfo(nameof(PerDataEmployee.Adjust), "调节系数", true), new ColumnInfo(nameof(PerDataEmployee.Adjust), "调节系数", true),
new ColumnInfo(nameof(PerDataEmployee.AdjustLaterOtherFee), "调节后其他绩效", true),
}; };
...@@ -40,12 +43,15 @@ public class ExcelReadConfig ...@@ -40,12 +43,15 @@ public class ExcelReadConfig
new ColumnInfo(nameof(PerDataClinicEmployee.Efficiency), "效率绩效系数", true), new ColumnInfo(nameof(PerDataClinicEmployee.Efficiency), "效率绩效系数", true),
new ColumnInfo(nameof(PerDataClinicEmployee.Scale), "规模绩效系数", true), new ColumnInfo(nameof(PerDataClinicEmployee.Scale), "规模绩效系数", true),
new ColumnInfo(nameof(PerDataClinicEmployee.Management), "管理绩效发放系数", true), new ColumnInfo(nameof(PerDataClinicEmployee.Management), "管理绩效发放系数", true),
new ColumnInfo(nameof(PerDataClinicEmployee.AssessBeforeOtherFee), "考核前其他绩效", true),
new ColumnInfo(nameof(PerDataClinicEmployee.ScoreAverageRate), "考核得分率", true), new ColumnInfo(nameof(PerDataClinicEmployee.ScoreAverageRate), "考核得分率", true),
new ColumnInfo(nameof(PerDataClinicEmployee.AssessLaterOtherFee), "考核后其他绩效", true),
new ColumnInfo(nameof(PerDataClinicEmployee.Attendance), "出勤率", true), new ColumnInfo(nameof(PerDataClinicEmployee.Attendance), "出勤率", true),
new ColumnInfo(nameof(PerDataClinicEmployee.OtherManagePerfor), "其他管理绩效"), new ColumnInfo(nameof(PerDataClinicEmployee.OtherManagePerfor), "其他管理绩效"),
new ColumnInfo(nameof(PerDataClinicEmployee.OthePerfor), "其他绩效"), new ColumnInfo(nameof(PerDataClinicEmployee.OthePerfor), "其他绩效"),
//new ColumnInfo(nameof(PerDataClinicEmployee.NightWorkPerfor), "夜班费"), //new ColumnInfo(nameof(PerDataClinicEmployee.NightWorkPerfor), "夜班费"),
new ColumnInfo(nameof(PerDataClinicEmployee.Adjust), "调节系数", true), new ColumnInfo(nameof(PerDataClinicEmployee.Adjust), "调节系数", true),
new ColumnInfo(nameof(PerDataClinicEmployee.AdjustLaterOtherFee), "调节后其他绩效", true),
}; };
...@@ -62,6 +68,7 @@ public class ExcelReadConfig ...@@ -62,6 +68,7 @@ public class ExcelReadConfig
new ColumnInfo(nameof(PerDataLogisticsEmployee.PostCoefficient), "岗位系数", true), new ColumnInfo(nameof(PerDataLogisticsEmployee.PostCoefficient), "岗位系数", true),
new ColumnInfo(nameof(PerDataLogisticsEmployee.Attendance), "出勤率", true), new ColumnInfo(nameof(PerDataLogisticsEmployee.Attendance), "出勤率", true),
new ColumnInfo(nameof(PerDataLogisticsEmployee.OthePerfor), "其他绩效", true), new ColumnInfo(nameof(PerDataLogisticsEmployee.OthePerfor), "其他绩效", true),
new ColumnInfo(nameof(PerDataLogisticsEmployee.AdjustLaterOtherFee), "调节后其他绩效", true),
}; };
public static ColumnInfo[] AccountBaisc { get; set; } = new ColumnInfo[] public static ColumnInfo[] AccountBaisc { get; set; } = new ColumnInfo[]
...@@ -72,8 +79,11 @@ public class ExcelReadConfig ...@@ -72,8 +79,11 @@ public class ExcelReadConfig
new ColumnInfo(nameof(PerDataAccountBaisc.Number), "核算单元人员数量", true), new ColumnInfo(nameof(PerDataAccountBaisc.Number), "核算单元人员数量", true),
new ColumnInfo(nameof(PerDataAccountBaisc.BasicFactor), "预算比例", true), new ColumnInfo(nameof(PerDataAccountBaisc.BasicFactor), "预算比例", true),
new ColumnInfo(nameof(PerDataAccountBaisc.OtherPerfor1), "其他绩效1", true), new ColumnInfo(nameof(PerDataAccountBaisc.OtherPerfor1), "其他绩效1", true),
new ColumnInfo(nameof(PerDataAccountBaisc.AssessBeforeOtherFee), "考核前其他绩效", true),
new ColumnInfo(nameof(PerDataAccountBaisc.ScoringAverage), "考核得分率", true), new ColumnInfo(nameof(PerDataAccountBaisc.ScoringAverage), "考核得分率", true),
new ColumnInfo(nameof(PerDataAccountBaisc.AssessLaterOtherFee), "考核后其他绩效", true),
new ColumnInfo(nameof(PerDataAccountBaisc.AdjustFactor), "调节系数", true), new ColumnInfo(nameof(PerDataAccountBaisc.AdjustFactor), "调节系数", true),
new ColumnInfo(nameof(PerDataAccountBaisc.AdjustLaterOtherFee), "调节后其他绩效", true),
}; };
} }
......
...@@ -75,6 +75,13 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType, bool isnew = fa ...@@ -75,6 +75,13 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType, bool isnew = fa
case SheetType.AccountScoreAverage: case SheetType.AccountScoreAverage:
dataread = new PerSheetDataReadAccountExtra(); dataread = new PerSheetDataReadAccountExtra();
break; break;
case SheetType.AccountAdjustLaterOtherFee:
//dataread = new PerSheetDataReadPersonExtra(); // 科室调节后其他绩效
dataread = new PerSheetDataReadAccountExtra();
break;
case SheetType.PersonAdjustLaterOtherFee:
dataread = new PerSheetDataReadPersonExtra(); // 业务中层行政中高层调节后其他绩效
break;
} }
return dataread; return dataread;
} }
......
...@@ -106,6 +106,10 @@ public SheetType GetSheetType(string sheetName) ...@@ -106,6 +106,10 @@ public SheetType GetSheetType(string sheetName)
return SheetType.AccountMaterialsAssess; return SheetType.AccountMaterialsAssess;
else if (sheetName.StartsWith("6.1")) else if (sheetName.StartsWith("6.1"))
return SheetType.AccountScoreAverage; return SheetType.AccountScoreAverage;
else if (sheetName.StartsWith("6.2"))
return SheetType.AccountAdjustLaterOtherFee;
else if (sheetName.StartsWith("6.3"))
return SheetType.PersonAdjustLaterOtherFee;
return SheetType.Unidentifiable; return SheetType.Unidentifiable;
} }
} }
......
...@@ -143,6 +143,11 @@ public List<SecondListResponse> GetSecondList(int userId) ...@@ -143,6 +143,11 @@ public List<SecondListResponse> GetSecondList(int userId)
account = accountList?.FirstOrDefault(t => t.AllotID == item && t.UnitType == (int)UnitType.行政后勤); account = accountList?.FirstOrDefault(t => t.AllotID == item && t.UnitType == (int)UnitType.行政后勤);
if (account == null && special == null) continue; if (account == null && special == null) continue;
// 医生组护理组特殊核算组
var realGiveFee = role.Type == application.SpecialRole ? special.RealGiveFee : account.RealGiveFee;
// 行政后勤则取考核前绩效
if (role.Type == application.OfficeRole)
realGiveFee = account.PerforTotal;
var second = new ag_secondallot var second = new ag_secondallot
{ {
...@@ -151,11 +156,51 @@ public List<SecondListResponse> GetSecondList(int userId) ...@@ -151,11 +156,51 @@ public List<SecondListResponse> GetSecondList(int userId)
Month = allot.Month, Month = allot.Month,
Department = user.Department, Department = user.Department,
UnitType = role.Type == application.SpecialRole ? UnitType.特殊核算组.ToString() : ((UnitType)account.UnitType).ToString(), UnitType = role.Type == application.SpecialRole ? UnitType.特殊核算组.ToString() : ((UnitType)account.UnitType).ToString(),
RealGiveFee = role.Type == application.SpecialRole ? special.RealGiveFee : account.RealGiveFee, RealGiveFee = realGiveFee,
Status = 1 Status = 1
}; };
newSecond.Add(second); newSecond.Add(second);
} }
if (secondList != null && secondList.Any())
{
var fixatitems = new List<ag_fixatitem>();
foreach (var item in secondList.Select(t => t.AllotId.Value))
{
var allot = allotList.FirstOrDefault(t => t.ID == item);
if (allot == null) continue;
res_account account = null;
res_specialunit special = null;
if (role.Type == application.DirectorRole)
account = accountList?.FirstOrDefault(t => t.AllotID == item && (t.UnitType == (int)UnitType.医生组 || t.UnitType == (int)UnitType.医技组));
else if (role.Type == application.NurseRole)
account = accountList?.FirstOrDefault(t => t.AllotID == item && t.UnitType == (int)UnitType.护理组);
else if (role.Type == application.SpecialRole)
special = specialList?.FirstOrDefault(t => t.AllotID == item);
else if (role.Type == application.OfficeRole)
account = accountList?.FirstOrDefault(t => t.AllotID == item && t.UnitType == (int)UnitType.行政后勤);
if (account == null && special == null) continue;
// 医生组护理组特殊核算组
var realGiveFee = role.Type == application.SpecialRole ? special.RealGiveFee : account.RealGiveFee;
// 行政后勤则取考核前绩效
if (role.Type == application.OfficeRole)
realGiveFee = account.PerforTotal;
var second = secondList.FirstOrDefault(t => t.AllotId == item);
second.RealGiveFee = realGiveFee;
var fixatitem = perforAgfixatitemRepository.GetEntity(t => t.SecondId == second.Id && t.AllotId == second.AllotId && t.RowNumber == -1 && t.ItemName == "可分配绩效");
if (fixatitem != null)
{
fixatitem.ItemValue = realGiveFee.ToString();
fixatitems.Add(fixatitem);
}
}
perforAgsecondallotRepository.UpdateRange(secondList.ToArray());
perforAgfixatitemRepository.UpdateRange(fixatitems.ToArray());
}
#endregion #endregion
if (newSecond.Count > 0) if (newSecond.Count > 0)
...@@ -577,7 +622,7 @@ private void FillData(ag_secondallot second, List<BodyItem> bodyItems) ...@@ -577,7 +622,7 @@ private void FillData(ag_secondallot second, List<BodyItem> bodyItems)
foreach (var item in keyValue) foreach (var item in keyValue)
{ {
var header = bodyItems.FirstOrDefault(t => t.FiledName == item.Key); var header = bodyItems.FirstOrDefault(t => t.FiledName == item.Key);
if (header != null && (string.IsNullOrEmpty(header.Value) || header.Value == "0")) if (header != null && (string.IsNullOrEmpty(header.Value) /*|| header.Value == "0"*/))
bodyItems.FirstOrDefault(t => t.FiledName == item.Key).Value = item.Value; bodyItems.FirstOrDefault(t => t.FiledName == item.Key).Value = item.Value;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment