24小时一体机服务
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.

216 lines
8.7 KiB

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
{
/// <summary>
/// 通用接口
/// </summary>
[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<LoginController> _logger;//日志
Result result = new Result();
public CommonController(ILogger<LoginController> logger, SqlSugarClient db, WriteSysLog logs, User user)
{
_logger = logger;
_db = db;
_logs = logs;
_userdata = user.Userdata();
}
#endregion
#region 最近待办
/// <summary>
/// 获取所有预约信息
/// </summary>
[HttpGet]
[Route("Addqueryreservation")]
public async Task<Result> Addqueryreservation(int? state)
{
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(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<App_RemoteModel>()
.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<App_ReceptionModel>()
.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<App_HearingModel>()
.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;
}
/// <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)
{
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().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
}
}