Commit 72039365 by lcx

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

parent d3a7a20d
......@@ -214,6 +214,12 @@ public AutoMapperConfigs()
.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()))
.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
/// </summary>
public string PersonName { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 职称
/// </summary>
public string WorkPost { get; set; }
/// <summary>
/// 职称绩效
/// </summary>
public decimal? TitlePerfor { get; set; }
/// <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>
public decimal? RealGiveFee { get; set; }
public decimal? RealAmount { get; set; }
/// <summary>
/// 签字
/// </summary>
......
using Dapper;
using Dapper;
......@@ -540,9 +540,15 @@ private List<NewExtractDto> StandData(IEnumerable<ex_result> results)
{
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())
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 =>
{
......
......@@ -1354,32 +1354,55 @@ public List<ag_othersource> OtherSave(int secondId, List<ag_othersource> request
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 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)
if (isOtherTemp)
{
var sec = new SecPrintResponse
{
JobNumber = item.JobNumber,
PersonName = item.PersonName,
RealGiveFee = item.RealGiveFee,
};
if (fixaitems != null && fixaitems.Any())
var data = perforAgothersourceRepository.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();
}
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;
sec.RowNumber = rownumber ?? 0;
sec.TitlePerfor = ConvertHelper.To<decimal>(fixaitems.FirstOrDefault(t => t.RowNumber == rownumber && t.ItemName == "职称绩效").ItemValue);
sec.WorkPerfor = 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,
};
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