protected void btnSave_Click(object sender, EventArgs e) { //校验 if (!DbHelperOra.Exists("SELECT 1 FROM DAT_STOCK_IMP WHERE LRY = '" + UserAction.UserID + "' AND FLAG = 'Y'")) { Alert.Show("不存在可生成单据的数据,请检查!", "提示信息", MessageBoxIcon.Warning); return; } if (!DbHelperOra.Exists("SELECT 1 FROM DOC_SUPPLIER WHERE SUPID = '00001'")) { Alert.Show("未定义医院供应商【00001】,请检查!", "提示信息", MessageBoxIcon.Warning); return; } OracleParameter[] param = { new OracleParameter("V_USER", OracleDbType.Varchar2, 20), new OracleParameter("V_TYPE", OracleDbType.Varchar2, 20), }; param[0].Value = UserAction.UserID; param[1].Value = ddlTYPE.SelectedValue; try { DbHelperOra.RunProcedure("P_STOCK_IMP", param); Alert.Show("提交成功,已生成对应单据信息!", "提示信息", MessageBoxIcon.Information); GridStock.DataSource = null; GridStock.DataBind(); btnSave.Enabled = false; } catch (Exception ex) { Alert.Show(ex.Message, "错误", MessageBoxIcon.Error); } }
protected void btnSave_Click(object sender, EventArgs e) { //校验 if (!DbHelperOra.Exists("SELECT 1 FROM dat_sl_imp WHERE LRY = '" + UserAction.UserID + "' AND FLAG = 'N'")) { Alert.Show("不存在可生成单据的数据,请检查!", "提示信息", MessageBoxIcon.Warning); return; } OracleParameter[] parameters = new OracleParameter[] { new OracleParameter("V_USER", OracleDbType.Varchar2), new OracleParameter("V_OPER", OracleDbType.Varchar2), new OracleParameter("V_SEQNO", OracleDbType.Varchar2), }; parameters[0].Value = UserAction.UserID; parameters[1].Value = @"SL_SUMBIT"; parameters[2].Value = hfdseqno.Text; try { DbHelperOra.RunProcedure("P_SL_IMPORT", parameters); Alert.Show("提交成功,已生成对应单据信息!", "提示信息", MessageBoxIcon.Information); GridStock.DataSource = null; GridStock.DataBind(); btnSave.Enabled = false; } catch (Exception ex) { Alert.Show(ex.Message, "错误", MessageBoxIcon.Error); } }
protected void btnData_Click(object sender, EventArgs e) { try { Total = 0; string cond = "", grpBy = ""; cond = getCond(); getGrpByAndSelCols(); BusinessLogic objBL = new BusinessLogic(sDataSource); DataSet ds = new DataSet(); ds = objBL.getStock(selCols, cond, grpBy); GridStock.DataSource = ds; GridStock.DataBind(); //var lblTotalQty = GridStock.FooterRow.FindControl("lblTotalQty") as Label; //if (lblTotalQty != null) //{ // lblTotalQty.Text = Total.ToString(); //} var lblTotalRate = GridStock.FooterRow.FindControl("lblTotalRate") as Label; if (lblTotalRate != null) { lblTotalRate.Text = Total.ToString(); } var lblVaule = GridStock.FooterRow.FindControl("lblVaule") as Label; if (lblVaule != null) { lblVaule.Text = Total.ToString(); } } catch (Exception ex) { TroyLiteExceptionManager.HandleException(ex); } }
protected void btnSave_Click(object sender, EventArgs e) { //校验 if (!DbHelperOra.Exists("SELECT 1 FROM IMP_DOC_GOODS WHERE IMPOPER = '" + UserAction.UserID + "' AND STR3 = 'Y'")) { Alert.Show("不存在可导入的数据,请检查!", "提示信息", MessageBoxIcon.Warning); return; } if (!DbHelperOra.Exists("SELECT 1 FROM DOC_SUPPLIER WHERE SUPID = '00001'")) { Alert.Show("未定义医院供应商【00001】,请检查!", "提示信息", MessageBoxIcon.Warning); return; } OracleParameter[] param = { new OracleParameter("V_USER", OracleDbType.Varchar2, 20), new OracleParameter("V_TYPE", OracleDbType.Varchar2, 20), new OracleParameter("V_CATID0", OracleDbType.Varchar2, 1) }; param[0].Value = UserAction.UserID; param[1].Value = "INS"; param[2].Value = string.IsNullOrWhiteSpace(ddlCATID0.SelectedValue) ? "2" : ddlCATID0.SelectedValue; try { DbHelperOra.RunProcedure("P_GOODS_IMP", param); Alert.Show("提交成功,商品资料信息已导入!", "提示信息", MessageBoxIcon.Information); GridStock.DataSource = null; GridStock.DataBind(); btnSave.Enabled = false; } catch (Exception ex) { Alert.Show(ex.Message, "错误", MessageBoxIcon.Error); } }
protected void Page_Load(object sender, EventArgs e) { if (Session["Login"] == null) { Response.Redirect("Login.aspx"); } ControlConfig = (C_Configuracion)Session["ControlConfig"]; ControlArticulo = (C_Articulo)Session["ControlArticulo"]; List <Articulo> Lista = ControlArticulo.ListarStockBajo(); if (Lista.Count != 0) { dt = new DataTable(); dt.Columns.Add(new DataColumn("articuloid", System.Type.GetType("System.Int32"))); dt.Columns.Add(new DataColumn("nombre", System.Type.GetType("System.String"))); dt.Columns.Add(new DataColumn("descripcion", System.Type.GetType("System.String"))); dt.Columns.Add(new DataColumn("marca", System.Type.GetType("System.String"))); dt.Columns.Add(new DataColumn("cantidad", System.Type.GetType("System.Int32"))); foreach (var Auxi in Lista) { dt.Rows.Add(Auxi.Articuloid, Auxi.Nombre, Auxi.Descripcion, Auxi.Marca, Auxi.Cantidad); } GridStock.DataSource = dt; GridStock.DataBind(); if (Session["StockMin"] == null) { ModalPopupExtenderUno.Show(); Session["StockMin"] = "1"; } } BtnSalir.Attributes.Add("onmouseover", "this.style.color = 'white'"); BtnSalir.Attributes.Add("onmouseout", "this.style.color = 'red'"); LBtnClientes.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnClientes.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnUsuario.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnUsuario.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnManual.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnManual.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnArticulos.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnArticulos.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnEmpleados.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnEmpleados.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnFacturacion.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnFacturacion.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnPedidos.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnPedidos.Attributes.Add("onmouseout", "this.style.color = 'white'"); LBtnProveedores.Attributes.Add("onmouseover", "this.style.color = 'black'"); LBtnProveedores.Attributes.Add("onmouseout", "this.style.color = 'white'"); if (!IsPostBack) { GridStock.PageSize = ControlConfig.DevolverNroMaxPaginacion(); GridStock.DataSource = ControlArticulo.ListarStockBajo(); GridStock.DataBind(); } }
protected void GridStock_PageIndexChanging(object sender, GridViewPageEventArgs e) { ModalPopupExtenderUno.Show(); GridStock.PageIndex = e.NewPageIndex; GridStock.PageSize = ControlConfig.DevolverNroMaxPaginacion(); GridStock.DataSource = ControlArticulo.ListarStockBajo(); GridStock.DataBind(); }
protected void btnClear_Click(object sender, EventArgs e) { try { fuDocument.Reset(); GridStock.DataSource = null; GridStock.DataBind(); } catch { Alert.Show("没有数据哦!"); } }
protected void btnClear_Click(object sender, EventArgs e) { try { DbHelperOra.ExecuteSql("DELETE FROM IMP_DOC_GOODS"); GridStock.DataBind(); fuDocument.Reset(); } catch { Alert.Show("没有数据哦!"); } }
//public InitialStock() //{ // if (chkRK.Checked) // { // BillType = "RKD"; // } // else // { // BillType = "SYD"; // } //} protected void btnClear_Click(object sender, EventArgs e) { try { DbHelperOra.ExecuteSql("DELETE FROM DAT_STOCK_IMP"); ViewTable.Clear(); GridStock.DataBind(); fuDocument.Reset(); } catch { Alert.Show("没有数据哦!"); } }
protected void bind() { String Sql = @"SELECT * FROM IMP_DOC_GOODS A WHERE A.IMPOPER = '{0}' ORDER BY MEMO"; int total = 0; GridStock.DataSource = DbHelperOra.Query(String.Format(Sql, UserAction.UserID)).Tables[0]; DataTable dtData = PubFunc.DbGetPage(GridStock.PageIndex, GridStock.PageSize, String.Format(Sql, UserAction.UserID), ref total); GridStock.RecordCount = total; GridStock.DataSource = dtData; GridStock.DataBind(); if (dtData.Rows.Count > 0) { btnSave.Enabled = true; } else { btnSave.Enabled = false; } }
protected void bind() { String Sql = @" SELECT f_getdeptname(A.deptout) deptout, f_getdeptname(A.deptoutname) deptoutname, A.deptid, A.deptname, A.catid, A.xsrq, A.gdseq, A.barcode, NVL(B.HISNAME, B.GDNAME) GDNAME, f_getunitname(B.UNIT) UNIT, A.gdspec, A.gdmode, A.hwid, A.dhsl, A.ph, A.pzwh, A.rq_sc, A.yxqz FROM DAT_SL_IMP A, DOC_GOODS B WHERE A.GDSEQ = B.GDSEQ(+) AND A.LRY = '{0}' and a.flag='N'"; int total = 0; GridStock.DataSource = DbHelperOra.Query(String.Format(Sql, UserAction.UserID)).Tables[0]; DataTable dtData = PubFunc.DbGetPage(GridStock.PageIndex, GridStock.PageSize, String.Format(Sql, UserAction.UserID), ref total); GridStock.RecordCount = total; GridStock.DataSource = dtData; GridStock.DataBind(); if (dtData.Rows.Count > 0) { btnSave.Enabled = true; } else { btnSave.Enabled = false; } }
protected void bind() { String Sql = @"SELECT f_getdeptname(A.DEPTID) DEPTIDNAME,A.GDSEQ,A.SL,A.PH,A.RQ_SC,A.YXQZ,A.MEMO, NVL(B.HISNAME,B.GDNAME) GDNAME,B.GDSPEC,f_getunitname(B.UNIT) UNITNAME,f_getproducername(A.STR1) PRODUCERNAME,f_getproducername(A.SUPPLIER) SUPPLIERNAME, B.PIZNO,B.HSJJ,A.FLAG FROM DAT_STOCK_IMP A, DOC_GOODS B WHERE A.GDSEQ = B.GDSEQ(+) AND A.LRY = '{0}' ORDER BY A.FLAG"; int total = 0; GridStock.DataSource = DbHelperOra.Query(String.Format(Sql, UserAction.UserID)).Tables[0]; DataTable dtData = PubFunc.DbGetPage(GridStock.PageIndex, GridStock.PageSize, String.Format(Sql, UserAction.UserID), ref total); GridStock.RecordCount = total; GridStock.DataSource = dtData; GridStock.DataBind(); if (dtData.Rows.Count > 0) { btnSave.Enabled = true; } else { btnSave.Enabled = false; } }
protected void btnclearall_Click(object sender, EventArgs e) { fuDocument.Reset(); GridStock.DataSource = null; GridStock.DataBind(); }
protected void CargarNuevoGrid() { DataView dvORderTalla; String StrCadena = String.Empty; //Tablas de resultados de BD DataTable dtTallas = ((DataView)SqlDataTallajes.Select(new DataSourceSelectArguments())).ToTable(true, new string[] { "Talla" }); DataTable dtStock = ((DataView)AVE_StockEnTiendaObtener.Select(new DataSourceSelectArguments())).Table.DataSet.Tables[0]; //se ha metido en un dataview para poder ordenar las tallas y pasar al datatable Inicial dvORderTalla = dtTallas.DefaultView; dvORderTalla.Sort = "Talla"; dtTallas = dvORderTalla.ToTable(); //---------------------------------- //Añadimos las columnas dinámicas al grid. Es una por cada talla devuelta BoundField bf; foreach (DataRow dr in dtTallas.Rows) { bf = new BoundField(); bf.DataField = dr["Talla"].ToString(); //El campo de la columna corresponde al nombre de la talla bf.HeaderText = dr["Talla"].ToString(); bf.HeaderStyle.Width = Unit.Pixel(50); bf.ItemStyle.HorizontalAlign = HorizontalAlign.Center; GridStock.Columns.Insert(GridStock.Columns.Count - 1, bf); } //Tabla de datos con el formato correcto DataTable dtResultado = new DataTable(); //Columnas de resultados. Son dos fijas, una por talla y la de totales dtResultado.Columns.Add("IdTienda", typeof(string)); dtResultado.Columns.Add("Tienda", typeof(string)); foreach (DataRow dr in dtTallas.Rows) { dtResultado.Columns.Add(dr["Talla"].ToString(), typeof(string)); //Es un entero pues albergará la cantidad de stock } dtResultado.Columns.Add("Total", typeof(int)); //Filas DataRow nuevaFila = dtResultado.NewRow(); string prevIdTienda = string.Empty; //Para controlar cual es la fila que se comprobó en la iteración anterior string idTienda; //Para contener la fila que se está comprobando en esta iteración int acumulado = 0; //Para ir sumando los totales por tienda int auxCantidad; //Auxiliar para tratar con las cantidades pasadas a entero //Recorremos la tabla de stock devuelto. Como los resultados vienen ordenados por idtienda el procedimiento será: //Insertamos una fila con el primer registro y guardamos la tienda que es; en el siguiente registro comprobamos si //seguimos con la misma tienda, en cuyo caso no creamos fila nueva sino que solo incluimos el dato de stock para la //talla que sea; si el registro es de una tienda distinta, entonces sí creamos una fila nueva y además añadimos el //stock de la talla. Finalmente solo insertamos la fila si no está ya insertada. foreach (DataRow dr in dtStock.Rows) { idTienda = dr["IdTienda"].ToString(); if (idTienda != prevIdTienda) //Si la fila anterior era de una tienda distinta entonces tenemos que crear una nueva fila para la tienda actual { nuevaFila = dtResultado.NewRow(); nuevaFila["IdTienda"] = dr["IdTienda"]; nuevaFila["Tienda"] = dr["Tienda"]; acumulado = 0; nuevaFila["Total"] = acumulado; //Metemos el valor a 0 para que no quede en blanco si no hay ninguna columna que sume } nuevaFila[dr["Talla"].ToString()] = dr["Cantidad"]; //Siempre insertamos el stock de la talla en la fila que se está manejando, que puede ser nueva o la de la iteración anterior //Acumulamos para el total solo si es una cantidad positiva if (int.TryParse(dr["Cantidad"].ToString(), out auxCantidad)) { acumulado += auxCantidad; //Como no sé cual será la última cantidad a sumar en la fila para poner el valor en la columna, lo que hago es actualizar el valor de Total cada vez que varía el acumulado nuevaFila["Total"] = acumulado; } if (dtResultado.Rows.IndexOf(nuevaFila) == -1) //Si la fila no está insertada ya, la insertamos { dtResultado.Rows.Add(nuevaFila); } prevIdTienda = idTienda; //Guardamos el idtienda para que en la próxima iteración sepamos si es una fila nueva o no } nuevaFila = dtResultado.NewRow(); nuevaFila[1] = "Total"; int TotalTalla = 0; for (int i = 2; i <= dtResultado.Columns.Count - 2; i++) { for (int index = 0; index <= dtResultado.Rows.Count - 1; index++) { if (dtResultado.Rows[index][i].ToString() == String.Empty) { dtResultado.Rows[index][i] = "-"; } else { TotalTalla += Int16.Parse(dtResultado.Rows[index][i].ToString()); } } nuevaFila[i] = TotalTalla.ToString(); TotalTalla = 0; } dtResultado.Rows.Add(nuevaFila); dtResultado.AcceptChanges(); //Cargamos el grid GridStock.DataSource = dtResultado; GridStock.DataBind(); //controlar para ver las fotos de otras if (GridStock.Rows.Count > 0) { btnFoto.Enabled = true; } }
protected void Page_Load(object sender, EventArgs e) { DataView dvORderTalla; String[] Tallas; String StrCadena = String.Empty; if (!Page.IsPostBack) { //Tablas de resultados de BD SDSStock.SelectParameters["IdTienda"].DefaultValue = Contexto.IdTienda; DataTable dtTallas = ((DataView)SDSStock.Select(new DataSourceSelectArguments())).ToTable(true, new string[] { "Talla" }); DataTable dtStock = ((DataView)SDSStock.Select(new DataSourceSelectArguments())).Table.DataSet.Tables[0]; if (Request.QueryString["Talla"] != null) { Tallas = Request.QueryString["Talla"].ToString().Trim().Split(new Char[] { '|' }); foreach (String strValor in Tallas) { StrCadena = "'" + strValor + "',"; } StrCadena = StrCadena.Substring(0, StrCadena.Length - 1); } //se ha metido en un dataview para poder ordenar las tallas y pasar al datatable Inicial dvORderTalla = dtTallas.DefaultView; if (StrCadena.Length > 0) { DataView dvStock = dtStock.DefaultView; dvStock.RowFilter = "Talla in (" + StrCadena + ") "; dtStock = dvStock.ToTable().Copy(); dvORderTalla.RowFilter = "Talla in (" + StrCadena + ")"; } dvORderTalla.Sort = "Talla"; dtTallas = dvORderTalla.ToTable(); //---------------------------------- //Añadimos las columnas dinámicas al grid. Es una por cada talla devuelta BoundField bf; foreach (DataRow dr in dtTallas.Rows) { bf = new BoundField(); bf.DataField = dr["Talla"].ToString(); //El campo de la columna corresponde al nombre de la talla bf.HeaderText = dr["Talla"].ToString(); bf.HeaderStyle.Width = Unit.Pixel(50); bf.ItemStyle.HorizontalAlign = HorizontalAlign.Center; GridStock.Columns.Insert(GridStock.Columns.Count - 1, bf); } //Tabla de datos con el formato correcto DataTable dtResultado = new DataTable(); //Columnas de resultados. Son dos fijas, una por talla y la de totales dtResultado.Columns.Add("IdTienda", typeof(string)); dtResultado.Columns.Add("Tienda", typeof(string)); foreach (DataRow dr in dtTallas.Rows) { dtResultado.Columns.Add(dr["Talla"].ToString(), typeof(int)); //Es un entero pues albergará la cantidad de stock } dtResultado.Columns.Add("Total", typeof(int)); //Filas DataRow nuevaFila = dtResultado.NewRow(); string prevIdTienda = string.Empty; //Para controlar cual es la fila que se comprobó en la iteración anterior string idTienda; //Para contener la fila que se está comprobando en esta iteración int acumulado = 0; //Para ir sumando los totales por tienda int auxCantidad; //Auxiliar para tratar con las cantidades pasadas a entero //Recorremos la tabla de stock devuelto. Como los resultados vienen ordenados por idtienda el procedimiento será: //Insertamos una fila con el primer registro y guardamos la tienda que es; en el siguiente registro comprobamos si //seguimos con la misma tienda, en cuyo caso no creamos fila nueva sino que solo incluimos el dato de stock para la //talla que sea; si el registro es de una tienda distinta, entonces sí creamos una fila nueva y además añadimos el //stock de la talla. Finalmente solo insertamos la fila si no está ya insertada. foreach (DataRow dr in dtStock.Rows) { idTienda = dr["IdTienda"].ToString(); if (idTienda != prevIdTienda) //Si la fila anterior era de una tienda distinta entonces tenemos que crear una nueva fila para la tienda actual { nuevaFila = dtResultado.NewRow(); nuevaFila["IdTienda"] = dr["IdTienda"]; nuevaFila["Tienda"] = dr["Tienda"]; acumulado = 0; nuevaFila["Total"] = acumulado; //Metemos el valor a 0 para que no quede en blanco si no hay ninguna columna que sume } nuevaFila[dr["Talla"].ToString()] = dr["Cantidad"]; //Siempre insertamos el stock de la talla en la fila que se está manejando, que puede ser nueva o la de la iteración anterior //Acumulamos para el total solo si es una cantidad positiva if (int.TryParse(dr["Cantidad"].ToString(), out auxCantidad)) { acumulado += auxCantidad; //Como no sé cual será la última cantidad a sumar en la fila para poner el valor en la columna, lo que hago es actualizar el valor de Total cada vez que varía el acumulado nuevaFila["Total"] = acumulado; } if (dtResultado.Rows.IndexOf(nuevaFila) == -1) //Si la fila no está insertada ya, la insertamos { dtResultado.Rows.Add(nuevaFila); } prevIdTienda = idTienda; //Guardamos el idtienda para que en la próxima iteración sepamos si es una fila nueva o no } //Establecemos las demás etiquetas. Debemos hacerlo antes del Bindd del grid para que tengan valor durante RowDataBound if (dtStock.Rows.Count > 0) { lblDescripcion.Text = dtStock.Rows[0]["Descripcion"].ToString() + " " + dtStock.Rows[0]["Color"].ToString(); lblPrecioValor.Text = string.Format("{0:0.00}", dtStock.Rows[0]["Precio"]); } else { lblDescripcion.Text = Resource.ProductoNoEncontrado; } //Cargamos el grid GridStock.DataSource = dtResultado; GridStock.DataBind(); //controlar para ver las fotos de otras if (GridStock.Rows.Count > 0) { btnFoto.Enabled = true; } } }