Pārlūkot izejas kodu

1、修复主副规格保存数据变多问题
2、注释锁使用

iggy 3 nedēļas atpakaļ
vecāks
revīzija
7e3a013608
2 mainītis faili ar 29 papildinājumiem un 18 dzēšanām
  1. 3 0
      JLHHJSvr/Helper/LockHelper.cs
  2. 26 18
      JLHHJSvr/Helper/MattressHelper.cs

+ 3 - 0
JLHHJSvr/Helper/LockHelper.cs

@@ -24,6 +24,7 @@ namespace JLHHJSvr.Helper
         /// <param name="billid"></param>
         public static void LockBill(SqlCommand cmd, string keyword, int billid, string opemp, int lockMinutes = 30)
         {
+            return;
             try
             {
                 cmd.CommandText = "sp_lock_record";
@@ -58,6 +59,7 @@ namespace JLHHJSvr.Helper
         /// <param name="billid"></param>
         public static void UnLockBill(SqlCommand cmd, string keyword, int billid, string opemp, byte is_admin)
         {
+            return;
             try
             {
                 cmd.CommandText = "sp_unlock_record";
@@ -132,6 +134,7 @@ namespace JLHHJSvr.Helper
         public static bool CheckIsLock(SqlCommand cmd, string keyword, int billid, string opemp,out string arg_msg)
         {
             arg_msg = string.Empty;
+            return false;
             var item = CheckLockAll(cmd, keyword, billid, opemp);
             if (item.Code == LockCheckResultCode.LockedByOther)
             {

+ 26 - 18
JLHHJSvr/Helper/MattressHelper.cs

@@ -2632,13 +2632,24 @@ namespace JLHHJSvr.Helper
                 {
                     // 副规格修改
                     isSkip = mattress.flag == 1 || mattress.yw_flag == 1 || mattress.xd_flag == 1;
-                } else
-                {
-                    // 主规格
-                    DeleteMattress(mattress.mattressid);
                 }
 
-                if(!isSkip) DbSqlHelper.Update(cmd, "u_mattress", null, mattress, "mattressid", fields);
+                if(!isSkip)
+                {
+                    DbSqlHelper.Update(cmd, "u_mattress", null, mattress, "mattressid", fields);
+
+                    // 删除所有明细
+                    cmd.CommandText = @"DELETE u_mattress_mx_mtrl WHERE mattressid = @mattressid";
+                    cmd.Parameters.Clear();
+                    cmd.Parameters.AddWithValue("@mattressid", mattress.mattressid);
+                    cmd.ExecuteNonQuery();
+
+                    // 删除所有额外费用明细
+                    cmd.CommandText = @"DELETE u_mattress_mx_extra WHERE mattressid = @mattressid";
+                    cmd.Parameters.Clear();
+                    cmd.Parameters.AddWithValue("@mattressid", mattress.mattressid);
+                    cmd.ExecuteNonQuery();
+                }
             }
 
             // 插入明细内容
@@ -2838,7 +2849,7 @@ namespace JLHHJSvr.Helper
             var toInsert = mattress.subspecsList.Where(x => x.mattressid == 0).ToList();
             var toDelete = existing.Where(x => !newIdSet.Contains(x.mattressid)).ToList();
 
-            toDelete.ForEach(x => DeleteMattress(x.mattressid, true));
+            toDelete.ForEach(x => DeleteMattress(x.mattressid));
 
             var subspecsList = new List<u_mattress>();
 
@@ -2865,7 +2876,7 @@ namespace JLHHJSvr.Helper
                 InitMattressSubSpecs(mattress, child);
 
                 MattressCalculateCost(child, child.mxList, child.extraList, child.extraCostList);
-                SaveMattressPro(child, ifErp,true);
+                SaveMattressPro(child, ifErp, true);
             }
 
             mattress.subspecsList = subspecsList;
@@ -2952,15 +2963,15 @@ namespace JLHHJSvr.Helper
         /// </summary>
         /// <param name="mattressid"></param>
         /// <param name="isDelMain"></param>
-        public void DeleteMattress(int mattressid, bool isDelMain = false)
+        public void DeleteMattress(int mattressid)
         {
             //
             if (mattressid <= 0) throw new LJCommonException("ID错误,删除床垫报价失败!");
             var mattress = GetMattress(mattressid, "mattresscode,flag,js1_flag,xd_flag,parentid");
             if (mattress.parentid > 0 && (mattress.js1_flag == 1 || mattress.flag == 1)) return;
-            if (isDelMain && mattress.xd_flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已下单,无法删除!");
-            if (isDelMain && mattress.js1_flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已产品审核,无法删除!");
-            if (isDelMain && mattress.flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已财务审核,无法删除!");
+            if (mattress.xd_flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已下单,无法删除!");
+            if (mattress.js1_flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已产品审核,无法删除!");
+            if (mattress.flag == 1) throw new LJCommonException($"床垫报价[{mattress.mattresscode}]已财务审核,无法删除!");
 
             // 删除所有明细
             cmd.CommandText = @"DELETE u_mattress_mx_mtrl WHERE mattressid = @mattressid";
@@ -2975,13 +2986,10 @@ namespace JLHHJSvr.Helper
             cmd.ExecuteNonQuery();
 
             // 删除主表
-            if(isDelMain)
-            {
-                cmd.CommandText = @"DELETE u_mattress WHERE mattressid = @mattressid";
-                cmd.Parameters.Clear();
-                cmd.Parameters.AddWithValue("@mattressid", mattressid);
-                cmd.ExecuteNonQuery();
-            }
+            cmd.CommandText = @"DELETE u_mattress WHERE mattressid = @mattressid";
+            cmd.Parameters.Clear();
+            cmd.Parameters.AddWithValue("@mattressid", mattressid);
+            cmd.ExecuteNonQuery();
         }
         /// <summary>
         /// 保存床垫检测