临床人员绩效分配时,新增基础绩效系数计算

parent 837d0948
...@@ -370,6 +370,11 @@ ...@@ -370,6 +370,11 @@
工号 工号
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.ComputeEmployee.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.PostCoefficient"> <member name="P:Performance.DtoModels.ComputeEmployee.PostCoefficient">
<summary> <summary>
岗位系数 岗位系数
...@@ -869,6 +874,11 @@ ...@@ -869,6 +874,11 @@
职称 职称
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.PostCoefficient"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.PostCoefficient">
<summary> <summary>
岗位系数 岗位系数
......
...@@ -1788,6 +1788,11 @@ ...@@ -1788,6 +1788,11 @@
职称 职称
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.im_employee_clinic.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.PostCoefficient"> <member name="P:Performance.EntityModels.im_employee_clinic.PostCoefficient">
<summary> <summary>
岗位系数 岗位系数
......
...@@ -296,10 +296,23 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a ...@@ -296,10 +296,23 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
foreach (var emp in empDis) foreach (var emp in empDis)
{ {
var empolyees = empolyeeList.Where(w => w.DoctorName == emp.DoctorName && w.JobNumber == emp.JobNumber); var empolyees = empolyeeList.Where(w => w.DoctorName == emp.DoctorName && w.JobNumber == emp.JobNumber);
foreach (var empolyee in empolyees) for (int i = 0; i < empolyees.Count(); i++)
{ {
var empolyee = empolyees.ElementAt(i);
var resAccount = dataList.FirstOrDefault(t => ((UnitType)t.UnitType).ToString() == empolyee.UnitType && t.AccountingUnit == empolyee.AccountingUnit); var resAccount = dataList.FirstOrDefault(t => ((UnitType)t.UnitType).ToString() == empolyee.UnitType && t.AccountingUnit == empolyee.AccountingUnit);
if (resAccount == null) continue; if (resAccount == null)
{
// 如果没有找到科室,则找相同用户的其他核算单元类型
for (int j = 0; j < empolyees.Count(); j++)
{
if (i == j) continue;
var empolyee2 = empolyees.ElementAt(j);
resAccount = dataList.FirstOrDefault(t => ((UnitType)t.UnitType).ToString() == empolyee2.UnitType && t.AccountingUnit == empolyee2.AccountingUnit);
if (resAccount != null) continue;
}
if (resAccount == null) continue;
}
var basicRule = basicRuleList.FirstOrDefault(t => t.UnitType == (UnitType)resAccount.UnitType); var basicRule = basicRuleList.FirstOrDefault(t => t.UnitType == (UnitType)resAccount.UnitType);
if (basicRule == null) continue; if (basicRule == null) continue;
......
...@@ -36,7 +36,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader) ...@@ -36,7 +36,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
PersonnelNumber = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "人员工号").PointCell)?.StringCellValue, PersonnelNumber = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "人员工号").PointCell)?.StringCellValue,
DoctorName = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医生姓名").PointCell)?.StringCellValue, DoctorName = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "医生姓名").PointCell)?.StringCellValue,
JobTitle = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "职称").PointCell)?.StringCellValue, JobTitle = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "职称").PointCell)?.StringCellValue,
Basics = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "岗位系数").PointCell)?.NumericCellValue), 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), PostCoefficient = 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), 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), Scale = ConvertHelper.To<decimal?>(row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "规模绩效系数").PointCell)?.NumericCellValue),
......
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