using Autofac.Core;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using WIDESEA_Core;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.BaseController;
using WIDESEA_Core.CodeConfigEnum;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Outbound;
using WIDESEA_IOutboundService;
using WIDESEA_Model.Models;
namespace WIDESEA_WMSServer.Controllers.Outbound
{
///
/// 出库单
///
[Route("api/OutboundOrder")]
[ApiController]
public class OutboundOrderController : ApiBaseController
{
public OutboundOrderController(IOutboundOrderService service) : base(service)
{
}
///
/// 接收MES出库单信息
///
///
///
[HttpPost, Route("ReceiveOutBoundOrder"), AllowAnonymous, MethodParamsValidate]
public WebResponseContent ReceiveOutBoundOrder([FromBody] OutboundRequestModel model)
{
Dt_OutboundOrder dt_OutboundOrder = new Dt_OutboundOrder() { Details = new List() };
foreach (var detailitem in model.details)
{
Dt_OutboundOrderDetail inboundOrderDetail = new Dt_OutboundOrderDetail()
{
lineNo = detailitem.lineNo,
MaterielCode = detailitem.materialCode,
SupplyCode = detailitem.supplyCode,
BatchNo = detailitem.batchNo,
Unit = detailitem.unit,
WarehouseCode = detailitem.warehouseCode,
MoveQty = detailitem.moveQty,
OrderQuantity = detailitem.qty
};
dt_OutboundOrder.Details.Add(inboundOrderDetail);
}
dt_OutboundOrder.UpperOrderNo = model.orderNo;
dt_OutboundOrder.BusinessType = model.business_type;
dt_OutboundOrder.IsBatch = model.isBatch;
dt_OutboundOrder.FactoryArea = model.factoryArea;
var content = Service.ReceiveOutboundOrder(dt_OutboundOrder, model.operationType);
if (content.Status) return WebResponseContent.Instance.OK(200);
else return WebResponseContent.Instance.Error(content.Message);
}
}
}