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 WMProductUnitController : ControllerBase { /// /// 商品单位 /// private readonly IWMProductUnitServices _wMProductUnitServices; private readonly IWMProductListServices _wMProductListServices; private readonly ISysOrgServices _BllSysOrg; readonly IUser _user; private readonly ISysUserInfoServices _sysUserInfoServices; public WMProductUnitController(IWMProductUnitServices WMProductUnitServices, IWMProductListServices WMProductListServices, ISysOrgServices BllSysOrg, IUser user, ISysUserInfoServices SysUserInfoServices) { _wMProductUnitServices = WMProductUnitServices; _wMProductListServices = WMProductListServices; _BllSysOrg = BllSysOrg; _user = user; _sysUserInfoServices = SysUserInfoServices; } /// /// 查询列表 /// /// 页数 /// 关键字 /// 条数 /// [HttpGet] public async Task>> Index(int page = 1, string key = "", int intPageSize = 20) { if (string.IsNullOrEmpty(key) || string.IsNullOrWhiteSpace(key)) { key = ""; } Expression> whereExpression = s => s.Id > 0; //筛选主体Id //var userInfoModel = await _sysUserInfoServices.QueryById(_user.ID); //if (userInfoModel != null) //{ // whereExpression = whereExpression.And(s => s.SysOrgId == userInfoModel.SysOrgId); //} if (!string.IsNullOrWhiteSpace(key)) { whereExpression = whereExpression.And(s => s.Unit != null && s.Unit.Contains(key.Trim())); } var productUnit = await _wMProductUnitServices.QueryPage(whereExpression, page, intPageSize, " Id desc "); return new MessageModel>() { msg = "获取成功", success = productUnit.dataCount >= 0, response = productUnit }; } /// /// 获取列表 /// /// [HttpGet] [AllowAnonymous] public async Task> Get(int id = 0) { var unitList = await _wMProductUnitServices.Query(); return new MessageModel() { msg = "获取成功", success = true, response = new { unitList } }; } /// /// 添加 /// /// /// [HttpPost] public async Task> Add([FromBody] WMProductUnit request) { var data = new MessageModel(); request.SysOrgId = _user.SysOrgId; var id = await _wMProductUnitServices.Add(request); data.success = id > 0; if (data.success) { data.response = id.ObjToString(); data.msg = "添加成功"; } return data; } /// /// 更新 /// /// /// [HttpPut] public async Task> Update([FromBody] WMProductUnit request) { var data = new MessageModel(); if (request.Id > 0) { data.success = await _wMProductUnitServices.Update(request); if (data.success) { data.msg = "更新成功"; data.response = request?.Id.ObjToString(); } } return data; } /// /// 删除 /// /// /// //[HttpDelete] //public async Task> Delete(int id) //{ // var data = new MessageModel(); // if (id > 0) // { // var productUnitModel = await _wMProductUnitServices.QueryById(id); // var productUnitList = await _wMProductListServices.Query(x => x.Unit == productUnitModel.Id); // if (productUnitList != null && productUnitList.Any()) // { // data.success = false; // data.msg = "请先删除商品列表内所关联的单位"; // } // else // { // data.success = await _wMProductUnitServices.Delete(productUnitModel); // if (data.success) // { // data.msg = "删除成功"; // data.response = productUnitModel?.Id.ObjToString(); // } // } // } // return data; //} } }