1
heshaofeng
2026-03-25 37454e625df68d40897112b2e8c2e3cf4d7163e3
ÏîÄ¿´úÂë/WMSÎÞ²Ö´¢°æ/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/OutboundOrderController.cs
@@ -2,14 +2,19 @@
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using System.Threading.Tasks;
using WIDESEA_Common.OrderEnum;
using WIDESEA_Core;
using WIDESEA_Core.Attributes;
using WIDESEA_Core.BaseController;
using WIDESEA_Core.CodeConfigEnum;
using WIDESEA_Core.Helper;
using WIDESEA_DTO.Inbound;
using WIDESEA_DTO.Outbound;
using WIDESEA_IOutboundService;
using WIDESEA_Model.Models;
using WIDESEA_WMSServer.Controllers.Inbound;
namespace WIDESEA_WMSServer.Controllers.Outbound
{
@@ -20,9 +25,10 @@
    [ApiController]
    public class OutboundOrderController : ApiBaseController<IOutboundOrderService, Dt_OutboundOrder>
    {
        public OutboundOrderController(IOutboundOrderService service) : base(service)
        private readonly ILogger<OutboundOrderController> _logger;
        public OutboundOrderController(IOutboundOrderService service, ILogger<OutboundOrderController> logger) : base(service)
        {
            _logger = logger;
        }
        /// <summary>
        /// æŽ¥æ”¶MES出库单信息
@@ -30,8 +36,9 @@
        /// <param name="model"></param>
        /// <returns></returns>
        [HttpPost, Route("ReceiveOutBoundOrder"), AllowAnonymous, MethodParamsValidate]
        public WebResponseContent ReceiveOutBoundOrder([FromBody] OutboundRequestModel model)
        public async Task<WebResponseContent> ReceiveOutBoundOrder([FromBody] OutboundRequestModel model)
        {
            _logger.LogInformation("OutboundOrderController ReceiveOutBoundOrder:  " + JsonConvert.SerializeObject(model));
            Dt_OutboundOrder dt_OutboundOrder = new Dt_OutboundOrder() { Details = new List<Dt_OutboundOrderDetail>() };
            foreach (var detailitem in model.details)
            {
@@ -44,7 +51,11 @@
                    Unit = detailitem.unit,
                    WarehouseCode = detailitem.warehouseCode,
                    MoveQty = detailitem.moveQty,
                    OrderQuantity = detailitem.qty
                    BarcodeMoveQty=detailitem.moveQty,
                    BarcodeQty=detailitem.qty,
                    BarcodeUnit=detailitem.unit,
                    OrderQuantity = detailitem.qty,
                    Remark = detailitem.remark??"",
                };
                dt_OutboundOrder.Details.Add(inboundOrderDetail);
            }
@@ -52,11 +63,33 @@
            dt_OutboundOrder.BusinessType = model.business_type;
            dt_OutboundOrder.IsBatch = model.isBatch;
            dt_OutboundOrder.FactoryArea = model.factoryArea;
            dt_OutboundOrder.CreateType = OrderCreateTypeEnum.UpperSystemPush.ObjToInt();
            dt_OutboundOrder.DepartmentName = model.lineName??"";
            var content = Service.ReceiveOutboundOrder(dt_OutboundOrder, model.operationType);
            var content =await 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
        [HttpGet, 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);
        }
        [HttpGet, Route("GetOrderNoByPalletCode"), AllowAnonymous, MethodParamsValidate]
        public WebResponseContent GetOrderNoByPalletCode(string palletCode)
        {
            return Service.GetOrderNoByPalletCode(palletCode);
        }
    }
}