diff --git a/Services/OrganizationReportService.cs b/Services/OrganizationReportService.cs index e1d5966..18ae25e 100644 --- a/Services/OrganizationReportService.cs +++ b/Services/OrganizationReportService.cs @@ -129,7 +129,7 @@ namespace BMA.EHR.Report.Service.Services } } - private async Task> GetAllOcItemByRootAsync(Guid id, int level = 1) + private async Task> GetAllOcItemByRootAsync(Guid id, string level = "1") { try { @@ -138,16 +138,20 @@ namespace BMA.EHR.Report.Service.Services var oc = await _context.Organizations.FirstOrDefaultAsync(x => x.Id == id); if (oc == null) throw new Exception(GlobalMessages.DataNotFound); - var thisLevel = (level * 10) + oc.OrganizationOrder.Value; + var thisLevel = level; + //var thisLevel = oc.OrganizationOrder.Value; ret.Add(new OrganizationItem { Id = oc.Id, Order = thisLevel.ToString() }); var child = await _context.Organizations.AsQueryable().Where(x => x.ParentId == id).ToListAsync(); if (child.Any()) { + var c = 1; foreach (var item in child) { - ret.AddRange(await GetAllOcItemByRootAsync(item.Id, thisLevel)); + ret.AddRange(await GetAllOcItemByRootAsync(item.Id, $"{thisLevel}-{c}")); + c++; } + } return ret; @@ -438,7 +442,7 @@ namespace BMA.EHR.Report.Service.Services Salary = salaryRecord == null || salaryRecord.Amount == null ? 0 : (int)salaryRecord.Amount!.Value, SalaryPosition = salaryRecord == null || salaryRecord.PositionSalaryAmount == null ? 0 : (int)salaryRecord.PositionSalaryAmount!.Value, - OcOrder = orgWithOrder.Where(x => x.Id == r.ocIdNew).FirstOrDefault() == null ? 0 : orgWithOrder.Where(x => x.Id == r.ocIdNew).FirstOrDefault().Order + OcOrder = orgWithOrder.Where(x => x.Id == r.ocIdNew).FirstOrDefault() == null ? "0" : orgWithOrder.Where(x => x.Id == r.ocIdNew).FirstOrDefault().Order }; results.Add(data); } @@ -721,7 +725,7 @@ namespace BMA.EHR.Report.Service.Services PositionExecutive = pm_exp == null ? "" : $"{pm_exp.Name}\r\n", PositionExecutiveSide = pm.PositionExecutiveSideObject is null ? "" : Newtonsoft.Json.JsonConvert.DeserializeObject>(pm.PositionExecutiveSideObject).GetNameList(), Remark = op.PositionUserNote, - OcOrder = oc.OrganizationOrder.Value, + OcOrder = oc.OrganizationOrder.Value.ToString(), PositionType = pt.Name, @@ -792,7 +796,7 @@ namespace BMA.EHR.Report.Service.Services public string Remark { get; set; } = string.Empty; - public int OcOrder { get; set; } = 0; + public string OcOrder { get; set; } = "0"; public int PositionNumberInt { get; set; } = 0; @@ -833,7 +837,7 @@ namespace BMA.EHR.Report.Service.Services public string Remark { get; set; } = string.Empty; - public int OcOrder { get; set; } = 0; + public string OcOrder { get; set; } = "0"; public int PositionNumberInt { get; set; } = 0;