Commit 81ded827 by lcx

医院显示管理绩效/合计绩效,绩效基数人均绩效不保留小数位

parent 94a5b145
...@@ -164,7 +164,8 @@ public ApiResponse AllCompute([FromBody]ComputerRequest request) ...@@ -164,7 +164,8 @@ public ApiResponse AllCompute([FromBody]ComputerRequest request)
var allot = _allotService.GetAllot(request.AllotId); var allot = _allotService.GetAllot(request.AllotId);
if (null == allot) if (null == allot)
throw new PerformanceException("当前绩效记录不存在"); throw new PerformanceException("当前绩效记录不存在");
var list = _computeService.AllCompute(request.AllotId); var isShowManage = _computeService.IsShowManage(request.AllotId);
var list = isShowManage == 1 ? _computeService.AllCompute(request.AllotId) : _computeService.AllManageCompute(request.AllotId);
return new ApiResponse(ResponseType.OK, "ok", list); return new ApiResponse(ResponseType.OK, "ok", list);
} }
......
...@@ -51,6 +51,10 @@ public class HospitalRequest ...@@ -51,6 +51,10 @@ public class HospitalRequest
///// 是否开启规模/效率绩效 1 启用 2 禁用 ///// 是否开启规模/效率绩效 1 启用 2 禁用
///// </summary> ///// </summary>
//public Nullable<int> IsOpenDirector { get; set; } //public Nullable<int> IsOpenDirector { get; set; }
/// <summary>
/// 是否显示绩效合计 1 显示绩效合计 2 显示管理绩效
/// </summary>
public Nullable<int> IsShowManage { get; set; }
} }
public class HospitalRequestValidator : AbstractValidator<HospitalRequest> public class HospitalRequestValidator : AbstractValidator<HospitalRequest>
......
...@@ -18,5 +18,6 @@ public class HospitalResponse ...@@ -18,5 +18,6 @@ public class HospitalResponse
public int IsOpenDrugprop { get; set; } public int IsOpenDrugprop { get; set; }
public int IsOpenIncome { get; set; } public int IsOpenIncome { get; set; }
public int IsOpenDirector { get; set; } public int IsOpenDirector { get; set; }
public int IsShowManage { get; set; }
} }
} }
...@@ -80,5 +80,10 @@ public class sys_hospital ...@@ -80,5 +80,10 @@ public class sys_hospital
/// 是否开启规模/效率绩效 1 启用 2 禁用 /// 是否开启规模/效率绩效 1 启用 2 禁用
/// </summary> /// </summary>
public Nullable<int> IsOpenDirector { get; set; } public Nullable<int> IsOpenDirector { get; set; }
/// <summary>
/// 是否显示绩效合计 1 显示绩效合计 2 显示管理绩效
/// </summary>
public Nullable<int> IsShowManage { get; set; }
} }
} }
...@@ -37,7 +37,7 @@ public List<res_baiscnorm> ComputeAvg(List<res_baiscnorm> baiscnormList, List<im ...@@ -37,7 +37,7 @@ public List<res_baiscnorm> ComputeAvg(List<res_baiscnorm> baiscnormList, List<im
PositionName = EnumHelper.GetDescription(item.Reference), PositionName = EnumHelper.GetDescription(item.Reference),
TotelNumber = count, TotelNumber = count,
TotelValue = dataList?.Sum(t => t.BaiscNormPerforTotal), TotelValue = dataList?.Sum(t => t.BaiscNormPerforTotal),
AvgValue = dataList?.Sum(t => t.BaiscNormPerforTotal) / count AvgValue = Math.Round((dataList?.Sum(t => t.BaiscNormPerforTotal) / count) ?? 0)
}; };
baiscnormList.Add(baiscnorm); baiscnormList.Add(baiscnorm);
} }
...@@ -139,7 +139,7 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis ...@@ -139,7 +139,7 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis
PositionName = EnumHelper.GetDescription(info.PerforType), PositionName = EnumHelper.GetDescription(info.PerforType),
TotelNumber = groupData.Sum(t => t.Number), TotelNumber = groupData.Sum(t => t.Number),
TotelValue = groupData.Sum(t => t.PerforTotal), TotelValue = groupData.Sum(t => t.PerforTotal),
AvgValue = groupData.Sum(t => t.PerforTotal) / groupData.Sum(t => t.Number) AvgValue = Math.Round(groupData.Sum(t => t.PerforTotal) / groupData.Sum(t => t.Number) ?? 0)
}; };
baiscnormList.Add(baiscnorm); baiscnormList.Add(baiscnorm);
} }
......
...@@ -31,6 +31,7 @@ public class ComputeService : IAutoInjection ...@@ -31,6 +31,7 @@ public class ComputeService : IAutoInjection
private readonly PerforImemployeeclinicRepository _perforImemployeeclinicRepository; private readonly PerforImemployeeclinicRepository _perforImemployeeclinicRepository;
private readonly PerforImemployeeRepository _perforImemployeeRepository; private readonly PerforImemployeeRepository _perforImemployeeRepository;
private readonly PerforPerallotRepository perforPerallotRepository; private readonly PerforPerallotRepository perforPerallotRepository;
private readonly PerforHospitalRepository hospitalRepository;
public ComputeService(PerforResaccountRepository perforResaccountRepository, public ComputeService(PerforResaccountRepository perforResaccountRepository,
//PerforResaccountnurseRepository perforResAccountnurseRepository, //PerforResaccountnurseRepository perforResAccountnurseRepository,
...@@ -48,7 +49,8 @@ public class ComputeService : IAutoInjection ...@@ -48,7 +49,8 @@ public class ComputeService : IAutoInjection
PerforAgcomputeRepository perforAgcomputeRepository, PerforAgcomputeRepository perforAgcomputeRepository,
PerforImemployeeclinicRepository perforImemployeeclinicRepository, PerforImemployeeclinicRepository perforImemployeeclinicRepository,
PerforImemployeeRepository perforImemployeeRepository, PerforImemployeeRepository perforImemployeeRepository,
PerforPerallotRepository perforPerallotRepository) PerforPerallotRepository perforPerallotRepository,
PerforHospitalRepository hospitalRepository)
{ {
this.perforResaccountRepository = perforResaccountRepository; this.perforResaccountRepository = perforResaccountRepository;
//this._perforResAccountnurseRepository = perforResAccountnurseRepository; //this._perforResAccountnurseRepository = perforResAccountnurseRepository;
...@@ -67,6 +69,16 @@ public class ComputeService : IAutoInjection ...@@ -67,6 +69,16 @@ public class ComputeService : IAutoInjection
this._perforImemployeeclinicRepository = perforImemployeeclinicRepository; this._perforImemployeeclinicRepository = perforImemployeeclinicRepository;
this._perforImemployeeRepository = perforImemployeeRepository; this._perforImemployeeRepository = perforImemployeeRepository;
this.perforPerallotRepository = perforPerallotRepository; this.perforPerallotRepository = perforPerallotRepository;
this.hospitalRepository = hospitalRepository;
}
public int IsShowManage(int allotId)
{
var allot = perforPerallotRepository.GetEntity(t => t.ID == allotId);
if (allot == null)
throw new PerformanceException("绩效信息无效");
return hospitalRepository.GetEntity(t => t.ID == allot.HospitalId)?.IsShowManage ?? 1;
} }
/// <summary> /// <summary>
...@@ -96,6 +108,7 @@ public List<ResComputeResponse> GetCompute(int allotId, int type) ...@@ -96,6 +108,7 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
} }
}, },
}; };
var isShowManage = IsShowManage(allotId);
if (pairs.Keys.Any(t => t == type)) if (pairs.Keys.Any(t => t == type))
{ {
...@@ -142,7 +155,20 @@ public List<ResComputeResponse> GetCompute(int allotId, int type) ...@@ -142,7 +155,20 @@ public List<ResComputeResponse> GetCompute(int allotId, int type)
} }
} }
data = Mapper.Map<List<ResComputeResponse>>(joinData); data = Mapper.Map<List<ResComputeResponse>>(joinData);
data?.ForEach(t => t.WorkTime = string.IsNullOrEmpty(t.WorkTime) ? null : Convert.ToDateTime(t.WorkTime).ToString("yyyy-MM-dd")); data?.ForEach(t =>
{
t.WorkTime = string.IsNullOrEmpty(t.WorkTime) ? null : Convert.ToDateTime(t.WorkTime).ToString("yyyy-MM-dd");
if (isShowManage == 2)
{
t.PerforSumFee = t.ShouldGiveFee;
var employee = employees.FirstOrDefault(e => e.DoctorName == t.EmployeeName && e.AccountingUnit == t.AccountingUnit);
var scoreAverageRate = t.ScoreAverageRate ?? employee.ScoreAverageRate ?? 0;
var attendance = t.Attendance ?? employee.Attendance ?? 0;
t.GiveFee = t.ShouldGiveFee * scoreAverageRate * attendance + t.OtherPerfor;
t.RealGiveFee = t.GiveFee * (t.Adjust ?? 1m);
t.BaiscNormValue = t.RealGiveFee;
}
});
return data?.OrderByDescending(t => t.AccountingUnit).ToList(); return data?.OrderByDescending(t => t.AccountingUnit).ToList();
} }
else else
......
...@@ -132,6 +132,7 @@ public HospitalResponse Update(HospitalRequest request) ...@@ -132,6 +132,7 @@ public HospitalResponse Update(HospitalRequest request)
//hospital.IsOpenWorkYear = request.IsOpenWorkYear; //hospital.IsOpenWorkYear = request.IsOpenWorkYear;
//hospital.IsOpenDirector = request.IsOpenDirector; //hospital.IsOpenDirector = request.IsOpenDirector;
hospital.IsOpenDrugprop = request.IsOpenDrugprop; hospital.IsOpenDrugprop = request.IsOpenDrugprop;
hospital.IsShowManage = request.IsShowManage;
//hospital.IsOpenIncome = request.IsOpenIncome; //hospital.IsOpenIncome = request.IsOpenIncome;
if (!_hospitalRepository.Update(hospital)) if (!_hospitalRepository.Update(hospital))
......
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