|
|
@@ -26,7 +26,7 @@ namespace MySystem
|
|
|
{
|
|
|
while (true)
|
|
|
{
|
|
|
- string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
|
|
|
+ string data = RedisDbconn.Instance.RPop<string>("ExcelImportV2");
|
|
|
// string data = RedisDbconn.Instance.RPop<string>("ExcelImportV3");
|
|
|
if (!string.IsNullOrEmpty(data))
|
|
|
{
|
|
|
@@ -275,165 +275,172 @@ namespace MySystem
|
|
|
int BrandId = int.Parse(function.CheckInt(BrandIdString));
|
|
|
|
|
|
//调拨时若出货仓库与填写仓库不符,则该条出货失败
|
|
|
- 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);
|
|
|
- if (storeinfo != null)
|
|
|
+ var posinfo = db.PosMachinesTwo.FirstOrDefault(m => m.PosSn == SnNo && m.BrandId == BrandId) ?? new PosMachinesTwo();
|
|
|
+ var storeinfo = db.StoreForCode.FirstOrDefault(m => m.Code == OutStoreNo && m.StoreId == posinfo.StoreId) ?? new StoreForCode();
|
|
|
+ if (posinfo.Id > 0)
|
|
|
{
|
|
|
- KqProducts kqProduct = db.KqProducts.FirstOrDefault(m => m.Id == BrandId) ?? new KqProducts();
|
|
|
- if (kqProduct.Id > 0)
|
|
|
+ if (storeinfo.StoreId > 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)
|
|
|
+ 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)
|
|
|
{
|
|
|
- if (machine.PreUserId == 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)
|
|
|
{
|
|
|
- StoreStockChange stockchange = db.StoreStockChange.Add(new StoreStockChange()
|
|
|
+ if (machine.PreUserId == 0)
|
|
|
{
|
|
|
- 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;
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ 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);
|
|
|
|
|
|
- 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;
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "为预发机,不可调拨");
|
|
|
}
|
|
|
- SuccessCount += 1;
|
|
|
- RedisDbconn.Instance.Set("CheckImport:" + checkKey, SuccessCount + " / " + TotalCount);
|
|
|
-
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "为预发机,不可调拨");
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "不是仓库机或已经在填写的收货仓库中");
|
|
|
+ }
|
|
|
+ if (string.IsNullOrEmpty(tostore.ProductName))
|
|
|
+ {
|
|
|
+ tostore.BrandId = BrandId.ToString();
|
|
|
+ tostore.ProductName = kqProduct.Name;
|
|
|
}
|
|
|
}
|
|
|
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
|
|
|
{
|
|
|
- RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "填写的收货仓库编号不正确");
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "所在的仓库" + store.StoreName + "(" + store.StoreNo + ")库存不足");
|
|
|
}
|
|
|
+ db.SaveChanges();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "所在的仓库" + store.StoreName + "(" + store.StoreNo + ")库存不足");
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "的品牌填写有误");
|
|
|
}
|
|
|
- db.SaveChanges();
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "的品牌填写有误");
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "出货仓库与填写仓库不符");
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "出货仓库与填写仓库不符");
|
|
|
+ RedisDbconn.Instance.AddList("ErrList" + checkKey, "机具" + SnNo + "的品牌填写有误");
|
|
|
}
|
|
|
}
|
|
|
DoCount += Size;
|