Ejemplo n.º 1
0
        private void SaveItem()
        {
            // 从每个选中的行中获取ID(在Grid1中定义的DataKeyNames)
            List <int>    ids                     = GetSelectedDataKeyIDs(Grid1);
            tm_Goods      goodsEntity             = new tm_Goods();
            WHGoodsDetail whGoodsEntity           = new WHGoodsDetail();
            tm_GoodsAllocationBillDetail dbEntity = new tm_GoodsAllocationBillDetail();

            // 执行数据库操作
            foreach (int ID in ids)
            {
                //获取库存物品信息
                whGoodsEntity = Core.Container.Instance.Resolve <IServiceWHGoodsDetail>().GetEntity(ID);
                if (whGoodsEntity != null)
                {
                    goodsEntity = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(whGoodsEntity.GoodsID);
                    //判断是否已经添加改商品物品
                    if (!IsExists(ID))
                    {
                        dbEntity             = new tm_GoodsAllocationBillDetail();
                        dbEntity.OrderNO     = OrderNO;
                        dbEntity.GoodsID     = whGoodsEntity.GoodsID;
                        dbEntity.GoodsType   = whGoodsEntity.GoodsTypeID;
                        dbEntity.GoodsNumber = 1;
                        dbEntity.GoodsPrice  = goodsEntity.GoodsPrice;
                        dbEntity.GoodsAmount = goodsEntity.GoodsPrice;
                        dbEntity.OrderDate   = DateTime.Now;

                        Core.Container.Instance.Resolve <IServiceGoodsAllocationBillDetail>().Create(dbEntity);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        private void SaveItem()
        {
            // 从每个选中的行中获取ID(在Grid1中定义的DataKeyNames)
            List <int>        ids         = GetSelectedDataKeyIDs(Grid1);
            tm_Goods          goodsEntity = new tm_Goods();
            tm_DishesBatching dbEntity    = new tm_DishesBatching();
            tm_Dishes         dishesInfo  = Core.Container.Instance.Resolve <IServiceDishes>().GetEntity(DishesID);

            // 执行数据库操作
            foreach (int ID in ids)
            {
                goodsEntity = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(ID);
                //判断是否已经添加改配料物品
                if (!IsExists(ID))
                {
                    dbEntity = new tm_DishesBatching();
                    dbEntity.BatchingName   = goodsEntity.GoodsName;
                    dbEntity.DishesInfo     = dishesInfo;
                    dbEntity.GoodsCode      = goodsEntity.GoodsCode.ToString();
                    dbEntity.GoodsID        = goodsEntity.ID;
                    dbEntity.IsOffset       = int.Parse(rbtnIsStock.SelectedValue);
                    dbEntity.UsingUnit      = goodsEntity.ConsumeUnit;
                    dbEntity.UsingCount     = 1;
                    dbEntity.UsingUnitPrice = goodsEntity.GoodsPrice / goodsEntity.ConsumeNum;
                    dbEntity.CostPrice      = goodsEntity.GoodsPrice / goodsEntity.ConsumeNum;
                    dbEntity.WareHouseID    = int.Parse(ddlWH.SelectedValue);
                    Core.Container.Instance.Resolve <IServiceDishesBatching>().Create(dbEntity);
                }
            }
        }
Ejemplo n.º 3
0
        private void SetSelectedUsersEnableStatus(bool enabled)
        {
            string isUsed = enabled ? "2" : "1";
            // 从每个选中的行中获取ID(在Grid1中定义的DataKeyNames)
            List <int> ids = GetSelectedDataKeyIDs(Grid1);

            // 执行数据库操作
            foreach (int ID in ids)
            {
                tm_Goods entity = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(ID);
                entity.IsUsed = int.Parse(isUsed);
                //entity.GoodsPY = GetChinesePY(entity.GoodsName);
                Core.Container.Instance.Resolve <IServiceGoods>().Update(entity);
            }
            // 重新绑定表格
            BindGrid();
        }
Ejemplo n.º 4
0
 public void Bind()
 {
     if (InfoID > 0)
     {
         tm_Goods GoodsInfo = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(InfoID);
         txtCostName.Text          = GoodsInfo.GoodsName;                        //商品名称
         ddlCostType.SelectedValue = GoodsInfo.GoodsTypeID.ToString();           //商品类别
         lblCode.Text                  = GoodsInfo.GoodsCode.ToString();         //商品编码
         lblPY.Text                    = GoodsInfo.GoodsPY;                      //商品拼音
         ddlIsUsed.SelectedValue       = GoodsInfo.IsUsed.ToString();            //是否启用
         ddlUnit.SelectedValue         = GoodsInfo.GoodsUnit;                    //标准单位
         ddlTaxPoint.SelectedValue     = GoodsInfo.TaxPoint.ToString();          //税率
         txtPrice.Text                 = GoodsInfo.GoodsPrice.ToString();        //商品价格
         txtFormat.Text                = GoodsInfo.GoodsFormat;                  //商品规格描述
         ddlPD.SelectedValue           = GoodsInfo.InventoryType;                //盘点类型
         txtConsumNum.Text             = GoodsInfo.ConsumeNum.ToString();        //消耗换算值
         ddlConsumeUnit.SelectedValue  = GoodsInfo.ConsumeUnit;                  //消耗换算单位
         txtPurchaseNum.Text           = GoodsInfo.PurchaseNum.ToString();       //采购换算值
         ddlPurchaseUnit.SelectedValue = GoodsInfo.PurchaseUnit;                 //采购换算单位
         txtOrderNum.Text              = GoodsInfo.OrderNum.ToString();          //订货换算值
         ddlOrderUnit.SelectedValue    = GoodsInfo.OrderUnit;                    //订货换算单位
         txtGoodsBarCode.Text          = GoodsInfo.GoodsBarCode;
     }
     else
     {
         //获取当前最大编号
         IList <tm_Goods> list = Core.Container.Instance.Resolve <IServiceGoods>().GetAll();
         if (list.Count > 0)
         {
             tm_Goods maxGoods = list.ToList().OrderByDescending(objs => objs.GoodsCode).First();
             lblCode.Text = (maxGoods.GoodsCode + 1).ToString();
         }
         else
         {
             lblCode.Text = "100001";
         }
     }
     if (IsView > 0)
     {
         btnSaveClose.Visible = false;
     }
 }
Ejemplo n.º 5
0
        private void SaveItem()
        {
            tm_Goods GoodsInfo = new tm_Goods();

            if (InfoID > 0)
            {
                GoodsInfo = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(InfoID);
            }

            GoodsInfo.GoodsName   = txtCostName.Text;                              //商品名称
            GoodsInfo.GoodsTypeID = int.Parse(ddlCostType.SelectedValue);          //商品类别
            GoodsInfo.GoodsCode   = int.Parse(lblCode.Text);                       //商品编码
            GoodsInfo.GoodsPY     = lblPY.Text;                                    //商品拼音
            GoodsInfo.IsUsed      = int.Parse(ddlIsUsed.SelectedValue);            //是否启用
            GoodsInfo.GoodsUnit   = ddlUnit.SelectedValue;                         //标准单位
            GoodsInfo.TaxPoint    = int.Parse(ddlTaxPoint.SelectedValue);          //税率
            //商品价格
            GoodsInfo.GoodsPrice    = !string.IsNullOrEmpty(txtPrice.Text) ? decimal.Parse(txtPrice.Text) : 0;
            GoodsInfo.GoodsFormat   = txtFormat.Text;                              //商品规格描述
            GoodsInfo.InventoryType = ddlPD.SelectedValue;                         //盘点类型
            GoodsInfo.ConsumeNum    = int.Parse(txtConsumNum.Text);                //消耗换算值
            GoodsInfo.ConsumeUnit   = ddlConsumeUnit.SelectedValue;                //消耗换算单位
            GoodsInfo.PurchaseNum   = int.Parse(txtPurchaseNum.Text);              //采购换算值
            GoodsInfo.PurchaseUnit  = ddlPurchaseUnit.SelectedValue;               //采购换算单位
            GoodsInfo.OrderNum      = int.Parse(txtOrderNum.Text);                 //订货换算值
            GoodsInfo.OrderUnit     = ddlOrderUnit.SelectedValue;                  //订货换算单位
            GoodsInfo.GoodsPY       = GetChinesePY(txtCostName.Text.Trim());
            GoodsInfo.GoodsBarCode  = txtGoodsBarCode.Text;

            if (InfoID > 0)
            {
                Core.Container.Instance.Resolve <IServiceGoods>().Update(GoodsInfo);
            }
            else
            {
                Core.Container.Instance.Resolve <IServiceGoods>().Create(GoodsInfo);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 商品出库处理
        /// </summary>
        /// <param name="whID">库房编号</param>
        /// <returns></returns>
        private bool SaveItem(int whID)
        {
            //获取消费订单信息
            tm_TabieUsingInfo tabieUsingInfo = Core.Container.Instance.Resolve <IServiceTabieUsingInfo>().GetEntity(TabieUsingID);
            //检查系统设置是否做库存处理
            bool IsStock = bool.Parse(ConfigurationManager.AppSettings["IsStock"]);

            if (IsStock)
            {
                //获取销售仓库信息
                WareHouse houseInfo = Core.Container.Instance.Resolve <IServiceWareHouse>().GetEntity(whID);
                //如果仓库存在
                if (houseInfo != null)
                {
                    #region  出库单信息

                    // 出库单信息
                    tm_WHOutBoundOrder storageOrder = new tm_WHOutBoundOrder();
                    storageOrder.BOrderNO    = tabieUsingInfo.OrderNO;
                    storageOrder.Operator    = User.Identity.Name;
                    storageOrder.OrderAmount = 0;
                    storageOrder.OrderNumber = 0;
                    storageOrder.OrderDate   = (DateTime)tabieUsingInfo.ClearTime;
                    storageOrder.OrderNO     = string.Format("CK{0}", DateTime.Now.ToString("yyyyMMddHHmmss"));
                    storageOrder.OrderType   = 6;
                    storageOrder.WareHouseID = houseInfo.ID;
                    storageOrder.OutOrderNO  = "";
                    storageOrder.Remark      = "消费出库";

                    //获取订单商品明细,生成出库商品明细信息
                    string sql = string.Format("SELECT GoodsID,sum(UsedCount) as UsedCount FROM tm_dinnerTemp WHERE TabieUsingID={0} and WHID={1}  GROUP BY TabieUsingID,WHID,GoodsID "
                                               , TabieUsingID, whID);
                    DataSet dsGoods = DbHelperMySQL.Query(sql);
                    if (dsGoods.Tables[0] != null)
                    {
                        //写入出库商品明细
                        foreach (DataRow detail in dsGoods.Tables[0].Rows)
                        {
                            decimal goodsAmount = 0;
                            decimal goodsCount  = 0;
                            int     goodsID     = int.Parse(detail["GoodsID"].ToString());
                            //获取商品信息
                            tm_Goods goodsInfo = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(goodsID);
                            //计算消耗转换标准的数量
                            decimal amount = Math.Round(decimal.Parse(detail["UsedCount"].ToString()) / goodsInfo.ConsumeNum, 2);
                            goodsCount = amount;
                            storageOrder.OrderNumber += amount;
                            //根据批次号获取出库商品信息
                            //List<tm_whgoodsorderbatch> batchList = new InventoryHelper().GetGoodsByBatchInfo(houseInfo.ID, goodsID);
                            ////按照批次依次出库
                            //foreach (tm_whgoodsorderbatch batchInfo in batchList)
                            //{
                            //    tm_WHOrderGoodsDetail orderDetail = new tm_WHOrderGoodsDetail();
                            //    orderDetail.GoodsID = goodsID;
                            //    orderDetail.GoodsUnit = goodsInfo.GoodsUnit;
                            //    orderDetail.OrderDate = storageOrder.OrderDate;
                            //    orderDetail.OrderNO = storageOrder.OrderNO;
                            //    orderDetail.TaxAmount = 0;
                            //    orderDetail.TaxPoint = goodsInfo.TaxPoint;
                            //    orderDetail.TotalPriceNoTax = 0;
                            //    orderDetail.UnitPriceNoTax = 0;


                            //    //如果当前批次剩余库存大于等于销售商品的销售数量
                            //    if (batchInfo.CurrentNumber >= amount)
                            //    {
                            //        orderDetail.GoodsNumber = amount;
                            //        amount = 0;
                            //    }
                            //    else
                            //    {
                            //        orderDetail.GoodsNumber = batchInfo.CurrentNumber;
                            //        amount -= batchInfo.CurrentNumber;
                            //    }
                            //    //获取出库单价和金额
                            //    orderDetail.GoodsUnitPrice = batchInfo.OrderUnitPrice;
                            //    orderDetail.GoodTotalPrice = Math.Round(orderDetail.GoodsNumber * orderDetail.GoodsUnitPrice, 2);
                            //    //保存出库明细信息
                            //    Core.Container.Instance.Resolve<IServiceWHOrderGoodsDetail>().Create(orderDetail);

                            //    //更新进货批次库存信息
                            //    new InventoryHelper().UpdateGoodsBatchInfo(houseInfo.ID, goodsID, batchInfo.BatchNO, orderDetail.GoodsNumber);
                            //    //更新商品变动明细信息(出库)
                            //    new InventoryHelper().UpdateGoodsJournal(houseInfo.ID, goodsID, storageOrder.OrderNO, "XF", 2
                            //                                             , -orderDetail.GoodsNumber, batchInfo.OrderUnitPrice
                            //                                             , -orderDetail.GoodTotalPrice, batchInfo.BatchNO
                            //                                             , DateTime.Now);

                            //    //累计计算订单成本金额
                            //    goodsAmount += orderDetail.GoodTotalPrice;
                            //    storageOrder.OrderAmount += orderDetail.GoodTotalPrice;

                            //    //判断该商品是否完成订单数量的出库
                            //    if (amount <= 0)
                            //    {
                            //        break;
                            //    }
                            //}
                            //更新商品库存信息
                            new InventoryHelper().UpdateWareHouseStock(houseInfo.ID, goodsID, -goodsCount, 0, -goodsAmount, 0);
                        }
                        //创建出库单信息
                        Core.Container.Instance.Resolve <IServiceWHOutBoundOrder>().Create(storageOrder);
                    }

                    #endregion
                }
                else
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 7
0
        //获取单位
        public string GetUnitName(string id)
        {
            tm_Goods supplierInfo = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(int.Parse(id));

            return(GetSystemEnumValue("WPDW", supplierInfo.GoodsUnit));
        }
Ejemplo n.º 8
0
        //获取单位
        public string GetGoodCode(string id)
        {
            tm_Goods supplierInfo = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(int.Parse(id));

            return(supplierInfo != null?supplierInfo.GoodsCode.ToString() : "");
        }
Ejemplo n.º 9
0
        public string GetGoodsName(string ID)
        {
            tm_Goods entity = Core.Container.Instance.Resolve <IServiceGoods>().GetEntity(Int32.Parse(ID));

            return(entity == null ? "" : entity.GoodsName);
        }