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 | 79 ++++++++++++++++++++++++++++++++++++++-
1 files changed, 76 insertions(+), 3 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 361a8e5..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"
@@ -1,9 +1,18 @@
-锘縰sing Microsoft.AspNetCore.Mvc;
+锘縰sing Microsoft.AspNetCore.Authorization;
+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;
+using WIDESEA_DTO.Allocate;
using WIDESEA_IAllocateService;
using WIDESEA_IInboundService;
using WIDESEA_Model.Models;
-using WIDESEA_Model.Models.Allocate;
+using WIDESEA_WMSServer.Controllers.Check;
+
namespace WIDESEA_WMSServer.Controllers.Allocate
{
@@ -15,11 +24,75 @@
[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 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,
+ CreateType = model.OperationType,
+ 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)
+ {
+ Dt_AllocateOrderDetail orderDetail = new Dt_AllocateOrderDetail
+ {
+ WarehouseCode = detailDto.WarehouseCode,
+ MaterielCode = detailDto.MaterialCode,
+ LineNo = detailDto.LineNo,
+ OrderQuantity = detailDto.Qty,
+ SupplyCode = barcodeDto.SupplyCode,
+ Unit = detailDto.Unit,
+ Barcode = barcodeDto.Barcode,
+ BatchNo = barcodeDto.BatchNo,
+ BarcodeQty = barcodeDto.Qty,
+ BarcodeUnit = barcodeDto.Unit
+ };
+ allocateOrder.Details.Add(orderDetail);
+ }
+ }
+ else
+ {
+ Dt_AllocateOrderDetail orderDetail = new Dt_AllocateOrderDetail
+ {
+ WarehouseCode = detailDto.WarehouseCode,
+ MaterielCode = detailDto.MaterialCode,
+ LineNo = detailDto.LineNo,
+ OrderQuantity = detailDto.Qty,
+ Unit = detailDto.Unit
+ };
+ allocateOrder.Details.Add(orderDetail);
+ }
+ allocateOrder.Details.AddRange(allocateOrder.Details);
+ }
+ 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