ChengDa_English/SGGL/FineUIPro.Web/HJGL/WeldingManage/WeldReportItemEdit.aspx.cs

438 lines
15 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
namespace FineUIPro.Web.HJGL.WeldingManage
{
public partial class WeldReportItemEdit : PageBase
{
#region
/// <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 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;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.SelectedList = new List<string>();
//this.NoSelectedList = new List<string>();
string strList = Request.Params["strList"];
List<string> list = Funs.GetStrListByStr(strList, '|');
if (list.Count() == 4)
{
this.ProjectId = list[0];
this.UnitId = list[1];
this.DReportID = list[2];
this.InstallationId = list[3];
BLL.WorkAreaService.InitWorkAreaProjectInstallUnitDropDownList(this.drpWorkArea, this.CurrUser.LoginProjectId, this.InstallationId, this.UnitId, true);
///盖面焊工
drpCellWelder.DataTextField = "Text";
drpCellWelder.DataValueField = "Value";
drpCellWelder.DataSource = BLL.WelderService.GetWelderCodeListByProjectIdAndUnitId(this.CurrUser.LoginProjectId, this.UnitId);
drpCellWelder.DataBind();
Funs.FineUIPleaseSelect(this.drpCellWelder);
///打底焊工
drpFloorWelder.DataTextField = "Text";
drpFloorWelder.DataValueField = "Value";
drpFloorWelder.DataSource = BLL.WelderService.GetWelderCodeListByProjectIdAndUnitId(this.CurrUser.LoginProjectId, this.UnitId);
drpFloorWelder.DataBind();
//this.BindGrid();
Funs.FineUIPleaseSelect(this.drpFloorWelder);
}
//this.InitTreeMenu();//加载树
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
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.PW_IsoInfo where x.ProjectId == this.ProjectId && x.UnitId == this.UnitId orderby x.ISO_IsoNo select x).ToList();
if (this.drpWorkArea.SelectedValue != BLL.Const._Null)
{
iso= (from x in iso where x.WorkAreaId==this.drpWorkArea.SelectedValue 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
/// <summary>
/// 数据绑定
/// </summary>
private void BindGrid()
{
string isoId = this.tvControlItem.SelectedNodeID;
string strSql = @"SELECT distinct CONVERT(INT,dbo.Fun_GetParseInt(jot.JOT_JointNo) ) [index],jot.JOT_ID,jot.JOT_JointNo,jot.ISO_IsoNo,jot.JOT_JointDesc,
jot.STE_Name1,jot.STE_Name2
FROM dbo.View_JointInfo jot
WHERE (jot.DReportID IS NULL OR jot.DReportID=@DReportID)
AND jot.ProjectId=@ProjectId AND jot.ISO_ID=@ISO_ID";
if (!string.IsNullOrEmpty(txtJOT_JointNo.Text))
{
strSql += " AND jot.JOT_JointNo like '%"+txtJOT_JointNo.Text+"%'";
}
var welder = WelderService.GetWelderByCode(this.CurrUser.LoginProjectId,this.drpCellWelder.SelectedValue);
if (welder != null)
{
var items = (from x in Funs.DB.BS_WeldMethodItem where x.WED_ID == welder.WED_ID select x.WME_ID).FirstOrDefault();
if (items != null)
{
strSql += " AND jot.WME_ID in (select WME_ID from BS_WeldMethodItem where WED_ID='" + welder.WED_ID + "')";
}
if (!string.IsNullOrEmpty(welder.JOT_Sch))
{
strSql += " AND jot.JOT_Sch in ('" + welder.JOT_Sch.Replace(",", "','") + "')";
}
if (!string.IsNullOrEmpty(welder.Steels))
{
strSql += "AND jot.MaterialId in (select MaterialId from Base_Material where SteelType in (" + welder.Steels + "))";
}
}
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@DReportID", this.DReportID));
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
listStr.Add(new SqlParameter("@ISO_ID", isoId));
strSql += " ORDER BY [index]";
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);
}
//Model.HJGL_SpRpWeldReportItem item = toDoMatterList.FirstOrDefault(e => e.JOT_ID == jotId);
//if (item != null)
//{
// toDoMatterList.Remove(item);
//}
}
}
if (dt != null)
{
foreach (DataRow row in dt.Rows)
{
try
{
row["index"] = int.Parse(System.Text.RegularExpressions.Regex.Replace(row["JOT_JointNo"].ToString(), @"[^0-9]+", ""));
}
catch (Exception e)
{
row["index"] = 0;
}
}
}
//DataTable tb = this.LINQToDataTable(toDoMatterList);
// 2.获取当前分页数据
Grid1.RecordCount = dt.Rows.Count;
var table = this.GetPagedDataTable(Grid1, dt);
table = GetFilteredTable(Grid1.FilteredData, table);
Grid1.DataSource = table;
Grid1.DataBind();
//string[] arr = new string[this.Grid1.Rows.Count];
//int a = 0;
//for (int i = 0; i < this.Grid1.Rows.Count; i++)
//{
// string rowId = this.Grid1.Rows[i].DataKeys[0].ToString();
// if (jotIds.Contains(rowId))
// {
// arr[a] = rowId;
// }
// a++;
//}
//Grid1.SelectedRowIDArray = arr;
}
#endregion
#region 线
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Tree_TextChanged(object sender, EventArgs e)
{
this.InitTreeMenu();
this.BindGrid();
}
#endregion
#region TreeView
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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下拉事件
/// <summary>
/// 盖面、打底焊工一致
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpCellWelder_OnSelectedIndexChanged(object sender, EventArgs e)
{
this.drpFloorWelder.SelectedValue = this.drpCellWelder.SelectedValue;
this.BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
//protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
//{
// BindGrid();
//}
protected void txtJOT_JointNo_TextChanged(object sender, EventArgs 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);
//}
}
BindGrid();
}
#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[] 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 jotIds = Request.Params["jotIds"];
if (!string.IsNullOrEmpty(jotIds))
{
string[] jots = jotIds.Split('|');
foreach (string jotId in jots)
{
SelectedList.Add(jotId);
}
}
var welders = from x in Funs.DB.BS_Welder where x.ProjectId == this.CurrUser.LoginProjectId && x.WED_Unit == this.UnitId select x;
string cellWelderId = string.Empty,floorWelderId=string.Empty;
var cellWelder = welders.FirstOrDefault(x=>x.WED_Code==this.drpCellWelder.SelectedValue);
if (cellWelder != null)
{
cellWelderId = cellWelder.WED_ID;
}
var floorWelder = welders.FirstOrDefault(x => x.WED_Code == this.drpFloorWelder.SelectedValue);
if (floorWelder != null)
{
floorWelderId = floorWelder.WED_ID;
}
itemsString = cellWelderId + "|" + floorWelderId + "#";
foreach (var item in SelectedList)
{
if (!itemsString.Contains(item))
{
itemsString += item + "|";
}
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString)
+ ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("请选择焊工!", MessageBoxIcon.Warning);
return;
}
}
#endregion
}
}