ソースを参照

机具驳回仓库逻辑
仓库调拨出货机具和填写的仓库不符返回错误信息
分仓临时额度变动记录添加

DuGuYang 3 年 前
コミット
e345b6f2da

+ 120 - 120
AppStart/ExcelHelper.cs

@@ -26,7 +26,7 @@ namespace MySystem
         {
         {
             while (true)
             while (true)
             {
             {
-                string data = RedisDbconn.Instance.RPop<string>("ExcelImportV2");
+                string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
                 // string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
                 // string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
                 if (!string.IsNullOrEmpty(data))
                 if (!string.IsNullOrEmpty(data))
                 {
                 {
@@ -277,156 +277,156 @@ namespace MySystem
                                         //调拨时若出货仓库与填写仓库不符,则该条出货失败
                                         //调拨时若出货仓库与填写仓库不符,则该条出货失败
                                         var posinfo = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SnNo && m.BrandId == BrandId);
                                         var posinfo = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SnNo && m.BrandId == BrandId);
                                         var storeinfo = db.StoreForCode.FirstOrDefault(m => m.Code == OutStoreNo && m.StoreId == posinfo.StoreId);
                                         var storeinfo = db.StoreForCode.FirstOrDefault(m => m.Code == OutStoreNo && m.StoreId == posinfo.StoreId);
-                                        // if (storeinfo != null)
-                                        // {
-                                        KqProducts kqProduct = db.KqProducts.FirstOrDefault(m => m.Id == BrandId) ?? new KqProducts();
-                                        if (kqProduct.Id > 0)
+                                        if (storeinfo != null)
                                         {
                                         {
-                                            StoreForCode storefor = db.StoreForCode.FirstOrDefault(m => m.Code == OutStoreNo) ?? new StoreForCode();
-                                            StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == storefor.StoreId) ?? new StoreHouse();
-                                            if (store.LaveNum > 0)
+                                            KqProducts kqProduct = db.KqProducts.FirstOrDefault(m => m.Id == BrandId) ?? new KqProducts();
+                                            if (kqProduct.Id > 0)
                                             {
                                             {
-                                                StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
-                                                StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId) ?? new StoreHouse();
-                                                if (tostore.Id > 0)
+                                                StoreForCode storefor = db.StoreForCode.FirstOrDefault(m => m.Code == OutStoreNo) ?? new StoreForCode();
+                                                StoreHouse store = db.StoreHouse.FirstOrDefault(m => m.Id == storefor.StoreId) ?? new StoreHouse();
+                                                if (store.LaveNum > 0)
                                                 {
                                                 {
-                                                    MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
-                                                    PosMachinesTwo machine = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machinefor.SnId && m.StoreId != tostore.Id && m.BuyUserId == 0 && m.UserId == 0) ?? new PosMachinesTwo();
-                                                    if (machine.Id > 0)
+                                                    StoreForCode tostorefor = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo) ?? new StoreForCode();
+                                                    StoreHouse tostore = db.StoreHouse.FirstOrDefault(m => m.Id == tostorefor.StoreId) ?? new StoreHouse();
+                                                    if (tostore.Id > 0)
                                                     {
                                                     {
-                                                        StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
-                                                        {
-                                                            CreateDate = DateTime.Now,
-                                                            CreateMan = Operator,
-                                                            StoreId = storefor.StoreId, //仓库
-                                                            BrandId = BrandId, //产品类型
-                                                            ProductName = RelationClass.GetKqProductBrandInfo(BrandId), //产品名称
-                                                            BizBatchNo = BatchNo, //业务批次号
-                                                            TransType = 1, //交易类型
-                                                            SnNo = SnNo, //SN编号
-                                                            StockOpDirect = 1, //库存操作方向
-                                                            SnStatus = 1, //SN状态
-                                                            DeviceVendor = machine.DeviceName, //设备厂商
-                                                            DeviceModel = machine.DeviceKind, //设备型号
-                                                            DeviceType = machine.DeviceType, //设备类型
-                                                            FromUserId = store.UserId, //出货人
-                                                            FromDate = DateTime.Now, //出库时间
-                                                            FromRemark = OutNote, //出库备注
-                                                            ToUserId = tostore.UserId, //收货人
-                                                            ToStoreId = tostorefor.StoreId, //退货收货仓库                        
-                                                            SourceStoreId = machine.SourceStoreId, //源仓库编号
-                                                            BrandType = machine.DeviceType, //品牌类型
-                                                        }).Entity;
-                                                        db.SaveChanges();
-                                                        string ChangeNo = "SC";
-                                                        int StoreStockChangeId = stockchange.Id;
-                                                        string StoreStockChangeIdString = StoreStockChangeId.ToString();
-                                                        for (int j = 0; j < 18 - StoreStockChangeId.ToString().Length; j++)
+                                                        MachineForSnNo machinefor = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == SnNo) ?? new MachineForSnNo();
+                                                        PosMachinesTwo machine = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machinefor.SnId && m.StoreId != tostore.Id && m.BuyUserId == 0 && m.UserId == 0) ?? new PosMachinesTwo();
+                                                        if (machine.Id > 0)
                                                         {
                                                         {
-                                                            StoreStockChangeIdString = "0" + StoreStockChangeIdString;
-                                                        }
-                                                        ChangeNo += StoreStockChangeIdString;
-                                                        stockchange.ChangeNo = ChangeNo; //交易流水编号
-                                                        machine.StoreId = tostorefor.StoreId;
+                                                            StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
+                                                            {
+                                                                CreateDate = DateTime.Now,
+                                                                CreateMan = Operator,
+                                                                StoreId = storefor.StoreId, //仓库
+                                                                BrandId = BrandId, //产品类型
+                                                                ProductName = RelationClass.GetKqProductBrandInfo(BrandId), //产品名称
+                                                                BizBatchNo = BatchNo, //业务批次号
+                                                                TransType = 1, //交易类型
+                                                                SnNo = SnNo, //SN编号
+                                                                StockOpDirect = 1, //库存操作方向
+                                                                SnStatus = 1, //SN状态
+                                                                DeviceVendor = machine.DeviceName, //设备厂商
+                                                                DeviceModel = machine.DeviceKind, //设备型号
+                                                                DeviceType = machine.DeviceType, //设备类型
+                                                                FromUserId = store.UserId, //出货人
+                                                                FromDate = DateTime.Now, //出库时间
+                                                                FromRemark = OutNote, //出库备注
+                                                                ToUserId = tostore.UserId, //收货人
+                                                                ToStoreId = tostorefor.StoreId, //退货收货仓库                        
+                                                                SourceStoreId = machine.SourceStoreId, //源仓库编号
+                                                                BrandType = machine.DeviceType, //品牌类型
+                                                            }).Entity;
+                                                            db.SaveChanges();
+                                                            string ChangeNo = "SC";
+                                                            int StoreStockChangeId = stockchange.Id;
+                                                            string StoreStockChangeIdString = StoreStockChangeId.ToString();
+                                                            for (int j = 0; j < 18 - StoreStockChangeId.ToString().Length; j++)
+                                                            {
+                                                                StoreStockChangeIdString = "0" + StoreStockChangeIdString;
+                                                            }
+                                                            ChangeNo += StoreStockChangeIdString;
+                                                            stockchange.ChangeNo = ChangeNo; //交易流水编号
+                                                            machine.StoreId = tostorefor.StoreId;
 
 
-                                                        db.StoreChangeHistory.Add(new StoreChangeHistory()
-                                                        {
-                                                            CreateDate = DateTime.Now,
-                                                            CreateMan = Operator,
-                                                            UserId = store.UserId, //创客
-                                                            BrandId = BrandId, //产品类型
-                                                            ChangeRecordNo = ChangeNo, //变更记录单号
-                                                            BizBatchNo = BatchNo, //业务批次号
-                                                            TransType = 1, //交易类型
-                                                            SnNo = SnNo, //SN编号
-                                                            SnType = machine.PosSnType, //SN机具类型
-                                                            StockOpDirect = 1, //库存操作方向
-                                                            DeviceVendor = machine.DeviceName, //设备厂商
-                                                            DeviceModel = machine.DeviceKind, //设备型号
-                                                            DeviceType = machine.DeviceType, //设备类型
-                                                            FromUserId = store.UserId, //出货创客
-                                                            FromDate = DateTime.Now, //出库时间
-                                                            FromRemark = OutNote, //出库备注
-                                                            SourceStoreId = machine.SourceStoreId, //源仓库
-                                                            StoreId = store.Id, //仓库
-                                                        });
+                                                            db.StoreChangeHistory.Add(new StoreChangeHistory()
+                                                            {
+                                                                CreateDate = DateTime.Now,
+                                                                CreateMan = Operator,
+                                                                UserId = store.UserId, //创客
+                                                                BrandId = BrandId, //产品类型
+                                                                ChangeRecordNo = ChangeNo, //变更记录单号
+                                                                BizBatchNo = BatchNo, //业务批次号
+                                                                TransType = 1, //交易类型
+                                                                SnNo = SnNo, //SN编号
+                                                                SnType = machine.PosSnType, //SN机具类型
+                                                                StockOpDirect = 1, //库存操作方向
+                                                                DeviceVendor = machine.DeviceName, //设备厂商
+                                                                DeviceModel = machine.DeviceKind, //设备型号
+                                                                DeviceType = machine.DeviceType, //设备类型
+                                                                FromUserId = store.UserId, //出货创客
+                                                                FromDate = DateTime.Now, //出库时间
+                                                                FromRemark = OutNote, //出库备注
+                                                                SourceStoreId = machine.SourceStoreId, //源仓库
+                                                                StoreId = store.Id, //仓库
+                                                            });
 
 
-                                                        db.StoreChangeHistory.Add(new StoreChangeHistory()
-                                                        {
-                                                            CreateDate = DateTime.Now,
-                                                            CreateMan = Operator,
-                                                            UserId = tostore.UserId, //创客
-                                                            BrandId = BrandId, //产品类型
-                                                            ChangeRecordNo = ChangeNo, //变更记录单号
-                                                            BizBatchNo = BatchNo, //业务批次号
-                                                            TransType = 1, //交易类型
-                                                            SnNo = SnNo, //SN编号
-                                                            SnType = machine.PosSnType, //SN机具类型
-                                                            StockOpDirect = 0, //库存操作方向
-                                                            DeviceVendor = machine.DeviceName, //设备厂商
-                                                            DeviceModel = machine.DeviceKind, //设备型号
-                                                            DeviceType = machine.DeviceType, //设备类型
-                                                            ToUserId = tostore.UserId, //收货创客
-                                                            ToStoreId = tostore.Id, //创客退货收货仓库
-                                                            ToDate = DateTime.Now, //入库时间
-                                                            ToRemark = OutNote, //入库备注
-                                                            SourceStoreId = machine.SourceStoreId, //源仓库
-                                                            StoreId = tostore.Id, //仓库
-                                                        });
-                                                        db.SaveChanges();
+                                                            db.StoreChangeHistory.Add(new StoreChangeHistory()
+                                                            {
+                                                                CreateDate = DateTime.Now,
+                                                                CreateMan = Operator,
+                                                                UserId = tostore.UserId, //创客
+                                                                BrandId = BrandId, //产品类型
+                                                                ChangeRecordNo = ChangeNo, //变更记录单号
+                                                                BizBatchNo = BatchNo, //业务批次号
+                                                                TransType = 1, //交易类型
+                                                                SnNo = SnNo, //SN编号
+                                                                SnType = machine.PosSnType, //SN机具类型
+                                                                StockOpDirect = 0, //库存操作方向
+                                                                DeviceVendor = machine.DeviceName, //设备厂商
+                                                                DeviceModel = machine.DeviceKind, //设备型号
+                                                                DeviceType = machine.DeviceType, //设备类型
+                                                                ToUserId = tostore.UserId, //收货创客
+                                                                ToStoreId = tostore.Id, //创客退货收货仓库
+                                                                ToDate = DateTime.Now, //入库时间
+                                                                ToRemark = OutNote, //入库备注
+                                                                SourceStoreId = machine.SourceStoreId, //源仓库
+                                                                StoreId = tostore.Id, //仓库
+                                                            });
+                                                            db.SaveChanges();
 
 
-                                                        // RemoveClass.DeletePosMachineList("PosMachineTwoList:" + storefor.StoreId, machine.Id);
-                                                        // RedisDbconn.Instance.AddList("PosMachineTwoList:" + tostorefor.StoreId, machine);
+                                                            // RemoveClass.DeletePosMachineList("PosMachineTwoList:" + storefor.StoreId, machine.Id);
+                                                            // RedisDbconn.Instance.AddList("PosMachineTwoList:" + tostorefor.StoreId, machine);
 
 
-                                                        if (!storeData.ContainsKey(storefor.StoreId + "_" + BrandId))
-                                                        {
-                                                            storeData.Add(storefor.StoreId + "_" + BrandId, 1);
+                                                            if (!storeData.ContainsKey(storefor.StoreId + "_" + BrandId))
+                                                            {
+                                                                storeData.Add(storefor.StoreId + "_" + BrandId, 1);
+                                                            }
+                                                            else
+                                                            {
+                                                                storeData[storefor.StoreId + "_" + BrandId] += 1;
+                                                            }
+                                                            if (!toStoreData.ContainsKey(tostorefor.StoreId + "_" + BrandId))
+                                                            {
+                                                                toStoreData.Add(tostorefor.StoreId + "_" + BrandId, 1);
+                                                            }
+                                                            else
+                                                            {
+                                                                toStoreData[tostorefor.StoreId + "_" + BrandId] += 1;
+                                                            }
+                                                            SuccessCount += 1;
+                                                            RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
                                                         }
                                                         }
                                                         else
                                                         else
                                                         {
                                                         {
-                                                            storeData[storefor.StoreId + "_" + BrandId] += 1;
-                                                        }
-                                                        if (!toStoreData.ContainsKey(tostorefor.StoreId + "_" + BrandId))
-                                                        {
-                                                            toStoreData.Add(tostorefor.StoreId + "_" + BrandId, 1);
+                                                            RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "不是仓库机或不在填写的收货仓库中");
                                                         }
                                                         }
-                                                        else
+                                                        if (string.IsNullOrEmpty(tostore.ProductName))
                                                         {
                                                         {
-                                                            toStoreData[tostorefor.StoreId + "_" + BrandId] += 1;
+                                                            tostore.BrandId = BrandId.ToString();
+                                                            tostore.ProductName = kqProduct.Name;
                                                         }
                                                         }
-                                                        SuccessCount += 1;
-                                                        RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
                                                     }
                                                     }
                                                     else
                                                     else
                                                     {
                                                     {
-                                                        RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "不是仓库机或不在填写的收货仓库中");
-                                                    }
-                                                    if (string.IsNullOrEmpty(tostore.ProductName))
-                                                    {
-                                                        tostore.BrandId = BrandId.ToString();
-                                                        tostore.ProductName = kqProduct.Name;
+                                                        RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "填写的收货仓库编号不正确");
                                                     }
                                                     }
                                                 }
                                                 }
                                                 else
                                                 else
                                                 {
                                                 {
-                                                    RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "填写的收货仓库编号不正确");
+                                                    RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "所在的仓库" + store.StoreName + "(" + store.StoreNo + ")库存不足");
                                                 }
                                                 }
