using Elight.Entity; using Elight.Logic; using Elight.Utility; using Elight.Utility.Code; using Elight.Utility.Extensions; using Elight.Utility.logs; using javax.xml.crypto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using Microsoft.VisualBasic; using SqlSugar; namespace _24Hour.Controllers.Common { /// /// 文书签收 /// [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(); DateTime unixStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); public DocumentController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) { _logger = logger; _db = db; _logs = logs; _userdata = user.Userdata(); } #endregion #region 文书签收增删改查 /// /// app-文书签收分页查询 /// /// /// [HttpPost] [Route("APP_QueryDocument")] public async Task APP_QueryDocument(App_DocumentInput Documentdata) { try { RefAsync totalNumber = 0;//总数据 //单位 var _Unitdata = _db.Queryable().Where(q => q.IsDelete == 0).ToList(); //查询文书签收 var list = await _db.Queryable() .WhereIF(Documentdata.state.NotNull(), q => q.zt.Contains(Documentdata.state)) .WhereIF(Documentdata.name.NotNull(), q => q.wsmc.Contains(Documentdata.name)) .WhereIF(Documentdata.unitId.NotNull(), q => q.dwbm.Contains(Documentdata.unitId)) .Where(q => q.zjhm.Contains(_userdata.cardId)) .ToPageListAsync(Documentdata.PageIndex, Documentdata.PageSize, totalNumber); Documentdata.RowsCount = totalNumber; list.ForEach(q => { var da=_Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault(); q.dwbm = da?.unitname; }); var data = new QueryResult(Documentdata, list.OrderByDescending(q => long.Parse(q.sdsj)).ToList()); result.IsSucceed = true; result.result = data; } catch (Exception ex) { result.result =null; } return result; } /// /// 文书签收分页查询 /// /// /// [HttpPost] [Route("QueryDocument")] public async Task QueryDocument(App_DocumentInput Documentdata) { RefAsync totalNumber = 0;//总数据 //查询文书签收 var list = await _db.Queryable() .WhereIF(Documentdata.state.NotNull(), q => q.zt.Contains(Documentdata.state)) .WhereIF(Documentdata.name.NotNull(), q => q.wsmc.Contains(Documentdata.name)) .WhereIF(Documentdata.StartTime != null && Documentdata.EndTime != null, q => unixStartTime.AddMilliseconds(long.Parse(q.sdsj)) >= Documentdata.StartTime && unixStartTime.AddMilliseconds(long.Parse(q.sdsj)) < Documentdata.EndTime.Value.AddDays(1)) .ToPageListAsync(Documentdata.PageIndex, Documentdata.PageSize, totalNumber); Documentdata.RowsCount = totalNumber; list.ForEach(q => { q.djsj = unixStartTime.AddMilliseconds(long.Parse(q.djsj)).ToString("yyyy-MM-dd HH:mm"); q.sdsj = unixStartTime.AddMilliseconds(long.Parse(q.sdsj)).ToString("yyyy-MM-dd HH:mm"); }); var data = new QueryResult(Documentdata, list.OrderByDescending(q => q.sdsj).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(); 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; } #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().zt = "04"; _db.BeginTran(); var num = await _db.Updateable(Documentbol.FirstOrDefault()).UpdateColumns(it => new { it.zt }).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 } }