ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/WeldMat/ReleaseRecovery/ReleaseRecovery.aspx.cs

520 lines
20 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.SqlClient;
using System.Data;
using Newtonsoft.Json.Linq;
using BLL;
using System.Text;
using System.Web;
using System.Reflection;
using System.Diagnostics;
namespace FineUIPro.Web.WeldMat.ReleaseRecovery
{
public partial class ReleaseRecovery : PageBase
{
#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.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.drpWeldType.DataTextField = "WeldTypeName";
this.drpWeldType.DataValueField = "WeldTypeId";
this.drpWeldType.DataSource = BLL.WeldTypeService.GetWeldTypeList();
this.drpWeldType.DataBind();
Funs.FineUIPleaseSelect(this.drpWeldType);
this.drpUnit.DataTextField = "UnitName";
this.drpUnit.DataValueField = "UnitId";
this.drpUnit.DataSource = BLL.Base_UnitService.GetAllUnitList();
this.drpUnit.DataBind();
Funs.FineUIPleaseSelect(this.drpUnit);
//Funs.FineUIPleaseSelect(this.drpTeamGroup);
Funs.FineUIPleaseSelect(this.drpStoreMan);
this.InitTreeMenu();//加载树
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
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 matList = from x in Funs.DB.Weld_UsingMat
join y in Funs.DB.Weld_UsingPlan on x.UsingPlanId equals y.UsingPlanId
join z in Funs.DB.Base_TeamGroup on y.TeamGroupId equals z.TeamGroupId
select new { x.ProjectId, x.UsingDate, y.UsingUnit, z.TeamGroupName };
var projects = BLL.Base_ProjectService.GetOnProjectListByUserId(this.CurrUser.UserId, "1");
if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != Const._Null)
{
projects = projects.Where(x => x.ProjectId == this.drpProjectId.SelectedValue).ToList();
}
if (this.drpUnit.SelectedValue != null && this.drpUnit.SelectedValue != Const._Null)
{
matList = matList.Where(x => x.UsingUnit == drpUnit.SelectedValue);
}
if (txtTeamGroup.Text!="")
{
matList = matList.Where(x => x.TeamGroupName.Contains(txtTeamGroup.Text.Trim()));
}
if (txtStarTime.Text != "")
{
matList = matList.Where(x => x.UsingDate >= Convert.ToDateTime(txtStarTime.Text));
}
if (txtEndTime.Text != "")
{
matList = matList.Where(x => x.UsingDate <= Convert.ToDateTime(txtEndTime.Text));
}
string proStr = string.Join(",", matList.Select(p => p.ProjectId).Distinct());
foreach (var item in projects)
{
if (proStr.Contains(item.ProjectId))
{
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点击事件
/// <summary>
/// TreeView点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.drpStoreMan.Items.Clear();
this.drpStoreMan.DataTextField = "Text";
this.drpStoreMan.DataValueField = "Value";
this.drpStoreMan.DataSource = BLL.StoremanInfoService.GetStoremanList(tvControlItem.SelectedNodeID, drpUnit.SelectedValue);
this.drpStoreMan.DataBind();
Funs.FineUIPleaseSelect(this.drpStoreMan);
drpStoreMan.SelectedValue = Const._Null;
txtWeldName.Text = string.Empty;
drpWeldType.SelectedValue = Const._Null;
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT * FROM Weld_View_ReleaseRecovery WHERE ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.tvControlItem.SelectedNodeID));
if (drpUnit.SelectedValue != Const._Null && drpUnit.SelectedValue != null)
{
strSql += " AND UsingUnit =@UsingUnit";
listStr.Add(new SqlParameter("@UsingUnit", drpUnit.SelectedValue));
}
if (txtTeamGroup.Text != "")
{
strSql += " AND TeamGroupName LIKE @TeamGroupName";
listStr.Add(new SqlParameter("@TeamGroupName", "%" + this.txtWeldName.Text.Trim() + "%"));
}
if (drpStoreMan.SelectedValue != Const._Null && drpStoreMan.SelectedValue != null)
{
strSql += " AND StoreMan =@StoreMan";
listStr.Add(new SqlParameter("@StoreMan", drpStoreMan.SelectedValue));
}
if (drpWeldType.SelectedValue != Const._Null)
{
strSql += " AND WeldTypeId =@WeldTypeId";
listStr.Add(new SqlParameter("@WeldTypeId", drpWeldType.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtWeldName.Text.Trim()))
{
strSql += " AND WeldName LIKE @WeldName";
listStr.Add(new SqlParameter("@WeldName", "%" + this.txtWeldName.Text.Trim() + "%"));
}
//if (!string.IsNullOrEmpty(this.txtJOT_ID.Text.Trim()))
//{
// strSql += " AND UsePosition LIKE @UsePosition";
// listStr.Add(new SqlParameter("@UsePosition", "%" + this.txtJOT_ID.Text.Trim() + "%"));
//}
if (!string.IsNullOrEmpty(this.txtStarTime.Text))
{
strSql += " AND UsingDate >=@StarTime";
listStr.Add(new SqlParameter("@StarTime", Convert.ToDateTime(this.txtStarTime.Text.Trim())));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text))
{
strSql += " AND UsingDate <=@EndTime";
listStr.Add(new SqlParameter("@EndTime", Convert.ToDateTime(this.txtEndTime.Text.Trim())));
}
strSql += " ORDER BY Years DESC,Months DESC,Dayt DESC ,UsePosition";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
this.OutputSummaryData(tb); ///取合计值
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 计算合计
/// </summary>
private void OutputSummaryData(DataTable tb)
{
decimal usingMatSum = 0; //领用数量
decimal recycleMatSum = 0; //退回数量
int RecycleMatTopSum = 0; //退回焊材头数量
for (int i = 0; i < tb.Rows.Count; i++)
{
usingMatSum += Funs.GetNewDecimalOrZero(tb.Rows[i]["Amount"].ToString());
recycleMatSum += Funs.GetNewDecimalOrZero(tb.Rows[i]["RecycleAmount"].ToString());
RecycleMatTopSum += Funs.GetNewIntOrZero(tb.Rows[i]["MatTopAmount"].ToString());
}
JObject summary = new JObject();
summary.Add("UsePosition", "合计:");
summary.Add("Amount", usingMatSum);
summary.Add("RecycleAmount", recycleMatSum);
summary.Add("MatTopAmount", RecycleMatTopSum);
Grid1.SummaryData = summary;
}
#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 btnTreeSearch_Click(object sender, EventArgs e)
{
this.InitTreeMenu();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSearch_Click(object sender, EventArgs e)
{
BindGrid();
}
#endregion
#region DropDownList下拉选择事件
/// <summary>
/// 项目下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpProjectId.SelectedValue != null && this.drpProjectId.SelectedValue != Const._Null)
{
drpUnit.Items.Clear();
this.drpUnit.DataTextField = "UnitName";
this.drpUnit.DataValueField = "UnitId";
this.drpUnit.DataSource = BLL.Base_UnitService.GetUnitCodeByProjectIdList(drpProjectId.SelectedValue);
this.drpUnit.DataBind();
Funs.FineUIPleaseSelect(this.drpUnit);
drpUnit.SelectedValue = Const._Null;
}
// this.InitTreeMenu();
}
protected void drpUnit_OnSelectedIndexChanged(object sender, EventArgs e)
{
if (drpUnit.SelectedValue != Const._Null && drpUnit.SelectedValue != null)
{
//this.drpTeamGroup.Items.Clear();
//this.drpTeamGroup.DataValueField = "TeamGroupId";
//this.drpTeamGroup.DataTextField = "TeamGroupName";
//this.drpTeamGroup.DataSource = BLL.Base_TeamGroupService.GetTeamGroupByUnit(tvControlItem.SelectedNodeID, drpUnit.SelectedValue);
//this.drpTeamGroup.DataBind();
//Funs.FineUIPleaseSelect(this.drpTeamGroup);
//drpTeamGroup.SelectedValue = Const._Null;
this.drpStoreMan.Items.Clear();
this.drpStoreMan.DataTextField = "Text";
this.drpStoreMan.DataValueField = "Value";
this.drpStoreMan.DataSource = BLL.StoremanInfoService.GetStoremanList(tvControlItem.SelectedNodeID, drpUnit.SelectedValue);
this.drpStoreMan.DataBind();
Funs.FineUIPleaseSelect(this.drpStoreMan);
drpStoreMan.SelectedValue = Const._Null;
}
}
#endregion
#region
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
// 测试图片
string reportId = BLL.Const.HGGL_TestReportId;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId, "", "", "打印 - ")));
}
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
this.Grid1.PageSize = 10000;
BindGrid();
foreach (GridColumn column in grid.Columns)
{
sb.AppendFormat("<td>{0}</td>", column.HeaderText);
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
string html = row.Values[column.ColumnIndex].ToString();
//if (column.ColumnID == "tfNumber")
//{
// html = (row.FindControl("labNumber") as AspNet.Label).Text;
//}
sb.AppendFormat("<td>{0}</td>", html);
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region
/// <summary>
/// 打印
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPrint_Click(object sender, EventArgs e)
{
string projectId = this.tvControlItem.SelectedNodeID;
if (!string.IsNullOrEmpty(projectId))
{
//var unit = BLL.Base_UnitService.GetUnit(Const.zzfgsId);
var project = BLL.Base_ProjectService.GetProjectByProjectId(projectId);
string varValue = "工程名称:" + project.ProjectName;
//if (unit != null)
//{
// varValue = varValue + "|" + unit.UnitName + "|" + unit.UnitName;
//}
varValue = HttpUtility.UrlEncodeUnicode(varValue);
string replaceParameter = projectId;
if (drpWeldType.SelectedValue!=Const._Null)
{
replaceParameter = replaceParameter + "|" + drpWeldType.SelectedValue;
}
else
{
replaceParameter = replaceParameter + "|" + "NULL";
}
if (drpStoreMan.SelectedValue != Const._Null)
{
replaceParameter = replaceParameter + "|" + drpStoreMan.SelectedValue;
}
else
{
replaceParameter = replaceParameter + "|" + "NULL";
}
if (txtStarTime.Text != string.Empty)
{
replaceParameter = replaceParameter + "|" + txtStarTime.Text.Trim();
}
else
{
replaceParameter = replaceParameter + "|" + "NULL";
}
if (this.txtEndTime.Text != string.Empty)
{
replaceParameter = replaceParameter + "|" + txtEndTime.Text.Trim();
}
else
{
replaceParameter = replaceParameter + "|" + "NULL";
}
string reportId = string.Empty;
if (drpWeldType.SelectedValue != Const._Null)
{
if (drpWeldType.SelectedText == "焊条")
{
reportId = BLL.Const.CLGL_ReleaseRecoveryReportId;
}
else
{
reportId = BLL.Const.HJGL_ElectrodeRecoveryReportId;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../../Common/ReportPrint/ExReportPrint.aspx?ispop=1&reportId={0}&replaceParameter={1}&varValue={2}&projectId=0", reportId, replaceParameter, varValue, "打印 - ")));
}
else
{
ShowNotify("请选择焊材类型!", MessageBoxIcon.Warning);
return;
}
}
else
{
ShowNotify("请选择施工号!", MessageBoxIcon.Warning);
return;
}
}
#endregion
protected void btnPrint2_Click(object sender, EventArgs e)
{
string projectId = this.tvControlItem.SelectedNodeID;
if (!string.IsNullOrEmpty(projectId))
{
//var project = BLL.Base_ProjectService.GetProjectByProjectId(projectId);
//string varValue = project.ProjectCode + "|" + project.ProjectName;
//varValue = HttpUtility.UrlEncodeUnicode(varValue);
//string replaceParameter = projectId;
//if (txtStarTime.Text != string.Empty)
//{
// replaceParameter = replaceParameter + "|" + txtStarTime.Text.Trim();
//}
//else
//{
// replaceParameter = replaceParameter + "|" + "NULL";
//}
//if (this.txtEndTime.Text != string.Empty)
//{
// replaceParameter = replaceParameter + "|" + txtEndTime.Text.Trim();
//}
//else
//{
// replaceParameter = replaceParameter + "|" + "NULL";
//}
string window = String.Format("ReleaseRecoveryPrint.aspx?projectId={0}&&startDate={1}&&endDate={2}", projectId,this.txtStarTime.Text.Trim(),this.txtEndTime.Text.Trim(), "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetShowReference(window));
}
else
{
ShowNotify("请选择施工号!", MessageBoxIcon.Warning);
return;
}
}
}
}