|
|
|
@ -34,80 +34,23 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
private readonly SqlSugarClient _db;//数据库 |
|
|
|
|
private readonly WriteSysLog _logs;//操作日志 |
|
|
|
|
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 |
|
|
|
|
private readonly ILogger<LoginController> _logger;//日志 |
|
|
|
|
private readonly ILogger<LawyerArchivesController> logger;//日志 |
|
|
|
|
Result result = new Result(); |
|
|
|
|
private readonly CaseServiceTwentyClient twentyClient; |
|
|
|
|
|
|
|
|
|
private readonly IMapper mapper; |
|
|
|
|
public LawyerArchivesController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper) |
|
|
|
|
public LawyerArchivesController(ILogger<LawyerArchivesController> _logger, SqlSugarClient db, WriteSysLog logs, User user, IMapper _mapper, CaseServiceTwentyClient _twentyClient) |
|
|
|
|
{ |
|
|
|
|
this._logger = logger; |
|
|
|
|
this.logger = _logger; |
|
|
|
|
_db = db; |
|
|
|
|
_logs = logs; |
|
|
|
|
_userdata = user.Userdata(); |
|
|
|
|
this.mapper = _mapper; |
|
|
|
|
this.twentyClient = _twentyClient; |
|
|
|
|
_userdata = user.Userdata(); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#region 律师阅卷 |
|
|
|
|
/// <summary> |
|
|
|
|
/// 加密二维码信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpGet] |
|
|
|
|
[Route("EncodeData")] |
|
|
|
|
public async Task<Result> EncodeData(string id) |
|
|
|
|
{ |
|
|
|
|
var data = await _db.Queryable<App_LawyerServicesModel>().LeftJoin<App_Sys_UserModel>((lawyer, user) => lawyer.createuserId == user.Id) |
|
|
|
|
.Where(lawyer => lawyer.Id == id) |
|
|
|
|
.Select((lawyer, user) => new |
|
|
|
|
{ |
|
|
|
|
info = lawyer, |
|
|
|
|
user |
|
|
|
|
}).FirstAsync(); |
|
|
|
|
if (data != null) |
|
|
|
|
{ |
|
|
|
|
var dto = new |
|
|
|
|
{ |
|
|
|
|
info = mapper.Map<QRLawyerServiceDto>(data.info), |
|
|
|
|
user = mapper.Map<QRUserDto>(data.user) |
|
|
|
|
}; |
|
|
|
|
var encodingdata = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(dto))); |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = encodingdata; |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 解码二维码信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[Route("DecodeQRData")] |
|
|
|
|
public Task<Result> DecodeQRData(DecodeData data) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
var basestr = Convert.FromBase64String(data.EncodingString); |
|
|
|
|
var str = Encoding.UTF8.GetString(basestr); |
|
|
|
|
|
|
|
|
|
var model = str.ConvertToAnonymousType(new |
|
|
|
|
{ |
|
|
|
|
info = default(QRLawyerServiceDto), |
|
|
|
|
user = default(QRUserDto) |
|
|
|
|
}); |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = model; |
|
|
|
|
} |
|
|
|
|
catch (System.Exception ex) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
} |
|
|
|
|
return Task.FromResult(result); |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 同步外网律师人员信息(未完成) (根据律师身份证号更新或新增用户信息) |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="user"></param> |
|
|
|
@ -135,6 +78,7 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
{ |
|
|
|
|
//insert |
|
|
|
|
_db.BeginTran(); |
|
|
|
|
user.Id = Guid.NewGuid().ToString(); |
|
|
|
|
var num = await _db.Insertable(user).ExecuteCommandAsync(); |
|
|
|
|
_db.CommitTran(); |
|
|
|
|
if (num > 0) |
|
|
|
@ -156,57 +100,19 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 同步外网预约信息(不需要调用此接口) |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="info"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[Route("AddLawyerServiceInfo")] |
|
|
|
|
public async Task<Result> AddLawyerServiceInfo(App_LawyerServicesModel info) |
|
|
|
|
{ |
|
|
|
|
var data = await _db.Queryable<App_LawyerServicesModel>().FirstAsync(x => x.Id == info.Id); |
|
|
|
|
if (data != null) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.Message = "改数据已同步"; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
_db.BeginTran(); |
|
|
|
|
var num = await _db.Insertable(info).ExecuteCommandAsync(); |
|
|
|
|
_db.CommitTran(); |
|
|
|
|
if (num > 0) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.Message = "添加成功"; |
|
|
|
|
result.result = mapper.Map<LawyerArchivesDto>(info); |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
result.Message = "添加失败"; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 查询律师阅卷信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="input"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpGet] |
|
|
|
|
[Route("QueryLawyerArchives")] |
|
|
|
|
public async Task<Result> QueryLawyerArchives(LawyerArchivesInput input) |
|
|
|
|
public async Task<Result> QueryLawyerArchives([FromQuery] LawyerArchivesInput input) |
|
|
|
|
{ |
|
|
|
|
RefAsync<int> totalNumber = 0;//总数据 |
|
|
|
|
//查询律师服务 |
|
|
|
|
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.lawyerservicesId != null, (archives, services) => archives.lawyerservicesId == input.lawyerservicesId) |
|
|
|
|
.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) |
|
|
|
@ -219,7 +125,6 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
result.result = data; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public class DecodeData |
|
|
|
|
{ |
|
|
|
|
public string EncodingString { get; set; } |
|
|
|
@ -269,7 +174,7 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="info"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[HttpDelete] |
|
|
|
|
[Route("DeleteLawyerArchives")] |
|
|
|
|
public async Task<Result> DeleteLawyerArchives(CurrencyDelete Currency) |
|
|
|
|
{ |
|
|
|
@ -304,7 +209,7 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="info"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[HttpPut] |
|
|
|
|
[Route("UpdateLawyerArchives")] |
|
|
|
|
public async Task<Result> UpdateLawyerArchives(LawyerArchivesDto Lawyerdata) |
|
|
|
|
{ |
|
|
|
@ -358,26 +263,28 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
/// <remarks>数据的返回格式已确定,内容时真实数据经过修改的</remarks> |
|
|
|
|
[HttpGet] |
|
|
|
|
[Route("QueryFileFromtwenty")] |
|
|
|
|
public Task<Result> QueryFileFromtwenty(string bmsah) |
|
|
|
|
public async Task<Result> QueryFileFromtwenty(string bmsah) |
|
|
|
|
{ |
|
|
|
|
if (bmsah == "安北检刑诉受[2023]433333333333号") |
|
|
|
|
{ |
|
|
|
|
var a = GetInfo(); |
|
|
|
|
var data = new |
|
|
|
|
var a = await twentyClient.GetArchivesInfo(bmsah); |
|
|
|
|
var data = 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 |
|
|
|
|
new { |
|
|
|
|
id = a.jzbh, |
|
|
|
|
lable = a.jzmc, |
|
|
|
|
children = a?.jzml?.Select(x => new |
|
|
|
|
{ |
|
|
|
|
id = q.wjxh, |
|
|
|
|
lable = q.wjxsmc, |
|
|
|
|
filepath = q.jpgwjlj |
|
|
|
|
id = x.mlbh, |
|
|
|
|
lable = x.mlxsmc, |
|
|
|
|
children = x.jzwj.Select(q => new |
|
|
|
|
{ |
|
|
|
|
id = q.wjxh, |
|
|
|
|
lable = q.wjxsmc, |
|
|
|
|
filepath = q.jpgwjlj |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = data; |
|
|
|
@ -386,43 +293,105 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
} |
|
|
|
|
return Task.FromResult(result); |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
private JZJBXXDto GetInfo() |
|
|
|
|
/// <summary> |
|
|
|
|
/// 上传已选中的第三级页码的id |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="input"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
/// <remarks> |
|
|
|
|
/// { |
|
|
|
|
/// "IsSucceed": false, |
|
|
|
|
/// "Message": null, |
|
|
|
|
/// "result": "9f272d7f-2b66-4314-95a3-ca4e0de2b1ec" |
|
|
|
|
/// } |
|
|
|
|
///返回的id 用于在调用 AddLawyerArchives 传入jzlbxxId |
|
|
|
|
/// </remarks> |
|
|
|
|
[HttpPost("AddArchivesInfoByChildId")] |
|
|
|
|
public async Task<Result> AddArchivesInfoByChildId(AddArchivesInfoInput input) |
|
|
|
|
{ |
|
|
|
|
var path = Path.Combine(Environment.CurrentDirectory, "datajson.txt"); |
|
|
|
|
var json = System.IO.File.ReadAllText(path); |
|
|
|
|
var convert = json.ConvertToModel<JZJBXXDto>(); |
|
|
|
|
convert.Id = Guid.NewGuid().ToString(); |
|
|
|
|
foreach (var ml in convert.jzml) |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
ml.Id = Guid.NewGuid().ToString(); |
|
|
|
|
foreach (var item in ml.jzwj) |
|
|
|
|
var dto = await twentyClient.GetArchivesInfo(input.Bmsah); |
|
|
|
|
//先将没有被选中的第三级文件排除 |
|
|
|
|
foreach (var item in dto.jzml) |
|
|
|
|
{ |
|
|
|
|
item.Id = Guid.NewGuid().ToString(); |
|
|
|
|
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; |
|
|
|
|
} |
|
|
|
|
return convert; |
|
|
|
|
catch (Exception ex) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
result.Message = ex.Message; |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 上传已选中的第三级页码的id |
|
|
|
|
/// 一体机 根据卷宗id获取详细的卷宗信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="bmsah"></param> |
|
|
|
|
/// <param name="ids"></param> |
|
|
|
|
/// <param name="jzid"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost("AddArchivesInfoByChildId")] |
|
|
|
|
public Task<Result> AddArchivesInfoByChildId(AddArchivesInfoInput input) |
|
|
|
|
[HttpGet("QueryArchiveById")] |
|
|
|
|
public async Task<Result> QueryArchiveById(string jzid) |
|
|
|
|
{ |
|
|
|
|
return Task.FromResult(result); |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
var list = await _db.Queryable<JZJBXX>() |
|
|
|
|
.Includes(x => x.jzml, q => q.jzwj) |
|
|
|
|
.FirstAsync(x => x.Id == jzid); |
|
|
|
|
|
|
|
|
|
var data = mapper.Map<JZJBXXDto>(list); |
|
|
|
|
result.result = data; |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
} |
|
|
|
|
catch (Exception ex) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 一体机查询当前用户已有的 被同意的 预约阅卷信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpGet("QueryReservedInfo")] |
|
|
|
|
public async Task<Result> QueryReservedInfo() |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
logger.LogInformation("12312312312"); |
|
|
|
|
var list = await _db.Queryable<LawyerArchives>() |
|
|
|
|
.Where(x => x.lawyerId == _userdata.Id) |
|
|
|
|
.Where(x => x.status == 0) |
|
|
|
|
.Where(x => x.permissibleStartTime <= DateTime.Now && x.permissibleEndTime >= DateTime.Now) |
|
|
|
|
.ToListAsync(); |
|
|
|
|
|
|
|
|
|
var data = mapper.Map<IEnumerable<LawyerArchivesDto>>(list); |
|
|
|
|
result.result = data; |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
} |
|
|
|
|
catch (Exception ex) |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endregion |
|
|
|
|
#region HiddenApi |
|
|
|
|
/// <summary> |
|
|
|
|
/// 添加卷宗信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="dto"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
///<remarks> |
|
|
|
|
/// Get 把从QueryFileFromtwenty 接口获取的数据返回到这里 |
|
|
|
|
///</remarks> |
|
|
|
|
[HiddenApi] |
|
|
|
|
[HttpPost] |
|
|
|
|
[Route("AddArchivesInfo")] |
|
|
|
|
public async Task<Result<JZJBXXDto>> AddArchivesInfo(JZJBXXDto dto) |
|
|
|
@ -452,7 +421,102 @@ namespace _24Hour.Controllers.Common
|
|
|
|
|
return res; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 同步外网预约信息(不需要调用此接口) |
|
|
|
|
/// </summary> |
|
|
|
|
/// <param name="info"></param> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[HiddenApi] |
|
|
|
|
[Route("AddLawyerServiceInfo")] |
|
|
|
|
public async Task<Result> AddLawyerServiceInfo(App_LawyerServicesModel info) |
|
|
|
|
{ |
|
|
|
|
var data = await _db.Queryable<App_LawyerServicesModel>().FirstAsync(x => x.Id == info.Id); |
|
|
|
|
if (data != null) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.Message = "改数据已同步"; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
_db.BeginTran(); |
|
|
|
|
var num = await _db.Insertable(info).ExecuteCommandAsync(); |
|
|
|
|
_db.CommitTran(); |
|
|
|
|
if (num > 0) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.Message = "添加成功"; |
|
|
|
|
result.result = mapper.Map<LawyerArchivesDto>(info); |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
result.Message = "添加失败"; |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
/// <summary> |
|
|
|
|
/// 加密二维码信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpGet] |
|
|
|
|
[HiddenApi] |
|
|
|
|
[Route("EncodeData")] |
|
|
|
|
public async Task<Result> EncodeData(string id) |
|
|
|
|
{ |
|
|
|
|
var data = await _db.Queryable<App_LawyerServicesModel>().LeftJoin<App_Sys_UserModel>((lawyer, user) => lawyer.createuserId == user.Id) |
|
|
|
|
.Where(lawyer => lawyer.Id == id) |
|
|
|
|
.Select((lawyer, user) => new |
|
|
|
|
{ |
|
|
|
|
info = lawyer, |
|
|
|
|
user |
|
|
|
|
}).FirstAsync(); |
|
|
|
|
if (data != null) |
|
|
|
|
{ |
|
|
|
|
var dto = new |
|
|
|
|
{ |
|
|
|
|
info = mapper.Map<QRLawyerServiceDto>(data.info), |
|
|
|
|
user = mapper.Map<QRUserDto>(data.user) |
|
|
|
|
}; |
|
|
|
|
var encodingdata = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(dto))); |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = encodingdata; |
|
|
|
|
} |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 解码二维码信息 |
|
|
|
|
/// </summary> |
|
|
|
|
/// <returns></returns> |
|
|
|
|
[HttpPost] |
|
|
|
|
[HiddenApi] |
|
|
|
|
[Route("DecodeQRData")] |
|
|
|
|
public Task<Result> DecodeQRData(DecodeData data) |
|
|
|
|
{ |
|
|
|
|
try |
|
|
|
|
{ |
|
|
|
|
var basestr = Convert.FromBase64String(data.EncodingString); |
|
|
|
|
var str = Encoding.UTF8.GetString(basestr); |
|
|
|
|
|
|
|
|
|
var model = str.ConvertToAnonymousType(new |
|
|
|
|
{ |
|
|
|
|
info = default(QRLawyerServiceDto), |
|
|
|
|
user = default(QRUserDto) |
|
|
|
|
}); |
|
|
|
|
result.IsSucceed = true; |
|
|
|
|
result.result = model; |
|
|
|
|
} |
|
|
|
|
catch (System.Exception ex) |
|
|
|
|
{ |
|
|
|
|
result.IsSucceed = false; |
|
|
|
|
} |
|
|
|
|
return Task.FromResult(result); |
|
|
|
|
} |
|
|
|
|
#endregion |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|