From defda9af96094108d2d56ee2a94bbc6c7aa21884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=87=E9=98=B3=20=E9=82=B9?= Date: Mon, 30 Oct 2023 09:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=86=85=E7=BD=91=E5=BE=8B?= =?UTF-8?q?=E5=B8=88=E9=98=85=E5=8D=B7=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/LawyerArchivesController.cs | 291 +++++++++++++----- .../LawyerArchivesUnAuthorizeController.cs | 24 +- 2 files changed, 220 insertions(+), 95 deletions(-) diff --git a/24Hour/Controllers/Common/LawyerArchivesController.cs b/24Hour/Controllers/Common/LawyerArchivesController.cs index d95a818..427c895 100644 --- a/24Hour/Controllers/Common/LawyerArchivesController.cs +++ b/24Hour/Controllers/Common/LawyerArchivesController.cs @@ -11,12 +11,15 @@ using Elight.Utility.Code; using Elight.Utility.Extensions; using Elight.Utility.logs; using java.lang; +using javax.xml.crypto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.Filters; using Newtonsoft.Json; using SqlSugar; using System.Net.WebSockets; using System.Text; +using static _24Hour.TwentySystemProxyClient; using static com.sun.tools.@internal.xjc.reader.xmlschema.bindinfo.BIConversion; using Exception = System.Exception; using User = Elight.Utility.User; @@ -37,10 +40,9 @@ namespace _24Hour.Controllers.Common App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 private readonly ILogger logger;//日志 Result result = new Result(); - private readonly CaseServiceTwentyClient twentyClient; - + private readonly TwentySystemProxyClient twentyClient; private readonly IMapper mapper; - public LawyerArchivesController(ILogger _logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper, CaseServiceTwentyClient _twentyClient) + public LawyerArchivesController(ILogger _logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper, TwentySystemProxyClient _twentyClient) { this.logger = _logger; _db = db; @@ -60,45 +62,114 @@ namespace _24Hour.Controllers.Common { var res = new Result>(); - var data = await _db.Queryable().Where(x => x.unitCode == _userdata.unitCode && x.IsDeleted == 0).ToListAsync(); - + var data = await _db.Queryable() + .Where(x => x.unitCode == _userdata.unitCode && x.IsDeleted == 0) + .Where(x => x.identity == "律师") + .ToListAsync(); res.IsSucceed = true; res.result = data; - return res; + } + /// + /// 删除律师 + /// + /// + /// + [HttpPost] + [Route("RemoveLawyer")] + public async Task RemoveLawyer(CurrencyDelete Currency) + { + try + { + _db.BeginTran(); + var Deletelist = await _db.Queryable().In(q => q.Id, Currency.id).ToListAsync(); + Deletelist.ForEach(q => + { + q.IsDeleted = 1; + }); + var num = await _db.Updateable(Deletelist).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "删除成功"; + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + result.IsSucceed = false; + result.Message = ex.Message; + logger.LogError(ex, ""); + } + _logs.WriteSysLogadd("律师阅卷服务", "删除律师信息", result, _db); + return result; } + /// - /// 同步外网律师人员信息(未完成) (根据律师身份证号更新或新增用户信息) + /// 修改内网律师信息 /// /// /// [HttpPost] - [Route("AddLawyerInfo")] - public async Task AddLawyer(App_Sys_AddLawyerInput input) + [Route("EditLawyer")] + public async Task EditLawyer(App_Sys_AddLawyerInput input) { try { - var data = await _db.Queryable().FirstAsync(x => x.cardId == input.cardId); + var data = await _db.Queryable().FirstAsync(x => x.Id == input.Id); if (data != null) { data.cardId = input.cardId; data.phone = input.phone; data.name = input.name; + data.departmentName = input.departmentName; + data.identitycardId = input.identitycardId; //update _db.BeginTran(); - - var num = await _db.Updateable(data).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; + } } else + { + result.IsSucceed = false; + result.result = "用户不存在"; + } + } + catch (Exception ex) + { + result.IsSucceed = false; + logger.LogError(ex, ""); + } + return result; + } + /// + /// 同步外网律师人员信息(未完成) (根据律师身份证号更新或新增用户信息) + /// + /// + /// + [HttpPost] + [Route("AddLawyerInfo")] + public async Task AddLawyer(App_Sys_AddLawyerInput input) + { + try + { + var data = await _db.Queryable().FirstAsync(x => x.cardId == input.cardId); + if (data != null) + { + result.IsSucceed = false; + result.Message = "用户已存在"; + return result; + } + else { var user = mapper.Map(input); //user.name = input.name; @@ -106,7 +177,10 @@ namespace _24Hour.Controllers.Common //user.cardId=input.cardId; user.Id = Guid.NewGuid().ToString(); user.unitCode = _userdata.unitCode; - user.department=_userdata.department; + if (user.cardId.Length == 18) + { + user.sex = int.Parse(user.cardId.Substring(16, 1)) % 2; + } user.sex = _userdata.sex; user.usertype = 1; user.isdeactivate = 0; @@ -117,7 +191,6 @@ namespace _24Hour.Controllers.Common user.createusername = _userdata.name; user.createtime = DateTime.Now; user.identity = "律师"; - user.departmentName = _userdata.departmentName; //insert _db.BeginTran(); @@ -151,16 +224,19 @@ namespace _24Hour.Controllers.Common public async Task QueryLawyerArchives([FromQuery] LawyerArchivesInput input) { RefAsync totalNumber = 0;//总数据 + var starttime = input.StartTime ?? DateTime.Now.AddDays(-100); + var endtime = input.EndTime ?? DateTime.Now; //查询律师服务 - var list = await _db.Queryable().LeftJoin((archives, services) => archives.lawyerservicesId == services.Id) - .WhereIF(input.bmsah != null, (archives, services) => archives.bmsah == input.bmsah) - .WhereIF(input.lawyerId != null, (archives, services) => archives.lawyerId == input.lawyerId) - .WhereIF(input.Id != null, (archives, services) => archives.Id == input.Id) - .WhereIF(input.unitCode != null, (archives, services) => services.unitCode == input.unitCode) - .WhereIF(input.receptionuserId != null, (archives, services) => services.receptionuser == input.receptionuserId) - .WhereIF(input.state != null, (archives, services) => services.state == input.state) + var list = await _db.Queryable() + .WhereIF(string.IsNullOrEmpty(input.lawyerName) == false, x => x.lawyerName.Contains(input.lawyerName)) + .WhereIF(string.IsNullOrEmpty(input.party) == false, x => x.party.Contains(input.party)) + .WhereIF(string.IsNullOrEmpty(input.partyCardId) == false, x => x.partycardId == input.partyCardId) + .WhereIF(string.IsNullOrEmpty(input.caseName) == false, x => x.casename.Contains(input.caseName)) + .WhereIF(string.IsNullOrEmpty(input.bmsah) == false, x => x.bmsah.Contains(input.bmsah)) + .Where(x => x.permissibleStartTime > starttime && x.permissibleStartTime < endtime) + .Where(x => x.unitcode == input.unitCode) + .WhereIF(input.Isdelete != null, x => x.IsDeleted == input.Isdelete) .ToPageListAsync(input.PageIndex, input.PageSize, totalNumber); - input.RowsCount = totalNumber; var data = new QueryResult(input, list.OrderByDescending(q => q.createTime).ToList()); result.IsSucceed = true; @@ -178,19 +254,14 @@ namespace _24Hour.Controllers.Common { try { - var data = await _db.Queryable().FirstAsync(x => x.lawyerservicesId == dto.lawyerservicesId); - if (data != null) - { - result.IsSucceed = false; - result.Message = "该预约信息已经处理,无法再次新建阅卷预约"; - return result; - } var entity = mapper.Map(dto); entity.Id = Guid.NewGuid().ToString(); entity.createrId = _userdata.Id; entity.createTime = DateTime.Now; - + entity.status = 0; + entity.copyStatus = 0; + entity.IsDeleted = 0; _db.BeginTran(); var num = await _db.Insertable(entity).ExecuteCommandAsync(); _db.CommitTran(); @@ -212,7 +283,7 @@ namespace _24Hour.Controllers.Common /// /// /// - [HttpDelete] + [HttpPost] [Route("DeleteLawyerArchives")] public async Task DeleteLawyerArchives(CurrencyDelete Currency) { @@ -253,8 +324,12 @@ namespace _24Hour.Controllers.Common { try { + var entity = mapper.Map(Lawyerdata); _db.BeginTran(); - var num = await _db.Updateable(Lawyerdata).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + var num = await _db.Updateable(entity) + .WhereColumns(x => x.Id) + .IgnoreColumns(ignoreAllNullColumns: true) + .ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { @@ -268,68 +343,107 @@ namespace _24Hour.Controllers.Common result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "删除律师阅卷预约"); + } _logs.WriteSysLogadd("律师阅卷服务", "删除律师阅卷预约", result, _db); return result; } /// - /// 从2.0系统查询案件信息(假数据) + /// 从2.0系统查询案件信息 /// /// /// /// 接口,还没有确定好这个接口返回的数据的具体格式 [HttpGet] [Route("QueryCaseFromtwenty")] - public Task QueryCaseFromtwenty(string? bmsah, string? name, string? casename) + public async Task>> QueryCaseFromtwenty(string? bmsah, string? dwbm, string? casename, DateTime? starttime, DateTime? endtime, int page, int size) { - result.IsSucceed = true; - result.result = new[] - { - new - { - bmsah="安北检刑诉受[2023]433333333333号", - casename="张三杀人案", - } - }; - return Task.FromResult(result); + return await twentyClient.GetCaseList(casename, bmsah, dwbm, starttime, endtime, page, size); } /// - /// 从2.0系统查询卷宗信息(假数据) + /// 从2.0系统查询卷宗信息 /// /// /// /// 数据的返回格式已确定,内容时真实数据经过修改的 [HttpGet] [Route("QueryFileFromtwenty")] - public async Task QueryFileFromtwenty(string bmsah) + public async Task QueryFileFromtwenty(string bmsah, string dwbm) { - if (bmsah == "安北检刑诉受[2023]433333333333号") + var reponse = await twentyClient.GetArchivesInfo(bmsah, dwbm); + if (reponse.IsSucceed == true) { - var a = await twentyClient.GetArchivesInfo(bmsah); + var a = reponse.result; var data = new[] - { - new { - id = a.jzbh, - lable = a.jzmc, - children = a?.jzml?.Select(x => new - { - id = x.mlbh, - lable = x.mlxsmc, - children = x.jzwj.Select(q => new - { - id = q.wjxh, - lable = q.wjxsmc, - filepath = q.jpgwjlj - }) - }) - } - }; + { + new { + id = a.jzbh, + lable = a.jzmc, + children = a?.jzml?.OrderBy(x=>x.mlsxh).Select(x => new + { + id = x.mlbh, + lable = x.mlxsmc, + children = x.jzwj.OrderBy(x=>x.wjsxh).Select(q => new + { + id = q.wjxh, + lable = q.wjxsmc, + filepath = q.jpgwjlj + }) + }) + } + }; result.IsSucceed = true; result.result = data; } else { result.IsSucceed = false; + result.Message = reponse.Message; + } + return result; + } + /// + /// PC端根据卷宗id获取卷宗信息 + /// + /// + /// + [HttpGet] + [Route("QueryArchiveByIdPC")] + public async Task QueryArchiveByIdPC(string jzid) + { + var list = await _db.Queryable() + .Includes(x => x.jzml.OrderBy(x => x.mlsxh).ToList()) + .Includes(x => x.jzml, x => x.jzwj.OrderBy(x => x.wjsxh).ToList()) + .FirstAsync(x => x.Id == jzid); + if (list!=null) + { + var a = mapper.Map(list); + + var data = new[] + { + new { + id = a.jzbh, + lable = a.jzmc, + children = a?.jzml?.OrderBy(x=>x.mlsxh).Select(x => new + { + id = x.mlbh, + lable = x.mlxsmc, + children = x.jzwj.OrderBy(x=>x.wjsxh).Select(q => new + { + id = q.wjxh, + lable = q.wjxsmc, + filepath = q.jpgwjlj + }) + }) + } + }; + result.IsSucceed = true; + result.result = data; + } + else + { + result.IsSucceed = false; + result.Message = "卷宗不存在"; } return result; } @@ -351,24 +465,35 @@ namespace _24Hour.Controllers.Common { try { - var dto = await twentyClient.GetArchivesInfo(input.Bmsah); - //先将没有被选中的第三级文件排除 - foreach (var item in dto.jzml) + var reponse = await twentyClient.GetArchivesInfo(input.Bmsah, _userdata.unitCode); + if (reponse.IsSucceed == true) { - item.jzwj = item.jzwj.Where(x => input.Ids.Contains(x.wjxh)).ToList(); + var dto = reponse.result; + //先将没有被选中的第三级文件排除 + foreach (var item in dto.jzml) + { + item.jzwj = item.jzwj.Where(x => input.Ids.Contains(x.wjxh)).ToList(); + } + //再排除没有文件的目录信息 + //这样筛选后获取的数据就可以保证不会出现空子节点的父节点 + dto.jzml = dto.jzml.Where(x => x.jzwj.Any()).ToList(); + + var insert = await AddArchivesInfo(dto); + result.result = insert.result.Id; + result.IsSucceed = true; + } + else + { + result.IsSucceed = false; + result.Message = reponse.Message; } - //再排除没有文件的目录信息 - //这样筛选后获取的数据就可以保证不会出现空子节点的父节点 - dto.jzml = dto.jzml.Where(x => x.jzwj.Any()).ToList(); - var insert = await AddArchivesInfo(dto); - result.result = insert.result.Id; - result.IsSucceed = true; } catch (Exception ex) { result.IsSucceed = false; result.Message = ex.Message; + logger.LogError(ex, "AddArchivesInfoByChildId"); } return result; } @@ -383,18 +508,18 @@ namespace _24Hour.Controllers.Common try { var list = await _db.Queryable() - .Includes(x => x.jzml.OrderBy(x=>x.mlsxh).ToList()) - .Includes(x=>x.jzml,x=>x.jzwj) + .Includes(x => x.jzml.OrderBy(x => x.mlsxh).ToList()) + .Includes(x => x.jzml, x => x.jzwj.OrderBy(x => x.wjsxh).ToList()) .FirstAsync(x => x.Id == jzid); var data = mapper.Map(list); - + result.result = data; result.IsSucceed = true; } catch (Exception ex) { - + logger.LogError(ex, "QueryArchiveById"); } return result; } @@ -410,8 +535,9 @@ namespace _24Hour.Controllers.Common logger.LogInformation("12312312312"); var list = await _db.Queryable() .Where(x => x.lawyerId == _userdata.Id) - .Where(x => x.status == 0) + .Where(x => x.status == 0 || x.status == 1) .Where(x => x.permissibleStartTime <= DateTime.Now && x.permissibleEndTime >= DateTime.Now) + .Where(x => x.IsDeleted == 0) .ToListAsync(); var data = mapper.Map>(list); @@ -420,11 +546,10 @@ namespace _24Hour.Controllers.Common } catch (Exception ex) { - + logger.LogError(ex, "QueryReservedInfo"); } return result; } - #endregion #region HiddenApi /// @@ -458,6 +583,7 @@ namespace _24Hour.Controllers.Common } catch (Exception ex) { + logger.LogError(ex, "AddArchivesInfo"); result.IsSucceed = false; return res; } @@ -519,7 +645,6 @@ namespace _24Hour.Controllers.Common { public string QRData { get; set; } } - ///// ///// 加密二维码信息 ///// diff --git a/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs b/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs index 813e97e..4deb315 100644 --- a/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs +++ b/24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs @@ -33,7 +33,7 @@ namespace _24Hour.Controllers.Common #endregion /// - /// 一体机查询所有的待查阅的预约信息 + /// 一体机查询所有的未完成的预约信息 /// /// [HttpGet("GetAllArchivesUncompleted")] @@ -42,8 +42,9 @@ namespace _24Hour.Controllers.Common var res = new Result>(); var list = await _db.Queryable() .Where(x => x.IsDeleted == 0) - .Where(x => x.status == 0 && x.permissibleEndTime > DateTime.Now) + .Where(x => x.status != 2 && x.permissibleEndTime > DateTime.Now) .Where(x => x.unitcode == unitcode) + .Where(x=>x.IsDeleted==0) .ToListAsync(); var data = mapper.Map>(list); res.result = data; @@ -63,21 +64,20 @@ namespace _24Hour.Controllers.Common .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 { - jzid = x.Id, - - files = x.jzml - .SelectMany(e => e.jzwj) - .Select(q => new + 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(); + result.result = listdata; result.IsSucceed = true; return result; @@ -94,13 +94,13 @@ namespace _24Hour.Controllers.Common Result result = new(); try { - result.result = Encoding.UTF8.GetString(Convert.FromBase64String(data.QRData)); result.IsSucceed = true; return Task.FromResult(result); } - catch + catch(Exception ex) { + logger.LogError(ex,""); result.IsSucceed = false; return Task.FromResult(result); }