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

1811 lines
82 KiB
C#
Raw Normal View History

2024-05-08 11:01:54 +08:00
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;
}
}
}
}