+                                                db.SaveChanges();
                                             }
                                             }
                                             else
                                             else
                                             {
                                             {
-                                                RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "所在的仓库" + store.StoreName + "(" + store.StoreNo + ")库存不足");
+                                                RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "的品牌填写有误");
                                             }
                                             }
-                                            db.SaveChanges();
                                         }
                                         }
                                         else
                                         else
                                         {
                                         {
-                                            RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "的品牌填写有误");
+                                            RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "出货仓库与填写仓库不符");
                                         }
                                         }
-                                        // }
-                                        // else
-                                        // {
-                                        //     RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "出货仓库与填写仓库不符");
-                                        // }
                                     }
                                     }
                                     DoCount += Size;
                                     DoCount += Size;
                                     foreach (string key in storeData.Keys)
                                     foreach (string key in storeData.Keys)

+ 6 - 1
Areas/Admin/Controllers/MainServer/StoreHouseAmountRecordController.cs

@@ -51,7 +51,7 @@ namespace MySystem.Areas.Admin.Controllers
         /// 分仓机具额度记录列表
         /// 分仓机具额度记录列表
         /// </summary>
         /// </summary>
         /// <returns></returns>
         /// <returns></returns>
-        public JsonResult IndexData(StoreHouseAmountRecord data, string UserIdRealName, string UserIdMakerCode, string AmountTypeSelect, string OperateTypeSelect, int page = 1, int limit = 30)
+        public JsonResult IndexData(StoreHouseAmountRecord data, string UserIdRealName, string UserIdMakerCode, string AmountTypeSelect, string OperateTypeSelect, string ChangeTypeSelect, int page = 1, int limit = 30)
         {
         {
 
 
             Dictionary<string, string> Fields = new Dictionary<string, string>();
             Dictionary<string, string> Fields = new Dictionary<string, string>();
@@ -75,6 +75,11 @@ namespace MySystem.Areas.Admin.Controllers
             {
             {
                 condition += " and AmountType=" + AmountTypeSelect;
                 condition += " and AmountType=" + AmountTypeSelect;
             }
             }
+            //变动类别
+            if (!string.IsNullOrEmpty(ChangeTypeSelect))
+            {
+                condition += " and Sort=" + ChangeTypeSelect;
+            }
             //操作类别
             //操作类别
             if (!string.IsNullOrEmpty(OperateTypeSelect))
             if (!string.IsNullOrEmpty(OperateTypeSelect))
             {
             {

+ 159 - 83
Areas/Admin/Controllers/MainServer/StoreHouseController.cs

@@ -599,7 +599,7 @@ namespace MySystem.Areas.Admin.Controllers
         {
         {
             // RedisDbconn.Instance.AddList("ExcelImport", ExcelPath + "#cut#" + Kind);
             // RedisDbconn.Instance.AddList("ExcelImport", ExcelPath + "#cut#" + Kind);
             string key = function.MD5_16(Guid.NewGuid().ToString());
             string key = function.MD5_16(Guid.NewGuid().ToString());
-            RedisDbconn.Instance.AddList("ExcelImportV2", ExcelPath + "#cut#" + Kind + "#cut#" + key + "#cut#" + SysUserName);
+            RedisDbconn.Instance.AddList("ExcelImportV3", ExcelPath + "#cut#" + Kind + "#cut#" + key + "#cut#" + SysUserName);
             return "success|" + key;
             return "success|" + key;
         }
         }
 
 
@@ -688,10 +688,9 @@ namespace MySystem.Areas.Admin.Controllers
                     StoreForCode storeForCode = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo);
                     StoreForCode storeForCode = db.StoreForCode.FirstOrDefault(m => m.Code == StoreNo);
                     var store = db.StoreHouse.FirstOrDefault(m => m.Id == storeForCode.StoreId && m.BrandId == BrandId) ?? new StoreHouse();
                     var store = db.StoreHouse.FirstOrDefault(m => m.Id == storeForCode.StoreId && m.BrandId == BrandId) ?? new StoreHouse();
                     MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
                     MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
-                    var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0 && m.BuyUserId == userForMakerCode.UserId);
-                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0);
-                    var posInfos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0 && m.StoreId == store.Id);
-                    if (pos == null)
+                    var pos = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0 && m.BuyUserId == userForMakerCode.UserId) ?? new PosMachinesTwo();
+                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0) ?? new PosMachinesTwo();
+                    if (pos.Id == 0)
                     {
                     {
                         error += "以下操作失败" + PosSn + ',' + "未找到创客" + MakerCode + "的该台机具" + '\n';
                         error += "以下操作失败" + PosSn + ',' + "未找到创客" + MakerCode + "的该台机具" + '\n';
                     }
                     }
