From 971e03ccbe5124d4761f56e71025453d1d4742bc Mon Sep 17 00:00:00 2001
From: 啊鑫 <t2856754968@163.com>
Date: 星期三, 17 九月 2025 14:17:08 +0800
Subject: [PATCH] 111

---
 service/base/WmsBaseMangeer.cs |  271 +++++++++++++++++++++++++++++-------------------------
 1 files changed, 146 insertions(+), 125 deletions(-)

diff --git a/service/base/WmsBaseMangeer.cs b/service/base/WmsBaseMangeer.cs
index ae7fa43..b3bbe50 100644
--- a/service/base/WmsBaseMangeer.cs
+++ b/service/base/WmsBaseMangeer.cs
@@ -1,144 +1,165 @@
-锘縰sing System.Data;
-using System.Data.SqlClient;
-using NewPdaSqlServer.DB;
-using NewPdaSqlServer.Dto.service;
-using NewPdaSqlServer.entity;
-using NewPdaSqlServer.util;
-using SqlSugar;
-
-namespace NewPdaSqlServer.service.@base;
-
-public class WmsBaseMangeer : Repository<dynamic>
+锘縩amespace NewPdaSqlServer.service.@base
 {
-    /// <summary>
-    ///     閫氱敤鍏ュ簱鏍¢獙
-    /// </summary>
-    /// <param name="db">SqlSugar 鏁版嵁搴撲笂涓嬫枃</param>
-    /// <param name="edtUserNo">鎿嶄綔浜哄伐鍙�</param>
-    /// <param name="barcode">鐗╂枡鏉$爜</param>
-    /// <param name="sectionCode">搴撲綅缂栫爜</param>
-    /// <param name="stockId">浠撳簱ID</param>
-    /// <param name="stockOrgId">搴撳瓨缁勭粐ID</param>
-    /// <param name="billNo">鐢宠鍗曞彿</param>
-    /// <param name="transactionNo">浜嬪姟绫诲瀷</param>
-    /// <returns>鍖呭惈鏍¢獙缁撴灉鐨勬暟鎹紶杈撳璞�</returns>
-    public dynamic pdaInvJY(SqlSugarScope db, string edtUserNo,
-        string barcode, string sectionCode, string stockId, string stockOrgId,
-        string billNo, string transactionNo)
+    using NewPdaSqlServer.Dto.service;
+    using NewPdaSqlServer.entity;
+    using SqlSugar;
+    using System;
+    using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+    using System.Data;
+    using NewPdaSqlServer.DB;
+    using System.Data;
+    using System.Data.SqlClient;
+    using Microsoft.EntityFrameworkCore.Metadata.Internal;
+
+
+    public class WmsBaseMangeer : Repository<dynamic>
     {
-        var outputMsg = "";
-        var outputStatus = -1;
 
-        using (var conn = new SqlConnection(DbHelperSQL.strConn))
-        using (var cmd = new SqlCommand("prc_pda_inv_JY", conn))
+        /// <summary>
+        /// 閫氱敤鍏ュ簱鏍¢獙
+        /// </summary>
+        /// <param name="db">SqlSugar 鏁版嵁搴撲笂涓嬫枃</param>
+        /// <param name="edtUserNo">鎿嶄綔浜哄伐鍙�</param>
+        /// <param name="barcode">鐗╂枡鏉$爜</param>
+        /// <param name="sectionCode">搴撲綅缂栫爜</param>
+        /// <param name="stockId">浠撳簱ID</param>
+        /// <param name="stockOrgId">搴撳瓨缁勭粐ID</param>
+        /// <param name="billNo">鐢宠鍗曞彿</param>
+        /// <param name="transactionNo">浜嬪姟绫诲瀷</param>
+        /// <returns>鍖呭惈鏍¢獙缁撴灉鐨勬暟鎹紶杈撳璞�</returns>
+        public dynamic pdaInvJY(SqlSugarScope db, string edtUserNo,
+            string barcode, string sectionCode, string stockId, string stockOrgId,
+            string billNo, string transactionNo)
         {
-            cmd.CommandType = CommandType.StoredProcedure;
-            // 杈撳叆鍙傛暟閰嶇疆
-            SqlParameter[] parameters =
+            // 鍙傛暟楠岃瘉
+            if (string.IsNullOrEmpty(edtUserNo))
+                throw new ArgumentException("鎿嶄綔浜哄伐鍙蜂笉鑳戒负绌�", nameof(edtUserNo));
+            if (string.IsNullOrEmpty(barcode))
+                throw new ArgumentException("鐗╂枡鏉$爜涓嶈兘涓虹┖", nameof(barcode));
+            if (string.IsNullOrEmpty(sectionCode))
+                throw new ArgumentException("搴撲綅缂栫爜涓嶈兘涓虹┖", nameof(sectionCode));
+            if (string.IsNullOrEmpty(stockId))
+                throw new ArgumentException("浠撳簱ID涓嶈兘涓虹┖", nameof(stockId));
+            if (string.IsNullOrEmpty(stockOrgId))
+                throw new ArgumentException("搴撳瓨缁勭粐ID涓嶈兘涓虹┖", nameof(stockOrgId));
+            if (string.IsNullOrEmpty(transactionNo))
+                throw new ArgumentException("浜嬪姟绫诲瀷涓嶈兘涓虹┖", nameof(transactionNo));
+
+            var outputMsg = "";
+            var outputStatus = -1;
+
+            using (var conn = new SqlConnection(DbHelperSQL.strConn))
+            using (var cmd = new SqlCommand("prc_pda_inv_JY", conn))
             {
-                new("@pi_user", SqlDbType.NVarChar, 100) { Value = edtUserNo },
-                new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = barcode },
-                new("@pi_sectionCode", SqlDbType.NVarChar, 100)
-                    { Value = sectionCode },
-                new("@pi_stockId", SqlDbType.NVarChar, 100) { Value = stockId },
-                new("@pi_stockOrgId", SqlDbType.NVarChar, 100)
-                    { Value = stockOrgId },
-                new("@pi_billno", SqlDbType.NVarChar, 100) { Value = billNo },
-                new("@pi_transaction_no", SqlDbType.NVarChar, 10)
-                    { Value = transactionNo },
-                new("@pi_val1", SqlDbType.NVarChar, 100)
-                    { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
-                new("@pi_val2", SqlDbType.NVarChar, 100)
-                    { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
-                new("@po_outMsg", SqlDbType.NVarChar, 2000)
-                    { Direction = ParameterDirection.Output },
-                new("@po_outStatus", SqlDbType.Int)
-                    { Direction = ParameterDirection.Output }
-            };
-
-            try
-            {
-                conn.Open();
-                cmd.Parameters.AddRange(parameters);
-                cmd.ExecuteNonQuery();
-
-                // 鑾峰彇杈撳嚭鍙傛暟
-                outputMsg = parameters[9].Value?.ToString() ?? "";
-                outputStatus = Convert.ToInt32(parameters[10].Value);
-
-                if (outputStatus <= 0)
-                    throw new Exception(outputMsg);
-
-                return new ProductionPickDto
+                cmd.CommandType = CommandType.StoredProcedure;
+                // 杈撳叆鍙傛暟閰嶇疆
+                SqlParameter[] parameters =
                 {
-                    barcode = barcode,
-                    strMsg = outputMsg,
-                    result = outputStatus.ToString()
-                    // 鍏朵粬闇�瑕佹槧灏勭殑瀛楁...
+                    new("@pi_user", SqlDbType.NVarChar, 100) { Value = edtUserNo },
+                    new("@pi_barcode", SqlDbType.NVarChar, 100) { Value = barcode },
+                    new("@pi_sectionCode", SqlDbType.NVarChar, 100) { Value = sectionCode },
+                    new("@pi_stockId", SqlDbType.NVarChar, 100) { Value = stockId },
+                    new("@pi_stockOrgId", SqlDbType.NVarChar, 100) { Value = stockOrgId },
+                    new("@pi_billno", SqlDbType.NVarChar, 100) { Value = string.IsNullOrEmpty(billNo) ? DBNull.Value : billNo },
+                    new("@pi_transaction_no", SqlDbType.NVarChar, 10) { Value = transactionNo },
+                    new("@pi_val1", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
+                    new("@pi_val2", SqlDbType.NVarChar, 100) { Value = DBNull.Value }, // 棰勭暀鎵╁睍瀛楁
+                    new("@po_outMsg", SqlDbType.NVarChar, 2000) { Direction = ParameterDirection.Output },
+                    new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output }
                 };
-            }
-            catch (Exception ex)
-            {
-                throw new Exception($"鍏ュ簱鏍¢獙澶辫触: {ex.Message}");
+
+                try
+                {
+                    conn.Open();
+                    cmd.Parameters.AddRange(parameters);
+                    cmd.ExecuteNonQuery();
+
+                    // 鑾峰彇杈撳嚭鍙傛暟
+                    outputMsg = parameters[9].Value?.ToString() ?? "";
+                    outputStatus = Convert.ToInt32(parameters[10].Value);
+
+                    if (outputStatus <= 0)
+                        throw new Exception(outputMsg);
+
+                    return new ProductionPickDto
+                    {
+                        barcode = barcode,
+                        strMsg = outputMsg,
+                        result = outputStatus.ToString(),
+                        // 鍏朵粬闇�瑕佹槧灏勭殑瀛楁...
+                    };
+                }
+                catch (Exception ex)
+                {
+                    throw new Exception($"鍏ュ簱鏍¢獙澶辫触: {ex.Message}");
+                }
             }
         }
-    }
 
-    /// <summary>
-    ///     鑾峰彇鏉$爜淇℃伅
-    /// </summary>
-    /// <param name="unity"></param>
-    /// <returns></returns>
-    /// <exception cref="Exception"></exception>
-    public MesInvItemBarcodes GetBarInfo(WarehouseQuery unity)
-    {
-        var barInfo = Db.Queryable<MesInvItemBarcodes>()
-            .Where(s => s.ItemBarcode == unity.barcode)
-            .First();
-        if (barInfo is null) throw new Exception("璇ユ潯鐮佸簱瀛樹笉瀛樺湪锛�");
+        /// <summary>
+        /// 鑾峰彇鏉$爜淇℃伅
+        /// </summary>
+        /// <param name="unity"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public MesInvItemBarcodes GetBarInfo(WarehouseQuery unity)
+        {
+            var barInfo = Db.Queryable<MesInvItemBarcodes>()
+                .Where(s => s.ItemBarcode == unity.barcode)
+                .First();
+            if (barInfo is null) throw new Exception("璇ユ潯鐮佸簱瀛樹笉瀛樺湪锛�");
 
-        return barInfo; // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null
-    }
+            return barInfo; // 杩斿洖绗竴琛屾暟鎹紝濡傛灉娌℃湁鍒欒繑鍥� null
+        }
 
-    /// <summary>
-    ///     鑾峰彇鐗╂枡淇℃伅
-    /// </summary>
-    /// <param name="strItemId"></param>
-    /// <returns></returns>
-    /// <exception cref="Exception"></exception>
-    public MesItems GetItemNo(decimal strItemId)
-    {
-        var itemInfo = Db.Queryable<MesItems>()
-            .Where(s => s.Id == strItemId && s.Fforbidstatus == "A")
-            .First();
-        if (itemInfo is null) throw new Exception("璇ユ潯鐮佸搴旂墿鏂欎俊鎭笉瀛樺湪鎴栧凡绂佺敤锛�");
+        /// <summary>
+        /// 鑾峰彇鐗╂枡淇℃伅
+        /// </summary>
+        /// <param name="strItemId"></param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public MesItems GetItemNo(decimal strItemId)
+        {
+            var itemInfo = Db.Queryable<MesItems>()
+                .Where(s => s.Id == strItemId && s.Fforbidstatus == "A")
+                .First();
+            if (itemInfo is null) throw new Exception("璇ユ潯鐮佸搴旂墿鏂欎俊鎭笉瀛樺湪鎴栧凡绂佺敤锛�");
 
-        return itemInfo;
-    }
+            return itemInfo;
+        }
 
 
-    /// <summary>
-    ///     鑾峰彇璐т富绫诲瀷
-    /// </summary>
-    /// <param name="ownerId">璐т富ID</param>
-    /// <returns>璐т富绫诲瀷(BD_OwnerOrg/BD_Customer/BD_Supplier)</returns>
-    public string GetOwnerType(string ownerId)
-    {
-        if (string.IsNullOrEmpty(ownerId))
-            throw new ArgumentNullException(nameof(ownerId));
+        /// <summary>
+        /// 鑾峰彇璐т富绫诲瀷
+        /// </summary>
+        /// <param name="ownerId">璐т富ID</param>
+        /// <returns>璐т富绫诲瀷(BD_OwnerOrg/BD_Customer/BD_Supplier)</returns>
+        public string GetOwnerType(string ownerId)
+        {
+            // 濡傛灉 ownerId 涓虹┖锛岃繑鍥為粯璁ょ殑璐т富绫诲瀷
+            if (string.IsNullOrEmpty(ownerId))
+                return "BD_OwnerOrg"; // 榛樿涓虹粍缁囩被鍨�
 
-        if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
-            return "BD_OwnerOrg";
+            if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
+            {
+                return "BD_OwnerOrg";
+            }
+            else if (Db.Queryable<MesCustomer>().Any(x => x.Id == Convert.ToInt32(ownerId)))
+            {
+                return "BD_Customer";
+            }
+            else if (Db.Queryable<MesSupplier>().Any(x => x.Id == Convert.ToInt32(ownerId)))
+            {
+                return "BD_Supplier";
+            }
+            else if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
+            {
+                return "BD_OwnerOrg";
+            }
+            
+            throw new Exception("鏃犳硶纭畾璐т富绫诲瀷锛岃妫�鏌ヨ揣涓籌D鏄惁姝g‘锛�");
+        }
 
-        if (Db.Queryable<MesCustomer>()
-            .Any(x => x.Id == Convert.ToInt32(ownerId))) return "BD_Customer";
-
-        if (Db.Queryable<MesSupplier>()
-            .Any(x => x.Id == Convert.ToInt32(ownerId))) return "BD_Supplier";
-
-        if (Db.Queryable<SysOrganization>().Any(x => x.Fid == ownerId))
-            return "BD_OwnerOrg";
-
-        throw new Exception("鏃犳硶纭畾璐т富绫诲瀷锛岃妫�鏌ヨ揣涓籌D鏄惁姝g‘锛�");
+        
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3