コード例 #1
0
ファイル: frmGoodsIn.cs プロジェクト: zhengqiao520/PosSystem
        private void gridView2_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            var handler = gridView2.FocusedRowHandle;

            if (handler < 0)
            {
                return;
            }
            var entityId = gridView2.GetRowCellValue(handler, "ID");

            if (entityId == null)
            {
                return;
            }

            int goodsOutID = int.Parse(entityId.ToString());
            var entity     = this.goodsOutHistory.FirstOrDefault(g => g.ID == goodsOutID);

            if (entity == null || entity == selectedHistoryGoodsOutEntity)
            {
                return;
            }
            else
            {
                selectedHistoryGoodsOutEntity = entity;
                LoadHistoryDetailGrid();
            }
        }
コード例 #2
0
ファイル: frmGoodsIn.cs プロジェクト: zhengqiao520/PosSystem
        private void gvGoodsOutList_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
        {
            var handler = gvGoodsOutList.FocusedRowHandle;

            if (handler < 0)
            {
                return;
            }
            var entityId = gvGoodsOutList.GetRowCellValue(handler, "ID");

            if (entityId == null)
            {
                return;
            }

            int goodsOutID = int.Parse(entityId.ToString());
            var entity     = this.pendingGoodsOutList.FirstOrDefault(g => g.ID == goodsOutID);

            if (entity == null || entity == selectedGoodsOutEntity)
            {
                return;
            }
            else
            {
                selectedGoodsOutEntity = entity;
                simpleButton1.Enabled  = selectedGoodsOutEntity.Status == 1;
                simpleButton2.Enabled  = selectedGoodsOutEntity.Status == 1;
                LoadDetailGrid();
            }
        }
コード例 #3
0
        public static int MaintainGoodsOutStatus(GoodsOutEntity entity, int status, Guid?receiverUserID)
        {
            var res = utity.ExecuteNonQuerySp("usp_MaintainGoodsOutStatus", new object[] {
                entity.ID,
                status,
                receiverUserID
            });

            return(res);
        }
コード例 #4
0
        public static int InsertGoodsOut(GoodsOutEntity entity, DbTransaction trans)
        {
            var res = utity.ExecuteNonQuerySp(trans, "usp_InsertGoodsOut", new object[] {
                entity.ID,
                entity.StoreID,
                entity.ReceiverStoreID,
                entity.GoodsOutCode,
                entity.GoodsOutDate,
                entity.GoodsOutQuantity,
                entity.GoodsOutHumanID,
                entity.GoodsOutHumanName,
                entity.GoodsOutType,
                entity.GoodsOutTypeName,
                entity.Remrks
            });

            return(res);
        }
コード例 #5
0
        private void GoodsOut()
        {
            var  msg    = string.Empty;
            bool result = false;

            if (!(gvGoodsOutList.RowCount > 0))
            {
                ShowMessage("没有可出库商品,请先添加到到出库列表!");
                return;
            }
            if (cboGoosOutType.EditValue == null)
            {
                ShowMessage("请选择出库类型!");
                cboGoosOutType.Focus();
                return;
            }
            if (cboReciveStore.EditValue == null)
            {
                ShowMessage("请选择接收门店!");
                cboReciveStore.Focus();
                return;
            }
            using (DbTransaction trans = utity.Transation)
            {
                var listGoodsEntity = gvGoodsOutList.DataSource as List <GoodsOutDetailEntity>;
                try
                {
                    int success      = 0;
                    var goodsOutCode = PosBLL.instance.GetBatchNumber("OT");
                    listGoodsEntity.ForEach(item =>
                    {
                        var mapGoodsOutDetail          = item;
                        mapGoodsOutDetail.ID           = Guid.NewGuid();
                        mapGoodsOutDetail.GoodsOutCode = goodsOutCode;
                        var receiver = (cboReciveStore.EditValue as BindUtil.ComboBoxItem);
                        mapGoodsOutDetail.ReceiverStoreId = receiver.Value.ToInt32();

                        success += StockBLL.Instance.InsertGoodsOutDetail(mapGoodsOutDetail, trans);
                        if (success <= 0)
                        {
                            throw new Exception(string.Format("商品({0})调拨失败,请确认接收方是否已授权并入库后重试", item.Name));
                        }
                    });
                    if (success > 0)
                    {
                        var outType       = (cboGoosOutType.EditValue as BindUtil.ComboBoxItem);
                        var receiver      = (cboReciveStore.EditValue as BindUtil.ComboBoxItem);
                        var goodsOutEntiy = new GoodsOutEntity()
                        {
                            GoodsOutCode      = goodsOutCode,
                            GoodsOutDate      = DateTime.Now,
                            GoodsOutHumanID   = UserInfo.Instance.ID,
                            GoodsOutHumanName = UserInfo.Instance.RealName,
                            GoodsOutQuantity  = listGoodsEntity.Sum(item => item.OutQuantityStock),

                            StoreID          = (int)UserInfo.Instance.StoreID,
                            ReceiverStoreID  = receiver.Value.ToInt32(),
                            GoodsOutType     = outType.Value.ToInt32(),
                            GoodsOutTypeName = outType.Text.Trim(),
                            Remrks           = txtRemark.EditValue.ToString()
                        };
                        result = StockBLL.Instance.InsertGoodsOut(goodsOutEntiy, trans) > 0;
                    }
                    if (result)
                    {
                        trans.Commit();
                        msg = $"商品出库成功!共出库{listGoodsEntity.Count()}类商品,{listGoodsEntity.Sum(item => item.OutQuantityStock)}件";
                        ShowMessage(msg);
                        //listGoods.Clear();
                        //ReloadGrid();
                        AfterCreated?.Invoke();
                        this.Close();
                    }
                    else
                    {
                        trans.Rollback();
                        msg = "商品出库失败";
                        ShowMessage("商品出库失败");
                    }
                }
                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()
                });
            }
        }
コード例 #6
0
ファイル: StockBLL.cs プロジェクト: zhengqiao520/PosSystem
 public int MaintainGoodsOutStatus(GoodsOutEntity entity, int status, Guid?receiverUserId = null)
 {
     return(StockDAL.MaintainGoodsOutStatus(entity, status, receiverUserId));
 }
コード例 #7
0
ファイル: StockBLL.cs プロジェクト: zhengqiao520/PosSystem
 public int InsertGoodsOut(GoodsOutEntity entity, DbTransaction trans)
 {
     return(StockDAL.InsertGoodsOut(entity, trans));
 }