BUG修复

parent 811be206
...@@ -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 = Math.Round((dataList?.Sum(t => t.BaiscNormPerforTotal) / count) ?? 0) AvgValue = count == 0 ? 0 : Math.Round((dataList?.Sum(t => t.BaiscNormPerforTotal) / count) ?? 0)
}; };
baiscnormList.Add(baiscnorm); baiscnormList.Add(baiscnorm);
} }
...@@ -67,114 +67,114 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li ...@@ -67,114 +67,114 @@ public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, Li
{ {
PositionName = EnumHelper.GetDescription(item.reference), PositionName = EnumHelper.GetDescription(item.reference),
TotelNumber = count, TotelNumber = count,
TotelValue = dataList.Sum(t => t.GiveFee), TotelValue = count == 0 ? 0 : dataList.Sum(t => t.GiveFee),
AvgValue = Math.Round((dataList.Sum(t => t.GiveFee) / count) ?? 0) AvgValue = Math.Round((dataList.Sum(t => t.GiveFee) / count) ?? 0)
}; };
baiscnormList.Add(baiscnorm); baiscnormList.Add(baiscnorm);
}
} }
}
return baiscnormList; return baiscnormList;
} }
/// <summary> /// <summary>
/// 院领导、行政中层 平均值 /// 院领导、行政中层 平均值
/// </summary> /// </summary>
/// <param name="computes"></param> /// <param name="computes"></param>
/// <returns></returns> /// <returns></returns>
public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, List<ComputeResult> computes, List<im_employee> empolyeeList) public List<res_baiscnorm> ComputeOtherAvg(List<res_baiscnorm> baiscnormList, List<ComputeResult> computes, List<im_employee> empolyeeList)
{
var keyList = new[]
{ {
var keyList = new[]
{
//行政绩效平均值项目 //行政绩效平均值项目
new { type = AccountUnitType.行政中层, reference = PerforType.行政中层 }, new { type = AccountUnitType.行政中层, reference = PerforType.行政中层 },
new { type = AccountUnitType.行政高层, reference = PerforType.行政高层 }, new { type = AccountUnitType.行政高层, reference = PerforType.行政高层 },
}; };
foreach (var item in keyList) foreach (var item in keyList)
{
var count = empolyeeList.Count(t => t.AccountType == item.type.ToString());
if (count > 0)
{ {
var dataList = computes.Where(t => t.AccountType == item.type.ToString()); var count = empolyeeList.Count(t => t.AccountType == item.type.ToString());
var baiscnorm = new res_baiscnorm if (count > 0)
{ {
PositionName = EnumHelper.GetDescription(item.reference), var dataList = computes.Where(t => t.AccountType == item.type.ToString());
TotelNumber = count, var baiscnorm = new res_baiscnorm
TotelValue = dataList.Sum(t => t.GiveFee), {
AvgValue = Math.Round((dataList.Sum(t => t.GiveFee) / count) ?? 0) PositionName = EnumHelper.GetDescription(item.reference),
}; TotelNumber = count,
baiscnormList.Add(baiscnorm); TotelValue = dataList.Sum(t => t.GiveFee),
AvgValue = count == 0 ? 0 : Math.Round((dataList.Sum(t => t.GiveFee) / count) ?? 0)
};
baiscnormList.Add(baiscnorm);
}
} }
return baiscnormList;
} }
return baiscnormList;
}
/// <summary> /// <summary>
/// 获取绩效标准基础值 /// 获取绩效标准基础值
/// </summary> /// </summary>
/// <param name="baiscnorms"></param> /// <param name="baiscnorms"></param>
/// <param name="type"></param> /// <param name="type"></param>
/// <returns></returns> /// <returns></returns>
public decimal? GetBaiscNorm(List<res_baiscnorm> baiscnorms, PerforType type) public decimal? GetBaiscNorm(List<res_baiscnorm> baiscnorms, PerforType type)
{
decimal? result = null;
if (type == PerforType.临床主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else if (type == PerforType.临床主任医技主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var yjzrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.医技主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (yjzrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (yjzrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else
{ {
result = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(type))?.AvgValue; decimal? result = null;
} if (type == PerforType.临床主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else if (type == PerforType.临床主任医技主任护士长平均)
{
var lczrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.临床主任));
var yjzrValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.医技主任));
var hszValue = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(PerforType.护士长));
var total = ((lczrValue?.TotelNumber ?? 0) + (yjzrValue?.TotelNumber ?? 0) + (hszValue?.TotelNumber ?? 0));
result = total == 0 ? 0 : ((lczrValue?.TotelValue ?? 0) + (yjzrValue?.TotelValue ?? 0) + (hszValue?.TotelValue ?? 0)) / total;
}
else
{
result = baiscnorms.FirstOrDefault(t => t.PositionName == EnumHelper.GetDescription(type))?.AvgValue;
}
if (result.HasValue) if (result.HasValue)
result = Math.Round(result.Value, 4); result = Math.Round(result.Value, 4);
return result; return result;
} }
/// <summary> /// <summary>
/// 获取临床医生护士平均绩效 /// 获取临床医生护士平均绩效
/// </summary> /// </summary>
/// <param name="list"></param> /// <param name="list"></param>
/// <returns></returns> /// <returns></returns>
public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormList, List<im_accountbasic> accountbasicList, List<PerSheet> list) public List<res_baiscnorm> DocterNurseBaiscnorm(List<res_baiscnorm> baiscnormList, List<im_accountbasic> accountbasicList, List<PerSheet> list)
{
var pairs = new[]
{ {
var pairs = new[]
{
new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医生组, PerforType = PerforType.临床医生 }, new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医生组, PerforType = PerforType.临床医生 },
new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医技组, PerforType = PerforType.医技医生 }, new { SheetType = SheetType.ComputeDoctorAccount, UnitType = UnitType.医技组, PerforType = PerforType.医技医生 },
new { SheetType = SheetType.ComputeNurseAccount, UnitType = UnitType.护理组, PerforType = PerforType.护士 }, new { SheetType = SheetType.ComputeNurseAccount, UnitType = UnitType.护理组, PerforType = PerforType.护士 },
}; };
foreach (var info in pairs) foreach (var info in pairs)
{
var sheet = list.FirstOrDefault(t => t.SheetType == info.SheetType);
var perData = sheet.PerData.Select(t => (PerDataAccountBaisc)t);
//剔除不同科室相同核算单元
var groupData = perData.Where(t => t.UnitType == info.UnitType.ToString())
.GroupBy(t => t.AccountingUnit)
.Select(t => new { AccountingUnit = t.Key, Number = t.Sum(p => p.ManagerNumber + p.Number), PerforTotal = t.Sum(p => p.PerforTotal) });
var baiscnorm = new res_baiscnorm
{ {
PositionName = EnumHelper.GetDescription(info.PerforType), var sheet = list.FirstOrDefault(t => t.SheetType == info.SheetType);
TotelNumber = groupData.Sum(t => t.Number), var perData = sheet.PerData.Select(t => (PerDataAccountBaisc)t);
TotelValue = groupData.Sum(t => t.PerforTotal), //剔除不同科室相同核算单元
AvgValue = Math.Round(groupData.Sum(t => t.PerforTotal) / groupData.Sum(t => t.Number) ?? 0) var groupData = perData.Where(t => t.UnitType == info.UnitType.ToString())
}; .GroupBy(t => t.AccountingUnit)
baiscnormList.Add(baiscnorm); .Select(t => new { AccountingUnit = t.Key, Number = t.Sum(p => p.ManagerNumber + p.Number), PerforTotal = t.Sum(p => p.PerforTotal) });
var baiscnorm = new res_baiscnorm
{
PositionName = EnumHelper.GetDescription(info.PerforType),
TotelNumber = groupData.Sum(t => t.Number),
TotelValue = groupData.Sum(t => t.PerforTotal),
AvgValue = groupData.Sum(t => t.Number) == 0 ? 0 : Math.Round(groupData.Sum(t => t.PerforTotal) / groupData.Sum(t => t.Number) ?? 0)
};
baiscnormList.Add(baiscnorm);
}
return baiscnormList;
} }
return baiscnormList;
} }
} }
}
...@@ -273,9 +273,9 @@ public void Save(List<PerSheet> perSheets, int allotId) ...@@ -273,9 +273,9 @@ public void Save(List<PerSheet> perSheets, int allotId)
foreach (var dept in atDataList) foreach (var dept in atDataList)
{ {
//科室奖罚汇总结果 //科室奖罚汇总结果
var extra = extras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var extra = extras?.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var drugExtra = drugExtras?.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var materialsExtra = materialsExtras?.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var econDoctor = economicData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit); var econDoctor = economicData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit);
var workDoctor = info.Data.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit); var workDoctor = info.Data.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit);
...@@ -314,10 +314,7 @@ public void Save(List<PerSheet> perSheets, int allotId) ...@@ -314,10 +314,7 @@ public void Save(List<PerSheet> perSheets, int allotId)
/// <param name="allot"></param> /// <param name="allot"></param>
/// <param name="excel"></param> /// <param name="excel"></param>
/// <param name="extras"></param> /// <param name="extras"></param>
/// <param name="drugExtras"></param> public void ComputeOffice(per_allot allot, PerExcel excel, IEnumerable<AccountUnitTotal> extras)
/// <param name="materialsExtras"></param>
public void ComputeOffice(per_allot allot, PerExcel excel, IEnumerable<AccountUnitTotal> extras,
IEnumerable<AccountUnitTotal> drugExtras, IEnumerable<AccountUnitTotal> materialsExtras)
{ {
//取出科室 //取出科室
var accountList = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic)?.PerData?.Select(t => (PerDataAccountBaisc)t); var accountList = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic)?.PerData?.Select(t => (PerDataAccountBaisc)t);
...@@ -341,7 +338,7 @@ public void Save(List<PerSheet> perSheets, int allotId) ...@@ -341,7 +338,7 @@ public void Save(List<PerSheet> perSheets, int allotId)
if (!empolyees.Any()) continue; if (!empolyees.Any()) continue;
//科室奖罚汇总结果 //科室奖罚汇总结果
var extra = extras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == account.AccountingUnit)?.TotelValue; var extra = extras?.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == account.AccountingUnit)?.TotelValue;
//var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue; //var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue;
//var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue; //var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == account.AccountType.ToString() && w.AccountingUnit == resAccount.AccountingUnit)?.TotelValue;
......
...@@ -151,9 +151,9 @@ public class ResultComputeService : IAutoInjection ...@@ -151,9 +151,9 @@ public class ResultComputeService : IAutoInjection
foreach (var item in accountDataList) foreach (var item in accountDataList)
{ {
//科室奖罚汇总结果 //科室奖罚汇总结果
var extra = accountExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var extra = accountExtras?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var drugExtra = drugExtras?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var materialsExtra = materialsExtras?.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var res = new res_specialunit var res = new res_specialunit
{ {
...@@ -187,7 +187,7 @@ public class ResultComputeService : IAutoInjection ...@@ -187,7 +187,7 @@ public class ResultComputeService : IAutoInjection
foreach (var empolyee in empolyees) foreach (var empolyee in empolyees)
{ {
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)
&& (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber))) && (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber)))
.FirstOrDefault(w => w.AccountingUnit == empolyee.AccountingUnit && w.UnitType == empolyee.UnitType .FirstOrDefault(w => w.AccountingUnit == empolyee.AccountingUnit && w.UnitType == empolyee.UnitType
&& w.JobNumber == empolyee.JobNumber && w.EmployeeName == empolyee.DoctorName)?.TotelValue; && w.JobNumber == empolyee.JobNumber && w.EmployeeName == empolyee.DoctorName)?.TotelValue;
......
...@@ -376,7 +376,7 @@ public void Generate(per_allot allot, string mail) ...@@ -376,7 +376,7 @@ public void Generate(per_allot allot, string mail)
var baiscnormList = resultComputeService.Compute(allot, excel, sheetLast, employeeExtra); var baiscnormList = resultComputeService.Compute(allot, excel, sheetLast, employeeExtra);
// 计算行政科室绩效 // 计算行政科室绩效
processComputService.ComputeOffice(allot, excel, accountExtras, drugExtras, materialsExtras); processComputService.ComputeOffice(allot, excel, accountExtras);
// 计算特殊科室 // 计算特殊科室
logManageService.WriteMsg("正在生成绩效", "计算最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "计算最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true);
......
...@@ -391,7 +391,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS ...@@ -391,7 +391,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<PerS
Attendance = empolyee.Attendance Attendance = empolyee.Attendance
}; };
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)
&& (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber))) && (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber)))
.FirstOrDefault(w => w.AccountingUnit == empolyee.AccountingUnit && w.UnitType == empolyee.UnitType .FirstOrDefault(w => w.AccountingUnit == empolyee.AccountingUnit && w.UnitType == empolyee.UnitType
&& w.JobNumber == empolyee.JobNumber && w.EmployeeName == empolyee.DoctorName)?.TotelValue; && w.JobNumber == empolyee.JobNumber && w.EmployeeName == empolyee.DoctorName)?.TotelValue;
...@@ -446,7 +446,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot ...@@ -446,7 +446,7 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, per_allot
foreach (var item in needCompute) foreach (var item in needCompute)
{ {
// 奖罚汇总 // 奖罚汇总
var extra = employeeExtra.Where(w => !string.IsNullOrEmpty(w.AccountingUnit) && !string.IsNullOrEmpty(w.UnitType) && (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber))) var extra = employeeExtra?.Where(w => !string.IsNullOrEmpty(w.AccountingUnit) && !string.IsNullOrEmpty(w.UnitType) && (!string.IsNullOrEmpty(w.EmployeeName) || !string.IsNullOrEmpty(w.JobNumber)))
.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;
......
...@@ -52,33 +52,33 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader) ...@@ -52,33 +52,33 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
var row = sheet.GetRow(r); var row = sheet.GetRow(r);
if (row == null) continue; if (row == null) continue;
PerDataClinicEmployee clinicEmployee = new PerDataClinicEmployee PerDataClinicEmployee clinicEmployee = new PerDataClinicEmployee();
{
RowNumber = r, clinicEmployee.RowNumber = r;
UnitType = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元分类").PointCell)?.StringCellValue, clinicEmployee.UnitType = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元分类").PointCell));
AccountingUnit = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell)), clinicEmployee.AccountingUnit = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell));
Department = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell)), clinicEmployee.Department = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell));
PersonnelNumber = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "人员工号").PointCell)), clinicEmployee.PersonnelNumber = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "人员工号").PointCell));
DoctorName = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医生姓名").PointCell)?.StringCellValue, clinicEmployee.DoctorName = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医生姓名").PointCell));
JobTitle = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "职务分类").PointCell)?.StringCellValue, clinicEmployee.JobTitle = NopiSevice.GetCellStringValue(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "职务分类").PointCell));
Basics = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "基础绩效系数").PointCell)?.NumericCellValue), clinicEmployee.Basics = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "基础绩效系数").PointCell)?.NumericCellValue);
//PostCoefficient = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "岗位系数").PointCell)?.NumericCellValue), //clinicEmployee.PostCoefficient = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "岗位系数").PointCell)?.NumericCellValue);
PermanentStaff = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "效率绩效人数").PointCell)?.NumericCellValue), clinicEmployee.PermanentStaff = ConvertHelper.To<decimal>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "效率绩效人数").PointCell)?.NumericCellValue);
Efficiency = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "效率绩效系数").PointCell)?.NumericCellValue), clinicEmployee.Efficiency = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "效率绩效系数").PointCell)?.NumericCellValue);
Scale = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "规模绩效系数").PointCell)?.NumericCellValue), clinicEmployee.Scale = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "规模绩效系数").PointCell)?.NumericCellValue);
Management = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "管理绩效发放系数").PointCell)?.NumericCellValue), clinicEmployee.Management = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "管理绩效发放系数").PointCell)?.NumericCellValue);
ScoreAverageRate = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "考核得分率").PointCell)?.NumericCellValue), clinicEmployee.ScoreAverageRate = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "考核得分率").PointCell)?.NumericCellValue);
Attendance = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "出勤率").PointCell)?.NumericCellValue), clinicEmployee.Attendance = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "出勤率").PointCell)?.NumericCellValue);
//OthePerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他绩效").PointCell)?.NumericCellValue), //clinicEmployee.OthePerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他绩效").PointCell)?.NumericCellValue);
//Punishment = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医院奖罚").PointCell)?.NumericCellValue), //clinicEmployee.Punishment = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医院奖罚").PointCell)?.NumericCellValue);
OtheManagementPerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他管理绩效").PointCell)?.NumericCellValue), clinicEmployee.OtheManagementPerfor = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "其他管理绩效").PointCell)?.NumericCellValue);
Adjust = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "调节系数").PointCell)?.NumericCellValue), clinicEmployee.Adjust = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "调节系数").PointCell)?.NumericCellValue);
};
if (!string.IsNullOrEmpty(clinicEmployee.UnitType) && !string.IsNullOrEmpty(clinicEmployee.DoctorName)) if (!string.IsNullOrEmpty(clinicEmployee.UnitType) && !string.IsNullOrEmpty(clinicEmployee.DoctorName))
dataList.Add(clinicEmployee); dataList.Add(clinicEmployee);
} }
return dataList; return dataList;
} }
} }
} }
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