using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; namespace FineUIPro.Web.CQMS.ProcessControl { public partial class InspectionNoticeEdit : PageBase { #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //测试阶段,仅hfnbd账号使用 if (this.CurrUser.UserId == BLL.Const.hfnbdId) { this.drpUnitWorkId.Hidden = false; this.fr1.Hidden = false; this.fr2.Hidden = false; } GetButtonPower(); BLL.UnitService.InitUnitByProjectIdUnitTypeDropDownList(drpUnit, this.CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2, true);//施工分包商 UserService.InitUserProjectIdUnitTypeDropDownList(this.drpAcceptanceCheckMan, this.CurrUser.LoginProjectId, string.Empty, false); //UserService.InitUserNameProjectIdUnitTypeDropDownList(this.drpAcceptanceCheckMan, this.CurrUser.LoginProjectId, string.Empty, false); if (this.CurrUser.UserId == BLL.Const.hfnbdId)//测试阶段,仅hfnbd账号使用 { //专业 this.drpCNProfessionalId.DataTextField = "DetectionItems"; this.drpCNProfessionalId.DataValueField = "ControlId"; this.drpCNProfessionalId.DataSource = BLL.CNProfessionalService.GetCnProList(); this.drpCNProfessionalId.DataBind(); Funs.FineUIPleaseSelect(this.drpCNProfessionalId); } else { BLL.CNProfessionalService.InitCNProfessionalDownList(this.drpCNProfessionalId, true);//专业 } //单位工程 var q = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId where x.ProjectId == this.CurrUser.LoginProjectId && (y.SuperUnitWork == null || y.SuperUnitWork == "0") select new { y.UnitWorkId, UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName }).Distinct().ToList(); this.drpUnitWorkId.DataTextField = "UnitWorkName"; this.drpUnitWorkId.DataValueField = "UnitWorkId"; this.drpUnitWorkId.DataSource = q; this.drpUnitWorkId.DataBind(); Funs.FineUIPleaseSelect(this.drpUnitWorkId);//单位工程 Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId);//子单位工程 Funs.FineUIPleaseSelect(this.drpBranch);//分部工程 Funs.FineUIPleaseSelect(this.drpChildBranch);//子分部工程 Funs.FineUIPleaseSelect(this.drpProEngineering);//分项工程 this.hdInspectionNoticeId.Text = Request.Params["inspectionId"]; if (!string.IsNullOrEmpty(Request.Params["View"])) { this.btnSave.Hidden = true; } if (!string.IsNullOrEmpty(this.hdInspectionNoticeId.Text)) { Model.ProcessControl_InspectionManagement inspectionManagement = BLL.InspectionManagementService.GetInspectionManagementById(this.hdInspectionNoticeId.Text.Trim()); if (inspectionManagement != null) { if (!string.IsNullOrEmpty(inspectionManagement.UnitId)) { this.drpUnit.SelectedValue = inspectionManagement.UnitId; } if (!string.IsNullOrEmpty(inspectionManagement.CNProfessionalId)) { this.drpCNProfessionalId.SelectedValue = inspectionManagement.CNProfessionalId; } this.txtAcceptanceSite.Text = inspectionManagement.AcceptanceSite; if (!string.IsNullOrEmpty(inspectionManagement.AcceptanceCheckMan)) { this.drpAcceptanceCheckMan.SelectedValueArray = inspectionManagement.AcceptanceCheckMan.Split(','); } //单位工程、分部工程、分项工程 if (!string.IsNullOrEmpty(inspectionManagement.UnitWorkId)) { this.drpUnitWorkId.SelectedValue = inspectionManagement.UnitWorkId; if (!string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId)) { //子单位工程 var childUnitWorks = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId where x.ProjectId == this.CurrUser.LoginProjectId && y.SuperUnitWork == inspectionManagement.UnitWorkId && (y.SuperUnitWork != "0") select new { y.UnitWorkId, UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName }).Distinct().ToList(); this.drpChirldUnitWorkId.DataTextField = "UnitWorkName"; this.drpChirldUnitWorkId.DataValueField = "UnitWorkId"; this.drpChirldUnitWorkId.DataSource = childUnitWorks; this.drpChirldUnitWorkId.DataBind(); Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId); this.drpChirldUnitWorkId.SelectedIndex = 0; this.drpChirldUnitWorkId.SelectedValue = inspectionManagement.ChildUnitWorkId; } if (!string.IsNullOrEmpty(inspectionManagement.Branch)) { if (string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId))//无子单位工程 { //分部工程 var a = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == inspectionManagement.UnitWorkId && y.ParentId == null select new { y.DivisionId, y.BranchEngineeringName }).Distinct().ToList(); this.drpBranch.DataTextField = "BranchEngineeringName"; this.drpBranch.DataValueField = "DivisionId"; this.drpBranch.DataSource = a; this.drpBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpBranch); this.drpBranch.SelectedIndex = 0; this.drpBranch.SelectedValue = inspectionManagement.Branch; } else { //分部工程(有子单位工程) var a = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == inspectionManagement.ChildUnitWorkId && y.ParentId == null select new { y.DivisionId, y.BranchEngineeringName }).Distinct().ToList(); this.drpBranch.DataTextField = "BranchEngineeringName"; this.drpBranch.DataValueField = "DivisionId"; this.drpBranch.DataSource = a; this.drpBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpBranch); this.drpBranch.SelectedIndex = 0; this.drpBranch.SelectedValue = inspectionManagement.Branch; } if (!string.IsNullOrEmpty(inspectionManagement.ChildBranch)) { #region 子分部工程 if (!string.IsNullOrEmpty(inspectionManagement.ChildUnitWorkId)) { //子分部工程 var childBranchs = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && y.ParentId == inspectionManagement.Branch && x.UnitWorkId == inspectionManagement.ChildUnitWorkId && y.SubBranchEngineeringName != null select new { y.DivisionId, y.SubBranchEngineeringName }).Distinct().ToList(); this.drpChildBranch.DataTextField = "SubBranchEngineeringName"; this.drpChildBranch.DataValueField = "DivisionId"; this.drpChildBranch.DataSource = childBranchs; this.drpChildBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpChildBranch); this.drpChildBranch.SelectedIndex = 0; } else { var childBranchs = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && y.ParentId == inspectionManagement.Branch && x.UnitWorkId == inspectionManagement.UnitWorkId && y.SubBranchEngineeringName != null select new { y.DivisionId, y.SubBranchEngineeringName }).Distinct().ToList(); this.drpChildBranch.DataTextField = "SubBranchEngineeringName"; this.drpChildBranch.DataValueField = "DivisionId"; this.drpChildBranch.DataSource = childBranchs; this.drpChildBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpChildBranch); this.drpChildBranch.SelectedIndex = 0; } this.drpChildBranch.SelectedValue = inspectionManagement.ChildBranch; #endregion } if (!string.IsNullOrEmpty(inspectionManagement.ControlPointType)) { //分项工程 var b = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && y.ParentId == this.drpBranch.SelectedValue && y.ParentId != null select new { y.DivisionId, y.ProEngineeringName, y.SubBranchEngineeringName }).Distinct().ToList(); if (b.Where(w => w.SubBranchEngineeringName == null).Count() > 0) { this.drpProEngineering.DataTextField = "ProEngineeringName"; this.drpProEngineering.DataValueField = "DivisionId"; this.drpProEngineering.DataSource = b; } else { var c = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId join z in Funs.DB.Division_SubProjects on y.ParentId equals z.DivisionId join w in Funs.DB.Division_SubProjects on z.ParentId equals w.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && z.ParentId == this.drpBranch.SelectedValue select new { y.DivisionId, y.ProEngineeringName }).Distinct().ToList(); this.drpProEngineering.DataTextField = "ProEngineeringName"; this.drpProEngineering.DataValueField = "DivisionId"; this.drpProEngineering.DataSource = c; } this.drpProEngineering.DataBind(); Funs.FineUIPleaseSelect(this.drpProEngineering); this.drpProEngineering.SelectedIndex = 0; this.drpProEngineering.SelectedValue = inspectionManagement.ControlPointType; } } } this.txtNoticeCode.Text = inspectionManagement.NoticeCode; this.Grid1.DataSource = BLL.InspectionManagementDetailService.GetInspectionDetails(this.hdInspectionNoticeId.Text.Trim()); this.Grid1.DataBind(); } } } else { string requestArg = GetRequestEventArgument(); // 此函数所在文件:PageBase.cs if (requestArg.StartsWith("ReloadGrid$")) { this.hdItemsString.Text = requestArg.Substring("ReloadGrid$".Length); Window1_Close(null, null); } } } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { if (this.drpUnit.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请先选择施工分包商!", MessageBoxIcon.Warning); return; } if (this.drpCNProfessionalId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请先选择专业!", MessageBoxIcon.Warning); return; } if (this.Grid1.Rows.Count == 0) { Alert.ShowInTop("请选择共检内容!", MessageBoxIcon.Warning); return; } Model.ProcessControl_InspectionManagement inspectionManagement = new Model.ProcessControl_InspectionManagement(); inspectionManagement.ProjectId = this.CurrUser.LoginProjectId; if (this.drpUnit.SelectedValue != BLL.Const._Null) { inspectionManagement.UnitId = this.drpUnit.SelectedValue; } if (this.drpCNProfessionalId.SelectedValue != BLL.Const._Null) { inspectionManagement.CNProfessionalId = this.drpCNProfessionalId.SelectedValue; } inspectionManagement.NoticeCode = this.txtNoticeCode.Text.Trim(); inspectionManagement.AcceptanceSite = this.txtAcceptanceSite.Text.Trim(); //检查人 string CheckManIds = string.Empty; foreach (var item in this.drpAcceptanceCheckMan.SelectedValueArray) { CheckManIds += item + ","; } if (!string.IsNullOrEmpty(CheckManIds)) { CheckManIds = CheckManIds.Substring(0, CheckManIds.LastIndexOf(",")); } inspectionManagement.AcceptanceCheckMan = CheckManIds; if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null) { inspectionManagement.UnitWorkId = this.drpUnitWorkId.SelectedValue; } if (this.drpChirldUnitWorkId.SelectedValue!=BLL.Const._Null) { inspectionManagement.ChildUnitWorkId = this.drpChirldUnitWorkId.SelectedValue; } if (this.drpBranch.SelectedValue != BLL.Const._Null) { inspectionManagement.Branch = this.drpBranch.SelectedValue; } if (this.drpChildBranch.SelectedValue!=BLL.Const._Null) { inspectionManagement.ChildBranch = this.drpChildBranch.SelectedValue; } if (this.drpProEngineering.SelectedValue != BLL.Const._Null) { inspectionManagement.ControlPointType = this.drpProEngineering.SelectedValue; } //inspectionManagement.AcceptanceCheckMan = this.txtAcceptanceCheckMan.Text.Trim(); if (string.IsNullOrEmpty(Request.Params["inspectionId"])) { //编号不能重复 var InspectionManagementModel = Funs.DB.ProcessControl_InspectionManagement.FirstOrDefault(x => x.NoticeCode == this.txtNoticeCode.Text.Trim()); if (InspectionManagementModel != null) { ShowNotify("共检通知单编号已存在,不能重复!", MessageBoxIcon.Warning); return; } inspectionManagement.CompileMan = this.CurrUser.UserId; inspectionManagement.CompileDate = DateTime.Now; if (!string.IsNullOrEmpty(this.hdInspectionNoticeId.Text.Trim())) { inspectionManagement.InspectionId = this.hdInspectionNoticeId.Text.Trim(); } else { inspectionManagement.InspectionId = SQLHelper.GetNewID(typeof(Model.ProcessControl_InspectionManagement)); this.hdInspectionNoticeId.Text = inspectionManagement.InspectionId; } /*var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionManagement.InspectionId); if (sour == null || string.IsNullOrEmpty(sour.AttachUrl)) { Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); return; }*/ BLL.InspectionManagementService.AddInspectionManagement(inspectionManagement); } else { //编号不能重复 var InspectionManagementModel = Funs.DB.ProcessControl_InspectionManagement.FirstOrDefault(x => x.NoticeCode == this.txtNoticeCode.Text.Trim() && x.InspectionId != Request.Params["inspectionId"]); if (InspectionManagementModel != null) { ShowNotify("共检通知单编号已存在,不能重复!", MessageBoxIcon.Warning); return; } Model.ProcessControl_InspectionManagement oldInspectionManagement = BLL.InspectionManagementService.GetInspectionManagementById(this.hdInspectionNoticeId.Text.Trim()); inspectionManagement.AttachUrl2 = oldInspectionManagement.AttachUrl2; inspectionManagement.InspectionId = this.hdInspectionNoticeId.Text.Trim(); var sour = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == inspectionManagement.InspectionId); /*if (sour == null || string.IsNullOrEmpty(sour.AttachUrl)) { Alert.ShowInTop("请上传附件!", MessageBoxIcon.Warning); return; }*/ BLL.InspectionManagementService.UpdateInspectionManagement(inspectionManagement); BLL.InspectionManagementDetailService.DeleteAllInspectionDetail(inspectionManagement.InspectionId); } var details = jerqueSaveList(); foreach (var detail in details) { detail.InspectionId = inspectionManagement.InspectionId; BLL.InspectionManagementDetailService.AddInspectionDetail(detail); } ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } #endregion #region 附件上传 /// /// 附件上传 /// /// /// protected void btnAttach_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.hdInspectionNoticeId.Text)) //新增记录 { this.hdInspectionNoticeId.Text = SQLHelper.GetNewID(typeof(Model.ProcessControl_InspectionManagement)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/CQMS/InspectionManagement&menuId={1}", this.hdInspectionNoticeId.Text, BLL.Const.InspectionNoticeMenuId))); } #endregion #region Grid1行内事件 /// /// Grid1行内事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string itemId = Grid1.DataKeys[e.RowIndex][0].ToString(); List details = jerqueSaveList(); if (e.CommandName == "delete") { foreach (Model.ProcessControl_InspectionManagementDetail detail in details) { if (detail.InspectionDetailId == itemId) { details.Remove(detail); break; } } Grid1.DataSource = details; Grid1.DataBind(); } } #endregion #region 搜索 /// /// 搜索 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { if (this.drpCNProfessionalId.SelectedValue == BLL.Const._Null) { Alert.ShowInTop("请先选择专业!", MessageBoxIcon.Warning); return; } string window = String.Format("ShowUnitWork.aspx?CNPrefessionalId={0}", this.drpCNProfessionalId.SelectedValue, "查找 - "); PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdItemsString.ClientID) + Window1.GetShowReference(window)); } #endregion #region 保存Grid集合 /// /// 检查并保存集合 /// private List jerqueSaveList() { List details = new List(); foreach (JObject mergedRow in Grid1.GetMergedData()) { JObject values = mergedRow.Value("values"); int i = mergedRow.Value("index"); Model.ProcessControl_InspectionManagementDetail detail = new Model.ProcessControl_InspectionManagementDetail(); detail.InspectionDetailId = this.Grid1.Rows[i].RowID; detail.UnitWorkId = values.Value("UnitWorkId"); detail.Branch = values.Value("Branch"); detail.ControlPointType = this.Grid1.Rows[i].DataKeys[1].ToString(); string createDate = values.Value("CreateDate"); if (!string.IsNullOrEmpty(createDate)) { detail.CreateDate = Convert.ToDateTime(createDate); } details.Add(detail); } return details; } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { if (!string.IsNullOrEmpty(hdItemsString.Text)) { string[] ids = hdItemsString.Text.Split(','); int i = 1; var details = jerqueSaveList(); foreach (var id in ids) { var oldDetail = details.FirstOrDefault(x => x.ControlPointType == id); if (oldDetail == null) //添加集合没有的新纪录 { Model.ProcessControl_InspectionManagementDetail detail = new Model.ProcessControl_InspectionManagementDetail(); detail.InspectionDetailId = SQLHelper.GetNewID(); var breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(id); if (breakdownProject != null) { var divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId); if (divisionProject != null) { detail.UnitWorkId = divisionProject.UnitWorkId; detail.Branch = divisionProject.DivisionProjectId; } } detail.ControlPointType = id; detail.CreateDate = DateTime.Now.AddMinutes(i); details.Add(detail); } i++; } this.Grid1.DataSource = details; this.Grid1.DataBind(); } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == BLL.Const._Null) { return; } var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.InspectionNoticeMenuId); if (buttonList.Count > 0) { if (buttonList.Contains(BLL.Const.BtnSave)) { this.btnSave.Hidden = false; } } } #endregion #region 转换字符串 /// /// 获取单位工程 /// /// /// protected string ConvertUnitWork(object UnitWorkId) { string name = string.Empty; if (UnitWorkId != null) { Model.WBS_UnitWork unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(UnitWorkId.ToString()); if (unitWork != null) { name = unitWork.UnitWorkName; } } return name; } /// /// 获取分部 /// /// /// protected string ConvertBranch(object Branch) { string name = string.Empty; if (Branch != null) { var branch = BLL.DivisionProjectService.GetDivisionProjectById(Branch.ToString()); if (branch != null) { name = branch.DivisionName; } } return name; } /// /// 获取控制点内容 /// /// /// protected string ConvertControlPointType(object ControlPointType) { string name = string.Empty; if (ControlPointType != null) { var controlPointType = BLL.BreakdownProjectService.GetBreakdownProjectById(ControlPointType.ToString()); if (controlPointType != null) { name = controlPointType.BreakdownName; } } return name; } /// /// 获取控制点等级 /// /// /// protected string ConvertClass(object ControlPointType) { string name = string.Empty; if (ControlPointType != null) { var controlPointType = BLL.BreakdownProjectService.GetBreakdownProjectById(ControlPointType.ToString()); if (controlPointType != null) { name = controlPointType.Class; } } return name; } #endregion #region DropDownList下拉选择事件 /// /// 单位工程下拉选择事件 /// /// /// protected void drpUnitWorkId_SelectedIndexChanged(object sender, EventArgs e) { this.drpChirldUnitWorkId.Items.Clear(); if (this.drpUnitWorkId.SelectedValue != BLL.Const._Null) { //子单位工程 var childUnitWorks = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.WBS_UnitWork on x.UnitWorkId equals y.UnitWorkId where x.ProjectId == this.CurrUser.LoginProjectId && y.SuperUnitWork == this.drpUnitWorkId.SelectedValue && (y.SuperUnitWork != "0") select new { y.UnitWorkId, UnitWorkName = y.UnitWorkCode + "-" + y.UnitWorkName }).Distinct().ToList(); this.drpChirldUnitWorkId.DataTextField = "UnitWorkName"; this.drpChirldUnitWorkId.DataValueField = "UnitWorkId"; this.drpChirldUnitWorkId.DataSource = childUnitWorks; this.drpChirldUnitWorkId.DataBind(); Funs.FineUIPleaseSelect(this.drpChirldUnitWorkId); this.drpChirldUnitWorkId.SelectedIndex = 0; //分部工程 this.drpBranch.Items.Clear(); var q = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && y.ParentId == null select new { y.DivisionId, y.BranchEngineeringName }).Distinct().ToList(); this.drpBranch.DataTextField = "BranchEngineeringName"; this.drpBranch.DataValueField = "DivisionId"; this.drpBranch.DataSource = q; this.drpBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpBranch); this.drpBranch.SelectedIndex = 0; } } /// /// 子单位工程下拉选择事件 /// /// /// protected void drpChirldUnitWorkId_SelectedIndexChanged(object sender, EventArgs e) { if (this.drpChirldUnitWorkId.SelectedValue != BLL.Const._Null) { this.drpBranch.Items.Clear(); var q = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpChirldUnitWorkId.SelectedValue && y.ParentId == null select new { y.DivisionId, y.BranchEngineeringName }).Distinct().ToList(); this.drpBranch.DataTextField = "BranchEngineeringName"; this.drpBranch.DataValueField = "DivisionId"; this.drpBranch.DataSource = q; this.drpBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpBranch); this.drpBranch.SelectedIndex = 0; } } /// /// 分部工程下拉选择事件 /// /// /// protected void drpBranch_SelectedIndexChanged(object sender, EventArgs e) { this.drpChildBranch.Items.Clear(); if (this.drpBranch.SelectedValue != BLL.Const._Null) { #region 子分部工程 if (this.drpChirldUnitWorkId.SelectedValue != BLL.Const._Null) { //子分部工程 var childBranchs = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && y.ParentId == this.drpBranch.SelectedValue && x.UnitWorkId == this.drpChirldUnitWorkId.SelectedValue && y.SubBranchEngineeringName != null select new { y.DivisionId, y.SubBranchEngineeringName }).Distinct().ToList(); this.drpChildBranch.DataTextField = "SubBranchEngineeringName"; this.drpChildBranch.DataValueField = "DivisionId"; this.drpChildBranch.DataSource = childBranchs; this.drpChildBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpChildBranch); this.drpChildBranch.SelectedIndex = 0; } else { var childBranchs = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && y.ParentId == this.drpBranch.SelectedValue && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && y.SubBranchEngineeringName != null select new { y.DivisionId, y.SubBranchEngineeringName }).Distinct().ToList(); this.drpChildBranch.DataTextField = "SubBranchEngineeringName"; this.drpChildBranch.DataValueField = "DivisionId"; this.drpChildBranch.DataSource = childBranchs; this.drpChildBranch.DataBind(); Funs.FineUIPleaseSelect(this.drpChildBranch); this.drpChildBranch.SelectedIndex = 0; } #endregion //分项工程 this.drpProEngineering.Items.Clear(); var q = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && y.ParentId == this.drpBranch.SelectedValue && y.ParentId != null select new { y.DivisionId, y.ProEngineeringName, y.SubBranchEngineeringName }).Distinct().ToList(); if (q.Where(w => w.SubBranchEngineeringName == null).Count() > 0) { this.drpProEngineering.DataTextField = "ProEngineeringName"; this.drpProEngineering.DataValueField = "DivisionId"; this.drpProEngineering.DataSource = q; } else { var a = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId join z in Funs.DB.Division_SubProjects on y.ParentId equals z.DivisionId join w in Funs.DB.Division_SubProjects on z.ParentId equals w.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && z.ParentId == this.drpBranch.SelectedValue select new { y.DivisionId, y.ProEngineeringName }).Distinct().ToList(); this.drpProEngineering.DataTextField = "ProEngineeringName"; this.drpProEngineering.DataValueField = "DivisionId"; this.drpProEngineering.DataSource = a; } this.drpProEngineering.DataBind(); Funs.FineUIPleaseSelect(this.drpProEngineering); } this.drpProEngineering.SelectedIndex = 0; } /// /// 子分部工程下拉选择事件 /// /// /// protected void drpChildBranch_SelectedIndexChanged(object sender, EventArgs e) { this.drpProEngineering.Items.Clear(); if (this.drpChildBranch.SelectedValue != BLL.Const._Null) { //分项工程 var a = (from x in Funs.DB.WBS_DivisionDivide join y in Funs.DB.Division_SubProjects on x.DivisionId equals y.DivisionId where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == this.drpUnitWorkId.SelectedValue && y.ParentId == this.drpChildBranch.SelectedValue select new { y.DivisionId, y.ProEngineeringName }).Distinct().ToList(); this.drpProEngineering.DataTextField = "ProEngineeringName"; this.drpProEngineering.DataValueField = "DivisionId"; this.drpProEngineering.DataSource = a; this.drpProEngineering.DataBind(); Funs.FineUIPleaseSelect(this.drpProEngineering); this.drpProEngineering.SelectedIndex = 0; } } #endregion } }