Commit 8ad09f61 by lcx

二次绩效护理组以外不通过护理组审核,打印数据可在审核通过前打印

parent 7c4ce522
......@@ -1290,7 +1290,7 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
var hospital = hospitalRepository.GetEntity(w => w.ID == allot.HospitalId);
if (hospital == null) return true;
if (hospital.IsOpenNursingDeptAudit == 1 && second.NursingDeptStatus != 3)
if (hospital.IsOpenNursingDeptAudit == 1 && second.NursingDeptStatus != 3 && new string[] { UnitType.护理组.ToString(), UnitType.其他护理组.ToString() }.Contains(second.UnitType))
return true;
var computes = new List<ag_compute>();
......@@ -1304,6 +1304,8 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
{
foreach (var item in rowNumbers)
{
var perforsumfee = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "可分配绩效")?.ItemValue, 0);
var nightworkperfor = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "夜班工作量绩效")?.ItemValue, 0);
computes.Add(new ag_compute
{
AllotId = second.AllotId,
......@@ -1313,10 +1315,10 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
JobNumber = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "人员工号")?.ItemValue,
WorkPost = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "岗位")?.ItemValue,
PersonName = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "姓名")?.ItemValue,
PerforSumFee = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "可分配绩效")?.ItemValue, 0),
PerforSumFee = perforsumfee,
OthePerfor = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "医院其他绩效")?.ItemValue, 0),
NightWorkPerfor = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "夜班工作量绩效")?.ItemValue, 0),
RealGiveFee = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "实发绩效工资金额")?.ItemValue, 0),
NightWorkPerfor = nightworkperfor,
RealGiveFee = perforsumfee + nightworkperfor,
});
}
}
......@@ -1637,12 +1639,11 @@ public List<SecPrintResponse> Print(int secondId)
var second = perforAgsecondallotRepository.GetEntity(t => t.Id == secondId);
if (second == null) return new List<SecPrintResponse>();
bool isOtherTemp = second.UseTempId.HasValue && second.UseTempId == 6;
var computes = perforAgcomputeRepository.GetEntities(t => t.SecondId == secondId);
if (computes == null || !computes.Any())
return new List<SecPrintResponse>();
//var computes = perforAgcomputeRepository.GetEntities(t => t.SecondId == secondId);
//if (computes == null || !computes.Any())
// return new List<SecPrintResponse>();
bool isOtherTemp = second.UseTempId.HasValue && second.UseTempId == 6;
if (isOtherTemp)
{
......@@ -1654,31 +1655,31 @@ public List<SecPrintResponse> Print(int secondId)
}
else
{
var itemname = new List<string> { "人员工号", "职称", "职称绩效", "工作量绩效工资", "科室单项奖励", "可分配绩效", "医院其他绩效", "夜班工作量绩效" };
var itemname = new List<string> { "人员工号", "姓名", "职称", "职称绩效", "工作量绩效工资", "科室单项奖励", "可分配绩效", "医院其他绩效", "夜班工作量绩效" };
var fixaitems = perforAgfixatitemRepository.GetEntities(t => t.SecondId == secondId && itemname.Contains(t.ItemName));
if (fixaitems == null && !fixaitems.Any(t => t.RowNumber.HasValue && t.RowNumber != -1)) return new List<SecPrintResponse>();
var rownumbers = fixaitems.Where(t => t.RowNumber.HasValue && t.RowNumber != -1).Select(t => t.RowNumber.Value).Distinct().OrderBy(t => t).ToList();
var result = new List<SecPrintResponse>();
foreach (var item in computes)
foreach (var rownumber in rownumbers)
{
var distperfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "可分配绩效")?.ItemValue);
var nightworkperfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "夜班工作量绩效")?.ItemValue);
var sec = new SecPrintResponse
{
JobNumber = item.JobNumber,
PersonName = item.PersonName,
Department = item.Department,
RealAmount = item.RealGiveFee,
JobNumber = fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "人员工号")?.ItemValue,
PersonName = fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "姓名")?.ItemValue,
Department = second.Department,
RealAmount = distperfor + nightworkperfor,
};
if (fixaitems != null && fixaitems.Any())
{
var rownumber = fixaitems.FirstOrDefault(t => t.ItemValue == item.JobNumber).RowNumber;
sec.RowNumber = rownumber ?? 0;
sec.WorkPost = fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称").ItemValue;
sec.TitlePerfor = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称绩效").ItemValue);
sec.WorkPerformance = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "工作量绩效工资").ItemValue);
sec.DeptReward = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "科室单项奖励").ItemValue);
sec.DistPerformance = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "可分配绩效").ItemValue);
sec.OtherPerformance = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "医院其他绩效").ItemValue);
sec.NightWorkPerformance = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "夜班工作量绩效").ItemValue);
}
sec.WorkPost = fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称")?.ItemValue;
sec.TitlePerfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称绩效")?.ItemValue);
sec.WorkPerformance = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "工作量绩效工资")?.ItemValue);
sec.DeptReward = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "科室单项奖励")?.ItemValue);
sec.DistPerformance = distperfor;
sec.OtherPerformance = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "医院其他绩效")?.ItemValue);
sec.NightWorkPerformance = nightworkperfor;
result.Add(sec);
}
return result.OrderBy(t => t.RowNumber).ToList();
......
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