Beispiel #1
0
        /// <summary>
        /// 得到某个出库单下所有货品的总价
        /// </summary>
        /// <param name="intContractId">出库单id</param>
        /// <returns>某个出库单下所有货品的总价</returns>
        public static decimal getPriceTotal(int intContractId)
        {
            string strSQL = @"
SELECT id_goods, amount
FROM checkout_record
WHERE id_contract = @id_contract";

            MySqlParameter[] aryParams = new MySqlParameter[1];
            aryParams[0] = new MySqlParameter("@id_contract", intContractId);
            DataTable objDT = HelperMySql.GetDataTable(strSQL, aryParams);

            if (objDT == null || objDT.Rows.Count <= 0)
            {
                return(0);
            }
            int             intGoodsId    = 0;
            decimal         dcmAmount     = 0;
            decimal         dcmPriceUnit  = 0;
            decimal         dcmPriceTotal = 0;
            ModelSalesGoods modelSalesGoods;

            for (int i = 0; i < objDT.Rows.Count; i++)
            {
                intGoodsId      = Convert.ToInt32(objDT.Rows[i]["id_goods"]);
                dcmAmount       = Convert.ToDecimal(objDT.Rows[i]["amount"]);
                modelSalesGoods = DalSalesGoods.getById(intGoodsId);
                dcmPriceUnit    = modelSalesGoods != null ? modelSalesGoods.price_unit : 0;
                dcmPriceTotal  += dcmPriceUnit * dcmAmount;
            }
            return(dcmPriceTotal);
        }
        /// <summary>
        /// 将某盘点单中所有货品的库存量全部清0
        /// </summary>
        /// <param name="intContractId">盘点单id</param>
        public static void clearZero(int intContractId)
        {
            int intGoodsId;
            // 找出所有在此盘点单中的货品
            string strSQL = @"
SELECT goods.id, goods.amount_stock
FROM sales_goods goods
LEFT JOIN inventory_record inventory
ON inventory.id_goods = goods.id
WHERE inventory.id_contract = @id_contract
";

            MySqlParameter[] aryParams = new MySqlParameter[1];
            aryParams[0] = new MySqlParameter("@id_contract", intContractId);
            DataTable objDT = HelperMySql.GetDataTable(strSQL, aryParams);

            if (objDT == null || objDT.Rows.Count <= 0)
            {
                return;
            }
            for (int i = 0; i < objDT.Rows.Count; i++)
            {
                intGoodsId = Convert.ToInt32(objDT.Rows[i]["id"]);
                // 执行清零操作
                DalSalesGoods.clearAmountStock(intGoodsId);
            }
        }