using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.HJGL.PersonManage { public partial class PersonItem : PageBase { #region 定义项 /// /// 焊工id /// public string WED_ID { get { return (string)ViewState["WED_ID"]; } set { ViewState["WED_ID"] = value; } } /// /// 焊接材质集合 /// private static List BS_SteelList = new List(); /// /// 焊接位置集合 /// private static List BS_WeldPositionList = new List(); /// /// 焊接方法集合 /// private static List BS_WeldMethodList = new List(); #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.WED_ID = Request.Params["welderId"]; var welder = BLL.WelderService.GetWelderById(this.WED_ID); if (welder != null) { this.lbWelderName.Text = welder.WED_Name; //焊接材质初始化 this.Tab2Load(); //焊接方法初始化 this.Tab4Load(); } else { Alert.ShowInTop("焊工信息不正确!", MessageBoxIcon.Error); } } } #endregion #region 焊接材质 #region 焊接材质初始化 /// /// 材质初始化 /// protected void Tab2Load() { BS_SteelList = new List(); var items = from x in Funs.DB.BS_WelderItem where x.WED_ID == this.WED_ID select x.STE_ID; if (items.Count() > 0) { foreach (var item in items) { BS_SteelList.Add(item); } } gvBS_SteelBindGrid(); } #endregion #region 焊接材质绑定数据 /// /// 绑定数据 /// private void gvBS_SteelBindGrid() { string strSql = @"SELECT steel.STE_ID,STE_Code,STE_Name,STE_SteelType,STE_Remark," + @" (CASE WHEN STE_SteelType='1' THEN '碳钢' WHEN STE_SteelType='2' THEN '不锈钢' WHEN STE_SteelType='3' THEN '鉻目钢' WHEN STE_SteelType='4' THEN '低合金钢' WHEN STE_SteelType='5' THEN '镍合金钢' WHEN STE_SteelType='6' THEN '钛合金钢' WHEN STE_SteelType='7' THEN '其他' WHEN STE_SteelType='8' THEN '异种钢接头' WHEN STE_SteelType='9' THEN '低温钢' WHEN STE_SteelType='10' THEN '复合钢' END) AS STE_SteelTypeName, item.ThicknessMax, item.ThicknessMin, item.SizesMax, item.SizesMin" + @" FROM BS_Steel as steel" + @" left join BS_WelderItem as item on item.STE_ID = steel.STE_ID WHERE 1=1 "; List listStr = new List(); if (!string.IsNullOrEmpty(this.txtSTE_Name.Text.Trim())) { strSql += " AND STE_Name LIKE @STE_Name"; listStr.Add(new SqlParameter("@STE_Name", "%" + this.txtSTE_Name.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(this.txtSTE_Code.Text.Trim())) { strSql += " AND STE_Code LIKE @STE_Code"; listStr.Add(new SqlParameter("@STE_Code", "%" + this.txtSTE_Code.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 //var table = this.GetPagedDataTable(gvBS_Steel, tb1); gvBS_Steel.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(gvBS_Steel.FilteredData, tb); var table = this.GetPagedDataTable(gvBS_Steel, tb); gvBS_Steel.DataSource = table; gvBS_Steel.DataBind(); if (BS_SteelList.Count() > 0) { List lists = new List(); for (int i = 0; i < gvBS_Steel.Rows.Count; i++) { string id = gvBS_Steel.DataKeys[i][0].ToString(); if (BS_SteelList.Contains(id)) { lists.Add(id); } } gvBS_Steel.SelectedRowIDArray = lists.ToArray(); } } #endregion #region 焊接材质保存方法 /// /// 焊接材质保存方法 /// private void SaveTab2Data() { BLL.WelderItemService.DeleteItemByWenId(this.WED_ID); foreach (var item in gvBS_Steel.SelectedRowIDArray) { Model.BS_WelderItem welderItem = new Model.BS_WelderItem(); welderItem.WEDItem_ID = SQLHelper.GetNewID(typeof(Model.BS_WelderItem)); welderItem.WED_ID = this.WED_ID; welderItem.STE_ID = item; //增加焊接壁厚、焊接尺寸 JArray EditorPMArr = gvBS_Steel.GetMergedData(); if (EditorPMArr.Count > 0) { JArray mergedData = gvBS_Steel.GetMergedData(); int i = 0; foreach (JObject mergedRow in EditorPMArr) { string steId = gvBS_Steel.DataKeys[i][0].ToString(); JObject values = mergedRow.Value("values"); if (steId == item) { welderItem.ThicknessMin = Funs.GetNewDecimal(values.Value("ThicknessMin").ToString()); welderItem.ThicknessMax = Funs.GetNewDecimal(values.Value("ThicknessMax").ToString()); welderItem.SizesMin = Funs.GetNewDecimal(values.Value("SizesMin").ToString()); welderItem.SizesMax = Funs.GetNewDecimal(values.Value("SizesMax").ToString()); } i++; } } BLL.WelderItemService.AddWelderItem(welderItem); } } #endregion #endregion #region 焊接方法 #region 焊接方法初始化 /// /// 方法初始化 /// protected void Tab4Load() { BS_WeldMethodList = new List(); var items = from x in Funs.DB.BS_WeldMethodItem where x.WED_ID == this.WED_ID select x.WME_ID; if (items.Count() > 0) { foreach (var item in items) { BS_WeldMethodList.Add(item); } } gvBS_WeldMethodBindGrid(); } #endregion #region 焊接方法绑定数据 /// /// 绑定数据 /// private void gvBS_WeldMethodBindGrid() { string strSql = @"SELECT WeldingMethodId,WeldingMethodCode,WeldingMethodName,Remark" + @" FROM [dbo].[Base_WeldingMethod] WHERE 1=1"; List listStr = new List(); if (!string.IsNullOrEmpty(this.txtWME_Name.Text.Trim())) { strSql += " AND WeldingMethodName LIKE @WME_Name"; listStr.Add(new SqlParameter("@WME_Name", "%" + this.txtWME_Name.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(this.txtWME_Code.Text.Trim())) { strSql += " AND WeldingMethodCode LIKE @WME_Code"; listStr.Add(new SqlParameter("@WME_Code", "%" + this.txtWME_Code.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); // 2.获取当前分页数据 //var table = this.GetPagedDataTable(gvBS_WeldMethod, tb1); gvBS_WeldMethod.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(gvBS_WeldMethod.FilteredData, tb); var table = this.GetPagedDataTable(gvBS_WeldMethod, tb); gvBS_WeldMethod.DataSource = table; gvBS_WeldMethod.DataBind(); if (BS_WeldMethodList.Count() > 0) { List lists = new List(); for (int i = 0; i < gvBS_WeldMethod.Rows.Count; i++) { string id = gvBS_WeldMethod.DataKeys[i][0].ToString(); if (BS_WeldMethodList.Contains(id)) { lists.Add(id); } } gvBS_WeldMethod.SelectedRowIDArray = lists.ToArray(); } } #endregion #region 焊接方法保存方法 /// /// 焊接方法保存方法 /// private void SaveTab4Data() { BLL.WeldMethodItemService.DeleteWeldMethodItem(this.WED_ID); foreach (var item in gvBS_WeldMethod.SelectedRowIDArray) { Model.BS_WeldMethodItem weldMethodItem = new Model.BS_WeldMethodItem(); weldMethodItem.WeldMethodItemId = SQLHelper.GetNewID(typeof(Model.BS_WeldMethodItem)); weldMethodItem.WED_ID = this.WED_ID; weldMethodItem.WME_ID = item; BLL.WeldMethodItemService.AddWeldMethodItem(weldMethodItem); } } #endregion #endregion #region 保存按钮 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { /// 焊接材质保存方法 this.SaveTab2Data(); /// 焊接方法保存方法 this.SaveTab4Data(); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.gvBS_SteelBindGrid(); this.gvBS_WeldMethodBindGrid(); } #endregion } }