打印及重新加载

parent d1def977
...@@ -3666,6 +3666,11 @@ ...@@ -3666,6 +3666,11 @@
夜班工作量绩效 夜班工作量绩效
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.SecPrintResponse.ReservedRatio">
<summary>
预留比例
</summary>
</member>
<member name="P:Performance.DtoModels.SecPrintResponse.RealAmount"> <member name="P:Performance.DtoModels.SecPrintResponse.RealAmount">
<summary> <summary>
实发绩效工资金额 实发绩效工资金额
......
...@@ -360,7 +360,7 @@ List<ag_bodysource> LoadEmployeeByDictionary(ag_secondallot second, List<per_emp ...@@ -360,7 +360,7 @@ List<ag_bodysource> LoadEmployeeByDictionary(ag_secondallot second, List<per_emp
Name = existEmp.DoctorName, Name = existEmp.DoctorName,
JobTitle = existEmp.JobTitle, JobTitle = existEmp.JobTitle,
ReservedRatio = existEmp.ReservedRatio, ReservedRatio = existEmp.ReservedRatio,
Post = "", Post = "",
}); });
} }
return loadDatas; return loadDatas;
...@@ -374,15 +374,15 @@ private List<string> LoadEmployees_PrevSecondAllot(per_allot allot, ag_secondall ...@@ -374,15 +374,15 @@ private List<string> LoadEmployees_PrevSecondAllot(per_allot allot, ag_secondall
var status = new int[] { (int)SecondAllotStatus.WaitReview, (int)SecondAllotStatus.PassAudit }; var status = new int[] { (int)SecondAllotStatus.WaitReview, (int)SecondAllotStatus.PassAudit };
if (prevSecondAllot != null && status.Contains(prevSecondAllot.Status ?? (int)SecondAllotStatus.Uncommitted)) if (prevSecondAllot != null && status.Contains(prevSecondAllot.Status ?? (int)SecondAllotStatus.Uncommitted))
{ {
if (prevSecondAllot.Status == 6) if (prevSecondAllot.UseTempId == 6)
{ {
var prevDatas = _agothersourceRepository.GetEntities(w => w.SecondId == prevSecondAllot.Id); var prevDatas = _agothersourceRepository.GetEntities(w => w.SecondId == prevSecondAllot.Id);
numbers = prevDatas numbers = prevDatas
?.Where(pre => string.IsNullOrEmpty(pre.WorkNumber?.Trim())) ?.Where(pre => !string.IsNullOrEmpty(pre.WorkNumber?.Trim()))
.Select(pre => pre.WorkNumber?.Trim()) .Select(pre => pre.WorkNumber?.Trim())
.Distinct().ToList() ?? new List<string>(); .Distinct().ToList() ?? new List<string>();
} }
else if (prevSecondAllot.Status == 7 || prevSecondAllot.Status == 8) else if (prevSecondAllot.UseTempId == 7 || prevSecondAllot.UseTempId == 8)
{ {
var prevDatas = _agfixatitemRepository var prevDatas = _agfixatitemRepository
.GetEntities(w => w.SecondId == prevSecondAllot.Id && w.RowNumber.HasValue && w.RowNumber > -1 && w.Type == (int)TempColumnType.TableFixedColumns); .GetEntities(w => w.SecondId == prevSecondAllot.Id && w.RowNumber.HasValue && w.RowNumber > -1 && w.Type == (int)TempColumnType.TableFixedColumns);
...@@ -390,15 +390,15 @@ private List<string> LoadEmployees_PrevSecondAllot(per_allot allot, ag_secondall ...@@ -390,15 +390,15 @@ private List<string> LoadEmployees_PrevSecondAllot(per_allot allot, ag_secondall
numbers = prevDatas numbers = prevDatas
?.GroupBy(w => w.RowNumber.Value) ?.GroupBy(w => w.RowNumber.Value)
.Select(row => row.FirstOrDefault(w => w.ItemName == "人员工号")?.ItemValue) .Select(row => row.FirstOrDefault(w => w.ItemName == "人员工号")?.ItemValue)
.Where(w => string.IsNullOrEmpty(w?.Trim())) .Where(w => !string.IsNullOrEmpty(w?.Trim()))
.Distinct().ToList() ?? new List<string>(); .Distinct().ToList() ?? new List<string>();
} }
else if (prevSecondAllot.Status == 9 || prevSecondAllot.Status == 10) else
{ {
var prevDatas = _agbodysourceRepository.GetEntities(w => w.SecondId == prevSecondAllot.Id); var prevDatas = _agbodysourceRepository.GetEntities(w => w.SecondId == prevSecondAllot.Id);
numbers = prevDatas numbers = prevDatas
?.Where(pre => string.IsNullOrEmpty(pre.WorkNumber?.Trim())) ?.Where(pre => !string.IsNullOrEmpty(pre.WorkNumber?.Trim()))
.Select(pre => pre.WorkNumber?.Trim()) .Select(pre => pre.WorkNumber?.Trim())
.Distinct().ToList() ?? new List<string>(); .Distinct().ToList() ?? new List<string>();
} }
...@@ -1210,7 +1210,7 @@ public object RedistributionEmployee(SecondEmployeeDto request) ...@@ -1210,7 +1210,7 @@ public object RedistributionEmployee(SecondEmployeeDto request)
item.Add(nameof(ag_bodysource.Name), employee.DoctorName); item.Add(nameof(ag_bodysource.Name), employee.DoctorName);
item.Add(nameof(ag_bodysource.WorkNumber), employee.PersonnelNumber); item.Add(nameof(ag_bodysource.WorkNumber), employee.PersonnelNumber);
item.Add(nameof(ag_bodysource.JobTitle), employee.JobTitle); item.Add(nameof(ag_bodysource.JobTitle), employee.JobTitle);
item.Add(nameof(ag_bodysource.Post), ""); item.Add(nameof(ag_bodysource.Post), "");
item.Add(nameof(ag_bodysource.TitleCoefficient), 1); item.Add(nameof(ag_bodysource.TitleCoefficient), 1);
item.Add(nameof(ag_bodysource.ActualAttendance), employee.AttendanceDay > monthDays ? monthDays : employee.AttendanceDay); item.Add(nameof(ag_bodysource.ActualAttendance), employee.AttendanceDay > monthDays ? monthDays : employee.AttendanceDay);
item.Add(nameof(ag_bodysource.StaffCoefficient), 1); item.Add(nameof(ag_bodysource.StaffCoefficient), 1);
......
...@@ -2101,30 +2101,7 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2101,30 +2101,7 @@ public List<SecPrintResponse> Print(int secondId)
result = Mapper.Map<List<SecPrintResponse>>(data); result = Mapper.Map<List<SecPrintResponse>>(data);
} }
else if (second.UseTempId.HasValue && (new int[] { 9, 10 }).Contains(second.UseTempId.Value)) else if (second.UseTempId.HasValue && (new int[] { 7, 8 }).Contains(second.UseTempId.Value))
{
var data = agbodysourceRepository.GetEntities(t => t.SecondId == secondId);
if (data == null || !data.Any()) return new List<SecPrintResponse>();
var bodyDynamic = agworkloadsourceRepository.GetEntities(t => data.Select(w => w.Id).Contains(t.BodyId));
if (data == null || !data.Any()) return new List<SecPrintResponse>();
result = data.Select(w => new SecPrintResponse
{
JobNumber = w.WorkNumber,
PersonName = w.Name,
Department = w.Department,
RealAmount = w.RealAmount,
WorkPost = w.Post,
TitlePerfor = w.TitlePerformance,
WorkPerformance = bodyDynamic?.Where(b => b.BodyId == w.Id && b.ItemId.StartsWith("WorkPerformance_")).Sum(b => b.Value) ?? 0,
DeptReward = w.DeptReward,
DistPerformance = w.DistPerformance,
OtherPerformance = w.OtherPerformance,
NightWorkPerformance = w.NightWorkPerformance,
}).ToList();
}
else
{ {
var itemname = new List<string> { "人员工号", "姓名", "职称", "职称绩效", "工作量绩效工资", "单项奖励小计", "可分配绩效", "医院其他绩效", "夜班工作量绩效" }; var itemname = new List<string> { "人员工号", "姓名", "职称", "职称绩效", "工作量绩效工资", "单项奖励小计", "可分配绩效", "医院其他绩效", "夜班工作量绩效" };
var fixaitems = agfixatitemRepository.GetEntities(t => t.SecondId == secondId && itemname.Contains(t.ItemName)); var fixaitems = agfixatitemRepository.GetEntities(t => t.SecondId == secondId && itemname.Contains(t.ItemName));
...@@ -2154,6 +2131,29 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2154,6 +2131,29 @@ public List<SecPrintResponse> Print(int secondId)
result.Add(sec); result.Add(sec);
} }
} }
else
{
var data = agbodysourceRepository.GetEntities(t => t.SecondId == secondId);
if (data == null || !data.Any()) return new List<SecPrintResponse>();
var bodyDynamic = agworkloadsourceRepository.GetEntities(t => data.Select(w => w.Id).Contains(t.BodyId));
if (data == null || !data.Any()) return new List<SecPrintResponse>();
result = data.Select(w => new SecPrintResponse
{
JobNumber = w.WorkNumber,
PersonName = w.Name,
Department = w.Department,
RealAmount = w.RealAmount,
WorkPost = w.Post,
TitlePerfor = w.TitlePerformance,
WorkPerformance = bodyDynamic?.Where(b => b.BodyId == w.Id && b.ItemId.StartsWith("WorkPerformance_")).Sum(b => b.Value) ?? 0,
DeptReward = w.DeptReward,
DistPerformance = w.DistPerformance,
OtherPerformance = w.OtherPerformance,
NightWorkPerformance = w.NightWorkPerformance,
}).ToList();
}
// 补充医院其他绩效 及 预留比例 // 补充医院其他绩效 及 预留比例
var perapramounts = perapramountRepository.GetFullAmount(t => t.AllotId == second.AllotId && t.Status == 3); var perapramounts = perapramountRepository.GetFullAmount(t => t.AllotId == second.AllotId && t.Status == 3);
......
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