@@ -699,15 +698,10 @@ namespace MySystem.Areas.Admin.Controllers
                     {
                     {
                         error += "以下操作失败" + PosSn + ',' + StoreNo + ',' + "未找到该仓库" + '\n';
                         error += "以下操作失败" + PosSn + ',' + StoreNo + ',' + "未找到该仓库" + '\n';
                     }
                     }
-                    var user = db.Users.FirstOrDefault(m => m.Id == userForMakerCode.UserId) ?? new Users();
-                    if (posInfo == null)
+                    if (posInfo.Id == 0)
                     {
                     {
                         error += "以下操作失败" + PosSn + ',' + "未找到该品牌的未使用机具" + '\n';
                         error += "以下操作失败" + PosSn + ',' + "未找到该品牌的未使用机具" + '\n';
                     }
                     }
-                    if (posInfos != null)
-                    {
-                        error += "以下操作失败" + PosSn + ',' + "该机具已在仓库:" + StoreNo + '\n';
-                    }
                     if (PosSnList.Contains(PosSn))
                     if (PosSnList.Contains(PosSn))
                     {
                     {
                         error += "以下操作失败" + PosSn + ',' + "该机具号重复" + '\n';
                         error += "以下操作失败" + PosSn + ',' + "该机具号重复" + '\n';
@@ -754,82 +748,164 @@ namespace MySystem.Areas.Admin.Controllers
                     function.WriteLog(text, "机具驳回仓库");//机具驳回仓库日志
                     function.WriteLog(text, "机具驳回仓库");//机具驳回仓库日志
                     db.SaveChanges();
                     db.SaveChanges();
                     MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
                     MachineForSnNo machineForSnNo = db.MachineForSnNo.FirstOrDefault(m => m.SnNo == PosSn) ?? new MachineForSnNo();
-                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0);
+                    var posInfo = db.PosMachinesTwo.FirstOrDefault(m => m.Id == machineForSnNo.SnId && m.BrandId == Convert.ToInt32(BrandId) && m.BindingState == 0 && m.BuyUserId == userForMakerCode.UserId);
                     if (posInfo != null)
                     if (posInfo != null)
                     {
                     {
-                        var changeNo = "JJBH" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
-                        StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
-                        {
-                            CreateDate = DateTime.Now,
-                            StoreId = fromStore.Id, //出货仓库
-                            ToStoreId = toStore.Id, //发货仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            ProductName = RelationClass.GetKqProductBrandInfo(Convert.ToInt32(BrandId)), //产品名称
-                            ChangeNo = changeNo, //变更记录单号
-                            BizBatchNo = No, //业务批次号
-                            TransType = 1, //交易类型
-                            SnNo = PosSn, //SN编号
-                            StockOpDirect = 1, //库存操作方向
-                            SnStatus = 1, //SN状态
-                            DeviceVendor = posInfo.DeviceName, //设备厂商
-                            DeviceModel = posInfo.DeviceKind, //设备型号
-                            DeviceType = posInfo.DeviceType, //设备类型                    
-                            SourceStoreId = posInfo.SourceStoreId, //源仓库编号
-                            BrandType = posInfo.DeviceType, //品牌类型
-                        }).Entity;
-                        db.SaveChanges();
-
-                        db.StoreChangeHistory.Add(new StoreChangeHistory()
-                        {
-                            CreateDate = DateTime.Now,
-                            UserId = user.Id, //创客
-                            StoreId = fromStore.Id, //出货仓库
-                            ToStoreId = toStore.Id, //发货仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            ChangeRecordNo = changeNo, //变更记录单号
-                            SeoTitle = "机具驳回仓库",
-                            BizBatchNo = No, //业务批次号
-                            SnNo = PosSn, //SN编号
-                        });
-                        db.SaveChanges();
-
-                        StoreBalance fbalance = db.StoreBalance.Add(new StoreBalance()
+                        if (fromStore.Id != toStore.Id)
                         {
                         {
-                            CreateDate = DateTime.Now,
-                            StoreId = fromStore.Id, //仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            OpStoreNum = 1, //操作库存数
-                            OpSymbol = "-", //操作符
-                            BeforeTotalNum = fromStore.TotalNum, //操作前总库存数
-                            AfterTotalNum = fromStore.TotalNum - 1, //操作后总库存数
-                            BeforeLaveNum = fromStore.LaveNum, //操作前剩余库存数
-                            AfterLaveNum = fromStore.LaveNum - 1, //操作后剩余库存数
-                            BeforeOutNum = fromStore.OutNum, //操作前出库数
-                            AfterOutNum = fromStore.OutNum - 1, //操作后出库数
-                        }).Entity;
-                        db.SaveChanges();
-
-                        StoreBalance tbalance = db.StoreBalance.Add(new StoreBalance()
+                            var changeNo = "JJBH" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                            StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = fromStore.Id, //出货仓库
+                                ToStoreId = toStore.Id, //发货仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                ProductName = RelationClass.GetKqProductBrandInfo(Convert.ToInt32(BrandId)), //产品名称
+                                ChangeNo = changeNo, //变更记录单号
+                                BizBatchNo = No, //业务批次号
+                                TransType = 4, //交易类型
+                                SnNo = PosSn, //SN编号
+                                StockOpDirect = 1, //库存操作方向
+                                SnStatus = 1, //SN状态
+                                DeviceVendor = posInfo.DeviceName, //设备厂商
+                                DeviceModel = posInfo.DeviceKind, //设备型号
+                                DeviceType = posInfo.DeviceType, //设备类型                    
+                                SourceStoreId = posInfo.SourceStoreId, //源仓库编号
+                                BrandType = posInfo.DeviceType, //品牌类型
+                            }).Entity;
+                            db.SaveChanges();
+
+                            db.StoreChangeHistory.Add(new StoreChangeHistory()
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = user.Id, //创客
+                                StoreId = fromStore.Id, //出货仓库
+                                ToStoreId = toStore.Id, //发货仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                ChangeRecordNo = changeNo, //变更记录单号
+                                SeoTitle = "机具驳回仓库",
+                                BizBatchNo = No, //业务批次号
+                                TransType = 4,//驳回
+                                SnNo = PosSn, //SN编号
+                            });
+                            db.SaveChanges();
+
+                            StoreBalance fbalance = db.StoreBalance.Add(new StoreBalance()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = fromStore.Id, //仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                OpStoreNum = 1, //操作库存数
+                                OpSymbol = "-", //操作符
+                                BeforeTotalNum = fromStore.TotalNum, //操作前总库存数
+                                AfterTotalNum = fromStore.TotalNum - 1, //操作后总库存数
+                                BeforeLaveNum = fromStore.LaveNum, //操作前剩余库存数
+                                AfterLaveNum = fromStore.LaveNum - 1, //操作后剩余库存数
+                                BeforeOutNum = fromStore.OutNum, //操作前出库数
+                                AfterOutNum = fromStore.OutNum - 1, //操作后出库数
+                            }).Entity;
+                            db.SaveChanges();
+
+                            StoreBalance tbalance = db.StoreBalance.Add(new StoreBalance()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = toStore.Id, //仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                OpStoreNum = 1, //操作库存数
+                                OpSymbol = "+", //操作符
+                                BeforeTotalNum = toStore.TotalNum, //操作前总库存数
+                                AfterTotalNum = toStore.TotalNum + 1, //操作后总库存数
+                                BeforeLaveNum = toStore.LaveNum, //操作前剩余库存数
+                                AfterLaveNum = toStore.LaveNum + 1, //操作后剩余库存数
+                                BeforeOutNum = toStore.OutNum, //操作前出库数
+                                AfterOutNum = toStore.OutNum, //操作后出库数
+                            }).Entity;
+                            db.SaveChanges();
+
+                            posInfo.StoreId = toStore.Id;
+                            posInfo.BuyUserId = 0;
+                            toStore.TotalNum += 1;
+                            toStore.LaveNum += 1;
+                            fromStore.TotalNum -= 1;
+                            fromStore.LaveNum -= 1;
+                            db.SaveChanges();
+                        }
+                        else
                         {
                         {
-                            CreateDate = DateTime.Now,
-                            StoreId = toStore.Id, //仓库
-                            BrandId = Convert.ToInt32(BrandId), //产品类型
-                            OpStoreNum = 1, //操作库存数
-                            OpSymbol = "+", //操作符
-                            BeforeTotalNum = toStore.TotalNum, //操作前总库存数
-                            AfterTotalNum = toStore.TotalNum + 1, //操作后总库存数
-                            BeforeLaveNum = toStore.LaveNum, //操作前剩余库存数
-                            AfterLaveNum = toStore.LaveNum + 1, //操作后剩余库存数
-                            BeforeOutNum = toStore.OutNum, //操作前出库数
-                            AfterOutNum = toStore.OutNum, //操作后出库数
-                        }).Entity;
-                        db.SaveChanges();
-
-                        posInfo.StoreId = toStore.Id;
-                        toStore.TotalNum += 1;
-                        toStore.LaveNum += 1;
-                        fromStore.TotalNum -= 1;
-                        fromStore.LaveNum -= 1;
+                            var changeNo = "JJBH" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + function.get_Random(8);
+                            StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = fromStore.Id, //出货仓库
+                                ToStoreId = toStore.Id, //发货仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                ProductName = RelationClass.GetKqProductBrandInfo(Convert.ToInt32(BrandId)), //产品名称
+                                ChangeNo = changeNo, //变更记录单号
+                                BizBatchNo = No, //业务批次号
+                                TransType = 4, //交易类型
+                                SnNo = PosSn, //SN编号
+                                StockOpDirect = 1, //库存操作方向
+                                SnStatus = 1, //SN状态
+                                DeviceVendor = posInfo.DeviceName, //设备厂商
+                                DeviceModel = posInfo.DeviceKind, //设备型号
+                                DeviceType = posInfo.DeviceType, //设备类型                    
+                                SourceStoreId = posInfo.SourceStoreId, //源仓库编号
+                                BrandType = posInfo.DeviceType, //品牌类型
+                            }).Entity;
+                            db.SaveChanges();
+
+                            db.StoreChangeHistory.Add(new StoreChangeHistory()
+                            {
+                                CreateDate = DateTime.Now,
+                                UserId = user.Id, //创客
+                                StoreId = fromStore.Id, //出货仓库
+                                ToStoreId = toStore.Id, //发货仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                ChangeRecordNo = changeNo, //变更记录单号
+                                SeoTitle = "机具驳回仓库",
+                                BizBatchNo = No, //业务批次号
+                                SnNo = PosSn, //SN编号
+                                TransType = 4,//驳回
+                            });
+                            db.SaveChanges();
+
+                            StoreBalance fbalance = db.StoreBalance.Add(new StoreBalance()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = fromStore.Id, //仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                OpStoreNum = 1, //操作库存数
+                                OpSymbol = "-", //操作符
+                                BeforeTotalNum = fromStore.TotalNum, //操作前总库存数
+                                AfterTotalNum = fromStore.TotalNum - 1, //操作后总库存数
+                                BeforeLaveNum = fromStore.LaveNum, //操作前剩余库存数
+                                AfterLaveNum = fromStore.LaveNum - 1, //操作后剩余库存数
+                                BeforeOutNum = fromStore.OutNum, //操作前出库数
+                                AfterOutNum = fromStore.OutNum - 1, //操作后出库数
+                            }).Entity;
+                            db.SaveChanges();
+
+                            StoreBalance tbalance = db.StoreBalance.Add(new StoreBalance()
+                            {
+                                CreateDate = DateTime.Now,
+                                StoreId = toStore.Id, //仓库
+                                BrandId = Convert.ToInt32(BrandId), //产品类型
+                                OpStoreNum = 1, //操作库存数
+                                OpSymbol = "+", //操作符
+                                BeforeTotalNum = toStore.TotalNum, //操作前总库存数
+                                AfterTotalNum = toStore.TotalNum + 1, //操作后总库存数
+                                BeforeLaveNum = toStore.LaveNum, //操作前剩余库存数
+                                AfterLaveNum = toStore.LaveNum + 1, //操作后剩余库存数
+                                BeforeOutNum = toStore.OutNum, //操作前出库数
+                                AfterOutNum = toStore.OutNum, //操作后出库数
+                            }).Entity;
+                            db.SaveChanges();
+
+                            posInfo.StoreId = toStore.Id;
+                            posInfo.BuyUserId = 0;
+                            toStore.LaveNum += 1;
+                            db.SaveChanges();
+                        }
                         db.SaveChanges();
                         db.SaveChanges();
 
 
                     }
                     }

