diff --git a/24Hour/Controllers/Common/CommonController.cs b/24Hour/Controllers/Common/CommonController.cs index 47732e0..774cfb4 100644 --- a/24Hour/Controllers/Common/CommonController.cs +++ b/24Hour/Controllers/Common/CommonController.cs @@ -55,6 +55,7 @@ namespace _24Hour.Controllers.Common var list = new List(); //获取工作台信息 var Stagingdata = await _db.Queryable().Where(q => q.IsDelete == 0).ToArrayAsync(); + var Userdata = await _db.Queryable().Where(q => q.usertype == 0&&q.unitCode==_userdata.unitCode).ToArrayAsync(); //获取律师服务预约记录 var Lawyerdata = await _db.Queryable() .WhereIF(Commondata.state!=null, x => x.state == Commondata.state) @@ -62,6 +63,7 @@ namespace _24Hour.Controllers.Common 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, @@ -74,7 +76,9 @@ namespace _24Hour.Controllers.Common sttime = q.receptiontime, ettime = "", creationtime = q.creationtime, - username = q.createusername + username = q.createusername, + handleId = q.receptionuser, + handleuser = userda?.name }); }); //获取远程会见预约记录 @@ -96,7 +100,9 @@ namespace _24Hour.Controllers.Common ettime = q.ettime, state = q.state, creationtime = q.creationtime, - username = q.createusername + username = q.createusername, + handleId = q.meetwitId, + handleuser = q.meetwitname }); }); //获取远程接待预约记录 @@ -118,7 +124,9 @@ namespace _24Hour.Controllers.Common ettime = q.ettime, state = q.state, creationtime = q.creationtime, - username = q.createusername + username = q.createusername, + handleId = q.meetwitId, + handleuser = q.meetwitname }); }); list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); @@ -207,6 +215,7 @@ namespace _24Hour.Controllers.Common { type = 0, Id = q.Id, + daId = da?.Id, title = da?.title, color = da?.color, icon = da?.icon, @@ -235,6 +244,7 @@ namespace _24Hour.Controllers.Common { type = 1, Id = q.Id, + daId = da?.Id, title = da?.title, color = da?.color, icon = da?.icon, @@ -265,6 +275,7 @@ namespace _24Hour.Controllers.Common { type = 2, Id = q.Id, + daId = da?.Id, title = da?.title, color = da?.color, icon = da?.icon, @@ -284,36 +295,10 @@ namespace _24Hour.Controllers.Common 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(); + //分页查询--如有预约类型--reservationId可筛选预约类型,预约信息Id--可筛选预约信息 + list = list.WhereIF(Commondata.reservationId.NotNull(),x=>x.daId== Commondata.reservationId) + .WhereIF(Commondata.Id.NotNull(), x => x.Id == Commondata.Id) + .Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); result.IsSucceed = true; result.result = list.ToList().OrderByDescending(q => q.creationtime).ToList(); @@ -451,7 +436,7 @@ namespace _24Hour.Controllers.Common // username = q.createusername // }); //}); - list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); + list = list.WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter) || q.objectstr.Contains(Commondata.matter)).Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList(); result.IsSucceed = true; result.result = list.ToList().OrderByDescending(q => q.creationtime).ToList(); @@ -553,8 +538,6 @@ namespace _24Hour.Controllers.Common #endregion #region 自主查询 - - /// /// app---根据当前登录人查询预约信息--自主查询 /// @@ -577,9 +560,11 @@ namespace _24Hour.Controllers.Common list.Add(new { Id = q.Id, - name = da?.title, + title = da?.title, + path = da?.path, color = da?.color, icon = da?.icon, + objectstr = q.objectstr, matter = q.matter, state = q.state, sttime = q.receptiontime, @@ -597,10 +582,12 @@ namespace _24Hour.Controllers.Common list.Add(new { Id = q.Id, - name = da?.title, + title = da?.title, + path = da?.path, color = da?.color, icon = da?.icon, matter = q.name, + objectstr = "", sttime = q.sttime, ettime = q.ettime, state = q.state, @@ -617,40 +604,172 @@ namespace _24Hour.Controllers.Common list.Add(new { Id = q.Id, - name = da?.title, + title = da?.title, + path = da?.path, color = da?.color, icon = da?.icon, matter = q.matter, + objectstr = "", 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) + //查询 + list=list.ToList().WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter)|| q.objectstr.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 数据统计 + + /// + /// 预约数据统计 + /// + [HttpPost] + [Route("querystatistics")] + public async Task querystatistics(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.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(); - Hearingdata.ToList().ForEach(q => + 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, - name = da?.title, + daId = da?.Id, + 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 }); }); - //查询 - list=list.ToList().WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter)).ToList(); + //获取远程会见预约记录 + 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, + daId = da?.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, + daId = da?.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 GroupBy=list.ToList().GroupBy(q => new { q.daId, q.title }).Select(x => new { name = x.Key.title, value = x.ToList().Count()}); + //日期分组统计 + var datetme = list.ToList().GroupBy(q => DateTime.Parse($"{q.creationtime}").ToString("yyyy-MM-dd")).Select(x => new { time = x.Key, value = x.ToList().Count() }); + //预约状态分组 + var satselist = list.ToList().GroupBy(q => q.satse).Select(x => new{ satse = x.Key, value = x.ToList().Count() }).ToList(); + var satseGroupBy = new List(); + satselist.ForEach(x => { + var satse = ""; + switch (x.satse) + { + case 0: + satse = "待办理"; + break; + case 1: + satse = "已受理"; + break; + case 2: + satse = "拒绝"; + break; + case 3: + satse = "结束"; + break; + default: + break; + } + satseGroupBy.Add(new { name = satse,value=x.value }); + }); result.IsSucceed = true; - result.result = list.ToList().OrderByDescending(q => q.creationtime).ToList(); + result.result = new { GroupBy, datetme, satseGroupBy }; } catch (System.Exception ex) diff --git a/24Hour/Controllers/Common/LawyerservicesController.cs b/24Hour/Controllers/Common/LawyerservicesController.cs index d9cf006..36f5259 100644 --- a/24Hour/Controllers/Common/LawyerservicesController.cs +++ b/24Hour/Controllers/Common/LawyerservicesController.cs @@ -241,7 +241,7 @@ namespace _24Hour.Controllers.Common try { var Lawyerbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); - if (Lawyerbol.Count() > 0) + if (Lawyerbol.Any()) { Lawyerbol.FirstOrDefault().state = state; if(reason.NotNull()) diff --git a/24Hour/Controllers/Common/VideoController.cs b/24Hour/Controllers/Common/VideoController.cs index 45b5e56..ba84d56 100644 --- a/24Hour/Controllers/Common/VideoController.cs +++ b/24Hour/Controllers/Common/VideoController.cs @@ -34,7 +34,40 @@ namespace _24Hour.Controllers.Common #region 视频举报增删改查 /// - /// 视频举报分页查询 + /// 系统--视频举报分页查询 + /// + /// + /// + [HttpPost] + [Route("QueryVideolist")] + public async Task QueryVideolist(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) + .WhereIF(Videodata.StartTime != null && Videodata.EndTime != null, q => q.creationtime >= Videodata.StartTime && q.creationtime < Videodata.EndTime.Value.AddDays(1)) + .Where(q => q.IsDeleted == 0 && q.unitId == _userdata.unitCode).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, + videofile = q.videofile, + creationtime = q.creationtime, + state = q.state, + notes = q.notes + }); + }); + result.IsSucceed = true; + result.result = Videolist; + return result; + } + /// + /// app--视频举报分页查询 /// /// /// @@ -48,14 +81,16 @@ namespace _24Hour.Controllers.Common .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); + .Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).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, + videofile = q.videofile, creationtime = q.creationtime, + notes = q.notes }); }); result.IsSucceed = true; @@ -77,6 +112,7 @@ namespace _24Hour.Controllers.Common Videodata.Id = Guid.NewGuid().ToString(); Videodata.createuserId = _userdata.Id.ToString(); Videodata.createusername = _userdata.name; + Videodata.state = 0; var num = await _db.Insertable(Videodata).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) @@ -159,6 +195,49 @@ namespace _24Hour.Controllers.Common _logs.WriteSysLogadd("视频举报管理", "删除视频举报", result, _db); return result; } + + + /// + /// 更改视频举报状态 + /// + /// 视频举报ID + /// 视频举报状态 + /// + [HttpGet] + [Route("UpdateVideostate")] + public async Task UpdateVideostate(string? Id, int state) + { + try + { + var Video = await _db.Queryable().Where(q => q.Id == Id).ToArrayAsync(); + if (Video.Any()) + { + Video.FirstOrDefault().state = 1; + _db.BeginTran(); + var num = await _db.Updateable(Video.FirstOrDefault()).UpdateColumns(it => new { it.state}).ExecuteCommandAsync(); + _db.CommitTran(); + if (num > 0) + { + result.IsSucceed = true; + result.result = "修改成功"; + } + } + else + { + result.IsSucceed = false; + 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/Program.cs b/24Hour/Program.cs index cbfa11f..aaa4662 100644 --- a/24Hour/Program.cs +++ b/24Hour/Program.cs @@ -41,7 +41,7 @@ builder.Services.AddEndpointsApiExplorer(); #region Swaggerļ builder.Services.AddSwaggerGen(c => { - c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" }); + c.SwaggerDoc("v1", new OpenApiInfo { Title = "24Сʱһ API", Version = "v1" }); //ڽӿࡢ [HiddenApi]ֹSwaggerĵ c.DocumentFilter(); c.OrderActionsBy(o => o.RelativePath); @@ -199,7 +199,7 @@ app.UseEndpoints(endpoints => app.UseSwagger();// Swaggerм app.UseSwaggerUI(c => { - c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1"); + c.SwaggerEndpoint("/swagger/v1/swagger.json", "24Сʱһ API V1"); c.RoutePrefix = string.Empty; }); #endregion diff --git a/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/13.log b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/13.log new file mode 100644 index 0000000..57a9ad2 --- /dev/null +++ b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/13.log @@ -0,0 +1,36 @@ +日志时间:2023-06-20 13:53:20 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/20 13:53:20 +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-20 13:53:49 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/20 13:53: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-20 13:56:32 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/20 13:56:32 +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/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/14.log b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/14.log new file mode 100644 index 0000000..2f87f02 --- /dev/null +++ b/24Hour/wwwroot/CaseFile/logs/Logs/ExceptionLog/20230620/14.log @@ -0,0 +1,12 @@ +日志时间:2023-06-20 14:16:54 +************************Exception Start******************************** +Exception Remark:添加数据库日志信息_WriteSysLog_1 发生异常 +Exception Date:2023/6/20 14:16:54 +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_VideoModel.cs b/Elight.Entity/AppMode/App_VideoModel.cs index db3268b..d26b38b 100644 --- a/Elight.Entity/AppMode/App_VideoModel.cs +++ b/Elight.Entity/AppMode/App_VideoModel.cs @@ -54,11 +54,17 @@ namespace Elight.Entity [DataMember] public string? notes { get; set; } + /// + /// 备注 + /// + [DataMember] + public string? annexurl { get; set; } + /// /// 0:未处理,1:处理中 2:已处理 /// [DataMember] - public int state { get; set; } + public int? state { get; set; } /// /// 创建人 diff --git a/Elight.Logic/Model/App_VideoInput.cs b/Elight.Logic/Model/App_VideoInput.cs index b55b7ac..0e146eb 100644 --- a/Elight.Logic/Model/App_VideoInput.cs +++ b/Elight.Logic/Model/App_VideoInput.cs @@ -56,6 +56,6 @@ namespace Elight.Logic /// 0:未处理,1:处理中 2:已处理 /// [DataMember] - public int state { get; set; } + public int? state { get; set; } } } diff --git a/Elight.Logic/Model/Commonpage.cs b/Elight.Logic/Model/Commonpage.cs index 757c93d..cc4d8f9 100644 --- a/Elight.Logic/Model/Commonpage.cs +++ b/Elight.Logic/Model/Commonpage.cs @@ -45,5 +45,11 @@ namespace Elight.Logic /// [DataMember] public string? matter { get; set; } + + /// + /// 预约类型 + /// + [DataMember] + public string? reservationId { get; set; } } }