Пример #1
0
        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);
            }
        }
Пример #2
0
 public void Send(BarcodeTypeInfo model)
 {
     base.transactionType = MessageQueueTransactionType.Single;
     base.Send(model);
 }
Пример #3
0
 public void Insert(BarcodeTypeInfo model)
 {
     barcodeScanQueue.Send(model);
 }