using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using BLL;
using Newtonsoft.Json.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HJGL.TestPackage
{
public partial class TestPackageItemEdit : PageBase
{
#region 定义项
///
/// 试压包主键
///
public string PTP_ID
{
get
{
return (string)ViewState["PTP_ID"];
}
set
{
ViewState["PTP_ID"] = value;
}
}
#endregion
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString();
this.PTP_ID = Request.Params["PTP_ID"];
//List units = new List();
//var pUnit = BLL.ProjectUnitService.GetProjectUnitByUnitIdProjectId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId);
//if (pUnit == null || pUnit.UnitType == BLL.Const.ProjectUnitType_1 || pUnit.UnitType == BLL.Const.ProjectUnitType_2
// || pUnit.UnitType == BLL.Const.ProjectUnitType_5)
//{
// units = (from x in Funs.DB.Base_Unit
// join y in Funs.DB.Project_ProjectUnit on x.UnitId equals y.UnitId
// where y.ProjectId == this.CurrUser.LoginProjectId && y.UnitType.Contains(BLL.Const.ProjectUnitType_2)
// select x).ToList();
//}
//else
//{
// units.Add(BLL.UnitService.GetUnitByUnitId(this.CurrUser.UnitId));
//}
/////单位
//this.drpUnit.DataTextField = "UnitName";
//this.drpUnit.DataValueField = "UnitId";
//this.drpUnit.DataSource = units;
//this.drpUnit.DataBind();
//Funs.FineUIPleaseSelect(this.drpUnit);
BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);//单位
BLL.UnitWorkService.InitUnitWorkDropDownList(drpUnitWork, this.CurrUser.LoginProjectId, true);
var list = (from x in Funs.DB.PTP_PipelineList
where x.PTP_ID == this.PTP_ID
select x).ToList();
if (list.Count() > 0)
{
foreach (var infoRow in list)
{
this.hdPipelinesId.Text += infoRow.PipelineId + ",";
}
}
if (!string.IsNullOrEmpty(hdPipelinesId.Text))
{
hdPipelinesId.Text = hdPipelinesId.Text.Substring(0, hdPipelinesId.Text.Length - 1);
}
this.PageInfoLoad(); ///加载页面
if (!string.IsNullOrEmpty(Request.Params["type"]))
{
this.btnFind.Hidden = true;
this.btnSave.Hidden = true;
}
}
}
#endregion
#region 加载页面输入保存信息
///
/// 加载页面输入保存信息
///
private void PageInfoLoad()
{
var testPackageManage = BLL.TestPackageEditService.GetTestPackageByID(this.PTP_ID);
if (testPackageManage != null)
{
this.txtTestPackageNo.Text = testPackageManage.TestPackageNo;
if (!string.IsNullOrEmpty(testPackageManage.UnitId))
{
this.drpUnit.SelectedValue = testPackageManage.UnitId;
}
if (!string.IsNullOrEmpty(testPackageManage.UnitWorkId))
{
//BLL.UnitWorkService.InitUnitWorkDropDownList(drpUnitWork, this.CurrUser.LoginProjectId,true);
drpUnitWork.SelectedValue = testPackageManage.UnitWorkId;
//var UnitWork = this.drpUnitWork.Items.FirstOrDefault(x => x.Value == testPackageManage.UnitWorkId);
}
this.txtTestPackageName.Text = testPackageManage.TestPackageName;
this.txtRemark.Text = testPackageManage.Remark;
this.txtadjustTestPressure.Text = testPackageManage.AdjustTestPressure;
this.BindGrid(); ////初始化页面
}
else
{
string unitWorkId = Request.Params["unitWorkId"];
if (!string.IsNullOrEmpty(unitWorkId))
{
var w = BLL.UnitWorkService.getUnitWorkByUnitWorkId(unitWorkId);
drpUnit.SelectedValue = w.UnitId;
this.drpUnitWork.SelectedValue = w.UnitWorkId;
}
}
}
#endregion
#region 数据绑定
///
/// 数据绑定
///
private void BindGrid()
{
string strSql = @"SELECT IsoInfo.ProjectId,IsoInfo.UnitWorkId,UnitWork.UnitWorkCode,IsoInfo.PipelineId,IsoInfo.PipelineCode,
IsoInfo.UnitId,IsoInfo.DesignPress,IsoInfo.DesignTemperature,IsoInfo.TestPressure,IsoInfo.TestMedium,
testMedium.MediumName ,IsoInfo.SingleNumber,IsoInfo.PipingClassId,IsoList.PT_PipeId,
IsoList.PTP_ID
FROM dbo.HJGL_Pipeline AS IsoInfo
LEFT JOIN WBS_UnitWork AS UnitWork ON IsoInfo.UnitWorkId=UnitWork.UnitWorkId
LEFT JOIN dbo.Base_TestMedium AS testMedium ON testMedium.TestMediumId = IsoInfo.TestMedium
LEFT JOIN dbo.PTP_PipelineList AS IsoList ON IsoList.PipelineId = IsoInfo.PipelineId
WHERE IsoInfo.ProjectId= @ProjectId
AND UnitWork.UnitWorkId= @UnitWorkId";
List listStr = new List();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrEmpty(this.PTP_ID))
{
strSql += " AND (IsoList.PTP_ID IS NULL OR IsoList.PTP_ID = @PTP_ID)";
listStr.Add(new SqlParameter("@PTP_ID", this.PTP_ID));
}
else
{
strSql += " AND IsoList.PTP_ID IS NULL";
}
listStr.Add(new SqlParameter("@UnitWorkId", this.drpUnitWork.SelectedValue));
if (!string.IsNullOrEmpty(hdPipelinesId.Text))
{
strSql += " And CHARINDEX(IsoInfo.PipelineId,@PipelineId)>0";
listStr.Add(new SqlParameter("@PipelineId", hdPipelinesId.Text.Trim()));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
// 2.获取当前分页数据
//var table = this.GetPagedDataTable(Grid1, tb1);
Grid1.RecordCount = tb.Rows.Count;
// tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region 下拉框联动事件
///
/// 单位、单位工程下拉框变化事件
///
///
///
protected void drpInstallation_OnSelectedIndexChanged(object sender, EventArgs e)
{
//BLL.Project_WorkAreaService.InitWorkAreaDropDownList(drpWorkArea, true, this.CurrUser.LoginProjectId, drpInstallation.SelectedValue, drpUnit.SelectedValue, null);
this.BindGrid();
}
#endregion
protected void btnFind_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdPipelinesId.ClientID)
+ Window1.GetShowReference(String.Format("SelectPipeline.aspx?PTP_ID={0}&UnitWorkId={1}&Pipelines={2}", this.PTP_ID, this.drpUnitWork.SelectedValue, hdPipelinesId.Text.Trim(), "维护 - ")));
}
#region 分页排序
#region 页索引改变事件
///
/// 页索引改变事件
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
this.BindGrid();
}
#endregion
#region 排序
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
this.BindGrid();
}
#endregion
#region 分页选择下拉改变事件
///
/// 分页选择下拉改变事件
///
///
///
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
this.BindGrid();
}
#endregion
#endregion
#region 试压包 保存事件
///
/// 编辑试压包
///
///
///
protected void btnSave_Click(object sender, EventArgs e)
{
if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnSave))
{
if (BLL.TestPackageEditService.IsExistTestPackageCode(this.txtTestPackageNo.Text, this.PTP_ID, this.CurrUser.LoginProjectId))
{
ShowNotify("试压包编号已存在,请重新录入!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(this.txtTestPackageNo.Text) || this.drpUnit.SelectedValue == BLL.Const._Null || this.drpUnitWork.SelectedValue == BLL.Const._Null )
{
ShowNotify("必填项不能为空!", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(hdPipelinesId.Text))
{
ShowNotify("请选择管线号!", MessageBoxIcon.Warning);
return;
}
var updatetrust = BLL.TestPackageEditService.GetTestPackageByID(this.PTP_ID);
if (updatetrust != null && updatetrust.AduditDate.HasValue)
{
ShowNotify("此施压包已审核不能修改!", MessageBoxIcon.Warning);
return;
}
Model.PTP_TestPackage testPackage = new Model.PTP_TestPackage();
testPackage.ProjectId = this.CurrUser.LoginProjectId;
if (this.drpUnitWork.SelectedValue != BLL.Const._Null)
{
testPackage.UnitWorkId = this.drpUnitWork.SelectedValue;
}
if (this.drpUnit.SelectedValue != BLL.Const._Null)
{
testPackage.UnitId = this.drpUnit.SelectedValue;
}
testPackage.TestPackageNo = this.txtTestPackageNo.Text.Trim();
testPackage.TestPackageName = this.txtTestPackageName.Text.Trim();
testPackage.Tabler = this.CurrUser.UserId;
testPackage.TableDate = DateTime.Now;
testPackage.Remark = this.txtRemark.Text.Trim();
testPackage.AdjustTestPressure = this.txtadjustTestPressure.Text.Trim();
if (!string.IsNullOrEmpty(this.PTP_ID))
{
testPackage.PTP_ID = this.PTP_ID;
BLL.TestPackageEditService.UpdateTestPackage(testPackage);
BLL.TestPackageEditService.DeletePipelineListByPTP_ID(PTP_ID);
//BLL.Sys_LogService.AddLog(BLL.Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnModify, this.PTP_ID);
}
else
{
testPackage.PTP_ID = SQLHelper.GetNewID(typeof(Model.PTP_TestPackage));
this.PTP_ID = testPackage.PTP_ID;
BLL.TestPackageEditService.AddTestPackage(testPackage);
//BLL.Sys_LogService.AddLog(BLL.Const.System_6, this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.TestPackageEditMenuId, Const.BtnAdd, this.PTP_ID);
}
///保存明细
var getViewList = this.CollectGridInfo();
foreach (var item in getViewList)
{
Model.PTP_PipelineList newitem = new Model.PTP_PipelineList();
newitem.PTP_ID = this.PTP_ID;
newitem.PipelineId = item.PipelineId;
newitem.DesignPress = item.DesignPress;
newitem.DesignTemperature = item.DesignTemperature;
newitem.TestMedium = item.TestMedium;
newitem.TestPressure = item.TestPressure;
var PipelineList = Funs.DB.PTP_PipelineList.FirstOrDefault(x => x.PTP_ID == item.PTP_ID && x.PipelineId == item.PipelineId);
if (PipelineList != null)
{
newitem.PT_PipeId = PipelineList.PT_PipeId;
BLL.TestPackageEditService.UpdatePipelineList(newitem);
}
else
{
BLL.TestPackageEditService.AddPipelineList(newitem);
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(this.PTP_ID)
+ ActiveWindow.GetHidePostBackReference());
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
private List CollectGridInfo()
{
List getViewList = new List();
JArray teamGroupData = Grid1.GetMergedData();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
int i = mergedRow.Value("index");
JObject values = mergedRow.Value("values");
Model.PTP_PipelineList newView = new Model.PTP_PipelineList();
newView.PTP_ID = this.PTP_ID;
newView.PipelineId = Grid1.DataKeys[i][0].ToString();
newView.TestMedium = Grid1.DataKeys[i][1].ToString();
if (!string.IsNullOrEmpty(values.Value("DesignPress").ToString()))
{
newView.DesignPress = Funs.GetNewDecimal(values.Value("DesignPress").ToString());
}
if (!string.IsNullOrEmpty(values.Value("DesignTemperature").ToString()))
{
newView.DesignTemperature = Funs.GetNewDecimal(values.Value("DesignTemperature").ToString());
}
if (!string.IsNullOrEmpty(values.Value("TestPressure").ToString()))
{
newView.TestPressure = Funs.GetNewDecimal(values.Value("TestPressure").ToString());
}
getViewList.Add(newView);
}
return getViewList;
}
#endregion
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
this.BindGrid();
}
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
string Pipelines = string.Empty;
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
if (!string.IsNullOrEmpty(this.PTP_ID))
{
var getPipelineList = Funs.DB.PTP_PipelineList.FirstOrDefault(x => x.PTP_ID == this.PTP_ID && x.PipelineId == rowID);
if (getPipelineList != null)
{
Funs.DB.PTP_PipelineList.DeleteOnSubmit(getPipelineList);
Funs.DB.SubmitChanges();
}
}
for (int i = 0; i < Grid1.Rows.Count; i++)
{
string ID = Grid1.DataKeys[i][0].ToString();
if (rowID != ID)
{
Pipelines += ID + ",";
}
}
}
if (Pipelines != string.Empty)
{
this.hdPipelinesId.Text = string.Empty;
Pipelines = Pipelines.Substring(0, Pipelines.Length - 1);
this.hdPipelinesId.Text = Pipelines;
}
this.BindGrid();
}
}
}