From 64840e4e6d97d177b8a765ba8c53888abcf86d16 Mon Sep 17 00:00:00 2001
From: heshaofeng <heshaofeng@hnkhzn.com>
Date: 星期二, 13 一月 2026 18:48:20 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215
---
项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Allocate/AllocateOrderController.cs | 70 +++++++++++++++++++++++++++++------
1 files changed, 58 insertions(+), 12 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..27c14ed 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,14 +1,19 @@
锘縰sing Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
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_Core.BaseRepository;
using WIDESEA_DTO.Allocate;
using WIDESEA_IAllocateService;
using WIDESEA_IInboundService;
using WIDESEA_Model.Models;
+using WIDESEA_WMSServer.Controllers.Check;
namespace WIDESEA_WMSServer.Controllers.Allocate
@@ -21,42 +26,76 @@
[ApiController]
public class AllocateOrderController : ApiBaseController<IAllocateService, Dt_AllocateOrder>
{
- public AllocateOrderController(IAllocateService service) : base(service)
+ private readonly ILogger<AllocateOrderController> _logger;
+ private readonly IRepository<Dt_MaterielInfo> _materialInfoRepository;
+ public AllocateOrderController(IAllocateService service, ILogger<AllocateOrderController> logger,IRepository<Dt_MaterielInfo> materialInfoRepository) : base(service)
{
+ _logger = logger;
+ _materialInfoRepository = materialInfoRepository;
}
[HttpPost, Route("ReceiveAllocateOrder"), MethodParamsValidate, AllowAnonymous]
- public WebResponseContent ReceiveAllocateOrder([FromBody] AllocateDto model)
+ public async Task<WebResponseContent> ReceiveAllocateOrder([FromBody] AllocateDto model)
{
+ _logger.LogInformation("AllocateOrderController ReceiveAllocateOrder: " + JsonConvert.SerializeObject(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);
+ //allocateOrder.OrderType = businessType == BusinessTypeEnum.鏅轰粨璋冨閮ㄤ粨搴� ? 215 : 115;
+ if (businessType == BusinessTypeEnum.鏅轰粨璋冨閮ㄤ粨搴�)
+ {
+ allocateOrder.OrderType = 215;
+ }
+ else if (businessType == BusinessTypeEnum.澶栭儴浠撳簱璋冩櫤浠�)
+ {
+ allocateOrder.OrderType = 115;
+ }
+ else if (businessType == BusinessTypeEnum.鏅轰粨璋冩櫤浠�)
+ {
+ allocateOrder.OrderType = 117;
+ }
foreach (var detailDto in model.Details)
{
+ if (businessType == BusinessTypeEnum.澶栭儴浠撳簱璋冩櫤浠� && (detailDto.Barcodes == null || !detailDto.Barcodes.Any()))
+ {
+ return WebResponseContent.Instance.Error($"鏉$爜涓嶈兘涓虹┖");
+ }
+ var materialName = _materialInfoRepository.QueryFirst(x => x.MaterielCode == detailDto.MaterialCode).MaterielName;
if (detailDto.Barcodes != null && detailDto.Barcodes.Any())
{
foreach (var barcodeDto in detailDto.Barcodes)
{
Dt_AllocateOrderDetail orderDetail = new Dt_AllocateOrderDetail
{
- WarehouseCode = detailDto.WarehouseCode,
+ WarehouseCode = model.toWarehouse,
MaterielCode = detailDto.MaterialCode,
+ MaterielName = materialName,
LineNo = detailDto.LineNo,
- OrderQuantity = detailDto.Qty,
+ OrderQuantity = barcodeDto.Qty,
+ SupplyCode = barcodeDto.SupplyCode,
Unit = detailDto.Unit,
Barcode = barcodeDto.Barcode,
BatchNo = barcodeDto.BatchNo,
BarcodeQty = barcodeDto.Qty,
- BarcodeUnit = barcodeDto.Unit
+ BarcodeUnit = barcodeDto.Unit,
+ ValidDate = barcodeDto.validDate,
+ BoxSN = barcodeDto.BoxSN
};
+ if (businessType == BusinessTypeEnum.鏅轰粨璋冨閮ㄤ粨搴� || businessType == BusinessTypeEnum.鏅轰粨璋冩櫤浠�)
+ {
+ orderDetail.WarehouseCode = model.fromWarehouse;
+ }
allocateOrder.Details.Add(orderDetail);
}
}
@@ -64,17 +103,24 @@
{
Dt_AllocateOrderDetail orderDetail = new Dt_AllocateOrderDetail
{
- WarehouseCode = detailDto.WarehouseCode,
+ WarehouseCode = model.toWarehouse,
MaterielCode = detailDto.MaterialCode,
LineNo = detailDto.LineNo,
OrderQuantity = detailDto.Qty,
- Unit = detailDto.Unit
+ Unit = detailDto.Unit,
+ BarcodeUnit =detailDto.Unit,
+ BarcodeQty=detailDto.Qty,
+ MaterielName = materialName
};
+ if (businessType == BusinessTypeEnum.鏅轰粨璋冨閮ㄤ粨搴� || businessType == BusinessTypeEnum.鏅轰粨璋冩櫤浠�)
+ {
+ orderDetail.WarehouseCode = model.fromWarehouse;
+ }
allocateOrder.Details.Add(orderDetail);
}
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