using Autofac.Core;
|
using Microsoft.AspNetCore.Authorization;
|
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Mvc;
|
using WIDESEA_Core;
|
using WIDESEA_Core.BaseController;
|
using WIDESEA_DTO.Outbound;
|
using WIDESEA_IOutboundService;
|
using WIDESEA_Model.Models;
|
|
namespace WIDESEA_WMSServer.Controllers.Outbound
|
{
|
|
[Route("api/OutboundPicking")]
|
[ApiController]
|
public class OutboundPickingController : ApiBaseController<IOutboundPickingService, Dt_PickingRecord>
|
{
|
private readonly ISplitPackageService _splitPackageService;
|
private readonly IOutStockLockInfoService _outStockLockInfoService;
|
public OutboundPickingController(IOutboundPickingService service, ISplitPackageService splitPackageService, IOutStockLockInfoService outStockLockInfoService) : base(service)
|
{
|
_splitPackageService = splitPackageService;
|
_outStockLockInfoService = outStockLockInfoService;
|
}
|
|
|
/// <summary>
|
/// 获取托盘的锁定信息
|
/// </summary>
|
[HttpPost("GetPalletLockInfos")]
|
public async Task<WebResponseContent> GetPalletLockInfos(string palletCode)
|
{
|
var lockInfos = await _outStockLockInfoService.GetPalletLockInfos(palletCode);
|
return WebResponseContent.Instance.OK(null, lockInfos);
|
}
|
|
|
|
[HttpPost("unpicked-list")]
|
public async Task<WebResponseContent> GetUnpickedList([FromBody] ConfirmPickingDto dto)
|
{
|
var lists= await Service.GetUnpickedList(dto.OrderNo, dto.PalletCode);
|
return WebResponseContent.Instance.OK("", lists);
|
}
|
|
[HttpPost("picked-list")]
|
public async Task<WebResponseContent> GetPickedList([FromBody] ConfirmPickingDto dto)
|
{
|
var lists = await Service.GetPickedList(dto.OrderNo, dto.PalletCode);
|
return WebResponseContent.Instance.OK("", lists);
|
}
|
|
[HttpPost("confirm-picking")]
|
public async Task<WebResponseContent> ConfirmPicking([FromBody] ConfirmPickingDto dto)
|
{
|
return await Service.ConfirmPicking(dto.OrderNo, dto.PalletCode, dto.Barcode);
|
}
|
|
[HttpPost("picking-summary")]
|
public async Task<WebResponseContent> GetPickingSummary([FromBody] ConfirmPickingDto dto)
|
{
|
var data = await Service.GetPickingSummary(dto);
|
return WebResponseContent.Instance.OK("", data);
|
}
|
|
[HttpPost("split-package")]
|
public async Task<WebResponseContent> SplitPackage([FromBody] SplitPackageDto dto)
|
{
|
return await _splitPackageService.SplitPackage(dto);
|
|
}
|
|
[HttpPost("revert-split-package")]
|
public async Task<WebResponseContent> RevertSplitPackage([FromBody] RevertSplitDto dto)
|
{
|
return await _splitPackageService.RevertSplitPackage(dto.OriginalBarcode);
|
|
|
}
|
|
[HttpPost("split-package-info")]
|
public async Task<WebResponseContent> GetSplitPackageInfo([FromBody] ConfirmPickingDto dto)
|
{
|
return await _splitPackageService.GetSplitPackageInfo(dto.OrderNo, dto.PalletCode, dto.Barcode);
|
|
}
|
|
|
[HttpPost("return-to-stock")]
|
public async Task<WebResponseContent> ReturnToStock([FromBody] ConfirmPickingDto dto)
|
{
|
return await Service.ReturnRemaining(dto.OrderNo, dto.PalletCode, "");
|
}
|
|
[HttpPost("remove-empty-pallet")]
|
public async Task<WebResponseContent> RemoveEmptyPallet ([FromBody] ConfirmPickingDto dto)
|
{
|
return await Service.RemoveEmptyPallet(dto.OrderNo, dto.PalletCode);
|
}
|
|
|
//[HttpPost("direct-outbound")]
|
//public async Task<WebResponseContent> DirectOutbound([FromBody] DirectOutboundRequest dto)
|
//{
|
// return await Service.DirectOutbound(dto);
|
|
//}
|
|
/// <summary>
|
/// 撤销拣选
|
/// </summary>
|
[HttpPost("CancelPicking")]
|
public async Task<WebResponseContent> CancelPicking([FromBody] ConfirmPickingDto dto)
|
{
|
return await Service.CancelPicking(dto.OrderNo,dto.PalletCode,dto.Barcode);
|
}
|
|
[HttpPost,HttpGet, Route("GetAvailablePurchaseOrders"),AllowAnonymous]
|
public WebResponseContent GetAvailablePurchaseOrders()
|
{
|
return Service.GetAvailablePurchaseOrders();
|
}
|
|
[HttpPost, HttpGet, Route("GetAvailablePickingOrders"),AllowAnonymous]
|
public WebResponseContent GetAvailablePickingOrders()
|
{
|
return Service.GetAvailablePickingOrders();
|
}
|
|
[HttpPost, HttpGet, Route("BarcodeValidate"), AllowAnonymous]
|
public WebResponseContent BarcodeValidate([FromBody] NoStockOutModel noStockOut)
|
{
|
return Service.BarcodeValidate(noStockOut);
|
}
|
|
[HttpPost, HttpGet, Route("DeleteBarcode"), AllowAnonymous]
|
public WebResponseContent DeleteBarcode([FromBody] NoStockOutModel noStockOut)
|
{
|
return Service.DeleteBarcode(noStockOut);
|
}
|
|
[HttpPost, HttpGet, Route("NoStockOutSubmit"), AllowAnonymous]
|
public WebResponseContent NoStockOutSubmit([FromBody] NoStockOutSubmit noStockOutSubmit)
|
{
|
return Service.NoStockOutSubmit(noStockOutSubmit);
|
}
|
}
|
}
|