using Elight.Entity; using Elight.Logic; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.logs; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace _24Hour.Controllers.Common { /// /// 文书签收 /// [HiddenApi] [Authorize] [ApiController] [Route("api/Document")] public class DocumentController : Controller { #region Identity private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 private readonly ILogger _logger;//日志 Result result = new Result(); public DocumentController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) { _logger = logger; _db = db; _logs = logs; _userdata = user.Userdata(); } #endregion #region 文书签收增删改查 /// /// APP--根据当前登录人文书签收分页查询 /// /// /// [HttpPost] [Route("QueryDocumentuser")] public async Task QueryDocumentuser(App_DocumentInput Documentdata) { //查询文书签收预约记录 var list = await _db.Queryable() .WhereIF(Documentdata.signforuser != null, q => q.signforuser.Contains(Documentdata.signforuser)) .WhereIF(Documentdata.signforphone != null, q => q.signforphone.Contains(Documentdata.signforphone)) .WhereIF(Documentdata.signforcardId != null, q => q.signforcardId.Contains(Documentdata.signforcardId)) .WhereIF(Documentdata.state != null, q => q.state == Documentdata.state) .WhereIF(Documentdata.StartTime != null && Documentdata.EndTime != null, q => q.signfortime >= Documentdata.StartTime && q.signfortime < Documentdata.EndTime.Value.AddDays(1)) .Where(q => q.IsDeleted == 0 && q.signforcardId == _userdata.cardId).ToPageListAsync(Documentdata.PageIndex, Documentdata.PageSize); var data = new QueryResult(Documentdata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 文书签收分页查询 /// /// /// [HttpPost] [Route("QueryDocument")] public async Task QueryDocument(App_DocumentInput Documentdata) { //查询文书签收 var list = await _db.Queryable() .WhereIF(Documentdata.signforuser != null, q => q.signforuser.Contains(Documentdata.signforuser)) .WhereIF(Documentdata.signforphone != null, q => q.signforphone.Contains(Documentdata.signforphone)) .WhereIF(Documentdata.signforcardId != null, q => q.signforcardId.Contains(Documentdata.signforcardId)) .WhereIF(Documentdata.unitId != null, q => q.unitId.Contains(Documentdata.unitId)) .WhereIF(Documentdata.state != null, q => q.state == Documentdata.state) .WhereIF(Documentdata.StartTime != null && Documentdata.EndTime != null, q => q.signfortime >= Documentdata.StartTime && q.signfortime < Documentdata.EndTime.Value.AddDays(1)) .Where(q => q.IsDeleted == 0).ToPageListAsync(Documentdata.PageIndex, Documentdata.PageSize); var data = new QueryResult(Documentdata, list.OrderByDescending(q => q.creationtime).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 添加文书签收 /// /// /// [HttpPost] [Route("AddDocument")] public async Task AddDocument(App_DocumentModel Documentdata) { try { _db.BeginTran(); Documentdata.Id = Guid.NewGuid().ToString(); Documentdata.createuserId = _userdata.Id.ToString(); Documentdata.createusername = _userdata.name; var num = await _db.Insertable(Documentdata).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; } /// /// 修改文书签收预约 /// /// /// [HttpPost] [Route("UpdateDocument")] public async Task UpdateDocument(App_DocumentModel Documentdata) { try { _db.BeginTran(); var num = await _db.Updateable(Documentdata).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改文书签收"); } _logs.WriteSysLogadd("文书签收", "修改文书签收", result, _db); return result; } /// /// 删除文书签收预约 /// /// /// [HttpPost] [Route("DeleteDocument")] public async Task DeleteDocument(CurrencyDelete Currency) { try { var Deletelist = await _db.Queryable().In(q => q.Id, Currency.id).ToListAsync(); Deletelist.ForEach(q => { q.IsDeleted = 1; }); _db.BeginTran(); var num = await _db.Updateable(Deletelist).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 文件签收更改状态 /// /// 修改文件签收状态为已签收 /// /// 文件Id /// [HttpGet] [Route("Updatedocumentstate")] public async Task Updatedocumentstate(string? Id) { try { var Documentbol = await _db.Queryable().Where(q => q.Id == Id).ToListAsync(); if (Documentbol.Count() > 0) { Documentbol.FirstOrDefault().state = 1; _db.BeginTran(); var num = await _db.Updateable(Documentbol.FirstOrDefault()).UpdateColumns(it => new { it.state }).ExecuteCommandAsync(); _db.CommitTran(); if (num > 0) { result.IsSucceed = true; result.result = "修改成功"; } } else { result.IsSucceed = false; result.result = "未找到文件信息"; } } catch (System.Exception ex) { _db.RollbackTran(); result.IsSucceed = false; result.Message = ex.Message; LogService.WriteLog(ex, "修改文件签收状态"); } _logs.WriteSysLogadd("文件签收", "修改文件签收状态", result, _db); return result; } #endregion } }