Пример #1
0
        public void OP_Command(object sender, CommandEventArgs e)
        {
            int    intIdGoods    = Convert.ToInt32(e.CommandArgument);
            int    intIdContract = Convert.ToInt32(ViewState["ContractId"]);
            string strUrl;

            if (e.CommandName == "AddGoods")
            {
                if (!HelperUtility.hasPurviewOP("InventoryContract_update"))
                {
                    HelperUtility.showAlert("没有操作权限", "list.aspx?page=" + ViewState["page"]);
                }
                int         rowIndex     = ((GridViewRow)((Button)sender).NamingContainer).RowIndex;
                GridViewRow row          = gvShow.Rows[rowIndex];
                TextBox     tbAmountFill = (TextBox)row.FindControl("tbAmountFill");
                if (tbAmountFill is null)
                {
                    return;
                }
                Label lblAmountReal  = (Label)row.FindControl("lblAmountReal");
                Label lblAmountStock = (Label)row.FindControl("lblAmountStock");

                ModelInventoryRecord model = new ModelInventoryRecord();
                model.id_contract  = intIdContract;
                model.id_goods     = intIdGoods;
                model.amount_real  = Convert.ToDecimal(lblAmountReal.Text);
                model.amount_stock = Convert.ToDecimal(lblAmountStock.Text);
                model.amount_fill  = Convert.ToDecimal(tbAmountFill.Text);
                BllInventoryRecord.add(model);
            }
            LoadData();
        }
