using JiepeiWMS.Common.Enums; using JiepeiWMS.Common.Helper; using JiepeiWMS.Common.HttpContextUser; using JiepeiWMS.Extends; using JiepeiWMS.IServices; using JiepeiWMS.Model; using JiepeiWMS.Model.Models; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Linq; using System.Linq.Expressions; using System.Threading.Tasks; namespace JiepeiWMS.Api.Controllers { [Route("api/[controller]/[action]")] [ApiController] [Authorize(Permissions.Name)] public class WMCheckInfoController : ControllerBase { /// /// 服务器接口,因为是模板生成,所以首字母是大写的,自己可以重构下 /// private readonly IWMCheckInfoServices _BllCheckInfo; private readonly IDepartmentServices _BllDepartment; private readonly ISysUserInfoServices _BllUser; private readonly IUser _User; public WMCheckInfoController( IWMCheckInfoServices BllCheckInfo, IDepartmentServices BllDepartment, ISysUserInfoServices BllUser, IUser User ) { _BllCheckInfo = BllCheckInfo; _BllDepartment = BllDepartment; _BllUser = BllUser; _User = User; } [HttpGet] public async Task>> GetList(string Key = "", int PageIndex = 1, int PageSize = 20) { if (string.IsNullOrWhiteSpace(Key)) { Key = ""; } Expression> whereExpression = (ci, dp) => ci.SysOrgId == _User.SysOrgId && ci.Key.Contains(Key); var pagelst = await _BllCheckInfo.QueryPage(whereExpression, PageIndex, PageSize); return new MessageModel>() { msg = "获取成功", success = true, response = pagelst }; } [HttpGet] public async Task> Get(int id = 0) { var dictype = typeof(EnumWMCheckType)._GetValueDescriptionDicFromEnumType().Select(t => new { Key = t.Key.GetHashCode(), t.Value }); var dicdepart = await _BllDepartment.Query(t => t.Status > 0); var dicuser = await _BllUser.Query(t => t.tdIsDelete == false&&t.SysOrgId==_User.SysOrgId); return new MessageModel() { msg = "获取成功", success = true, response = new { dictype, dicdepart, dicuser } }; } [HttpPost] public async Task> Post([FromBody] WMCheckInfo request) { var data = new MessageModel(); request.SysOrgId = _User.SysOrgId; request.UpDateTime = DateTime.Now; request.CreateTime = request.UpDateTime; var id = await _BllCheckInfo.Add(request); data.success = id > 0; if (data.success) { data.response = id.ObjToString(); data.msg = "添加成功"; } return data; } [HttpPut] public async Task> Put([FromBody] WMCheckInfo request) { var data = new MessageModel(); if (request.Id > 0) { request.UpDateTime = DateTime.Now; request.SysOrgId = _User.SysOrgId; data.success = await _BllCheckInfo.Update(request, lstIgnoreColumns: new System.Collections.Generic.List { "CreateTime" }); if (data.success) { data.msg = "更新成功"; data.response = request?.Id.ObjToString(); } } return data; } [HttpDelete] public async Task> Delete(int id = 0) { var data = new MessageModel(); if (id > 0) { var detail = await _BllCheckInfo.QueryById(id); if (detail != null) { data.success = await _BllCheckInfo.Delete(detail); if (data.success) { data.msg = "删除成功"; data.response = detail?.Id.ObjToString(); } } } return data; } [HttpDelete] public async Task> DeleteMore(string Ids = "") { var data = new MessageModel(); var lstid = Ids._ToIntList(); if (lstid.Count > 0) { var ok = await _BllCheckInfo.DeleteByIds(lstid.Select(t => (object)t).ToArray()); if (ok) { data.msg = "删除成功"; data.response = string.Empty; } } return data; } } }