diff --git a/24Hour/Controllers/Common/CommonController.cs b/24Hour/Controllers/Common/CommonController.cs index 1b6e40a..8340f1d 100644 --- a/24Hour/Controllers/Common/CommonController.cs +++ b/24Hour/Controllers/Common/CommonController.cs @@ -4,9 +4,15 @@ using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Elight.Utility.logs; +using java.util; +using jdk.nashorn.@internal.ir; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; +using System.Drawing.Printing; +using System.Security.AccessControl; +using static com.sun.tools.@internal.xjc.reader.xmlschema.bindinfo.BIConversion; +using User = Elight.Utility.User; namespace _24Hour.Controllers.Common { @@ -34,13 +40,13 @@ namespace _24Hour.Controllers.Common #endregion - #region 最近待办 + #region 最近待办--我的待办---我的预约 /// - /// 获取所有预约信息 + /// 系统---根据当前登录人单位获取所有预约信息 /// - [HttpGet] - [Route("Addqueryreservation")] - public async Task Addqueryreservation(int? state) + [HttpPost] + [Route("queryreunit")] + public async Task queryreunit(Commonpage Commondata) { try { @@ -49,84 +55,263 @@ namespace _24Hour.Controllers.Common 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(); + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.unitId == _userdata.unitCode).ToListAsync(); Lawyerdata.ToList().ForEach(q => { - var da = Stagingdata.Where(x => x.Id == q.receptionId).FirstOrDefault(); + var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); list.Add(new { + type = 0, Id = q.Id, - name = da?.title, + title = da?.title, color = da?.color, icon = da?.icon, matter = q.matter, state = q.state, sttime = q.receptiontime, ettime = "", - creationtime = q.creationtime + creationtime = q.creationtime, + username = q.createusername }); }); //获取远程会见预约记录 var Remotedata = await _db.Queryable() - .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) - .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.Id).ToArrayAsync(); + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.unitId == _userdata.unitCode).ToArrayAsync(); Remotedata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); list.Add(new { + type = 1, Id = q.Id, - name = da?.title, + title = da?.title, color = da?.color, icon = da?.icon, matter = q.name, sttime = q.sttime, ettime = q.ettime, state = q.state, - creationtime = q.creationtime + creationtime = q.creationtime, + username = q.createusername }); }); //获取远程接待预约记录 var Receptiondata = await _db.Queryable() - .WhereIF(state.IsNotEmptyOrNull(), x => x.state == state) - .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.Id).ToArrayAsync(); + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.unitId == _userdata.unitCode).ToArrayAsync(); Receptiondata.ToList().ForEach(q => { var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); list.Add(new { + type = 2, Id = q.Id, - name = da?.title, + title = da?.title, color = da?.color, icon = da?.icon, matter = q.matter, sttime = q.sttime, ettime = q.ettime, state = q.state, - creationtime = q.creationtime + creationtime = q.creationtime, + username = q.createusername }); }); - //获取听证服务预约记录 - 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 => + list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); + 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 + /// 类型 + /// + [HttpPost] + [Route("queryreunitId")] + public async Task queryreunitId(string? Id,int type) + { + try + { + switch (type) + { + case 0: + //获取律师服务预约记录 + var list = await _db.Queryable() + .Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync(); + result.result = list.FirstOrDefault(); + break; + case 1: + //获取远程会见预约记录 + var Remotedata = await _db.Queryable() + .Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync(); + result.result = Remotedata.FirstOrDefault(); + break; + case 2: + //获取远程接待预约记录 + var Receptiondata = await _db.Queryable() + .Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync(); + result.result = Receptiondata.FirstOrDefault(); + break; + } + result.IsSucceed = true; + + } + catch (System.Exception ex) + { + _db.RollbackTran(); + result.IsSucceed = false; + result.Message = ex.Message; + } + _logs.WriteSysLogadd("所有预约信息", "通过Id查询预约信息", result, _db); + return result; + } + + /// + /// app---根据当前登录人获取所有预约信息 + /// + [HttpPost] + [Route("queryreservation")] + public async Task queryreservation(Commonpage Commondata) + { + try + { + var list = new List(); + //获取工作台信息 + var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync(); + var Userdata = await _db.Queryable().Where(q => q.IsDeleted == 0&&q.usertype==0).ToArrayAsync(); + //获取律师服务预约记录 + var Lawyerdata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + Lawyerdata.ToList().ForEach(q => { - var da = Stagingdata.Where(x => x.Id == q.receptionId).FirstOrDefault(); + var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); + var userda=Userdata.Where(x => x.Id == q.receptionuser).FirstOrDefault(); list.Add(new { + type = 0, Id = q.Id, - name = da?.title, + title = da?.title, color = da?.color, icon = da?.icon, - matter = q.casename, - sttime = q.reservationtime, - ettime ="", + name = q.name, + phone = q.phone, + matter = q.matter,//事由 + objectstr = "",//访问对象(案件名称) state = q.state, - creationtime = q.creationtime + reason = q.reason, + sttime = q.receptiontime, + ettime = "", + creationtime = q.creationtime, + receptionuser = q.receptionuser, + username = userda?.name, + notes = q.notes + }); + }); + //获取远程会见预约记录 + var Remotedata = await _db.Queryable() + .WhereIF(Commondata.state != null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + Remotedata.ToList().ForEach(q => + { + var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); + list.Add(new + { + type = 1, + Id = q.Id, + title = da?.title, + color = da?.color, + icon = da?.icon, + name = q.name, + phone = q.phone, + matter = "",//事由 + objectstr = "",//访问对象(案件名称) + Code=q.Code, + state = q.state,//状态 + reason = q.reason,//原因 + sttime = q.sttime, + ettime = q.ettime, + creationtime = q.creationtime, + receptionuser = q.meetwitId, + username = q.meetwitname, + notes=q.notes, + appurl=q.appurl + }); + }); + //获取远程接待预约记录 + var Receptiondata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + Receptiondata.ToList().ForEach(q => + { + var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); + list.Add(new + { + type = 2, + Id = q.Id, + title = da?.title, + color = da?.color, + icon = da?.icon, + name ="", + phone = q.phone, + matter = q.matter,//事由 + objectstr = "",//访问对象(案件名称) + Code = "", + state = q.state,//状态 + reason = q.reason,//原因 + sttime = q.sttime, + ettime = q.ettime, + creationtime = q.creationtime, + receptionuser = q.meetwitId, + username = q.meetwitname, + notes = q.notes, + appurl = "" }); }); + //获取听证服务预约记录 + //var Hearingdata = await _db.Queryable() + // .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + // .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + //Hearingdata.ToList().ForEach(q => + //{ + // var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); + // list.Add(new + // { + // Id = q.Id, + // title = da?.title, + // color = da?.color, + // icon = da?.icon, + // name = "", + // phone = q.phone, + // matter = q.reservationlocation,//事由 + // objectstr = q.casename,//访问对象(案件名称) + // Code = "", + // state = q.state,//状态 + // reason = q.reason,//原因 + // sttime = q.reservationtime, + // ettime = q.ettime, + // creationtime = q.creationtime, + // receptionuser = q.meetwitId, + // username = q.meetwitname, + // notes = q.notes, + // appurl = "" + // }); + //}); + list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); result.IsSucceed = true; result.result = list.ToList().OrderByDescending(q => q.creationtime).ToList(); @@ -141,7 +326,143 @@ namespace _24Hour.Controllers.Common return result; } + /// + /// app---根据登录人获取所有预约办理信息 + /// + [HttpPost] + [Route("queryreservationjc")] + public async Task queryreservationjc(Commonpage Commondata) + { + try + { + var list = new List(); + //获取工作台信息 + var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync(); + var Userdata = await _db.Queryable().Where(q => q.IsDeleted == 0 && q.usertype == 0).ToArrayAsync(); + //获取律师服务预约记录 + var Lawyerdata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.Id).ToArrayAsync(); + Lawyerdata.ToList().ForEach(q => + { + var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault(); + var userda = Userdata.Where(x => x.Id == q.receptionuser).FirstOrDefault(); + list.Add(new + { + type = 0, + Id = q.Id, + title = da?.title, + color = da?.color, + icon = da?.icon, + name = q.name, + phone = q.phone, + matter = q.matter,//事由 + objectstr = "",//访问对象(案件名称) + state = q.state, + reason = q.reason, + sttime = q.receptiontime, + ettime = "", + creationtime = q.creationtime, + receptionuser = q.receptionuser, + username = userda?.name, + notes = q.notes + }); + }); + //获取远程会见预约记录 + var Remotedata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.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 + { + type = 1, + Id = q.Id, + title = da?.title, + color = da?.color, + icon = da?.icon, + name = q.name, + phone = q.phone, + matter = "",//事由 + objectstr = "",//访问对象(案件名称) + Code = q.Code, + state = q.state,//状态 + reason = q.reason,//原因 + sttime = q.sttime, + ettime = q.ettime, + creationtime = q.creationtime, + receptionuser = q.meetwitId, + username = q.meetwitname, + notes = q.notes, + appurl = q.appurl + }); + }); + //获取远程接待预约记录 + var Receptiondata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.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 + { + type = 2, + Id = q.Id, + title = da?.title, + color = da?.color, + icon = da?.icon, + name = "", + phone = q.phone, + matter = q.matter,//事由 + objectstr = "",//访问对象(案件名称) + Code = "", + state = q.state,//状态 + reason = q.reason,//原因 + sttime = q.sttime, + ettime = q.ettime, + creationtime = q.creationtime, + receptionuser = q.meetwitId, + username = q.meetwitname, + notes = q.notes, + appurl = "" + }); + }); + //获取听证服务预约记录 + //var Hearingdata = await _db.Queryable() + // .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + // .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.Id).ToArrayAsync(); + //Hearingdata.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.casename, + // sttime = q.reservationtime, + // ettime = "", + // state = q.state, + // creationtime = q.creationtime, + // username = q.createusername + // }); + //}); + list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); + 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分配办理人 @@ -189,7 +510,7 @@ namespace _24Hour.Controllers.Common if (RemoteModelbol.Count() > 0) { RemoteModelbol.FirstOrDefault().meetwitId = userId; - RemoteModelbol.FirstOrDefault().meetwitId = username; + RemoteModelbol.FirstOrDefault().meetwitname = username; _db.BeginTran(); var num = await _db.Updateable(RemoteModelbol.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname }).ExecuteCommandAsync(); _db.CommitTran(); @@ -199,6 +520,22 @@ namespace _24Hour.Controllers.Common result.result = "修改成功"; } } + //获取远程接待预约记录 + var Receptiondata = await _db.Queryable() + .Where(q => q.Id== Id).ToArrayAsync(); + if (Receptiondata.Count() > 0) + { + Receptiondata.FirstOrDefault().meetwitId = userId; + Receptiondata.FirstOrDefault().meetwitname = username; + _db.BeginTran(); + var num = await _db.Updateable(Receptiondata.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname }).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "修改成功"; + } + } } catch (System.Exception ex) { @@ -211,5 +548,170 @@ namespace _24Hour.Controllers.Common return result; } #endregion + + #region 自主查询 + + + /// + /// app---根据当前登录人查询预约信息--自主查询 + /// + [HttpPost] + [Route("querylist")] + public async Task querylist(Commonpage Commondata) + { + try + { + var list = new List(); + //获取工作台信息 + var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync(); + //获取律师服务预约记录 + var Lawyerdata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + Lawyerdata.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, + state = q.state, + sttime = q.receptiontime, + ettime = "", + creationtime = q.creationtime + }); + }); + //获取远程会见预约记录 + var Remotedata = await _db.Queryable() + .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _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(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _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(Commondata.state!=null, x => x.state == Commondata.state) + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync(); + Hearingdata.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.casename, + sttime = q.reservationtime, + ettime = "", + state = q.state, + creationtime = q.creationtime + }); + }); + //查询 + list=list.ToList().WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter)).ToList(); + 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; + } + #endregion + + #region 文件上传 + /// + /// 文件上传--MP4 + /// + /// + /// + /// + [HttpPost] + [Route("Upload_Files")] + public async Task Upload_Files(IFormFile file, string p) + { + Result outParm = new Result(); + return await Task.Run(() => + { + if (file.Length <= 0) + { + outParm.IsSucceed = false; + outParm.Message = "请上传文件!"; + return Json(outParm); + } + try + { + var size = Request.Form.Files.Sum(f => f.Length); + IFormFile file = Request.Form.Files.FirstOrDefault(); + var fname = $@"{file.FileName}"; + var hzname = $"{Path.GetExtension(fname)}"; + var _path = "/CaseFile/video"; + var dic = Path.Combine(Environment.CurrentDirectory, "wwwroot"); + if (!string.IsNullOrEmpty(_path)) + dic += _path; + if (!System.IO.Directory.Exists(dic)) + Directory.CreateDirectory(dic); + var filename = $"{DateTime.Now:yyyyMMddHHmmssfff}{Path.GetExtension(fname)}"; + var filepath = Path.Combine(_path, $"{filename}"); + var path = Path.Combine(dic, $"{filename}"); + using (var stream = new FileStream(path, FileMode.OpenOrCreate)) + { + file.CopyToAsync(stream).Wait(); + } + var __path = $"{_path}/{filename}"; + outParm.IsSucceed = true; + outParm.result = new { hzname = hzname, url = __path, tile = Path.GetFileNameWithoutExtension(file.FileName), size, DataPath = path, filePath = dic }; + } + catch (Exception e) + { + outParm.IsSucceed = false; + outParm.Message = $"文件上传失败!{e.Message}"; + } + return Json(outParm); + }); + } + #endregion } } diff --git a/24Hour/Controllers/Common/HearingController.cs b/24Hour/Controllers/Common/HearingController.cs index a2676a0..ffa85f6 100644 --- a/24Hour/Controllers/Common/HearingController.cs +++ b/24Hour/Controllers/Common/HearingController.cs @@ -2,6 +2,7 @@ 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; @@ -72,7 +73,7 @@ namespace _24Hour.Controllers.Common .WhereIF(Hearingdata.unitId != null, q => q.unitId.Contains(Hearingdata.unitId)) .WhereIF(Hearingdata.state != null, q => q.state == Hearingdata.state) .WhereIF(Hearingdata.StartTime != null&& Hearingdata.EndTime!=null, q => q.reservationtime >= Hearingdata.StartTime&& q.reservationtime < Hearingdata.EndTime.Value.AddDays(1)) - .Where(q => q.IsDeleted == 0).ToPageListAsync(Hearingdata.PageIndex, Hearingdata.PageSize); + .Where(q => q.IsDeleted == 0&&q.unitId==_userdata.unitCode).ToPageListAsync(Hearingdata.PageIndex, Hearingdata.PageSize); var data = new QueryResult(Hearingdata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; diff --git a/24Hour/Controllers/Common/LawyerservicesController.cs b/24Hour/Controllers/Common/LawyerservicesController.cs index 721c8d2..0ed0a11 100644 --- a/24Hour/Controllers/Common/LawyerservicesController.cs +++ b/24Hour/Controllers/Common/LawyerservicesController.cs @@ -73,7 +73,7 @@ namespace _24Hour.Controllers.Common .WhereIF(Lawyerdata.unitId != null, q => q.unitId.Contains(Lawyerdata.unitId)) .WhereIF(Lawyerdata.state != null, q => q.state == Lawyerdata.state) .WhereIF(Lawyerdata.StartTime != null && Lawyerdata.EndTime != null, q => q.receptiontime >= Lawyerdata.StartTime && q.receptiontime < Lawyerdata.EndTime.Value.AddDays(1)) - .Where(q => q.IsDeleted == 0).ToPageListAsync(Lawyerdata.PageIndex, Lawyerdata.PageSize); + .Where(q => q.IsDeleted == 0&&q.unitId==_userdata.unitCode).ToPageListAsync(Lawyerdata.PageIndex, Lawyerdata.PageSize); var data = new QueryResult(Lawyerdata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; diff --git a/24Hour/Controllers/Common/RemoteController.cs b/24Hour/Controllers/Common/RemoteController.cs index 447b860..23359bf 100644 --- a/24Hour/Controllers/Common/RemoteController.cs +++ b/24Hour/Controllers/Common/RemoteController.cs @@ -39,7 +39,7 @@ namespace _24Hour.Controllers.Common #region 远程会见管理 /// - /// 根据当前登录人查询远程会见信息分页查询 + /// app----根据当前登录人查询远程会见信息分页查询 /// /// /// @@ -77,7 +77,7 @@ namespace _24Hour.Controllers.Common .WhereIF(Remotedata.name != null, q => q.name.Contains(Remotedata.name)) .WhereIF(Remotedata.meetwitname != null, q => q.meetwitname.Contains(Remotedata.meetwitname)) .WhereIF(Remotedata.state != null, q => q.state == Remotedata.state) - .Where(q => q.IsDeleted == 0).ToPageListAsync(Remotedata.PageIndex, Remotedata.PageSize); + .Where(q => q.IsDeleted == 0&&q.unitId==_userdata.unitCode).ToPageListAsync(Remotedata.PageIndex, Remotedata.PageSize); var data = new QueryResult(Remotedata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; diff --git a/24Hour/Controllers/Common/ReservationController.cs b/24Hour/Controllers/Common/ReservationController.cs index 535b1e7..b4fec28 100644 --- a/24Hour/Controllers/Common/ReservationController.cs +++ b/24Hour/Controllers/Common/ReservationController.cs @@ -10,7 +10,7 @@ using SqlSugar; namespace _24Hour.Controllers.Common { /// - /// 预约接待 + /// 远程接待 /// [Authorize] [ApiController] @@ -35,6 +35,40 @@ namespace _24Hour.Controllers.Common #region 预约接待管理 + /// + /// app---预约接待分页查询 + /// + /// + /// + [HttpPost] + [Route("QueryReceptionapp")] + public async Task QueryReceptionapp(App_ReceptionInput Reception) + { + var Receptionlist = new List(); + //获取工作台信息 + var app_staging = await _db.Queryable().Where(w => w.IsDelete == 0).ToListAsync(); + //查询预约接待记录 + var list = await _db.Queryable() + .WhereIF(!string.IsNullOrEmpty(Reception.matter), q => q.matter.Contains(Reception.matter)) + .WhereIF(!string.IsNullOrEmpty(Reception.meetwitname), q => q.meetwitname.Contains(Reception.meetwitname)) + .WhereIF(Reception.state != null, q => q.state == Reception.state) + .Where(q => q.IsDeleted == 0&&q.createuserId==_userdata.Id).ToPageListAsync(Reception.PageIndex, Reception.PageSize); + list.ForEach(q => + { + var data = app_staging.Where(a => a.Id == q.reservationId).FirstOrDefault(); + if (data != null) + { + q.reservationId = data.title; + Receptionlist.Add(q); + } + }); + var data = new QueryResult(Reception, Receptionlist.OrderByDescending(q => q.creationtime).ToList()); + result.IsSucceed = true; + result.result = data; + return result; + } + + /// /// 预约接待分页查询 /// @@ -52,7 +86,7 @@ namespace _24Hour.Controllers.Common .WhereIF(!string.IsNullOrEmpty(Reception.matter), q => q.matter.Contains(Reception.matter)) .WhereIF(!string.IsNullOrEmpty(Reception.meetwitname), q => q.meetwitname.Contains(Reception.meetwitname)) .WhereIF(Reception.state != null, q => q.state == Reception.state) - .Where(q => q.IsDeleted == 0).ToPageListAsync(Reception.PageIndex, Reception.PageSize); + .Where(q => q.IsDeleted == 0&&q.unitId==_userdata.unitCode).ToPageListAsync(Reception.PageIndex, Reception.PageSize); list.ForEach(q => { var data = app_staging.Where(a => a.Id == q.reservationId).FirstOrDefault(); @@ -96,7 +130,7 @@ namespace _24Hour.Controllers.Common result.IsSucceed = false; result.Message = ex.Message; } - _logs.WriteSysLogadd("预约管理", "添加预约接待信息", result,_db); + _logs.WriteSysLogadd("远程接待", "添加预约接待信息", result,_db); return result; } @@ -126,7 +160,7 @@ namespace _24Hour.Controllers.Common result.IsSucceed = false; result.Message = ex.Message; } - _logs.WriteSysLogadd("预约管理", "修改预约接待", result,_db); + _logs.WriteSysLogadd("远程接待", "修改预约接待", result,_db); return result; } @@ -161,7 +195,7 @@ namespace _24Hour.Controllers.Common result.IsSucceed = false; result.Message = ex.Message; } - _logs.WriteSysLogadd("预约管理", "删除预约接待", result,_db); + _logs.WriteSysLogadd("远程接待", "删除预约接待", result,_db); return result; } @@ -194,7 +228,7 @@ namespace _24Hour.Controllers.Common result.IsSucceed = false; result.Message = ex.Message; } - _logs.WriteSysLogadd("预约管理", "办理预约接待", result,_db); + _logs.WriteSysLogadd("远程接待", "办理预约接待", result,_db); return result; } #endregion diff --git a/24Hour/Controllers/Common/VideoController.cs b/24Hour/Controllers/Common/VideoController.cs new file mode 100644 index 0000000..45b5e56 --- /dev/null +++ b/24Hour/Controllers/Common/VideoController.cs @@ -0,0 +1,164 @@ +using Elight.Entity; +using Elight.Logic; +using Elight.Utility; +using Elight.Utility.Code; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using SqlSugar; + +namespace _24Hour.Controllers.Common +{ + /// + /// 视频举报 + /// + [Authorize] + [ApiController] + [Route("api/Video")] + public class VideoController : 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 VideoController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) + { + _logger = logger; + _db = db; + _logs = logs; + _userdata = user.Userdata(); + } + + #endregion + + #region 视频举报增删改查 + /// + /// 视频举报分页查询 + /// + /// + /// + [HttpPost] + [Route("QueryVideo")] + public async Task QueryVideo(App_VideoInput Videodata) + { + var Videolist = new List(); + //查询远程会见记录 + var list = await _db.Queryable() + .WhereIF(Videodata.reporting != null, q => q.reporting.Contains(Videodata.reporting)) + .WhereIF(Videodata.anonymous != null, q => q.anonymous == Videodata.anonymous) + .WhereIF(Videodata.state != null, q => q.state == Videodata.state) + .Where(q => q.IsDeleted == 0 && q.unitId == Videodata.unitId).ToPageListAsync(Videodata.PageIndex, Videodata.PageSize); + list.OrderByDescending(q => q.creationtime).ToList().ForEach(q => + { + Videolist.Add(new + { + name = q.anonymous == 0 ? "匿名" : q.createusername, + reporting = q.reporting, + creationtime = q.creationtime, + }); + }); + result.IsSucceed = true; + result.result = Videolist; + return result; + } + /// + /// 添加视频举报 + /// + /// 视频举报对象 + /// + [HttpPost] + [Route("AddVideo")] + public async Task AddVideo(App_VideoModel Videodata) + { + try + { + _db.BeginTran(); + Videodata.Id = Guid.NewGuid().ToString(); + Videodata.createuserId = _userdata.Id.ToString(); + Videodata.createusername = _userdata.name; + var num = await _db.Insertable(Videodata).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "添加成功"; + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + result.IsSucceed = false; + result.Message = ex.Message; + } + _logs.WriteSysLogadd("视频举报管理", "添加视频举报", result, _db); + return result; + } + + /// + /// 修改视频举报 + /// + /// + /// + [HttpPost] + [Route("UpdateVideo")] + public async Task UpdateVideo(App_VideoModel Videodata) + { + try + { + _db.BeginTran(); + var num = await _db.Updateable(Videodata).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "修改成功"; + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + result.IsSucceed = false; + result.Message = ex.Message; + } + _logs.WriteSysLogadd("视频举报管理", "修改视频举报", result, _db); + return result; + } + + /// + /// 删除视频举报 + /// + /// + /// + [HttpPost] + [Route("DeleteVideo")] + public async Task DeleteVideo(CurrencyDelete Currency) + { + try + { + _db.BeginTran(); + var Videodatalist = await _db.Queryable().In(q => q.Id, Currency.id).ToListAsync(); + Videodatalist.ForEach(q => + { + q.IsDeleted = 1; + }); + var num = await _db.Updateable(Videodatalist).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "删除成功"; + } + } + catch (System.Exception ex) + { + _db.RollbackTran(); + result.IsSucceed = false; + result.Message = ex.Message; + } + _logs.WriteSysLogadd("视频举报管理", "删除视频举报", result, _db); + return result; + } + #endregion + } +} diff --git a/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/15.log b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/15.log new file mode 100644 index 0000000..ba20581 --- /dev/null +++ b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230619/15.log @@ -0,0 +1,108 @@ +日志时间:2023-06-19 15:32:53 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:32:53 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:33:03 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:33:03 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:33:49 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:33:49 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:34:42 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:34:42 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:34:48 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:34:48 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:46:03 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:46:03 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:49:07 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:49:07 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:59:14 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:59:14 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + +日志时间:2023-06-19 15:59:48 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/19 15:59:48 +Exception Type:MySqlConnector.MySqlException +Exception Message:Data too long for column 'OperatingManual' at row 1 +Exception Source:SqlSugar +Exception StackTrace: at SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) + at SqlSugar.InsertableProvider`1.ExecuteCommand() + at Elight.Logic.WriteSysLog.WriteSysLogadd(String operationType, String content, Result result, SqlSugarClient _db, String opeCasDepAccCas) in E:\Code\24Hour.Service\Elight.Logic\WriteSysLog.cs:line 52 +************************Exception End************************************ + diff --git a/Elight.Entity/AppMode/App_HearingModel.cs b/Elight.Entity/AppMode/App_HearingModel.cs index bdef664..4be5978 100644 --- a/Elight.Entity/AppMode/App_HearingModel.cs +++ b/Elight.Entity/AppMode/App_HearingModel.cs @@ -77,7 +77,7 @@ namespace Elight.Entity /// 预约类型 /// [DataMember] - public string? receptionId { get; set; } + public string? reservationId { get; set; } /// /// 接待人 /// diff --git a/Elight.Entity/AppMode/App_LawyerServicesModel.cs b/Elight.Entity/AppMode/App_LawyerServicesModel.cs index 5195ebd..169a8dd 100644 --- a/Elight.Entity/AppMode/App_LawyerServicesModel.cs +++ b/Elight.Entity/AppMode/App_LawyerServicesModel.cs @@ -28,7 +28,7 @@ namespace Elight.Entity /// 预约类型 /// [DataMember] - public string? receptionId { get; set; } + public string? reservationId { get; set; } /// /// 律师名称 diff --git a/Elight.Entity/AppMode/App_VideoModel.cs b/Elight.Entity/AppMode/App_VideoModel.cs new file mode 100644 index 0000000..db3268b --- /dev/null +++ b/Elight.Entity/AppMode/App_VideoModel.cs @@ -0,0 +1,86 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace Elight.Entity +{ + /// + /// 视频举报 + /// + [Serializable] + [DataContract] + [SugarTable("app_video")] + public class App_VideoModel + { + [DataMember] + [SugarColumn(IsPrimaryKey = true)] + public string? Id { get; set; } + /// + /// 单位Id + /// + [DataMember] + public string? unitId { get; set; } + /// + /// 是否匿名 + /// + [DataMember] + public int anonymous { get; set; } + + /// + /// 视频连接地址 + /// + [DataMember] + public string? videofile { get; set; } + + /// + /// 举报原因 + /// + [DataMember] + public string? reporting { get; set; } + + /// + /// 举报人联系方式 + /// + [DataMember] + public string? contact { get; set; } + + /// + /// 备注 + /// + [DataMember] + public string? notes { get; set; } + + /// + /// 0:未处理,1:处理中 2:已处理 + /// + [DataMember] + public int state { get; set; } + + /// + /// 创建人 + /// + [DataMember] + public string? createusername { get; set; } + /// + /// 创建人Id + /// + [DataMember] + public string? createuserId { get; set; } + + /// + /// 创建日期 + /// + [DataMember] + public DateTime? creationtime { get; set; } = DateTime.Now; + + /// + /// 是否删除:0:未删除、1:删除 + /// + [DataMember] + public int? IsDeleted { get; set; } = 0; + } +} diff --git a/Elight.Logic/Model/App_HearingInput.cs b/Elight.Logic/Model/App_HearingInput.cs index 8803e0f..cdbaf06 100644 --- a/Elight.Logic/Model/App_HearingInput.cs +++ b/Elight.Logic/Model/App_HearingInput.cs @@ -76,7 +76,7 @@ namespace Elight.Logic /// 预约类型 /// [DataMember] - public string? receptionId { get; set; } + public string? reservationId { get; set; } /// /// 接待人 /// diff --git a/Elight.Logic/Model/App_LawyerServicesInput.cs b/Elight.Logic/Model/App_LawyerServicesInput.cs index 3fa2908..f6c8ef3 100644 --- a/Elight.Logic/Model/App_LawyerServicesInput.cs +++ b/Elight.Logic/Model/App_LawyerServicesInput.cs @@ -27,7 +27,7 @@ namespace Elight.Logic /// 预约类型 /// [DataMember] - public string? receptionId { get; set; } + public string? reservationId { get; set; } /// /// 律师名称 diff --git a/Elight.Logic/Model/App_VideoInput.cs b/Elight.Logic/Model/App_VideoInput.cs new file mode 100644 index 0000000..b55b7ac --- /dev/null +++ b/Elight.Logic/Model/App_VideoInput.cs @@ -0,0 +1,61 @@ +using Elight.Utility.Code; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace Elight.Logic +{ + /// + /// 视频举报 + /// + [DataContract] + public class App_VideoInput : Paging + { + [DataMember] + public string? Id { get; set; } + /// + /// 单位Id + /// + [DataMember] + public string? unitId { get; set; } + /// + /// 是否匿名 + /// + [DataMember] + public int anonymous { get; set; } + + /// + /// 视频连接地址 + /// + [DataMember] + public string? videofile { get; set; } + + /// + /// 举报原因 + /// + [DataMember] + public string? reporting { get; set; } + + /// + /// 举报人联系方式 + /// + [DataMember] + public string? contact { get; set; } + + /// + /// 备注 + /// + [DataMember] + public string? notes { get; set; } + + /// + /// 0:未处理,1:处理中 2:已处理 + /// + [DataMember] + public int state { get; set; } + } +} diff --git a/Elight.Logic/Model/Commonpage.cs b/Elight.Logic/Model/Commonpage.cs new file mode 100644 index 0000000..757c93d --- /dev/null +++ b/Elight.Logic/Model/Commonpage.cs @@ -0,0 +1,49 @@ +using Elight.Utility.Code; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Threading.Tasks; + +namespace Elight.Logic +{ + /// + /// 通用类 + /// + [DataContract] + public class Commonpage : Paging + { + [DataMember] + public string? Id { get; set; } + + /// + /// 开始时间 + /// + [DataMember] + public DateTime? sttime { get; set; } + + /// + /// 结束时间 + /// + [DataMember] + public DateTime? ettime { get; set; } + + /// + /// + /// + [DataMember] + public int? state { get; set; } + /// + /// 拒绝原因 + /// + [DataMember] + public string? reason { get; set; } + + /// + /// 内容 + /// + [DataMember] + public string? matter { get; set; } + } +}