ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/YLRQ/ConstructionManagement/WeldReportItemEdit.aspx.cs

218 lines
9.1 KiB
C#

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
{
/// <summary>
/// 单位主键
/// </summary>
public string UnitId { get { return (string)ViewState["UnitId"]; } set { ViewState["UnitId"] = value; } }
/// <summary>
/// 装置主键
/// </summary>
public string InstallationId { get { return (string)ViewState["InstallationId"]; } set { ViewState["InstallationId"] = value; } }
/// <summary>
/// 焊口主键
/// </summary>
public string Jot_ID { get { return (string)ViewState["Jot_ID"]; } set { ViewState["Jot_ID"] = value; } }
/// <summary>
///
/// </summary>
public List<string> SelectInfo { get { return (List<string>)ViewState["SelectInfo"]; } set { ViewState["SelectInfo"] = value; } }
/// <summary>
///
/// </summary>
public string JointIdList { get { return (string)ViewState["JointIdList"]; } set { ViewState["JointIdList"] = value; } }
/// <summary>
/// 日报主键
/// </summary>
public string DReportID { get { return (string)ViewState["DReportID"]; } set { ViewState["DReportID"] = value; } }
/// <summary>
/// 项目
/// </summary>
public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } }
/// <summary>
/// 被选择项列表
/// </summary>
public List<string> SelectedList { get { return (List<string>)ViewState["SelectedList"]; } set { ViewState["SelectedList"] = value; } }
/// <summary>
/// 加载页面
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.SelectedList = new List<string>();
this.SelectInfo = new List<string>();
string strList = Request.Params["strList"];
List<string> 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
/// <summary>
/// 数据绑定
/// </summary>
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<SqlParameter> listStr = new List<SqlParameter>();
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下拉事件
/// <summary>
/// 盖面、打底焊工一致
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpCellWelder_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.drpFloorWelder.SelectedValueArray = this.drpCellWelder.SelectedValueArray;
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
/// <summary>
/// 添加
/// </summary>
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
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<string> olds = new List<string>();
List<string> news = SelectInfo;
string[] jointIntos = jointList.Split('^');
foreach (string jot in jointIntos)
{
olds.Add(jot);
//SelectInfo.Add(jot);
}
SelectInfo = new List<string>();
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
}
}