From d5ac97bab548d213fea89b312ddce79a8a6371a2 Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 06 一月 2026 19:13:59 +0800
Subject: [PATCH] 1

---
 项目代码/WMS无仓储版/WIDESEA_WMSServer/WIDESEA_BasicService/BasicService.cs |   29 ++++++++++++++++-------------
 1 files changed, 16 insertions(+), 13 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_BasicService/BasicService.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_BasicService/BasicService.cs"
index 3be1d07..15d40f2 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_BasicService/BasicService.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_BasicService/BasicService.cs"
@@ -114,29 +114,32 @@
                 throw new Exception($"杞崲鍚庡崟浣嶄笉鑳戒负绌�");
             }
 
+            Dt_MaterielInfo materielInfo = MaterielInfoService.Repository.QueryFirst(x => x.MaterielCode == materialCode);
+            if (materielInfo == null)
+            {
+                throw new Exception("鍗曚綅杞崲鏃剁墿鏂欎俊鎭湭鎵惧埌");
+            }
             decimal ratio = 1;
 
-            if (fromUnit.Trim().ToLower() == toUnit.Trim().ToLower())
+            if (materielInfo.inventoryUOM.Trim().ToLower() == fromUnit.Trim().ToLower())
             {
-                return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
-            }
-
-            Dt_MaterialUnit materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == fromUnit && x.ToUom == toUnit);
-            if (materialUnit != null)
-            {
-                ratio = materialUnit.Ratio;
                 return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
             }
             else
             {
-                materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == toUnit && x.ToUom == fromUnit);
-                if (materialUnit == null)
+                Dt_MaterialUnit materialUnit = MaterialUnitService.Repository.QueryFirst(x => x.ItemNo == materialCode && x.FromUom == fromUnit);
+                if (materialUnit != null)
                 {
-                    throw new Exception($"鏈壘鍒板崟浣嶈浆鎹㈠叧绯伙紝鐗╂枡缂栧彿锛歿materialCode}锛岃浆鎹㈠墠鍗曚綅锛歿fromUnit}锛岃浆鎹㈠悗鍗曚綅锛歿toUnit}");
+                    toUnit = materialUnit.ToUom;
+                    ratio = materialUnit.Ratio;
+                    return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
                 }
-                ratio = materialUnit.Ratio;
-                return new UnitConvertResultDTO(materialCode, fromUnit, toUnit, quantity, ratio);
+                else
+                {
+                    throw new Exception($"鏈壘鍒板崟浣嶈浆鎹㈠叧绯伙紝鐗╂枡缂栧彿锛歿materialCode}锛岃浆鎹㈠墠鍗曚綅锛歿fromUnit}");
+                }
             }
+              
         }
 
         /// <summary>

--
Gitblit v1.9.3