Browse Source

修改内网律师阅卷模块

develop-lawyerExampaper
胡超1 2 years ago
parent
commit
defda9af96
  1. 237
      24Hour/Controllers/Common/LawyerArchivesController.cs
  2. 22
      24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs

237
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<LawyerArchivesController> logger;//日志
Result result = new Result();
private readonly CaseServiceTwentyClient twentyClient;
private readonly TwentySystemProxyClient twentyClient;
private readonly IMapper mapper;
public LawyerArchivesController(ILogger<LawyerArchivesController> _logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper, CaseServiceTwentyClient _twentyClient)
public LawyerArchivesController(ILogger<LawyerArchivesController> _logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper, TwentySystemProxyClient _twentyClient)
{
this.logger = _logger;
_db = db;
@ -60,43 +62,112 @@ namespace _24Hour.Controllers.Common
{
var res = new Result<IEnumerable<App_Sys_UserModel>>();
var data = await _db.Queryable<App_Sys_UserModel>().Where(x => x.unitCode == _userdata.unitCode && x.IsDeleted == 0).ToListAsync();
var data = await _db.Queryable<App_Sys_UserModel>()
.Where(x => x.unitCode == _userdata.unitCode && x.IsDeleted == 0)
.Where(x => x.identity == "律师")
.ToListAsync();
res.IsSucceed = true;
res.result = data;
return res;
}
/// <summary>
/// 删除律师
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("RemoveLawyer")]
public async Task<Result> RemoveLawyer(CurrencyDelete Currency)
{
try
{
_db.BeginTran();
var Deletelist = await _db.Queryable<App_Sys_UserModel>().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;
}
/// <summary>
/// 同步外网律师人员信息(未完成) (根据律师身份证号更新或新增用户信息)
/// 修改内网律师信息
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("AddLawyerInfo")]
public async Task<Result> AddLawyer(App_Sys_AddLawyerInput input)
[Route("EditLawyer")]
public async Task<Result> EditLawyer(App_Sys_AddLawyerInput input)
{
try
{
var data = await _db.Queryable<App_Sys_UserModel>().FirstAsync(x => x.cardId == input.cardId);
var data = await _db.Queryable<App_Sys_UserModel>().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;
}
/// <summary>
/// 同步外网律师人员信息(未完成) (根据律师身份证号更新或新增用户信息)
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost]
[Route("AddLawyerInfo")]
public async Task<Result> AddLawyer(App_Sys_AddLawyerInput input)
{
try
{
var data = await _db.Queryable<App_Sys_UserModel>().FirstAsync(x => x.cardId == input.cardId);
if (data != null)
{
result.IsSucceed = false;
result.Message = "用户已存在";
return result;
}
else
{
@ -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<Result> QueryLawyerArchives([FromQuery] LawyerArchivesInput input)
{
RefAsync<int> totalNumber = 0;//总数据
var starttime = input.StartTime ?? DateTime.Now.AddDays(-100);
var endtime = input.EndTime ?? DateTime.Now;
//查询律师服务
var list = await _db.Queryable<LawyerArchives>().LeftJoin<App_LawyerServicesModel>((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<LawyerArchives>()
.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<LawyerArchives>(input, list.OrderByDescending(q => q.createTime).ToList());
result.IsSucceed = true;
@ -178,19 +254,14 @@ namespace _24Hour.Controllers.Common
{
try
{
var data = await _db.Queryable<LawyerArchives>().FirstAsync(x => x.lawyerservicesId == dto.lawyerservicesId);
if (data != null)
{
result.IsSucceed = false;
result.Message = "该预约信息已经处理,无法再次新建阅卷预约";
return result;
}
var entity = mapper.Map<LawyerArchives>(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
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpDelete]
[HttpPost]
[Route("DeleteLawyerArchives")]
public async Task<Result> DeleteLawyerArchives(CurrencyDelete Currency)
{
@ -253,8 +324,12 @@ namespace _24Hour.Controllers.Common
{
try
{
var entity = mapper.Map<LawyerArchives>(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,54 +343,92 @@ namespace _24Hour.Controllers.Common
result.IsSucceed = false;
result.Message = ex.Message;
LogService.WriteLog(ex, "删除律师阅卷预约");
}
_logs.WriteSysLogadd("律师阅卷服务", "删除律师阅卷预约", result, _db);
return result;
}
/// <summary>
/// 从2.0系统查询案件信息(假数据)
/// 从2.0系统查询案件信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
/// <remarks>接口,还没有确定好这个接口返回的数据的具体格式</remarks>
[HttpGet]
[Route("QueryCaseFromtwenty")]
public Task<Result> QueryCaseFromtwenty(string? bmsah, string? name, string? casename)
public async Task<Result<QueryResult<CaseInfo>>> QueryCaseFromtwenty(string? bmsah, string? dwbm, string? casename, DateTime? starttime, DateTime? endtime, int page, int size)
{
result.IsSucceed = true;
result.result = new[]
return await twentyClient.GetCaseList(casename, bmsah, dwbm, starttime, endtime, page, size);
}
/// <summary>
/// 从2.0系统查询卷宗信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
/// <remarks>数据的返回格式已确定,内容时真实数据经过修改的</remarks>
[HttpGet]
[Route("QueryFileFromtwenty")]
public async Task<Result> QueryFileFromtwenty(string bmsah, string dwbm)
{
var reponse = await twentyClient.GetArchivesInfo(bmsah, dwbm);
if (reponse.IsSucceed == true)
{
new
var a = reponse.result;
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
{
bmsah="安北检刑诉受[2023]433333333333号",
casename="张三杀人案",
id = q.wjxh,
lable = q.wjxsmc,
filepath = q.jpgwjlj
})
})
}
};
return Task.FromResult(result);
result.IsSucceed = true;
result.result = data;
}
else
{
result.IsSucceed = false;
result.Message = reponse.Message;
}
return result;
}
/// <summary>
/// 从2.0系统查询卷宗信息(假数据)
/// PC端根据卷宗id获取卷宗信息
/// </summary>
/// <param name="info"></param>
/// <param name="jzid"></param>
/// <returns></returns>
/// <remarks>数据的返回格式已确定,内容时真实数据经过修改的</remarks>
[HttpGet]
[Route("QueryFileFromtwenty")]
public async Task<Result> QueryFileFromtwenty(string bmsah)
[Route("QueryArchiveByIdPC")]
public async Task<Result> QueryArchiveByIdPC(string jzid)
{
if (bmsah == "安北检刑诉受[2023]433333333333号")
var list = await _db.Queryable<JZJBXX>()
.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 = await twentyClient.GetArchivesInfo(bmsah);
var a = mapper.Map<JZJBXXDto>(list);
var data = new[]
{
new {
id = a.jzbh,
lable = a.jzmc,
children = a?.jzml?.Select(x => new
children = a?.jzml?.OrderBy(x=>x.mlsxh).Select(x => new
{
id = x.mlbh,
lable = x.mlxsmc,
children = x.jzwj.Select(q => new
children = x.jzwj.OrderBy(x=>x.wjsxh).Select(q => new
{
id = q.wjxh,
lable = q.wjxsmc,
@ -330,6 +443,7 @@ namespace _24Hour.Controllers.Common
else
{
result.IsSucceed = false;
result.Message = "卷宗不存在";
}
return result;
}
@ -351,7 +465,10 @@ namespace _24Hour.Controllers.Common
{
try
{
var dto = await twentyClient.GetArchivesInfo(input.Bmsah);
var reponse = await twentyClient.GetArchivesInfo(input.Bmsah, _userdata.unitCode);
if (reponse.IsSucceed == true)
{
var dto = reponse.result;
//先将没有被选中的第三级文件排除
foreach (var item in dto.jzml)
{
@ -365,10 +482,18 @@ namespace _24Hour.Controllers.Common
result.result = insert.result.Id;
result.IsSucceed = true;
}
else
{
result.IsSucceed = false;
result.Message = reponse.Message;
}
}
catch (Exception ex)
{
result.IsSucceed = false;
result.Message = ex.Message;
logger.LogError(ex, "AddArchivesInfoByChildId");
}
return result;
}
@ -384,7 +509,7 @@ namespace _24Hour.Controllers.Common
{
var list = await _db.Queryable<JZJBXX>()
.Includes(x => x.jzml.OrderBy(x => x.mlsxh).ToList())
.Includes(x=>x.jzml,x=>x.jzwj)
.Includes(x => x.jzml, x => x.jzwj.OrderBy(x => x.wjsxh).ToList())
.FirstAsync(x => x.Id == jzid);
var data = mapper.Map<JZJBXXDto>(list);
@ -394,7 +519,7 @@ namespace _24Hour.Controllers.Common
}
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<LawyerArchives>()
.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<IEnumerable<LawyerArchivesDto>>(list);
@ -420,11 +546,10 @@ namespace _24Hour.Controllers.Common
}
catch (Exception ex)
{
logger.LogError(ex, "QueryReservedInfo");
}
return result;
}
#endregion
#region HiddenApi
/// <summary>
@ -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; }
}
///// <summary>
///// 加密二维码信息
///// </summary>

22
24Hour/Controllers/Common/LawyerArchivesUnAuthorizeController.cs

@ -33,7 +33,7 @@ namespace _24Hour.Controllers.Common
#endregion
/// <summary>
/// 一体机查询所有的待查阅的预约信息
/// 一体机查询所有的未完成的预约信息
/// </summary>
/// <returns></returns>
[HttpGet("GetAllArchivesUncompleted")]
@ -42,8 +42,9 @@ namespace _24Hour.Controllers.Common
var res = new Result<IEnumerable<LawyerArchivesDto>>();
var list = await _db.Queryable<LawyerArchives>()
.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<IEnumerable<LawyerArchivesDto>>(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<JZJBXXDto>>(list);
var listdata = dtos.Select(x => new
{
jzid=x.Id,
files = x.jzml
.SelectMany(e => e.jzwj)
.Select(q => new
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<string> 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);
}

Loading…
Cancel
Save