using Elight.Entity; using Elight.Logic; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Elight.Utility.logs; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace _24Hour.Controllers.Common { /// /// 通用接口 /// [Authorize] [ApiController] [Route("api/Common")] public class CommonController : Controller { #region Identity private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 private readonly ILogger _logger;//日志 Result result = new Result(); public CommonController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) { _logger = logger; _db = db; _logs = logs; _userdata = user.Userdata(); } #endregion #region 最近待办 /// /// 获取所有预约信息 /// [HttpGet] [Route("Addqueryreservation")] public async Task Addqueryreservation(int? state) { try { var list = new List(); //获取工作台信息 var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync(); //获取律师服务预约记录 var Lawyerdata = await _db.Queryable() .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.Id).ToArrayAsync(); Lawyerdata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.receptionId).FirstOrDefault(); list.Add(new { Id = q.Id, name = da?.title, color = da?.color, icon = da?.icon, matter = q.matter, state = q.state, sttime = q.receptiontime, ettime = "", creationtime = q.creationtime }); }); //获取远程会见预约记录 var Remotedata = await _db.Queryable() .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.Id).ToArrayAsync(); Remotedata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); list.Add(new { Id = q.Id, name = da?.title, color = da?.color, icon = da?.icon, matter = q.name, sttime = q.sttime, ettime = q.ettime, state = q.state, creationtime = q.creationtime }); }); //获取远程接待预约记录 var Receptiondata = await _db.Queryable() .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.Id).ToArrayAsync(); Receptiondata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); list.Add(new { Id = q.Id, name = da?.title, color = da?.color, icon = da?.icon, matter = q.matter, sttime = q.sttime, ettime = q.ettime, state = q.state, creationtime = q.creationtime }); }); //获取听证服务预约记录 var Hearingdata = await _db.Queryable() .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.Id).ToArrayAsync(); Hearingdata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.receptionId).FirstOrDefault(); list.Add(new { Id = q.Id, name = da?.title, color = da?.color, icon = da?.icon, matter = q.casename, sttime = q.reservationtime, ettime ="", state = q.state, creationtime = q.creationtime }); }); result.IsSucceed = true; result.result = list.ToList().OrderByDescending(q => q.creationtime).ToList(); } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; } _logs.WriteSysLogadd("所有预约信息", "所有预约信息", result, _db); return result; } /// /// 根据Id分配办理人 /// /// 预约信息Id /// 办理人Id /// 办理人 /// [HttpGet] [Route("Updateuser")] public async Task Updateuser(string? Id, string? userId,string? username) { try { //律师服务 var Lawyerbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (Lawyerbol.Count() > 0) { Lawyerbol.FirstOrDefault().receptionuser = userId; _db.BeginTran(); var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } //听证服务 var Hearingbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (Hearingbol.Count() > 0) { Hearingbol.FirstOrDefault().receptionuser = userId; _db.BeginTran(); var num = await _db.Updateable(Hearingbol.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } //远程会见 var RemoteModelbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (RemoteModelbol.Count() > 0) { RemoteModelbol.FirstOrDefault().meetwitId = userId; RemoteModelbol.FirstOrDefault().meetwitId = username; _db.BeginTran(); var num = await _db.Updateable(RemoteModelbol.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改律师服务预约办理人"); } _logs.WriteSysLogadd("律师服务", "修改律师服务预约办理人", result, _db); return result; } #endregion } }