Commit e7edd7f2 by 钟博

修改行政中层管理绩效显示详情

parent c37dbf8f
...@@ -1109,6 +1109,46 @@ ...@@ -1109,6 +1109,46 @@
夜班绩效 夜班绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.JobTitle">
<summary>
职称
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.AccountType">
<summary>
核算单元类型
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.JobNumber">
<summary>
工号
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.FitPeople">
<summary>
绩效基数核算参考对象
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.FitPeopleValue">
<summary>
绩效基础核算参考值
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.FitPeopleRatio">
<summary>
绩效基础核算系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.PostCoefficient">
<summary>
岗位系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType">
<summary> <summary>
核算单元分类 核算单元分类
......
...@@ -91,12 +91,12 @@ public class PerDataAccountBaisc : IPerData ...@@ -91,12 +91,12 @@ public class PerDataAccountBaisc : IPerData
/// <summary> /// <summary>
/// 医院奖罚 /// 医院奖罚
/// </summary> /// </summary>
public decimal Extra { get; set; } public Nullable<decimal> Extra { get; set; }
/// <summary> /// <summary>
/// 考核对分率 /// 考核对分率
/// </summary> /// </summary>
public decimal ScoringAverage { get; set; } public Nullable<decimal> ScoringAverage { get; set; }
/// <summary> /// <summary>
/// 考核后管理绩效 /// 考核后管理绩效
...@@ -116,7 +116,7 @@ public class PerDataAccountBaisc : IPerData ...@@ -116,7 +116,7 @@ public class PerDataAccountBaisc : IPerData
/// <summary> /// <summary>
/// 调节系数 /// 调节系数
/// </summary> /// </summary>
public decimal AdjustFactor { get; set; } public Nullable<decimal> AdjustFactor { get; set; }
/// <summary> /// <summary>
/// 调节后其他绩效 /// 调节后其他绩效
...@@ -243,5 +243,46 @@ public class PerDataAccountBaisc : IPerData ...@@ -243,5 +243,46 @@ public class PerDataAccountBaisc : IPerData
public Nullable<decimal> NightShiftWorkPerforFee { get; set; } public Nullable<decimal> NightShiftWorkPerforFee { get; set; }
#endregion 由计算得出 #endregion 由计算得出
/// <summary>
/// 职称
/// </summary>
public string JobTitle { get; set; }
/// <summary>
/// 核算单元类型
/// </summary>
public string AccountType { get; set; }
/// <summary>
/// 工号
/// </summary>
public string JobNumber { get; set; }
/// <summary>
/// 绩效基数核算参考对象
/// </summary>
public string FitPeople { get; set; }
/// <summary>
/// 绩效基础核算参考值
/// </summary>
public Nullable<decimal> FitPeopleValue { get; set; }
/// <summary>
/// 绩效基础核算系数
/// </summary>
public Nullable<decimal> FitPeopleRatio { get; set; }
/// <summary>
/// 基础绩效系数
/// </summary>
public Nullable<decimal> Basics { get; set; }
/// <summary>
/// 岗位系数
/// </summary>
public Nullable<decimal> PostCoefficient { get; set; }
} }
} }
...@@ -1597,9 +1597,9 @@ public DeptDataDetails GetDoctorDetail(int computeId) ...@@ -1597,9 +1597,9 @@ public DeptDataDetails GetDoctorDetail(int computeId)
BasicFactor = employee?.Basics ?? 0, //基础绩效系数 BasicFactor = employee?.Basics ?? 0, //基础绩效系数
Effic = employee?.Efficiency ?? 0, //效率绩效系数 Effic = employee?.Efficiency ?? 0, //效率绩效系数
Scale = employee?.Scale ?? 0, //规模绩效系数 Scale = employee?.Scale ?? 0, //规模绩效系数
Management = employee?.Management??0,//管理绩效发放系数 Management = employee?.Management ?? 0,//管理绩效发放系数
AdjustFactor = employee?.Adjust ?? 1, //调节系数 AdjustFactor = employee?.Adjust ?? 1, //调节系数
AdjustLaterOtherFee = employee?.AdjustLaterOtherFee??0, //调节后其他绩效 AdjustLaterOtherFee = employee?.AdjustLaterOtherFee ?? 0, //调节后其他绩效
AccountingUnit = resCompute.AccountingUnit, AccountingUnit = resCompute.AccountingUnit,
EmployeeName = resCompute.EmployeeName, EmployeeName = resCompute.EmployeeName,
...@@ -1656,6 +1656,47 @@ public DeptDataDetails GetDoctorDetail(int computeId) ...@@ -1656,6 +1656,47 @@ public DeptDataDetails GetDoctorDetail(int computeId)
return doctorDetails; return doctorDetails;
} }
public DeptDataDetails GetAdministration(int computeId)
{
var resCompute = _perforRescomputeRepository.GetEntity(t => t.ID == computeId);
if (resCompute == null) return new DeptDataDetails();
var employee = _perforImemployeeRepository.GetEntity(t => t.AllotID == resCompute.AllotID && t.AccountingUnit == resCompute.AccountingUnit && t.PersonnelNumber == resCompute.JobNumber);
DeptDataDetails doctorDetails = new DeptDataDetails
{
ShowFormula = 0,
Pandect = new PerDataAccountBaisc
{
EmployeeName = employee.DoctorName,
JobNumber = employee.PersonnelNumber,
AccountingUnit = employee.AccountingUnit,
AccountType = employee.AccountType,
JobTitle = employee.JobTitle,
FitPeople = employee.FitPeople,
FitPeopleValue = employee.FitPeopleValue ?? 0,
FitPeopleRatio = employee.FitPeopleRatio,
PostCoefficient = employee.PostCoefficient,
Attendance = employee.Attendance,
ScoringAverage = employee?.ScoreAverageRate,
Extra = employee.Punishment,
NightShiftWorkPerforFee = employee.NightWorkPerfor,
AdjustFactor = employee.Adjust,
AdjustLaterOtherFee = employee?.AdjustLaterOtherFee ?? 0,
PerforTotal = Math.Round(employee.FitPeopleValue ?? 0 * employee.PostCoefficient ?? 0 * employee.Attendance + employee.AssessBeforeOtherFee ?? 0),
},
Detail = new List<DetailDtos>()
};
var pandect = doctorDetails.Pandect;
doctorDetails.Pandect.AssessLaterPerforTotal = Math.Round(pandect.PerforTotal * pandect.ScoringAverage + pandect.Extra ?? 0);
doctorDetails.Pandect.RealGiveFee = Math.Round((pandect.AssessLaterPerforTotal * pandect.AdjustFactor + pandect.AdjustLaterOtherFee) ?? 0);
return doctorDetails;
}
public res_baiscnorm EditHospitalAvg(ComputerAvgRequest request) public res_baiscnorm EditHospitalAvg(ComputerAvgRequest request)
{ {
if (request.Id == 0) if (request.Id == 0)
......
...@@ -2194,7 +2194,10 @@ public List<DeptDataDetails> DeptComputeDetailList(int userId, int allotId, out ...@@ -2194,7 +2194,10 @@ public List<DeptDataDetails> DeptComputeDetailList(int userId, int allotId, out
if (computes == null || !computes.Any()) return new List<DeptDataDetails>(); if (computes == null || !computes.Any()) return new List<DeptDataDetails>();
foreach (var item in computes) foreach (var item in computes)
{ {
deptDatas.Add(computeService.GetDoctorDetail(item.ID)); if (item.AccountType==AccountUnitType.行政中层.ToString())
deptDatas.Add(computeService.GetAdministration(item.ID));
else
deptDatas.Add(computeService.GetDoctorDetail(item.ID));
} }
return deptDatas; return deptDatas;
} }
......
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