From 68628c6cc163cddfcc745c225a9f3f34767261ef Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期六, 22 十一月 2025 20:44:40 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs"
index b0fef60..31f6001 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS\346\227\240\344\273\223\345\202\250\347\211\210/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs"
@@ -2,6 +2,8 @@
 using Microsoft.AspNetCore.Mvc;
 using System.Data.Common;
 using System.Diagnostics.Eventing.Reader;
+using System.Threading.Tasks;
+using WIDESEA_Common.AllocateEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.Attributes;
 using WIDESEA_Core.BaseController;
@@ -9,6 +11,7 @@
 using WIDESEA_IAllocateService;
 using WIDESEA_IInboundService;
 using WIDESEA_Model.Models;
+using WIDESEA_WMSServer.Controllers.Check;
 
 
 namespace WIDESEA_WMSServer.Controllers.Allocate
@@ -21,26 +24,36 @@
     [ApiController]
     public class AllocateOrderController : ApiBaseController<IAllocateService, Dt_AllocateOrder>
     {
-        public AllocateOrderController(IAllocateService service) : base(service)
+        private readonly ILogger<AllocateOrderController> _logger;
+        public AllocateOrderController(IAllocateService service, ILogger<AllocateOrderController> logger) : base(service)
         {
+            _logger = logger;
         }
 
         [HttpPost, Route("ReceiveAllocateOrder"), MethodParamsValidate, AllowAnonymous]
-        public WebResponseContent ReceiveAllocateOrder([FromBody] AllocateDto model)
+        public async Task<WebResponseContent> ReceiveAllocateOrder([FromBody] AllocateDto model)
         {
             Dt_AllocateOrder allocateOrder = new Dt_AllocateOrder
             {
                 OrderNo = model.OrderNo,
                 UpperOrderNo = model.OrderNo,
-                BusinessType=model.BusinessType,
-                FactoryArea=model.FactoryArea,
-                IsBatch=model.IsBatch,
+                BusinessType = model.BusinessType,
+                FactoryArea = model.FactoryArea,
+                IsBatch = model.IsBatch,
                 CreateType = model.OperationType,
-                Details = new List<Dt_AllocateOrderDetail>() 
+                FromWarehouse=model.fromWarehouse,
+                ToWarehouse=model.toWarehouse,                
+                Details = new List<Dt_AllocateOrderDetail>()
             };
+            Enum.TryParse<BusinessTypeEnum>(allocateOrder.BusinessType, out var businessType);
+
 
             foreach (var detailDto in model.Details)
             {
+                if (businessType == BusinessTypeEnum.鏅轰粨璋冨閮ㄤ粨搴� && (detailDto.Barcodes == null || !detailDto.Barcodes.Any()))
+                {
+                    return WebResponseContent.Instance.Error($"鏉$爜涓嶈兘涓虹┖");
+                }
                 if (detailDto.Barcodes != null && detailDto.Barcodes.Any())
                 {
                     foreach (var barcodeDto in detailDto.Barcodes)
@@ -51,6 +64,7 @@
                             MaterielCode = detailDto.MaterialCode,
                             LineNo = detailDto.LineNo,
                             OrderQuantity = detailDto.Qty,
+                            SupplyCode = barcodeDto.SupplyCode,
                             Unit = detailDto.Unit,
                             Barcode = barcodeDto.Barcode,
                             BatchNo = barcodeDto.BatchNo,
@@ -74,7 +88,7 @@
                 }
                 allocateOrder.Details.AddRange(allocateOrder.Details);
             }
-            var content = Service.ReceiveAllocateOrder(allocateOrder, model.OperationType);
+            var content = await Service.ReceiveAllocateOrder(allocateOrder, model.OperationType);
 
             if (content.Status) return WebResponseContent.Instance.OK(200);
             else return WebResponseContent.Instance.Error(content.Message);

--
Gitblit v1.9.3