From 37ea017aad42d0682d068b65e82aa62ea9e2c1ea Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期四, 20 二月 2025 17:42:16 +0800
Subject: [PATCH] 1

---
 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
index 6a69746..f13f851 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_StockService/Service/StockInfoService.cs"
@@ -10,7 +10,9 @@
 using WIDESEA_Core.BaseServices;
 using WIDESEA_Core.Enums;
 using WIDESEA_Core.Helper;
+using WIDESEA_DTO.Inbound;
 using WIDESEA_DTO.Stock;
+using WIDESEA_DTO.WCSInfo;
 using WIDESEA_IBasicRepository;
 using WIDESEA_IRecordRepository;
 using WIDESEA_IRecordService;
@@ -31,6 +33,63 @@
             }
             return stockInfo;
         }
+        /// <summary>
+        /// 娣诲姞缁勭洏/搴撳瓨淇℃伅
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent AddStockInfo(ref Dt_StockInfo stockInfo, ref Dt_InboundOrder inboundOrder, ProductionlineDTO productionlineDTO)
+        {
+            WebResponseContent content = new WebResponseContent().OK();
+            try
+            {
+                var materielCode = productionlineDTO.traytype.ToString();
+                if (inboundOrder != null)
+                {
+                    var inboundOrderDetail = inboundOrder.Details.FirstOrDefault(x => x.BatchNo == productionlineDTO.batchNo);
+                    materielCode = inboundOrderDetail.MaterielCode;
+                    inboundOrderDetail.ReceiptQuantity++;
+                    inboundOrderDetail.OrderDetailStatus = inboundOrderDetail.OverInQuantity == inboundOrderDetail.OrderQuantity ? OrderDetailStatusEnum.Over.ObjToInt() : OrderDetailStatusEnum.GroupAndInbound.ObjToInt();
+
+                    if (inboundOrder.Details.FirstOrDefault(x => x.OrderDetailStatus != OrderDetailStatusEnum.Over.ObjToInt()) == null)
+                    {
+                        inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt();
+                    }
+                    else if (inboundOrder.OrderStatus == InboundStatusEnum.鏈紑濮�.ObjToInt())
+                    {
+                        inboundOrder.OrderStatus = InboundStatusEnum.鍏ュ簱涓�.ObjToInt();
+                    }
+                }
+                var materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == materielCode);
+                if (materielInfo == null) throw new Exception($"鏈壘鍒扮墿鏂欎俊鎭�,鐗╂枡缂栫爜銆恵materielCode}銆�");
+                Dt_StockInfoDetail stockInfoDetail = new Dt_StockInfoDetail()
+                {
+                    Status = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt(),
+                    OrderNo = inboundOrder?.OrderNo,
+                    StockId = stockInfo.Id != 0 ? stockInfo.Id : 0,
+                    MaterielName = materielInfo.MaterielName,
+                    MaterielCode = materielInfo.MaterielCode,
+                    BatchNo = inboundOrder.Details.FirstOrDefault().BatchNo,
+                    StockQuantity = 1,// productionlineDTO.QtySum,
+                    SerialNumber = "",
+                    //SerialNumber = $"{inboundOrder.OrderNo} | {materielInfo.MaterielCode} | {pdaMaterielGroupDTO.BatchNo} | {pdaMaterielGroupDTO.ReceiptQuantity}",
+                    Creater = "System"
+                };
+                if (stockInfo.Id == 0)
+                {
+                    stockInfo.PalletCode = productionlineDTO.Barcode;
+                    stockInfo.StockStatus = StockStatusEmun.缁勭洏鏆傚瓨.ObjToInt();
+                    stockInfo.Creater = "System";
+                    stockInfo.Remark = productionlineDTO.productQty;
+                }
+                stockInfo.Details.Add(stockInfoDetail);
+
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
+        }
 
         public void AddMaterielGroup(Dt_StockInfo stockInfo)
         {

--
Gitblit v1.9.3