497 lines
17 KiB
C#
497 lines
17 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Data.SqlClient;
|
|||
|
using System.Linq;
|
|||
|
using BLL;
|
|||
|
|
|||
|
namespace FineUIPro.Web.HJGL.HotProessManage
|
|||
|
{
|
|||
|
public partial class HotProessTrustItemEdit : PageBase
|
|||
|
{
|
|||
|
#region 定义项
|
|||
|
/// <summary>
|
|||
|
/// 项目主键
|
|||
|
/// </summary>
|
|||
|
public string ProjectId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["ProjectId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["ProjectId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <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 HotProessTrustId
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["HotProessTrustId"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["HotProessTrustId"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 选择内容字符串
|
|||
|
/// </summary>
|
|||
|
public string ItemsString
|
|||
|
{
|
|||
|
get
|
|||
|
{
|
|||
|
return (string)ViewState["ItemsString"];
|
|||
|
}
|
|||
|
set
|
|||
|
{
|
|||
|
ViewState["ItemsString"] = value;
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 加载页面
|
|||
|
/// <summary>
|
|||
|
/// 加载页面
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
ItemsString = string.Empty;
|
|||
|
string strList = Request.Params["strList"];
|
|||
|
List<string> list = Funs.GetStrListByStr(strList, '|');
|
|||
|
if (list.Count() == 3)
|
|||
|
{
|
|||
|
this.UnitId = list[0];
|
|||
|
this.HotProessTrustId = list[1];
|
|||
|
this.ProjectId = list[2];
|
|||
|
this.InitTreeMenu();//加载树
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 加载管线信息
|
|||
|
/// <summary>
|
|||
|
/// 加载树
|
|||
|
/// </summary>
|
|||
|
private void InitTreeMenu()
|
|||
|
{
|
|||
|
this.tvControlItem.Nodes.Clear();
|
|||
|
TreeNode rootNode = new TreeNode();
|
|||
|
rootNode.Text = "管线号";
|
|||
|
rootNode.NodeID = "0";
|
|||
|
rootNode.ToolTip = "绿色表示管线下有已焊接的焊口未委托热处理";
|
|||
|
rootNode.Expanded = true;
|
|||
|
this.tvControlItem.Nodes.Add(rootNode);
|
|||
|
var weldJoints = from x in Funs.DB.HJGL_PW_JointInfo
|
|||
|
where x.DReportID != null
|
|||
|
select x; //已经焊接的焊口集合
|
|||
|
var hotProessItems = from x in Funs.DB.HJGL_CH_HotProessTrustItem select x; //热处理委托明细集合
|
|||
|
var iso = from x in Funs.DB.HJGL_PW_IsoInfo where x.ProjectId == this.ProjectId && x.BSU_ID == this.UnitId select x;
|
|||
|
if (!string.IsNullOrEmpty(this.txtIsono.Text))
|
|||
|
{
|
|||
|
iso = iso.Where(e => e.ISO_IsoNo.Contains(this.txtIsono.Text.Trim()));
|
|||
|
}
|
|||
|
|
|||
|
iso = iso.OrderBy(x => x.ISO_IsoNo);
|
|||
|
if (iso.Count() > 0)
|
|||
|
{
|
|||
|
foreach (var q in iso)
|
|||
|
{
|
|||
|
var jots = from x in Funs.DB.HJGL_PW_JointInfo where x.ISO_ID == q.ISO_ID && x.IS_Proess == "1" select x;
|
|||
|
if (jots.Count() > 0)
|
|||
|
{
|
|||
|
TreeNode newNode = new TreeNode();
|
|||
|
newNode.NodeID = q.ISO_ID;
|
|||
|
var isoWeldJoints = weldJoints.Where(x => x.ISO_ID == q.ISO_ID); //该管线已焊接的焊口集合
|
|||
|
bool isHotProess = true; //默认已完成热处理委托
|
|||
|
foreach (var item in isoWeldJoints)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(item.ProessTypes)) //需要热处理
|
|||
|
{
|
|||
|
string[] strs = item.ProessTypes.Split('|');
|
|||
|
if (strs.Contains("3"))
|
|||
|
{
|
|||
|
var hotProessItem1 = hotProessItems.Where(x => x.JOT_ID == item.JOT_ID && x.ProessTypes == "3");
|
|||
|
if (hotProessItem1.Count()==0)
|
|||
|
{
|
|||
|
isHotProess = false; //未完成热处理委托
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (strs.Contains("4"))
|
|||
|
{
|
|||
|
var hotProessItem2 = hotProessItems.Where(x => x.JOT_ID == item.JOT_ID && x.ProessTypes == "4");
|
|||
|
if (hotProessItem2.Count() == 0)
|
|||
|
{
|
|||
|
isHotProess = false; //未完成热处理委托
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (strs.Contains("5"))
|
|||
|
{
|
|||
|
var hotProessItem3 = hotProessItems.Where(x => x.JOT_ID == item.JOT_ID && x.ProessTypes == "5");
|
|||
|
if (hotProessItem3.Count() == 0)
|
|||
|
{
|
|||
|
isHotProess = false; //未完成热处理委托
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
if (isHotProess)
|
|||
|
{
|
|||
|
newNode.Text = q.ISO_IsoNo;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
newNode.Text = "<font color='#009966'>" + q.ISO_IsoNo + "</font>";
|
|||
|
}
|
|||
|
newNode.EnableClickEvent = true;
|
|||
|
rootNode.Nodes.Add(newNode);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
#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 数据绑定
|
|||
|
/// <summary>
|
|||
|
/// 数据绑定
|
|||
|
/// </summary>
|
|||
|
private void BindGrid()
|
|||
|
{
|
|||
|
List<Model.HJGL_View_CH_HotProessTrustItem> toDoMatterList = BLL.HJGL_CH_HotProessTrustService.GetHotProessTrustFind(this.ProjectId, this.HotProessTrustId, this.tvControlItem.SelectedNodeID);
|
|||
|
if (rblIsWeld.SelectedValue == "0")
|
|||
|
{
|
|||
|
toDoMatterList = toDoMatterList.Where(x => x.DReportID == null).ToList();
|
|||
|
}
|
|||
|
if (rblIsWeld.SelectedValue == "1")
|
|||
|
{
|
|||
|
toDoMatterList = toDoMatterList.Where(x => x.DReportID != null).ToList();
|
|||
|
}
|
|||
|
if (this.txtJointNo.Text.Trim() != string.Empty)
|
|||
|
{
|
|||
|
toDoMatterList = toDoMatterList.Where(x => x.JOT_JointNo.Contains(this.txtJointNo.Text.Trim())).ToList();
|
|||
|
}
|
|||
|
string jotIds = Request.Params["jotIds"];
|
|||
|
if (!string.IsNullOrEmpty(jotIds))
|
|||
|
{
|
|||
|
string[] jots = jotIds.Split('|');
|
|||
|
foreach (string jotId in jots)
|
|||
|
{
|
|||
|
Model.HJGL_View_CH_HotProessTrustItem item = toDoMatterList.FirstOrDefault(e => e.JOT_ID == jotId);
|
|||
|
if (item != null)
|
|||
|
{
|
|||
|
toDoMatterList.Remove(item);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
DataTable tb = this.LINQToDataTable(toDoMatterList);
|
|||
|
// 2.获取当前分页数据
|
|||
|
//var table = this.GetPagedDataTable(GridNewDynamic, tb1);
|
|||
|
Grid1.RecordCount = tb.Rows.Count;
|
|||
|
tb = GetFilteredTable(Grid1.FilteredData, tb);
|
|||
|
var table = this.GetPagedDataTable(Grid1, tb);
|
|||
|
|
|||
|
Grid1.DataSource = table;
|
|||
|
Grid1.DataBind();
|
|||
|
}
|
|||
|
#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;
|
|||
|
int n = 0;
|
|||
|
int j = 0;
|
|||
|
int[] selections = new int[selectRowId.Count()];
|
|||
|
foreach (GridRow row in Grid1.Rows)
|
|||
|
{
|
|||
|
if (selectRowId.Contains(row.DataKeys[0]))
|
|||
|
{
|
|||
|
selections[n] = j;
|
|||
|
n++;
|
|||
|
}
|
|||
|
j++;
|
|||
|
}
|
|||
|
var select = selections.Distinct();
|
|||
|
foreach (int i in select)
|
|||
|
{
|
|||
|
string rowID = Grid1.DataKeys[i][0].ToString();
|
|||
|
string hardTestResultId = Grid1.Rows[i].Values[4].ToString();
|
|||
|
string hardRepairMark = Grid1.Rows[i].Values[5].ToString();
|
|||
|
string ids = rowID;
|
|||
|
if (!string.IsNullOrEmpty(hardTestResultId))
|
|||
|
{
|
|||
|
ids += "," + hardTestResultId;
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(hardRepairMark))
|
|||
|
{
|
|||
|
ids += "," + hardRepairMark;
|
|||
|
}
|
|||
|
if (!ItemsString.Contains(rowID))
|
|||
|
{
|
|||
|
ItemsString += ids + "|";
|
|||
|
}
|
|||
|
}
|
|||
|
this.BindGrid();
|
|||
|
}
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 提交按钮
|
|||
|
/// <summary>
|
|||
|
/// 提交按钮
|
|||
|
/// </summary>
|
|||
|
/// <param name="sender"></param>
|
|||
|
/// <param name="e"></param>
|
|||
|
protected void btnAccept_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
string itemsString = "";
|
|||
|
//if (Grid1.SelectedRowIndexArray.Length > 0)
|
|||
|
//{
|
|||
|
// foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
|||
|
// {
|
|||
|
// string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
|||
|
// string trustItemID = Grid1.Rows[rowIndex].Values[5].ToString();
|
|||
|
// if (!itemsString.Contains(rowID))
|
|||
|
// {
|
|||
|
// itemsString += rowID + "," + trustItemID + "|";
|
|||
|
// }
|
|||
|
// }
|
|||
|
//}
|
|||
|
string[] selectRowId = Grid1.SelectedRowIDArray;
|
|||
|
int n = 0;
|
|||
|
int j = 0;
|
|||
|
int[] selections = new int[selectRowId.Count()];
|
|||
|
foreach (GridRow row in Grid1.Rows)
|
|||
|
{
|
|||
|
if (selectRowId.Contains(row.DataKeys[0]))
|
|||
|
{
|
|||
|
selections[n] = j;
|
|||
|
n++;
|
|||
|
}
|
|||
|
j++;
|
|||
|
}
|
|||
|
var select = selections.Distinct();
|
|||
|
string jotIds = Request.Params["jotIds"];
|
|||
|
if (!string.IsNullOrEmpty(jotIds))
|
|||
|
{
|
|||
|
string[] jots = jotIds.Split('|');
|
|||
|
foreach (string jotId in jots)
|
|||
|
{
|
|||
|
itemsString += jotId + "|";
|
|||
|
}
|
|||
|
}
|
|||
|
foreach (int i in select)
|
|||
|
{
|
|||
|
string rowID = Grid1.DataKeys[i][0].ToString();
|
|||
|
string hardTestResultId = Grid1.Rows[i].Values[4].ToString();
|
|||
|
string hardRepairMark = Grid1.Rows[i].Values[5].ToString();
|
|||
|
string ids = rowID;
|
|||
|
if (!string.IsNullOrEmpty(hardTestResultId))
|
|||
|
{
|
|||
|
ids += "," + hardTestResultId;
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(hardRepairMark))
|
|||
|
{
|
|||
|
ids += "," + hardRepairMark;
|
|||
|
}
|
|||
|
if (!itemsString.Contains(rowID))
|
|||
|
{
|
|||
|
itemsString += ids + "|";
|
|||
|
}
|
|||
|
}
|
|||
|
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(itemsString + ItemsString)
|
|||
|
+ ActiveWindow.GetHidePostBackReference());
|
|||
|
}
|
|||
|
#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>
|
|||
|
/// <param name="bigType"></param>
|
|||
|
/// <returns></returns>
|
|||
|
protected string ConvertWeldDate(object JOT_ID)
|
|||
|
{
|
|||
|
string date = string.Empty;
|
|||
|
if (JOT_ID != null)
|
|||
|
{
|
|||
|
var dayReport = (from x in Funs.DB.HJGL_BO_WeldReportMain
|
|||
|
join y in Funs.DB.HJGL_PW_JointInfo
|
|||
|
on x.DReportID equals y.DReportID
|
|||
|
where y.JOT_ID == JOT_ID.ToString()
|
|||
|
select x).FirstOrDefault();
|
|||
|
if (dayReport != null && dayReport.JOT_WeldDate != null)
|
|||
|
{
|
|||
|
date = string.Format("{0:yyyy-MM-dd}", dayReport.JOT_WeldDate);
|
|||
|
}
|
|||
|
}
|
|||
|
return date;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 得到委托情况
|
|||
|
/// </summary>
|
|||
|
/// <param name="bigType"></param>
|
|||
|
/// <returns></returns>
|
|||
|
protected string ConvertHotProessState(object JOT_ID)
|
|||
|
{
|
|||
|
string state = string.Empty;
|
|||
|
if (JOT_ID != null)
|
|||
|
{
|
|||
|
string jot_id = JOT_ID.ToString();
|
|||
|
var list = from x in Funs.DB.HJGL_View_CH_HotProessTrustItem
|
|||
|
where x.JOT_ID == jot_id
|
|||
|
select x;
|
|||
|
foreach (var item in list)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(item.HotProessTrustId)) //存在委托信息
|
|||
|
{
|
|||
|
string date = string.Empty;
|
|||
|
if (item.TrustDate != null)
|
|||
|
{
|
|||
|
date = "(" + string.Format("{0:yyyy-MM-dd}", item.TrustDate) + ")";
|
|||
|
}
|
|||
|
//state += BLL.HJGL_CH_HotProessTrustService.GetProessTypesName(item.ProessTypes) + ":" + item.IsOKStr2 + date + ";";
|
|||
|
state += BLL.HJGL_CH_HotProessTrustService.GetProessTypesName(item.ProessTypes) + ":" + date + ";";
|
|||
|
}
|
|||
|
}
|
|||
|
if (!string.IsNullOrEmpty(state))
|
|||
|
{
|
|||
|
state = state.Substring(0, state.LastIndexOf(";"));
|
|||
|
}
|
|||
|
}
|
|||
|
return state;
|
|||
|
}
|
|||
|
|
|||
|
protected void rblIsWeld_SelectedIndexChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
this.BindGrid();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 是否返修口
|
|||
|
/// </summary>
|
|||
|
/// <param name="bigType"></param>
|
|||
|
/// <returns></returns>
|
|||
|
protected string ConvertIsRepair(object TrustItemID)
|
|||
|
{
|
|||
|
string state = string.Empty;
|
|||
|
if (TrustItemID != null)
|
|||
|
{
|
|||
|
string trustItemID = TrustItemID.ToString();
|
|||
|
if (!string.IsNullOrEmpty(trustItemID))
|
|||
|
{
|
|||
|
state = "是";
|
|||
|
}
|
|||
|
}
|
|||
|
return state;
|
|||
|
}
|
|||
|
|
|||
|
#region 格式化字符串
|
|||
|
/// <summary>
|
|||
|
/// 得到热处理类型
|
|||
|
/// </summary>
|
|||
|
/// <param name="bigType"></param>
|
|||
|
/// <returns></returns>
|
|||
|
protected string ConvertProessTypes(object JOT_ID)
|
|||
|
{
|
|||
|
string proessTypes = string.Empty;
|
|||
|
if (JOT_ID != null)
|
|||
|
{
|
|||
|
Model.HJGL_PW_JointInfo joint = BLL.HJGL_PW_JointInfoService.GetJointInfoByJotID(JOT_ID.ToString());
|
|||
|
if (joint != null)
|
|||
|
{
|
|||
|
if (!string.IsNullOrEmpty(joint.ProessTypes))
|
|||
|
{
|
|||
|
proessTypes = BLL.HJGL_PW_JointInfoService.ConvertProessTypes(joint.ProessTypes);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return proessTypes;
|
|||
|
}
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|