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

1811 lines
82 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.Linq;
using System;
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 ResourcePlanAdd : 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 eProjectId = Request.Params["eProjectId"];
if (!string.IsNullOrEmpty(eProjectId))
{
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject != null)
{
this.txtJobNo.Text = eProject.ProjectControl_JobNo;
this.txtJobTitle.Text = eProject.ProjectControl_JobTitle;
//this.txtWO.Text = eProject.ProjectControl_Account;
this.txtMOCNo.Text = eProject.ProjectControl_MOCFormNo;
if (!string.IsNullOrEmpty(eProject.PM_General_CDI))
{
BLL.ConstService.InitConstValueDropDownList(this.drpCDI, BLL.Const.PM_CDI, false);
cbCDI.Checked = true;
drpCDI.SelectedValue = eProject.PM_General_CDI;
}
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 rp = BLL.ResourcePlanService.GetResourcePlanByEProjectId(eProjectId);
if (rp.Count() >0 && (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest"))
{
txtWO.Label = "NetWork";
txtWO.Enabled = false;
}
SqlParameter[] parameter = new SqlParameter[]
{
new SqlParameter("@EProjectId",eProjectId)
};
DataSet ds = SQLHelper.RunProcedure("Proc_View_ResourcePlanDetailWBS", parameter, "t");
DataTable table1 = ds.Tables[0];
DataTable table2 = ds.Tables[1];
if (table1.Rows.Count > 0 && table1 != null)
{
foreach (DataRow item in table1.Rows)
{
if (!string.IsNullOrEmpty(item["Sch_Start"].ToString()))
{
txtSchStart2.Text = item["Sch_Start"].ToString();
}
if (!string.IsNullOrEmpty(item["Sch_End"].ToString()))
{
txtSchEnd2.Text = item["Sch_End"].ToString();
}
}
}
if (table2.Rows.Count > 0 && table2 != null)
{
foreach (DataRow item in table2.Rows)
{
if (!string.IsNullOrEmpty(item["Sch_Start"].ToString()))
{
DatePicker1.Text = item["Sch_Start"].ToString();
}
if (!string.IsNullOrEmpty(item["Sch_End"].ToString()))
{
DatePicker2.Text = item["Sch_End"].ToString();
}
}
}
if (!string.IsNullOrEmpty(eProject.ProjectControl_ProjectManagerId))
{
this.DropDownList7.SelectedValue = eProject.ProjectControl_ProjectManagerId;
}
//绑定
BindGrid();
}
}
}
}
private void BindGrid()
{
string strSql = @"SELECT DisciplinesWBSId,DisciplinesWBSCode,DisciplinesWBSName,WBS,DepartId,DepartName,NetworkOper,WorkorderOper,Designer,Checker,Approver,Leader,Roles,Remark,Type,'' as UserName,'' as UserId"
+ @" FROM Base_DisciplinesWBS ";
DataTable table = SQLHelper.GetDataTableRunText(strSql, null);
DataRow[] dr1 = table.Select("Type='1'", "DisciplinesWBSCode asc");
//复制结构
DataTable newData1 = table.Clone();
DataTable newData2 = table.Clone();
DataTable newData3 = table.Clone();
for (int i = 0; i < dr1.Length; i++)
{
//添加一行数据
DataRow row = newData1.NewRow();
row["DisciplinesWBSId"] = dr1[i]["DisciplinesWBSId"].ToString();
row["DisciplinesWBSCode"] = dr1[i]["DisciplinesWBSCode"].ToString();
row["DisciplinesWBSName"] = dr1[i]["DisciplinesWBSName"].ToString();
row["WBS"] = dr1[i]["WBS"].ToString();
row["DepartId"] = dr1[i]["DepartId"].ToString();
row["DepartName"] = dr1[i]["DepartName"].ToString();
row["NetworkOper"] = dr1[i]["NetworkOper"].ToString();
row["WorkorderOper"] = dr1[i]["WorkorderOper"].ToString();
row["Designer"] = dr1[i]["Designer"].ToString();
row["Checker"] = dr1[i]["Checker"].ToString();
row["Approver"] = dr1[i]["Approver"].ToString();
row["Leader"] = dr1[i]["Leader"].ToString();
row["Roles"] = dr1[i]["Roles"].ToString();
row["Remark"] = dr1[i]["Remark"].ToString();
row["Type"] = dr1[i]["Type"].ToString();
newData1.Rows.Add(row);
}
Grid3.DataSource = newData1;
Grid3.DataBind();
DataRow[] dr2 = table.Select("Type='2'", "DisciplinesWBSCode asc");
for (int i = 0; i < dr2.Length; i++)
{
//添加一行数据
DataRow row = newData2.NewRow();
row["DisciplinesWBSId"] = dr2[i]["DisciplinesWBSId"].ToString();
row["DisciplinesWBSCode"] = dr2[i]["DisciplinesWBSCode"].ToString();
row["DisciplinesWBSName"] = dr2[i]["DisciplinesWBSName"].ToString();
row["WBS"] = dr2[i]["WBS"].ToString();
row["NetworkOper"] = dr2[i]["NetworkOper"].ToString();
row["WorkorderOper"] = dr2[i]["WorkorderOper"].ToString();
row["DepartId"] = dr2[i]["DepartId"].ToString();
row["DepartName"] = dr2[i]["DepartName"].ToString();
//如果EProjectContol中的CM不为空新增RP时自动加载EProjectContol中的CM到Construction Mngmnt的Name中
if (dr2[i]["DisciplinesWBSName"].ToString() == "Construction Mngmnt")
{
string eProjectId = Request.Params["eProjectId"];
var ep = BLL.EProjectService.GeteProjectById(eProjectId);
if (ep != null)
{
if (!string.IsNullOrEmpty(ep.ProjectControl_ConstManagerId))
{
row["Designer"] = ep.ProjectControl_ConstManagerId;
}
}
}
else
{
row["Designer"] = dr2[i]["Designer"].ToString();
}
row["Checker"] = dr2[i]["Checker"].ToString();
row["Approver"] = dr2[i]["Approver"].ToString();
row["Leader"] = dr2[i]["Leader"].ToString();
row["Roles"] = dr2[i]["Roles"].ToString();
row["Remark"] = dr2[i]["Remark"].ToString();
row["Type"] = dr2[i]["Type"].ToString();
newData2.Rows.Add(row);
}
Grid4.DataSource = newData2;
Grid4.DataBind();
DataRow[] dr3 = table.Select("Type='3'", "DisciplinesWBSCode asc");
for (int i = 0; i < dr3.Length; i++)
{
//添加一行数据
DataRow row = newData3.NewRow();
row["DisciplinesWBSId"] = dr3[i]["DisciplinesWBSId"].ToString();
row["DisciplinesWBSCode"] = dr3[i]["DisciplinesWBSCode"].ToString();
row["DisciplinesWBSName"] = dr3[i]["DisciplinesWBSName"].ToString();
row["WBS"] = dr3[i]["WBS"].ToString();
row["NetworkOper"] = dr3[i]["NetworkOper"].ToString();
row["WorkorderOper"] = dr3[i]["WorkorderOper"].ToString();
row["DepartId"] = dr3[i]["DepartId"].ToString();
row["DepartName"] = dr3[i]["DepartName"].ToString();
row["Designer"] = dr3[i]["Designer"].ToString();
row["Checker"] = dr3[i]["Checker"].ToString();
row["Approver"] = dr3[i]["Approver"].ToString();
row["Leader"] = dr3[i]["Leader"].ToString();
row["Roles"] = dr3[i]["Roles"].ToString();
row["Remark"] = dr3[i]["Remark"].ToString();
row["Type"] = dr3[i]["Type"].ToString();
newData3.Rows.Add(row);
}
Grid5.DataSource = newData3;
Grid5.DataBind();
}
protected void Grid3_RowDataBound(object sender, GridRowEventArgs e)
{
DataRowView row = e.DataItem as DataRowView;
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";
}
}
#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)
{
try
{
Model.Resource_Plan model = new Model.Resource_Plan();
List<Model.Resource_PlanDetail> PlanDetaillist = new List<Model.Resource_PlanDetail>();
List<Model.ManHours_Plan> ManHourList = new List<Model.ManHours_Plan>();
Model.Editor_EProject EProjects = new Model.Editor_EProject();
List<Model.Editor_PM> PMList = new List<Model.Editor_PM>();
string eProjectId = Request.Params["eProjectId"];
model.ResourcePlanId = Guid.NewGuid().ToString();
model.EProjectId = eProjectId;
model.WO = txtWO.Text;
if (!string.IsNullOrEmpty(txtSchStart1.Text))
{
model.ProjectApproval_Sch_Start = Convert.ToDateTime(txtSchStart1.Text);
}
model.ProjectApproval_Sch_NotApplicable = false;
if (cbNotApplicable1.Checked)
{
model.ProjectApproval_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(txtSchStart2.Text))
{
model.Detail_Eng_Civil_Sch_Start = Convert.ToDateTime(txtSchStart2.Text);
}
if (!string.IsNullOrEmpty(txtSchEnd2.Text))
{
model.Detail_Eng_Civil_Sch_End = Convert.ToDateTime(txtSchEnd2.Text);
}
model.Detail_Eng_Civil_Sch_NotApplicable = false;
if (cbNotApplicable2.Checked)
{
model.Detail_Eng_Civil_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker1.Text))
{
model.Detail_Eng_Mech_EI_Sch_Start = Convert.ToDateTime(DatePicker1.Text);
}
if (!string.IsNullOrEmpty(DatePicker2.Text))
{
model.Detail_Eng_Mech_EI_Sch_End = Convert.ToDateTime(DatePicker2.Text);
}
model.Detail_Eng_Mech_EI_Sch_NotApplicable = false;
if (CheckBox1.Checked)
{
model.Detail_Eng_Mech_EI_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker3.Text))
{
model.LLE_Procurement_Sch_Start = Convert.ToDateTime(DatePicker3.Text);
}
if (!string.IsNullOrEmpty(DatePicker4.Text))
{
model.LLE_Procurement_Sch_End = Convert.ToDateTime(DatePicker4.Text);
}
model.LLE_Procurement_Sch_NotApplicable = false;
if (CheckBox2.Checked)
{
model.LLE_Procurement_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker5.Text))
{
model.Const_Civil_Sch_Start = Convert.ToDateTime(DatePicker5.Text);
}
if (!string.IsNullOrEmpty(DatePicker6.Text))
{
model.Const_Civil_Sch_End = Convert.ToDateTime(DatePicker6.Text);
}
model.Const_Civil_Sch_NotApplicable = false;
if (CheckBox3.Checked)
{
model.Const_Civil_Sch_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker7.Text))
{
model.Const_Mech_EI_Start = Convert.ToDateTime(DatePicker7.Text);
}
if (!string.IsNullOrEmpty(DatePicker8.Text))
{
model.Const_Mech_EI_End = Convert.ToDateTime(DatePicker8.Text);
}
model.Const_Mech_EI_NotApplicable = false;
if (CheckBox4.Checked)
{
model.Const_Mech_EI_NotApplicable = true;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
model.MC_Sch_Start = Convert.ToDateTime(DatePicker9.Text);
}
//if (!string.IsNullOrEmpty(DatePicker10.Text))
//{
// model.MC_Sch_End = Convert.ToDateTime(DatePicker10.Text);
//}
//model.MC_Sch_NotApplicable = false;
if (CheckBox5.Checked)
{
model.MC_Sch_NotApplicable = true;
}
if (checkPhase.SelectedValueArray != null)
{
model.Phase = checkPhase.SelectedValueArray[0];
}
//foreach (CheckItem item in checkPhase.Items)
//{
// if (item.Selected)
// {
// model.Phase = item.Value;
// }
//}
if (cbDesign1.Checked)
{
model.Design = "CTE";
}
else if (cbDesign2.Checked)
{
model.Design = "CTA";
}
else if (cbDesign3.Checked)
{
model.Design = "CTM";
}
else
{
model.Design = null;
}
if (cbProcurement1.Checked)
{
model.Procurement = "CTE";
}
else if (cbProcurement2.Checked)
{
model.Procurement = "CTA";
}
else if (cbProcurement2.Checked)
{
model.Procurement = "CTM";
}
else
{
model.Procurement = null;
}
if (cbConstruction1.Checked)
{
model.Construction = "CTE";
}
else if (cbConstruction2.Checked)
{
model.Construction = "CTA";
}
else if (cbConstruction3.Checked)
{
model.Construction = "CTM";
}
else
{
model.Construction = null;
}
model.CreateDate = DateTime.Now;
//Progress:自动计算% =(Today - Sch.Start)  / (Sch. End- Sch.Start)
//更新 Editor_EProject
EProjects.ModifyDate = DateTime.Now;
EProjects.ModifyPerson = CurrUser.UserId;
if (!string.IsNullOrEmpty(txtSchStart1.Text))
{
EProjects.ProjectControl_MS_Approval = Convert.ToDateTime(txtSchStart1.Text);
}
if (!string.IsNullOrEmpty(DatePicker3.Text) && !string.IsNullOrEmpty(DatePicker4.Text))
{
DateTime time = DateTime.Now;
EProjects.ProjectControl_LP_SchStart = Funs.GetNewDateTime(this.DatePicker3.Text.Trim());
EProjects.ProjectControl_LP_SchEnd = Funs.GetNewDateTime(this.DatePicker4.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProjects.ProjectControl_LP_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProjects.ProjectControl_LP_SchEnd) - Convert.ToDateTime(EProjects.ProjectControl_LP_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProjects.ProjectControl_LP_Progress = ts;
EProjects.PM_LLEP_RevisedStart = Funs.GetNewDateTime(this.DatePicker3.Text.Trim());
EProjects.PM_LLEP_RevisedEnd = Funs.GetNewDateTime(this.DatePicker4.Text.Trim());
EProjects.PM_LLEP_ActualProgress = ts;
}
if (!string.IsNullOrEmpty(DatePicker5.Text) && !string.IsNullOrEmpty(DatePicker6.Text))
{
DateTime time = DateTime.Now;
EProjects.ProjectControl_CC_SchStart = Convert.ToDateTime(this.DatePicker5.Text.Trim());
EProjects.ProjectControl_CC_SchEnd = Convert.ToDateTime(this.DatePicker6.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProjects.ProjectControl_CC_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProjects.ProjectControl_CC_SchEnd) - Convert.ToDateTime(EProjects.ProjectControl_CC_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProjects.ProjectControl_CC_Progress = ts;
EProjects.CM_CC_RevisedStart = Convert.ToDateTime(this.DatePicker5.Text.Trim());
EProjects.CM_CC_RevisedEnd = Convert.ToDateTime(this.DatePicker6.Text.Trim());
EProjects.CM_CC_AcutalProgress = ts;
}
if (!string.IsNullOrEmpty(DatePicker7.Text) && !string.IsNullOrEmpty(DatePicker8.Text))
{
DateTime time = DateTime.Now;
EProjects.ProjectControl_CM_SchStart = Convert.ToDateTime(this.DatePicker7.Text.Trim());
EProjects.ProjectControl_CM_SchEnd = Convert.ToDateTime(this.DatePicker8.Text.Trim());
TimeSpan ts1 = time - Convert.ToDateTime(EProjects.ProjectControl_CM_SchStart);
TimeSpan ts2 = Convert.ToDateTime(EProjects.ProjectControl_CM_SchEnd) - Convert.ToDateTime(EProjects.ProjectControl_CM_SchStart);
decimal ts = Convert.ToDecimal(Math.Round(ts1.Days * 100.0 / ts2.Days, 2));
EProjects.ProjectControl_CM_Progress = ts;
EProjects.CM_CM_RevisedStart = Convert.ToDateTime(this.DatePicker7.Text.Trim());
EProjects.CM_CM_RevisedEnd = Convert.ToDateTime(this.DatePicker8.Text.Trim());
EProjects.CM_CM_AcutalProgress = ts;
}
if (!string.IsNullOrEmpty(DatePicker9.Text))
{
EProjects.ProjectControl_MS_MC = Funs.GetNewDateTime(this.DatePicker9.Text.Trim());
EProjects.ProjectControl_Revised_MC_Date = Funs.GetNewDateTime(this.DatePicker9.Text.Trim());
EProjects.ProjectControl_MS_Close = Funs.GetNewDateTime(this.DatePicker9.Text.Trim()).Value.AddMonths(6);
}
if (!string.IsNullOrEmpty(DropDownList7.SelectedValue))
{
EProjects.ProjectControl_ProjectManagerId = DropDownList7.SelectedValue;
}
//foreach (CheckItem item in this.checkPriority.Items)
//{
// if (item.Selected)
// {
// EProjects.PM_General_Priority = item.Value;
// }
//}
string ProjectControlAccount = txtWO.Text;
// 添加第二个资源逻辑 类型项目或小型投机 account为空wo为network
var rp = BLL.ResourcePlanService.GetResourcePlanByEProjectId(eProjectId);
var eProject = BLL.EProjectService.GeteProjectById(eProjectId);
if (eProject.ProjectControl_JobType != "Projects" && eProject.ProjectControl_JobType != "Small Invest")
{
EProjects.ProjectControl_Account = txtWO.Text;
}
if (rp.Count() > 0)
{
// 把account 加日期写入StudyWo中
EProjects.StudyWo = eProject.ProjectControl_Account;
if (eProject.ProjectControl_JobType == "Projects" || eProject.ProjectControl_JobType == "Small Invest")
{
EProjects.ProjectControl_Account = null;
ProjectControlAccount = string.Empty;
}
// 后加条件当创建第二个资源时项目批准日期不为空时项目状态为On Going
if (eProject.PM_MA_ProjectApproval.HasValue && (eProject.ProjectControl_JobStatus == "Not Start" || eProject.ProjectControl_JobStatus == "Study"))
{
EProjects.ProjectControl_JobStatus = "On Going";
}
else
{
EProjects.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus;
}
//(现增加第二张资源一个月后关闭)
//if(eProject.ProjectControl_JobType == "MOC")
//{
// // 如果类型是moc在增加第二张资源时则第一张资源的人工时AccountDisabled关闭如是other则手动关闭如果不是则在编辑器中维护network时关闭第一张资源人工时AccountDisabled
// PlanService.UpdateManHourPlanAccountDisabled(rp.First().ResourcePlanId, 1);
//}
}
if (eProject != null)
{
if (eProject.ProjectControl_JobStatus == "Not Start" && !eProject.PM_MA_ProjectApproval.HasValue)
{
EProjects.ProjectControl_JobStatus = "Study";
}
else
{
EProjects.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus;
}
if (cbCDI.Checked)
{
EProjects.PM_General_CDI = drpCDI.SelectedValue;
}
}
// 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 = model.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(eProject.ProjectControl_NetworkNo))
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
PM.Account = eProject.ProjectControl_NetworkNo + "-" + pmd.FirstOrDefault().NetworkOper1;
}
else
{
PM.Account = pmd.FirstOrDefault().NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(eProject.ProjectControl_NetworkNo))
{
PM.Account = eProject.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);
}
}
model.CountNum = 0;
model.IsClose = 0;
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))
{
EProjects.ProjectControl_CI_Process = Leader1;
}
else
{
if (!String.IsNullOrEmpty(Leader2))
{
EProjects.ProjectControl_CI_Process = Leader2;
}
else
{
if (!String.IsNullOrEmpty(Leader3))
{
EProjects.ProjectControl_CI_Process = Leader3;
}
else
{
EProjects.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());
}
// ProjectControl_CI_Equipment
// 取优先级Civil>Architectral>HVAC>Masterplanning
if (!String.IsNullOrEmpty(Equipment1))
{
EProjects.ProjectControl_CI_Civil = Equipment1;
}
else
{
if (!String.IsNullOrEmpty(Equipment2))
{
EProjects.ProjectControl_CI_Civil = Equipment2;
}
else
{
if (!String.IsNullOrEmpty(Equipment3))
{
EProjects.ProjectControl_CI_Civil = Equipment3;
}
else
{
if (!String.IsNullOrEmpty(Equipment4))
{
EProjects.ProjectControl_CI_Civil = Equipment4;
}
else
{
EProjects.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))
{
EProjects.ProjectControl_CI_Instrument = Instrument;
}
else
{
EProjects.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))
{
EProjects.ProjectControl_CI_Electrical = Electrical;
}
else
{
if (!String.IsNullOrEmpty(Telecommunication))
{
EProjects.ProjectControl_CI_Electrical = Telecommunication;
}
else
{
EProjects.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))
{
EProjects.ProjectControl_CI_Equipment = MechEqui;
}
else
{
EProjects.ProjectControl_CI_Equipment = eProject.ProjectControl_CI_Equipment;
}
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 = model.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);
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()))
{
Model.Editor_PM 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 = model.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.Roles = objects["values"]["Roles"].ToString();
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(eProject.ProjectControl_NetworkNo))
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(eProject.ProjectControl_NetworkNo))
{
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + 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 = model.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))
{
EProjects.ProjectControl_ConstManagerId = PlanDetail.DesignersId;
EProjects.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 = model.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(eProject.ProjectControl_NetworkNo))
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(eProject.ProjectControl_NetworkNo))
{
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + 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 = model.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 = model.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(eProject.ProjectControl_NetworkNo))
{
//ManHoursPlan.Account = WorkorderOper + "-" + txtWO.Text;
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + wbs.NetworkOper1;
}
else
{
ManHoursPlan.Account = wbs.NetworkOper1;
}
}
else
{
if (!string.IsNullOrEmpty(eProject.ProjectControl_NetworkNo))
{
ManHoursPlan.Account = eProject.ProjectControl_NetworkNo + "-" + 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.AddTran(model, EProjects, 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());
}
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;
}
}
}
}