Jelajahi Sumber

调整机具补录
调拨限制仓库状态

lichunlei 3 tahun lalu
induk
melakukan
05f5edf75d

+ 2 - 2
AppStart/ExcelHelper.cs

@@ -282,7 +282,7 @@ namespace MySystem
                                             if (store.LaveNum > 0)
                                             if (store.LaveNum > 0)
                                             {
                                             {
                                                 StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
                                                 StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
-                                                StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId) ?? new StoreHouse();
+                                                StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId && m.Status > -1) ?? new StoreHouse();
                                                 if (tostore.Id > 0)
                                                 if (tostore.Id > 0)
                                                 {
                                                 {
                                                     MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
                                                     MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
@@ -859,7 +859,7 @@ namespace MySystem
                                             if (store.Id > 0)
                                             if (store.Id > 0)
                                             {
                                             {
                                                 StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
                                                 StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
-                                                StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId) ?? new StoreHouse();
+                                                StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId && m.Status > -1) ?? new StoreHouse();
                                                 if (tostore.Id > 0)
                                                 if (tostore.Id > 0)
                                                 {
                                                 {
                                                     MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
                                                     MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();

+ 3 - 4
AppStart/Helper/SycnSpTradeService.cs

@@ -13,11 +13,11 @@ namespace MySystem
         private SycnSpTradeService()
         private SycnSpTradeService()
         { }
         { }
 
 
-        public void Start(string PosSn, DateTime start, DateTime end)
+        public void Start(string PosSn, DateTime start, DateTime end, int StartId = 0)
         {
         {
             SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
             SpModels.WebCMSEntities spdb = new SpModels.WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
             WebCMSEntities db = new WebCMSEntities();
-            IQueryable<SpModels.TradeRecord> trades = spdb.TradeRecord.Where(m => m.CreateDate >= start && m.CreateDate < end && m.TradeSnNo == PosSn);
+            IQueryable<SpModels.TradeRecord> trades = spdb.TradeRecord.Where(m => m.Id > StartId && m.CreateDate >= start && m.CreateDate < end && m.TradeSnNo == PosSn);
             foreach (SpModels.TradeRecord trade in trades.ToList())
             foreach (SpModels.TradeRecord trade in trades.ToList())
             {
             {
                 bool op = true;
                 bool op = true;
@@ -79,8 +79,7 @@ namespace MySystem
                             {
                             {
                                 TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
                                 TopUserId = int.Parse(user.ParentNav.Trim(',').Replace(",,", ",").Split(',')[0]);
                             }
                             }
-                            // TODO: 交易记录表,每月的Id单独存放,解决查询效率问题
-                            bool check = db.TradeRecord.Any(m => m.Id >= 700000 && m.RecordNo == trade.TradeSerialNo);
+                            bool check = db.SpOrderNos.Any(m => m.OrderNo == trade.TradeSerialNo);
                             if (!check)
                             if (!check)
                             {
                             {
                                 decimal TradeAmount = trade.TradeAmount;
                                 decimal TradeAmount = trade.TradeAmount;

+ 8 - 8
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -147,12 +147,12 @@ namespace MySystem.Areas.Admin.Controllers
                 }
                 }
             }
             }
             decimal CreditTrade = 0;
             decimal CreditTrade = 0;
-            bool check = spdb.TradeRecord.Any(m => m.TradeSnNo == pos.PosSn);
+            string BindingTime = pos.BindingTime == null ? DateTime.Now.AddMonths(-1).ToString("yyyyMM") : pos.BindingTime.Value.ToString("yyyyMM");
+            string SpTradeRecordId = function.ReadInstance("/PublicParams/SpTradeRecordId" + BindingTime + ".txt");
+            int StartId = int.Parse(function.CheckInt(SpTradeRecordId));
+            bool check = spdb.TradeRecord.Any(m => m.Id > StartId && m.TradeSnNo == pos.PosSn);
             if (check)
             if (check)
             {
             {
-                string BindingTime = pos.BindingTime == null ? DateTime.Now.AddMonths(-1).ToString("yyyyMM") : pos.BindingTime.Value.ToString("yyyyMM");
-                string SpTradeRecordId = function.ReadInstance("/PublicParams/SpTradeRecordId" + BindingTime + ".txt");
-                int StartId = int.Parse(function.CheckInt(SpTradeRecordId));
                 if (pos.BrandId == 1)
                 if (pos.BrandId == 1)
                 {
                 {
                     CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "1" && m.SerEntryMode != "N" && m.MerNo.StartsWith("M700")).Sum(m => m.TradeAmount) / 100;
                     CreditTrade = spdb.TradeRecord.Where(m => m.Id > StartId && m.TradeSnNo == pos.PosSn && m.ProductType == "1" && m.SerEntryMode != "N" && m.MerNo.StartsWith("M700")).Sum(m => m.TradeAmount) / 100;
@@ -187,7 +187,7 @@ namespace MySystem.Areas.Admin.Controllers
                 }
                 }
                 pos.CreditTrade = CreditTrade;
                 pos.CreditTrade = CreditTrade;
                 db.SaveChanges();
                 db.SaveChanges();
-                StatTradeAmount(pos.PosSn);
+                StatTradeAmount(pos.PosSn, StartId);
             }
             }
             if (AddActPrize == 1)
             if (AddActPrize == 1)
             {
             {
@@ -208,7 +208,7 @@ namespace MySystem.Areas.Admin.Controllers
                 if (pos.BindingTime != null && pos.ActivationTime != null)
                 if (pos.BindingTime != null && pos.ActivationTime != null)
                 {
                 {
                     TimeSpan ts = pos.ActivationTime.Value - pos.BindingTime.Value;
                     TimeSpan ts = pos.ActivationTime.Value - pos.BindingTime.Value;
-                    if (ts.TotalDays <= 30)
+                    if (ts.TotalDays <= 30 || SysUserName == "admin")
                     {
                     {
                         AddAct(pos.Id);
                         AddAct(pos.Id);
                     }
                     }
@@ -767,7 +767,7 @@ namespace MySystem.Areas.Admin.Controllers
             db.Dispose();
             db.Dispose();
         }
         }
         //重置交易额
         //重置交易额
-        public void StatTradeAmount(string PosSn)
+        public void StatTradeAmount(string PosSn, int StartId = 0)
         {
         {
             DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
             DateTime start = DateTime.Parse(DateTime.Now.ToString("yyyy-MM") + "-01 00:00:00");
             if (DateTime.Now.Day == 1)
             if (DateTime.Now.Day == 1)
@@ -775,7 +775,7 @@ namespace MySystem.Areas.Admin.Controllers
                 start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00");
                 start = DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM") + "-01 00:00:00");
             }
             }
             DateTime end = DateTime.Now;
             DateTime end = DateTime.Now;
-            SycnSpTradeService.Instance.Start(PosSn, start, end);
+            SycnSpTradeService.Instance.Start(PosSn, start, end, StartId);
             RedisDbconn.Instance.AddList("ResetTradeAmountList", PosSn);
             RedisDbconn.Instance.AddList("ResetTradeAmountList", PosSn);
         }
         }