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

parent 837d0948
......@@ -370,6 +370,11 @@
工号
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.DtoModels.ComputeEmployee.PostCoefficient">
<summary>
岗位系数
......@@ -869,6 +874,11 @@
职称
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.PostCoefficient">
<summary>
岗位系数
......
......@@ -1788,6 +1788,11 @@
职称
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.Basics">
<summary>
基础绩效系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.PostCoefficient">
<summary>
岗位系数
......
......@@ -296,10 +296,23 @@ public List<ComputeResult> Compute(List<ComputeEmployee> empolyeeList, List<im_a
foreach (var emp in empDis)
{
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);
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);
if (basicRule == null) continue;
......
......@@ -36,7 +36,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
PersonnelNumber = 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,
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),
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),
......
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