using BLL; using Model; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.CQMS.WBS.Control { public partial class PointCroppingEdit : PageBase { /// /// 上级主键 /// public string ParentId { get { return (string)ViewState["ParentId"]; } set { ViewState["ParentId"] = value; } } /// /// 主键 /// public string ControlId { get { return (string)ViewState["ControlId"]; } set { ViewState["ControlId"] = value; } } /// /// 主键 /// public string FId { get { return (string)ViewState["FId"]; } set { ViewState["FId"] = value; } } /// /// 问题图片是否可编辑 /// public int FileImg { get { return (int)ViewState["FileImg"]; } set { ViewState["FileImg"] = value; } } protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.ControlId = Request.Params["ControlId"]; this.FId = !string.IsNullOrWhiteSpace(this.ControlId) ? this.ControlId : Guid.NewGuid().ToString(); this.ParentId = Request.Params["ParentId"]; this.FileImg = 0; //绑定数据 PageIn(); } } /// /// 绑定数据 /// /// 主键 /// 上级主键 public void PageIn() { var num = 0; if (!string.IsNullOrWhiteSpace(this.ParentId)) { var parenLs = GetAllCropping(this.ParentId); if (parenLs.Count > 0) { var itemModel = parenLs.FirstOrDefault(p => p.ControlId == this.ParentId); if (itemModel != null) { if (itemModel.ControlLevel == 1) { one.Hidden = false; var oneModel = parenLs.FirstOrDefault(p => p.ControlLevel == 1); if (oneModel != null) { lblOneDetectionItems.Text = oneModel.DetectionItems; if (string.IsNullOrWhiteSpace(this.ControlId)) { num = Funs.DB.Control_PointCropping.Count() + 1; txtSort.Text = num.ToString(); } } } else if (itemModel.ControlLevel == 2) { one.Hidden = false; two.Hidden = false; var oneModel = parenLs.FirstOrDefault(p => p.ControlLevel == 1); if (oneModel != null) { lblOneDetectionItems.Text = oneModel.DetectionItems; } var twoModel = parenLs.FirstOrDefault(p => p.ControlLevel == 2); if (twoModel != null) { lblTwoDetectionItems.Text = twoModel.DetectionItems; } if (string.IsNullOrWhiteSpace(this.ControlId)) { num = Funs.DB.Control_PointCropping.Count() + 1; txtSort.Text = num.ToString(); } } else if (itemModel.ControlLevel == 3) { one.Hidden = false; two.Hidden = false; three.Hidden = false; var oneModel = parenLs.FirstOrDefault(p => p.ControlLevel == 1); if (oneModel != null) { lblOneDetectionItems.Text = oneModel.DetectionItems; } var twoModel = parenLs.FirstOrDefault(p => p.ControlLevel == 2); if (twoModel != null) { lblTwoDetectionItems.Text = twoModel.DetectionItems; } var threeModel = parenLs.FirstOrDefault(p => p.ControlLevel == 3); if (threeModel != null) { lblThreeDetectionItems.Text = threeModel.DetectionItems; } if (string.IsNullOrWhiteSpace(this.ControlId)) { num = Funs.DB.Control_PointCropping.Count() + 1; txtSort.Text = num.ToString(); } } else if (itemModel.ControlLevel == 4) { one.Hidden = false; two.Hidden = false; three.Hidden = false; four.Hidden = false; var oneModel = parenLs.FirstOrDefault(p => p.ControlLevel == 1); if (oneModel != null) { lblOneDetectionItems.Text = oneModel.DetectionItems; } var twoModel = parenLs.FirstOrDefault(p => p.ControlLevel == 2); if (twoModel != null) { lblTwoDetectionItems.Text = twoModel.DetectionItems; } var threeModel = parenLs.FirstOrDefault(p => p.ControlLevel == 3); if (threeModel != null) { lblThreeDetectionItems.Text = threeModel.DetectionItems; } var fourModel = parenLs.FirstOrDefault(p => p.ControlLevel == 4); if (fourModel != null) { lblFourDetectionItems.Text = fourModel.DetectionItems; } if (string.IsNullOrWhiteSpace(this.ControlId)) { num = Funs.DB.Control_PointCropping.Count() + 1; txtSort.Text = num.ToString(); } } } } } else { if (string.IsNullOrWhiteSpace(this.ControlId)) { num = Funs.DB.Control_PointCropping.Count() + 1; txtSort.Text = num.ToString(); } } if (!string.IsNullOrWhiteSpace(this.ControlId)) { var controModel = Funs.DB.Control_PointCropping.FirstOrDefault(p => p.ControlId == this.ControlId); if (controModel != null) { txtRemark.Text = controModel.Remark; txtSort.Text = controModel.Sort.ToString(); txtDetectionItems.Text = controModel.DetectionItems; txtBasedCriterion.Text = controModel.BasedCriterion; txtQualityRecordName.Text = controModel.QualityRecordName; txtRecordNumber.Text = controModel.RecordNumber; txtPartition.Text = controModel.Partition; txtControlCode.Text = controModel.ControlCode; txtRemark.Text = controModel.Remark; } } } /// /// 保存 /// protected void btnSave_Click(object sender, EventArgs e) { int maxlevel = 3; var model = new Control_PointCropping(); model.ControlId = this.FId; var oneControlId = string.Empty; var twoControlId = string.Empty; if (!string.IsNullOrWhiteSpace(this.ControlId)) { model = Funs.DB.Control_PointCropping.FirstOrDefault(p => p.ControlId == this.ControlId); } else { model.States = 1; model.ProjectId = CurrUser.LoginProjectId; } if (model == null) { ShowNotify("传递参数错误!", MessageBoxIcon.Error); return; } if (!string.IsNullOrWhiteSpace(this.ParentId)) { var parenLs = GetAllCropping(this.ParentId); if (parenLs.Count > 0) { var oneModel = parenLs.FirstOrDefault(p => p.ControlLevel == 1); if (oneModel != null) { model.PlanId = oneModel.ControlId; model.ParentId = oneModel.ControlId; model.PlanTypeId = model.ControlId; model.ControlLevel = 2; maxlevel = model.MaxLevel.Value; } var twoModel = parenLs.FirstOrDefault(p => p.ControlLevel == 2); if (twoModel != null) { model.PlanId = twoModel.PlanId; model.ParentId = twoModel.ControlId; model.PlanTypeId = twoModel.ControlId; model.SubItemsId = model.ControlId; model.ControlLevel = 3; maxlevel = model.MaxLevel.Value; } var threeModel = parenLs.FirstOrDefault(p => p.ControlLevel == 3); if (threeModel != null) { model.PlanId = threeModel.PlanId; model.ParentId = threeModel.ControlId; model.PlanTypeId = threeModel.ControlId; model.SubItemsId = model.ControlId; model.ControlLevel = 4; maxlevel = model.MaxLevel.Value; } var fourModel = parenLs.FirstOrDefault(p => p.ControlLevel == 4); if (fourModel != null) { model.PlanId = fourModel.PlanId; model.ParentId = fourModel.ControlId; model.PlanTypeId = fourModel.ControlId; model.SubItemsId = model.ControlId; model.ControlLevel = 5; maxlevel = model.MaxLevel.Value; } } } else { model.ControlLevel = 1; } model.AddUser = this.CurrUser.UserId; model.OperateTime = DateTime.Now; model.Sort = !string.IsNullOrEmpty(txtSort.Text) ? int.Parse(txtSort.Text) : Funs.DB.Control_PointCropping.Count() + 1; model.DetectionItems = txtDetectionItems.Text; model.BasedCriterion = txtBasedCriterion.Text; model.QualityRecordName = txtQualityRecordName.Text; model.RecordNumber = txtRecordNumber.Text; model.Partition = txtPartition.Text; model.ControlCode = txtControlCode.Text; model.Remark = txtRemark.Text; model.MaxLevel = maxlevel; if (string.IsNullOrWhiteSpace(this.ControlId)) Funs.DB.Control_PointCropping.InsertOnSubmit(model); Funs.DB.SubmitChanges(); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 附件 /// protected void BtnFile_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckControl&menuId={2}", FileImg, this.FId, Const.InspectTailTerm))); } #region 私有方法 /// /// 根据主键获取所有节点 /// /// public List GetAllCropping(string parentId) { var result = new List(); var ids = new List(); var itemCropping = Funs.DB.Control_PointCropping.FirstOrDefault(p => p.ControlId == parentId); if (itemCropping != null) { //仅土建为5级 其余的都是三级,此处特殊处理 if (itemCropping.MaxLevel > 3) { var tsCropping = Funs.DB.Control_PointCropping.FirstOrDefault(p => p.ControlId == itemCropping.ParentId); if (tsCropping != null) { ids.Add(tsCropping.ControlId); ids.Add(tsCropping.ParentId); ids.Add(tsCropping.PlanId); ids.Add(tsCropping.PlanTypeId); } } ids.Add(itemCropping.ControlId); if (!string.IsNullOrWhiteSpace(itemCropping.PlanId)) { ids.Add(itemCropping.PlanId); } if (!string.IsNullOrWhiteSpace(itemCropping.PlanTypeId)) { ids.Add(itemCropping.PlanTypeId); } result = Funs.DB.Control_PointCropping.Where(p => ids.Contains(p.ControlId)).ToList(); } return result; } /// /// 关闭 /// protected void WindowAtt_Close(object sender, WindowCloseEventArgs e) { } #endregion } }