You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
839 lines
37 KiB
839 lines
37 KiB
using Elight.Entity; |
|
using Elight.Logic; |
|
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 |
|
{ |
|
/// <summary> |
|
/// 通用接口 |
|
/// </summary> |
|
[Authorize] |
|
[ApiController] |
|
[Route("api/Common")] |
|
public class CommonController : Controller |
|
{ |
|
#region Identity |
|
private readonly SqlSugarClient _db;//数据库 |
|
private readonly WriteSysLog _logs;//操作日志 |
|
private readonly WebSocketController _SocketCon;//WebSocket发送 |
|
App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 |
|
private readonly ILogger<LoginController> _logger;//日志 |
|
Result result = new Result(); |
|
public CommonController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user, WebSocketController SocketCon) |
|
{ |
|
_logger = logger; |
|
_db = db; |
|
_logs = logs; |
|
_userdata = user.Userdata(); |
|
_SocketCon = SocketCon; |
|
} |
|
|
|
#endregion |
|
|
|
#region 最近待办--我的待办---我的预约 |
|
/// <summary> |
|
/// 系统---根据当前登录人单位获取所有预约信息 |
|
/// </summary> |
|
[HttpPost] |
|
[Route("queryreunit")] |
|
public async Task<Result> queryreunit(Commonpage Commondata) |
|
{ |
|
try |
|
{ |
|
var list = new List<dynamic>(); |
|
//获取工作台信息 |
|
var Stagingdata = await _db.Queryable<StagingModel>().Where(q => q.IsDelete == 0).ToArrayAsync(); |
|
var Userdata = await _db.Queryable<App_Sys_UserModel>().Where(q => q.usertype == 0&&q.unitCode==_userdata.unitCode).ToArrayAsync(); |
|
//获取律师服务预约记录 |
|
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>() |
|
.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.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, |
|
matter = q.matter, |
|
state = q.state, |
|
sttime = q.receptiontime, |
|
ettime = "", |
|
creationtime = q.creationtime, |
|
username = q.createusername, |
|
handleId = q.receptionuser, |
|
handleuser = userda?.name |
|
}); |
|
}); |
|
//获取远程会见预约记录 |
|
var Remotedata = await _db.Queryable<App_RemoteModel>() |
|
.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, |
|
title = da?.title, |
|
color = da?.color, |
|
icon = da?.icon, |
|
matter = q.name, |
|
sttime = q.sttime, |
|
ettime = q.ettime, |
|
state = q.state, |
|
creationtime = q.creationtime, |
|
username = q.createusername, |
|
handleId = q.meetwitId, |
|
handleuser = q.meetwitname |
|
}); |
|
}); |
|
//获取远程接待预约记录 |
|
var Receptiondata = await _db.Queryable<App_ReceptionModel>() |
|
.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, |
|
title = da?.title, |
|
color = da?.color, |
|
icon = da?.icon, |
|
matter = q.matter, |
|
sttime = q.sttime, |
|
ettime = q.ettime, |
|
state = q.state, |
|
creationtime = q.creationtime, |
|
username = q.createusername, |
|
handleId = q.meetwitId, |
|
handleuser = q.meetwitname |
|
}); |
|
}); |
|
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; |
|
} |
|
|
|
/// <summary> |
|
/// 系统---根据预约Id 查询预约信息 |
|
/// </summary> |
|
/// <param name="Id">预约Id</param> |
|
/// <param name="type">类型</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("queryreunitId")] |
|
public async Task<Result> queryreunitId(string? Id,int type) |
|
{ |
|
try |
|
{ |
|
switch (type) |
|
{ |
|
case 0: |
|
//获取律师服务预约记录 |
|
var list = await _db.Queryable<App_LawyerServicesModel>() |
|
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync(); |
|
result.result = list.FirstOrDefault(); |
|
break; |
|
case 1: |
|
//获取远程会见预约记录 |
|
var Remotedata = await _db.Queryable<App_RemoteModel>() |
|
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync(); |
|
result.result = Remotedata.FirstOrDefault(); |
|
break; |
|
case 2: |
|
//获取远程接待预约记录 |
|
var Receptiondata = await _db.Queryable<App_ReceptionModel>() |
|
.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; |
|
} |
|
|
|
/// <summary> |
|
/// app---根据当前登录人获取所有预约信息--type类型为:0律师服务,1远程会见,2远程接待 |
|
/// </summary> |
|
[HttpPost] |
|
[Route("queryreservation")] |
|
public async Task<Result> queryreservation(Commonpage Commondata) |
|
{ |
|
try |
|
{ |
|
var list = new List<dynamic>(); |
|
//获取工作台信息 |
|
var Stagingdata = await _db.Queryable<StagingModel>().Where(q => q.IsDelete == 0).ToArrayAsync(); |
|
var Userdata = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0&&q.usertype==0).ToArrayAsync(); |
|
//获取律师服务预约记录 |
|
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>() |
|
.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(); |
|
var userda=Userdata.Where(x => x.Id == q.receptionuser).FirstOrDefault(); |
|
list.Add(new |
|
{ |
|
type = 0, |
|
Id = q.Id, |
|
daId = da?.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<App_RemoteModel>() |
|
.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<App_ReceptionModel>() |
|
.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 = "" |
|
}); |
|
}); |
|
//分页查询--如有预约类型--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(); |
|
|
|
} |
|
catch (System.Exception ex) |
|
{ |
|
_db.RollbackTran(); |
|
result.IsSucceed = false; |
|
result.Message = ex.Message; |
|
} |
|
_logs.WriteSysLogadd("所有预约信息", "所有预约信息", result, _db); |
|
return result; |
|
} |
|
|
|
/// <summary> |
|
/// app---根据登录人获取所有预约办理信息 |
|
/// </summary> |
|
[HttpPost] |
|
[Route("queryreservationjc")] |
|
public async Task<Result> queryreservationjc(Commonpage Commondata) |
|
{ |
|
try |
|
{ |
|
var list = new List<dynamic>(); |
|
//获取工作台信息 |
|
var Stagingdata = await _db.Queryable<StagingModel>().Where(q => q.IsDelete == 0).ToArrayAsync(); |
|
var Userdata = await _db.Queryable<App_Sys_UserModel>().Where(q => q.IsDeleted == 0 && q.usertype == 0).ToArrayAsync(); |
|
//获取律师服务预约记录 |
|
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>() |
|
.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<App_RemoteModel>() |
|
.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<App_ReceptionModel>() |
|
.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<App_HearingModel>() |
|
// .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.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(); |
|
|
|
} |
|
catch (System.Exception ex) |
|
{ |
|
_db.RollbackTran(); |
|
result.IsSucceed = false; |
|
result.Message = ex.Message; |
|
} |
|
_logs.WriteSysLogadd("所有预约信息", "所有预约信息", result, _db); |
|
return result; |
|
} |
|
|
|
/// <summary> |
|
/// 根据Id分配办理人 |
|
/// </summary> |
|
/// <param name="Id">预约信息Id</param> |
|
/// <param name="userId">办理人Id</param> |
|
/// <param name="username">办理人</param> |
|
/// <returns></returns> |
|
[HttpGet] |
|
[Route("Updateuser")] |
|
public async Task<Result> Updateuser(string? Id, string? userId,string? username) |
|
{ |
|
try |
|
{ |
|
//律师服务 |
|
var Lawyerbol = await _db.Queryable<App_LawyerServicesModel>().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) |
|
{ |
|
_SocketCon.system(userId); |
|
result.IsSucceed = true; |
|
result.result = "修改成功"; |
|
} |
|
} |
|
//听证服务 |
|
var Hearingbol = await _db.Queryable<App_HearingModel>().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<App_RemoteModel>().Where(q => q.Id == Id).ToListAsync(); |
|
if (RemoteModelbol.Count() > 0) |
|
{ |
|
RemoteModelbol.FirstOrDefault().meetwitId = userId; |
|
RemoteModelbol.FirstOrDefault().meetwitname = 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 = "修改成功"; |
|
} |
|
} |
|
//获取远程接待预约记录 |
|
var Receptiondata = await _db.Queryable<App_ReceptionModel>() |
|
.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) |
|
{ |
|
_db.RollbackTran(); |
|
result.IsSucceed = false; |
|
result.Message = ex.Message; |
|
LogService.WriteLog(ex, "修改律师服务预约办理人"); |
|
} |
|
_logs.WriteSysLogadd("律师服务", "修改律师服务预约办理人", result, _db); |
|
return result; |
|
} |
|
#endregion |
|
|
|
#region 自主查询 |
|
/// <summary> |
|
/// app---根据当前登录人查询预约信息--自主查询 |
|
/// </summary> |
|
[HttpPost] |
|
[Route("querylist")] |
|
public async Task<Result> querylist(Commonpage Commondata) |
|
{ |
|
try |
|
{ |
|
var list = new List<dynamic>(); |
|
//获取工作台信息 |
|
var Stagingdata = await _db.Queryable<StagingModel>().Where(q => q.IsDelete == 0).ToArrayAsync(); |
|
//获取律师服务预约记录 |
|
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>() |
|
.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, |
|
title = da?.title, |
|
path = da?.path, |
|
color = da?.color, |
|
icon = da?.icon, |
|
objectstr = q.objectstr, |
|
matter = q.matter, |
|
state = q.state, |
|
sttime = q.receptiontime, |
|
ettime = "", |
|
creationtime = q.creationtime |
|
}); |
|
}); |
|
//获取远程会见预约记录 |
|
var Remotedata = await _db.Queryable<App_RemoteModel>() |
|
.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, |
|
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, |
|
creationtime = q.creationtime |
|
}); |
|
}); |
|
//获取远程接待预约记录 |
|
var Receptiondata = await _db.Queryable<App_ReceptionModel>() |
|
.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, |
|
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 |
|
}); |
|
}); |
|
//查询 |
|
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 数据统计 |
|
|
|
/// <summary> |
|
/// 预约数据统计 |
|
/// </summary> |
|
[HttpPost] |
|
[Route("querystatistics")] |
|
public async Task<Result> querystatistics(Commonpage Commondata) |
|
{ |
|
try |
|
{ |
|
var list = new List<dynamic>(); |
|
//获取工作台信息 |
|
var Stagingdata = await _db.Queryable<StagingModel>().Where(q => q.IsDelete == 0).ToArrayAsync(); |
|
var Userdata = await _db.Queryable<App_Sys_UserModel>().Where(q => q.usertype == 0).ToArrayAsync(); |
|
//获取律师服务预约记录 |
|
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>() |
|
.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(); |
|
var userda = Userdata.Where(x => x.Id == q.receptionuser).FirstOrDefault(); |
|
list.Add(new |
|
{ |
|
type = 0, |
|
Id = q.Id, |
|
daId = da?.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<App_RemoteModel>() |
|
.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<App_ReceptionModel>() |
|
.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<dynamic>(); |
|
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 = new { GroupBy, datetme, satseGroupBy }; |
|
|
|
} |
|
catch (System.Exception ex) |
|
{ |
|
_db.RollbackTran(); |
|
result.IsSucceed = false; |
|
result.Message = ex.Message; |
|
} |
|
_logs.WriteSysLogadd("所有预约信息", "所有预约信息", result, _db); |
|
return result; |
|
} |
|
#endregion |
|
|
|
#region 文件上传 |
|
/// <summary> |
|
/// 文件上传--MP4 |
|
/// </summary> |
|
/// <param name="fileinfo"></param> |
|
/// <param name="file"></param> |
|
/// <returns></returns> |
|
[HttpPost] |
|
[Route("Upload_Files")] |
|
public async Task<ActionResult> 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 |
|
} |
|
}
|
|
|