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