Commit 0ec1c97d by 李承祥

特殊科室增加枚举,护士总绩效基数分组合并,去除重复添加

parent e7129a72
...@@ -161,6 +161,8 @@ public enum PerforType ...@@ -161,6 +161,8 @@ public enum PerforType
行政中层, 行政中层,
[Description("行政工勤人均绩效")] [Description("行政工勤人均绩效")]
行政工勤, 行政工勤,
[Description("医生护士平均绩效")]
医生护士平均,
} }
/// <summary> /// <summary>
......
...@@ -118,6 +118,13 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis ...@@ -118,6 +118,13 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis
// 护士 // 护士
var sheetNurse = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeNurseAccount); var sheetNurse = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeNurseAccount);
var perdataNurse = sheetNurse.PerData.Select(t => (PerDataAccountNurse)t); var perdataNurse = sheetNurse.PerData.Select(t => (PerDataAccountNurse)t);
perdataNurse = perdataNurse.GroupBy(t => t.AccountingUnit)
.Select(t => new PerDataAccountNurse
{
AccountingUnit = t.Key,
Number = t.Sum(p => p.Number),
PerforTotal = t.Max(p => p.PerforTotal)
});
var baiscnormNurse = new res_baiscnorm var baiscnormNurse = new res_baiscnorm
{ {
PositionName = EnumHelper.GetDescription(PerforType.护士), PositionName = EnumHelper.GetDescription(PerforType.护士),
...@@ -130,6 +137,13 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis ...@@ -130,6 +137,13 @@ public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormLis
// 医生 // 医生
var sheetDocter = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeDoctorAccount); var sheetDocter = list.FirstOrDefault(t => t.SheetType == SheetType.ComputeDoctorAccount);
var perdataDocter = sheetDocter.PerData.Select(t => (PerDataAccountDoctor)t); var perdataDocter = sheetDocter.PerData.Select(t => (PerDataAccountDoctor)t);
perdataDocter = perdataDocter.GroupBy(t => t.AccountingUnit)
.Select(t => new PerDataAccountDoctor
{
AccountingUnit = t.Key,
Number = t.Sum(p => p.Number),
PerforTotal = t.Max(p => p.PerforTotal)
});
var baiscnormDocter = new res_baiscnorm var baiscnormDocter = new res_baiscnorm
{ {
PositionName = EnumHelper.GetDescription(PerforType.临床医生), PositionName = EnumHelper.GetDescription(PerforType.临床医生),
......
...@@ -87,11 +87,21 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno ...@@ -87,11 +87,21 @@ public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<res_baiscno
var type = typeList.FirstOrDefault(o => o.Description == item.QuantitativeIndicators); var type = typeList.FirstOrDefault(o => o.Description == item.QuantitativeIndicators);
if (type != null) if (type != null)
{ {
var radio = perforImEmployeeRepository.GetEntities(p => p.FitPeople == EnumHelper.GetDescription((PerforType)type.Value) && p.AllotID == allot.ID) if (type.Value == (int)PerforType.医生护士平均)
?.FirstOrDefault().FitPeopleRatio ?? 1; {
var basic = baiscNormService.GetBaiscNorm(baiscnormList, (PerforType)type.Value); var doctor = baiscNormService.GetBaiscNorm(baiscnormList, PerforType.临床医生) ?? 0;
// 添加参数计算 var nurse = baiscNormService.GetBaiscNorm(baiscnormList, PerforType.护士) ?? 0;
item.Quantity = basic != null ? basic * radio : null; // 添加参数计算
item.Quantity = (doctor + nurse) / 2;
}
else
{
var radio = perforImEmployeeRepository.GetEntities(p => p.FitPeople == EnumHelper.GetDescription((PerforType)type.Value) && p.AllotID == allot.ID)
?.FirstOrDefault().FitPeopleRatio ?? 1;
var basic = baiscNormService.GetBaiscNorm(baiscnormList, (PerforType)type.Value);
// 添加参数计算
item.Quantity = basic != null ? basic * radio : null;
}
} }
} }
......
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