SGGL_SGY/SGGL/FineUIPro.Web/HJGL/MaterialManage/StockSelectDetail.aspx.cs

178 lines
6.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Data;
using BLL;
namespace FineUIPro.Web.HJGL.MaterialManage
{
public partial class StockSelectDetail : PageBase
{
#region
/// <summary>
/// 焊材ID
/// </summary>
private string WeldId
{
get
{
return (string)ViewState["WeldId"];
}
set
{
ViewState["WeldId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.drpUnit.DataTextField = "UnitName";
this.drpUnit.DataValueField = "UnitId";
this.drpUnit.DataSource = BLL.UnitService.GetMainAndSubUnitByProjectIdList(this.CurrUser.LoginProjectId);
this.drpUnit.DataBind();
Funs.FineUIPleaseSelect(this.drpUnit);
Funs.FineUIPleaseSelect(this.drpUnitStore);
this.WeldId = Request.Params["WeldId"];
BindGrid();
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT StockIn.StockInId, StockIn.WeldId, StockIn.Warrantybook,WeldInfo.ConsumablesCode,
WeldInfo.ConsumablesName,WeldInfo.SteelFormat, case WeldInfo.ConsumablesType when '1' then '焊丝' when '2' then '焊条' when '3' then '焊剂' else '' end as WeldTypeName,
WeldInfo.WeldUnit, Users.UserName AS Materialman, StockIn.InStockDate,
(unit.UnitName+'-'+store.UnitStoreName) AS StoreName,
CAST (CASE WHEN WeldInfo.ConvertValue>0
THEN (StockIn.Amount-ISNULL(StockIn.UsingAmount,0)) * WeldInfo.ConvertValue
ELSE (StockIn.[Weight]) END AS decimal(9,3)) AS Amount,
CAST (CASE WHEN WeldInfo.ConvertValue>0
THEN (ISNULL(StockIn.RecycleAmount,0)) * WeldInfo.ConvertValue
ELSE NULL END AS decimal(9,3)) AS RecycleAmount
FROM dbo.Weld_StockIn AS StockIn
LEFT JOIN dbo.Base_Consumables AS WeldInfo ON WeldInfo.ConsumablesId=StockIn.WeldId
LEFT JOIN dbo.Sys_User AS Users ON Users.UserId=StockIn.Materialman
LEFT JOIN dbo.Weld_UnitStore store ON store.UnitStoreId = StockIn.UnitStoreId
LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = store.UnitId
WHERE (StockIn.Amount-ISNULL(StockIn.UsingAmount,0))>=0 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!cbShowAll.Checked)
{
strSql += " AND StockIn.WeldId=@WeldId";
listStr.Add(new SqlParameter("@WeldId", this.WeldId));
}
if (drpUnit.SelectedValue != Const._Null && drpUnit.SelectedValue != null)
{
strSql += " AND unit.UnitId = @UnitId";
listStr.Add(new SqlParameter("@UnitId", drpUnit.SelectedValue));
}
if (drpUnitStore.SelectedValue != Const._Null && drpUnitStore.SelectedValue != null)
{
strSql += " AND StockIn.UnitStoreId = @UnitStoreId";
listStr.Add(new SqlParameter("@UnitStoreId", drpUnitStore.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtWeldCode.Text.Trim()))
{
strSql += " AND WeldInfo.ConsumablesCode LIKE @ConsumablesCode";
listStr.Add(new SqlParameter("@ConsumablesCode", "%" + this.txtWeldCode.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页选择下拉改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#region
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpUnit_OnSelectedIndexChanged(object sender, EventArgs e)
{
if (drpUnit.SelectedValue != Const._Null)
{
drpUnitStore.Items.Clear();
BLL.UnitStoreService.InitUnitStoreDropDownList(drpUnitStore, drpUnit.SelectedValue, true);
drpUnitStore.SelectedValue = Const._Null;
}
}
#endregion
}
}