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
|
{
|
/// <summary>
|
/// 出库单
|
/// </summary>
|
[Route("api/OutboundOrder")]
|
[ApiController]
|
public class OutboundOrderController : ApiBaseController<IOutboundOrderService, Dt_OutboundOrder>
|
{
|
public OutboundOrderController(IOutboundOrderService service) : base(service)
|
{
|
|
}
|
/// <summary>
|
/// 接收MES出库单信息
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
[HttpPost, Route("ReceiveOutBoundOrder"), AllowAnonymous, MethodParamsValidate]
|
public WebResponseContent ReceiveOutBoundOrder([FromBody] OutboundRequestModel model)
|
{
|
Dt_OutboundOrder dt_OutboundOrder = new Dt_OutboundOrder() { Details = new List<Dt_OutboundOrderDetail>() };
|
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);
|
}
|
|
/// <summary>
|
/// 根据ID获取出库单
|
/// </summary>ss
|
[HttpPost, Route("GetById"), AllowAnonymous, MethodParamsValidate]
|
public async Task<WebResponseContent> GetById(int id)
|
{
|
var order = await Service.GetById(id);
|
if (order == null)
|
{
|
return WebResponseContent.Instance.Error("未找到出库单信息");
|
}
|
return WebResponseContent.Instance.OK(null, order);
|
}
|
}
|
}
|