From 5ad394cf1708a4629f90f40bfd9b48d9a9f6f0c8 Mon Sep 17 00:00:00 2001
From: kazelee <1847801760@qq.com>
Date: 星期三, 21 五月 2025 16:55:18 +0800
Subject: [PATCH] 测试出库抽检流程,重构代码修复事务处理的问题

---
 wms/LocationHelper.cs |   42 ++++++++++++++++++++++++++++++++----------
 1 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/Helpers/LocationHelper.cs b/wms/LocationHelper.cs
similarity index 89%
rename from Helpers/LocationHelper.cs
rename to wms/LocationHelper.cs
index d2d14df..ef584a3 100644
--- a/Helpers/LocationHelper.cs
+++ b/wms/LocationHelper.cs
@@ -2,15 +2,14 @@
 using System.Collections.Generic;
 using System.Linq;
 
-using HH.WCS.Mobox3.DSZSH.Models;
+using HH.WCS.Mobox3.DSZSH.models;
+using HH.WCS.Mobox3.DSZSH.util;
 
 using Newtonsoft.Json;
 
 using SqlSugar;
 
-using static HH.WCS.Mobox3.DSZSH.Dtos.Response.MoboxResponse;
-
-namespace HH.WCS.Mobox3.DSZSH.Helpers {
+namespace HH.WCS.Mobox3.DSZSH.wms {
     /// <summary>
     /// 璐т綅甯姪绫伙紙鍖呭惈璐т綅-瀹瑰櫒鍏崇郴鐨勫鐞嗭級
     /// </summary>
@@ -56,7 +55,7 @@
         /// <returns></returns>
         internal static List<TN_Location> GetAllLocList()
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             return db.Queryable<TN_Location>().ToList();
         }
 
@@ -123,8 +122,31 @@
 
         internal static TN_Location GetLoc(string code)
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             return db.Queryable<TN_Location>().Where(a => a.S_CODE.Trim() == code).First();
+        }
+
+        /// <summary>
+        /// 鍏ュ簱閿佸畾缁堢偣锛屽嚭搴撻攣瀹氳捣鐐�+        /// 浣犲垱寤轰换鍔¢攣瀹氳揣浣嶇殑鏃跺�锛屾妸閿佺殑鏉ユ簮灏辨槸浠诲姟鍙蜂篃鍐欎笂鍘伙紙鍔犻攣鐨勬柟娉曞姞涓弬鏁帮紝鍙┖鐨勫弬鏁帮級锛岃В閿佺殑鏃跺�鎶婃潵婧愮疆绌恒�
+        /// </summary>
+        /// <param name="loc"></param>
+        /// <param name="lockState">1:鍏ュ簱閿併�2:鍑哄簱閿併�2:鍏跺畠閿�/param>
+        /// <param name="lockSource">閿佺殑鏉ユ簮=浠诲姟鍙�/param>
+        /// <returns></returns>
+        public static bool LockLoc(ref TN_Location loc, int lockState, string lockSource = "") {
+            if (loc == null || loc.N_LOCK_STATE != 0) {
+                return false;
+            }
+
+            if (loc != null && loc.N_LOCK_STATE == 0) {
+                loc.N_LOCK_STATE = lockState;
+                loc.S_LOCK_STATE = TN_Location.GetLockStateStr(lockState);
+                loc.S_LOCK_OP = lockSource;
+                loc.T_MODIFY = System.DateTime.Now;
+            }
+
+            return true;
         }
 
         /// <summary>
@@ -140,7 +162,7 @@
         public static bool LockLoc(string loc, int lockState, string lockSource = "")
         {
             var res = false;
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var model = db.Queryable<TN_Location>().Where(a => a.S_CODE == loc).First();
             LogHelper.Info($"閿佽揣浣峽loc},鐘舵�{lockState},淇℃伅" + JsonConvert.SerializeObject(model));
             if (model != null && model.N_LOCK_STATE == 0)
@@ -165,7 +187,7 @@
         {
             LogHelper.Info("UnLockLoc:" + loc);
             var res = false;
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var model = db.Queryable<TN_Location>().Where(a => a.S_CODE == loc).First();
             if (model != null)
             {
@@ -191,7 +213,7 @@
         /// <returns></returns>
         public static string UnBindingLoc(string loc, List<string> cntrs)
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var logs = $"璐т綅锛歿loc}锛屽鍣細{JsonConvert.SerializeObject(cntrs)}";
             try
             {
@@ -264,7 +286,7 @@
         /// <returns></returns>
         public static string BindingLoc(string loc, List<string> cntrs)
         {
-            var db = DbHelper.GetDbClient();
+            var db = new SqlHelper<object>().GetInstance();
             var logs = $"璐т綅锛歿loc}锛屽鍣細{JsonConvert.SerializeObject(cntrs)}";
             try
             {

--
Gitblit v1.9.1