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 Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using SqlSugar; namespace _24Hour.Controllers.Common { /// /// 云柜详情服务 /// [Authorize] [ApiController] [Route("api/Hearing")] public class CloudCabinetController : Controller { #region Identity private readonly SqlSugarClient _db;//数据库 private readonly WriteSysLog _logs;//操作日志 App_Sys_UserModel _userdata = new App_Sys_UserModel();//当前用户 private readonly ILogger _logger;//日志 DateTime unixStartTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); Result result = new Result(); public CloudCabinetController(ILogger logger, SqlSugarClient db, WriteSysLog logs, User user) { _logger = logger; _db = db; _logs = logs; _userdata = user.Userdata(); } #endregion #region 云柜增删改查 /// /// app--云柜分页查询 /// /// /// [HttpPost] [Route("App_Querycabinet")] public async Task App_Querycabinet(App_CloudCabinetInput cabinetdata) { RefAsync totalNumber = 0;//总数据 //单位 var _Unitdata = _db.Queryable().Where(q => q.IsDelete == 0).ToList(); //查询云柜详情 var list = await _db.Queryable() .WhereIF(cabinetdata.sfzh.NotNull(), q => q.sfzh.Contains(cabinetdata.sfzh)) .WhereIF(cabinetdata.xm.NotNull(), q => q.xm.Contains(cabinetdata.xm)) .WhereIF(cabinetdata.lxhm.NotNull(), q => q.lxhm.Contains(cabinetdata.lxhm)) .WhereIF(cabinetdata.zt.NotNull(), q => q.zt.Contains(cabinetdata.zt)) .WhereIF(cabinetdata.dwbm.NotNull(), q => q.dwbm.Contains(cabinetdata.dwbm)) .Where(q => q.sfzh.Contains(_userdata.cardId)|| q.sfzh.Contains(_userdata.phone)) .ToPageListAsync(cabinetdata.PageIndex, cabinetdata.PageSize, totalNumber); cabinetdata.RowsCount = totalNumber; list.ForEach(q => { var da = _Unitdata.Where(x => x.unitCode == q.dwbm).FirstOrDefault(); q.dwbm = da?.unitname; }); var data = new QueryResult(cabinetdata, list.OrderByDescending(q => q.cjsj).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 云柜分页查询 /// /// /// [HttpPost] [Route("Querycabinet")] public async Task Querycabinet(App_CloudCabinetInput cabinetdata) { //查询云柜详情 var list = await _db.Queryable() .WhereIF(cabinetdata.sfzh.NotNull(), q => q.sfzh.Contains(cabinetdata.sfzh)) .WhereIF(cabinetdata.xm.NotNull(), q => q.xm.Contains(cabinetdata.xm)) .WhereIF(cabinetdata.lxhm.NotNull(), q => q.lxhm.Contains(cabinetdata.lxhm)) .WhereIF(cabinetdata.zt.NotNull(), q => q.zt.Contains(cabinetdata.zt)) .WhereIF(cabinetdata.StartTime != null && cabinetdata.EndTime != null, q => q.cjsj>= q.cjsj && q.cjsj (cabinetdata, list.OrderByDescending(q => q.cjsj).ToList()); result.IsSucceed = true; result.result = data; return result; } /// /// 添加云柜 /// /// /// [HttpPost] [Route("Addcabinet")] public async Task Addcabinet(App_CloudCabinetModel cabinetdata) { try { _db.BeginTran(); cabinetdata.Id = Guid.NewGuid().ToString(); var num = await _db.Insertable(cabinetdata).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("Updatecabinet")] public async Task Updatecabinet(App_CloudCabinetModel cabinetdata) { try { _db.BeginTran(); var num = await _db.Updateable(cabinetdata).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("Deletecabinet")] public async Task Deletecabinet(CurrencyDelete Currency) { try { var Deletelist = await _db.Queryable().In(q => q.Id, Currency.id).ToListAsync(); _db.BeginTran(); var num = await _db.Deleteable(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 } }