CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/Comprehensive/PersonItem.aspx.cs

201 lines
8.4 KiB
C#

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.CQMS.Comprehensive
{
public partial class PersonItem : PageBase
{
#region
/// <summary>
/// 人员id
/// </summary>
public string InspectionPersonId
{
get
{
return (string)ViewState["InspectionPersonId"];
}
set
{
ViewState["InspectionPersonId"] = value;
}
}
#endregion
private static List<Model.SteelItem> steelItemLists = null;
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.InspectionPersonId = Request.Params["InspectionPersonId"];
BindGrid1();
BindGrid2();
}
}
/// <summary>
/// 材质数据绑定
/// </summary>
private void BindGrid1()
{
steelItemLists = new List<Model.SteelItem>();
List<Model.BS_Steel> lists = new List<Model.BS_Steel>();
lists = BLL.SteelService.GetAllSteelList();
foreach (var item in lists)
{
var personSteel = BLL.PersonSteelService.getInspectionPersonSteelBySteelId(item.STE_ID, this.InspectionPersonId);
if (personSteel!=null)
{
Model.SteelItem newSteel = new Model.SteelItem();
newSteel.STE_ID = item.STE_ID;
newSteel.STE_Code = item.STE_Code;
newSteel.STE_Name = item.STE_Name;
newSteel.STE_SteelType = item.STE_SteelType;
newSteel.STE_Remark = item.STE_Remark;
newSteel.ThicknessMin = personSteel.ThicknessMin;
newSteel.ThicknessMax = personSteel.ThicknessMax;
newSteel.SizesMin = personSteel.SizesMin;
newSteel.SizesMax = personSteel.SizesMax;
steelItemLists.Add(newSteel);
}
else
{
Model.SteelItem newSteel = new Model.SteelItem();
newSteel.STE_ID = item.STE_ID;
newSteel.STE_Code = item.STE_Code;
newSteel.STE_Name = item.STE_Name;
newSteel.STE_SteelType = item.STE_SteelType;
newSteel.STE_Remark = item.STE_Remark;
steelItemLists.Add(newSteel);
}
}
this.Grid1.DataSource = steelItemLists;
this.Grid1.DataBind();
//选中保存项
string steIds = string.Empty;
for (int i = 0; i < steelItemLists.Count; i++)
{
string id = this.Grid1.DataKeys[i][0].ToString();
var ins = BLL.PersonSteelService.getInspectionPersonSteelBySteelId(id, InspectionPersonId);
if (ins != null)
{
steIds += ins.SteelId + ",";
}
if (!string.IsNullOrEmpty(steIds))
{
this.Grid1.SelectedRowIDArray = steIds.Split(',').ToArray();
}
}
}
/// <summary>
/// 焊接方法绑定数据
/// </summary>
private void BindGrid2()
{
string strSql = @"SELECT WME_ID,WME_Code,WME_Name,WME_Remark FROM BS_WeldMethod order by WME_Code";
List<SqlParameter> listStr = new List<SqlParameter>();
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
//选中保存项
string weldMethodIds = string.Empty;
for (int i = 0; i < table.Rows.Count; i++)
{
string id = this.Grid2.DataKeys[i][0].ToString();
var ins = BLL.PersonWeldMethodService.getInspectionPersonWeldMethodByWeldMethodId(id, InspectionPersonId);
if (ins != null)
{
weldMethodIds += ins.WeldMethodId + ",";
}
if (!string.IsNullOrEmpty(weldMethodIds))
{
this.Grid2.SelectedRowIDArray = weldMethodIds.Split(',').ToArray();
}
}
}
#endregion
#region
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
BLL.PersonSteelService.DelPersonItem(this.InspectionPersonId);
BLL.PersonWeldMethodService.DelInspectionPersonWeldMethod(this.InspectionPersonId);
if (this.Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("没有选中任何材质操作项!", MessageBoxIcon.Warning);
return;
}
if (this.Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("没有选中任何焊接方法操作项!", MessageBoxIcon.Warning);
return;
}
//保存材质
JArray mergedData = Grid1.GetMergedData();
int[] steelLists = this.Grid1.SelectedRowIndexArray;
foreach (JObject mergedRow in mergedData)
{
int rowIndex = mergedRow.Value<int>("index");
if (steelLists.Contains(rowIndex))
{
JObject values = mergedRow.Value<JObject>("values");
string steId = values.Value<string>("STE_ID").ToString();
string txtThicknessMin = values.Value<string>("ThicknessMin").ToString();
string txtThicknessMax = values.Value<string>("ThicknessMax").ToString();
string txtSizesMin = values.Value<string>("SizesMin").ToString();
string txtSizesMax = values.Value<string>("SizesMax").ToString();
Model.Comprehensive_InspectionPersonSteel InspectionPersonItem = new Model.Comprehensive_InspectionPersonSteel();
InspectionPersonItem.InspectionPersonSteelId = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionPersonSteel));
InspectionPersonItem.InspectionPersonId = this.InspectionPersonId;
InspectionPersonItem.SteelId = steId;
InspectionPersonItem.ThicknessMin = Funs.GetNewDecimal(txtThicknessMin.Trim());
InspectionPersonItem.ThicknessMax = Funs.GetNewDecimal(txtThicknessMax.Trim());
InspectionPersonItem.SizesMin = Funs.GetNewDecimal(txtSizesMin.Trim());
InspectionPersonItem.SizesMax = Funs.GetNewDecimal(txtSizesMax.Trim());
InspectionPersonItem.IsChecked = true;
BLL.PersonSteelService.AddDInspectionPersonItem(InspectionPersonItem);
}
}
//保存焊接方法
int weldMethodRowCount = Grid2.SelectedRowIndexArray.Length;
for (int i = 0; i < weldMethodRowCount; i++)
{
string wmeId = Grid2.SelectedRowIDArray[i];
Model.Comprehensive_InspectionPersonWeldMethod InspectionPersonWeldMethod = new Model.Comprehensive_InspectionPersonWeldMethod();
InspectionPersonWeldMethod.InspectionPersonWeldMethodId = SQLHelper.GetNewID(typeof(Model.Comprehensive_InspectionPersonWeldMethod));
InspectionPersonWeldMethod.InspectionPersonId = this.InspectionPersonId;
InspectionPersonWeldMethod.WeldMethodId = wmeId;
InspectionPersonWeldMethod.IsChecked = true;
BLL.PersonWeldMethodService.AddInspectionPersonWeldMethod(InspectionPersonWeldMethod);
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}