namespace FineUIPro.Web.HJGL.WeldingManage { using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using BLL; public partial class WeldReportItemEdit : PageBase { #region 定义项 /// /// 单位主键 /// public string UnitId { get { return (string)ViewState["UnitId"]; } set { ViewState["UnitId"] = value; } } /// /// 装置主键 /// public string InstallationId { get { return (string)ViewState["InstallationId"]; } set { ViewState["InstallationId"] = value; } } /// /// 焊口主键 /// public string Jot_ID { get { return (string)ViewState["Jot_ID"]; } set { ViewState["Jot_ID"] = value; } } public List SelectInfo { get { return (List)ViewState["SelectInfo"]; } set { ViewState["SelectInfo"] = value; } } public string JointIdList { get { return (string)ViewState["JointIdList"]; } set { ViewState["JointIdList"] = value; } } /// /// 日报主键 /// public string DReportID { get { return (string)ViewState["DReportID"]; } set { ViewState["DReportID"] = value; } } /// /// 项目 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } /// /// 被选择项列表 /// public List SelectedList { get { return (List)ViewState["SelectedList"]; } set { ViewState["SelectedList"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.SelectedList = new List(); this.SelectInfo = new List(); string strList = Request.Params["strList"]; List list = Funs.GetStrListByStr(strList, '|'); if (list.Count() == 3) { this.ProjectId = list[0]; this.UnitId = list[1]; this.DReportID = list[2]; ///盖面焊工 drpCellWelder.DataTextField = "Text"; drpCellWelder.DataValueField = "Value"; drpCellWelder.DataSource = BLL.HJGL_PersonManageService.GetProjectWelderList(this.ProjectId); drpCellWelder.DataBind(); Funs.FineUIPleaseSelect(this.drpCellWelder); ///打底焊工 drpFloorWelder.DataTextField = "Text"; drpFloorWelder.DataValueField = "Value"; drpFloorWelder.DataSource = BLL.HJGL_PersonManageService.GetProjectWelderList(this.ProjectId); drpFloorWelder.DataBind(); this.BindGrid(); Funs.FineUIPleaseSelect(this.drpFloorWelder); } this.InitTreeMenu();//加载树 } } #endregion #region 加载树 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "管线号"; rootNode.NodeID = "0"; rootNode.Expanded = true; this.tvControlItem.Nodes.Add(rootNode); var iso = (from x in Funs.DB.HJGL_PW_IsoInfo where x.ProjectId == this.ProjectId && x.BSU_ID == this.UnitId orderby x.ISO_IsoNo select x).ToList(); if (!string.IsNullOrEmpty(this.txtIsono.Text)) { iso = (from x in iso where x.ISO_IsoNo.Contains(this.txtIsono.Text.Trim()) orderby x.ISO_IsoNo select x).ToList(); } foreach (var item in iso) { TreeNode newNode = new TreeNode(); newNode.Text = item.ISO_IsoNo; newNode.NodeID = item.ISO_ID; newNode.ToolTip = item.ISO_IsoNo; newNode.EnableClickEvent = true; rootNode.Nodes.Add(newNode); } } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { string isoId = this.tvControlItem.SelectedNodeID; //List toDoMatterList = BLL.HJGL_WeldReportService.GetWeldReportItemFind(this.ProjectId, this.DReportID, isoId); string strSql = @"SELECT jot.JOT_ID,jot.JOT_JointNo,jot.JOT_JointAttribute,jot.InstallationId,ins.InstallationName,jot.STE_ID, (CASE WHEN jot.STE_ID!=jot.STE_ID2 THEN ste1.STE_Code+'/'+ste2.STE_Code ELSE ste1.STE_Code END) AS STE_Code, jot.JOT_Dia,jot.JOT_Sch,mat.WMT_MatCode AS JOT_WeldMat,silk.WMT_MatCode AS JOT_WeldSilk, method.WME_Code AS WME_Name,jot.IS_Proess,jot.ProessTypes FROM dbo.HJGL_PW_JointInfo jot LEFT JOIN dbo.HJGL_PW_IsoInfo iso ON iso.ISO_ID = jot.ISO_ID LEFT JOIN dbo.HJGL_BO_PreWeldReportMain preJot ON preJot.JOT_ID = jot.JOT_ID LEFT JOIN dbo.Project_Installation ins ON ins.InstallationId = jot.InstallationId LEFT JOIN dbo.HJGL_BS_Steel ste1 ON ste1.STE_ID = jot.STE_ID LEFT JOIN dbo.HJGL_BS_Steel ste2 ON ste2.STE_ID = jot.STE_ID2 LEFT JOIN dbo.HJGL_BS_WeldMaterial mat ON mat.WMT_ID = jot.JOT_WeldMat LEFT JOIN dbo.HJGL_BS_WeldMaterial silk ON silk.WMT_ID = jot.JOT_WeldSilk LEFT JOIN dbo.HJGL_BS_WeldMethod method ON method.WME_ID = jot.WME_ID WHERE jot.InstallationId IS NOT NULL AND jot.JOTY_ID IS NOT NULL AND jot.NDTR_ID IS NOT NULL AND jot.IsSpecial IS NOT NULL AND iso.ISC_ID IS NOT NULL AND iso.SER_ID IS NOT NULL AND iso.STE_ID IS NOT NULL AND iso.ISO_Executive IS NOT NULL AND preJot.PreWeldReportId IS NULL AND (jot.DReportID IS NULL OR jot.DReportID=@DReportID) AND jot.ProjectId=@ProjectId AND jot.ISO_ID=@ISO_ID"; List listStr = new List(); listStr.Add(new SqlParameter("@DReportID", this.DReportID)); listStr.Add(new SqlParameter("@ProjectId", this.ProjectId)); listStr.Add(new SqlParameter("@ISO_ID", isoId)); strSql += " ORDER BY CONVERT(INT,dbo.Fun_GetParseInt(jot.JOT_JointNo))"; SqlParameter[] parameter = listStr.ToArray(); DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter); string jotIds = Request.Params["jotIds"]; if (!string.IsNullOrEmpty(jotIds)) { string[] jots = jotIds.Split('|'); foreach (string jotId in jots) { DataRow r = dt.Select("JOT_ID='" + jotId + "'").FirstOrDefault(); if (r != null) { dt.Rows.Remove(r); } } } // 2.获取当前分页数据 Grid1.RecordCount = dt.Rows.Count; Grid1.DataSource = dt; Grid1.DataBind(); } #endregion #region 管线查询 /// /// 查询 /// /// /// protected void Tree_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); this.BindGrid(); } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { string[] selectRowId = Grid1.SelectedRowIDArray; for (int i = 0; i < this.Grid1.Rows.Count; i++) { string rowId = this.Grid1.Rows[i].DataKeys[0].ToString(); if (selectRowId.Contains(rowId)) { SelectedList.Add(rowId); } //else //{ // NoSelectedList.Add(rowId); //} } this.BindGrid(); } #endregion #region DropDownList下拉事件 /// /// 盖面、打底焊工一致 /// /// /// protected void drpCellWelder_OnSelectedIndexChanged(object sender, EventArgs e) { this.drpFloorWelder.SelectedValue = this.drpCellWelder.SelectedValue; } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { this.BindGrid(); } #endregion //protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) //{ // BindGrid(); //} protected void btnAdd_Click(object sender, EventArgs e) { if (this.drpCellWelder.SelectedValue != Const._Null && this.drpFloorWelder.SelectedValue != Const._Null) { string itemsString = string.Empty; itemsString = this.drpCellWelder.SelectedValue + "|" + this.drpFloorWelder.SelectedValue; string[] selectRowId = Grid1.SelectedRowIDArray; for (int i = 0; i < selectRowId.Count(); i++) { string rowId = selectRowId[i]; if (string.IsNullOrEmpty(JointIdList) || !JointIdList.Contains(rowId)) { JointIdList += rowId + "|"; SelectInfo.Add(rowId + "|" + itemsString); } } Grid1.DeleteSelectedRows(); } } #region 提交按钮 /// /// 提交按钮 /// /// /// protected void btnAccept_Click(object sender, EventArgs e) { if (this.drpCellWelder.SelectedValue != Const._Null && this.drpFloorWelder.SelectedValue != Const._Null) { string itemsString = string.Empty; //string[] selectRowId = Grid1.SelectedRowIDArray; //for (int i = 0; i < this.Grid1.Rows.Count; i++) //{ // string rowId = this.Grid1.Rows[i].DataKeys[0].ToString(); // if (selectRowId.Contains(rowId)) // { // SelectedList.Add(rowId); // } //} string jointList = Request.Params["jointList"]; if (!string.IsNullOrEmpty(jointList)) { string[] jointIntos = jointList.Split(','); foreach (string jot in jointIntos) { SelectInfo.Add(jot); } } //itemsString = this.drpCellWelder.SelectedValue + "|" + this.drpFloorWelder.SelectedValue + "#"; foreach (var item in SelectInfo) { itemsString += item + "#"; } PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString) + ActiveWindow.GetHidePostBackReference()); } else { ShowNotify("请选择焊工!", MessageBoxIcon.Warning); return; } } #endregion #region 格式化字符串 /// /// 热处理类型 /// /// /// protected string ConvertProessTypes(object ProessTypes) { string proessTypes = string.Empty; if (ProessTypes != null) { proessTypes = BLL.HJGL_PW_JointInfoService.ConvertProessTypes(ProessTypes.ToString()); } return proessTypes; } #endregion } }