Basf_EProject/EProject/FineUIPro.Web/ResourcePlan/ResourcePlanEdit.aspx.cs

2408 lines
116 KiB
C#
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.ResourcePlan
{
public partial class ResourcePlanEdit : PageBase
{
/// <summary>
/// 角色编辑页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//string eProjectId = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//GetButtonPower();//按钮权限
btnClose.OnClientClick = ActiveWindow.GetHideReference();
checkJobType.DataTextField = "ConstText";
checkJobType.DataValueField = "ConstValue";
checkJobType.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobType);
checkJobType.DataBind();
//Phase暂无
//checkPhase.DataTextField = "ConstText";
//checkPhase.DataValueField = "ConstValue";
//checkPhase.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.ProjectPlanner_JobType);
//checkPhase.DataBind();
//checkPriority.DataTextField = "ConstText";
//checkPriority.DataValueField = "ConstValue";
//checkPriority.DataSource = BLL.ConstService.GetConstListByGroupId(BLL.Const.PM_Priority);
//checkPriority.DataBind();
//项目经理
BLL.Sys_UserService.InitCTEUserDropDownList(this.ddDesigner, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.ddChecker, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.ddApprover, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.ddLeader, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList1, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList2, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList3, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList4, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList5, false);
BLL.Sys_UserService.InitCTEUserDropDownList(this.DropDownList6, false);
BLL.Sys_UserService.InitUserDropDownList(this.DropDownList7, false);
string resourcePlanId = Request.Params["ResourcePlanId"];
if (!string.IsNullOrEmpty(resourcePlanId))
{
var rp = BLL.ResourcePlanService.GetModelsResourcePlans(resourcePlanId);
var eProject = BLL.EProjectService.GeteProjectById(rp.EProjectId);
if (eProject != null)
{
this.txtJobNo.Text = eProject.ProjectControl_JobNo;
this.txtJobTitle.Text = eProject.ProjectControl_JobTitle;
this.txtMOCNo.Text = eProject.ProjectControl_MOCFormNo;
foreach (CheckItem lst in this.checkJobType.Items)//项目类型
{
if (!string.IsNullOrEmpty(eProject.ProjectControl_JobType))
{
if (eProject.ProjectControl_JobType.Equals(lst.Value))
lst.Selected = true;
}
}
//foreach (CheckItem lsts in this.checkPriority.Items)//优先级
//{
// if (!string.IsNullOrEmpty(eProject.PM_General_Priority))
// {
// if (eProject.PM_General_Priority.Equals(lsts.Value))
// lsts.Selected = true;
// }
//}
var wbs = BLL.DisciplinesWBSService.GetDisciplinesWBSListByType("4"); //"4"表示项目经理
if (wbs != null)
{
Model.ManHours_Plan p = BLL.PlanService.GetPlanByIds(resourcePlanId, wbs.FirstOrDefault().DisciplinesWBSId);
if (p != null)
{
this.DropDownList7.SelectedValue = p.EngineerId;
this.NumberBox15.Text = p.ManHours.ToString();
}
else if (!string.IsNullOrEmpty(eProject.ProjectControl_ProjectManagerId))
{
this.DropDownList7.SelectedValue = eProject.ProjectControl_ProjectManagerId;
}
}
if (!string.IsNullOrEmpty(rp.Phase))
{
checkPhase.SelectedValueArray = rp.Phase.Split(',');
}
//绑定
BindGrid();
}
//foreach (CheckItem item in checkPhase.Items)
//{
// if (!string.IsNullOrEmpty(rp.Phase))
// {
// if (rp.Phase.Equals(item.Value))
// item.Selected = true;
// }
//}
if (rp.Design == "CTE")
{
cbDesign1.Checked = true;
}
if (rp.Design == "CTA")
{
cbDesign2.Checked = true;
}
if (rp.Design == "CTM")
{
cbDesign3.Checked = true;
}
if (rp.Procurement == "CTE")
{
cbProcurement1.Checked = true;
}
if (rp.Procurement == "CTA")
{
cbProcurement2.Checked = true;
}
if (rp.Procurement == "CTM")
{
cbProcurement3.Checked = true;
}
if (rp.Construction == "CTE")
{
cbConstruction1.Checked = true;
}
if (rp.Construction == "CTA")
{
cbConstruction2.Checked = true;
}
if (rp.Construction == "CTM")
{
cbConstruction3.Checked = true;
}
}
}
}
private void BindGrid()
{
string strSql = @"SELECT DisciplinesWBSId,DisciplinesWBSCode,DisciplinesWBSName,WBS,DepartId,DepartName,
NetworkOper,NetworkOper1,WorkorderOper,Designer,Checker,Approver,Leader,Roles,Remark,
Type,'' as UserName,'' as UserId
FROM Base_DisciplinesWBS ";
DataTable table = SQLHelper.GetDataTableRunText(strSql, null);
string resourcePlanId = Request.Params["ResourcePlanId"];
Model.Resource_Plan newPlan = BLL.ResourcePlanService.GetModelsResourcePlan(resourcePlanId);
if (newPlan != null)
{
string Arrays = "";
this.txtWO.Text = newPlan.WO;
txtSchStart1.Text = newPlan.ProjectApproval_Sch_Start.ToString();
if (newPlan.ProjectApproval_Sch_NotApplicable==true) {
cbNotApplicable1.Checked = true;
}
txtSchStart2.Text = newPlan.Detail_Eng_Civil_Sch_Start.ToString();
txtSchEnd2.Text = newPlan.Detail_Eng_Civil_Sch_End.ToString();
if (newPlan.Detail_Eng_Civil_Sch_NotApplicable == true) {
cbNotApplicable2.Checked = true;
}
DatePicker1.Text = newPlan.Detail_Eng_Mech_EI_Sch_Start.ToString();
DatePicker2.Text = newPlan.Detail_Eng_Mech_EI_Sch_End.ToString();
if (newPlan.Detail_Eng_Mech_EI_Sch_NotApplicable == true) {
CheckBox1.Checked = true;
}
DatePicker3.Text = newPlan.LLE_Procurement_Sch_Start.ToString();
DatePicker4.Text = newPlan.LLE_Procurement_Sch_End.ToString();
if (newPlan.LLE_Procurement_Sch_NotApplicable == true)
{
CheckBox2.Checked = true;
}
DatePicker5.Text = newPlan.Const_Civil_Sch_Start.ToString();
DatePicker6.Text = newPlan.Const_Civil_Sch_End.ToString();
if (newPlan.Const_Civil_Sch_NotApplicable == true)
{
CheckBox3.Checked = true;
}
DatePicker7.Text = newPlan.Const_Mech_EI_Start.ToString();
DatePicker8.Text = newPlan.Const_Mech_EI_End.ToString();
if (newPlan.Const_Mech_EI_NotApplicable == true)
{
CheckBox4.Checked = true;
}
DatePicker9.Text = newPlan.MC_Sch_Start.ToString();
//DatePicker10.Text = newPlan.MC_Sch_End.ToString();
if (newPlan.MC_Sch_NotApplicable == true)
{
CheckBox5.Checked = true;
}
var eproj = BLL.EProjectService.GeteProjectById(Request.Params["eProjectId"]);
if (eproj != null)
{
if (eproj.PM_MA_ProjectApproval.HasValue)
{
if (!string.IsNullOrEmpty(txtSchStart1.Text))
{
txtSchStart1.Enabled = false;
}
if (!string.IsNullOrEmpty(txtSchStart2.Text))
{
txtSchStart2.Enabled = false;
}
if (!string.IsNullOrEmpty(txtSchEnd2.Text))
{
txtSchEnd2.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker1.Text))
{
DatePicker1.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker2.Text))
{
DatePicker2.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker3.Text))
{
DatePicker3.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker4.Text))
{
DatePicker4.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker5.Text))
{
DatePicker5.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker6.Text))
{
DatePicker6.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker7.Text))
{
DatePicker7.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker8.Text))
{
DatePicker8.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
DatePicker9.Enabled = false;
}
if (!string.IsNullOrEmpty(DropDownList7.SelectedValue))
{
DropDownList7.Enabled = false;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
NumberBox15.Enabled = false;
}
}
var rp = BLL.ResourcePlanService.GetResourcePlanByEProjectId(eproj.EProjectId);
if (rp.Count() >0)
{
if (checkPhase.Items[0].Selected)
{
txtWO.Label = "W/O";
}
else
{
txtWO.Label = "NetWork";
txtWO.Enabled = false;
}
}
if (!string.IsNullOrEmpty(eproj.PM_General_CDI))
{
BLL.ConstService.InitConstValueDropDownList(this.drpCDI, BLL.Const.PM_CDI, false);
cbCDI.Checked = true;
drpCDI.SelectedValue = eproj.PM_General_CDI;
}
}
DataTable dt = BLL.ResourcePlanService.GetDataTable(newPlan.ResourcePlanId, newPlan.EProjectId);
DataRow[] Getdr1 = dt.Select("Types='1'", "iSort asc");
DataRow[] dr1 = table.Select("Type='1'", "DisciplinesWBSCode asc");
List<NewBaseDisciplinesWBS> Newlist = new List<NewBaseDisciplinesWBS>();
NewBaseDisciplinesWBS NewModel = null;
for (int i = 0; i < dr1.Length; i++)
{
NewModel = new NewBaseDisciplinesWBS();
string Designer = "";
string Ratio1 = "";
string ManHours1 = "";
string Checker = "";
string Ratio2 = "";
string ManHours2 = "";
string Approver = "";
string Ratio3 = "";
string ManHours3 = "";
string Leader = "";
string Ratio4 = "";
string ManHours4 = "";
decimal TotalManHours = 0;
string Sch_Start = "";
string Sch_End = "";
for (int d = 0; d < Getdr1.Length; d++)
{
if (dr1[i]["DisciplinesWBSId"].ToString() == Getdr1[d]["DisciplinesWBSId"].ToString())
{
Sch_Start = Getdr1[d]["Sch_Start"].ToString();
Sch_End = Getdr1[d]["Sch_End"].ToString();
Designer = Getdr1[d]["DesignersId"].ToString();
Ratio1 = Getdr1[d]["Ratio1"].ToString();
ManHours1 = Getdr1[d]["ManHours1"].ToString();
Checker = Getdr1[d]["CheckersId"].ToString();
Ratio2 = Getdr1[d]["Ratio2"].ToString();
ManHours2 = Getdr1[d]["ManHours2"].ToString();
Approver = Getdr1[d]["ApproversId"].ToString();
Ratio3 = Getdr1[d]["Ratio3"].ToString();
ManHours3 = Getdr1[d]["ManHours3"].ToString();
Leader = Getdr1[d]["LeadersId"].ToString();
Ratio4 = Getdr1[d]["Ratio4"].ToString();
ManHours4 = Getdr1[d]["ManHours4"].ToString();
if (string.IsNullOrEmpty(ManHours1))
{
ManHours1 = "0";
}
if (string.IsNullOrEmpty(ManHours2))
{
ManHours2 = "0";
}
if (string.IsNullOrEmpty(ManHours3))
{
ManHours3 = "0";
}
if (string.IsNullOrEmpty(ManHours4))
{
ManHours4 = "0";
}
TotalManHours = Convert.ToDecimal(ManHours1) + Convert.ToDecimal(ManHours2) + Convert.ToDecimal(ManHours3) + Convert.ToDecimal(ManHours4);
Arrays += Getdr1[d]["ISort"].ToString() + ",";
}
}
NewModel.DisciplinesWBSId = dr1[i]["DisciplinesWBSId"].ToString();
NewModel.DisciplinesWBSCode = dr1[i]["DisciplinesWBSCode"].ToString();
NewModel.DisciplinesWBSName = dr1[i]["DisciplinesWBSName"].ToString();
NewModel.WBS = dr1[i]["WBS"].ToString();
NewModel.DepartId = dr1[i]["DepartId"].ToString();
NewModel.DepartName = dr1[i]["DepartName"].ToString();
NewModel.NetworkOper = dr1[i]["NetworkOper"].ToString();
NewModel.WorkorderOper = dr1[i]["WorkorderOper"].ToString();
NewModel.Roles = dr1[i]["Roles"].ToString();
NewModel.Sch_Start = Sch_Start;
NewModel.Sch_End = Sch_End;
NewModel.Designer = Designer;
NewModel.Ratio1 = Ratio1;
NewModel.ManHours1 = ManHours1;
NewModel.Checker = Checker;
NewModel.Ratio2 = Ratio2;
NewModel.ManHours2 = ManHours2;
NewModel.Approver = Approver;
NewModel.Ratio3 = Ratio3;
NewModel.ManHours3 = ManHours3;
NewModel.Leader = Leader;
NewModel.Ratio4 = Ratio4;
NewModel.ManHours4 = ManHours4;
if (TotalManHours == 0)
{
NewModel.TotalManHours = "";
}
else
{
NewModel.TotalManHours = Convert.ToString(TotalManHours);
}
Newlist.Add(NewModel);
}
Grid3.DataSource = Newlist;
Grid3.DataBind();
DataRow[] Getdr2 = dt.Select("Types='2'", "iSort asc");
DataRow[] dr2 = table.Select("Type='2'", "DisciplinesWBSCode asc");
if (Getdr2.Length > 0)
{
DataTable dtGrid4 = new DataTable();
DataColumn DisciplinesWBSId = new DataColumn("DisciplinesWBSId", Type.GetType("System.String"));
DataColumn DisciplinesWBSCode = new DataColumn("DisciplinesWBSCode", Type.GetType("System.String"));
DataColumn DisciplinesWBSName = new DataColumn("DisciplinesWBSName", Type.GetType("System.String"));
DataColumn NetworkOper = new DataColumn("NetworkOper", Type.GetType("System.String"));
DataColumn WorkorderOper = new DataColumn("WorkorderOper", Type.GetType("System.String"));
DataColumn Roles = new DataColumn("Roles", Type.GetType("System.String"));
DataColumn WBS = new DataColumn("WBS", Type.GetType("System.String"));
DataColumn DepartId = new DataColumn("DepartId", Type.GetType("System.String"));
DataColumn DepartName = new DataColumn("DepartName", Type.GetType("System.String"));
DataColumn Designer = new DataColumn("Designer", Type.GetType("System.String"));
DataColumn Ratio1 = new DataColumn("Ratio1", Type.GetType("System.String"));
DataColumn ManHours1 = new DataColumn("ManHours1", Type.GetType("System.String"));
DataColumn Checker = new DataColumn("Checker", Type.GetType("System.String"));
DataColumn Ratio2 = new DataColumn("Ratio2", Type.GetType("System.String"));
DataColumn ManHours2 = new DataColumn("ManHours2", Type.GetType("System.String"));
DataColumn Approver = new DataColumn("Approver", Type.GetType("System.String"));
DataColumn Ratio3 = new DataColumn("Ratio3", Type.GetType("System.String"));
DataColumn ManHours3 = new DataColumn("ManHours3", Type.GetType("System.String"));
DataColumn TotalManHours = new DataColumn("TotalManHours", Type.GetType("System.String"));
dtGrid4.Columns.Add(DisciplinesWBSId);
dtGrid4.Columns.Add(DisciplinesWBSCode);
dtGrid4.Columns.Add(DisciplinesWBSName);
dtGrid4.Columns.Add(WBS);
dtGrid4.Columns.Add(NetworkOper);
dtGrid4.Columns.Add(WorkorderOper);
dtGrid4.Columns.Add(Roles);
dtGrid4.Columns.Add(DepartId);
dtGrid4.Columns.Add(DepartName);
dtGrid4.Columns.Add(Designer);
dtGrid4.Columns.Add(Ratio1);
dtGrid4.Columns.Add(ManHours1);
dtGrid4.Columns.Add(Checker);
dtGrid4.Columns.Add(Ratio2);
dtGrid4.Columns.Add(ManHours2);
dtGrid4.Columns.Add(Approver);
dtGrid4.Columns.Add(Ratio3);
dtGrid4.Columns.Add(ManHours3);
dtGrid4.Columns.Add(TotalManHours);
for (int i = 0; i < Getdr2.Length; i++)
{
decimal TotalManHourss = 0;
String mh1 = "0";
String mh2 = "0";
String mh3 = "0";
DataRow row = dtGrid4.NewRow();
row["DisciplinesWBSId"] = Getdr2[i]["DisciplinesWBSId"].ToString();
row["DisciplinesWBSCode"] = Getdr2[i]["DisciplinesWBSCode"].ToString();
row["DisciplinesWBSName"] = Getdr2[i]["DisciplinesWBSName"].ToString();
row["WBS"] = Getdr2[i]["WBS"].ToString();
row["NetworkOper"] = Getdr2[i]["NetworkOper"].ToString();
row["WorkorderOper"] = Getdr2[i]["WorkorderOper"].ToString();
row["Roles"] = dr2[i]["Roles"].ToString();
row["Designer"] = Getdr2[i]["DesignersId"].ToString();
row["Ratio1"] = Getdr2[i]["Ratio1"].ToString();
mh1 = Getdr2[i]["ManHours1"].ToString();
row["ManHours1"] = mh1;
row["Checker"] = Getdr2[i]["CheckersId"].ToString();
row["Ratio2"] = Getdr2[i]["Ratio2"].ToString();
mh2 = Getdr2[i]["ManHours2"].ToString();
row["ManHours2"] = mh2;
row["Approver"] = Getdr2[i]["ApproversId"].ToString();
row["Ratio3"] = Getdr2[i]["Ratio3"].ToString();
mh3 = Getdr2[i]["ManHours3"].ToString();
row["ManHours3"] = mh3;
if (string.IsNullOrEmpty(Getdr2[i]["ManHours1"].ToString()))
{
mh1 = "0";
}
if (string.IsNullOrEmpty(Getdr2[i]["ManHours2"].ToString()))
{
mh2 = "0";
}
if (string.IsNullOrEmpty(Getdr2[i]["ManHours3"].ToString()))
{
mh3 = "0";
}
TotalManHourss = Convert.ToDecimal(mh1) + Convert.ToDecimal(mh2) + Convert.ToDecimal(mh3);
if (TotalManHourss == 0)
{
row["TotalManHours"] = "";
}
else
{
row["TotalManHours"] = Convert.ToString(TotalManHourss);
}
dtGrid4.Rows.Add(row);
}
Grid4.DataSource = dtGrid4;
Grid4.DataBind();
}
DataRow[] Getdr3 = dt.Select("Types='3'", "iSort asc");
DataRow[] dr3 = table.Select("Type='3'", "DisciplinesWBSCode asc");
if (Getdr3.Length > 0)
{
DataTable dtGrid5 = new DataTable();
DataColumn DisciplinesWBSId = new DataColumn("DisciplinesWBSId", Type.GetType("System.String"));
DataColumn DisciplinesWBSCode = new DataColumn("DisciplinesWBSCode", Type.GetType("System.String"));
DataColumn DisciplinesWBSName = new DataColumn("DisciplinesWBSName", Type.GetType("System.String"));
DataColumn WBS = new DataColumn("WBS", Type.GetType("System.String"));
DataColumn NetworkOper = new DataColumn("NetworkOper", Type.GetType("System.String"));
DataColumn WorkorderOper = new DataColumn("WorkorderOper", Type.GetType("System.String"));
DataColumn Roles = new DataColumn("Roles", Type.GetType("System.String"));
DataColumn DepartId = new DataColumn("DepartId", Type.GetType("System.String"));
DataColumn DepartName = new DataColumn("DepartName", Type.GetType("System.String"));
DataColumn Designer = new DataColumn("Designer", Type.GetType("System.String"));
DataColumn Ratio1 = new DataColumn("Ratio1", Type.GetType("System.String"));
DataColumn ManHours1 = new DataColumn("ManHours1", Type.GetType("System.String"));
DataColumn Checker = new DataColumn("Checker", Type.GetType("System.String"));
DataColumn Ratio2 = new DataColumn("Ratio2", Type.GetType("System.String"));
DataColumn ManHours2 = new DataColumn("ManHours2", Type.GetType("System.String"));
DataColumn Approver = new DataColumn("Approver", Type.GetType("System.String"));
DataColumn Ratio3 = new DataColumn("Ratio3", Type.GetType("System.String"));
DataColumn ManHours3 = new DataColumn("ManHours3", Type.GetType("System.String"));
DataColumn TotalManHours = new DataColumn("TotalManHours", Type.GetType("System.String"));
dtGrid5.Columns.Add(DisciplinesWBSId);
dtGrid5.Columns.Add(DisciplinesWBSCode);
dtGrid5.Columns.Add(DisciplinesWBSName);
dtGrid5.Columns.Add(WBS);
dtGrid5.Columns.Add(NetworkOper);
dtGrid5.Columns.Add(WorkorderOper);
dtGrid5.Columns.Add(Roles);
dtGrid5.Columns.Add(DepartId);
dtGrid5.Columns.Add(DepartName);
dtGrid5.Columns.Add(Designer);
dtGrid5.Columns.Add(Ratio1);
dtGrid5.Columns.Add(ManHours1);
dtGrid5.Columns.Add(Checker);
dtGrid5.Columns.Add(Ratio2);
dtGrid5.Columns.Add(ManHours2);
dtGrid5.Columns.Add(Approver);
dtGrid5.Columns.Add(Ratio3);
dtGrid5.Columns.Add(ManHours3);
dtGrid5.Columns.Add(TotalManHours);
for (int i = 0; i < Getdr3.Length; i++)
{
decimal TotalManHourss = 0;
String mh1 = "0";
String mh2 = "0";
String mh3 = "0";
DataRow row = dtGrid5.NewRow();
row["DisciplinesWBSId"] = Getdr3[i]["DisciplinesWBSId"].ToString();
row["DisciplinesWBSCode"] = Getdr3[i]["DisciplinesWBSCode"].ToString();
row["DisciplinesWBSName"] = Getdr3[i]["DisciplinesWBSName"].ToString();
row["WBS"] = Getdr3[i]["WBS"].ToString();
row["NetworkOper"] = Getdr3[i]["NetworkOper"].ToString();//
row["WorkorderOper"] = Getdr3[i]["WorkorderOper"].ToString();
row["Roles"] = dr3[i]["Roles"].ToString();
row["Designer"] = Getdr3[i]["DesignersId"].ToString();
row["Ratio1"] = Getdr3[i]["Ratio1"].ToString();
mh1 = Getdr3[i]["ManHours1"].ToString();
row["ManHours1"] = mh1;
row["Checker"] = Getdr3[i]["CheckersId"].ToString();
row["Ratio2"] = Getdr3[i]["Ratio2"].ToString();
mh2 = Getdr3[i]["ManHours2"].ToString();
row["ManHours2"] = mh2;
row["Approver"] = Getdr3[i]["ApproversId"].ToString();
row["Ratio3"] = Getdr3[i]["Ratio3"].ToString();
mh3 = Getdr3[i]["ManHours3"].ToString();
row["ManHours3"] = mh3;
if (string.IsNullOrEmpty(Getdr3[i]["ManHours1"].ToString()))
{
mh1 = "0";
}
if (string.IsNullOrEmpty(Getdr3[i]["ManHours2"].ToString()))
{
mh2 = "0";
}
if (string.IsNullOrEmpty(Getdr3[i]["ManHours3"].ToString()))
{
mh3 = "0";
}
TotalManHourss = Convert.ToDecimal(mh1) + Convert.ToDecimal(mh2) + Convert.ToDecimal(mh3);
if (TotalManHourss == 0)
{
row["TotalManHours"] = "";
}
else
{
row["TotalManHours"] = Convert.ToString(TotalManHourss);
}
dtGrid5.Rows.Add(row);
}
Grid5.DataSource = dtGrid5;
Grid5.DataBind();
}
}
}
protected void Grid3_RowDataBound(object sender, GridRowEventArgs e)
{
var row = e.DataItem as NewBaseDisciplinesWBS;
if (row != null)
{
string DisciplinesWBSName = row.DisciplinesWBSName.ToString();
if (DisciplinesWBSName == "PID" || DisciplinesWBSName == "Document" || DisciplinesWBSName == "Cost Estimate")
{
RenderField Sch_Start = Grid3.FindColumn("Sch_Start") as RenderField;
e.CellCssClasses[Sch_Start.ColumnIndex] = "f-grid-cell-uneditable";
RenderField Sch_End = Grid3.FindColumn("Sch_End") as RenderField;
e.CellCssClasses[Sch_End.ColumnIndex] = "f-grid-cell-uneditable";
}
}
string eProjectId = Request.Params["eProjectId"];
if (!string.IsNullOrEmpty(eProjectId))
{
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject != null && eProject.PM_MA_ProjectApproval.HasValue)
{
if (!string.IsNullOrEmpty(row.Sch_Start))
{
RenderField Sch_Start = Grid3.FindColumn("Sch_Start") as RenderField;
e.CellCssClasses[Sch_Start.ColumnIndex] = "f-grid-cell-uneditable";
}
if (!string.IsNullOrEmpty(row.Sch_End))
{
RenderField Sch_End = Grid3.FindColumn("Sch_End") as RenderField;
e.CellCssClasses[Sch_End.ColumnIndex] = "f-grid-cell-uneditable";
}
RenderField ManHours1 = Grid3.FindColumn("ManHours1") as RenderField;
e.CellCssClasses[ManHours1.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(row.ManHours1))
{
e.Values[11] = "0";
}
RenderField ManHours2 = Grid3.FindColumn("ManHours2") as RenderField;
e.CellCssClasses[ManHours2.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(row.ManHours2))
{
e.Values[14] = "0";
}
RenderField ManHours3 = Grid3.FindColumn("ManHours3") as RenderField;
e.CellCssClasses[ManHours3.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(row.ManHours3))
{
e.Values[17] = "0";
}
RenderField ManHours4 = Grid3.FindColumn("ManHours4") as RenderField;
e.CellCssClasses[ManHours4.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(row.ManHours4))
{
e.Values[20] = "0";
}
}
}
}
protected void Grid4_RowDataBound(object sender, GridRowEventArgs e)
{
string eProjectId = Request.Params["eProjectId"];
if (!string.IsNullOrEmpty(eProjectId))
{
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject != null && eProject.PM_MA_ProjectApproval.HasValue)
{
RenderField ManHours1 = Grid4.FindColumn("ManHours1") as RenderField;
e.CellCssClasses[ManHours1.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[8].ToString()))
{
e.Values[8] = "0";
}
RenderField ManHours2 = Grid4.FindColumn("ManHours2") as RenderField;
e.CellCssClasses[ManHours2.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[11].ToString()))
{
e.Values[11] = "0";
}
RenderField ManHours3 = Grid4.FindColumn("ManHours3") as RenderField;
e.CellCssClasses[ManHours3.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[14].ToString()))
{
e.Values[14] = "0";
}
}
}
}
protected void Grid5_RowDataBound(object sender, GridRowEventArgs e)
{
string eProjectId = Request.Params["eProjectId"];
if (!string.IsNullOrEmpty(eProjectId))
{
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject != null && eProject.PM_MA_ProjectApproval.HasValue)
{
RenderField ManHours1 = Grid5.FindColumn("ManHours1") as RenderField;
e.CellCssClasses[ManHours1.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[8].ToString()))
{
e.Values[8] = "0";
}
RenderField ManHours2 = Grid5.FindColumn("ManHours2") as RenderField;
e.CellCssClasses[ManHours2.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[11].ToString()))
{
e.Values[11] = "0";
}
RenderField ManHours3 = Grid5.FindColumn("ManHours3") as RenderField;
e.CellCssClasses[ManHours3.ColumnIndex] = "f-grid-cell-uneditable";
if (string.IsNullOrEmpty(e.Values[14].ToString()))
{
e.Values[14] = "0";
}
}
}
}
#region CTE,CTA,CTM
protected void cbDesign1_OnCheckedChanged(object sender, EventArgs e)
{
if (cbDesign1.Checked)
{
cbDesign2.Checked = false;
cbDesign3.Checked = false;
}
}
protected void cbDesign2_OnCheckedChanged(object sender, EventArgs e)
{
if (cbDesign2.Checked)
{
cbDesign1.Checked = false;
cbDesign3.Checked = false;
}
}
protected void cbDesign3_OnCheckedChanged(object sender, EventArgs e)
{
if (cbDesign3.Checked)
{
cbDesign1.Checked = false;
cbDesign2.Checked = false;
}
}
protected void cbProcurement1_OnCheckedChanged(object sender, EventArgs e)
{
if (cbProcurement1.Checked)
{
cbProcurement2.Checked = false;
cbProcurement3.Checked = false;
}
}
protected void cbProcurement2_OnCheckedChanged(object sender, EventArgs e)
{
if (cbProcurement2.Checked)
{
cbProcurement1.Checked = false;
cbProcurement3.Checked = false;
}
}
protected void cbProcurement3_OnCheckedChanged(object sender, EventArgs e)
{
if (cbProcurement3.Checked)
{
cbProcurement1.Checked = false;
cbProcurement2.Checked = false;
}
}
protected void cbConstruction1_OnCheckedChanged(object sender, EventArgs e)
{
if (cbConstruction1.Checked)
{
cbConstruction2.Checked = false;
cbConstruction3.Checked = false;
}
}
protected void cbConstruction2_OnCheckedChanged(object sender, EventArgs e)
{
if (cbConstruction2.Checked)
{
cbConstruction1.Checked = false;
cbConstruction3.Checked = false;
}
}
protected void cbConstruction3_OnCheckedChanged(object sender, EventArgs e)
{
if (cbConstruction3.Checked)
{
cbConstruction1.Checked = false;
cbConstruction2.Checked = false;
}
}
#endregion
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
string eProjectId = Request.Params["eProjectId"];
string ProjectControlNetworkNo = string.Empty;
string ProjectControlAccount = string.Empty;
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject != null)
{
ProjectControlNetworkNo = eProject.ProjectControl_NetworkNo;
ProjectControlAccount = eProject.ProjectControl_Account;
}
try
{
Model.Editor_EProject EProject = new Model.Editor_EProject();
Model.Resource_Plan newPlan = BLL.ResourcePlanService.GetModelsResourcePlan(Request.Params["ResourcePlanId"]);
if (newPlan != null)
{
newPlan.WO = txtWO.Text;
if (!string.IsNullOrEmpty(txtSchStart1.Text))
{
newPlan.ProjectApproval_Sch_Start = Convert.ToDateTime(txtSchStart1.Text);
}
//if (!string.IsNullOrEmpty(txtSchEnd1.Text))
//{
// newPlan.ProjectApproval_Sch_End = Convert.ToDateTime(txtSchEnd1.Text);
//}
newPlan.ProjectApproval_Sch_NotApplicable = false;
if (cbNotApplicable1.Checked)
{
newPlan.ProjectApproval_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(txtSchStart2.Text))
{
newPlan.Detail_Eng_Civil_Sch_Start = Convert.ToDateTime(txtSchStart2.Text);
}
else
{
newPlan.Detail_Eng_Civil_Sch_Start = null;
}
if (!string.IsNullOrEmpty(txtSchEnd2.Text))
{
newPlan.Detail_Eng_Civil_Sch_End = Convert.ToDateTime(txtSchEnd2.Text);
}
else
{
newPlan.Detail_Eng_Civil_Sch_End = null;
}
newPlan.Detail_Eng_Civil_Sch_NotApplicable = false;
if (cbNotApplicable2.Checked)
{
newPlan.Detail_Eng_Civil_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker1.Text))
{
newPlan.Detail_Eng_Mech_EI_Sch_Start = Convert.ToDateTime(DatePicker1.Text);
}
else
{
newPlan.Detail_Eng_Mech_EI_Sch_Start = null;
}
if (!string.IsNullOrEmpty(DatePicker2.Text))
{
newPlan.Detail_Eng_Mech_EI_Sch_End = Convert.ToDateTime(DatePicker2.Text);
}
else
{
newPlan.Detail_Eng_Mech_EI_Sch_End = null;
}
newPlan.Detail_Eng_Mech_EI_Sch_NotApplicable = false;
if (CheckBox1.Checked)
{
newPlan.Detail_Eng_Mech_EI_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker3.Text))
{
newPlan.LLE_Procurement_Sch_Start = Convert.ToDateTime(DatePicker3.Text);
}
else
{
newPlan.LLE_Procurement_Sch_Start = null;
}
if (!string.IsNullOrEmpty(DatePicker4.Text))
{
newPlan.LLE_Procurement_Sch_End = Convert.ToDateTime(DatePicker4.Text);
}
else
{
newPlan.LLE_Procurement_Sch_End = null;
}
newPlan.LLE_Procurement_Sch_NotApplicable = false;
if (CheckBox2.Checked)
{
newPlan.LLE_Procurement_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker5.Text))
{
newPlan.Const_Civil_Sch_Start = Convert.ToDateTime(DatePicker5.Text);
}
else
{
newPlan.Const_Civil_Sch_Start = null;
}
if (!string.IsNullOrEmpty(DatePicker6.Text))
{
newPlan.Const_Civil_Sch_End = Convert.ToDateTime(DatePicker6.Text);
}
else
{
newPlan.Const_Civil_Sch_End = null;
}
newPlan.Const_Civil_Sch_NotApplicable = false;
if (CheckBox3.Checked)
{
newPlan.Const_Civil_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker7.Text))
{
newPlan.Const_Mech_EI_Start = Convert.ToDateTime(DatePicker7.Text);
}
else
{
newPlan.Const_Mech_EI_Start = null;
}
if (!string.IsNullOrEmpty(DatePicker8.Text))
{
newPlan.Const_Mech_EI_End = Convert.ToDateTime(DatePicker8.Text);
}
else
{
newPlan.Const_Mech_EI_End = null;
}
newPlan.Const_Mech_EI_NotApplicable = false;
if (CheckBox4.Checked)
{
newPlan.Const_Mech_EI_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
newPlan.MC_Sch_Start = Convert.ToDateTime(DatePicker9.Text);
}
else
{
newPlan.MC_Sch_Start = null;
}
//if (!string.IsNullOrEmpty(DatePicker10.Text))
//{
// newPlan.MC_Sch_End = Convert.ToDateTime(DatePicker10.Text);
//}
newPlan.MC_Sch_NotApplicable = false;
if (CheckBox5.Checked)
{
newPlan.MC_Sch_NotApplicable = true;
}
if (checkPhase.SelectedValueArray != null)
{
newPlan.Phase = checkPhase.SelectedValueArray[0];
}
//foreach (CheckItem item in checkPhase.Items)
//{
// if (item.Selected)
// {
// newPlan.Phase = item.Value;
// }
//}
if (cbDesign1.Checked)
{
newPlan.Design = "CTE";
}
else if (cbDesign2.Checked)
{
newPlan.Design = "CTA";
}
else if (cbDesign3.Checked)
{
newPlan.Design = "CTM";
}
else
{
newPlan.Design = null;
}
if (cbProcurement1.Checked)
{
newPlan.Procurement = "CTE";
}
else if (cbProcurement2.Checked)
{
newPlan.Procurement = "CTA";
}
else if (cbProcurement2.Checked)
{
newPlan.Procurement = "CTM";
}
else
{
newPlan.Procurement = null;
}
if (cbConstruction1.Checked)
{
newPlan.Construction = "CTE";
}
else if (cbConstruction2.Checked)
{
newPlan.Construction = "CTA";
}
else if (cbConstruction3.Checked)
{
newPlan.Construction = "CTM";
}
else
{
newPlan.Construction = null;
}
//Progress:自动计算% =(Today - Sch.Start)  / (Sch. End- Sch.Start)
//更新 Editor_EProject
EProject.ModifyDate = DateTime.Now;
EProject.ModifyPerson = CurrUser.UserId;
if (!string.IsNullOrEmpty(txtSchStart1.Text))
{
EProject.ProjectControl_MS_Approval = Convert.ToDateTime(txtSchStart1.Text);
}
if (!string.IsNullOrEmpty(DatePicker3.Text) || !string.IsNullOrEmpty(DatePicker4.Text))
{
DateTime time = DateTime.Now;
EProject.ProjectControl_LP_SchStart = Funs.GetNewDateTime(this.DatePicker3.Text.Trim());
EProject.ProjectControl_LP_SchEnd = Funs.GetNewDateTime(this.DatePicker4.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProject.ProjectControl_LP_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProject.ProjectControl_LP_SchEnd) - Convert.ToDateTime(EProject.ProjectControl_LP_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProject.ProjectControl_LP_Progress = ts;
}
if (eProject != null)
{
if (eProject.ProjectControl_JobStatus == "Not Start" && !eProject.PM_MA_ProjectApproval.HasValue)
{
EProject.ProjectControl_JobStatus = "Study";
}
else
{
EProject.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus;
}
if (cbCDI.Checked)
{
EProject.PM_General_CDI = drpCDI.SelectedValue;
}
}
if (!string.IsNullOrEmpty(DatePicker5.Text) || !string.IsNullOrEmpty(DatePicker6.Text))
{
DateTime time = DateTime.Now;
EProject.ProjectControl_CC_SchStart = Convert.ToDateTime(this.DatePicker5.Text.Trim());
EProject.ProjectControl_CC_SchEnd = Convert.ToDateTime(this.DatePicker6.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProject.ProjectControl_CC_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProject.ProjectControl_CC_SchEnd) - Convert.ToDateTime(EProject.ProjectControl_CC_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProject.ProjectControl_CC_Progress = ts;
}
if (!string.IsNullOrEmpty(DatePicker7.Text) || !string.IsNullOrEmpty(DatePicker8.Text))
{
DateTime time = DateTime.Now;
EProject.ProjectControl_CM_SchStart = Convert.ToDateTime(this.DatePicker7.Text.Trim());
EProject.ProjectControl_CM_SchEnd = Convert.ToDateTime(this.DatePicker8.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProject.ProjectControl_CM_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProject.ProjectControl_CM_SchEnd) - Convert.ToDateTime(EProject.ProjectControl_CM_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProject.ProjectControl_CM_Progress = ts;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
EProject.ProjectControl_MS_MC = Funs.GetNewDateTime(this.DatePicker9.Text.Trim());
EProject.ProjectControl_Revised_MC_Date = Funs.GetNewDateTime(this.DatePicker9.Text.Trim());
EProject.ProjectControl_MS_Close = Funs.GetNewDateTime(this.DatePicker9.Text.Trim()).Value.AddMonths(6);
}
if (!string.IsNullOrEmpty(DropDownList7.SelectedValue))
{
EProject.ProjectControl_ProjectManagerId = DropDownList7.SelectedValue;
}
//foreach (CheckItem item in this.checkPriority.Items)
//{
// if (item.Selected)
// {
// EProject.PM_General_Priority = item.Value;
// }
//}
List<Model.Resource_PlanDetail> PlanDetaillist = new List<Model.Resource_PlanDetail>();
List<Model.ManHours_Plan> ManHourList = new List<Model.ManHours_Plan>();
List<Model.Editor_PM> PMList = new List<Model.Editor_PM>();
// pm 添加到人工时
if (!string.IsNullOrEmpty(DropDownList7.SelectedValue) && !string.IsNullOrEmpty(NumberBox15.Text))
{
if (BLL.Sys_UserService.IsCTEAndCalculated(DropDownList7.SelectedValue))
{
var pmd = from x in Funs.DB.Base_DisciplinesWBS where x.Type == "4" select x;
Model.ManHours_Plan PM = new Model.ManHours_Plan();
PM.ManHoursPlanId = Guid.NewGuid().ToString();
PM.ResourcePlanId = newPlan.ResourcePlanId;
PM.EProjectId = Request.Params["eProjectId"];
PM.EngineerId = DropDownList7.SelectedValue;
PM.Account = txtWO.Text;
if (pmd.Count() > 0)
{
PM.DisciplineId = pmd.FirstOrDefault().DisciplinesWBSId;
PM.Discipline = pmd.FirstOrDefault().DisciplinesWBSName;
PM.Roles = pmd.FirstOrDefault().Roles;
if (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest")
{
if (checkPhase.Items[0].Selected)
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
PM.Account = ProjectControlNetworkNo + "-" + pmd.FirstOrDefault().NetworkOper1;
}
else
{
PM.Account = pmd.FirstOrDefault().NetworkOper1;
}
//if (!string.IsNullOrEmpty(ProjectControlAccount))
//{
// PM.Account = ProjectControlAccount + "-" + pmd.FirstOrDefault().WorkorderOper;
//}
//else
//{
// PM.Account = pmd.FirstOrDefault().WorkorderOper;
//}
}
else
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
PM.Account = ProjectControlNetworkNo + "-" + pmd.FirstOrDefault().NetworkOper;
}
else
{
PM.Account = pmd.FirstOrDefault().NetworkOper;
}
//var epro = BLL.EProjectService.GeteProjectById(eProjectId);
//if (!string.IsNullOrEmpty(epro.ProjectControl_NetworkNo))
//{
// PM.Account = epro.ProjectControl_NetworkNo + "-" + pmd.FirstOrDefault().NetworkOper;
//}
//else
//{
// PM.Account = pmd.FirstOrDefault().NetworkOper;
//}
}
}
else
{
if (!string.IsNullOrEmpty(txtWO.Text))
{
PM.Account = txtWO.Text + "-" + pmd.FirstOrDefault().WorkorderOper;
}
else
{
PM.Account = pmd.FirstOrDefault().WorkorderOper;
}
}
}
else
{
PM.DisciplineId = "M00";
PM.Discipline = "M00";
PM.Roles = "M00";
}
PM.ManHours = Convert.ToInt32(NumberBox15.Text);
PM.IsClose = 0;
PM.AccountDisabled = 0;
ManHourList.Add(PM);
}
}
JArray JArrays = Grid3.GetMergedData();
if (JArrays.Count > 0)
{
//Process 1
JObject objectsProcess = (JObject)JArrays[1];
string Leader1 = objectsProcess["values"]["Leader"].ToString();
DateTime? schStart0 = null;
DateTime? schEnd0 = null;
if (!string.IsNullOrEmpty(objectsProcess["values"]["Sch_Start"].ToString()))
{
schStart0 = Convert.ToDateTime(objectsProcess["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsProcess["values"]["Sch_End"].ToString()))
{
schEnd0 = Convert.ToDateTime(objectsProcess["values"]["Sch_End"].ToString());
}
// Piping 8
JObject objectsPiping = (JObject)JArrays[8];
string Leader2 = objectsPiping["values"]["Leader"].ToString();
DateTime? schStart8 = null;
DateTime? schEnd8 = null;
if (!string.IsNullOrEmpty(objectsPiping["values"]["Sch_Start"].ToString()))
{
schStart8 = Convert.ToDateTime(objectsPiping["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsPiping["values"]["Sch_End"].ToString()))
{
schEnd8 = Convert.ToDateTime(objectsPiping["values"]["Sch_End"].ToString());
}
//Plumbing/F.F 6
JObject objectsPlumbing = (JObject)JArrays[6];
string Leader3 = objectsPlumbing["values"]["Leader"].ToString();
DateTime? schStart6 = null;
DateTime? schEnd6 = null;
if (!string.IsNullOrEmpty(objectsPlumbing["values"]["Sch_Start"].ToString()))
{
schStart6 = Convert.ToDateTime(objectsPlumbing["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsPlumbing["values"]["Sch_End"].ToString()))
{
schEnd6 = Convert.ToDateTime(objectsPlumbing["values"]["Sch_End"].ToString());
}
if (!String.IsNullOrEmpty(Leader1))
{
EProject.ProjectControl_CI_Process = Leader1;
}
else
{
if (!String.IsNullOrEmpty(Leader2))
{
EProject.ProjectControl_CI_Process = Leader2;
}
else
{
if (!String.IsNullOrEmpty(Leader3))
{
EProject.ProjectControl_CI_Process = Leader3;
}
else
{
EProject.ProjectControl_CI_Process = eProject.ProjectControl_CI_Process;
}
}
}
JObject objectsCivil = (JObject)JArrays[3];
string Equipment1 = objectsCivil["values"]["Leader"].ToString();
DateTime? schStart3 = null;
DateTime? schEnd3 = null;
if (!string.IsNullOrEmpty(objectsCivil["values"]["Sch_Start"].ToString()))
{
schStart3 = Convert.ToDateTime(objectsCivil["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsCivil["values"]["Sch_End"].ToString()))
{
schEnd3 = Convert.ToDateTime(objectsCivil["values"]["Sch_End"].ToString());
}
JObject objectsArchitectral = (JObject)JArrays[4];
string Equipment2 = objectsArchitectral["values"]["Leader"].ToString();
DateTime? schStart4 = null;
DateTime? schEnd4 = null;
if (!string.IsNullOrEmpty(objectsArchitectral["values"]["Sch_Start"].ToString()))
{
schStart4 = Convert.ToDateTime(objectsArchitectral["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsArchitectral["values"]["Sch_End"].ToString()))
{
schEnd4 = Convert.ToDateTime(objectsArchitectral["values"]["Sch_End"].ToString());
}
JObject objectsHVAC = (JObject)JArrays[5];
string Equipment3 = objectsHVAC["values"]["Leader"].ToString();
DateTime? schStart5 = null;
DateTime? schEnd5 = null;
if (!string.IsNullOrEmpty(objectsHVAC["values"]["Sch_Start"].ToString()))
{
schStart5 = Convert.ToDateTime(objectsHVAC["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsHVAC["values"]["Sch_End"].ToString()))
{
schEnd5 = Convert.ToDateTime(objectsHVAC["values"]["Sch_End"].ToString());
}
JObject objectsMasterplanning = (JObject)JArrays[2];
string Equipment4 = objectsMasterplanning["values"]["Leader"].ToString();
DateTime? schStart2 = null;
DateTime? schEnd2 = null;
if (!string.IsNullOrEmpty(objectsMasterplanning["values"]["Sch_Start"].ToString()))
{
schStart2 = Convert.ToDateTime(objectsMasterplanning["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsMasterplanning["values"]["Sch_End"].ToString()))
{
schEnd2 = Convert.ToDateTime(objectsMasterplanning["values"]["Sch_End"].ToString());
}
// 取优先级Civil>Architectral>HVAC>Masterplanning
if (!String.IsNullOrEmpty(Equipment1))
{
EProject.ProjectControl_CI_Civil = Equipment1;
}
else
{
if (!String.IsNullOrEmpty(Equipment2))
{
EProject.ProjectControl_CI_Civil = Equipment2;
}
else
{
if (!String.IsNullOrEmpty(Equipment3))
{
EProject.ProjectControl_CI_Civil = Equipment3;
}
else
{
if (!String.IsNullOrEmpty(Equipment4))
{
EProject.ProjectControl_CI_Civil = Equipment4;
}
else
{
EProject.ProjectControl_CI_Civil = eProject.ProjectControl_CI_Civil;
}
}
}
}
JObject objectsInstrument = (JObject)JArrays[11];
string Instrument = objectsInstrument["values"]["Leader"].ToString();
DateTime? schStart11 = null;
DateTime? schEnd11 = null;
if (!string.IsNullOrEmpty(objectsInstrument["values"]["Sch_Start"].ToString()))
{
schStart11 = Convert.ToDateTime(objectsInstrument["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsInstrument["values"]["Sch_End"].ToString()))
{
schEnd11 = Convert.ToDateTime(objectsInstrument["values"]["Sch_End"].ToString());
}
if (!string.IsNullOrEmpty(Instrument))
{
EProject.ProjectControl_CI_Instrument = Instrument;
}
else
{
EProject.ProjectControl_CI_Instrument = eProject.ProjectControl_CI_Instrument;
}
JObject objectsElectrical = (JObject)JArrays[9];
string Electrical = objectsElectrical["values"]["Leader"].ToString();
DateTime? schStart9 = null;
DateTime? schEnd9 = null;
if (!string.IsNullOrEmpty(objectsElectrical["values"]["Sch_Start"].ToString()))
{
schStart9 = Convert.ToDateTime(objectsElectrical["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsElectrical["values"]["Sch_End"].ToString()))
{
schEnd9 = Convert.ToDateTime(objectsElectrical["values"]["Sch_End"].ToString());
}
JObject objectsTelecommunication = (JObject)JArrays[10];
string Telecommunication = objectsTelecommunication["values"]["Leader"].ToString();
DateTime? schStart10 = null;
DateTime? schEnd10 = null;
if (!string.IsNullOrEmpty(objectsTelecommunication["values"]["Sch_Start"].ToString()))
{
schStart10 = Convert.ToDateTime(objectsTelecommunication["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsTelecommunication["values"]["Sch_End"].ToString()))
{
schEnd10 = Convert.ToDateTime(objectsTelecommunication["values"]["Sch_End"].ToString());
}
if (!String.IsNullOrEmpty(Electrical))
{
EProject.ProjectControl_CI_Electrical = Electrical;
}
else
{
if (!String.IsNullOrEmpty(Telecommunication))
{
EProject.ProjectControl_CI_Electrical = Telecommunication;
}
else
{
EProject.ProjectControl_CI_Electrical = eProject.ProjectControl_CI_Electrical;
}
}
JObject objectsMech = (JObject)JArrays[7];
string MechEqui = objectsMech["values"]["Leader"].ToString();
DateTime? schStart7 = null;
DateTime? schEnd7 = null;
if (!string.IsNullOrEmpty(objectsMech["values"]["Sch_Start"].ToString()))
{
schStart7 = Convert.ToDateTime(objectsMech["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objectsMech["values"]["Sch_End"].ToString()))
{
schEnd7 = Convert.ToDateTime(objectsMech["values"]["Sch_End"].ToString());
}
if (!String.IsNullOrEmpty(MechEqui))
{
EProject.ProjectControl_CI_Equipment = MechEqui;
}
else
{
EProject.ProjectControl_CI_Equipment = eProject.ProjectControl_CI_Equipment;
}
// 取CTE/C SchStart时间最早
#region
//DateTime schStart = Convert.ToDateTime("2050-01-01");
//if (schStart1 != null && schStart1.Value.CompareTo(schStart) < 0)
//{
// schStart = schStart1.Value;
//}
//if (schStart2 != null && schStart2.Value.CompareTo(schStart) < 0)
//{
// schStart = schStart2.Value;
//}
//if (schStart3 != null && schStart3.Value.CompareTo(schStart) < 0)
//{
// schStart = schStart3.Value;
//}
//if (schStart4 != null && schStart4.Value.CompareTo(schStart) < 0)
//{
// schStart = schStart4.Value;
//}
// 取CTE/C SchEnd时间最晚
//DateTime schEnd = Convert.ToDateTime("1900-01-01");
//if (schEnd1 != null && schEnd1.Value.CompareTo(schEnd) > 0)
//{
// schEnd = schEnd1.Value;
//}
//if (schEnd2 != null && schEnd2.Value.CompareTo(schEnd) > 0)
//{
// schEnd = schEnd2.Value;
//}
//if (schEnd3 != null && schEnd3.Value.CompareTo(schEnd) > 0)
//{
// schEnd = schEnd3.Value;
//}
//if (schEnd4 != null && schEnd4.Value.CompareTo(schEnd) > 0)
//{
// schEnd = schEnd4.Value;
//}
//if (string.IsNullOrEmpty(txtSchStart2.Text) && schStart != Convert.ToDateTime("2050-01-01"))
//{
// newPlan.Detail_Eng_Civil_Sch_Start = schStart;
//}
//if (string.IsNullOrEmpty(txtSchEnd2.Text) && schEnd != Convert.ToDateTime("1900-01-01"))
//{
// newPlan.Detail_Eng_Civil_Sch_End = schEnd;
//}
// 取CTE/P+ CTE/A SchStart时间最早
//DateTime schStartME = Convert.ToDateTime("2050-01-01");
//if (schStart0 != null && schStart0.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart0.Value;
//}
//if (schStart6 != null && schStart6.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart6.Value;
//}
//if (schStart7 != null && schStart7.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart7.Value;
//}
//if (schStart8 != null && schStart8.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart8.Value;
//}
//if (schStart9 != null && schStart9.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart9.Value;
//}
//if (schStart10 != null && schStart10.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart10.Value;
//}
//if (schStart11 != null && schStart11.Value.CompareTo(schStartME) < 0)
//{
// schStartME = schStart11.Value;
//}
// 取CTE/P+ CTE/A SchEnd时间最晚
//DateTime schEndME = Convert.ToDateTime("1900-01-01");
//if (schEnd0 != null && schEnd0.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd0.Value;
//}
//if (schEnd6 != null && schEnd6.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd6.Value;
//}
//if (schEnd7 != null && schEnd7.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd7.Value;
//}
//if (schEnd8 != null && schEnd8.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd8.Value;
//}
//if (schEnd9 != null && schEnd9.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd9.Value;
//}
//if (schEnd10 != null && schEnd10.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd10.Value;
//}
//if (schEnd11 != null && schEnd11.Value.CompareTo(schEndME) > 0)
//{
// schEndME = schEnd11.Value;
//}
//if (string.IsNullOrEmpty(DatePicker1.Text) && schStartME != Convert.ToDateTime("2050-01-01"))
//{
// newPlan.Detail_Eng_Mech_EI_Sch_Start = schStartME;
//}
//if (string.IsNullOrEmpty(DatePicker2.Text) && schEndME != Convert.ToDateTime("1900-01-01"))
//{
// newPlan.Detail_Eng_Mech_EI_Sch_End = schEndME;
//}
#endregion
Model.Resource_PlanDetail PlanDetail = null;
for (int i = 0; i < JArrays.Count; i++)
{
PlanDetail = new Model.Resource_PlanDetail();
// int rowIndex = Grid3.SelectedRowIndexArray[i];
JObject objects = (JObject)JArrays[i];
object[] dataKeys = Grid3.DataKeys[i];
PlanDetail.ResourcePlanDetailId = Guid.NewGuid().ToString();
PlanDetail.ResourcePlanId = newPlan.ResourcePlanId;
PlanDetail.EProjectId = Request.Params["eProjectId"];
PlanDetail.DisciplinesWBSId = dataKeys[0].ToString();
PlanDetail.DisciplinesWBSCode = dataKeys[1].ToString();
PlanDetail.DisciplinesWBSName = dataKeys[2].ToString();
PlanDetail.WBS = dataKeys[3].ToString();
PlanDetail.ISort = i + 1;
string NetworkOper = objects["values"]["NetworkOper"].ToString();
string WorkorderOper = objects["values"]["WorkorderOper"].ToString();
PlanDetail.DesignersId = objects["values"]["Designer"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Sch_Start"].ToString()))
{
PlanDetail.Sch_Start = Convert.ToDateTime(objects["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objects["values"]["Sch_End"].ToString()))
{
PlanDetail.Sch_End = Convert.ToDateTime(objects["values"]["Sch_End"].ToString());
}
if (!string.IsNullOrEmpty(objects["values"]["Ratio1"].ToString()))
{
PlanDetail.Ratio1 = Convert.ToDecimal(objects["values"]["Ratio1"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours1"].ToString()))
{
PlanDetail.ManHours1 = Convert.ToDecimal(objects["values"]["ManHours1"]);
}
PlanDetail.CheckersId = objects["values"]["Checker"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio2"].ToString()))
{
PlanDetail.Ratio2 = Convert.ToDecimal(objects["values"]["Ratio2"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours2"].ToString()))
{
PlanDetail.ManHours2 = Convert.ToDecimal(objects["values"]["ManHours2"]);
}
PlanDetail.ApproversId = objects["values"]["Approver"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio3"].ToString()))
{
PlanDetail.Ratio3 = Convert.ToDecimal(objects["values"]["Ratio3"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours3"].ToString()))
{
PlanDetail.ManHours3 = Convert.ToDecimal(objects["values"]["ManHours3"]);
}
PlanDetail.LeadersId = objects["values"]["Leader"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio4"].ToString()))
{
PlanDetail.Ratio4 = Convert.ToDecimal(objects["values"]["Ratio4"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours4"].ToString()))
{
PlanDetail.ManHours4 = Convert.ToDecimal(objects["values"]["ManHours4"]);
}
PlanDetail.Types = "1";
PlanDetaillist.Add(PlanDetail);
Model.Editor_PM EditorPM = null;
if (!string.IsNullOrEmpty(objects["values"]["Designer"].ToString()) || !string.IsNullOrEmpty(objects["values"]["Checker"].ToString())
|| !string.IsNullOrEmpty(objects["values"]["Approver"].ToString()) || !string.IsNullOrEmpty(objects["values"]["Leader"].ToString()))
{
EditorPM = new Model.Editor_PM();
EditorPM.PMId = Guid.NewGuid().ToString();
EditorPM.EProjectId = Request.Params["eProjectId"];
EditorPM.DisciplinesWBSCode = dataKeys[1].ToString();
EditorPM.DisciplinesWBSName = dataKeys[2].ToString();
EditorPM.WBS = dataKeys[3].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Sch_Start"].ToString()))
{
EditorPM.SchStart = Convert.ToDateTime(objects["values"]["Sch_Start"].ToString());
EditorPM.RevisedStart = Convert.ToDateTime(objects["values"]["Sch_Start"].ToString());
}
if (!string.IsNullOrEmpty(objects["values"]["Sch_End"].ToString()))
{
EditorPM.SchEnd = Convert.ToDateTime(objects["values"]["Sch_End"].ToString());
EditorPM.RevisedEnd = Convert.ToDateTime(objects["values"]["Sch_End"].ToString());
}
PMList.Add(EditorPM);
}
string Designer = objects["values"]["Designer"].ToString() + "@" + objects["values"]["Checker"].ToString() + "@" + objects["values"]["Approver"].ToString() + "@" + objects["values"]["Leader"].ToString();
string ManHours = objects["values"]["ManHours1"].ToString() + "@" + objects["values"]["ManHours2"].ToString() + "@" + objects["values"]["ManHours3"].ToString() + "@" + objects["values"]["ManHours4"].ToString();
string[] DesignerArr = Designer.Split('@');
string[] ManHoursArr = ManHours.Split('@');
Model.ManHours_Plan ManHoursPlan = null;
for (int l = 0; l < DesignerArr.Length; l++)
{
if (!string.IsNullOrEmpty(DesignerArr[l].ToString()))
{
ManHoursPlan = new Model.ManHours_Plan();
ManHoursPlan.ManHoursPlanId = Guid.NewGuid().ToString();
ManHoursPlan.ResourcePlanId = newPlan.ResourcePlanId;
ManHoursPlan.EProjectId = Request.Params["eProjectId"];
ManHoursPlan.EngineerId = DesignerArr[l].ToString();
if (BLL.Sys_UserService.IsCTEAndCalculated(DesignerArr[l]))
{
if (!string.IsNullOrEmpty(ManHoursArr[l].ToString()))
{
ManHoursPlan.ManHours = Convert.ToInt32(ManHoursArr[l].ToString());
}
}
else
{
ManHoursPlan.ManHours = 0;
}
ManHoursPlan.DisciplineId = dataKeys[0].ToString();
ManHoursPlan.Discipline = dataKeys[2].ToString();
var wbs = BLL.DisciplinesWBSService.GetDisciplinesWBSById(dataKeys[0].ToString());
string roles = string.Empty;
if (l == 0)
{
if (wbs.Designer == "D10" || wbs.Designer == "D20")
{
roles = wbs.Designer;
}
else
{
roles = wbs.Designer + "_Designer";
}
}
if (l == 1)
{
roles = wbs.Checker + "_Checker";
}
if (l == 2)
{
roles = wbs.Approver + "_Approver";
}
if (l == 3)
{
roles = wbs.Leader + "_Leader";
}
ManHoursPlan.Roles = roles;
//ManHoursPlan.Account = txtWO.Text;
if (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest")
{
if (checkPhase.Items[0].Selected)
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + NetworkOper;
}
else
{
ManHoursPlan.Account = NetworkOper;
}
}
}
else
{
if (!string.IsNullOrEmpty(txtWO.Text))
{
ManHoursPlan.Account = txtWO.Text + "-" + WorkorderOper;
}
else
{
ManHoursPlan.Account = WorkorderOper;
}
}
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHourList.Add(ManHoursPlan);
}
}
}
}
JArray ConstructionArr = Grid4.GetMergedData();
if (ConstructionArr.Count > 0)
{
Model.Resource_PlanDetail PlanDetail = null;
for (int c = 0; c < ConstructionArr.Count; c++)
{
JObject objects = (JObject)ConstructionArr[c];
PlanDetail = new Model.Resource_PlanDetail();
PlanDetail.ResourcePlanDetailId = Guid.NewGuid().ToString();
PlanDetail.ResourcePlanId = newPlan.ResourcePlanId;
PlanDetail.EProjectId = Request.Params["eProjectId"];
object[] dataKeys = Grid4.DataKeys[c];
PlanDetail.ISort = c + 1;
PlanDetail.DisciplinesWBSId = dataKeys[0].ToString();
PlanDetail.DisciplinesWBSCode = dataKeys[1].ToString();
PlanDetail.DisciplinesWBSName = dataKeys[2].ToString();
PlanDetail.WBS = dataKeys[3].ToString();
string NetworkOper = objects["values"]["NetworkOper"].ToString();
string WorkorderOper = objects["values"]["WorkorderOper"].ToString();
PlanDetail.DesignersId = objects["values"]["Designer"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio1"].ToString()))
{
PlanDetail.Ratio1 = Convert.ToDecimal(objects["values"]["Ratio1"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours1"].ToString()))
{
PlanDetail.ManHours1 = Convert.ToDecimal(objects["values"]["ManHours1"]);
}
PlanDetail.CheckersId = objects["values"]["Checker"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio2"].ToString()))
{
PlanDetail.Ratio2 = Convert.ToDecimal(objects["values"]["Ratio2"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours2"].ToString()))
{
PlanDetail.ManHours2 = Convert.ToDecimal(objects["values"]["ManHours2"]);
}
PlanDetail.ApproversId = objects["values"]["Approver"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio3"].ToString()))
{
PlanDetail.Ratio3 = Convert.ToDecimal(objects["values"]["Ratio3"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours3"].ToString()))
{
PlanDetail.ManHours3 = Convert.ToDecimal(objects["values"]["ManHours3"]);
}
PlanDetail.Types = "2";
PlanDetaillist.Add(PlanDetail);
//反写ProjectControl中CM
if (PlanDetail.DisciplinesWBSName == "Construction Management")
{
if (!string.IsNullOrEmpty(PlanDetail.DesignersId))
{
EProject.ProjectControl_ConstManagerId = PlanDetail.DesignersId;
EProject.ProjectControl_ConstManager = BLL.Sys_UserService.GetUserNameByUserId(PlanDetail.DesignersId);
}
}
string Designer = objects["values"]["Designer"].ToString() + "@" + objects["values"]["Checker"].ToString() + "@" + objects["values"]["Approver"].ToString();
string ManHours = objects["values"]["ManHours1"].ToString() + "@" + objects["values"]["ManHours2"].ToString() + "@" + objects["values"]["ManHours3"].ToString();
string[] DesignerArr = Designer.Split('@');
string[] ManHoursArr = ManHours.Split('@');
Model.ManHours_Plan ManHoursPlan = null;
for (int l = 0; l < DesignerArr.Length; l++)
{
if (!string.IsNullOrEmpty(DesignerArr[l].ToString()))
{
ManHoursPlan = new Model.ManHours_Plan();
ManHoursPlan.ManHoursPlanId = Guid.NewGuid().ToString();
ManHoursPlan.ResourcePlanId = newPlan.ResourcePlanId;
ManHoursPlan.EProjectId = Request.Params["eProjectId"];
ManHoursPlan.Roles = objects["values"]["Roles"].ToString();
ManHoursPlan.EngineerId = DesignerArr[l].ToString();
if (BLL.Sys_UserService.IsCTEAndCalculated(DesignerArr[l]))
{
if (!string.IsNullOrEmpty(ManHoursArr[l].ToString()))
{
ManHoursPlan.ManHours = Convert.ToInt32(ManHoursArr[l].ToString());
}
}
else
{
ManHoursPlan.ManHours = 0;
}
ManHoursPlan.DisciplineId = dataKeys[0].ToString();
ManHoursPlan.Discipline = dataKeys[2].ToString();
var wbs = BLL.DisciplinesWBSService.GetDisciplinesWBSById(dataKeys[0].ToString());
// ManHoursPlan.Account = txtWO.Text;
if (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest")
{
if (checkPhase.Items[0].Selected)
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + NetworkOper;
}
else
{
ManHoursPlan.Account = NetworkOper;
}
}
}
else
{
if (!string.IsNullOrEmpty(txtWO.Text))
{
ManHoursPlan.Account = txtWO.Text + "-" + WorkorderOper;
}
else
{
ManHoursPlan.Account = WorkorderOper;
}
}
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHourList.Add(ManHoursPlan);
}
}
}
}
JArray QualityArr = Grid5.GetMergedData();
if (QualityArr.Count > 0)
{
Model.Resource_PlanDetail PlanDetail = null;
for (int q = 0; q < QualityArr.Count; q++)
{
JObject objects = (JObject)QualityArr[q];
PlanDetail = new Model.Resource_PlanDetail();
PlanDetail.ResourcePlanDetailId = Guid.NewGuid().ToString();
PlanDetail.ResourcePlanId = newPlan.ResourcePlanId;
PlanDetail.EProjectId = Request.Params["eProjectId"];
object[] dataKeys = Grid5.DataKeys[q];
PlanDetail.DisciplinesWBSId = dataKeys[0].ToString();
PlanDetail.DisciplinesWBSCode = dataKeys[1].ToString();
PlanDetail.DisciplinesWBSName = dataKeys[2].ToString();
PlanDetail.WBS = dataKeys[3].ToString();
PlanDetail.ISort = q + 1;
string NetworkOper = objects["values"]["NetworkOper"].ToString();
string WorkorderOper = objects["values"]["WorkorderOper"].ToString();
PlanDetail.DesignersId = objects["values"]["Designer"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio1"].ToString()))
{
PlanDetail.Ratio1 = Convert.ToDecimal(objects["values"]["Ratio1"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours1"].ToString()))
{
PlanDetail.ManHours1 = Convert.ToDecimal(objects["values"]["ManHours1"]);
}
PlanDetail.CheckersId = objects["values"]["Checker"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio2"].ToString()))
{
PlanDetail.Ratio2 = Convert.ToDecimal(objects["values"]["Ratio2"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours2"].ToString()))
{
PlanDetail.ManHours2 = Convert.ToDecimal(objects["values"]["ManHours2"]);
}
PlanDetail.ApproversId = objects["values"]["Approver"].ToString();
if (!string.IsNullOrEmpty(objects["values"]["Ratio3"].ToString()))
{
PlanDetail.Ratio3 = Convert.ToDecimal(objects["values"]["Ratio3"]);
}
if (!string.IsNullOrEmpty(objects["values"]["ManHours3"].ToString()))
{
PlanDetail.ManHours3 = Convert.ToDecimal(objects["values"]["ManHours3"]);
}
PlanDetail.Types = "3";
PlanDetaillist.Add(PlanDetail);
string Designer = objects["values"]["Designer"].ToString() + "@" + objects["values"]["Checker"].ToString() + "@" + objects["values"]["Approver"].ToString();
string ManHours = objects["values"]["ManHours1"].ToString() + "@" + objects["values"]["ManHours2"].ToString() + "@" + objects["values"]["ManHours3"].ToString();
string[] DesignerArr = Designer.Split('@');
string[] ManHoursArr = ManHours.Split('@');
Model.ManHours_Plan ManHoursPlan = null;
for (int l = 0; l < DesignerArr.Length; l++)
{
if (!string.IsNullOrEmpty(DesignerArr[l].ToString()))
{
ManHoursPlan = new Model.ManHours_Plan();
ManHoursPlan.ManHoursPlanId = Guid.NewGuid().ToString();
ManHoursPlan.ResourcePlanId = newPlan.ResourcePlanId;
ManHoursPlan.EProjectId = Request.Params["eProjectId"];
ManHoursPlan.Roles = objects["values"]["Roles"].ToString();
ManHoursPlan.EngineerId = DesignerArr[l].ToString();
if (BLL.Sys_UserService.IsCTEAndCalculated(DesignerArr[l]))
{
if (!string.IsNullOrEmpty(ManHoursArr[l].ToString()))
{
ManHoursPlan.ManHours = Convert.ToInt32(ManHoursArr[l].ToString());
}
}
else
{
ManHoursPlan.ManHours = 0;
}
ManHoursPlan.DisciplineId = dataKeys[0].ToString();
ManHoursPlan.Discipline = dataKeys[2].ToString();
var wbs = BLL.DisciplinesWBSService.GetDisciplinesWBSById(dataKeys[0].ToString());
if (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest")
{
if (checkPhase.Items[0].Selected)
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(ProjectControlNetworkNo))
{
ManHoursPlan.Account = ProjectControlNetworkNo + "-" + NetworkOper;
}
else
{
ManHoursPlan.Account = NetworkOper;
}
}
}
else
{
if (!string.IsNullOrEmpty(txtWO.Text))
{
ManHoursPlan.Account = txtWO.Text + "-" + WorkorderOper;
}
else
{
ManHoursPlan.Account = WorkorderOper;
}
}
ManHoursPlan.IsClose = 0;
ManHoursPlan.AccountDisabled = 0;
ManHourList.Add(ManHoursPlan);
}
}
}
}
bool result = BLL.ResourcePlanService.EditTran(newPlan,EProject, PlanDetaillist,PMList, ManHourList);
if (result)
{
// 回写编辑器CTE Involved
string cteInvolved = "N";
Model.Editor_EProject eproject = Funs.DB.Editor_EProject.FirstOrDefault(x => x.EProjectId == eProjectId);
if (eproject.ProjectControl_LeadByName != null && !eproject.ProjectControl_LeadByName.Contains("CTE")) // && !eproject.ProjectControl_LeadByName.Contains("CTE/D"))
{
var plan = from x in Funs.DB.ManHours_Plan where x.EProjectId == eProjectId select x;
foreach (var p in plan)
{
if (!string.IsNullOrEmpty(p.EngineerId))
{
var user = from x in Funs.DB.Sys_User
join y in Funs.DB.Base_Depart on x.DepartId equals y.DepartId
where x.UserId == p.EngineerId
&& y.DepartName.Contains("CTE")
select x;
if (user.Count() > 0)
{
cteInvolved = "Y";
break;
}
}
}
}
eproject.CTEInvolved = cteInvolved;
Funs.DB.SubmitChanges();
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
//BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add role information!");
}
else
{
Alert.ShowInParent("Save failed!");
return;
}
}
}
catch (Exception ex)
{
Alert.ShowInParent(ex.ToString());
return;
}
}
#region
/// <summary>
/// 菜单按钮权限
/// </summary>
//private void GetButtonPower()
//{
// var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.UserId, BLL.Const.ResourcePlanMenuId);
// if (buttonList.Count() > 0)
// {
// if (buttonList.Contains(BLL.Const.BtnSave))
// {
// this.btnSave.Hidden = false;
// }
// }
// else
// {
// var user = BLL.Sys_UserService.GetUsersByUserId(this.CurrUser.UserId);
// if (user != null && user.DepartId == Const.CTEM_DepartId)
// {
// this.btnSave.Hidden = false;
// }
// }
//}
#endregion
protected void cbNotApplicable1_CheckedChanged(object sender, CheckedEventArgs e)
{
if (cbNotApplicable1.Checked)
{
txtSchStart1.Enabled = false;
txtSchStart1.Text = "";
}
else
{
txtSchStart1.Enabled = true;
}
}
protected void cbCDI_CheckedChanged(object sender, CheckedEventArgs e)
{
if (cbCDI.Checked)
{
drpCDI.Enabled = true;
BLL.ConstService.InitConstValueDropDownList(this.drpCDI, BLL.Const.PM_CDI, false);
}
else
{
drpCDI.Items.Clear();
drpCDI.Enabled = false;
}
}
protected void txtSchStart1_TextChanged(object sender, EventArgs e)
{
DateTime time = DateTime.Now;
if (txtSchStart1.SelectedDate.HasValue)
{
//DateTime dt = Convert.ToDateTime(txtSchStart1.Text);
//if (dt > time) {
// Alert.ShowInParent("Cannot be greater than the current date!");
// txtSchStart1.Text = "";
// return;
//}
cbNotApplicable1.Readonly = true;
}
else
{
cbNotApplicable1.Readonly = false;
}
}
protected void cbNotApplicable2_CheckedChanged(object sender, CheckedEventArgs e)
{
if (cbNotApplicable2.Checked)
{
txtSchStart2.Enabled = false;
txtSchEnd2.Enabled = false;
txtSchStart2.Text = "";
txtSchEnd2.Text = "";
}
else
{
txtSchStart2.Enabled = true;
txtSchEnd2.Enabled = true;
}
}
protected void txtSchStart2_TextChanged(object sender, EventArgs e)
{
if (txtSchStart2.SelectedDate.HasValue || txtSchEnd2.SelectedDate.HasValue)
{
cbNotApplicable2.Readonly = true;
}
else
{
cbNotApplicable2.Readonly = false;
}
}
protected void txtSchEnd2_TextChanged(object sender, EventArgs e)
{
if (txtSchStart2.SelectedDate.HasValue || txtSchEnd2.SelectedDate.HasValue)
{
cbNotApplicable2.Readonly = true;
}
else
{
cbNotApplicable2.Readonly = false;
}
}
protected void CheckBox1_CheckedChanged(object sender, CheckedEventArgs e)
{
if (CheckBox1.Checked)
{
DatePicker1.Enabled = false;
DatePicker2.Enabled = false;
DatePicker1.Text = "";
DatePicker2.Text = "";
}
else
{
DatePicker1.Enabled = true;
DatePicker2.Enabled = true;
}
}
protected void DatePicker1_TextChanged(object sender, EventArgs e)
{
if (DatePicker1.SelectedDate.HasValue || DatePicker2.SelectedDate.HasValue)
{
CheckBox1.Readonly = true;
}
else
{
CheckBox1.Readonly = false;
}
}
protected void DatePicker2_TextChanged(object sender, EventArgs e)
{
if (DatePicker1.SelectedDate.HasValue || DatePicker2.SelectedDate.HasValue)
{
CheckBox1.Readonly = true;
}
else
{
CheckBox1.Readonly = false;
}
}
protected void CheckBox2_CheckedChanged(object sender, CheckedEventArgs e)
{
if (CheckBox2.Checked)
{
DatePicker3.Enabled = false;
DatePicker4.Enabled = false;
DatePicker3.Text = "";
DatePicker4.Text = "";
}
else
{
DatePicker3.Enabled = true;
DatePicker4.Enabled = true;
}
}
protected void DatePicker3_TextChanged(object sender, EventArgs e)
{
if (DatePicker3.SelectedDate.HasValue || DatePicker4.SelectedDate.HasValue)
{
CheckBox2.Readonly = true;
}
else
{
CheckBox2.Readonly = false;
}
}
protected void DatePicker4_TextChanged(object sender, EventArgs e)
{
if (DatePicker3.SelectedDate.HasValue || DatePicker4.SelectedDate.HasValue)
{
CheckBox2.Readonly = true;
}
else
{
CheckBox2.Readonly = false;
}
}
protected void CheckBox3_CheckedChanged(object sender, CheckedEventArgs e)
{
if (CheckBox3.Checked)
{
DatePicker5.Enabled = false;
DatePicker6.Enabled = false;
DatePicker5.Text = "";
DatePicker6.Text = "";
}
else
{
DatePicker5.Enabled = true;
DatePicker6.Enabled = true;
}
}
protected void DatePicker5_TextChanged(object sender, EventArgs e)
{
if (DatePicker5.SelectedDate.HasValue || DatePicker6.SelectedDate.HasValue)
{
CheckBox3.Readonly = true;
}
else
{
CheckBox3.Readonly = false;
}
}
protected void DatePicker6_TextChanged(object sender, EventArgs e)
{
if (DatePicker5.SelectedDate.HasValue || DatePicker6.SelectedDate.HasValue)
{
CheckBox3.Readonly = true;
}
else
{
CheckBox3.Readonly = false;
}
}
protected void CheckBox4_CheckedChanged(object sender, CheckedEventArgs e)
{
if (CheckBox4.Checked)
{
DatePicker7.Enabled = false;
DatePicker8.Enabled = false;
DatePicker7.Text = "";
DatePicker8.Text = "";
}
else
{
DatePicker7.Enabled = true;
DatePicker8.Enabled = true;
}
}
protected void DatePicker7_TextChanged(object sender, EventArgs e)
{
if (DatePicker7.SelectedDate.HasValue || DatePicker8.SelectedDate.HasValue)
{
CheckBox4.Readonly = true;
}
else
{
CheckBox4.Readonly = false;
}
}
protected void DatePicker8_TextChanged(object sender, EventArgs e)
{
if (DatePicker7.SelectedDate.HasValue || DatePicker8.SelectedDate.HasValue)
{
CheckBox4.Readonly = true;
}
else
{
CheckBox4.Readonly = false;
}
}
protected void CheckBox5_CheckedChanged(object sender, CheckedEventArgs e)
{
if (CheckBox5.Checked)
{
DatePicker9.Enabled = false;
DatePicker9.Text = "";
}
else
{
DatePicker9.Enabled = true;
}
}
protected void DatePicker9_TextChanged(object sender, EventArgs e)
{
if (DatePicker9.SelectedDate.HasValue)
{
CheckBox5.Readonly = true;
}
else
{
CheckBox5.Readonly = false;
}
}
}
public class NewBaseDisciplinesWBS
{
public string DisciplinesWBSId { get; set; }
public string DisciplinesWBSCode { get; set; }
public string DisciplinesWBSName { get; set; }
public string WBS { get; set; }
public string NetworkOper { get; set; }
public string WorkorderOper { get; set; }
public string DepartId { get; set; }
public string DepartName { get; set; }
public string Designer { get; set; }
public string Ratio1 { get; set; }
public string ManHours1 { get; set; }
public string Checker { get; set; }
public string Ratio2 { get; set; }
public string ManHours2 { get; set; }
public string Approver { get; set; }
public string Ratio3 { get; set; }
public string ManHours3 { get; set; }
public string Leader { get; set; }
public string Ratio4 { get; set; }
public string ManHours4 { get; set; }
public string TotalManHours { get; set; }
public string Types { get; set; }
public int iSort { get; set; }
public string Sch_Start { get; set; }
public string Sch_End { get; set; }
public string Roles { get; set; }
}
}