private void DoShelfMissionProduct(BarcodeTypeInfo model) { try { ShelfMissionProductQueueInfo item = JsonConvert.DeserializeObject <ShelfMissionProductQueueInfo>(model.TypeBody); var spBll = new StockProduct(); var spInfo = spBll.GetModel(Guid.Empty, item.ProductId); if (spInfo == null) { throw new ArgumentException(string.Format("货品({0})未入库!", item.ProductId)); } var stepList = spInfo.StepCode.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList(); var currStepCode = ((int)EnumData.EnumStep.架).ToString(); var currStepName = EnumData.EnumStep.架.ToString(); if (!stepList.Contains(currStepCode)) { stepList.Add(currStepCode); } spInfo.UnQty -= item.Qty; if (spInfo.UnQty < 0) { throw new ArgumentException(string.Format("货品({0})上架数量({1})超出范围!", item.ProductId, item.Qty)); } spInfo.Qty += item.Qty; spInfo.StepCode = string.Join(",", stepList); spInfo.LastStepName = currStepName; spInfo.LastUpdatedDate = DateTime.Now; spInfo.StockLocations = JsonConvert.SerializeObject(item.StockLocationList); spBll.Update(spInfo); } catch (Exception ex) { new CustomException(ex.Message, ex); } }
public void Send(BarcodeTypeInfo model) { base.transactionType = MessageQueueTransactionType.Single; base.Send(model); }
public void Insert(BarcodeTypeInfo model) { barcodeScanQueue.Send(model); }