SGGL_HBAZ/SGGL/FineUIPro.Web/HJGL/TrustManage/PMITrustManage.aspx.cs

545 lines
22 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using FineUIPro.Web.HJGL.MaterialManage;
using Model;
using FineUIPro.Web.DataShow;
using NPOI.SS.Formula.Functions;
namespace FineUIPro.Web.HJGL.TrustManage
{
public partial class PMITrustManage : PageBase
{
#region
/// <summary>
/// 委托主键
/// </summary>
public string CH_TrustID
{
get
{
return (string)ViewState["CH_TrustID"];
}
set
{
ViewState["CH_TrustID"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.txtMonth.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
//btnNew.OnClientClick = Window1.GetShowReference("PMITrustManageEditAdd.aspx") + "return false;";
this.InitTreeMenu();//加载树
}
}
#region -
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
if (!string.IsNullOrEmpty(this.txtMonth.Text.Trim()))
{
this.tvControlItem.Nodes.Clear();
List<Model.Project_Installation> installations = BLL.Project_InstallationService.GetInstallationsByProjectId(this.CurrUser.LoginProjectId);
if (installations != null)
{
foreach (var installation in installations)
{
TreeNode rootNode = new TreeNode();//定义根节点
rootNode.Text = installation.InstallationName;
rootNode.NodeID = installation.InstallationId;
rootNode.Expanded = true;
rootNode.CommandName = "Installation";
this.tvControlItem.Nodes.Add(rootNode);
var instaRe = (from x in Funs.DB.PMI_TrustManage
join y in Funs.DB.ProjectData_WorkArea
on x.AreaIdCode equals y.WorkAreaId
where x.UnitCode == installation.InstallationId && x.ProjectId == this.CurrUser.LoginProjectId
select y).Distinct();
foreach (var ins in instaRe)
{
TreeNode newNode = new TreeNode();
newNode.Text = ins.WorkAreaCode;
newNode.NodeID = ins.InstallationId + "|" + ins.WorkAreaId;
newNode.EnableExpandEvent = true;
newNode.CommandName = "WorkArea";
rootNode.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
else
{
Alert.ShowInTop("请先增加装置!", MessageBoxIcon.Warning);
return;
}
}
else
{
Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "WorkArea") //展开工区
{
TreeNode newNode = new TreeNode();
newNode.Text = this.txtMonth.Text.Trim();
newNode.NodeID = e.Node.NodeID + "|" + this.txtMonth.Text.Trim();
newNode.EnableExpandEvent = true;
newNode.CommandName = "Month";
e.Node.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
else if (e.Node.CommandName == "Month") //展开月份
{
DateTime startDate = Funs.GetNewDateTimeOrNow(e.Node.NodeID.Split('|')[2] + "-01");
DateTime endDate = Funs.GetNewDateTimeOrNow(e.Node.NodeID.Split('|')[2] + "-01").AddMonths(1);
var days = (from x in Funs.DB.PMI_TrustManage
where x.AreaIdCode == e.Node.ParentNode.NodeID.Split('|')[1]
&& x.UnitCode == e.Node.ParentNode.ParentNode.NodeID
&& x.CreateTime >= startDate && x.CreateTime < endDate
orderby x.CreateTime
select x.CreateTime).Distinct();
foreach (var day in days)
{
TreeNode newNode = new TreeNode();
newNode.Text = string.Format("{0:yyyy-MM-dd}", day);
newNode.NodeID = e.Node.NodeID + "|" + day.ToString();
newNode.EnableExpandEvent = true;
newNode.CommandName = "Day";
e.Node.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
else if (e.Node.CommandName == "Day") //展开日期
{
DateTime d = Convert.ToDateTime(e.Node.NodeID.Split('|')[3]);
var trusts = from x in Funs.DB.PMI_TrustManage
where x.AreaIdCode.ToString() == e.Node.ParentNode.ParentNode.NodeID.Split('|')[1]
&& x.UnitCode == e.Node.ParentNode.ParentNode.ParentNode.NodeID
&& x.CreateTime.Year == d.Year && x.CreateTime.Month == d.Month && x.CreateTime.Day == d.Day
orderby x.EntrustmentNo
select x;
foreach (var trust in trusts)
{
TreeNode newNode = new TreeNode();
newNode.NodeID = trust.PMITrustId;
newNode.Text = trust.EntrustmentNo;
newNode.EnableClickEvent = true;
newNode.CommandName = "Trust";
e.Node.Nodes.Add(newNode);
}
}
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
if (this.tvControlItem.SelectedNode.CommandName == "Trust")
{
this.BindGrid();
CH_TrustID = this.tvControlItem.SelectedNodeID;
string[] PMICH_TrustID = CH_TrustID.Split('|');
Model.PMI_TrustManage newPMI_TrustManage = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]);
if (newPMI_TrustManage != null)
{
////工程名称--PMIProjectName
//this.lblPMIProjectName.Text = newPMI_TrustManage.PMIProjectName;
////单位工程名称--PMIUnitWorksName
//this.lblPMIUnitWorksName.Text = newPMI_TrustManage.PMIUnitWorksName;
//编号--SerialNum
this.lblSerialNum.Text = newPMI_TrustManage.SerialNum;
//检测方法--TestMethod
this.lblTestMethod.Text = newPMI_TrustManage.TestMethod;
//检测标准--TestStandard
this.lblTestStandard.Text = newPMI_TrustManage.TestStandard;
//检测比例--TesTratio
this.lblTesTratio.Text = newPMI_TrustManage.TesTratio;
//合格要求--QualifiedRequire
this.lblQualifiedRequire.Text = newPMI_TrustManage.QualifiedRequire;
//委托编号--EntrustmentNo
this.lblEntrustmentNo.Text = newPMI_TrustManage.EntrustmentNo;
}
else
{
//工程名称--PMIProjectName
//this.lblPMIProjectName.Text = string.Empty;
////单位工程名称--PMIUnitWorksName
//this.lblPMIUnitWorksName.Text = string.Empty;
//编号--SerialNum
this.lblSerialNum.Text = string.Empty;
//检测方法--TestMethod
this.lblTestMethod.Text = string.Empty;
this.lblTestStandard.Text = string.Empty;
//检测比例--TesTratio
this.lblTesTratio.Text = string.Empty;
//合格要求--QualifiedRequire
this.lblQualifiedRequire.Text = string.Empty;
//委托编号--EntrustmentNo
this.lblEntrustmentNo.Text = string.Empty;
}
}
}
#endregion
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQuery_Click(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
if (this.tvControlItem.SelectedNode != null)
{
CH_TrustID = this.tvControlItem.SelectedNodeID;
string[] PMICH_TrustID = CH_TrustID.Split('|');
string strSql = @"SELECT *
FROM dbo.PMI_TrustMangeItem jot
WHERE PMITrustID=@PMITrustID";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@PMITrustID", PMICH_TrustID[0]));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
else
{
//工程名称--PMIProjectName
//this.lblPMIProjectName.Text = string.Empty;
////单位工程名称--PMIUnitWorksName
//this.lblPMIUnitWorksName.Text = string.Empty;
//编号--SerialNum
this.lblSerialNum.Text = string.Empty;
//检测方法--TestMethod
this.lblTestMethod.Text = string.Empty;
this.lblTestStandard.Text = string.Empty;
//检测比例--TesTratio
this.lblTesTratio.Text = string.Empty;
//合格要求--QualifiedRequire
this.lblQualifiedRequire.Text = string.Empty;
//委托编号--EntrustmentNo
this.lblEntrustmentNo.Text = string.Empty;
Grid1.DataSource = null;
Grid1.DataBind();
}
}
#endregion
#region
#region
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
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
#endregion
#region
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PMITrustManageEditAdd.aspx?PMITrustID={0}", "", "新增 - ")));
}
/// <summary>
/// 无损委托编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEdit_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HJGL_CheckManageAuditMenuId, BLL.Const.BtnModify))
{
CH_TrustID = this.tvControlItem.SelectedNodeID;
string[] PMICH_TrustID = CH_TrustID.Split('|');
var trust = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]);
if (trust != null)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PMITrustManageEditAdd.aspx?PMITrustID={0}", PMICH_TrustID[0], "维护 - ")));
}
else
{
ShowNotify("请选择要编辑的委托单!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 删除按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TrustManageEditMenuId, Const.BtnDelete))
{
CH_TrustID = this.tvControlItem.SelectedNodeID;
string[] PMICH_TrustID = CH_TrustID.Split('|');
var trust = BLL.PMITrustManageService.GetCH_TrustByID(PMICH_TrustID[0]);
if (trust == null)
{
Alert.ShowInTop("请选择要删除的委托单", MessageBoxIcon.Warning);
return;
}
else
{
BLL.PMITrustManageService.DeleteCH_TrustItemByCH_TrustID(PMICH_TrustID[0]);
BLL.LogService.AddSys_Log(this.CurrUser, trust.PMITrustId, PMICH_TrustID[0], BLL.Const.HJGL_PMITrustManageMenuId, "添加无损委托信息");
this.InitTreeMenu();
this.BindGrid();
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.InitTreeMenu();//加载树
this.BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region
protected void btnPrint_Click(object sender, EventArgs e)
{
string initTemplatePath = "";
string rootPath = Server.MapPath("~/");
BLL.Common.FastReportService.ResetData();
string reportId = this.tvControlItem.SelectedNode.NodeID.Split('|')[0];
var PMITrustManage = BLL.PMITrustManageService.GetCH_TrustByID(reportId);
if (PMITrustManage != null)
{
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>();
////--工程名称--PMIProjectName
keyValuePairs.Add("PMIProjectName", PMITrustManage.PMIProjectName);
////--单位工程名称--PMIUnitWorksName
keyValuePairs.Add("PMIUnitWorksName", PMITrustManage.PMIUnitWorksName);
////--编号--SerialNum
keyValuePairs.Add("SerialNum", PMITrustManage.SerialNum);
////--检测方法--TestMethod
keyValuePairs.Add("TestMethod", PMITrustManage.TestMethod);
////--检测标准--TestStandard
keyValuePairs.Add("TestStandard", PMITrustManage.TestStandard);
////--检测比例--TesTratio
keyValuePairs.Add("TesTratio", PMITrustManage.TesTratio);
////--合格要求--QualifiedRequire
keyValuePairs.Add("QualifiedRequire", PMITrustManage.QualifiedRequire);
////--委托编号--EntrustmentNo
keyValuePairs.Add("EntrustmentNo", PMITrustManage.EntrustmentNo);
BLL.Common.FastReportService.AddFastreportParameter(keyValuePairs);
string strSql = @"SELECT * FROM dbo.PMI_TrustMangeItem WHERE PMITrustID=@PMITrustID";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@PMITrustID", PMITrustManage.PMITrustId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
DataTable dt = new DataTable();
dt.TableName = "Data";
//序号--Number
dt.Columns.Add("Number", typeof(String));
//检件编号--PipelineNum
dt.Columns.Add("PipelineNum", typeof(String));
//检件名称--PipelineName
dt.Columns.Add("PipelineName", typeof(String));
//质量证明文件编号--QualityNum
dt.Columns.Add("QualityNum", typeof(String));
//炉 / 批号--LotNumber
dt.Columns.Add("LotNumber", typeof(String));
//检件规格--PipeIineSpecs
dt.Columns.Add("PipeIineSpecs", typeof(String));
//检件材质--PipelineMaterial
dt.Columns.Add("PipelineMaterial", typeof(String));
//热处理--HotStatus
dt.Columns.Add("HotStatus", typeof(String));
//制造 / 验收标准--AcceptanceCriteria
dt.Columns.Add("AcceptanceCriteria", typeof(String));
//数量--SamplingNum
dt.Columns.Add("SamplingNum", typeof(String));
//备注--RemarkNum
dt.Columns.Add("RemarkNum", typeof(String));
//tb = dv.ToTable();//转为表
DataRow[] rows = tb.DefaultView.ToTable().Select();
int i = 0;
foreach (var row in rows)
{
var newRow = dt.NewRow();
newRow["Number"] = (i + 1).ToString();
//检件编号--PipelineNum
newRow["PipelineNum"] = row["PipelineNum"].ToString();
//检件名称--PipelineName
newRow["PipelineName"] = row["PipelineName"].ToString();
//质量证明文件编号--QualityNum
newRow["QualityNum"] = row["QualityNum"].ToString();
//炉 / 批号--LotNumber
newRow["LotNumber"] = row["LotNumber"].ToString();
//检件规格--PipeIineSpecs
newRow["PipeIineSpecs"] = row["PipeIineSpecs"].ToString();
//检件材质--PipelineMaterial
newRow["PipelineMaterial"] = row["PipelineMaterial"].ToString();
//热处理--HotStatus
newRow["HotStatus"] = row["HotStatus"].ToString();
//制造 / 验收标准--AcceptanceCriteria
newRow["AcceptanceCriteria"] = row["AcceptanceCriteria"].ToString();
//数量--SamplingNum
newRow["SamplingNum"] = row["SamplingNum"].ToString();
//备注--RemarkNum
newRow["RemarkNum"] = row["RemarkNum"].ToString();
dt.Rows.Add(newRow);
i++;
}
BLL.Common.FastReportService.AddFastreportTable(dt);
initTemplatePath = "File\\Fastreport\\PMI检测委托单.frx";
if (File.Exists(rootPath + initTemplatePath))
{
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("./Fastreport.aspx?ReportPath={0}", rootPath + initTemplatePath)));
}
}
}
#endregion
}
}