+ 2 - 0
Areas/Admin/Controllers/MainServer/SysToolsController.cs

@@ -1552,6 +1552,7 @@ namespace MySystem.Areas.Admin.Controllers
                     newpos.LeaderUserId = oldpos.LeaderUserId;
                     newpos.LeaderUserId = oldpos.LeaderUserId;
                     newpos.PreUserId = oldpos.PreUserId;
                     newpos.PreUserId = oldpos.PreUserId;
                     newpos.IsFirst = oldpos.IsFirst;
                     newpos.IsFirst = oldpos.IsFirst;
+                    newpos.TransferTime = oldpos.TransferTime;
                 }
                 }
                 else
                 else
                 {
                 {
@@ -1560,6 +1561,7 @@ namespace MySystem.Areas.Admin.Controllers
                     newpos.LeaderUserId = oldpos.LeaderUserId;
                     newpos.LeaderUserId = oldpos.LeaderUserId;
                     newpos.PreUserId = oldpos.PreUserId;
                     newpos.PreUserId = oldpos.PreUserId;
                     newpos.IsFirst = oldpos.IsFirst;
                     newpos.IsFirst = oldpos.IsFirst;
+                    newpos.TransferTime = oldpos.TransferTime;
                 }
                 }
                 db.SaveChanges();
                 db.SaveChanges();
 
 

