Exemplo n.º 1
0
 public ActionResult SubmitGoodsInList(List <GoodsEntity> listGoodsEntity)
 {
     if (listGoodsEntity == null)
     {
         return(Error("没有可入库商品信息!请确认存在待入库商品!"));
     }
     using (DbTransaction trans = utity.Transation)
     {
         try
         {
             bool result       = false;
             int  success      = 0;
             var  goodsInCode  = PosBLL.instance.GetBatchNumber("IN");
             var  goodsInEntiy = new GoodsInEntity();
             listGoodsEntity.ForEach(item =>
             {
                 Mapper.Initialize(m => m.CreateMap <GoodsEntity, GoodsInDetailEntity>());
                 var mapGoodsInDetail         = Mapper.Map <GoodsInDetailEntity>(item);
                 mapGoodsInDetail.ID          = Guid.NewGuid();
                 mapGoodsInDetail.GoodsInCode = goodsInCode;
                 if (!UserInfo.Instance.IsAdmin)
                 {
                     mapGoodsInDetail.StoreID = UserInfo.Instance.StoreID;
                 }
                 if (mapGoodsInDetail.ProductionDate <= DateTime.MinValue)
                 {
                     mapGoodsInDetail.ProductionDate = null;
                 }
                 success += StockBLL.Instance.InsertGoodsInDetail(mapGoodsInDetail, trans);
             });
             if (success > 0)
             {
                 goodsInEntiy.GoodsInCode      = goodsInCode;
                 goodsInEntiy.GoodsInDate      = DateTime.Now;
                 goodsInEntiy.GoodsInHumanID   = UserInfo.Instance.ID;
                 goodsInEntiy.GoodsInHumanName = UserInfo.Instance.RealName;
                 goodsInEntiy.GoodsInQuantity  = listGoodsEntity.Sum(item => item.InQuantityStock);
                 goodsInEntiy.GoodsInAmount    = listGoodsEntity.Sum(item => item.InstockAmount);
                 goodsInEntiy.StoreID          = UserInfo.Instance.StoreID;
                 int res = StockBLL.Instance.InsertGoodsIn(goodsInEntiy, trans);
                 result = res > 0;
             }
             if (result)
             {
                 trans.Commit();
                 return(Success($"商品入库成功!共入库{listGoodsEntity.Count()}类商品,{listGoodsEntity.Sum(item => item.InQuantityStock)}件。"));
             }
             else
             {
                 trans.Rollback();
                 return(Error("商品入库失败!"));
             }
         }
         catch (Exception e)
         {
             trans.Rollback();
             return(Error($"商品入库失败。失败原因:{e.Message}"));
         }
     }
 }
Exemplo n.º 2
0
        public static int InsertGoodsIn(GoodsInEntity entity, DbTransaction trans)
        {
            var res = utity.ExecuteNonQuerySp(trans, "usp_InsertGoodsIn", new object[] {
                entity.ID,
                entity.StoreID,
                entity.GoodsInCode,
                entity.GoodsInDate,
                entity.GoodsInQuantity,
                entity.GoodsInAmount,
                entity.GoodsInHumanID,
                entity.GoodsInHumanName,
                entity.Remrks,
                entity.GoodsInType,
                entity.GoodsInTypeName
            });

            return(res);
        }
Exemplo n.º 3
0
 public int InsertGoodsIn(GoodsInEntity entity, DbTransaction trans)
 {
     return(StockDAL.InsertGoodsIn(entity, trans));
 }
Exemplo n.º 4
0
        private void GoodsIn()
        {
            var  msg    = string.Empty;
            bool result = false;

            if (!(gvGoodsInList.RowCount > 0))
            {
                ShowMessage("没有可入库商品,请先添加到到入库列表!");
                return;
            }
            if (cboGoodsInType.EditValue == null)
            {
                ShowMessage("请选择入库类型!");
                return;
            }
            var listGoodsEntity = gvGoodsInList.DataSource as List <GoodsEntity>;

            using (DbTransaction trans = utity.Transation)
            {
                try
                {
                    int success      = 0;
                    var goodsInCode  = PosBLL.instance.GetBatchNumber("IN");
                    var goodsInEntiy = new GoodsInEntity();
                    listGoodsEntity.ForEach(item =>
                    {
                        Mapper.Initialize(m => m.CreateMap <GoodsEntity, GoodsInDetailEntity>());
                        var mapGoodsInDetail         = Mapper.Map <GoodsInDetailEntity>(item);
                        mapGoodsInDetail.ID          = Guid.NewGuid();
                        mapGoodsInDetail.GoodsInCode = goodsInCode;
                        mapGoodsInDetail.StoreID     = UserInfo.Instance.StoreID;
                        if (mapGoodsInDetail.ProductionDate <= DateTime.MinValue)
                        {
                            mapGoodsInDetail.ProductionDate = null;
                        }
                        success += StockBLL.Instance.InsertGoodsInDetail(mapGoodsInDetail, trans);
                    });
                    if (success > 0)
                    {
                        var comboxItem = cboGoodsInType.EditValue as BindUtil.ComboBoxItem;
                        goodsInEntiy.GoodsInCode      = goodsInCode;
                        goodsInEntiy.GoodsInDate      = DateTime.Now;
                        goodsInEntiy.GoodsInHumanID   = UserInfo.Instance.ID;
                        goodsInEntiy.GoodsInHumanName = UserInfo.Instance.RealName;
                        goodsInEntiy.GoodsInQuantity  = listGoodsEntity.Sum(item => item.InQuantityStock);
                        goodsInEntiy.GoodsInAmount    = listGoodsEntity.Sum(item => item.InstockAmount);
                        goodsInEntiy.StoreID          = UserInfo.Instance.StoreID;
                        goodsInEntiy.GoodsInType      = comboxItem.Value.ToInt32();
                        goodsInEntiy.GoodsInTypeName  = comboxItem.Text;
                        goodsInEntiy.Remrks           = txtMemo.Text;
                        int res = StockBLL.Instance.InsertGoodsIn(goodsInEntiy, trans);
                        result = res > 0;
                    }
                    if (result)
                    {
                        trans.Commit();
                        msg = $"商品入库成功!共入库{listGoodsEntity.Count()}类商品,{listGoodsEntity.Sum(item => item.InQuantityStock)}件";
                        ShowMessage(msg);
                        listGoods.Clear();
                        RefreshLoadGrid();
                    }
                    else
                    {
                        trans.Rollback();
                        msg = "商品入库失败";
                        ShowMessage(msg);
                    }
                }
                catch (Exception e)
                {
                    trans.Rollback();
                    msg = $"商品入库失败。失败原因:{e.Message}";
                    ShowMessage(msg);
                }
                WriteLog(new PartialLog
                {
                    Description = msg,
                    ModuleName  = "商品入库",
                    Result      = result?ResultType.success.ToString() : ResultType.error.ToString(),
                    Type        = LogType.CS.ToString()
                });
            }
        }