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.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 ItemEndCheckListId { get { return (string)ViewState["ItemEndCheckListId"]; } set { ViewState["ItemEndCheckListId"] = 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"]; ItemEndCheckListId = Request.Params["ItemEndCheckListId"]; 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.GetItemEndCheckByItemEndCheckListId(this.ItemEndCheckListId); 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.ItemEndCheckListId = this.ItemEndCheckListId; 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.ItemEndCheckListId = this.ItemEndCheckListId; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; newItemEndCheck.Remark = item.Remark; 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); SitePerson_PersonService.InitSitePersonByUnitTypeRoletIdsDropDownList(drpHandleMan, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, string.Empty, false); if (!string.IsNullOrEmpty(ItemEndCheckListId)) { BindGrid1(); } } } } //办理记录 public void BindGrid1() { string strSql = @"select ApproveId, ItemEndCheckListId, ApproveDate, Opinion, ApproveMan, ApproveType ,U.PersonName from [dbo].[PTP_TestPackageApprove] P Left Join Person_Persons U on p.ApproveMan=U.PersonId"; List listStr = new List(); strSql += " where ItemEndCheckListId= @ItemEndCheckListId"; listStr.Add(new SqlParameter("@ItemEndCheckListId", ItemEndCheckListId)); 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.ItemEndCheckListId = this.ItemEndCheckListId; 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) { var thisPipelineItems = ItemEndCheckLists.Where(x => x.PipelineId == itemCheck.PipelineId); if (thisPipelineItems.Count() > 1) //当前管线记录大于1时可以删除 { ItemEndCheckLists.Remove(itemCheck); var olditemCheck = BLL.AItemEndCheckService.GetAItemEndCheckByID(id); if (olditemCheck != null) { AItemEndCheckService.DeleteAItemEndCheckByID(id); } } else { Alert.ShowInTop("管线信息无法删除!", MessageBoxIcon.Warning); } } 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"); string Remark = values.Value("Remark"); 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.ItemEndCheckListId = this.ItemEndCheckListId; 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; } newAddItemEndCheck.Remark = Remark; ItemEndCheckLists.Add(newAddItemEndCheck); } return ItemEndCheckLists; } protected void btnSave_Click(object sender, EventArgs e) { if (CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, 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.PersonId, Const.AItemEndCheckMenuId, Const.BtnSave)) { SaveData(Const.BtnSubmit); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } } private void SaveData(string saveType) { if (string.IsNullOrEmpty(this.ItemEndCheckListId)) { Model.PTP_ItemEndCheckList list = new Model.PTP_ItemEndCheckList(); list.ItemEndCheckListId = SQLHelper.GetNewID(); list.PTP_ID = this.PTP_ID; list.CompileMan = this.CurrUser.PersonId; list.CompileDate = DateTime.Now; list.State = BLL.Const.TestPackage_Compile; BLL.ItemEndCheckListService.AddItemEndCheckList(list); ItemEndCheckListId = list.ItemEndCheckListId; } ///保存明细 if (saveType == Const.BtnSubmit) { this.State = Const.TestPackage_Audit1; } var getItemEndCheck = BLL.AItemEndCheckService.GetItemEndCheckByItemEndCheckListId(this.ItemEndCheckListId); if (getItemEndCheck.Count > 0) { BLL.AItemEndCheckService.DeleteAllItemEndCheckByID(this.ItemEndCheckListId); ItemEndCheckLists = GetDetails(); foreach (var item in ItemEndCheckLists) { if (item.Content != "/") { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.ItemEndCheckListId = item.ItemEndCheckListId; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; newItemEndCheck.Remark = item.Remark; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } else { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.ItemEndCheckListId = item.ItemEndCheckListId; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = "/"; newItemEndCheck.ItemType = "/"; newItemEndCheck.Remark = item.Remark; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } } Model.PTP_TestPackageApprove approve1 = BLL.TestPackageApproveService.GetTestPackageApproveById(this.ItemEndCheckListId); 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.ItemEndCheckListId = this.ItemEndCheckListId; BLL.TestPackageApproveService.AddTestPackageApprove(approve); var ItemEndCheckList = ItemEndCheckListService.GetItemEndCheckListByID(this.ItemEndCheckListId); if (ItemEndCheckList != null) { ItemEndCheckList.State = this.State; ItemEndCheckListService.UpdateItemEndCheckList(ItemEndCheckList); } } } 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.ItemEndCheckListId = item.ItemEndCheckListId; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = item.Content; newItemEndCheck.ItemType = item.ItemType; newItemEndCheck.Remark = item.Remark; AItemEndCheckService.AddAItemEndCheck(newItemEndCheck); } else { Model.PTP_ItemEndCheck newItemEndCheck = new Model.PTP_ItemEndCheck(); newItemEndCheck.ItemCheckId = item.ItemCheckId; newItemEndCheck.ItemEndCheckListId = item.ItemEndCheckListId; newItemEndCheck.PipelineId = item.PipelineId; newItemEndCheck.Content = "/"; newItemEndCheck.ItemType = "/"; newItemEndCheck.Remark = item.Remark; 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.PersonId; approve1.ApproveType = BLL.Const.TestPackage_Compile; approve1.ItemEndCheckListId = this.ItemEndCheckListId; 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.ItemEndCheckListId = this.ItemEndCheckListId; BLL.TestPackageApproveService.AddTestPackageApprove(approve); var ItemEndCheckList = ItemEndCheckListService.GetItemEndCheckListByID(this.ItemEndCheckListId); if (ItemEndCheckList != null) { ItemEndCheckList.State = this.State; ItemEndCheckListService.UpdateItemEndCheckList(ItemEndCheckList); } } else { Model.PTP_TestPackageApprove approve1 = new Model.PTP_TestPackageApprove(); approve1.ApproveId = SQLHelper.GetNewID(typeof(Model.PTP_TestPackageApprove)); approve1.ApproveMan = this.CurrUser.PersonId; approve1.ApproveType = BLL.Const.TestPackage_Compile; approve1.ItemEndCheckListId = this.ItemEndCheckListId; 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 ""; } } } }