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.

2568 lines
129 KiB

using com.sun.org.apache.xalan.@internal.xsltc.runtime;
using Elight.Entity;
using Elight.Entity.SystemModel;
using Elight.Logic;
using Elight.Utility;
using Elight.Utility.Code;
using Elight.Utility.Extensions;
using Elight.Utility.logs;
using java.util;
using javax.xml.crypto;
using jdk.nashorn.@internal.ir;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Quartz.Logging;
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 List<App_Sys_UnitModel> _Unitdata;//当前用户
private readonly ILogger<LoginController> _logger;//日志
DateTime unixStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
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;
_Unitdata = _db.Queryable<App_Sys_UnitModel>().Where(q => q.IsDelete == 0).ToList();
}
#endregion
#region 最近待办--我的待办---我的预约
/// <summary>
/// 系统---根据当前登录人单位获取所有预约信息
/// </summary>
[HttpPost]
[Route("queryreunit")]
public async Task<Result> queryreunit(Commonpage Commondata)
{
try
{
RefAsync<int> totalNumber = 0;//总数据
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 ).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 = q.receptionusername,
operatorId = q.operatorId,
operatorName = q.operatorName,
annex = q.annex
});
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.Where(q => q.IsDeleted == 0).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,
operatorId = q.operatorId,
operatorName = q.operatorName,
annex = ""
});
});
//获取远程接待预约记录
var Receptiondata = await _db.Queryable<App_ReceptionModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.Where(q => q.IsDeleted == 0).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,
operatorId = q.operatorId,
operatorName = q.operatorName,
annex = ""
});
});
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
matter = q.matter,
sttime = q.sttime,
ettime = "",
state = q.state,
creationtime = q.creationtime,
username = q.createusername,
handleId = q.meetwitId,
handleuser = q.meetwitname,
operatorId = q.operatorId,
operatorName = q.operatorName,
annex = ""
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Hearingdata.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 = 3,
Id = q.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
matter = q.witnessrequest,
sttime = q.reservationtime,
ettime = "",
state = q.state,
creationtime = q.creationtime,
username = q.lawyeruser,
handleId = q.receptionuser,
handleuser = q.receptionusername,
operatorId = q.operatorId,
operatorName = q.operatorName,
annex = ""
});
});
//条件查询
list = list.WhereIF(Commondata.username.NotNull(), x => $"{x.username}".Contains(Commondata.username))
.WhereIF(Commondata.handleuser.NotNull(), x => $"{x.handleuser}".Contains(Commondata.handleuser))
.WhereIF(Commondata.StartTime != null && Commondata.EndTime != null, q => q.creationtime >= Commondata.StartTime && q.creationtime < Commondata.EndTime.Value.AddDays(1)).ToList();
Commondata.RowsCount = list.Count();
list = list.OrderByDescending(q => q.creationtime).ToList()
.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList();
result.IsSucceed = true;
result.result = new { Paging = Commondata, Data = list.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();
if (list.Count>0)
{
var unitdal = _Unitdata.Where(q => q.unitCode == list.FirstOrDefault().unitCode).FirstOrDefault();
if (unitdal!= null)
{
list.FirstOrDefault().unitCode = unitdal.unitname;
}
result.result = list.FirstOrDefault();
}
else
{
result.result =null;
}
break;
case 1:
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
if (Remotedata.Count>0)
{
var unitdatote = _Unitdata.Where(q => q.unitCode == Remotedata.FirstOrDefault().unitCode).FirstOrDefault();
if (unitdatote!= null)
Remotedata.FirstOrDefault().unitCode = unitdatote.unitname;
result.result = Remotedata.FirstOrDefault();
}
break;
case 2:
//获取远程接待预约记录
var Receptiondata = await _db.Queryable<App_ReceptionModel>()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
if (Receptiondata.Count>0)
{
var unitdatR = _Unitdata.Where(q => q.unitCode == Receptiondata.FirstOrDefault().unitCode).FirstOrDefault();
if (unitdatR!= null)
Receptiondata.FirstOrDefault().unitCode = unitdatR.unitname;
result.result = Receptiondata.FirstOrDefault();
}
break;
case 3:
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
if (Hearingdata.Count>0)
{
var unitdata = _Unitdata.Where(q => q.unitCode == Hearingdata.FirstOrDefault().unitCode).FirstOrDefault();
if (unitdata!= null)
Hearingdata.FirstOrDefault().unitCode = unitdata.unitname;
result.result = Hearingdata.FirstOrDefault();
}
break;
case 4:
//获取文书签收记录
var Documentdata = await _db.Queryable<App_DocumentModel>()
.Where(q => q.Id == Id).ToListAsync();
if (Documentdata.Count>0)
{
var unitda = _Unitdata.Where(q => q.unitCode == Documentdata.FirstOrDefault().dwbm).FirstOrDefault();
if (unitda!= null)
Documentdata.FirstOrDefault().dwbm = unitda.unitname;
result.result = Documentdata.FirstOrDefault();
}
break;
case 5:
//获取云柜记录
var CloudCabinetdata = await _db.Queryable<App_CloudCabinetModel>()
.Where(q => q.Id == Id).ToListAsync();
if (CloudCabinetdata.Count>0)
{
var unitdat = _Unitdata.Where(q => q.unitCode == CloudCabinetdata.FirstOrDefault().dwbm).FirstOrDefault();
CloudCabinetdata.FirstOrDefault().dwbm = unitdat.unitname;
result.result = CloudCabinetdata.FirstOrDefault();
}
break;
case 6:
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>()
.Where(q => q.IsDeleted == 0 && q.Id == Id).ToListAsync();
if (Confessiondata.Count>0)
result.result = Confessiondata.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();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 0,
Id = q.Id,
daId = da?.Id,
Unitname = Unitdata?.unitname,
unitCode = Unitdata?.unitCode,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = q.matter,//事由
objectstr = q.objectstr,//访问对象(案件名称)
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
state = q.state,
reason = q.reason,
sttime = q.receptiontime,
ettime = "",
qrsj = q.acceptancetime,
creationtime = q.creationtime,
receptionuser = q.receptionuser,
receive = q.createuserId,
username = userda?.name,
notes = q.notes,
annex = q.annex
});
});
//获取远程会见预约记录
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();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 1,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
unitCode = Unitdata?.unitCode,
Unitname = Unitdata?.unitname,
name = q.name,
phone = q.phone,
matter = "",//事由
objectstr = "",//访问对象(案件名称)
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
Code = q.Code,
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
qrsj = q.acceptancetime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
receive = q.createuserId,
notes = q.notes,
appurl = q.appurl,
annex = ""
});
});
//获取远程接待预约记录
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();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 2,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
Unitname = Unitdata?.unitname,
unitCode = Unitdata?.unitCode,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
qrsj = q.acceptancetime,
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
receive = q.createuserId,
notes = q.notes,
appurl = "",
annex = ""
});
});
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.Where(q => q.IsDeleted == 0 && q.createuserId == _userdata.Id).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
Unitname = Unitdata?.unitname,
unitCode = Unitdata?.unitCode,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
qrsj = q.acceptancetime,
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
receive = q.createuserId,
notes = q.notes,
appurl = "",
annex = ""
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.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();
var userda = Userdata.Where(x => x.Id == q.receptionuser).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
Unitname = Unitdata?.unitname,
unitCode = Unitdata?.unitCode,
name = q.lawyeruser,//律师律师名称
lawyerunit = q.lawyerunit,//律师事务所
location = q.location,//预约地点
operatorId = q.operatorId,
operatorName = q.operatorName,
qrsj = q.acceptancetime,
phone = q.contact,//联系方式
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.reservationtime,//预约时间
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,//办理人Id
username = userda?.name,//办理人名称
receive = q.createuserId,//办接收人
notes = q.notes,
appurl = "",
annex = ""
});
});
//分页查询--如有预约类型--reservationId可筛选预约类型,预约信息Id--可筛选预约信息
list = list.Where(q => q.daId != null).WhereIF(Commondata.matter.NotNull(), x => x.matter.Contains(Commondata.matter) || x.title.Contains(Commondata.matter) || x.name.Contains(Commondata.matter) || x.objectstr.Contains(Commondata.matter) || x.lawyerunit.Contains(Commondata.matter)).OrderByDescending(q => q.creationtime).ToList();
Commondata.RowsCount = list.Count();
list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList();
result.IsSucceed = true;
result.result = new { Paging = Commondata, Data = list.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?>();
if (string.IsNullOrEmpty(_userdata.department))
{
result.IsSucceed = true;
result.result = list;
return result;
}
//获取工作台信息
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 && Commondata.state != 0, x => x.state == Commondata.state)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id||x.operatorId ==null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department).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 = q.objectstr,//访问对象(案件名称)
handleId = q.receptionuser,
handleuser = q.receptionusername,
operatorId = q.operatorId,
operatorName = q.operatorName,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
qrsj = q.acceptancetime,
state = q.state,
reason = q.reason,
sttime = q.receptiontime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
receive = q.createuserId,
username = userda?.name,
yyname = q.createusername,//预约人名称
notes = q.notes,
annex = q.annex
});
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>()
//.WhereIF(Commondata.state != null && Commondata.state != 0, x => x.state == Commondata.state)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).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 = "",//访问对象(案件名称)
operatorId = q.operatorId,
operatorName = q.operatorName,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
qrsj = q.acceptancetime,
Code = q.Code,
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
receive = q.createuserId,
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = q.appurl,
annex = ""
});
});
//获取远程接待预约记录
var Receptiondata = await _db.Queryable<App_ReceptionModel>()
//.WhereIF(Commondata.state != null && Commondata.state != 0, x => x.state == Commondata.state)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department).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 = "",//访问对象(案件名称)
operatorId = q.operatorId,
operatorName = q.operatorName,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
qrsj = q.acceptancetime,
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
receive = q.createuserId,
username = q.meetwitname,
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = "",
annex = ""
});
});
//获取听证服务预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
//.WhereIF(Commondata.state != null && Commondata.state != 0, x => x.state == Commondata.state)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
// .WhereIF(Commondata.state != null && Commondata.state == 1, x => x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser==_userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department).ToArrayAsync();
Hearingdata.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 = 3,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.lawyeruser,//律师律师名称
handleId = q.receptionuser,
handleuser = q.receptionusername,
operatorId = q.operatorId,
operatorName = q.operatorName,
lawyerunit = q.lawyerunit,//律师事务所
location = q.location,//预约地点
qrsj = q.acceptancetime,
phone = q.contact,//联系方式
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.reservationtime,//预约时间
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,//办理人Id
username = userda?.name,//办理人名称
receive = q.receptionuser,//办接收人
notes = q.notes,
yyname = q.createusername,//预约人名称
appurl = "",
annex = ""
});
});
//获取文书签收记录
var Documentdata = await _db.Queryable<App_DocumentModel>()
.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.zt.Contains("03"))
.WhereIF(Commondata.state != null && Commondata.state == 1, x => x.zt.Contains("1000"))
.WhereIF(Commondata.state != null && Commondata.state == 2, x => x.zt.Contains("99") || x.zt.Contains("04"))
.Where(q => q.zjhm.Contains(_userdata.cardId)).ToArrayAsync();
Documentdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.wsmc,//文书名称
lawyerunit = Unitdata?.unitname,//单位
location = "",//预约地点
phone = "",//联系方式
matter = q.ajmc,//案件名称
objectstr = "",//访问对象(案件名称)
Code = "",
state = q.zt,//状态
reason = "",//原因
sttime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),//时间
ettime = "",
creationtime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),//最新时间
receptionuser = "",//办理人Id
username = "",//办理人名称
receive = "",//办接收人
notes = "",
appurl = "",
yyname = "",
annex = ""
});
});
//获取云柜记录
var CloudCabinetdata = await _db.Queryable<App_CloudCabinetModel>()
.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.zt.Contains("00"))
.WhereIF(Commondata.state != null && Commondata.state == 1, x => x.zt.Contains("1000"))
.WhereIF(Commondata.state != null && Commondata.state == 2, x => x.zt.Contains("99"))
.Where(q => (q.sfzh.Contains(_userdata.cardId) || q.lxhm == _userdata.phone)).ToArrayAsync();
CloudCabinetdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 5,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = $"{q.cljs}",//材料件数
lawyerunit = Unitdata?.unitname,//
location = "",//
phone = q.lxhm,//联系方式
matter = !string.IsNullOrEmpty(q.gjkqmm) ? q.gjkqmm : q.wbkqmm,//取件码
objectstr = "",//干警取件码
Code = "",
state = q.zt,//状态
reason = "",
sttime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
ettime = q.qjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.qjsj)).ToString("yyyy-MM-dd HH:mm"),//取件时间
creationtime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
receptionuser = "",
username = "",
receive = "",
notes = "",
appurl = "",
yyname = "",
annex = ""
});
});
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>()
//.WhereIF(Commondata.state != null && Commondata.state != 0, x => x.state == Commondata.state)
//.WhereIF(Commondata.state != null && Commondata.state == 0, x => x.state == Commondata.state || x.state == 1)
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId==_userdata.department)
.WhereIF(Commondata.state != 0, x => x.operatorId == _userdata.Id || x.operatorId == null)
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId)).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
operatorId = q.operatorId,
operatorName = q.operatorName,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
qrsj = q.acceptancetime,
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
receive = q.createuserId,
username = q.meetwitname,
notes = q.notes,
yyname = q.createusername,//预约人名称
appurl = "",
annex = ""
});
});
list = list
.WhereIF(Commondata.matter.NotNull(), x => x?.matter.Contains(Commondata.matter) || x?.title.Contains(Commondata.matter) || x?.name.Contains(Commondata.matter) || x?.objectstr.Contains(Commondata.matter) || x?.lawyerunit.Contains(Commondata.matter)).OrderByDescending(q => q.creationtime).ToList();
Commondata.RowsCount = list.Count();
list = list.Skip(Commondata.PageSize * (Commondata.PageIndex - 1)).Take(Commondata.PageSize).ToList();
result.IsSucceed = true;
result.result = new { Paging = Commondata, Data = list.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("queryhandle")]
public async Task<Result> queryhandle(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();
if (string.IsNullOrEmpty(_userdata.department))
{
result.IsSucceed = true;
result.result=list;
return result;
}
//获取律师服务预约记录
var Lawyerdata = await _db.Queryable<App_LawyerServicesModel>().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser==_userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department && q.state != 2 && q.state != 3).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 = "",//访问对象(案件名称)
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
qrsj = q.acceptancetime,
state = q.state,
reason = q.reason,
sttime = q.receptiontime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
receive = q.createuserId,
username = userda?.name,
yyname = q.createusername,//预约人名称
notes = q.notes,
operatorId = q.operatorId,
operatorName = q.operatorName
});
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).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 = "",//访问对象(案件名称)
qrsj = q.acceptancetime,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
Code = q.Code,
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
receive = q.createuserId,
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = q.appurl
});
});
//获取远程接待预约记录
var Receptiondata = await _db.Queryable<App_ReceptionModel>().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department && q.state != 2 && q.state != 3).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 = "",//访问对象(案件名称)
qrsj = q.acceptancetime,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = q.ettime,
creationtime = q.creationtime,
receptionuser = q.meetwitId,
receive = q.createuserId,
username = q.meetwitname,
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = ""
});
});
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.meetwitId == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.meetwitId) && q.state != 2 && q.state != 3).ToArrayAsync();
//.Where(q => q.IsDeleted == 0 && q.meetwitId == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
qrsj = q.acceptancetime,
lawyerunit = "",
location = "",
courtname = "",
casetype = "",
operatorId = q.operatorId,
operatorName = q.operatorName,
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
receive = q.createuserId,
username = q.meetwitname,
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = ""
});
});
//获取听证服务预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>().WhereIF(!string.IsNullOrEmpty(_userdata.department), x => x.receptionuser == _userdata.department && (x.operatorId == _userdata.Id || x.operatorId == null))
.Where(q => q.IsDeleted == 0 && !string.IsNullOrEmpty(q.receptionuser) && q.state != 2 && q.state != 3).ToArrayAsync();
// .Where(q => q.IsDeleted == 0 && q.receptionuser == _userdata.department && q.state != 2 && q.state != 3).ToArrayAsync();
Hearingdata.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 = 3,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.lawyeruser,//律师律师名称
qrsj = q.acceptancetime,
lawyerunit = q.lawyerunit,//律师事务所
location = q.location,//预约地点
operatorId = q.operatorId,
operatorName = q.operatorName,
phone = q.contact,//联系方式
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
state = q.state,//状态
reason = q.reason,//原因
sttime = q.reservationtime,//预约时间
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,//办理人Id
username = userda?.name,//办理人名称
receive = q.receptionuser,//办接收人
yyname = q.createusername,//预约人名称
notes = q.notes,
appurl = ""
});
});
//获取文书签收记录
var Documentdata = await _db.Queryable<App_DocumentModel>()
.Where(q => q.zjhm.Contains(_userdata.cardId) && q.zt.Contains("03")).ToArrayAsync();
Documentdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.wsmc,//律师律师名称
lawyerunit = Unitdata?.unitname,//律师事务所
location = "",//预约地点
phone = "",//联系方式
matter = q.ajmc,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
state = q.zt,//状态
reason = "",//原因
sttime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),//预约时间
ettime = "",
creationtime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),
receptionuser = "",//办理人Id
username = "",//办理人名称
receive = "",//办接收人
notes = "",
appurl = "",
yyname = ""
});
});
//获取云柜记录
var CloudCabinetdata = await _db.Queryable<App_CloudCabinetModel>()
.Where(q => q.sfzh.Contains(_userdata.cardId) || q.lxhm == _userdata.phone && q.zt.Contains("00")).ToArrayAsync();
CloudCabinetdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 5,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.cljs,//材料件数
lawyerunit = Unitdata?.unitname,//
location = "",//
phone = q.lxhm,//联系方式
matter = !string.IsNullOrEmpty(q.gjkqmm) ? q.gjkqmm : q.wbkqmm,//取件码
objectstr = "",
Code = "",
state = q.zt,//状态
reason = "",
sttime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
ettime = q.qjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.qjsj)).ToString("yyyy-MM-dd HH:mm"),//取件时间
creationtime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
receptionuser = "",
username = "",
receive = "",
notes = "",
appurl = "",
yyname = ""
});
});
list = list.OrderByDescending(q => q.creationtime).ToList();
result.IsSucceed = true;
result.result = new { count = list.ToList().Count(), list = list.Take(10).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>
[HttpPost]
[Route("Updateuser")]
public async Task<Result> Updateuser(UpdateuserDto dto)
{
try
{
var newmodel = _userdata;
if (dto == null)
{
result.IsSucceed = false;
result.result = "接受参数失败";
return result;
}
if (string.IsNullOrEmpty(dto.Id))
{
result.IsSucceed = false;
result.result = "编号不能为空";
return result;
}
if (dto.Type == null)
{
result.IsSucceed = false;
result.result = "确认时间不能为空";
return result;
}
//if (string.IsNullOrEmpty(dto.userId))
//{
// result.IsSucceed = false;
// result.result = "用户编号不能为空";
// return result;
//}
//if (dto.time== null)
//{
// result.IsSucceed = false;
// result.result = "确认时间不能为空";
// return result;
//}
//if (dto.state==false && string.IsNullOrEmpty(dto.reason))
//{
// result.IsSucceed = false;
// result.result = "拒绝原因不能为空";
// return result;
//}
//律师服务
var Lawyerbol = await _db.Queryable<App_LawyerServicesModel>().Where(q => q.Id == dto.Id).ToListAsync();
if (Lawyerbol.Count() > 0)
{
if (dto.Type == 1)
{
//if (Lawyerbol.FirstOrDefault().operatorId!=null)
//{
// result.IsSucceed = false;
// result.result = "预约已受理";
// return result;
//}
Lawyerbol.FirstOrDefault().acceptancetime = dto.time;
Lawyerbol.FirstOrDefault().reason = dto.reason;
Lawyerbol.FirstOrDefault().state = Convert.ToInt32(dto.state);
Lawyerbol.FirstOrDefault().operatorId =newmodel.Id;
Lawyerbol.FirstOrDefault().operatorName = newmodel.name;
}
else
{
Lawyerbol.FirstOrDefault().receptionuser = dto.userId;
Lawyerbol.FirstOrDefault().receptionusername = dto.username;
}
_db.BeginTran();
var num = await _db.Updateable(Lawyerbol.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser, it.receptionusername, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
_SocketCon.system(dto.userId);
result.IsSucceed = true;
result.result = "修改成功";
}
}
//远程会见
var RemoteModelbol = await _db.Queryable<App_RemoteModel>().Where(q => q.Id == dto.Id).ToListAsync();
if (RemoteModelbol.Count() > 0)
{
if (dto.Type == 1)
{
//if (RemoteModelbol.FirstOrDefault().operatorId != null)
//{
// result.IsSucceed = false;
// result.result = "预约已受理";
// return result;
//}
RemoteModelbol.FirstOrDefault().acceptancetime = dto.time;
RemoteModelbol.FirstOrDefault().reason = dto.reason;
RemoteModelbol.FirstOrDefault().state = Convert.ToInt32(dto.state);
RemoteModelbol.FirstOrDefault().operatorId =newmodel.Id;
RemoteModelbol.FirstOrDefault().operatorName = newmodel.name;
}
else
{
RemoteModelbol.FirstOrDefault().meetwitId = dto.userId;
RemoteModelbol.FirstOrDefault().meetwitname = dto.username;
}
_db.BeginTran();
var num = await _db.Updateable(RemoteModelbol.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
result.IsSucceed = true;
result.result = "修改成功";
}
}
//获取远程接待预约记录
var Receptiondata = await _db.Queryable<App_ReceptionModel>()
.Where(q => q.Id == dto.Id).ToArrayAsync();
if (Receptiondata.Count() > 0)
{
if (dto.Type == 1)
{
//if (Receptiondata.FirstOrDefault().operatorId != null)
//{
// result.IsSucceed = false;
// result.result = "预约已受理";
// return result;
//}
Receptiondata.FirstOrDefault().acceptancetime = dto.time;
Receptiondata.FirstOrDefault().reason = dto.reason;
Receptiondata.FirstOrDefault().state = Convert.ToInt32(dto.state);
Receptiondata.FirstOrDefault().operatorId =newmodel.Id;
Receptiondata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
Receptiondata.FirstOrDefault().meetwitId = dto.userId;
Receptiondata.FirstOrDefault().meetwitname = dto.username;
}
_db.BeginTran();
var num = await _db.Updateable(Receptiondata.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
result.IsSucceed = true;
result.result = "修改成功";
}
}
//获取认罪认罚预约记录
var Confessiondata = await _db.Queryable<App_ConfessionModel>()
.Where(q => q.Id == dto.Id).ToArrayAsync();
if (Confessiondata.Count() > 0)
{
if (dto.Type == 1)
{
//if (Confessiondata.FirstOrDefault().operatorId != null)
//{
// result.IsSucceed = false;
// result.result = "预约已受理";
// return result;
//}
Confessiondata.FirstOrDefault().acceptancetime = dto.time;
Confessiondata.FirstOrDefault().reason = dto.reason;
Confessiondata.FirstOrDefault().state =Convert.ToInt32(dto.state);
Confessiondata.FirstOrDefault().operatorId =newmodel.Id;
Confessiondata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
Confessiondata.FirstOrDefault().meetwitId = dto.userId;
Confessiondata.FirstOrDefault().meetwitname = dto.username;
}
_db.BeginTran();
var num = await _db.Updateable(Confessiondata.FirstOrDefault()).UpdateColumns(it => new { it.meetwitId, it.meetwitname, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).ExecuteCommandAsync();
_db.CommitTran();
if (num > 0)
{
result.IsSucceed = true;
result.result = "修改成功";
}
}
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.Where(q => q.Id == dto.Id).ToArrayAsync();
if (Hearingdata.Count() > 0)
{
if (dto.Type == 1)
{
//if (Hearingdata.FirstOrDefault().operatorId != null)
//{
// result.IsSucceed = false;
// result.result = "预约已受理";
// return result;
//}
Hearingdata.FirstOrDefault().acceptancetime = dto.time;
Hearingdata.FirstOrDefault().reason = dto.reason;
Hearingdata.FirstOrDefault().state = Convert.ToInt32(dto.state);
Hearingdata.FirstOrDefault().operatorId =newmodel.Id;
Hearingdata.FirstOrDefault().operatorName = newmodel.name;
}
else
{
Hearingdata.FirstOrDefault().receptionuser = dto.userId;
Hearingdata.FirstOrDefault().receptionusername = dto.username;
}
_db.BeginTran();
var num = await _db.Updateable(Hearingdata.FirstOrDefault()).UpdateColumns(it => new { it.receptionuser, it.receptionusername, it.acceptancetime, it.reason, it.state, it.operatorId, it.operatorName }).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)
.WhereIF(!Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.WhereIF(Commondata.unitId.NotNull(), x => x.receptionuser == _userdata.department)
.WhereIF(Commondata.unitId.NotNull(), x => x.operatorId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 0,
Id = q.Id,
Unitname = Unitdata?.unitname,
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)
.WhereIF(!Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.WhereIF(Commondata.unitId.NotNull(), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.unitId.NotNull(), x => x.operatorId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 1,
Id = q.Id,
Unitname = Unitdata?.unitname,
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)
.WhereIF(!Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.WhereIF(Commondata.unitId.NotNull(), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.unitId.NotNull(), x => x.operatorId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 2,
Id = q.Id,
Unitname = Unitdata?.unitname,
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 Confessiondata = await _db.Queryable<App_ConfessionModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.WhereIF(Commondata.unitId.NotNull(), x => x.meetwitId == _userdata.department)
.WhereIF(Commondata.unitId.NotNull(), x => x.operatorId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.matter,
objectstr = "",
sttime = q.sttime,
ettime = "",
state = q.state,
creationtime = q.creationtime
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(!Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.WhereIF(Commondata.unitId.NotNull(), x => x.receptionuser == _userdata.department)
.WhereIF(Commondata.unitId.NotNull(), x => x.operatorId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.witnessrequest,
objectstr = "",
sttime = q.reservationtime,
ettime = "",
state = q.state,
creationtime = q.creationtime
});
});
//获取文书签收记录
var Documentdata = await _db.Queryable<App_DocumentModel>()
.Where(q => q.zjhm.Contains(_userdata.cardId)).ToArrayAsync();
Documentdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.wsmc,
objectstr = q.ajmc,
sttime = "",
ettime = "",
state = q.zt,
creationtime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),//最新时间
});
});
//获取云柜记录
var CloudCabinetdata = await _db.Queryable<App_CloudCabinetModel>()
.Where(q => q.sfzh.Contains(_userdata.cardId) || q.lxhm == _userdata.phone).ToArrayAsync();
CloudCabinetdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 5,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = !string.IsNullOrEmpty(q.gjkqmm) ? q.gjkqmm : q.wbkqmm,//取件码
objectstr = "",
sttime = "",
ettime = "",
state = q.zt,
creationtime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
});
});
//查询
list = list.ToList().WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter) || q.objectstr.Contains(Commondata.matter) || q.title.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>
/// app---根据当前登录人查询预约信息--自主查询---一体机
/// </summary>
[HttpPost]
[Route("querylistytj")]
public async Task<Result> querylistytj(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)
.WhereIF(Commondata.unitId.NotNull(), x => x.unitCode.Contains(Commondata.unitId))
.WhereIF(Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 0,
Id = q.Id,
Unitname = Unitdata?.unitname,
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)
.WhereIF(Commondata.unitId.NotNull(), x => x.unitCode.Contains(Commondata.unitId))
.WhereIF(Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 1,
Id = q.Id,
Unitname = Unitdata?.unitname,
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)
.WhereIF(Commondata.unitId.NotNull(), x => x.unitCode.Contains(Commondata.unitId))
.WhereIF(Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 2,
Id = q.Id,
Unitname = Unitdata?.unitname,
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 Confessiondata = await _db.Queryable<App_ConfessionModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(Commondata.unitId.NotNull(), x => x.unitCode.Contains(Commondata.unitId))
.WhereIF(Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 6,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.matter,
objectstr = "",
sttime = q.sttime,
ettime = "",
state = q.state,
creationtime = q.creationtime
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.WhereIF(Commondata.state != null, x => x.state == Commondata.state)
.WhereIF(Commondata.unitId.NotNull(), x => x.unitCode.Contains(Commondata.unitId))
.WhereIF(Commondata.unitId.NotNull(), x => x.createuserId == _userdata.Id)
.Where(q => q.IsDeleted == 0).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.unitCode).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.witnessrequest,
objectstr = "",
sttime = q.reservationtime,
ettime = "",
state = q.state,
creationtime = q.creationtime
});
});
//获取文书签收记录
var Documentdata = await _db.Queryable<App_DocumentModel>()
.WhereIF(Commondata.unitId.NotNull(), x => x.dwbm.Contains(Commondata.unitId))
.Where(q => q.zjhm.Contains(_userdata.cardId)).ToArrayAsync();
Documentdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = q.wsmc,
objectstr = q.ajmc,
sttime = "",
ettime = "",
state = q.zt,
creationtime = unixStartTime.AddMilliseconds(long.Parse(q.zhxgsj)),//最新时间
});
});
//获取云柜记录
var CloudCabinetdata = await _db.Queryable<App_CloudCabinetModel>()
.WhereIF(Commondata.unitId.NotNull(), x => x.dwbm.Contains(Commondata.unitId))
.Where(q => q.sfzh.Contains(_userdata.cardId) || q.lxhm == _userdata.phone).ToArrayAsync();
CloudCabinetdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var Unitdata = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault();
list.Add(new
{
type = 5,
Id = q.Id,
Unitname = Unitdata?.unitname,
title = da?.title,
path = da?.path,
color = da?.color,
icon = da?.icon,
matter = !string.IsNullOrEmpty(q.gjkqmm) ? q.gjkqmm : q.wbkqmm,//取件码
objectstr = "",
sttime = "",
ettime = "",
state = q.zt,
creationtime = q.cjsj == null ? "" : unixStartTime.AddMilliseconds(long.Parse(q.cjsj)).ToString("yyyy-MM-dd HH:mm"),//创建时间
});
});
//查询
list = list.ToList().WhereIF(Commondata.matter.NotNull(), q => q.matter.Contains(Commondata.matter) || q.objectstr.Contains(Commondata.matter) || q.title.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>
/// 预约数据统计---GroupBy预约类型 ---datetme时间 ---satseGroupBy预约状态
/// </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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode).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 = "",//访问对象(案件名称)
statetype = $"{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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _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,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = "",//事由
objectstr = "",//访问对象(案件名称)
Code = q.Code,
statetype = $"{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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _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,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{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 Confessiondata = await _db.Queryable<App_ConfessionModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
notes = q.notes,
appurl = ""
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.contact,
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.reservationtime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
username = q.receptionusername,
notes = q.notes,
appurl = ""
});
});
list = list
.WhereIF(Commondata.StartTime != null && Commondata.EndTime != null, q => q.sttime >= Commondata.StartTime && q.sttime < Commondata.EndTime.Value.AddDays(1)).OrderByDescending(q => q.sttime).ToList();
//预约类型分组统计
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.sttime}").ToString("yyyy-MM-dd")).Select(x => new { time = x.Key, value = x.ToList().Count() });
//预约状态分组
var satselist = list.ToList().GroupBy(q => $"{q.statetype}").Select(x => new { statetype = x.Key, value = x.ToList().Count() }).ToList();
var satseGroupBy = new List<dynamic>();
string[] strnum = new string[] { "0", "1", "2", "3" };
string[] str = new string[] { "待办理", "已受理", "拒绝", "结束" };
for (int i = 0; i < strnum.Length; i++)
{
var da = satselist.Where(q => q.statetype == strnum[i]).FirstOrDefault();
if (da != null)
{
satseGroupBy.Add(new { name = str[i], value = da.value });
}
else
{
satseGroupBy.Add(new { name = str[i], value = 0 });
}
}
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;
}
/// <summary>
/// 人员任务量统计
/// </summary>
[HttpPost]
[Route("querypersonneltask")]
public async Task<Result> querypersonneltask(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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId != null).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 0,
Id = q.Id,
operatorId=q.operatorId,
operatorName = userda?.name,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
statetype = $"{q.state}",
reason = q.reason,
sttime = q.receptiontime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
username = q.receptionusername,
notes = q.notes
});
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId != null).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 1,
Id = q.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = "",//事由
objectstr = "",//访问对象(案件名称)
Code = q.Code,
statetype = $"{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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId != null).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 2,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{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 Confessiondata = await _db.Queryable<App_ConfessionModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId != null).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
notes = q.notes,
appurl = ""
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode&&q.acceptancetime!=null && q.operatorId != null).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.contact,
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.reservationtime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
username = q.receptionusername,
notes = q.notes,
appurl = ""
});
});
list = list
.WhereIF(Commondata.StartTime != null && Commondata.EndTime != null, q => q.sttime >= Commondata.StartTime && q.sttime < Commondata.EndTime.Value.AddDays(1)).OrderByDescending(q => q.sttime).ToList();
//人员分组统计
var GroupBy = list.ToList().GroupBy(q => new { q.operatorId, q.operatorName }).Select(x => new { name = x.Key.operatorName, value = x.ToList().Count() });
result.IsSucceed = true;
result.result = GroupBy;
}
catch (System.Exception ex)
{
_db.RollbackTran();
result.IsSucceed = false;
result.Message = ex.Message;
}
_logs.WriteSysLogadd("数据统计", "统计信息", result, _db);
return result;
}
/// <summary>
/// 单个人员任务统计
/// </summary>
[HttpPost]
[Route("queryusertask")]
public async Task<Result> queryusertask(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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null &&q.operatorId== Commondata.Id).ToArrayAsync();
Lawyerdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 0,
Id = q.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
statetype = $"{q.state}",
reason = q.reason,
sttime = q.receptiontime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
username = q.receptionusername,
notes = q.notes
});
});
//获取远程会见预约记录
var Remotedata = await _db.Queryable<App_RemoteModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Remotedata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 1,
Id = q.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
daId = da?.Id,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = q.name,
phone = q.phone,
matter = "",//事由
objectstr = "",//访问对象(案件名称)
Code = q.Code,
statetype = $"{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>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Receptiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 2,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{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 Confessiondata = await _db.Queryable<App_ConfessionModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Confessiondata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 3,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.phone,
matter = q.matter,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.sttime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.meetwitId,
username = q.meetwitname,
notes = q.notes,
appurl = ""
});
});
//获取听证预约记录
var Hearingdata = await _db.Queryable<App_HearingModel>()
.Where(q => q.IsDeleted == 0 && q.unitCode == _userdata.unitCode && q.acceptancetime != null && q.operatorId == Commondata.Id).ToArrayAsync();
Hearingdata.ToList().ForEach(q =>
{
var da = Stagingdata.Where(x => x.Id == q.reservationId).FirstOrDefault();
var userda = Userdata.Where(x => x.Id == q.operatorId).FirstOrDefault();
list.Add(new
{
type = 4,
Id = q.Id,
daId = da?.Id,
operatorId = q.operatorId,
operatorName = userda?.name,
title = da?.title,
color = da?.color,
icon = da?.icon,
name = "",
phone = q.contact,
matter = q.witnessrequest,//事由
objectstr = "",//访问对象(案件名称)
Code = "",
statetype = $"{q.state}",//状态
reason = q.reason,//原因
sttime = q.reservationtime,
ettime = "",
creationtime = q.creationtime,
receptionuser = q.receptionuser,
username = q.receptionusername,
notes = q.notes,
appurl = ""
});
});
list = list
.WhereIF(Commondata.StartTime != null && Commondata.EndTime != null, q => q.sttime >= Commondata.StartTime && q.sttime < Commondata.EndTime.Value.AddDays(1)).OrderByDescending(q => q.sttime).ToList();
//任务分组统计
var GroupBy = list.ToList().GroupBy(q => new { q.daId, q.title }).Select(x => new { name = x.Key.title, value = x.ToList().Count() });
//预约状态分组
var satselist = list.ToList().GroupBy(q => $"{q.statetype}").Select(x => new { statetype = x.Key, value = x.ToList().Count() }).ToList();
var satseGroupBy = new List<dynamic>();
string[] strnum = new string[] { "0", "1", "2", "3" };
string[] str = new string[] { "待办理", "已受理", "拒绝", "结束" };
for (int i = 0; i < strnum.Length; i++)
{
var da = satselist.Where(q => q.statetype == strnum[i]).FirstOrDefault();
if (da != null)
{
satseGroupBy.Add(new { name = str[i], value = da.value });
}
else
{
satseGroupBy.Add(new { name = str[i], value = 0 });
}
}
result.IsSucceed = true;
result.result =new { GroupBy,satseGroupBy};
}
catch (System.Exception ex)
{
_db.RollbackTran();
result.IsSucceed = false;
result.Message = ex.Message;
}
_logs.WriteSysLogadd("数据统计", "统计信息", result, _db);
return result;
}
#endregion
#region 文件上传
/// <summary>
/// 文件上传--附件
/// <param name="file"></param>
/// <returns></returns>
[HttpPost]
[Route("Upload_Files")]
public async Task<ActionResult> Upload_Files(IFormFile file)
{
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/{DateTime.Now.ToString("yyyy-MM-dd")}";
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
}
}