Commit dabea9e0 by ruyun.zhang@suvalue.com

Merge branch 'hotfix/打印少人'

parents 2b44bef5 7382cf98
......@@ -607,12 +607,11 @@
<param name="request"></param>
<returns></returns>
</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>
获取cof_accounting列表
</summary>
<param name="allotId"></param>
<param name="type">1 返回accounting列表 2 返回核算单元类型 3 返回核算单元</param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.AccountingInsert(Performance.EntityModels.cof_accounting)">
......@@ -636,6 +635,13 @@
<param name="accountingId"></param>
<returns></returns>
</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)">
<summary>
获取工作量绩效列头
......
......@@ -1149,6 +1149,11 @@
岗位系数
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.GiveFee">
<summary>
考核后绩效
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataClinicEmployee.UnitType">
<summary>
核算单元分类
......@@ -1819,6 +1824,21 @@
比率
</summary>
</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">
<summary>
二次分配请求
......
......@@ -2082,14 +2082,13 @@ public List<SecPrintResponse> Print(int secondId)
//var computes = agcomputeRepository.GetEntities(t => t.SecondId == secondId);
//if (computes == null || !computes.Any())
// return new List<SecPrintResponse>();
List<SecPrintResponse> result = new List<SecPrintResponse>();
if (second.UseTempId.HasValue && second.UseTempId == 6)
{
var data = agothersourceRepository.GetEntities(t => t.SecondId == secondId);
if (data == null || !data.Any()) return new List<SecPrintResponse>();
var result = Mapper.Map<List<SecPrintResponse>>(data);
return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
result = Mapper.Map<List<SecPrintResponse>>(data);
}
else if (second.UseTempId.HasValue && (new int[] { 9, 10 }).Contains(second.UseTempId.Value))
{
......@@ -2099,7 +2098,7 @@ public List<SecPrintResponse> Print(int secondId)
var bodyDynamic = agworkloadsourceRepository.GetEntities(t => data.Select(w => w.Id).Contains(t.BodyId));
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,
PersonName = w.Name,
......@@ -2113,8 +2112,6 @@ public List<SecPrintResponse> Print(int secondId)
OtherPerformance = w.OtherPerformance,
NightWorkPerformance = w.NightWorkPerformance,
}).ToList();
return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
}
else
{
......@@ -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>();
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)
{
var distperfor = ConvertHelper.To<decimal?>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "可分配绩效")?.ItemValue);
......@@ -2145,8 +2142,39 @@ public List<SecPrintResponse> Print(int secondId)
sec.NightWorkPerformance = nightworkperfor;
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 打印
......
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