diff --git a/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs b/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs index 42ca5f2..077b2b1 100644 --- a/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs +++ b/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs @@ -1,4 +1,5 @@ using AutoMapper; +using com.sun.xml.@internal.bind.v2.runtime.unmarshaller; using Elight.Entity; using Elight.Entity.APPDto.Lawyer; using Elight.Entity.AppMode.Lawyer; @@ -63,27 +64,56 @@ namespace _24Hour.Controllers.Common public async Task GetJzFileInfo(IEnumerable jzids) { var result = new Result(); - var list = await _db.Queryable() - .Includes(x => x.jzml, q => q.jzwj) - .Where(x => jzids.Contains(x.Id)) - .ToListAsync(); - var dtos = mapper.Map>(list); - var listdata = dtos.Select(x => new + try { - jzid = x.Id, - files = x.jzml.OrderBy(x => x.mlsxh) - .SelectMany(e => e.jzwj.OrderBy(x => x.wjsxh)) - .Select((q) => new - { - order = q.wjsxh, - fileid = q.Id, - filepath = q.jpgwjlj - }).OrderBy(x => x.order) - }).ToList(); + var jzinfo = await _db.Queryable() + .Includes(x => x.jzml.OrderBy(x => x.mlsxh).ToList()) + .Includes(x => x.jzml, x => x.jzwj.OrderBy(x => x.wjsxh).ToList()) + .In(x => x.Id, jzids).ToListAsync(); + if (jzinfo != null) + { + var a = mapper.Map>(jzinfo); + var data = a.Select(jzinfo => new + { + id = jzinfo.Id, + files = jzinfo?.jzml?.Where(x => x.fmlbh == null) + .OrderBy(x => x.mlsxh) + .Select(juan => + { + return jzinfo.jzml.Where(ml => ml.fmlbh == juan.mlbh) + .OrderBy(sx => sx.mlsxh) + .SelectMany(x => x.jzwj.OrderBy(q => q.wjsxh).ToList()) + .Select(r=>new { + order = r.wjsxh, + fileid = r.Id, + filepath = r.jpgwjlj + }).ToList(); + }) + }); + var resultdata = data.Select(e => new + { + jzid = e.id, + files = e?.files?.SelectMany(q => q).ToList() + }).ToList(); - result.result = listdata; - result.IsSucceed = true; - return result; + result.result = resultdata; + result.IsSucceed = true; + return result; + } + else + { + result.IsSucceed = false; + return result; + } +; + } + catch (Exception ex) + { + logger.LogError(ex, "获取卷宗文件失败"); + result.Message = ex.Message; + result.IsSucceed = false; + return result; + } } /// /// 上传一体机的文件缓存状态