using JiepeiWMS.IServices;
using JiepeiWMS.Model;
using JiepeiWMS.Model.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Linq.Expressions;
using System.Threading.Tasks;
using JiepeiWMS.Extends;
using JiepeiWMS.Api.Models;
using JiepeiWMS.Common.Helper;
using System.Linq;
using System.Collections.Generic;
namespace JiepeiWMS.Api.Controllers
{
///
/// 部门管理
///
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize(Permissions.Name)]
public class DepartmentController : ControllerBase
{
private readonly IDepartmentServices _departmentServices;
public DepartmentController(IDepartmentServices DepartmentServices)
{
_departmentServices = DepartmentServices;
}
[HttpGet]
public async Task>> Get(int page = 1, string key = "", int ParentId = -1, int PageSize = 20)
{
Expression> whereExpression = t => t.Status == 1;
if (!string.IsNullOrWhiteSpace(key))
{
whereExpression = whereExpression.And(t => t.Name.Contains(key));
}
if (ParentId >= 0)
{
whereExpression = whereExpression.And(t => t.ParentId == ParentId);
}
var departmentList = await _departmentServices.QueryPage(whereExpression, page, PageSize, "SortById asc,Id asc");
foreach (var item in departmentList.data)
{
if (item.ParentId > 0)
{
var parentModel = await _departmentServices.QueryById(item.ParentId);
if (parentModel != null)
item.ParentName = parentModel.Name;
}
}
return new MessageModel>()
{
msg = "获取成功",
success = true,
response = departmentList
};
}
///
/// 获取所有父级部门
///
///
[HttpGet]
public async Task>> GetParentList(int page = 1, string key = "", int intPageSize = 20)
{
Expression> whereExpression = a => (a.ParentId == 0);
var data = await _departmentServices.QueryPage(whereExpression, page, intPageSize);
return new MessageModel>()
{
msg = "获取成功",
success = true,
response = data
};
}
[HttpGet]
[AllowAnonymous]
public async Task> GetList(int id = 0)
{
var departmentList = await _departmentServices.Query(x => x.Status == 1);
return new MessageModel