รายงาน ขร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.Models.Retirement;
using BMA.EHR.Domain.Shared; using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http.Metadata;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System.Net;
namespace BMA.EHR.Application.Repositories.Reports 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 }) var insigniaList = data.Select(x => new { InsigniaId = x.InsigniaId, InsigniaInitial = x.InsigniaInitial, InsigniaName = x.InsigniaName })
.Distinct().ToList(); .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) foreach (var ins in insigniaList)
{ {
var count = data.Where(x => x.InsigniaId == ins.InsigniaId).Count(); var count = data.Where(x => x.InsigniaId == ins.InsigniaId).Count();
@ -443,12 +477,14 @@ namespace BMA.EHR.Application.Repositories.Reports
Male = 0, Male = 0,
Female = 0, Female = 0,
InsigniaId = ins.InsigniaId, 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 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ //42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ

View file

@ -303,6 +303,9 @@
<None Update="Reports\41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp"> <None Update="Reports\41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>
<None Update="Reports\41-แบบ ขร3 บัญชีรายชื่อข้าราชการผู้ขอพระราชทานเครื่องราชฯ_Back.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Reports\42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp"> <None Update="Reports\42-แบบ ขร4 บัญชีแสดงคุณสมบัติของข้าราชการซึ่งเสนอขอเครื่องราชฯ.trdp">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None> </None>

View file

@ -273,6 +273,8 @@ namespace BMA.EHR.Report.Service.Controllers
//var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"]; //var tbl2 = (Telerik.Reporting.Table)report.Items["detailSection1"].Items["table2"];
//tbl2.DataSource = _Khr3RightList; //tbl2.DataSource = _Khr3RightList;
report.DataSource = data;
System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable(); System.Collections.Hashtable deviceInfo = new System.Collections.Hashtable();
InstanceReportSource instanceReportSource = new InstanceReportSource() InstanceReportSource instanceReportSource = new InstanceReportSource()
{ {