+ 1 - 0
Areas/Admin/Views/MainServer/StoreChangeHistory/Index.cshtml

@@ -97,6 +97,7 @@
                                 <option value="2">出货</option>
                                 <option value="2">出货</option>
                                 <option value="3">退货</option>
                                 <option value="3">退货</option>
                                 <option value="0">采购</option>
                                 <option value="0">采购</option>
+                                <option value="4">驳回</option>
                             </select>
                             </select>
                         </div>
                         </div>
                     </div>
                     </div>

+ 6 - 6
Areas/Admin/Views/MainServer/StoreHouseAmountRecord/Index.cshtml

@@ -76,13 +76,13 @@
                     <div class="layui-inline">
                     <div class="layui-inline">
                         <label class="layui-form-label">变动类别</label>
                         <label class="layui-form-label">变动类别</label>
                         <div class="layui-input-inline">
                         <div class="layui-input-inline">
-                            <select id="AmountTypeSelect" name="AmountTypeSelect" lay-search="">
+                            <select id="ChangeTypeSelect" name="ChangeTypeSelect" lay-search="">
                                 <option value="">全部...</option>
                                 <option value="">全部...</option>
-                                <option value="0">购买临时额度</option>
-                                <option value="1">增减分仓临时额度</option>
-                                <option value="1">调低额度返回余额</option>
-                                <option value="1">仓库发货,预发机申请</option>
-                                <option value="1">后台仓库调拨</option>
+                                <option value="1">购买临时额度</option>
+                                <option value="2">增减分仓临时额度</option>
+                                <option value="3">调低额度返回余额</option>
+                                <option value="4">仓库发货,预发机申请</option>
+                                <option value="5">后台仓库调拨</option>
                             </select>
                             </select>
                         </div>
                         </div>
                     </div>
                     </div>