รายงาน ขร3

This commit is contained in:
Suphonchai Phoonsawat 2023-09-08 17:39:17 +07:00
parent 866a47d58e
commit 1dfae43619
5 changed files with 44 additions and 3 deletions

View file

@ -9,7 +9,9 @@ using BMA.EHR.Domain.Models.Organizations;
using BMA.EHR.Domain.Models.Retirement;
using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http.Metadata;
using Microsoft.EntityFrameworkCore;
using System.Net;
namespace BMA.EHR.Application.Repositories.Reports
{
@ -427,6 +429,38 @@ namespace BMA.EHR.Application.Repositories.Reports
var insigniaList = data.Select(x => new { InsigniaId = x.InsigniaId, InsigniaInitial = x.InsigniaInitial, InsigniaName = x.InsigniaName })
.Distinct().ToList();
var tmpOC = data.First().OCName;
var sumData = (from x in data
group x by x.InsigniaName into grp
select new
{
InsigniaName = grp.Key,
SumMale = grp.Sum(x => x.Male),
SumFemale = grp.Sum(x => x.Female)
}).ToList();
var ret = new List<dynamic>();
foreach (var item in data)
{
var p = new
{
InsigniaInitial = item.InsigniaInitial,
InsigniaName = item.InsigniaName,
ProfileId = item.ProfileId,
FullName = item.FullName,
Gender = item.Gender,
Male = item.Male,
Female = item.Female,
InsigniaId = item.InsigniaId,
OCName = item.OCName,
SumMale = sumData.FirstOrDefault(x => x.InsigniaName == item.InsigniaName) == null ? 0 : sumData.FirstOrDefault(x => x.InsigniaName == item.InsigniaName)!.SumMale,
SumFemale = sumData.FirstOrDefault(x => x.InsigniaName == item.InsigniaName) == null ? 0 : sumData.FirstOrDefault(x => x.InsigniaName == item.InsigniaName)!.SumFemale,
};
ret.Add(p);
}
foreach (var ins in insigniaList)
{
var count = data.Where(x => x.InsigniaId == ins.InsigniaId).Count();
@ -443,12 +477,14 @@ namespace BMA.EHR.Application.Repositories.Reports
Male = 0,
Female = 0,
InsigniaId = ins.InsigniaId,
OCName = ""
OCName = tmpOC,
SumMale = sumData.FirstOrDefault(x => x.InsigniaName == ins.InsigniaName) == null ? 0 : sumData.FirstOrDefault(x => x.InsigniaName == ins.InsigniaName)!.SumMale,
SumFemale = sumData.FirstOrDefault(x => x.InsigniaName == ins.InsigniaName) == null ? 0 : sumData.FirstOrDefault(x => x.InsigniaName == ins.InsigniaName)!.SumFemale,
};
data.Add(p);
ret.Add(p);
}
}
return data;
return ret;
}
//42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