using CMS.Extensions.Abp.AspNetCore.Mvc.Filters; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.BindInstockDto; using CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsPlace; 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; } } }