From 733c975cd8647f6d006736f1863bad731e32e6fb Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期日, 26 十月 2025 17:15:52 +0800
Subject: [PATCH] 上传最新代码,ERP接口,MES接口优化,WMS业务优化等

---
 项目代码/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
index 296426f..5bebb1e 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSServices/WIDESEA_StockService/StockInfoService.cs"
@@ -7,6 +7,7 @@
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using WIDESEA_Common.MaterielEnum;
 using WIDESEA_Common.StockEnum;
 using WIDESEA_Core;
 using WIDESEA_Core.BaseRepository;
@@ -64,6 +65,7 @@
             try
             {
                 var barcode = saveModel.MainData["palletCode"].ToString();
+                var fridcode = saveModel.MainData["fridCode"].ToString();
                 var warehouseId = saveModel.MainData["warehouseId"].ObjToInt();
                 var materSn = saveModel.MainData["materSn"];
                 //鐩村緞
@@ -71,22 +73,29 @@
                 var weight = saveModel.MainData["weight"].ObjToInt();
                 //骞呭
                 var wide = saveModel.MainData["wide"].ObjToInt();
-                Dt_MaterielInfo? materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x=>x.MaterielCode== materSn);
+                var lengthStock = saveModel.MainData["lengthStock"].ObjToInt();
+                Dt_MaterielInfo? materielInfo = _basicRepository.MaterielInfoRepository.QueryFirst(x => x.MaterielCode == materSn);
                 if (materielInfo==null)
                 {
                     return content.Error("鏈壘鍒扮墿鏂欎俊鎭�");
                 }
-                Dt_StockInfo stockInfoOld = BaseDal.QueryFirst(x=>x.PalletCode== barcode);
+                if (materielInfo.MaterielInvOrgId==MaterielInvOrgEnum.鏂板巶.ObjToInt() && wide<700)
+                {
+                    return content.Error("鐗╂枡骞呭闄愬埗涓�700-2700mm");
+                }
+                Dt_StockInfo stockInfoOld = BaseDal.QueryFirst(x=>x.PalletCode== barcode || x.RfidCode== fridcode);
+
                 if (stockInfoOld != null)
                 {
-                    return content.Error("鎵樼洏淇℃伅宸插瓨鍦�");
+                    return content.Error("鏉$爜淇℃伅鎴朢FID淇℃伅宸插瓨鍦�");
                 }
                 //鐢熸垚搴撳瓨缁勭洏淇℃伅
                 Dt_StockInfo stockInfo = new Dt_StockInfo()
                 {
                     MaterielInvOrgId=materielInfo.MaterielInvOrgId,
                     PalletCode= barcode,
-                    LocationCode="",
+                    RfidCode= fridcode,
+                    LocationCode ="",
                     PalletType = 1,
                     WarehouseId=warehouseId,
                     StockAttribute= materielInfo.MaterielSourceType,
@@ -95,6 +104,7 @@
                     Unit=materielInfo.MaterielUnit,
                     MaterielThickness=thickness,
                     MaterielWide=wide,
+                    StockLength=lengthStock,
                     MaterielWeight=weight,
                     MaterielCode = materielInfo.MaterielCode,
                     MaterielName=materielInfo.MaterielName,
@@ -120,7 +130,18 @@
 
             return BaseDal.GetStockInfos(materielId,width, locationCodes);
         }
+        public List<Dt_StockInfo> GetUseableStocks(string materielCode, decimal width, int warehoseId)
+        {
+            List<string> locationCodes = _basicRepository.LocationInfoRepository.GetCanOutLocationCodes(warehoseId);
 
+            return BaseDal.GetStockInfos(materielCode, width, locationCodes);
+        }
+        public List<Dt_StockInfo> GetUseableStocks(string materielCode, int warehoseId)
+        {
+            List<string> locationCodes = _basicRepository.LocationInfoRepository.GetCanOutLocationCodes(warehoseId);
+
+            return BaseDal.GetStockInfos(materielCode, locationCodes);
+        }
         /// <summary>
         /// 鍒嗛厤瀹為檯搴撳瓨
         /// </summary>

--
Gitblit v1.9.3