From 926f02c16fa14c6ff248cce2b59ef285221553e8 Mon Sep 17 00:00:00 2001 From: Kittapath Date: Tue, 9 Jul 2024 00:04:29 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=81=E0=B9=89env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/release.yaml | 3 +- Controllers/ProfileReportController.cs | 326 +------------------------ Report/Profile/rptKK1_Page0.trdp | Bin 3093 -> 3095 bytes 3 files changed, 3 insertions(+), 326 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index ec6e665..e1747a0 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -13,7 +13,8 @@ env: IMAGE_NAME: ehr/bma-ehr-report-service DEPLOY_HOST: frappet.com DEPLOY_PORT: 10102 - COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report + COMPOSE_PATH: /home/frappet/docker/bma-ehr + # COMPOSE_PATH: /home/frappet/docker/bma/bma-ehr-report TOKEN_LINE: uxuK5hDzS2DsoC5piJBrWRLiz8GgY7iMZZldOWsDDF0 jobs: diff --git a/Controllers/ProfileReportController.cs b/Controllers/ProfileReportController.cs index dda3401..935fd5a 100644 --- a/Controllers/ProfileReportController.cs +++ b/Controllers/ProfileReportController.cs @@ -81,181 +81,6 @@ namespace BMA.EHR.Report.Service.Controllers { try { - // var profile_salaries = (from ps in _context.ProfileSalaries - // join pos in _context.PositionPaths - // on ps.PositionId equals pos.Id - // where ps.Profile.Id == id - // select new - // { - // ProfileId = ps.Profile.Id, - // PositionName = pos.Name, - // ps.OcId, - // SalaryDateAnnounce = ps.Date, - // ps.Amount, - // ps.PositionSalaryAmount - // }).ToList(); - - // var profiles = _context.Profiles.AsQueryable() - // .Include(x => x.Avatar) - // .Include(x => x.Salaries) - // .Include(x => x.Educations) - // .ToList(); - // var prefixes = _context.Prefixes.ToList(); - // var profile = (from p in profiles - // join pf in prefixes on p.PrefixId equals pf.Id - // where p.Id == id - // select new - // { - // CitizenId = p.CitizenId, - // Prefix = pf.Name, - // p.FirstName, - // p.LastName, - // DateOfBirth = p.BirthDate.ToThaiShortDate(), - // DateRetire = p.BirthDate.CalculateRetireDate().ToThaiShortDate(), - // RegistrationAddress = p.RegistrationAddress, - // RegistrationProvince = _context.Provinces.AsQueryable().FirstOrDefault(x => x.Id == p.RegistrationProvinceId)?.Name, - // RegistrationDistrict = _context.Districts.AsQueryable().FirstOrDefault(x => x.Id == p.RegistrationDistrictId)?.Name, - // RegistrationSubDistrict = _context.SubDistricts.AsQueryable().FirstOrDefault(x => x.Id == p.RegistrationSubDistrictId)?.Name, - // RegistrationZipCode = p.RegistrationZipCode, - // OcFullPath = _profileService.GetOrganizationNameFullPath(p.OcId.Value, false, false), - // DateAppoint = p.DateAppoint == null ? "" : p.DateAppoint.Value.ToThaiShortDate(), - // Salaries = profile_salaries, - // SalaryAmount = p.Salaries.Count == 0 ? "-" - // : $"{p.Salaries.OrderByDescending(s => s.Date.Value).FirstOrDefault().Amount.Value.ToString("#,##0")}", - // Education = p.Educations.Count == 0 ? "-" - // : $"{p.Educations.OrderByDescending(e => e.EndDate.Value.Year).FirstOrDefault().Degree} {p.Educations.OrderByDescending(e => e.EndDate.Value.Year).FirstOrDefault().Field}", - // AvatarId = p.Avatar == null ? "" : p.Avatar.Id.ToString("D") - // }).FirstOrDefault(); - // // _context.PositionPaths.AsQueryable().FirstOrDefault(x => x.Id == p.PositionId)?.Name, - - // var data = new List(); - // var c = 1; - // if (profile.Salaries.Count == 0) - // { - // var ret2 = new - // { - // CitizenId = profile.CitizenId, - // Prefix = profile.Prefix, - // FirstName = profile.FirstName, - // LastName = profile.LastName, - // DateOfBirth = profile.DateOfBirth, - // DateRetire = profile.DateRetire, - // RegistrationAddress = $"{profile.RegistrationAddress}\r\nตำบล/แขวง {profile.RegistrationSubDistrict}\r\nเขต/อำเภอ {profile.RegistrationDistrict}\r\nจังหวัด {profile.RegistrationProvince} รหัสไปรษณีย์ {profile.RegistrationZipCode}", - // SalaryAmount = profile.SalaryAmount, - // Education = profile.Education, - // AppointText = "", - // SalaryDate = profile.DateAppoint, - // PositionName = "", - // OCFullPath = profile.OcFullPath - // }; - // data.Add(ret2); - // } - // var old_date = DateTime.Now; - // var old_position = ""; - // var old_ocid = Guid.NewGuid(); - // dynamic ret; - - // //for (int i = 0; i <= 20; i++) - // //{ - // // var s = profile.Salaries[0]; - // // old_date = s.SalaryDateAnnounce.Value; - // // old_position = s.PositionName; - // // old_ocid = s.OcId.Value; - // // ret = new - // // { - // // CitizenId = profile.CitizenId, - // // Prefix = profile.Prefix, - // // FirstName = profile.FirstName, - // // LastName = profile.LastName, - // // DateOfBirth = profile.DateOfBirth, - // // DateRetire = profile.DateRetire, - // // RegistrationAddress = $"{profile.RegistrationAddress}\r\nตำบล/แขวง {profile.RegistrationSubDistrict}\r\nเขต/อำเภอ {profile.RegistrationDistrict}\r\nจังหวัด {profile.RegistrationProvince} รหัสไปรษณีย์ {profile.RegistrationZipCode}", - // // SalaryAmount = profile.SalaryAmount, - // // Education = profile.Education, - // // AppointText = c == 1 ? "(เริ่มรับราชการ)" : "", - // // SalaryDate = s.SalaryDateAnnounce.Value.ToThaiShortDate(), - // // PositionName = s.PositionName, - // // OCFullPath = _profileService.GetOrganizationNameFullPath(s.OcId.Value, false, false) - // // }; - // // data.Add(ret); - // //} - - // foreach (var s in profile.Salaries) - // { - // //if((old_date.Date != s.SalaryDateAnnounce.Value.Date)) - // //{ - // // old_date = s.SalaryDateAnnounce.Value; - // // old_position= s.PositionName; - // // old_ocid = s.OcId; - - // // ret = new - // // { - // // CitizenId = profile.CitizenId, - // // Prefix = profile.Prefix, - // // FirstName = profile.FirstName, - // // LastName = profile.LastName, - // // DateOfBirth = profile.DateOfBirth, - // // RegistrationAddress = profile.RegistrationAddress, - // // SalaryAmount = profile.SalaryAmount, - // // Education = profile.Education, - // // AppointText = c == 1 ? "(เริ่มรับราชการ)" : "", - // // SalaryDate = s.SalaryDateAnnounce.Value.ToThaiShortDate(), - // // PositionName = s.PositionName, - // // OCFullPath = CoreCommandReport.GetOrganizationNameFullPath(s.OcId, false, false) - // // }; - // // data.Add(ret); - // //} - // if (old_position != s.PositionName) - // { - // old_date = s.SalaryDateAnnounce.Value; - // old_position = s.PositionName; - // old_ocid = s.OcId.Value; - // ret = new - // { - // CitizenId = profile.CitizenId, - // Prefix = profile.Prefix, - // FirstName = profile.FirstName, - // LastName = profile.LastName, - // DateOfBirth = profile.DateOfBirth, - // DateRetire = profile.DateRetire, - // RegistrationAddress = $"{profile.RegistrationAddress}\r\nตำบล/แขวง {profile.RegistrationSubDistrict}\r\nเขต/อำเภอ {profile.RegistrationDistrict}\r\nจังหวัด {profile.RegistrationProvince} รหัสไปรษณีย์ {profile.RegistrationZipCode}", - // SalaryAmount = profile.SalaryAmount, - // Education = profile.Education, - // AppointText = c == 1 ? "(เริ่มรับราชการ)" : "", - // SalaryDate = s.SalaryDateAnnounce.Value.ToThaiShortDate(), - // PositionName = s.PositionName, - // OCFullPath = _profileService.GetOrganizationNameFullPath(s.OcId.Value, false, false) - // }; - // data.Add(ret); - // } - // else if (old_ocid != s.OcId) - // { - // old_date = s.SalaryDateAnnounce.Value; - // old_position = s.PositionName; - // old_ocid = s.OcId.Value; - // ret = new - // { - // CitizenId = profile.CitizenId, - // Prefix = profile.Prefix, - // FirstName = profile.FirstName, - // LastName = profile.LastName, - // DateOfBirth = profile.DateOfBirth, - // DateRetire = profile.DateRetire, - // RegistrationAddress = $"{profile.RegistrationAddress}\r\nตำบล/แขวง {profile.RegistrationSubDistrict}\r\nเขต/อำเภอ {profile.RegistrationDistrict}\r\nจังหวัด {profile.RegistrationProvince} รหัสไปรษณีย์ {profile.RegistrationZipCode}", - // SalaryAmount = profile.SalaryAmount, - // Education = profile.Education, - // AppointText = c == 1 ? "(เริ่มรับราชการ)" : "", - // SalaryDate = s.SalaryDateAnnounce.Value.ToThaiShortDate(), - // PositionName = s.PositionName, - // OCFullPath = _profileService.GetOrganizationNameFullPath(s.OcId.Value, false, false), - - // }; - // data.Add(ret); - // } - - // c++; - // } - var rptFile = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Profile", $"rptShortKp7.trdp"); ReportPackager reportPackager = new ReportPackager(); @@ -282,10 +107,7 @@ namespace BMA.EHR.Report.Service.Controllers report.DataSource = org.result; CitizenId = org.result.CitizenId; var tblEducation = (Telerik.Reporting.Table)report.Items["groupHeaderSection"].Items["tblEducation"]; - Console.WriteLine("ssssssssssssssssssssss"); - Console.WriteLine(org.result.Education); tblEducation.DataSource = org.result.Education; - Console.WriteLine("aaaaaaaaaaaaaaaaaaaaaa"); // report.DataSource = data; // if (profile.AvatarId != "") @@ -339,152 +161,6 @@ namespace BMA.EHR.Report.Service.Controllers { try { - // var profile = (from p in _context.Profiles - // join pf in _context.Prefixes on p.PrefixId equals pf.Id into p_pf_join - // from p_pf in p_pf_join.DefaultIfEmpty() - // join cpf in _context.Prefixes on p.CouplePrefixId equals cpf.Id into c_pf_join - // from c_pf in c_pf_join.DefaultIfEmpty() - // join fpf in _context.Prefixes on p.FatherPrefixId equals fpf.Id into f_pf_join - // from f_pf in f_pf_join.DefaultIfEmpty() - // join mpf in _context.Prefixes on p.MotherPrefixId equals mpf.Id into m_pf_join - // from m_pf in m_pf_join.DefaultIfEmpty() - // where p.Id == id - // select new - // { - // p.CitizenId, - // Prefix = p_pf == null ? "" : p_pf.Name, - // p.FirstName, - // p.LastName, - // FullName = $"{p.FirstName} {p.LastName}", - // BirthDay = p.BirthDate.Day, - // BirthDayText = Convert.ToDecimal(p.BirthDate.Day).ThaiBahtText(UsesEt.Always, GreatFriends.ThaiBahtText.Unit.Baht, 2, false).Replace("บาท", ""), - // BirthMonth = p.BirthDate.Month.ToThaiMonth(), - // BirthYear = p.BirthDate.Year.ToThaiYear(), - // BirthYearText = Convert.ToDecimal(p.BirthDate.Year.ToThaiYear()).ThaiBahtText(UsesEt.Always, GreatFriends.ThaiBahtText.Unit.Baht, 2, false).Replace("บาท", ""), - // Address = "", - // District = "", - // Area = "", - // Province = "", - // Telephone = p.TelephoneNumber, - // CoupleLastNameOld = p == null ? "" : p.CoupleLastNameOld, - // CouplePrefix = c_pf == null ? "" : c_pf.Name, - // CoupleFullName = $"{p.CoupleFirstName} {p.CoupleLastName}".Trim(), - // FatherPrefix = f_pf == null ? "" : f_pf.Name, - // FatherFullName = $"{p.FatherFirstName} {p.FatherLastName}".Trim(), - // MotherPrefix = m_pf == null ? "" : m_pf.Name, - // MotherFullName = $"{p.MotherFirstName} {p.MotherLastName}".Trim(), - // OcId = p.OcId, - // OcFullPath = _profileService.GetOrganizationNameFullPath(p.OcId.Value, false, false), - // Division = "", - // Institute = "", - // StartDate = p.DateStart == null ? "" : p.DateStart.Value.ToThaiShortDate(), - // AppointDate = p.DateAppoint == null ? "" : p.DateAppoint.Value.ToThaiShortDate(), - // BirthDate = p.BirthDate.ToThaiShortDate(), - // RetireDate = p.BirthDate.CalculateRetireDate().ToThaiShortDate(), - // AvatarId = p.Avatar == null ? "" : p.Avatar.Id.ToString("D") - // }).ToList(); - - // if (!profile.Any()) - // return Error(GlobalMessages.DataNotFound, StatusCodes.Status404NotFound); - - // // certificate - // var cert = (from c in _context.ProfileCertificates.AsQueryable() - // where c.Profile.Id == id - // orderby c.IssueDate.Value.Year - // select new - // { - // c.CertificateType, - // c.Issuer, - // c.CertificateNo, - // IssueDate = c.IssueDate == null ? "" : c.IssueDate.Value.ToThaiShortDate() - // }).ToList(); - - // // add temp rows - // while (cert.Count < 3) - // { - // cert.Add(new - // { - // CertificateType = "", - // Issuer = "", - // CertificateNo = "", - // IssueDate = "" - // }); - // } - - // // training - // var training = (from t in _context.ProfileTrainings.AsQueryable() - // where t.Profile.Id == id - // orderby t.StartDate.Value.Year - // select new - // { - // Institute = t.Department, - // Start = t.StartDate == null ? "" : t.StartDate.Value.Year.ToThaiYear().ToString(), - // End = t.EndDate == null ? "" : t.EndDate.Value.Year.ToThaiYear().ToString(), - // Level = "", - // Degree = t.Name, - // Field = "" - // }).ToList(); - - // while (training.Count < 3) - // { - // training.Add(new - // { - // Institute = "", - // Start = "", - // End = "", - // Level = "", - // Degree = "", - // Field = "" - // }); - // } - - // // disciplines - // var discipline = (from d in _context.ProfileDisciplines.AsQueryable() - // where d.Profile.Id == id - // orderby d.Date.Value.Year - // select new - // { - // DisciplineYear = d.Date == null ? "" : d.Date.Value.Year.ToThaiYear().ToString(), - // DisciplineDetail = d.Detail, - // RefNo = d.RefCommandNo - // }).ToList(); - - // while (discipline.Count < 3) - // { - // discipline.Add(new - // { - // DisciplineYear = "", - // DisciplineDetail = "", - // RefNo = "" - // }); - // } - - // // education - // var education = (from e in _context.ProfileEducations.AsQueryable() - // where e.Profile.Id == id - // orderby e.StartDate.Value.Year - // select new - // { - // Institute = e.Institute, - // Start = e.StartDate == null ? "" : e.StartDate.Value.Year.ToThaiYear().ToString(), - // End = e.EndDate == null ? "" : e.EndDate.Value.Year.ToThaiYear().ToString(), - // Level = e.EducationLevel, - // Degree = e.Degree, - // Field = e.Field.Trim() == "-" ? "" : e.Field - // }).ToList(); - - // while (education.Count < 4) - // { - // education.Add(new - // { - // Institute = "", - // Start = "", - // End = "", - // Level = "", - // Degree = "", - // Field = "" - // }); - // } var rptFile0 = Path.Combine(_hostingEnvironment.ContentRootPath, "Report", "Profile", $"rptKK1_Page0.trdp"); ReportPackager reportPackager0 = new ReportPackager(); Telerik.Reporting.Report? report0 = null; @@ -522,7 +198,7 @@ namespace BMA.EHR.Report.Service.Controllers tblInsignia.DataSource = org.result.Insignia; var tblLeave= (Telerik.Reporting.Table)report0.Items["detailSection1"].Items["tblLeave"]; - tblLeave.DataSource = org.result.Leave; ; + tblLeave.DataSource = org.result.Leave; report.DataSource = org.result.Profile; // binding to table diff --git a/Report/Profile/rptKK1_Page0.trdp b/Report/Profile/rptKK1_Page0.trdp index 1c2dfcbf2afc7f39a7b149004aacd45578b4cb83..17cb61cf7e750e1d763e9c48dea57598707faccc 100644 GIT binary patch delta 2737 zcmV;i3QqNv7?&6qP)h>@6aWAK2mm3c=vY0g@%vf|003f<7es$i@2k`zw&5md8W@(B z0sAsA(#0l9kpfAj_J#m!7QpGSeOT)(=n51|0;53!qf6Q%)PKW2Wp@wX??{QH#oC!K z2ol}fb4T9qx!328gAWd;ns5)9mTKrju_4t(0qJ97qU!rYacNc?9l-Z|7g|~g+Ca^l!$7J0v4`YL-D}2XTPo0 ztnmSwDwbp;4VmgE(%6{ROpuFntI2h_S(BxPh_e%f!3`TtE%=EYJIX$~j+6;9M`� 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