Commit 1740788c by ruyun.zhang@suvalue.com

Merge branch 'feature/096' into develop

parents 6947baf8 0063ac1e
......@@ -90,6 +90,9 @@ public class DetailModule
/// <summary> 结算值 </summary>
public decimal? ItemValue { get; set; }
public decimal? OtherPerfor { get; set; }
public decimal? Attendance { get; set; }
public decimal? PostCoefficient { get; set; }
}
public class DetailModuleExtend : DetailModule
......
......@@ -761,12 +761,13 @@ public List<ComputeResponse> AllCompute(int allotId, int hospitalId, int isShowM
item.ReservedRatio = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.ReservedRatio ?? 0;
item.ReservedRatioFee = Math.Round(real * (item.ReservedRatio ?? 0), 2, MidpointRounding.AwayFromZero);
item.RealGiveFee = Math.Round(item.ShouldGiveFee - (item.ReservedRatioFee ?? 0) ?? 0, 2, MidpointRounding.AwayFromZero);
// 姓名始终按人员字典显示
item.EmployeeName = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.DoctorName ?? "";
// 人员信息使用人员字典中数据
if (isEmpDic)
{
item.AccountingUnit = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.AccountingUnit ?? "";
item.UnitType = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.UnitType ?? "";
item.EmployeeName = empDic?.FirstOrDefault(w => w.PersonnelNumber == item.JobNumber)?.DoctorName ?? "";
}
}
}
......@@ -1374,12 +1375,6 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
Detail = new List<DetailDtos>()
};
var sheetType = new List<int>
{
(int)SheetType.AccountExtra, (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess,
(int)SheetType.AccountScoreAverage, (int)SheetType.AccountAdjustLaterOtherFee
};
var detail = new DetailDtos
{
ItemName = "后勤人员",
......@@ -1397,7 +1392,10 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
{
JobNumber = item.JobNumber,
ItemName = item.EmployeeName,
ItemValue = Math.Round(item.PerforTotal ?? 0, 2)
ItemValue = Math.Round(item.PerforTotal ?? 0, 2),
OtherPerfor = item.OtherPerfor,
Attendance = item.Attendance,
PostCoefficient = item.PostCoefficient,
});
}
}
......@@ -1406,6 +1404,11 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
if (basicData == null || !basicData.Any()) return deptDetails;
var sheetType = new List<int>
{
(int)SheetType.AccountExtra, (int)SheetType.AccountDrugAssess, (int)SheetType.AccountMaterialsAssess,
(int)SheetType.AccountScoreAverage, (int)SheetType.AccountAdjustLaterOtherFee
};
int groupBasis = 0;
foreach (var stype in sheetType)
{
......@@ -1427,6 +1430,31 @@ public DeptDataDetails DeptOfficeDetail(int accountId)
}
}
}
// 特殊 6.11个人岗位系数
var postSheet = persheet.FirstOrDefault(t => t.SheetType == (int)SheetType.PersonPostCoefficient);
if (postSheet != null)
{
groupBasis++;
var postDatas = basicData?.Where(w => w.SheetID == postSheet.ID && w.AccountingUnit == account?.AccountingUnit);
foreach (var post in postDatas?.GroupBy(w => new { w.JobNumber }))
{
var amount = post.FirstOrDefault(w => w.IsTotal == 1)?.CellValue ?? 0;
var items = post.Where(w => w.SheetID == postSheet.ID && w.IsTotal != 1)?.Select(t => new DetailModule
{
ItemName = t.TypeName,
CellValue = t.CellValue,
Factor = t.FactorValue,
ItemValue = t.IsFactor == 1 ? (t.CellValue * (t.FactorValue ?? 0)) : t.CellValue,
}).ToList();
if (items != null && items.Count > 0)
{
var itemName = $"个人系数({post.Key.JobNumber} {post.FirstOrDefault()?.EmployeeName})";
var item = new DetailDtos { ItemName = itemName, IncomeType = 5, OriginalType = postSheet.SheetType ?? 0, Amount = amount, GroupBasis = groupBasis, Items = items };
deptDetails.Detail.Add(item);
}
}
}
// 展示额外处理,根据禅道057
deptDetails.Pandect.ScoringAverage = deptDetails.Detail?.FirstOrDefault(w => w.OriginalType == (int)SheetType.AccountScoreAverage)?.Amount ?? deptDetails.Pandect.ScoringAverage;
deptDetails.Pandect.Extra = deptDetails.Detail?.FirstOrDefault(w => w.OriginalType == (int)SheetType.AccountExtra)?.Amount ?? deptDetails.Pandect.Extra;
......
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