438 lines
15 KiB
C#
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
|
|
}
|
|
} |