CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNoticeEdit.aspx.cs

845 lines
43 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 附件上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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行内事件
/// <summary>
/// Grid1行内事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
List<Model.ProcessControl_InspectionManagementDetail> 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
/// <summary>
/// 搜索
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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集合
/// <summary>
/// 检查并保存集合
/// </summary>
private List<Model.ProcessControl_InspectionManagementDetail> jerqueSaveList()
{
List<Model.ProcessControl_InspectionManagementDetail> details = new List<Model.ProcessControl_InspectionManagementDetail>();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.ProcessControl_InspectionManagementDetail detail = new Model.ProcessControl_InspectionManagementDetail();
detail.InspectionDetailId = this.Grid1.Rows[i].RowID;
detail.UnitWorkId = values.Value<string>("UnitWorkId");
detail.Branch = values.Value<string>("Branch");
detail.ControlPointType = this.Grid1.Rows[i].DataKeys[1].ToString();
string createDate = values.Value<string>("CreateDate");
if (!string.IsNullOrEmpty(createDate))
{
detail.CreateDate = Convert.ToDateTime(createDate);
}
details.Add(detail);
}
return details;
}
#endregion
#region
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
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
/// <summary>
/// 获取单位工程
/// </summary>
/// <param name="UnitWorkId"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取分部
/// </summary>
/// <param name="Branch"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取控制点内容
/// </summary>
/// <param name="ControlPointType"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取控制点等级
/// </summary>
/// <param name="ControlPointType"></param>
/// <returns></returns>
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下拉选择事件
/// <summary>
/// 单位工程下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
}
/// <summary>
/// 子单位工程下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
}
/// <summary>
/// 分部工程下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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;
}
/// <summary>
/// 子分部工程下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
}
}