using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Framework.AspNetCore.Users;
using CMS.Plugin.PipeLineLems.Application.Contracts.Dtos.WorkPlan;
using CMS.Plugin.PipeLineLems.Application.Contracts.Services;
using CmsQueryExtensions.Entitys;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using System.Reflection;
namespace CMS.Plugin.PipeLineLems.Controller
{
///
/// 作业计划服务
///
[ApiController]
[TypeFilter(typeof(CMSLanguageFilter))]
[TypeFilter(typeof(CMSUowActionFilter))]
[TypeFilter(typeof(CMSAuditActionFilter))]
[TypeFilter(typeof(CMSExceptionFilter))]
[Route("api/v{version:apiVersion}/PipeLineLems/[controller]")]
public class WorkPlanPublicController : ControllerBase
{
private readonly IMesAppService _mesAppService;
private readonly ICurrentUser _currentUser;
private readonly Application.Implements.SharedService sharedService;
private IServiceProvider _serviceProvider;
///
/// Initializes a new instance of the class.
///
/// The testentityname application service.
public WorkPlanPublicController(IMesAppService mesAppService, ICurrentUser currentUser, Application.Implements.SharedService _sharedService,
IServiceProvider serviceProvider)
{
_mesAppService = mesAppService;
_currentUser = currentUser;
sharedService = _sharedService;
_serviceProvider = serviceProvider;
}
///
/// 获取生产计划.
///
/// 标识符.
///
[HttpPost]
public virtual async Task GetWorkPlanAsync([FromBody] List input)
{
return await _mesAppService.CreateAsync(input,"","");
}
///
/// 分拣
///
/// 标识符.
///
[Authorize]
[HttpPost]
[Route("Pick")]
public virtual async Task Pick([FromBody] PickInput input)
{
MyCurrentUser myCurrentUser = new MyCurrentUser()
{
UserAccount = _currentUser.UserAccount,
UserId = _currentUser.UserId
};
return await sharedService.CommonPick(_serviceProvider, input, myCurrentUser);
}
}
}