Commit 72039365 by lcx

抽取 可是为空报错,二次绩效打印调整

parent d3a7a20d
...@@ -214,6 +214,12 @@ public AutoMapperConfigs() ...@@ -214,6 +214,12 @@ public AutoMapperConfigs()
.ForMember(dest => dest.WorkTime, opt => opt.MapFrom(src => src.WorkTime == null ? null : src.WorkTime.ToString())) .ForMember(dest => dest.WorkTime, opt => opt.MapFrom(src => src.WorkTime == null ? null : src.WorkTime.ToString()))
.ForMember(dest => dest.BirthDate, opt => opt.MapFrom(src => src.BirthDate == null ? null : src.BirthDate.ToString())) .ForMember(dest => dest.BirthDate, opt => opt.MapFrom(src => src.BirthDate == null ? null : src.BirthDate.ToString()))
.ReverseMap(); .ReverseMap();
CreateMap<ag_othersource, SecPrintResponse>()
.ForMember(dest => dest.WorkPost, opt => opt.MapFrom(src => src.WorkNumber))
.ForMember(dest => dest.PersonName, opt => opt.MapFrom(src => src.Name))
.ForMember(dest => dest.TitlePerfor, opt => opt.MapFrom(src => src.TitlePerformance))
.ReverseMap();
} }
} }
} }
...@@ -15,17 +15,41 @@ public class SecPrintResponse ...@@ -15,17 +15,41 @@ public class SecPrintResponse
/// </summary> /// </summary>
public string PersonName { get; set; } public string PersonName { get; set; }
/// <summary> /// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 职称
/// </summary>
public string WorkPost { get; set; }
/// <summary>
/// 职称绩效 /// 职称绩效
/// </summary> /// </summary>
public decimal? TitlePerfor { get; set; } public decimal? TitlePerfor { get; set; }
/// <summary> /// <summary>
/// 工作量绩效 /// 工作量绩效
/// </summary> /// </summary>
public decimal? WorkPerfor { get; set; } public decimal? WorkPerformance { get; set; }
/// <summary>
/// 科室单项奖励
/// </summary>
public decimal? DeptReward { get; set; }
/// <summary>
/// 可分配绩效
/// </summary>
public decimal? DistPerformance { get; set; }
/// <summary>
/// 医院其他绩效
/// </summary>
public decimal? OtherPerformance { get; set; }
/// <summary>
/// 夜班工作量绩效
/// </summary>
public decimal? NightWorkPerformance { get; set; }
/// <summary> /// <summary>
/// 实发工资 /// 实发绩效工资金额
/// </summary> /// </summary>
public decimal? RealGiveFee { get; set; } public decimal? RealAmount { get; set; }
/// <summary> /// <summary>
/// 签字 /// 签字
/// </summary> /// </summary>
......
using Dapper; using Dapper;
...@@ -540,9 +540,15 @@ private List<NewExtractDto> StandData(IEnumerable<ex_result> results) ...@@ -540,9 +540,15 @@ private List<NewExtractDto> StandData(IEnumerable<ex_result> results)
{ {
if (results == null || !results.Any()) return new List<NewExtractDto>(); if (results == null || !results.Any()) return new List<NewExtractDto>();
var dict = personService.GetDepartments(Allot.HospitalId).ToList(); var dict = personService.GetDepartments(Allot.HospitalId)?.ToList();
if (dict == null || !dict.Any()) if (dict == null || !dict.Any())
return results.Select(t => new NewExtractDto { Department = t.Department, Category = t.Category, Value = (t.Fee ?? 0) == 0 ? null : t.Fee }).ToList(); return results.Select(t => new NewExtractDto
{
SheetName = t.Source,
Department = t.Department,
Category = t.Category,
Value = (t.Fee ?? 0) == 0 ? null : t.Fee
}).ToList();
dict.ForEach(t => dict.ForEach(t =>
{ {
......
...@@ -1354,32 +1354,55 @@ public List<ag_othersource> OtherSave(int secondId, List<ag_othersource> request ...@@ -1354,32 +1354,55 @@ public List<ag_othersource> OtherSave(int secondId, List<ag_othersource> request
public List<SecPrintResponse> Print(int secondId) 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); var computes = perforAgcomputeRepository.GetEntities(t => t.SecondId == secondId);
if (computes == null || !computes.Any()) if (computes == null || !computes.Any())
return new List<SecPrintResponse>(); return new List<SecPrintResponse>();
var itemname = new List<string> { "职称绩效", "工作量绩效工资", "人员工号" };
var fixaitems = perforAgfixatitemRepository.GetEntities(t => t.SecondId == secondId && itemname.Contains(t.ItemName));
var result = new List<SecPrintResponse>(); if (isOtherTemp)
foreach (var item in computes)
{ {
var sec = new SecPrintResponse var data = perforAgothersourceRepository.GetEntities(t => t.SecondId == secondId);
{ if (data == null || !data.Any()) return new List<SecPrintResponse>();
JobNumber = item.JobNumber,
PersonName = item.PersonName, var result = Mapper.Map<List<SecPrintResponse>>(data);
RealGiveFee = item.RealGiveFee, return result.OrderBy(t => t.JobNumber).ThenBy(t => t.PersonName).ToList();
}; }
if (fixaitems != null && fixaitems.Any()) else
{
var itemname = new List<string> { "人员工号", "职称", "职称绩效", "工作量绩效工资", "科室单项奖励", "可分配绩效", "医院其他绩效", "夜班工作量绩效" };
var fixaitems = perforAgfixatitemRepository.GetEntities(t => t.SecondId == secondId && itemname.Contains(t.ItemName));
var result = new List<SecPrintResponse>();
foreach (var item in computes)
{ {
var rownumber = fixaitems.FirstOrDefault(t => t.ItemValue == item.JobNumber).RowNumber; var sec = new SecPrintResponse
sec.RowNumber = rownumber ?? 0; {
sec.TitlePerfor = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称绩效").ItemValue); JobNumber = item.JobNumber,
sec.WorkPerfor = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "工作量绩效工资").ItemValue); PersonName = item.PersonName,
Department = item.Department,
RealAmount = item.RealGiveFee,
};
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);
}
result.Add(sec);
} }
result.Add(sec); return result.OrderBy(t => t.RowNumber).ToList();
} }
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