Пример #2
0
        public static int add(ModelInventoryRecord model)
        {
            string strSQL = @"
INSERT INTO inventory_record (
  id_contract,
  id_goods,
  amount_real,
  amount_stock,
  amount_fill
) VALUES (
  @id_contract,
  @id_goods,
  @amount_real,
  @amount_stock,
  @amount_fill
)";

            MySqlParameter[] aryParams = new MySqlParameter[5];
            aryParams[0] = new MySqlParameter("@id_contract", model.id_contract);
            aryParams[1] = new MySqlParameter("@id_goods", model.id_goods);
            aryParams[2] = new MySqlParameter("@amount_real", model.amount_real);
            aryParams[3] = new MySqlParameter("@amount_stock", model.amount_stock);
            aryParams[4] = new MySqlParameter("@amount_fill", model.amount_fill);
            if (HelperMySql.ExecuteNonQuery(strSQL, aryParams) > 0)
            {
                strSQL = "SELECT MAX(id) FROM inventory_record";
                object objReturn = HelperMySql.ExecuteScalar(strSQL);
                return(objReturn == null ? 0 : Convert.ToInt32(objReturn));
            }
            else
            {
                return(0);
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";
            if (context.Request.Params["InventoryContractId"] == null ||
                !HelperUtility.isDecimal(context.Request.Params["InventoryContractId"].ToString()))
            {
                context.Response.Write(HelperUtility.setReturnJson("500", "需要指明盘点单ID!", ""));
                return;
            }
            if (context.Request.Params["GoodsId"] == null ||
                !HelperUtility.isDecimal(context.Request.Params["GoodsId"].ToString()))
            {
                context.Response.Write(HelperUtility.setReturnJson("500", "需要指明盘点货品ID!", ""));
                return;
            }
            if (context.Request.Params["Amount"] == null ||
                !HelperUtility.isDecimal(context.Request.Params["Amount"].ToString()))
            {
                context.Response.Write(HelperUtility.setReturnJson("500", "需要指明货品盘点数量!", ""));
                return;
            }

            int     intCheckoutContractId = Convert.ToInt32(context.Request.Params["CheckoutContractId"]);
            int     intGoodsId            = Convert.ToInt32(context.Request.Params["GoodsId"]);
            decimal dcmAmount             = Convert.ToDecimal(context.Request.Params["Amount"]);

            if (!(intCheckoutContractId > 0 && intGoodsId > 0 && dcmAmount > 0))
            {
                context.Response.Write(HelperUtility.setReturnJson("500", "数字不对!", ""));
                return;
            }
            ModelInventoryRecord model = new ModelInventoryRecord();

            model.id_contract  = intCheckoutContractId;
            model.id_goods     = intGoodsId;
            model.amount_real  = dcmAmount;
            model.amount_stock = dcmAmount;
            model.amount_fill  = dcmAmount;
            int intId = BllInventoryRecord.add(model);

            if (intId > 0)
            {
                context.Response.Write(HelperUtility.setReturnJson("200", "", intId.ToString()));
                return;
            }
            else
            {
                context.Response.Write(HelperUtility.setReturnJson("500", "添加失败,请联系管理员!", ""));
                return;
            }
        }
Пример #4
0
        /// <summary>
        /// 新建某盘点单时,计算某货品的真实库存量,然后将所有真实计算库存量大于0的货品加到盘点货品表里
        /// </summary>
        /// <param name="intContractId">盘点单id</param>
        public static void setInventoryRecord(int intContractId)
        {
            int     intGoodsId;
            decimal dcmAmount, dcmAmountStock, dcmAmountStockReal;
            ModelInventoryRecord model;
            // 查询所有货品
            string    strSQL = @"
SELECT id, amount, amount_stock
FROM sales_goods
ORDER BY time_add DESC
";
            DataTable objDT  = HelperMySql.GetDataTable(strSQL);

            if (objDT == null || objDT.Rows.Count <= 0)
            {
                return;
            }
            // 循环遍历所有货品
            for (int i = 0; i < objDT.Rows.Count; i++)
            {
                intGoodsId     = Convert.ToInt32(objDT.Rows[i]["id"]);
                dcmAmount      = Convert.ToDecimal(objDT.Rows[i]["amount"]);
                dcmAmountStock = Convert.ToDecimal(objDT.Rows[i]["amount_stock"]);
                // 真实库存量
                dcmAmountStockReal = dcmAmount - DalCheckoutRecord.getAmountByGoodsId(intGoodsId);
                // 如果记录的库存量或者计算的真实库存量大于0,就将该货品加到盘点表里
                // if (dcmAmountStock > 0 || dcmAmountStockReal > 0)
                if (dcmAmountStock > 0)
                {
                    model              = new ModelInventoryRecord();
                    model.id_contract  = intContractId;
                    model.id_goods     = intGoodsId;
                    model.amount_real  = dcmAmountStockReal;
                    model.amount_stock = dcmAmountStock;
                    model.amount_fill  = 0;
                    add(model);
                    // 将某货品的库存清零
                    // DalSalesGoods.clearAmountStock(intGoodsId);
                }
            }
        }
Пример #5
0
        public static void update(ModelInventoryRecord model)
        {
            string strSQL = @"
UPDATE inventory_record
SET
  id_contract = @id_contract,
  id_goods = @id_goods,
  amount_real = @amount_real,
  amount_stock = @amount_stock,
  amount_fill = @amount_fill
WHERE
  id = @id
";

            MySqlParameter[] aryParams = new MySqlParameter[6];
            aryParams[0] = new MySqlParameter("@id_contract", model.id_contract);
            aryParams[1] = new MySqlParameter("@id_goods", model.id_goods);
            aryParams[2] = new MySqlParameter("@amount_real", model.amount_real);
            aryParams[3] = new MySqlParameter("@amount_stock", model.amount_stock);
            aryParams[4] = new MySqlParameter("@amount_fill", model.amount_fill);
            aryParams[5] = new MySqlParameter("@id", model.id);
            HelperMySql.ExecuteNonQuery(strSQL, aryParams);
        }
Пример #6
0
        public static ModelInventoryRecord getById(int intId)
        {
            string strSQL = @"SELECT * FROM inventory_record WHERE id = @id";

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

            if (objDT != null && objDT.Rows.Count > 0)
            {
                ModelInventoryRecord model = new ModelInventoryRecord();
                model.id           = Convert.ToInt32(objDT.Rows[0]["id"]);
                model.id_contract  = Convert.ToInt32(objDT.Rows[0]["id_contract"]);
                model.id_goods     = Convert.ToInt32(objDT.Rows[0]["id_goods"]);
                model.amount_real  = Convert.ToDecimal(objDT.Rows[0]["amount_real"]);
                model.amount_stock = Convert.ToDecimal(objDT.Rows[0]["amount_stock"]);
                model.amount_fill  = Convert.ToDecimal(objDT.Rows[0]["amount_fill"]);
                return(model);
            }
            else
            {
                return(null);
            }
        }
Пример #7
0
 public static int add(ModelInventoryRecord model)
 {
     return(DalInventoryRecord.add(model));
 }
Пример #8
0
 public static void update(ModelInventoryRecord model)
 {
     DalInventoryRecord.update(model);
 }