using CMS.Extensions.Abp.AspNetCore.Mvc.Filters;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto;
using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlaces;
using CMS.Plugin.HIAWms.Application.Contracts.Services;
using CMS.Plugin.MaterialManagement.Abstractions.Models;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CMS.Plugin.HIAWms.Controller
{
///
/// 入库服务
///
[ApiController]
[TypeFilter(typeof(CMSLanguageFilter))]
[TypeFilter(typeof(CMSUowActionFilter))]
[TypeFilter(typeof(CMSAuditActionFilter))]
[TypeFilter(typeof(CMSExceptionFilter))]
[Route("api/v{version:apiVersion}/HIAWms/[controller]")]
public class WmsInsStockController
{
private readonly IWmsBindInStockAppService _wmsBindInStockAppService;
private readonly IWmsCommonAppService _wmsCommonAppService;
public WmsInsStockController(IWmsBindInStockAppService wmsBindInStockAppService, IWmsCommonAppService wmsCommonAppService)
{
_wmsBindInStockAppService = wmsBindInStockAppService;
_wmsCommonAppService = wmsCommonAppService;
}
///
/// 组盘
///
///
///
[HttpPost]
[Route("BindContainer")]
public async Task BindMaterialContaienrAsync(BindInstockInput input)
{
await _wmsBindInStockAppService.BindMaterialContaienrAsync(input);
}
///
/// 组盘入库
///
///
///
[HttpPost]
[Route("BindInstock")]
public async Task BindInStockAsync(BindInstockInput input)
{
await _wmsBindInStockAppService.BindInStockAsync(input);
}
///
/// 查找空库位
///
///
///
///
///
[HttpGet]
[Route("FindEmptyPlace")]
public async Task> FindEmptyPlaceAsync(string materialModel, int requiredNum, string materialNo = "")
{
var result = await _wmsCommonAppService.FindAvailablePlacesAsync(materialModel, requiredNum, materialNo = "");
List placeList = new List();
foreach (var place in result)
{
string v = $"Key={place.Key},Value={place.Value}";
var str = v;
placeList.Add(str);
}
return placeList;
}
}
}