using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.YLRQ.ConstructionManagement { public partial class WeldReportItemEdit : PageBase { /// /// 单位主键 /// 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; } } /// /// 加载页面 /// 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]; //获取焊工信息 string weldStr = "SELECT ProjectWelder.ProjectWelderId,ProjectWelder.WED_ID,Welder.WED_Code,Welder.WED_Name,ProjectWelder.IsSelected,ProjectWelder.SelectedMan,ProjectWelder.IsApprove,ProjectWelder.ApproveMan FROM dbo.Project_Welder AS ProjectWelder LEFT JOIN HJGL_BS_Welder AS Welder ON ProjectWelder.WED_ID = Welder.WED_ID WHERE ProjectWelder.ProjectId=@ProjectId "; SqlParameter[] weldParameter = new SqlParameter[] { new SqlParameter("@ProjectId", this.ProjectId) }; var welderdt = SQLHelper.GetDataTableRunText(weldStr, weldParameter); ///盖面焊工 drpCellWelder.DataTextField = "WED_Name"; drpCellWelder.DataValueField = "WED_ID"; drpCellWelder.DataSource = welderdt; drpCellWelder.DataBind(); ///打底焊工 drpFloorWelder.DataTextField = "WED_Name"; drpFloorWelder.DataValueField = "WED_ID"; drpFloorWelder.DataSource = welderdt; drpFloorWelder.DataBind(); this.BindGrid(); } //this.InitTreeMenu();//加载树 BindGrid(); } } #region 数据绑定 /// /// 数据绑定 /// private void BindGrid() { string strSql = @"SELECT weld.WeldingId,weldReport.DReportID,weldReport.ProjectId,weldReport.Remark,weldReport.ReportDate,weldReport.TableDate,weldReport.Tabler,weldReport.UnitId,weldReport.WeldDailyReportNo,project.ProjectCode,weld.WeldingCode,weld.WmeId,WeldMethod.WME_Name,weld.Confirmation,(case Confirmation when 0 then '未确认' when 1 then '已确认' else '' end) as ConfirmationName FROM PV_WeldInformation AS weld LEFT JOIN PV_BO_WeldReportMain as weldReport on weldReport.DReportID=weld.DReportID LEFT JOIN HJGL_BS_WeldMethod AS weldMethod ON weldMethod.WME_ID = weld.WmeId LEFT JOIN Base_Project as project on project.ProjectId=weld.ProjectId WHERE (select COUNT(1) from PV_ManagementMethod as manage where manage.WeldingId=weld.WeldingId)>0 and weld.ProjectId=@ProjectId and (weld.DReportID IS NULL OR weld.DReportID=@DReportID)"; List listStr = new List(); listStr.Add(new SqlParameter("@DReportID", this.DReportID)); listStr.Add(new SqlParameter("@ProjectId", this.ProjectId)); strSql += " ORDER BY weld.WeldingCode "; 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("WeldingId='" + jotId + "'").FirstOrDefault(); if (r != null) { dt.Rows.Remove(r); } } } // 2.获取当前分页数据 Grid1.RecordCount = dt.Rows.Count; Grid1.DataSource = dt; Grid1.DataBind(); } #endregion #region DropDownList下拉事件 /// /// 盖面、打底焊工一致 /// /// /// protected void drpCellWelder_OnSelectedIndexChanged(object sender, EventArgs e) { this.drpFloorWelder.SelectedValueArray = this.drpCellWelder.SelectedValueArray; } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { this.BindGrid(); } #endregion /// /// 添加 /// protected void btnAdd_Click(object sender, EventArgs e) { if (this.drpCellWelder.SelectedValue != Const._Null && this.drpFloorWelder.SelectedValue != Const._Null) { string itemsString = string.Empty; itemsString = String.Join(",", this.drpCellWelder.SelectedValueArray) + "|" + string.Join(",", this.drpFloorWelder.SelectedValueArray); 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 jointList = Request.Params["jointList"]; if (!string.IsNullOrEmpty(jointList)) { List olds = new List(); List news = SelectInfo; string[] jointIntos = jointList.Split('^'); foreach (string jot in jointIntos) { olds.Add(jot); //SelectInfo.Add(jot); } SelectInfo = new List(); if (olds.Count > 0) SelectInfo.AddRange(olds); SelectInfo.AddRange(news); } foreach (var item in SelectInfo) { itemsString += string.IsNullOrEmpty(itemsString) ? item : "#" + item; } PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString) + ActiveWindow.GetHidePostBackReference()); } else { ShowNotify("请选择焊工!", MessageBoxIcon.Warning); return; } } #endregion } }