Bläddra i källkod

优化运营中心关联分仓、取消关联功能

lichunlei 3 år sedan
förälder
incheckning
f327c5df97

+ 0 - 2
Areas/Admin/Controllers/BsServer/BaseController.cs

@@ -44,8 +44,6 @@ namespace MySystem.Areas.Admin.Controllers
         //数据库连接字符串
         public string OpConn = Library.ConfigurationManager.AppSettings["OpSqlConnStr"].ToString();
         
-        public string OpConn = Library.ConfigurationManager.AppSettings["OpSqlConnStr"].ToString();
-        
         public int SysId;
         public int SysRealRole;
         public string SysUserName = "";

+ 27 - 11
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -1619,19 +1619,27 @@ namespace MySystem.Areas.Admin.Controllers
                     var pCount = 0;
                     var userIds = "";
                     string error = "";
+                    List<int> StoreIds = new List<int>();
+                    foreach (var items in idlist)
+                    {
+                        StoreIds.Add(int.Parse(items));
+                    }
+                    List<StoreHouse> StoreHouses = db.StoreHouse.Where(m => StoreIds.Contains(m.Id)).ToList();
+                    List<PosMachinesTwo> PosList = db.PosMachinesTwo.Where(m => StoreIds.Contains(m.StoreId) && m.UserId == 0 && m.BuyUserId == 0).ToList();
+                    List<KqProducts> ProductList = db.KqProducts.ToList();
                     foreach (var items in idlist)
                     {
                         int StoreId = int.Parse(items);
-                        var storeInfo = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
+                        var storeInfo = StoreHouses.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
                         if (storeInfo.OpId > 0)
                         {
                             error += "以下操作失败" + storeInfo.StoreNo + ',' + "请先解除该分仓的关联" + '\n';
                         }
                         else
                         {
-                            var pos = db.PosMachinesTwo.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0).ToList();
+                            var pos = PosList.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0).ToList();
                             var posCount = pos.Count();
-                            var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == int.Parse(storeInfo.BrandId));
+                            var brandInfo = ProductList.FirstOrDefault(m => m.Id == int.Parse(storeInfo.BrandId));
                             if (brandInfo.Name.Contains("电签"))
                             {
                                 amount = 100;
@@ -1664,13 +1672,13 @@ namespace MySystem.Areas.Admin.Controllers
                         {
                             int StoreId = int.Parse(item);
                             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouse", Fields, StoreId);
-                            var storeInfo = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
+                            var storeInfo = StoreHouses.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
                             if (storeInfo.OpId == 0)
                             {
-                                var pos = db.PosMachinesTwo.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0).ToList();
+                                var pos = PosList.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0).ToList();
                                 var posCount = pos.Count();
                                 var BrandId = int.Parse(storeInfo.BrandId);
-                                var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == BrandId);
+                                var brandInfo = ProductList.FirstOrDefault(m => m.Id == BrandId);
                                 if (brandInfo.Name.Contains("电签"))
                                 {
                                     amount = 100;
@@ -1889,20 +1897,28 @@ namespace MySystem.Areas.Admin.Controllers
                     var pCount = 0;
                     var userIds = "";
                     string error = "";
+                    List<int> StoreIds = new List<int>();
+                    foreach (var items in idlist)
+                    {
+                        StoreIds.Add(int.Parse(items));
+                    }
+                    List<StoreHouse> StoreHouses = db.StoreHouse.Where(m => StoreIds.Contains(m.Id)).ToList();
+                    List<PosMachinesTwo> PosList = db.PosMachinesTwo.Where(m => StoreIds.Contains(m.StoreId) && m.UserId == 0 && m.BuyUserId == 0 && m.OpId > 0).ToList();
+                    List<KqProducts> ProductList = db.KqProducts.ToList();
                     foreach (var item in idlist)
                     {
                         int StoreId = int.Parse(item);
-                        var store = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2 && m.OpId == sysAdmin.UserId);
+                        var store = StoreHouses.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2 && m.OpId == sysAdmin.UserId);
                         if (store == null)
                         {
                             error += "分仓" + store.StoreNo + "未在创客" + MakerCode + "的关联分仓中";
                         }
                         else
                         {
-                            var pos = db.PosMachinesTwo.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0 && m.OpId == sysAdmin.UserId).ToList();
+                            var pos = PosList.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0 && m.OpId == sysAdmin.UserId).ToList();
                             var posCount = pos.Count();
                             var BrandId = int.Parse(store.BrandId);
-                            var brandInfo = db.KqProducts.FirstOrDefault(m => m.Id == BrandId);
+                            var brandInfo = ProductList.FirstOrDefault(m => m.Id == BrandId);
                             if (brandInfo.Name.Contains("电签"))
                             {
                                 amount = 100;
@@ -1947,8 +1963,8 @@ namespace MySystem.Areas.Admin.Controllers
                             int StoreId = int.Parse(item);
                             new AdminContentOther(_accessor.HttpContext, PublicFunction.MainTables).Edit("StoreHouse", Fields, StoreId);
                             db.SaveChanges();
-                            var store = db.StoreHouse.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
-                            var pos = db.PosMachinesTwo.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0 && m.OpId == sysAdmin.UserId).ToList();
+                            var store = StoreHouses.FirstOrDefault(m => m.Id == StoreId && m.StoreKind != 2);
+                            var pos = PosList.Where(m => m.StoreId == StoreId && m.UserId == 0 && m.BuyUserId == 0 && m.OpId == sysAdmin.UserId).ToList();
                             foreach (var items in pos)
                             {
                                 var posInfo = pos.FirstOrDefault(m => m.Id == items.Id) ?? new PosMachinesTwo();