打印缺人BUG修复

parent 2b44bef5
...@@ -607,12 +607,11 @@ ...@@ -607,12 +607,11 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ConfigController.GetAccountingList(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.ConfigController.GetAccountingList(Performance.DtoModels.AccoungingRequest)">
<summary> <summary>
获取cof_accounting列表 获取cof_accounting列表
</summary> </summary>
<param name="allotId"></param> <param name="request"></param>
<param name="type">1 返回accounting列表 2 返回核算单元类型 3 返回核算单元</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ConfigController.AccountingInsert(Performance.EntityModels.cof_accounting)"> <member name="M:Performance.Api.Controllers.ConfigController.AccountingInsert(Performance.EntityModels.cof_accounting)">
...@@ -636,6 +635,13 @@ ...@@ -636,6 +635,13 @@
<param name="accountingId"></param> <param name="accountingId"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ConfigController.AccountingVerify(System.Int32)">
<summary>
核算单元及组别数据验证
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.WorkHeader(Performance.DtoModels.WorkItemRequest)"> <member name="M:Performance.Api.Controllers.ConfigController.WorkHeader(Performance.DtoModels.WorkItemRequest)">
<summary> <summary>
获取工作量绩效列头 获取工作量绩效列头
......
...@@ -1149,6 +1149,11 @@ ...@@ -1149,6 +1149,11 @@
岗位系数 岗位系数
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.GiveFee">
<summary>
考核后绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType"> <member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType">
<summary> <summary>
核算单元分类 核算单元分类
...@@ -1819,6 +1824,21 @@ ...@@ -1819,6 +1824,21 @@
比率 比率
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AccoungingRequest.AllotId">
<summary>
绩效Id
</summary>
</member>
<member name="P:Performance.DtoModels.AccoungingRequest.Type">
<summary>
1 返回accounting列表 2 返回核算单元类型 3 返回核算单元
</summary>
</member>
<member name="P:Performance.DtoModels.AccoungingRequest.UnitType">
<summary>
核算单元类型、核算组别
</summary>
</member>
<member name="T:Performance.DtoModels.AgainAllotRequest"> <member name="T:Performance.DtoModels.AgainAllotRequest">
<summary> <summary>
二次分配请求 二次分配请求
......
...@@ -2082,14 +2082,13 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2082,14 +2082,13 @@ public List<SecPrintResponse> Print(int secondId)
//var computes = agcomputeRepository.GetEntities(t => t.SecondId == secondId); //var computes = agcomputeRepository.GetEntities(t => t.SecondId == secondId);
//if (computes == null || !computes.Any()) //if (computes == null || !computes.Any())
// return new List<SecPrintResponse>(); // return new List<SecPrintResponse>();
List<SecPrintResponse> result = new List<SecPrintResponse>();
if (second.UseTempId.HasValue && second.UseTempId == 6) if (second.UseTempId.HasValue && second.UseTempId == 6)
{ {
var data = agothersourceRepository.GetEntities(t => t.SecondId == secondId); var data = agothersourceRepository.GetEntities(t => t.SecondId == secondId);
if (data == null || !data.Any()) return new List<SecPrintResponse>(); if (data == null || !data.Any()) return new List<SecPrintResponse>();
var result = Mapper.Map<List<SecPrintResponse>>(data); result = Mapper.Map<List<SecPrintResponse>>(data);
return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
} }
else if (second.UseTempId.HasValue && (new int[] { 9, 10 }).Contains(second.UseTempId.Value)) else if (second.UseTempId.HasValue && (new int[] { 9, 10 }).Contains(second.UseTempId.Value))
{ {
...@@ -2099,7 +2098,7 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2099,7 +2098,7 @@ public List<SecPrintResponse> Print(int secondId)
var bodyDynamic = agworkloadsourceRepository.GetEntities(t => data.Select(w => w.Id).Contains(t.BodyId)); var bodyDynamic = agworkloadsourceRepository.GetEntities(t => data.Select(w => w.Id).Contains(t.BodyId));
if (data == null || !data.Any()) return new List<SecPrintResponse>(); if (data == null || !data.Any()) return new List<SecPrintResponse>();
var result = data.Select(w => new SecPrintResponse result = data.Select(w => new SecPrintResponse
{ {
JobNumber = w.WorkNumber, JobNumber = w.WorkNumber,
PersonName = w.Name, PersonName = w.Name,
...@@ -2113,8 +2112,6 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2113,8 +2112,6 @@ public List<SecPrintResponse> Print(int secondId)
OtherPerformance = w.OtherPerformance, OtherPerformance = w.OtherPerformance,
NightWorkPerformance = w.NightWorkPerformance, NightWorkPerformance = w.NightWorkPerformance,
}).ToList(); }).ToList();
return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
} }
else else
{ {
...@@ -2124,7 +2121,7 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2124,7 +2121,7 @@ public List<SecPrintResponse> Print(int secondId)
if (fixaitems == null || !fixaitems.Any(t => t.RowNumber.HasValue && t.RowNumber != -1)) return new List<SecPrintResponse>(); 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 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 rownumber in rownumbers) foreach (var rownumber in rownumbers)
{ {
var distperfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "可分配绩效")?.ItemValue); var distperfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "可分配绩效")?.ItemValue);
...@@ -2145,8 +2142,39 @@ public List<SecPrintResponse> Print(int secondId) ...@@ -2145,8 +2142,39 @@ public List<SecPrintResponse> Print(int secondId)
sec.NightWorkPerformance = nightworkperfor; sec.NightWorkPerformance = nightworkperfor;
result.Add(sec); result.Add(sec);
} }
return result.OrderBy(t => t.RowNumber).ToList();
} }
// 补充医院其他绩效 及 预留比例
var perapramounts = perapramountRepository.GetEntities(t => t.AllotId == second.AllotId && t.Status == 3);
var employees = personService.GetPerEmployee(second.AllotId.Value);
// 补充字典中该科室不存在,但有其它绩效的人员信息
if (perapramounts != null && perapramounts.Any(t => t.AccountingUnit == second.Department))
{
var groupData = perapramounts.Where(t => t.AccountingUnit == second.Department).GroupBy(t => t.PersonnelNumber)
.Select(t => new SecPrintResponse
{
JobNumber = t.Key,
PersonName = t.FirstOrDefault(w => !string.IsNullOrEmpty(w.DoctorName))?.DoctorName,
OtherPerformance = t.Sum(w => w.Amount),
RealAmount = t.Sum(w => w.Amount),
});
foreach (var item in groupData)
{
if (!result.Any(w => w.JobNumber == item.JobNumber))
{
per_employee employee = employees?.FirstOrDefault(t => t.PersonnelNumber == item.JobNumber);
if (employee != null && employee.UnitType == second.UnitType)
{
item.Department = employee.AccountingUnit;
item.WorkPost = employee.JobTitle;
result.Add(item);
}
}
}
}
return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
} }
#endregion 打印 #endregion 打印
......
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