From d1feb3ca73935d14dfa5d96548d682e875aa2443 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 13 五月 2025 14:22:34 +0800
Subject: [PATCH] 预警更新

---
 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
index 26a6b2b..2f7bfe9 100644
--- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/MesOutboundOrderService.cs"
@@ -21,6 +21,7 @@
 using WIDESEA_Common.LocationEnum;
 using WIDESEA_IRecordService;
 using WIDESEA_Common.StockEnum;
+using WIDESEA_Common.TaskEnum;
 
 namespace WIDESEA_OutboundService
 {
@@ -67,6 +68,7 @@
             }
             List<Dt_StockInfo> autoAssignStocks = _stockService.StockInfoService.GetOutboundStocks(stockInfos, mesOutboundOrder.MaterialCode, needQuantity, out float residueQuantity);
             mesOutboundOrder.LockQuantity += needQuantity - residueQuantity;
+            autoAssignStocks.OrderBy(x => x.Details.FirstOrDefault()?.StockQuantity).ToList();
             outStocks.AddRange(autoAssignStocks);
             float assignQuantity = needQuantity - residueQuantity;
 
@@ -144,5 +146,54 @@
                 return WebResponseContent.Instance.Error(ex.Message);
             }
         }
+
+        public WebResponseContent AddMesOrder(SubstrateOutModel substrateOutModel)
+        {
+            try
+            {
+                Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == WarehouseEnum.HA57.ToString());
+                if (warehouse == null)
+                {
+                    return WebResponseContent.Instance.Error($"浠撳簱鍩虹淇℃伅鏈厤缃�");
+                }
+
+                Dt_MaterielInfo materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == substrateOutModel.MaterialCode);
+                if (materielInfo == null)
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒拌鐗╂枡淇℃伅");
+                }
+                int orderType = 0;
+                if(substrateOutModel.Line == "1011")
+                {
+                    orderType = MesOutboundOrderTypeEnum.HandSubstrateOutPick.ObjToInt();
+                }
+                else
+                {
+                    orderType = MesOutboundOrderTypeEnum.HandSubstrateOut.ObjToInt();
+                }
+
+                Dt_MesOutboundOrder mesOutboundOrder = new Dt_MesOutboundOrder()
+                {
+                    CreateType = OrderCreateTypeEnum.CreateInSystem.ObjToInt(),
+                    Line = substrateOutModel.Line,
+                    MaterialCode = substrateOutModel.MaterialCode,
+                    MaterialName = materielInfo.MaterielName,
+                    OrderQuantity = substrateOutModel.RequiredQuantity,
+                    TaskNo = DateTime.Now.ToString("yyyyMMddHHmmss"),
+                    Unit = substrateOutModel.Unit,
+                    OrderType = orderType,
+                    OrderStatus = OutOrderStatusEnum.鏈紑濮�.ObjToInt(),
+                    WarehouseId = warehouse.WarehouseId
+                };
+
+                AddData(mesOutboundOrder);
+                
+                return WebResponseContent.Instance.OK();
+            }
+            catch (Exception ex)
+            {
+                return WebResponseContent.Instance.Error(ex.Message);
+            }
+        }
     }
 }

--
Gitblit v1.9.3