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
{
///
/// 角色编辑页面
///
///
///
//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 Newlist = new List();
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
///
/// 提交按钮
///
///
///
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 PlanDetaillist = new List();
List ManHourList = new List();
List PMList = new List();
// 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 权限设置
///
/// 菜单按钮权限
///
//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; }
}
}