using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.SqlClient;
using System.Data;
using BLL;
namespace FineUIPro.Web.WeldMat.Recycle
{
public partial class RecycleMat : PageBase
{
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
this.drpProjectId.DataTextField = "ProjectCode";
this.drpProjectId.DataValueField = "ProjectId";
this.drpProjectId.DataSource = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
this.drpProjectId.DataBind();
Funs.FineUIPleaseSelect(this.drpProjectId);
this.InitTreeMenu();//加载树
// 绑定表格
BindGrid();
}
}
#region 加载树施工号
///
/// 加载树
///
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "施工号";
rootNode.ToolTip = "项目";
rootNode.NodeID = "0";
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
var projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != "null")
{
projects = projects.Where(x => x.ProjectId == this.drpProjectId.SelectedValue).ToList();
}
foreach (var item in projects)
{
TreeNode rootProjectNode = new TreeNode();//定义根节点
rootProjectNode.Text = item.ProjectCode;
rootProjectNode.NodeID = item.ProjectId;
rootProjectNode.Expanded = false;
rootProjectNode.ToolTip = item.ProjectName;
rootProjectNode.CommandName = "施工号";
rootProjectNode.EnableClickEvent = true;
rootNode.Nodes.Add(rootProjectNode);
}
}
#endregion
#region TreeView点击事件
///
/// TreeView点击事件
///
///
///
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region 下拉选择事件
///
/// 项目下拉选择事件
///
///
///
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
}
#endregion
///
/// 绑定数据
///
private void BindGrid()
{
string strSql = @"SELECT m.UsingMatId, m.ProjectId, m.UsePosition, m.WeldId,weld.WeldName,weld.WeldCode,weld.WeldSpec, m.UsingPlanId,
m.Amount,m.TwoAmount,usingMat.WED_Code AS UsingMan, m.UsingDate,m.Warrantybook,m.Number,r.RecycleAmount,
r.RecycleDate,storeman.StoreName,welder.WED_Name AS RecycleMan,r.ReturnMatTop,
(CASE WHEN m.IsOnTime=1 THEN '是' ELSE '否' END ) AS IsOnTime,
(CASE WHEN r.IsWelderConfirm=1 THEN '是' ELSE '否' END) AS IsRecycleMat
FROM dbo.Weld_UsingMat m
LEFT JOIN dbo.Weld_RecycleMat r ON m.UsingMatId=r.UsingMatId
LEFT JOIN dbo.Weld_Storeman AS storeman ON storeman.StoremanId=r.StockMan
LEFT JOIN dbo.HJGL_BS_Welder AS welder ON welder.WED_ID=r.RecycleMan
LEFT JOIN dbo.Weld_WeldInfo weld ON weld.WeldId = m.WeldId
LEFT JOIN dbo.Base_Project project ON project.ProjectId = m.ProjectId
LEFT JOIN dbo.HJGL_BS_Welder usingMat ON usingmat.WED_ID=m.UsingMan
WHERE m.IsWelderConfirm=1 AND m.IsStoreManConfirm=1";
List listStr = new List();
if (!string.IsNullOrEmpty(this.txtWelderCode.Text.Trim()))
{
strSql += " AND usingMat.WED_Code LIKE @WelderCode";
listStr.Add(new SqlParameter("@WelderCode", "%" + this.txtWelderCode.Text.Trim() + "%"));
}
if (tvControlItem.SelectedNodeID != "0")
{
strSql += " AND m.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", tvControlItem.SelectedNodeID));
}
if (!string.IsNullOrEmpty(this.txtWeldName.Text.Trim()))
{
strSql += " AND weld.WeldName LIKE @WeldName";
listStr.Add(new SqlParameter("@WeldName", "%" + this.txtWeldName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtUsingMan.Text.Trim()))
{
strSql += " AND welder.WED_Name LIKE @UsingMan";
listStr.Add(new SqlParameter("@UsingMan", "%" + this.txtUsingMan.Text.Trim() + "%"));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetSortTable(Grid1, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region Grid右键菜单事件
///
/// 焊材退回
///
///
///
protected void btnMenuRecycleMat_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
{
var mat = BLL.UsingMatService.GetUsingMatById(this.Grid1.SelectedRowID);
bool isRec = false;
if (mat.UsingDate.Value.AddHours(24) < DateTime.Now)
{
isRec = true;
}
if (isRec)
{
var rec = BLL.RecycleMatService.GetRecycleMatByUsingMatId(this.Grid1.SelectedRowID);
if (rec != null && rec.IsStoreManConfirm == true && rec.IsWelderConfirm == true)
{
ShowNotify("焊材已退!");
}
else
{
string window = String.Format("RecycleMatEdit.aspx?usingMatId={0}&isOnTime=0", this.Grid1.SelectedRowID, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetShowReference(window));
}
}
else
{
ShowNotify("未超过指定退料时间,请到焊工领料页面进行正常退料!");
}
}
}
protected void btnRecycleFind_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
{
string window = String.Format("RecycleMatEdit.aspx?usingMatId={0}&flag=1", this.Grid1.SelectedRowID, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetShowReference(window));
}
}
protected void menuRecycleMatConfirm_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.Grid1.SelectedRowID))
{
string weldMatId = this.Grid1.SelectedRowID;
var rec = BLL.RecycleMatService.GetRecycleMatByUsingMatId(weldMatId);
if (rec != null)
{
if (rec.IsStoreManConfirm == true && rec.IsWelderConfirm == true)
{
ShowNotify("保管员和焊工已确认!");
}
else
{
string window = String.Format("../UsingSentMat/UsingMatCheck.aspx?keyId={0}&grid=2&isFinger=0", rec.RecycleMatId, "编辑 - ");
PageContext.RegisterStartupScript(Window3.GetShowReference(window));
}
}
else
{
ShowNotify("请先保存退回材料的记录!");
}
}
}
#endregion
#region Grid行点击双击事件
///
///
///
///
///
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
string weldMatId = e.RowID;
var rec = BLL.RecycleMatService.GetRecycleMatByUsingMatId(weldMatId);
if (rec != null)
{
if (rec.IsStoreManConfirm == true && rec.IsWelderConfirm == true)
{
ShowNotify("保管员和焊工已确认!");
}
else
{
string window = String.Format("../UsingSentMat/UsingMatCheck.aspx?keyId={0}&grid=2", weldMatId, "编辑 - ");
PageContext.RegisterStartupScript(Window3.GetShowReference(window));
}
}
else
{
ShowNotify("请先保存记录!");
}
}
#endregion
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
protected void Window3_Close(object sender, WindowCloseEventArgs e)
{
}
#region 页索引改变事件
///
/// 页索引改变事件
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
#endregion
#region 排序
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region 分页选择下拉改变事件
///
/// 分页选择下拉改变事件
///
///
///
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#region 查询
///
/// 查询
///
///
///
protected void TextBox_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
}
}