From ccb1ebbf88c1fb456ca30f121c6ef108246689cc Mon Sep 17 00:00:00 2001
From: tjx <t2856754968@163.com>
Date: 星期六, 13 十二月 2025 17:10:32 +0800
Subject: [PATCH] 111
---
StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs | 26 ++++++
StandardPda/MES.Service/Dto/webApi/ShippingDetailDto.cs | 32 ++++++++
StandardPda/MES.Service/obj/Debug/net8.0/MES.Service.AssemblyInfo.cs | 2
StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs | 63 +++++++++++++++
StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingRequestDto.cs | 33 ++++++++
StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingResponseDto.cs | 27 ++++++
6 files changed, 182 insertions(+), 1 deletions(-)
diff --git a/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingRequestDto.cs b/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingRequestDto.cs
new file mode 100644
index 0000000..add35e5
--- /dev/null
+++ b/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingRequestDto.cs
@@ -0,0 +1,33 @@
+namespace MES.Service.Dto.webApi;
+
+/// <summary>
+/// 鍒涘缓閿�鍞鍗曞彂璐ц姹侱TO
+/// </summary>
+public class CreateSalesOrderShippingRequestDto
+{
+ /// <summary>
+ /// 鎿嶄綔鐢ㄦ埛缂栫爜
+ /// </summary>
+ public string? UserCode { get; set; }
+ public string? Station { get; set; }
+
+ /// <summary>
+ /// 鎿嶄綔鐢ㄦ埛濮撳悕
+ /// </summary>
+ public string? UserName { get; set; }
+
+ /// <summary>
+ /// 閿�鍞墭鐩業D鍒楄〃
+ /// </summary>
+ public List<decimal>? PalletIds { get; set; }
+
+ /// <summary>
+ /// 鍙戣揣鏄庣粏鍒楄〃
+ /// </summary>
+ public List<ShippingDetailDto>? ShippingDetails { get; set; }
+
+ /// <summary>
+ /// 鍙戣揣鏃堕棿
+ /// </summary>
+ public DateTime? ShippingTime { get; set; }
+}
diff --git a/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingResponseDto.cs b/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingResponseDto.cs
new file mode 100644
index 0000000..e6422d4
--- /dev/null
+++ b/StandardPda/MES.Service/Dto/webApi/CreateSalesOrderShippingResponseDto.cs
@@ -0,0 +1,27 @@
+namespace MES.Service.Dto.webApi;
+
+/// <summary>
+/// 鍒涘缓閿�鍞鍗曞彂璐у搷搴擠TO
+/// </summary>
+public class CreateSalesOrderShippingResponseDto
+{
+ /// <summary>
+ /// 鍙戣揣鍗曞彿
+ /// </summary>
+ public string? ShippingId { get; set; }
+
+ /// <summary>
+ /// 鎴愬姛鍙戣揣鏁伴噺
+ /// </summary>
+ public int SuccessCount { get; set; }
+
+ /// <summary>
+ /// 澶辫触鏁伴噺
+ /// </summary>
+ public int FailedCount { get; set; }
+
+ /// <summary>
+ /// 鍙戣揣鏃堕棿
+ /// </summary>
+ public DateTime? ShippingTime { get; set; }
+}
diff --git a/StandardPda/MES.Service/Dto/webApi/ShippingDetailDto.cs b/StandardPda/MES.Service/Dto/webApi/ShippingDetailDto.cs
new file mode 100644
index 0000000..910b72c
--- /dev/null
+++ b/StandardPda/MES.Service/Dto/webApi/ShippingDetailDto.cs
@@ -0,0 +1,32 @@
+namespace MES.Service.Dto.webApi;
+
+/// <summary>
+/// 鍙戣揣鏄庣粏DTO
+/// </summary>
+public class ShippingDetailDto
+{
+ /// <summary>
+ /// 閿�鍞墭鐩業D
+ /// </summary>
+ public decimal Id { get; set; }
+
+ /// <summary>
+ /// 鍗曟嵁缂栧彿
+ /// </summary>
+ public string BillNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡缂栫爜
+ /// </summary>
+ public string ItemNo { get; set; }
+
+ /// <summary>
+ /// 鐗╂枡鍚嶇О
+ /// </summary>
+ public string ItemName { get; set; }
+
+ /// <summary>
+ /// 鍙戣揣鏁伴噺
+ /// </summary>
+ public decimal Quantity { get; set; }
+}
diff --git a/StandardPda/MES.Service/obj/Debug/net8.0/MES.Service.AssemblyInfo.cs b/StandardPda/MES.Service/obj/Debug/net8.0/MES.Service.AssemblyInfo.cs
index f6dcff7..b11781d 100644
--- a/StandardPda/MES.Service/obj/Debug/net8.0/MES.Service.AssemblyInfo.cs
+++ b/StandardPda/MES.Service/obj/Debug/net8.0/MES.Service.AssemblyInfo.cs
@@ -13,7 +13,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("MES.Service")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+7d13b041f6cf87bddb0e3523c4cf1a328fc159f6")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+93770f3ba3276cd222480d83dbbcae9ae7a5fa31")]
[assembly: System.Reflection.AssemblyProductAttribute("MES.Service")]
[assembly: System.Reflection.AssemblyTitleAttribute("MES.Service")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs b/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
index 038c2ac..5fb2d0b 100644
--- a/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
+++ b/StandardPda/MES.Service/service/Warehouse/SalesPalletManager.cs
@@ -94,4 +94,67 @@
return query.ToList();
}
+
+ /// <summary>
+ /// 鍒涘缓閿�鍞鍗曞彂璐�
+ /// </summary>
+ /// <param name="request">鍙戣揣璇锋眰鍙傛暟</param>
+ /// <returns></returns>
+ public int CreateSalesOrderShipping(CreateSalesOrderShippingRequestDto request)
+ {
+ //楠岃瘉request.PalletIds鏄惁涓虹┖
+ if (request.PalletIds == null || !request.PalletIds.Any())
+ {
+ throw new Exception("閿�鍞墭鐩業D鍒楄〃涓嶈兘涓虹┖");
+ }
+
+ //璋冪敤GetSalesPalletDetail鏂规硶鎷垮埌杩斿洖鍊�
+ var allDetails = new List<SalesPalletDetailQueryDto>();
+ foreach (var palletId in request.PalletIds)
+ {
+ var detailQuery = new SalesPalletDetailQueryDto { Mid = palletId };
+ var details = GetSalesPalletDetail(detailQuery);
+ allDetails.AddRange(details);
+ }
+
+ if (!allDetails.Any())
+ {
+ throw new Exception("鏈壘鍒伴攢鍞墭鐩樻槑缁嗘暟鎹�");
+ }
+
+ //鎻愬彇鍑虹粨鏋滈泦鐨凷tackcode骞跺幓閲�
+ var stackCodes = allDetails
+ .Where(d => !string.IsNullOrEmpty(d.Stackcode))
+ .Select(d => d.Stackcode)
+ .Distinct()
+ .ToList();
+
+ if (!stackCodes.Any())
+ {
+ throw new Exception("鏈壘鍒版湁鏁堢殑鏍堟澘鐮�");
+ }
+
+ //select * from MES_INV_ITEM_STOCKS where STACKCODE in (Stackcode鍘婚噸鍚庣殑缁撴灉);
+ var stockItems = Db.Queryable<MesInvItemStocks>()
+ .Where(s => stackCodes.Contains(s.StackCode) && s.Quantity > 0)
+ .ToList();
+
+ if (!stockItems.Any())
+ {
+ throw new Exception("鏈壘鍒板搴旂殑搴撳瓨鏁版嵁");
+ }
+
+ //璋冪敤MesInvItemStocksManager.CreateReturnMaterialRequest鏂规硶
+ var stockManager = new MesInvItemStocksManager();
+ var itemStockQuery = new ItemStockQueryDto
+ {
+ UserCode = request.UserCode,
+ Station = request.Station,
+ ItemBarcodes = stackCodes
+ };
+
+ stockManager.CreateReturnMaterialRequest(itemStockQuery);
+
+ return stackCodes.Count;
+ }
}
\ No newline at end of file
diff --git a/StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs b/StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs
index 7c73129..9c8eb02 100644
--- a/StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs
+++ b/StandardPda/MESApplication/Controllers/Warehouse/SalesPalletController.cs
@@ -66,4 +66,30 @@
return ResponseResult.ResponseError(ex);
}
}
+
+ /// <summary>
+ /// 鍒涘缓閿�鍞鍗曞彂璐�
+ /// </summary>
+ /// <param name="request">鍙戣揣璇锋眰鍙傛暟</param>
+ /// <returns>鍙戣揣缁撴灉</returns>
+ [HttpPost("CreateSalesOrderShipping")]
+ public ResponseResult CreateSalesOrderShipping(
+ [FromBody] CreateSalesOrderShippingRequestDto request)
+ {
+ try
+ {
+ var result = _manager.CreateSalesOrderShipping(request);
+
+ return new ResponseResult
+ {
+ status = 0,
+ message = "閿�鍞鍗曞彂璐ф垚鍔�",
+ data = result
+ };
+ }
+ catch (Exception ex)
+ {
+ return ResponseResult.ResponseError(ex);
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3