Commit b76517c4 by lcx

绩效详情中根据收费类型分组合并,二次绩效审核提交带入员工号,二次绩效bug修改(获取usetempid根据unittype和dept,获取二次绩效详情时使用request.tempid)

parent bf947789
......@@ -235,7 +235,7 @@ public ApiResponse SubmitAudit(SubmitAuditRequest request)
return new ApiResponse(ResponseType.Fail, "该绩效已\"审核通过\",无需再次提交");
var userid = claimService.GetUserId();
var result = secondAllotService.AuditSubmit(second, request.Type);
var result = secondAllotService.AuditSubmit(second, userid);
return result ? new ApiResponse(ResponseType.OK, "提交成功") : new ApiResponse(ResponseType.Fail, "提交失败");
}
......
......@@ -432,6 +432,17 @@ public DeptDataDetails DeptDetail(int accountId)
ItemValue = t.IsFactor == 1 ? (t.CellValue * (t.FactorValue ?? 0)) : t.CellValue
}).ToList();
if (items != null && items.Any())
{
items = items.GroupBy(t => t.ItemName).Select(t => new DetailModule
{
ItemName = t.Key,
CellValue = t.Sum(group => group.CellValue),
Factor = t.FirstOrDefault().Factor,
ItemValue = t.Sum(group => group.ItemValue),
}).ToList();
}
if (headerData != null && headerData.Any())
{
items = items
......
......@@ -266,7 +266,7 @@ public SecondResponse GetSecondDetail(UseTempRequest request)
var second = perforAgsecondallotRepository.GetEntity(t => t.Id == request.SecondId);
//获取固定模板列 + 工作量列
var headItems = GetHeadItems(usetemp.UseTempId.Value, usetemp.HospitalId.Value, usetemp.Department, usetemp.UnitType);
var headItems = GetHeadItems(request.TempId, usetemp.HospitalId.Value, usetemp.Department, usetemp.UnitType);
var result = new SecondResponse();
......@@ -515,7 +515,7 @@ public bool SaveCompute(List<ag_compute> request)
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public List<SecondTempResponse> GetTemp(int hospitalid, string department,int userId)
public List<SecondTempResponse> GetTemp(int hospitalid, string department, int userId)
{
var temps = perforAgtempRepository.GetEntities();
if (temps != null && temps.Any())
......@@ -788,13 +788,22 @@ public List<ag_secondallot> AuditList(int userId, int allotId)
/// <param name="userId">用户ID</param>
/// <param name="secondId">二次绩效ID</param>
/// <returns></returns>
public bool AuditSubmit(ag_secondallot second, int submittype)
public bool AuditSubmit(ag_secondallot second, int userId)
{
var allot = perforPerallotRepository.GetEntity(t => t.ID == second.AllotId);
if (allot == null)
throw new PerformanceException("二次绩效无效!");
var temp = perforAgusetempRepository.GetEntity(t => t.HospitalId == allot.HospitalId);
var userrole = userroleRepository.GetEntity(t => t.UserID == userId);
var role = roleRepository.GetEntity(t => t.ID == userrole.RoleID);
Expression<Func<ag_usetemp, bool>> exp = t => t.HospitalId == allot.HospitalId && t.Department == second.Department;
if (role.Type == application.DirectorRole)
exp = exp.And(t => new List<string> { UnitType.医生组.ToString(), UnitType.医技组.ToString() }.Contains(t.UnitType));
else if (role.Type == application.NurseRole)
exp = exp.And(t => t.UnitType == UnitType.护理组.ToString());
var temp = perforAgusetempRepository.GetEntity(exp);
if (temp == null)
throw new PerformanceException("选择模板不可用,请确定模板及数据是否存在!");
if (temp.UseTempId == 6)
......@@ -863,7 +872,7 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
var items = perforAgfixatitemRepository.GetEntities(t => t.SecondId == request.SecondId);
if (items != null && items.Any())
{
var rowNumbers = items.Select(t => t.RowNumber).Where(t => t > 0)?.Distinct();
var rowNumbers = items.Select(t => t.RowNumber).Where(t => t >= 0)?.Distinct();
if (rowNumbers != null && rowNumbers.Any())
{
foreach (var item in rowNumbers)
......@@ -873,6 +882,7 @@ public bool ConfirmAudit(int userId, SecondAuditRequest request)
AllotId = second.AllotId,
SecondId = second.Id,
Department = second.Department,
JobNumber = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "人员工号")?.ItemValue,
WorkPost = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "岗位")?.ItemValue,
PersonName = items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "姓名")?.ItemValue,
RealGiveFee = ConvertHelper.TryDecimal(items.FirstOrDefault(t => t.RowNumber == item && t.ItemName == "实发绩效工资金额")?.ItemValue, 0),
......
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