using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HJGL.TestPackage { public partial class ItemEndCheckEdit : PageBase { #region 定义项 /// /// 试压包主键 /// public string PTP_ID { get { return (string)ViewState["PTP_ID"]; } set { ViewState["PTP_ID"] = value; } } /// /// 办理类型 /// public string State { get { return (string)ViewState["State"]; } set { ViewState["State"] = value; } } /// /// 明细集合 /// private List ItemEndCheckLists = new List(); #endregion protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { PTP_ID = Request.Params["PTP_ID"]; if (!string.IsNullOrEmpty(PTP_ID)) { var getTestPakeage = TestPackageEditService.GetTestPackageByID(PTP_ID); if (getTestPakeage != null) { this.txtTestPackageNo.Text = getTestPakeage.TestPackageNo; this.txtTestPackageName.Text = getTestPakeage.TestPackageName; } var getItemEndCheck = BLL.AItemEndCheckService.GetItemEndCheckByPTPID(this.PTP_ID); if (getItemEndCheck.Count == 0) { var getPipeLineList = TestPackageEditService.GetPipeLineListByPTP_ID(PTP_ID); foreach (var TestPackage in getPipeLineList) { Model.PTP_ItemEndCheck newPipelineList = new Model.PTP_ItemEndCheck(); newPipelineList.ItemCheckId = SQLHelper.GetNewID(typeof(Model.PTP_ItemEndCheck)); newPipelineList.PTP_ID = this.PTP_ID; newPipelineList.PipelineId = TestPackage.PipelineId; ItemEndCheckLists.Add(newPipelineList); } } foreach (var item in getItemEndCheck) { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = SQLHelper.GetNewID(typeof(Model.PTP_ItemEndCheck)); newItemEndCheck.PTP_ID = this.PTP_ID; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; ItemEndCheckLists.Add(newItemEndCheck); } ItemEndCheckLists = ItemEndCheckLists.OrderBy(x => x.PipelineId).ToList(); this.Grid1.DataSource = ItemEndCheckLists; this.Grid1.DataBind(); if (Grid1.Rows.Count > 0) { foreach (JObject mergedRow in Grid1.GetMergedData()) { int i = mergedRow.Value("index"); GridRow row = Grid1.Rows[i]; AspNet.DropDownList drpItemType = (AspNet.DropDownList)Grid1.Rows[i].FindControl("drpItemType"); AspNet.HiddenField ItemType = (AspNet.HiddenField)Grid1.Rows[i].FindControl("hdItemType"); if (!string.IsNullOrEmpty(ItemType.Value)) { if (ItemType.Value == "/") { drpItemType.Text = "/"; } else { drpItemType.SelectedValue = ItemType.Value; } } } } State = "1"; TestPackageEditService.Init(drpHandleType, State, false); UserService.InitUserProjectIdUnitTypeDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, false); BindGrid1(); } } } //办理记录 public void BindGrid1() { string strSql = @"select ApproveId, PTP_ID, ApproveDate, Opinion, ApproveMan, ApproveType ,U.UserName from [dbo].[PTP_TestPackageApprove] P Left Join Sys_User U on p.ApproveMan=U.UserId"; List listStr = new List(); strSql += " where PTP_ID= @PTP_ID"; listStr.Add(new SqlParameter("@PTP_ID", PTP_ID)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); var table = this.GetPagedDataTable(gvFlowOperate, tb); gvFlowOperate.DataSource = table; gvFlowOperate.DataBind(); } protected string ConvertCarryPipeline(object PipelineId) { if (PipelineId != null) { var getPipeline = BLL.PipelineService.GetPipelineByPipelineId(PipelineId.ToString()); if (getPipeline != null) { return getPipeline.PipelineCode; } else { return ""; } } return ""; } protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string id = this.Grid1.SelectedRow.RowID; ItemEndCheckLists = GetDetails(); if (e.CommandName == "add")//增加 { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = SQLHelper.GetNewID(typeof(Model.PTP_ItemEndCheck)); newItemEndCheck.PTP_ID = this.PTP_ID; newItemEndCheck.PipelineId = this.Grid1.SelectedRow.DataKeys[0].ToString(); ItemEndCheckLists.Add(newItemEndCheck); ItemEndCheckLists = ItemEndCheckLists.OrderBy(x => x.PipelineId).ToList(); this.Grid1.DataSource = ItemEndCheckLists; this.Grid1.DataBind(); if (Grid1.Rows.Count > 0) { foreach (JObject mergedRow in Grid1.GetMergedData()) { int i = mergedRow.Value("index"); GridRow row = Grid1.Rows[i]; AspNet.DropDownList drpItemType = (AspNet.DropDownList)Grid1.Rows[i].FindControl("drpItemType"); AspNet.HiddenField ItemType = (AspNet.HiddenField)Grid1.Rows[i].FindControl("hdItemType"); if (!string.IsNullOrEmpty(ItemType.Value)) { drpItemType.SelectedValue = ItemType.Value; } } } } if (e.CommandName == "del")//删除 { var itemCheck = ItemEndCheckLists.FirstOrDefault(x => x.ItemCheckId == id); if (itemCheck != null) { ItemEndCheckLists.Remove(itemCheck); var olditemCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(id); if (olditemCheck != null) { AItemEndCheckService.DeleteAItemEndCheckByID(id); } } ItemEndCheckLists = ItemEndCheckLists.OrderBy(x => x.PipelineId).ToList(); this.Grid1.DataSource = ItemEndCheckLists; this.Grid1.DataBind(); foreach (JObject mergedRow in Grid1.GetMergedData()) { int i = mergedRow.Value("index"); GridRow row = Grid1.Rows[i]; AspNet.DropDownList drpItemType = (AspNet.DropDownList)Grid1.Rows[i].FindControl("drpItemType"); AspNet.HiddenField ItemType = (AspNet.HiddenField)Grid1.Rows[i].FindControl("hdItemType"); if (!string.IsNullOrEmpty(ItemType.Value)) { drpItemType.SelectedValue = ItemType.Value; } } } } private List GetDetails() { ItemEndCheckLists.Clear(); foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); string Content = values.Value("Content"); System.Web.UI.WebControls.DropDownList ItemType = (System.Web.UI.WebControls.DropDownList)(Grid1.Rows[i].FindControl("drpItemType")); Model.PTP_ItemEndCheck newAddItemEndCheck = new Model.PTP_ItemEndCheck(); newAddItemEndCheck.PTP_ID = this.PTP_ID; newAddItemEndCheck.PipelineId = Grid1.Rows[i].DataKeys[0].ToString(); newAddItemEndCheck.ItemCheckId = Grid1.Rows[i].DataKeys[1].ToString(); newAddItemEndCheck.Content = Content; if (ItemType.SelectedValue != BLL.Const._Null) { newAddItemEndCheck.ItemType = ItemType.SelectedValue; } ItemEndCheckLists.Add(newAddItemEndCheck); } return ItemEndCheckLists; } protected void btnSave_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.AItemEndCheckMenuId, Const.BtnSave)) { SaveData(Const.BtnSave); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } protected void btnSubmit_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.AItemEndCheckMenuId, Const.BtnSave)) { SaveData(Const.BtnSubmit); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } private void SaveData(string saveType) { ///保存明细 if (saveType == Const.BtnSubmit) { this.State = Const.TestPackage_Audit1; } var getItemEndCheck = BLL.AItemEndCheckService.GetItemEndCheckByPTPID(this.PTP_ID); if (getItemEndCheck.Count>0) { BLL.AItemEndCheckService.DeleteAllItemEndCheckByID(this.PTP_ID); ItemEndCheckLists = GetDetails(); foreach (var item in ItemEndCheckLists) { if (item.Content!="/") { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.PTP_ID = item.PTP_ID; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } else { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.PTP_ID = item.PTP_ID; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = "/"; newItemEndCheck.ItemType = "/"; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } } Model.PTP_TestPackageApprove approve1 = BLL.TestPackageApproveService.GetTestPackageApproveById(this.PTP_ID); if (approve1 != null && saveType == Const.BtnSubmit) { approve1.ApproveDate = DateTime.Now; BLL.TestPackageApproveService.UpdateTestPackageApprove(approve1); } if (saveType == Const.BtnSubmit) { Model.PTP_TestPackageApprove approve = new Model.PTP_TestPackageApprove(); approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove)); if (this.drpHandleMan.SelectedValue != "0") { approve.ApproveMan = this.drpHandleMan.SelectedValue; } approve.ApproveType = this.drpHandleType.SelectedValue; approve.PTP_ID = this.PTP_ID; BLL.TestPackageApproveService.AddTestPackageApprove(approve); var TestPackage = TestPackageEditService.GetTestPackageByID(this.PTP_ID); if (TestPackage != null) { TestPackage.State = this.State; TestPackageEditService.UpdateTestPackage(TestPackage); } } } else { ItemEndCheckLists = GetDetails(); foreach (var item in ItemEndCheckLists) { if (!string.IsNullOrEmpty(item.Content) && !string.IsNullOrEmpty(item.ItemCheckId)) { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.PTP_ID = item.PTP_ID; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } else { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.PTP_ID = item.PTP_ID; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = "/"; newItemEndCheck.ItemType = "/"; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } } if (saveType == Const.BtnSubmit) { Model.PTP_TestPackageApprove approve1 = new Model.PTP_TestPackageApprove(); approve1.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove)); approve1.ApproveDate = DateTime.Now; approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = BLL.Const.CheckControl_Compile; approve1.PTP_ID = this.PTP_ID; BLL.TestPackageApproveService.AddTestPackageApprove(approve1); Model.PTP_TestPackageApprove approve = new Model.PTP_TestPackageApprove(); approve.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove)); if (this.drpHandleMan.SelectedValue != "0") { approve.ApproveMan = this.drpHandleMan.SelectedValue; } approve.ApproveType = this.drpHandleType.SelectedValue; approve.PTP_ID = this.PTP_ID; BLL.TestPackageApproveService.AddTestPackageApprove(approve); var TestPackage = TestPackageEditService.GetTestPackageByID(this.PTP_ID); if (TestPackage != null) { TestPackage.State =State; TestPackageEditService.UpdateTestPackage(TestPackage); } } else { Model.PTP_TestPackageApprove approve1 = new Model.PTP_TestPackageApprove(); approve1.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove)); approve1.ApproveMan = this.CurrUser.UserId; approve1.ApproveType = BLL.Const.CheckControl_Compile; approve1.PTP_ID = this.PTP_ID; BLL.TestPackageApproveService.AddTestPackageApprove(approve1); } } } protected string ConvertApproveType(object Type) { if (Type != null) { if (Type.ToString() == BLL.Const.TestPackage_Compile) { return "总包专业工程师编制"; } else if (Type.ToString() == Const.TestPackage_Audit1) { return "施工分包商整改"; } else if (Type.ToString() == Const.TestPackage_Audit2) { return "总包确认"; } else if (Type.ToString() == Const.TestPackage_Audit3) { return "监理确认"; } else if (Type.ToString() == Const.TestPackage_ReAudit2) { return "施工分包商重新整改"; } else if (Type.ToString() == Const.TestPackage_Complete) { return "审批完成"; } else { return ""; } } else { return ""; } } } }