2024-05-08 11:01:54 +08:00
using BLL ;
using Model ;
using System ;
using System.Collections.Generic ;
using System.Collections.Specialized ;
using System.Linq ;
namespace FineUIPro.Web.EditorManage
{
public partial class ProjectControlEditorEdit : PageBase
{
#region 加 载
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
string view = Request . Params [ "view" ] ;
if ( view = = "1" )
{
this . btnCalculated . Hidden = true ;
this . btnSave . Hidden = true ;
}
else
{
GetButtonPower ( ) ; //权限设置
}
this . btnClose . OnClientClick = ActiveWindow . GetHideReference ( ) ;
#region 加 载 下 拉 框
BLL . ConstService . InitConstValueDropDownList ( this . drpJobType , BLL . Const . ProjectPlanner_JobType , true ) ; //项目类型
BLL . ConstService . InitConstValueDropDownList ( this . drpJobStatus , BLL . Const . ProjectPlanner_JobStatus , false ) ; //项目状态
BLL . DepartService . InitDepartDropDownList ( this . drpBuCode , true ) ; //部门
BLL . Sys_UserService . InitUserDrpNA ( this . drpProjectManager , true ) ; //项目经理
BLL . Sys_UserService . InitUserDrpNA ( this . drpEMManager , true ) ; //EM
BLL . Sys_UserService . InitUserDrpNA ( this . drpConstManager , true ) ; //施工经理
BLL . Sys_UserService . InitUserDropDownList ( this . drpOpre , true ) ; //操作代表
BLL . Sys_UserService . InitDropDownList ( this . drpLeadBy , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpCIProcess , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpEquipment , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpInstrument , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpElectrical , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpCivil , true ) ;
BLL . ConstService . InitConstValueDropDownList ( this . drpPM_General_Priority , BLL . Const . PM_Priority , true ) ;
#endregion
this . txtBC_CloseDate . MaxDate = DateTime . Now ;
this . txtResourcePlanReceived . MaxDate = DateTime . Now ;
this . txtCancelDate . MaxDate = DateTime . Now ;
string eProjectId = Request . Params [ "eProjectId" ] ;
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
Model . Editor_EProject eproject = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
if ( eproject ! = null )
{
if ( eproject . ProjectControl_JobType = = "Other" )
{
this . drpProjectManager . Items . Clear ( ) ;
this . drpConstManager . Items . Clear ( ) ;
this . drpOpre . Items . Clear ( ) ;
this . drpEMManager . Items . Clear ( ) ;
//this.drpLeadBy.Items.Clear();
this . drpProjectManager . EnableGroup = false ;
this . drpConstManager . EnableGroup = false ;
this . drpOpre . EnableGroup = false ;
this . drpEMManager . EnableGroup = false ;
//this.drpLeadBy.EnableGroup = false;
BLL . Sys_UserService . InitDrpNA ( this . drpProjectManager , true ) ;
BLL . Sys_UserService . InitDrpNA ( this . drpConstManager , true ) ;
BLL . Sys_UserService . InitDropDownList ( this . drpOpre , true ) ;
BLL . Sys_UserService . InitDrpNA ( this . drpEMManager , true ) ;
//BLL.Sys_UserService.InitDropDownList(this.drpLeadBy, true);
this . drpProjectManager . SelectedIndex = 0 ;
this . drpConstManager . SelectedIndex = 0 ;
this . drpOpre . SelectedIndex = 0 ;
//this.drpLeadBy.SelectedIndex = 0;
this . drpEMManager . SelectedIndex = 0 ;
}
this . txtJobNo . Text = eproject . ProjectControl_JobNo ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_BUCode ) )
{
this . drpBuCode . SelectedValue = BLL . DepartService . GetDepartByName ( eproject . ProjectControl_BUCode ) . DepartId ;
}
this . txtNotesLink . Text = eproject . ProjectControl_NotesLink ;
this . txtFilesLink . Text = eproject . ProjectControl_FilesLink ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_ConstManagerId ) & & eproject . ProjectControl_ConstManagerId ! = null )
{
this . drpConstManager . SelectedValue = eproject . ProjectControl_ConstManagerId . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_JobType . Trim ( ) ) )
{
this . drpJobType . SelectedValue = BLL . ConstService . GetConstListByTextAndGroupId ( eproject . ProjectControl_JobType . Trim ( ) , BLL . Const . ProjectPlanner_JobType ) . ConstValue ;
}
this . txtOrginalBudget . Text = eproject . ProjectControl_OrginalBudget = = null ? "" : Convert . ToInt32 ( eproject . ProjectControl_OrginalBudget ) . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_EMManagerId ) & & eproject . ProjectControl_EMManagerId ! = null )
{
this . drpEMManager . SelectedValue = eproject . ProjectControl_EMManagerId . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_JobStatus ) & & eproject . ProjectControl_JobStatus ! = null )
{
this . drpJobStatus . SelectedValue = BLL . ConstService . GetConstListByTextAndGroupId ( eproject . ProjectControl_JobStatus . Trim ( ) , BLL . Const . ProjectPlanner_JobStatus ) . ConstValue ;
}
this . txtAccount . Text = eproject . ProjectControl_Account ;
this . hdAccount . Text = eproject . ProjectControl_Account ;
this . txtJobTitle . Text = eproject . ProjectControl_JobTitle ;
this . txtPVIPrediction . Text = eproject . ProjectControl_PVIPrediction = = null ? "" : eproject . ProjectControl_PVIPrediction . ToString ( ) ;
this . txtCostEffectvitity . Text = eproject . ProjectControl_CostEffectvitity ;
this . txtMOCFormNO . Text = eproject . ProjectControl_MOCFormNo ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_LeadBy ) & & eproject . ProjectControl_LeadBy ! = null )
{
this . drpLeadBy . SelectedValue = eproject . ProjectControl_LeadBy . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_OperationRepId ) & & eproject . ProjectControl_OperationRepId ! = null )
{
this . drpOpre . SelectedValue = eproject . ProjectControl_OperationRepId . Trim ( ) ;
}
this . txtNetworkNo . Text = eproject . ProjectControl_NetworkNo ;
this . hdNetworkDate . Text = eproject . ProjectControl_NetworkDate = = null ? "" : eproject . ProjectControl_NetworkDate . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_ProjectManagerId ) & & eproject . ProjectControl_ProjectManagerId ! = null )
{
this . drpProjectManager . SelectedValue = eproject . ProjectControl_ProjectManagerId . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . PM_General_Priority ) )
{
drpPM_General_Priority . SelectedValue = BLL . ConstService . GetConstListByTextAndGroupId ( eproject . PM_General_Priority , BLL . Const . PM_Priority ) . ConstValue ;
}
this . txtRemark . Text = eproject . ProjectControl_Remarks ;
this . txtLPSchStart . Text = eproject . ProjectControl_LP_SchStart = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_LP_SchStart ) ;
this . txtLPSchEnd . Text = eproject . ProjectControl_LP_SchEnd = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_LP_SchEnd ) ;
this . txtLPProgress . Text = eproject . ProjectControl_LP_Progress = = null ? "" : eproject . ProjectControl_LP_Progress . ToString ( ) ;
this . txtCCSchStart . Text = eproject . ProjectControl_CC_SchStart = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_CC_SchStart ) ;
this . txtCCSchEnd . Text = eproject . ProjectControl_CC_SchEnd = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_CC_SchEnd ) ;
this . txtCCProgress . Text = eproject . ProjectControl_CC_Progress = = null ? "" : eproject . ProjectControl_CC_Progress . ToString ( ) ;
this . txtCMSchStart . Text = eproject . ProjectControl_CM_SchStart = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_CM_SchStart ) ;
this . txtCMSchEnd . Text = eproject . ProjectControl_CM_SchEnd = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_CM_SchEnd ) ;
this . txtCMProgress . Text = eproject . ProjectControl_CM_Progress = = null ? "" : eproject . ProjectControl_CM_Progress . ToString ( ) ;
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_CI_Process ) & & eproject . ProjectControl_CI_Process ! = null )
{
this . drpCIProcess . SelectedValue = eproject . ProjectControl_CI_Process . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_CI_Equipment ) & & eproject . ProjectControl_CI_Equipment ! = null )
{
this . drpEquipment . SelectedValue = eproject . ProjectControl_CI_Equipment . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_CI_Instrument ) & & eproject . ProjectControl_CI_Instrument ! = null )
{
this . drpInstrument . SelectedValue = eproject . ProjectControl_CI_Instrument . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_CI_Electrical ) & & eproject . ProjectControl_CI_Electrical ! = null )
{
this . drpElectrical . SelectedValue = eproject . ProjectControl_CI_Electrical . Trim ( ) ;
}
if ( ! string . IsNullOrEmpty ( eproject . ProjectControl_CI_Civil ) & & eproject . ProjectControl_CI_Civil ! = null )
{
this . drpCivil . SelectedValue = eproject . ProjectControl_CI_Civil . Trim ( ) ;
}
this . txtChangedBudget . Text = eproject . ProjectControl_ChangedBudget = = null ? "" : eproject . ProjectControl_ChangedBudget . ToString ( ) ;
this . txtCommitted_PRPO . Text = eproject . ProjectControl_CommittedPRPO = = null ? "" : eproject . ProjectControl_CommittedPRPO . ToString ( ) ;
this . txtCommitted_SSRs . Text = eproject . ProjectControl_CommittedSSRs = = null ? "" : eproject . ProjectControl_CommittedSSRs . ToString ( ) ;
this . txtActual . Text = eproject . ProjectControl_Actual = = null ? "" : eproject . ProjectControl_Actual . ToString ( ) ;
this . txtResourcePlanReceived . Text = eproject . ProjectControl_MS_ResourcePlanReceived = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_MS_ResourcePlanReceived ) ;
this . txtMS_SR . Text = eproject . ProjectControl_MS_SR = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_MS_SR ) ;
this . txtMS_Approval . Text = eproject . ProjectControl_MS_Approval = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_MS_Approval ) ;
this . txtMS_MC . Text = eproject . ProjectControl_MS_MC = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_MS_MC ) ;
this . txtMS_Close . Text = eproject . ProjectControl_MS_Close = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_MS_Close ) ;
txtPM_SC_ApprovedQty . Text = Convert . ToString ( eproject . PM_SC_ApprovedQty ) ;
txtPM_SC_ApprovedCost . Text = Convert . ToString ( eproject . PM_SC_ApprovedCost ) ;
txtPM_SC_PendingQty . Text = Convert . ToString ( eproject . PM_SC_PendingQty ) ;
txtPM_SC_PendingCost . Text = Convert . ToString ( eproject . PM_SC_PendingCost ) ;
this . txtBC_CloseDate . Text = eproject . ProjectControl_BC_CloseDate = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_BC_CloseDate ) ;
this . txtCancelDate . Text = eproject . ProjectControl_PC_CancelDate = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_PC_CancelDate ) ;
2024-06-21 17:46:05 +08:00
this . txtHold . Text = eproject . Job_Hold = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . Job_Hold ) ;
2024-05-08 11:01:54 +08:00
this . txtCAPEXPlanNo . Text = eproject . CAPEXPlanNo ;
this . txtStudyWo . Text = eproject . StudyWo ;
this . drpCTEInvolved . SelectedValue = eproject . CTEInvolved ;
txtRevisedMCDate . Text = eproject . ProjectControl_Revised_MC_Date = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , eproject . ProjectControl_Revised_MC_Date ) ;
btnCalculated_Click ( null , null ) ; //计算进度
}
}
else
{
string prefixCode = DateTime . Now . ToString ( "yy" ) ;
this . txtJobNo . Text = BLL . SQLHelper . RunProcNewId ( "SpGetNewCode3" , "dbo.Editor_EProject" , "ProjectControl_JobNo" , prefixCode ) ;
this . drpJobStatus . SelectedValue = "Not Start" ;
}
}
}
#endregion
#region 保 存
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click ( object sender , EventArgs e )
{
if ( this . drpJobType . SelectedValue = = BLL . Const . _Null )
{
Alert . ShowInTop ( "Please select Job type!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( this . drpJobStatus . SelectedValue = = BLL . Const . _Null )
{
Alert . ShowInTop ( "Please select Job status!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( this . drpBuCode . SelectedValue = = BLL . Const . _Null )
{
Alert . ShowInTop ( "Please select Bu.Code!" , MessageBoxIcon . Warning ) ;
return ;
}
if ( this . drpLeadBy . SelectedValue = = BLL . Const . _Null )
{
Alert . ShowInTop ( "Please select Lead By!" , MessageBoxIcon . Warning ) ;
return ;
}
string operationLog = string . Empty ;
Model . Editor_EProject pro = null ;
string eProjectId = Request . Params [ "eProjectId" ] ;
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
pro = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
operationLog = pro . ProjectControl_JobNo + "_Project Control: " ;
}
Model . Editor_EProject eProject = new Model . Editor_EProject ( ) ;
eProject . ProjectControl_JobNo = this . txtJobNo . Text . Trim ( ) ;
eProject . ProjectControl_NotesLink = this . txtNotesLink . Text . Trim ( ) ;
eProject . ProjectControl_FilesLink = this . txtFilesLink . Text . Trim ( ) ;
if ( this . drpConstManager . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_ConstManagerId = this . drpConstManager . SelectedValue ;
eProject . ProjectControl_ConstManager = this . drpConstManager . SelectedItem . Text ;
}
eProject . ProjectControl_JobType = this . drpJobType . SelectedItem . Text ;
eProject . ProjectControl_OrginalBudget = Funs . GetNewIntOrZero ( this . txtOrginalBudget . Text . Trim ( ) ) ;
if ( this . drpEMManager . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_EMManagerId = this . drpEMManager . SelectedValue ;
eProject . ProjectControl_EMManager = this . drpEMManager . SelectedItem . Text ;
}
eProject . ProjectControl_JobStatus = this . drpJobStatus . SelectedItem . Text ;
eProject . ProjectControl_Account = this . txtAccount . Text . Trim ( ) ;
eProject . ProjectControl_JobTitle = this . txtJobTitle . Text . Trim ( ) ;
eProject . ProjectControl_PVIPrediction = Funs . GetNewDecimalOrZero ( this . txtPVIPrediction . Text ) ;
eProject . ProjectControl_BUCode = this . drpBuCode . SelectedItem . Text ;
eProject . ProjectControl_CostEffectvitity = this . txtCostEffectvitity . Text . Trim ( ) ;
eProject . ProjectControl_MOCFormNo = this . txtMOCFormNO . Text . Trim ( ) ;
if ( this . drpLeadBy . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_LeadBy = this . drpLeadBy . SelectedValue ;
eProject . ProjectControl_LeadByName = this . drpLeadBy . SelectedItem . Text . Trim ( ) ;
}
if ( this . drpOpre . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_OperationRepId = this . drpOpre . SelectedValue ;
eProject . ProjectControl_OperationRep = this . drpOpre . SelectedItem . Text ;
}
eProject . ProjectControl_NetworkNo = this . txtNetworkNo . Text ;
if ( this . drpProjectManager . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_ProjectManagerId = this . drpProjectManager . SelectedValue ;
eProject . ProjectControl_ProjectManager = this . drpProjectManager . SelectedItem . Text ;
}
if ( this . drpPM_General_Priority . SelectedValue ! = BLL . Const . _Null )
{
eProject . PM_General_Priority = drpPM_General_Priority . SelectedItem . Text ;
}
else
{
eProject . PM_General_Priority = null ;
}
eProject . ProjectControl_Remarks = this . txtRemark . Text . Trim ( ) ;
eProject . ProjectControl_LP_SchStart = Funs . GetNewDateTime ( this . txtLPSchStart . Text . Trim ( ) ) ;
eProject . ProjectControl_LP_SchEnd = Funs . GetNewDateTime ( this . txtLPSchEnd . Text . Trim ( ) ) ;
#region 不 用 了 , 直 接 调 用 btnCalculated_Click
//if (!string.IsNullOrEmpty(this.txtLPProgress.Text.Trim()))
//{
// eProject.ProjectControl_LP_Progress = Funs.GetNewDecimal(this.txtLPProgress.Text.Trim());
//}
//else
//{
// decimal lp1 = 0;
// decimal lp2 = 0;
// if (eProject.ProjectControl_LP_SchStart.HasValue)
// {
// lp1 = (DateTime.Now - eProject.ProjectControl_LP_SchStart).Value.Days;
// }
// if (eProject.ProjectControl_LP_SchEnd.HasValue)
// {
// lp2 = (eProject.ProjectControl_LP_SchEnd - eProject.ProjectControl_LP_SchStart).Value.Days;
// }
// if (lp2 != 0)
// {
// decimal progress = lp1 / lp2 * 100;
// if (progress > 100)
// {
// eProject.ProjectControl_LP_Progress = 100;
// }
// else if (progress < 0)
// {
// eProject.ProjectControl_LP_Progress = 0;
// }
// else
// {
// eProject.ProjectControl_LP_Progress = Funs.GetNewDecimalOrZero(progress.ToString());
// }
// }
//}
//if (!string.IsNullOrEmpty(this.txtCCProgress.Text.Trim()))
//{
// eProject.ProjectControl_CC_Progress = Funs.GetNewDecimal(this.txtCCProgress.Text.Trim());
//}
//else
//{
// decimal cc1 = 0;
// decimal cc2 = 0;
// if (eProject.ProjectControl_CC_SchStart.HasValue)
// {
// cc1 = (DateTime.Now - eProject.ProjectControl_CC_SchStart).Value.Days;
// }
// if (eProject.ProjectControl_CC_SchEnd.HasValue)
// {
// cc2 = (eProject.ProjectControl_CC_SchEnd - eProject.ProjectControl_CC_SchStart).Value.Days;
// }
// if (cc2 != 0)
// {
// decimal progress = cc1 / cc2 * 100;
// if (progress > 100)
// {
// eProject.ProjectControl_CC_Progress = 100;
// }
// else if (progress < 0)
// {
// eProject.ProjectControl_CC_Progress = 0;
// }
// else
// {
// eProject.ProjectControl_CC_Progress = Funs.GetNewDecimalOrZero(progress.ToString());
// }
// }
//}
//if (!string.IsNullOrEmpty(txtCMProgress.Text.Trim()))
//{
// eProject.ProjectControl_CM_Progress = Funs.GetNewDecimal(txtCMProgress.Text.Trim());
//}
//else
//{
// decimal cm1 = 0;
// decimal cm2 = 0;
// if (eProject.ProjectControl_CM_SchStart.HasValue)
// {
// cm1 = (DateTime.Now - eProject.ProjectControl_CM_SchStart).Value.Days;
// }
// if (eProject.ProjectControl_CM_SchEnd.HasValue)
// {
// cm2 = (eProject.ProjectControl_CM_SchEnd - eProject.ProjectControl_CM_SchStart).Value.Days;
// }
// if (cm2 != 0)
// {
// decimal progress = cm1 / cm2 * 100;
// if (progress > 100)
// {
// eProject.ProjectControl_CM_Progress = 100;
// }
// else if (progress < 0)
// {
// eProject.ProjectControl_CM_Progress = 0;
// }
// else
// {
// eProject.ProjectControl_CM_Progress = Funs.GetNewDecimalOrZero(progress.ToString());
// }
// }
//}
#endregion
btnCalculated_Click ( null , null ) ; //进度计算
if ( txtLPProgress . Text . Trim ( ) ! = string . Empty )
{
eProject . ProjectControl_LP_Progress = Convert . ToDecimal ( txtLPProgress . Text . Trim ( ) ) ;
}
if ( txtCCProgress . Text . Trim ( ) ! = string . Empty )
{
eProject . ProjectControl_CC_Progress = Convert . ToDecimal ( txtCCProgress . Text . Trim ( ) ) ;
}
if ( txtCMProgress . Text . Trim ( ) ! = string . Empty )
{
eProject . ProjectControl_CM_Progress = Convert . ToDecimal ( txtCMProgress . Text . Trim ( ) ) ;
}
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
if ( ! pro . PM_LLEP_RevisedStart . HasValue )
{
eProject . PM_LLEP_RevisedStart = Funs . GetNewDateTime ( this . txtLPSchStart . Text . Trim ( ) ) ;
}
else
{
eProject . PM_LLEP_RevisedStart = pro . PM_LLEP_RevisedStart ;
}
if ( ! pro . PM_LLEP_RevisedEnd . HasValue )
{
eProject . PM_LLEP_RevisedEnd = Funs . GetNewDateTime ( this . txtLPSchEnd . Text . Trim ( ) ) ;
}
else
{
eProject . PM_LLEP_RevisedEnd = pro . PM_LLEP_RevisedEnd ;
}
if ( ! pro . PM_LLEP_ActualProgress . HasValue )
{
eProject . PM_LLEP_ActualProgress = eProject . ProjectControl_LP_Progress ;
}
else
{
eProject . PM_LLEP_ActualProgress = pro . PM_LLEP_ActualProgress ;
}
if ( ! pro . CM_CC_RevisedStart . HasValue )
{
eProject . CM_CC_RevisedStart = Funs . GetNewDateTime ( this . txtCCSchStart . Text . Trim ( ) ) ;
}
else
{
eProject . CM_CC_RevisedStart = pro . CM_CC_RevisedStart ;
}
if ( ! pro . CM_CM_RevisedEnd . HasValue )
{
eProject . CM_CM_RevisedEnd = Funs . GetNewDateTime ( this . txtCCSchEnd . Text . Trim ( ) ) ;
}
else
{
eProject . CM_CM_RevisedEnd = pro . CM_CM_RevisedEnd ;
}
if ( ! pro . CM_CC_AcutalProgress . HasValue )
{
eProject . CM_CC_AcutalProgress = eProject . ProjectControl_CC_Progress ;
}
else
{
eProject . CM_CC_AcutalProgress = pro . CM_CC_AcutalProgress ;
}
if ( ! pro . CM_CM_RevisedStart . HasValue )
{
eProject . CM_CM_RevisedStart = Funs . GetNewDateTime ( this . txtCMSchStart . Text . Trim ( ) ) ;
}
else
{
eProject . CM_CM_RevisedStart = pro . CM_CM_RevisedStart ;
}
if ( ! pro . CM_CM_RevisedEnd . HasValue )
{
eProject . CM_CM_RevisedEnd = Funs . GetNewDateTime ( this . txtCMSchEnd . Text . Trim ( ) ) ;
}
else
{
eProject . CM_CM_RevisedEnd = pro . CM_CM_RevisedEnd ;
}
if ( ! pro . CM_CM_AcutalProgress . HasValue )
{
eProject . CM_CM_AcutalProgress = eProject . ProjectControl_CM_Progress ;
}
else
{
eProject . CM_CM_AcutalProgress = pro . CM_CM_AcutalProgress ;
}
}
else
{
eProject . PM_LLEP_RevisedStart = Funs . GetNewDateTime ( this . txtLPSchStart . Text . Trim ( ) ) ;
eProject . PM_LLEP_RevisedEnd = Funs . GetNewDateTime ( this . txtLPSchEnd . Text . Trim ( ) ) ;
eProject . PM_LLEP_ActualProgress = eProject . ProjectControl_LP_Progress ;
eProject . CM_CC_RevisedStart = Funs . GetNewDateTime ( this . txtCCSchStart . Text . Trim ( ) ) ;
eProject . CM_CM_RevisedEnd = Funs . GetNewDateTime ( this . txtCCSchEnd . Text . Trim ( ) ) ;
eProject . CM_CC_AcutalProgress = eProject . ProjectControl_CC_Progress ;
eProject . CM_CM_RevisedStart = Funs . GetNewDateTime ( this . txtCMSchStart . Text . Trim ( ) ) ;
eProject . CM_CM_AcutalProgress = eProject . ProjectControl_CM_Progress ;
}
eProject . ProjectControl_CC_SchStart = Funs . GetNewDateTime ( this . txtCCSchStart . Text . Trim ( ) ) ;
eProject . ProjectControl_CC_SchEnd = Funs . GetNewDateTime ( this . txtCCSchEnd . Text . Trim ( ) ) ;
eProject . ProjectControl_CM_SchStart = Funs . GetNewDateTime ( this . txtCMSchStart . Text . Trim ( ) ) ;
eProject . ProjectControl_CM_SchEnd = Funs . GetNewDateTime ( this . txtCMSchEnd . Text . Trim ( ) ) ;
if ( this . drpCIProcess . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_CI_Process = this . drpCIProcess . SelectedValue ;
eProject . ProjectControl_CI_ProcessName = this . drpCIProcess . SelectedItem . Text ;
}
if ( this . drpEquipment . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_CI_Equipment = this . drpEquipment . SelectedValue ;
eProject . ProjectControl_CI_EquipmentName = this . drpEquipment . SelectedItem . Text ;
}
if ( this . drpInstrument . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_CI_Instrument = this . drpInstrument . SelectedValue ;
eProject . ProjectControl_CI_InstrumentName = this . drpInstrument . SelectedItem . Text ;
}
if ( this . drpElectrical . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_CI_Electrical = this . drpElectrical . SelectedValue ;
eProject . ProjectControl_CI_ElectricalName = this . drpElectrical . SelectedItem . Text ;
}
if ( this . drpCivil . SelectedValue ! = BLL . Const . _Null )
{
eProject . ProjectControl_CI_Civil = this . drpCivil . SelectedValue ;
eProject . ProjectControl_CI_CivilName = this . drpCivil . SelectedItem . Text ;
}
if ( ! string . IsNullOrEmpty ( txtRevisedMCDate . Text ) )
{
eProject . ProjectControl_Revised_MC_Date = Funs . GetNewDateTime ( this . txtRevisedMCDate . Text . Trim ( ) ) ;
}
else
{
eProject . ProjectControl_Revised_MC_Date = Funs . GetNewDateTime ( this . txtMS_MC . Text . Trim ( ) ) ;
}
eProject . ProjectControl_ChangedBudget = Funs . GetNewDecimalOrZero ( this . txtChangedBudget . Text . Trim ( ) ) ;
eProject . ProjectControl_CommittedPRPO = Funs . GetNewDecimalOrZero ( this . txtCommitted_PRPO . Text . Trim ( ) ) ;
eProject . ProjectControl_CommittedSSRs = Funs . GetNewDecimalOrZero ( this . txtCommitted_SSRs . Text . Trim ( ) ) ;
eProject . ProjectControl_Actual = Funs . GetNewDecimalOrZero ( this . txtActual . Text . Trim ( ) ) ;
eProject . ProjectControl_MS_ResourcePlanReceived = Funs . GetNewDateTime ( this . txtResourcePlanReceived . Text . Trim ( ) ) ;
eProject . ProjectControl_MS_SR = Funs . GetNewDateTime ( this . txtMS_SR . Text . Trim ( ) ) ;
eProject . ProjectControl_MS_Approval = Funs . GetNewDateTime ( this . txtMS_Approval . Text . Trim ( ) ) ;
eProject . ProjectControl_MS_MC = Funs . GetNewDateTime ( this . txtMS_MC . Text . Trim ( ) ) ;
eProject . ProjectControl_MS_Close = Funs . GetNewDateTime ( this . txtMS_Close . Text . Trim ( ) ) ;
2024-06-21 17:46:05 +08:00
eProject . Job_Hold = Funs . GetNewDateTime ( this . txtHold . Text . Trim ( ) ) ;
2024-05-08 11:01:54 +08:00
eProject . PM_SC_ApprovedQty = Funs . GetNewInt ( txtPM_SC_ApprovedQty . Text . Trim ( ) ) ;
eProject . PM_SC_ApprovedCost = Funs . GetNewDecimal ( txtPM_SC_ApprovedCost . Text . Trim ( ) ) ;
eProject . PM_SC_PendingQty = Funs . GetNewInt ( txtPM_SC_PendingQty . Text . Trim ( ) ) ;
eProject . PM_SC_PendingCost = Funs . GetNewDecimal ( txtPM_SC_PendingCost . Text . Trim ( ) ) ;
if ( ! string . IsNullOrEmpty ( this . txtBC_CloseDate . Text . Trim ( ) ) )
{
eProject . ProjectControl_BC_CloseDate = Funs . GetNewDateTime ( this . txtBC_CloseDate . Text . Trim ( ) ) ;
eProject . PM_General_CostToComplete = 0 ;
}
else
{
if ( pro ! = null & & pro . PM_General_CostToComplete ! = null )
{
eProject . PM_General_CostToComplete = pro . PM_General_CostToComplete ;
}
}
eProject . ProjectControl_PC_CancelDate = Funs . GetNewDateTime ( this . txtCancelDate . Text . Trim ( ) ) ;
eProject . CAPEXPlanNo = this . txtCAPEXPlanNo . Text . Trim ( ) ;
eProject . CTEInvolved = this . drpCTEInvolved . SelectedValue ;
eProject . StudyWo = this . txtStudyWo . Text . Trim ( ) ;
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
if ( BLL . EProjectService . IsExitJobNoById ( eProject . ProjectControl_JobNo , eProjectId ) )
{
eProject . EProjectId = eProjectId ;
eProject . ModifyDate = DateTime . Now ;
eProject . ModifyPerson = CurrUser . UserId ;
if ( ( pro . ProjectControl_JobType ! = null | | drpJobType . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_JobType ! = drpJobType . SelectedItem . Text )
{
operationLog + = "Job Type 由" + pro . ProjectControl_JobType + "修改为" + drpJobType . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_JobStatus ! = null | | drpJobStatus . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_JobStatus ! = drpJobStatus . SelectedItem . Text )
{
operationLog + = "Job Status 由" + pro . ProjectControl_JobStatus + "修改为" + drpJobStatus . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_ProjectManager ! = null | | drpProjectManager . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_ProjectManagerId ! = drpProjectManager . SelectedValue )
{
operationLog + = "PM 由" + pro . ProjectControl_ProjectManager + "修改为" + drpProjectManager . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_EMManager ! = null | | drpEMManager . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_EMManagerId ! = drpEMManager . SelectedValue )
{
operationLog + = "EM 由" + pro . ProjectControl_EMManager + "修改为" + drpEMManager . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_ConstManager ! = null | | drpConstManager . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_ConstManagerId ! = drpConstManager . SelectedValue )
{
operationLog + = "CM 由" + pro . ProjectControl_ConstManager + "修改为" + drpConstManager . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_LeadBy ! = null | | drpLeadBy . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_LeadBy ! = drpLeadBy . SelectedValue )
{
operationLog + = "Lead By 由" + pro . ProjectControl_LeadByName + "修改为" + drpLeadBy . SelectedItem . Text + ", " ;
}
if ( ( pro . ProjectControl_OperationRepId ! = null | | drpOpre . SelectedValue ! = Const . _Null ) & & pro . ProjectControl_OperationRepId ! = drpOpre . SelectedValue )
{
operationLog + = "Operation Rep 由" + pro . ProjectControl_OperationRep + "修改为" + drpOpre . SelectedItem . Text + ", " ;
}
if ( pro . ProjectControl_OrginalBudget ! = Funs . GetNewDecimalOrZero ( this . txtOrginalBudget . Text . Trim ( ) ) )
{
operationLog + = "Orginal Budget 由" + ( pro . ProjectControl_OrginalBudget = = null ? "" : Convert . ToInt32 ( pro . ProjectControl_OrginalBudget ) . ToString ( ) ) + "修改为" + this . txtOrginalBudget . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_Revised_MC_Date ! = Funs . GetNewDateTime ( this . txtRevisedMCDate . Text . Trim ( ) ) )
{
operationLog + = "Revised MC Date 由" + ( pro . ProjectControl_Revised_MC_Date = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_Revised_MC_Date ) ) + "修改为" + this . txtRevisedMCDate . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_Account ! = txtAccount . Text . Trim ( ) )
{
operationLog + = "Account No. 由" + pro . ProjectControl_Account + "修改为" + txtAccount . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_NetworkNo ! = txtNetworkNo . Text . Trim ( ) )
{
operationLog + = "Network No. 由" + pro . ProjectControl_NetworkNo + "修改为" + txtNetworkNo . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_MOCFormNo ! = txtMOCFormNO . Text . Trim ( ) )
{
operationLog + = "MOC Form No. 由" + pro . ProjectControl_MOCFormNo + "修改为" + txtMOCFormNO . Text . Trim ( ) + ", " ;
}
if ( pro . CAPEXPlanNo ! = txtCAPEXPlanNo . Text . Trim ( ) )
{
operationLog + = "CAPEX Plan No. 由" + pro . CAPEXPlanNo + "修改为" + txtCAPEXPlanNo . Text . Trim ( ) + ", " ;
}
if ( pro . StudyWo ! = txtStudyWo . Text . Trim ( ) )
{
operationLog + = "Study Wo 由" + pro . StudyWo + "修改为" + txtStudyWo . Text . Trim ( ) + ", " ;
}
if ( ( pro . PM_General_Priority ! = null | | drpPM_General_Priority . SelectedValue ! = Const . _Null ) & & pro . PM_General_Priority ! = drpPM_General_Priority . SelectedItem . Text )
{
operationLog + = "Priority 由" + pro . PM_General_Priority + "修改为" + drpPM_General_Priority . SelectedItem . Text + ", " ;
}
if ( pro . ProjectControl_Remarks ! = txtRemark . Text . Trim ( ) )
{
operationLog + = "Remarks 由" + pro . ProjectControl_Remarks + "修改为" + txtRemark . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_MS_SR ! = Funs . GetNewDateTime ( this . txtMS_SR . Text . Trim ( ) ) )
{
operationLog + = "SR 1/2 由" + ( pro . ProjectControl_MS_SR = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_MS_SR ) ) + "修改为" + this . txtMS_SR . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_MS_Approval ! = Funs . GetNewDateTime ( this . txtMS_Approval . Text . Trim ( ) ) )
{
operationLog + = "Approval 由" + ( pro . ProjectControl_MS_Approval = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_MS_Approval ) ) + "修改为" + this . txtMS_Approval . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_MS_MC ! = Funs . GetNewDateTime ( this . txtMS_MC . Text . Trim ( ) ) )
{
operationLog + = "MC 由" + ( pro . ProjectControl_MS_MC = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_MS_MC ) ) + "修改为" + this . txtMS_MC . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_MS_Close ! = Funs . GetNewDateTime ( this . txtMS_Close . Text . Trim ( ) ) )
{
operationLog + = "MC 由" + ( pro . ProjectControl_MS_Close = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_MS_Close ) ) + "修改为" + this . txtMS_Close . Text . Trim ( ) + ", " ;
}
if ( ( pro . PM_SC_ApprovedQty ! = null | | txtPM_SC_ApprovedQty . Text ! = "" ) & & pro . PM_SC_ApprovedQty ! = Funs . GetNewInt ( txtPM_SC_ApprovedQty . Text . Trim ( ) ) )
{
operationLog + = "Approved Qty 由" + ( pro . PM_SC_ApprovedQty ! = null ? pro . PM_SC_ApprovedQty . Value . ToString ( ) : "" + "修改为" + txtPM_SC_ApprovedQty . Text ) + ", " ;
}
if ( ( pro . PM_SC_ApprovedCost ! = null | | txtPM_SC_ApprovedCost . Text ! = "" ) & & pro . PM_SC_ApprovedCost ! = Funs . GetNewDecimal ( txtPM_SC_ApprovedCost . Text . Trim ( ) ) )
{
operationLog + = "Approved Cost 由" + ( pro . PM_SC_ApprovedCost ! = null ? pro . PM_SC_ApprovedCost . Value . ToString ( ) : "" + "修改为" + txtPM_SC_ApprovedCost . Text ) + ", " ;
}
if ( ( pro . PM_SC_PendingQty ! = null | | txtPM_SC_PendingQty . Text ! = "" ) & & pro . PM_SC_PendingQty ! = Funs . GetNewInt ( txtPM_SC_PendingQty . Text . Trim ( ) ) )
{
operationLog + = "Pending Qty 由" + ( pro . PM_SC_PendingQty ! = null ? pro . PM_SC_PendingQty . Value . ToString ( ) : "" + "修改为" + txtPM_SC_PendingQty . Text ) + ", " ;
}
if ( ( pro . PM_SC_PendingCost ! = null | | txtPM_SC_PendingCost . Text ! = "" ) & & pro . PM_SC_PendingCost ! = Funs . GetNewDecimal ( txtPM_SC_PendingCost . Text . Trim ( ) ) )
{
operationLog + = "Pending Cost 由" + ( pro . PM_SC_PendingCost ! = null ? pro . PM_SC_PendingCost . Value . ToString ( ) : "" + "修改为" + txtPM_SC_PendingCost . Text ) + ", " ;
}
if ( pro . ProjectControl_BC_CloseDate ! = Funs . GetNewDateTime ( this . txtBC_CloseDate . Text . Trim ( ) ) )
{
operationLog + = "Close Date 由" + ( pro . ProjectControl_BC_CloseDate = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_BC_CloseDate ) ) + "修改为" + this . txtBC_CloseDate . Text . Trim ( ) + ", " ;
}
if ( pro . ProjectControl_PC_CancelDate ! = Funs . GetNewDateTime ( this . txtCancelDate . Text . Trim ( ) ) )
{
operationLog + = "Cancel Date 由" + ( pro . ProjectControl_PC_CancelDate = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_PC_CancelDate ) ) + "修改为" + this . txtCancelDate . Text . Trim ( ) + ", " ;
}
2024-06-21 17:46:05 +08:00
if ( pro . Job_Hold ! = Funs . GetNewDateTime ( this . txtHold . Text . Trim ( ) ) )
{
operationLog + = "Hold Date 由" + ( pro . Job_Hold = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . Job_Hold ) ) + "修改为" + this . txtHold . Text . Trim ( ) + ", " ;
}
2024-05-08 11:01:54 +08:00
if ( pro . ProjectControl_MS_ResourcePlanReceived ! = Funs . GetNewDateTime ( this . txtResourcePlanReceived . Text . Trim ( ) ) )
{
operationLog + = "Resource Plan Received 由" + ( pro . ProjectControl_MS_ResourcePlanReceived = = null ? "" : string . Format ( "{0:yyyy-MM-dd}" , pro . ProjectControl_MS_ResourcePlanReceived ) ) + "修改为" + this . txtResourcePlanReceived . Text . Trim ( ) + ", " ;
}
BLL . EProjectService . UpdateProjectControlEditor ( eProject ) ;
//BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Modify Project Control Editor information!");
}
else
{
Alert . ShowInTop ( "The Job No. entered already exists! " , MessageBoxIcon . Warning ) ;
return ;
}
//Account No的值在改变一次后( 通常项目只有1次变更) , 历史数据写入Remarks, 格式: 修改日期+Account NO.
//if (this.txtAccount.Text.Trim() != this.hdAccount.Text.Trim())
//{
// this.txtRemark.Text = DateTime.Now.ToShortDateString() + ": " + this.hdAccount.Text.Trim();
// eProject.ProjectControl_Remarks = this.txtRemark.Text.Trim();
//}
//var pro = BLL.EProjectService.GeteProjectById(eProjectId);
// 当项目为项目或小型投资时才有newwork
if ( pro . ProjectControl_JobType = = "Projects" | | pro . ProjectControl_JobType = = "Small Invest" )
{
if ( ! string . IsNullOrEmpty ( txtNetworkNo . Text ) & & pro . ProjectControl_NetworkDate = = null )
{
eProject . ProjectControl_NetworkDate = DateTime . Now . Date ;
eProject . ProjectControl_NetworkNo = txtNetworkNo . Text . Trim ( ) ;
// 第一张资源表计划人工时AccountDisabled关闭(现增加第二张资源一个月后关闭)
//var firstRp = from x in Funs.DB.Resource_Plan where x.EProjectId == eProjectId && x.WO != null && x.WO != "" select x;
//if (firstRp.Count() > 0)
//{
// PlanService.UpdateManHourPlanAccountDisabled(firstRp.First().ResourcePlanId, 1);
//}
// 更新第二张资源的Account
var twoRp = from x in Funs . DB . Resource_Plan where x . EProjectId = = eProjectId & & ( x . WO = = null | | x . WO = = "" ) select x ;
if ( twoRp . Count ( ) > 0 )
{
string rpId = twoRp . First ( ) . ResourcePlanId ;
// 回写资源工单号
ResourcePlanService . UpdateRPWO ( rpId , txtNetworkNo . Text . Trim ( ) ) ;
var manHours = ( from x in Funs . DB . ManHours_Plan where x . ResourcePlanId = = rpId select x ) . ToList ( ) ;
if ( manHours . Count ( ) > 0 )
{
foreach ( var m in manHours )
{
string netWorkOper = string . Empty ;
var wbs = BLL . DisciplinesWBSService . GetDisciplinesWBSById ( m . DisciplineId ) ;
if ( wbs ! = null )
{
if ( twoRp . First ( ) . Phase . Contains ( "Study/Concept Planning" ) )
{
netWorkOper = wbs . NetworkOper1 ;
}
else
{
netWorkOper = wbs . NetworkOper ;
}
}
// 更新人工时里Acccout
string account = txtNetworkNo . Text . Trim ( ) + "-" + netWorkOper ;
PlanService . UpdateManHourPlanAccount ( m . ManHoursPlanId , account ) ;
}
}
}
//var rpList = (from x in Funs.DB.Resource_Plan where x.EProjectId == eProjectId select x).ToList();
//if (rpList.Count() > 0)
//{
// foreach (var rp in rpList)
// {
// }
//}
}
}
else
{
txtNetworkNo . Enabled = false ;
}
}
else
{
if ( BLL . EProjectService . IsExitJobNo ( eProject . ProjectControl_JobNo ) )
{
eProject . EProjectId = SQLHelper . GetNewID ( typeof ( Model . Editor_EProject ) ) ;
eProject . IsNewCreate = true ;
eProject . CreateDate = DateTime . Now ;
eProject . CreatePerson = CurrUser . UserId ;
BLL . EProjectService . AddProjectControlEditor ( eProject ) ;
BLL . Sys_LogService . AddLog ( this . CurrUser . UserId , "Add Project Control Editor information!" ) ;
}
else
{
Alert . ShowInTop ( "The Job No. entered already exists! " , MessageBoxIcon . Warning ) ;
return ;
}
}
#region 更 新 项 目 状 态
//更新项目状态
var eproject = BLL . EProjectService . GeteProjectById ( eProject . EProjectId ) ;
if ( eproject ! = null )
{
if ( ( eproject . Permit_PS_SafetyFinalAcc . HasValue & & eproject . Permit_PA_SafetyFinalACC . HasValue
& & eproject . Permit_PS_FFFinalAcc . HasValue & & eproject . Permit_PA_FFFinalACC . HasValue
& & eproject . Permit_PS_EnvFinalAcc . HasValue & & eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( eproject . Permit_PS_SafetyFinalAcc . HasValue & & eproject . Permit_PA_SafetyFinalACC . HasValue
& & ! eproject . Permit_PS_FFFinalAcc . HasValue & & ! eproject . Permit_PA_FFFinalACC . HasValue
& & ! eproject . Permit_PS_EnvFinalAcc . HasValue & & ! eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( eproject . Permit_PS_SafetyFinalAcc . HasValue & & eproject . Permit_PA_SafetyFinalACC . HasValue
& & eproject . Permit_PS_FFFinalAcc . HasValue & & eproject . Permit_PA_FFFinalACC . HasValue
& & ! eproject . Permit_PS_EnvFinalAcc . HasValue & & ! eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( eproject . Permit_PS_SafetyFinalAcc . HasValue & & eproject . Permit_PA_SafetyFinalACC . HasValue
& & ! eproject . Permit_PS_FFFinalAcc . HasValue & & ! eproject . Permit_PA_FFFinalACC . HasValue
& & eproject . Permit_PS_EnvFinalAcc . HasValue & & eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( ! eproject . Permit_PS_SafetyFinalAcc . HasValue & & ! eproject . Permit_PA_SafetyFinalACC . HasValue
& & eproject . Permit_PS_FFFinalAcc . HasValue & & eproject . Permit_PA_FFFinalACC . HasValue
& & eproject . Permit_PS_EnvFinalAcc . HasValue & & eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( ! eproject . Permit_PS_SafetyFinalAcc . HasValue & & ! eproject . Permit_PA_SafetyFinalACC . HasValue
& & ! eproject . Permit_PS_FFFinalAcc . HasValue & & ! eproject . Permit_PA_FFFinalACC . HasValue
& & eproject . Permit_PS_EnvFinalAcc . HasValue & & eproject . Permit_PA_EnvFinalACC . HasValue )
| | ( ! eproject . Permit_PS_SafetyFinalAcc . HasValue & & ! eproject . Permit_PA_SafetyFinalACC . HasValue
& & ! eproject . Permit_PS_FFFinalAcc . HasValue & & ! eproject . Permit_PA_FFFinalACC . HasValue
& & ! eproject . Permit_PS_EnvFinalAcc . HasValue & & ! eproject . Permit_PA_EnvFinalACC . HasValue ) )
{
#region MOC项目
//MOC项目: 最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期④剩余材料登记
if ( eproject . ProjectControl_JobType = = "MOC" )
{
List < DateTime > closeDateLists = new List < DateTime > ( ) ;
var built = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D02_AS-BUILT" ) ; //竣工图接收日期
if ( built ! = null )
{
if ( built . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( built . ReceiveHC ) ) ;
}
}
var md = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D03_MD" ) ; //主控文档更新日期
if ( md ! = null )
{
if ( md . ReceivePDF . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( md . ReceivePDF ) ) ;
}
}
if ( eproject . ProjectControl_BC_CloseDate . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . ProjectControl_BC_CloseDate ) ) ; //商务关闭日期
}
if ( eproject . CM_Date_of_Registration . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . CM_Date_of_Registration ) ) ; //剩余材料登记
}
closeDateLists . Sort ( ) ;
if ( closeDateLists . Count = = 4 )
{
eproject . ProjectControl_ClosedDate = closeDateLists [ 3 ] ;
eproject . ProjectControl_JobStatus = "Closed" ;
}
}
#endregion
#region 类 型 为 项 目 和 小 型 投 资
//类型为项目和小型投资:最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期④C类尾项消项日期⑤机械竣工签署日期⑥剩余材料登记⑦计划具备开车条件日期⑧大于100万需要FC签署日期
else if ( eproject . ProjectControl_JobType = = "Small Invest" | | eproject . ProjectControl_JobType = = "Projects" )
{
List < DateTime > closeDateLists = new List < DateTime > ( ) ;
var built = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D02_AS-BUILT" ) ;
if ( built ! = null )
{
if ( built . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( built . ReceiveHC ) ) ; //竣工图接收日期
}
}
if ( eproject . ProjectControl_BC_CloseDate . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . ProjectControl_BC_CloseDate ) ) ; //商务关闭日期
}
var md = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D03_MD" ) ;
if ( md ! = null )
{
if ( md . ReceivePDF . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( md . ReceivePDF ) ) ; //主控文档更新日期
}
}
if ( eproject . CM_Punch_CKilledDate . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . CM_Punch_CKilledDate ) ) ; //C类尾项消项日期
}
var mc = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D11_MC" ) ;
if ( mc ! = null )
{
if ( mc . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( mc . ReceiveHC ) ) ; //机械竣工签署日期
}
}
if ( eproject . CM_Date_of_Registration . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . CM_Date_of_Registration ) ) ; //剩余材料登记
}
var rfsu = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D12_RFSU" ) ;
if ( rfsu ! = null )
{
if ( rfsu . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( mc . ReceiveHC ) ) ; //计划具备开车条件日期
}
}
// 大于1000000需要FC签署日期
if ( eproject . ProjectControl_OrginalBudget ! = null & & eproject . ProjectControl_OrginalBudget > 1000000 )
{
var fc = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D30_FC" ) ;
if ( fc ! = null )
{
if ( fc . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( fc . ReceiveHC ) ) ; //FC签署日期
}
}
closeDateLists . Sort ( ) ;
if ( closeDateLists . Count = = 8 )
{
eproject . ProjectControl_ClosedDate = closeDateLists [ 7 ] ;
eproject . ProjectControl_JobStatus = "Closed" ;
}
}
else
{
closeDateLists . Sort ( ) ;
if ( closeDateLists . Count = = 7 )
{
eproject . ProjectControl_ClosedDate = closeDateLists [ 6 ] ;
eproject . ProjectControl_JobStatus = "Closed" ;
}
}
}
#endregion
#region 不 用 了
//大于100万的项目: 最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期④C类尾项消项日期⑤机械竣工签署日期⑥FC签署日期⑦剩余材料登记⑧计划具备开车条件日期
//else if (eproject.ProjectControl_JobType == "Projects")
//{
// List<DateTime> closeDateLists = new List<DateTime>();
// var built = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D02_AS-BUILT");
// if (built != null)
// {
// if (built.ReceiveHC.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(built.ReceiveHC));//竣工图接收日期
// }
// }
// if (eproject.ProjectControl_BC_CloseDate.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(eproject.ProjectControl_BC_CloseDate));//商务关闭日期
// }
// var md = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D03_MD");
// if (md != null)
// {
// if (md.ReceivePDF.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(md.ReceivePDF));//主控文档更新日期
// }
// }
// if (eproject.CM_Punch_CKilledDate.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(eproject.CM_Punch_CKilledDate));//C类尾项消项日期
// }
// var mc = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D11_MC");
// if (mc != null)
// {
// if (mc.ReceiveHC.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(mc.ReceiveHC));//机械竣工签署日期
// }
// }
// var fc = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D30_FC");
// if (fc != null)
// {
// if (fc.ReceiveHC.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(fc.ReceiveHC));//FC签署日期
// }
// }
// if (eproject.CM_Date_of_Registration.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(eproject.CM_Date_of_Registration));//剩余材料登记
// }
// var rfsu = BLL.TDCService.GetTDCByEprojectId(eproject.EProjectId, "D12_RFSU");
// if (rfsu != null)
// {
// if (rfsu.ReceiveHC.HasValue)
// {
// closeDateLists.Add(Convert.ToDateTime(mc.ReceiveHC));//计划具备开车条件日期
// }
// }
// closeDateLists.Sort();
// if (closeDateLists.Count == 8)
// {
// eproject.ProjectControl_ClosedDate = closeDateLists[7];
// eproject.ProjectControl_JobStatus = "Closed";
// }
//}
#endregion
#region 其 他 类 项 目
//其他类项目:最晚的①竣工图接收日期②商务关闭日期③主控文档更新日期
else if ( eproject . ProjectControl_JobType = = "Other" )
{
List < DateTime > closeDateLists = new List < DateTime > ( ) ;
var built = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D02_AS-BUILT" ) ;
if ( built ! = null )
{
if ( built . ReceiveHC . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( built . ReceiveHC ) ) ; //竣工图接收日期
}
}
if ( eproject . ProjectControl_BC_CloseDate . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( eproject . ProjectControl_BC_CloseDate ) ) ; //商务关闭日期
}
var md = BLL . TDCService . GetTDCByEprojectId ( eproject . EProjectId , "D03_MD" ) ;
if ( md ! = null )
{
if ( md . ReceivePDF . HasValue )
{
closeDateLists . Add ( Convert . ToDateTime ( md . ReceivePDF ) ) ; //主控文档更新日期
}
}
closeDateLists . Sort ( ) ;
if ( closeDateLists . Count = = 3 )
{
eproject . ProjectControl_ClosedDate = closeDateLists [ 2 ] ;
eproject . ProjectControl_JobStatus = "Closed" ;
}
}
#endregion
}
if ( ! string . IsNullOrEmpty ( this . txtCancelDate . Text ) ) //当Cancel Date有输入时,状态为Cancelled
{
eproject . ProjectControl_JobStatus = "Cancelled" ;
}
2024-06-21 17:46:05 +08:00
if ( ! string . IsNullOrEmpty ( this . txtHold . Text ) ) //Hold Date有输入时,状态为Hold
{
eproject . ProjectControl_JobStatus = "Hold" ;
}
2024-05-08 11:01:54 +08:00
if ( pro . ProjectControl_JobStatus ! = eproject . ProjectControl_JobStatus )
{
operationLog + = "Job Status 由" + pro . ProjectControl_JobStatus + "修改为" + eproject . ProjectControl_JobStatus + ", " ;
}
operationLog + = "操作成功!" ;
BLL . Sys_LogService . AddLog ( this . CurrUser . UserId , operationLog ) ;
eproject . EProjectId = eProject . EProjectId ;
BLL . EProjectService . UpdateProjectJobStatus ( eproject ) ;
2024-06-21 17:46:05 +08:00
// 当eproject状态为Cancelled或Hold时更新人工时状态: 如日期不为空改为一个月后触发状态
if ( ( eproject . ProjectControl_JobStatus = = "Cancelled" & & ! eproject . ProjectControl_PC_CancelDate . HasValue ) | | ( eproject . ProjectControl_JobStatus = = "Hold" & & ! eproject . Job_Hold . HasValue ) )
2024-05-08 11:01:54 +08:00
{
var updatePlan = Funs . DB . ManHours_Plan . Where ( x = > x . EProjectId = = eProject . EProjectId ) ;
if ( updatePlan ! = null )
{
foreach ( var p in updatePlan )
{
p . AccountDisabled = 1 ;
}
Funs . DB . SubmitChanges ( ) ;
}
}
//发送邮件: 当MOC状态为closed状态时, 项目关闭, 文件整理提醒
string closeEmailTitle = eproject . ProjectControl_JobNo + "-项目关闭" ;
var closeem = from x in Funs . DB . Email_SendLog where x . EmailTile . Contains ( closeEmailTitle ) select x ;
if ( closeem . Count ( ) = = 0 )
{
if ( eproject . ProjectControl_JobType = = "MOC" & & eproject . ProjectControl_JobStatus = = "Closed" )
{
NameValueCollection nameValue = new NameValueCollection ( ) ;
nameValue . Add ( "projectName" , eproject . ProjectControl_JobTitle . ToString ( ) . Trim ( ) ) ;
nameValue . Add ( "projectNo" , eproject . ProjectControl_JobNo . ToString ( ) . Trim ( ) ) ;
EmailSendMessage ( eproject , BLL . Const . PCFSRString , nameValue , BLL . Const . CustomString , "3" ) ;
}
}
}
#endregion
#region 邮 件 发 送 代 码
//--------邮件发送代码开始-----
#region Lesson learn邮件通知1
//budget >1000万, 同时项目状态为MC
string lLEmailTitle = eproject . ProjectControl_JobNo + " Lesson Learn" ;
var lLem = from x in Funs . DB . Email_SendLog where x . EmailTile . Contains ( lLEmailTitle ) select x ;
if ( lLem . Count ( ) > 0 )
{
if ( eProject . ProjectControl_OrginalBudget > 10000000 & & this . drpJobStatus . SelectedItem . Text = = "MC" )
{
NameValueCollection nameValue = new NameValueCollection ( ) ;
nameValue . Add ( "projectBUCode" , eproject . ProjectControl_BUCode ) ;
nameValue . Add ( "projectNo" , eproject . ProjectControl_JobNo . ToString ( ) . Trim ( ) ) ;
nameValue . Add ( "projectName" , eproject . ProjectControl_JobTitle . ToString ( ) . Trim ( ) ) ;
nameValue . Add ( "CM_MA_MC" , eproject . CM_MA_MC . HasValue ? Convert . ToDateTime ( eproject . CM_MA_MC ) . ToString ( "yyyy-MM-dd" ) : "" ) ;
EmailSendMessage ( eProject , BLL . Const . LL1String , nameValue , BLL . Const . CustomString ) ;
}
}
#endregion
#region Lesson learn Review邮件通知2
//budget >2000万
string lLR2EmailTitle = eproject . ProjectControl_JobNo + " Lesson Learn Review" ;
var lLR2em = from x in Funs . DB . Email_SendLog where x . EmailTile . Contains ( lLR2EmailTitle ) select x ;
if ( lLR2em . Count ( ) > 0 )
{
if ( eProject . ProjectControl_OrginalBudget > 20000000 )
{
NameValueCollection nameValue = new NameValueCollection ( ) ;
nameValue . Add ( "projectBUCode" , eproject . ProjectControl_BUCode ) ;
nameValue . Add ( "projectNo" , eproject . ProjectControl_JobNo . ToString ( ) . Trim ( ) ) ;
nameValue . Add ( "projectName" , eproject . ProjectControl_JobTitle . ToString ( ) . Trim ( ) ) ;
EmailSendMessage ( eProject , BLL . Const . LLR2String , nameValue , BLL . Const . CustomString ) ;
}
}
#endregion
#region HC auto Mail邮件通知
var ema = from x in Funs . DB . Email_SendLog
where x . EmailTile . Contains ( eProject . ProjectControl_JobNo )
& & x . EmailTile . Contains ( eProject . ProjectControl_JobStatus ) & & x . EmailTile . Contains ( "has been" )
& & x . EmailStatus . Contains ( "发送成功" )
select x ;
if ( ema . Count ( ) = = 0 )
{
if ( ( eProject . ProjectControl_JobType = = "Projects" | | eProject . ProjectControl_JobType = = "Small Invest" | | eProject . ProjectControl_JobType = = "MOC" )
& & ( eProject . ProjectControl_JobStatus = = "Hold" | | eProject . ProjectControl_JobStatus = = "Cancelled" ) )
{
HCEmailSendMessage ( eproject , BLL . Const . HCString ) ;
}
}
#endregion
//--------邮件发送代码结束---- -
#endregion
ShowNotify ( "Save Successfully!" , MessageBoxIcon . Success ) ;
PageContext . RegisterStartupScript ( ActiveWindow . GetHidePostBackReference ( ) ) ;
}
#endregion
#region 邮 件 发 送
protected void btnEmail_Click ( object sender , EventArgs e )
{
string eProjectId = Request . Params [ "eProjectId" ] ;
if ( ! string . IsNullOrEmpty ( eProjectId ) )
{
var pro = BLL . EProjectService . GeteProjectById ( eProjectId ) ;
string notes = "N.A" ;
if ( ! string . IsNullOrEmpty ( pro . ProjectControl_NotesLink ) )
{
notes = pro . ProjectControl_NotesLink . Trim ( ) ;
}
if ( ( pro . ProjectControl_JobType = = "Small Invest" | | pro . ProjectControl_JobType = = "Projects" ) & & ! string . IsNullOrEmpty ( pro . ProjectControl_Account ) & & ! string . IsNullOrEmpty ( pro . ProjectControl_NetworkNo ) )
{
NameValueCollection nameValue = new NameValueCollection ( ) ;
nameValue . Add ( "projectNo" , pro . ProjectControl_JobNo . Trim ( ) ) ;
nameValue . Add ( "projectName" , pro . ProjectControl_JobTitle . Trim ( ) ) ;
nameValue . Add ( "accountNo" , pro . ProjectControl_Account . Trim ( ) ) ;
nameValue . Add ( "networkNo" , pro . ProjectControl_NetworkNo . Trim ( ) ) ;
nameValue . Add ( "notesLink" , notes ) ;
string [ ] mailTo = null ;
string [ ] mailcc = null ;
// 发送人
var to1 = ( from x in Funs . DB . Sys_User
where ( x . UserId = = pro . ProjectControl_ConstManagerId | | x . UserId = = pro . ProjectControl_ProjectManagerId
| | x . UserId = = pro . ProjectControl_EMManagerId | | x . UserId = = pro . ProjectControl_OperationRepId
| | x . UserId = = pro . ProjectControl_CI_Process | | x . UserId = = pro . ProjectControl_CI_Equipment
| | x . UserId = = pro . ProjectControl_CI_Instrument | | x . UserId = = pro . ProjectControl_CI_Electrical
| | x . UserId = = pro . ProjectControl_CI_Civil )
& & x . Email ! = null & & x . Email ! = ""
select new { EmuaerEmailAddress = x . Email , senduserid = x . UserId }
) . Distinct ( ) . ToList ( ) ;
var to2 = ( from a in Funs . DB . ManHours_Plan
join b in Funs . DB . Sys_User
on a . EngineerId equals b . UserId
where a . EProjectId = = pro . EProjectId & & a . Account . Contains ( "NZNIC" )
select new { EmuaerEmailAddress = b . Email , senduserid = b . UserId }
) . Distinct ( ) . ToList ( ) ;
string [ ] conTo1 = to1 . Where ( o = > o . EmuaerEmailAddress ! = null ) . Select ( o = > o . EmuaerEmailAddress ) . ToList ( ) . ToArray ( ) ;
string [ ] conTo2 = to2 . Where ( o = > o . EmuaerEmailAddress ! = null ) . Select ( o = > o . EmuaerEmailAddress ) . ToList ( ) . ToArray ( ) ;
if ( conTo1 . Count ( ) > 0 & & conTo2 . Count ( ) > 0 )
{
mailTo = conTo1 . Union ( conTo2 ) . Distinct ( ) . ToArray ( ) ;
}
else if ( conTo1 . Count ( ) > 0 )
{
mailTo = conTo1 ;
}
else
{
mailTo = conTo2 ;
}
// 抄送人
var cc1 = ( from x in Funs . DB . Sys_User
join y in Funs . DB . Sys_Role on x . RoleId equals y . RoleId
where ( y . RoleName = = "CTE_Director" | | y . RoleName = = "CDS_Manager"
| | y . RoleName = = "Cost_Lead" | | y . RoleName = = "PPE" )
& & x . Email ! = null & & x . Email ! = ""
select new { EmuaerEmailAddress = x . Email , senduserid = x . UserId }
) . Distinct ( ) . ToList ( ) ;
var depList = ( from x in Funs . DB . Sys_User
where ( x . UserId = = pro . ProjectControl_ConstManagerId | | x . UserId = = pro . ProjectControl_ProjectManagerId
| | x . UserId = = pro . ProjectControl_EMManagerId | | x . UserId = = pro . ProjectControl_OperationRepId
| | x . UserId = = pro . ProjectControl_CI_Process | | x . UserId = = pro . ProjectControl_CI_Equipment
| | x . UserId = = pro . ProjectControl_CI_Instrument | | x . UserId = = pro . ProjectControl_CI_Electrical
| | x . UserId = = pro . ProjectControl_CI_Civil )
select x . DepartId ) . Distinct ( ) ;
//string depStr = string.Join(",", depList.Select(p => p.DepartId));
var userList = ( from x in Funs . DB . Base_Depart where depList . Contains ( x . DepartId ) & & x . DepartLeader ! = null select x . DepartLeader ) . Distinct ( ) . ToList ( ) ;
var cc2 = ( from x in Funs . DB . Sys_User
where userList . Contains ( x . UserId ) & & x . Email ! = null & & x . Email ! = ""
select new { EmuaerEmailAddress = x . Email , senduserid = x . UserId } ) . Distinct ( ) . ToList ( ) ;
string [ ] conCc1 = cc1 . Where ( o = > o . EmuaerEmailAddress ! = null ) . Select ( o = > o . EmuaerEmailAddress ) . ToList ( ) . ToArray ( ) ;
string [ ] conCc2 = cc2 . Where ( o = > o . EmuaerEmailAddress ! = null ) . Select ( o = > o . EmuaerEmailAddress ) . ToList ( ) . ToArray ( ) ;
if ( conCc1 . Count ( ) > 0 & & conCc2 . Count ( ) > 0 )
{
mailcc = conCc1 . Union ( conCc2 ) . Distinct ( ) . ToArray ( ) ;
}
else if ( conCc1 . Count ( ) > 0 )
{
mailcc = conCc1 ;
}
else
{
mailcc = conCc2 ;
}
if ( ! pro . PM_MA_ProjectApproval . HasValue )
{
EmailSendMessage ( BLL . Const . PreApprovalString , nameValue , mailTo , mailcc ) ;
}
else
{
EmailSendMessage ( BLL . Const . ApprovalString , nameValue , mailTo , mailcc ) ;
}
}
else
{
Alert . ShowInTop ( "Sending conditions are not met! " , MessageBoxIcon . Warning ) ;
return ;
}
}
}
#endregion
#region 权 限 设 置
/// <summary>
/// 菜单按钮权限
/// </summary>
private void GetButtonPower ( )
{
var buttonList = BLL . CommonService . GetAllButtonList ( this . CurrUser . UserId , BLL . Const . ProjectControlEditorMenuId ) ;
if ( buttonList . Count ( ) > 0 )
{
if ( buttonList . Contains ( BLL . Const . BtnSave ) )
{
this . btnSave . Hidden = false ;
this . btnCalculated . Hidden = false ;
}
if ( buttonList . Contains ( BLL . Const . BtnSend ) )
{
this . btnEmail . Hidden = false ;
}
}
}
#endregion
#region DropDownList下拉选择
/// <summary>
/// 当项目类型为Projects并且Orginal Budget大于100万时, MC为当前日期加1个月
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpJobType_SelectedIndexChanged ( object sender , EventArgs e )
{
if ( string . IsNullOrEmpty ( Request . Params [ "eProjectId" ] ) )
{
if ( this . drpJobType . SelectedItem . Text = = "Projects" & & Funs . GetNewDecimal ( this . txtOrginalBudget . Text ) > 1000000 )
{
this . txtMS_MC . Text = DateTime . Now . AddMonths ( 1 ) . ToShortDateString ( ) ;
}
else
{
this . txtMS_MC . Text = string . Empty ;
}
this . drpProjectManager . Items . Clear ( ) ;
this . drpConstManager . Items . Clear ( ) ;
this . drpOpre . Items . Clear ( ) ;
this . drpEMManager . Items . Clear ( ) ;
// this.drpLeadBy.Items.Clear();
//如果项目类型为Other, 项目经理、施工经理、操作代表、设计经理 显示为CTE部门或人员
if ( this . drpJobType . SelectedItem . Text = = "Other" )
{
this . drpProjectManager . EnableGroup = false ;
this . drpConstManager . EnableGroup = false ;
this . drpOpre . EnableGroup = false ;
this . drpEMManager . EnableGroup = false ;
// this.drpLeadBy.EnableGroup = false;
BLL . Sys_UserService . InitDropDownList ( this . drpProjectManager , true ) ;
BLL . Sys_UserService . InitDropDownList ( this . drpConstManager , true ) ;
BLL . Sys_UserService . InitDropDownList ( this . drpOpre , true ) ;
BLL . Sys_UserService . InitDropDownList ( this . drpEMManager , true ) ;
// BLL.Sys_UserService.InitDropDownList(this.drpLeadBy, true);
this . drpProjectManager . SelectedIndex = 0 ;
this . drpConstManager . SelectedIndex = 0 ;
this . drpOpre . SelectedIndex = 0 ;
this . drpEMManager . SelectedIndex = 0 ;
// this.drpLeadBy.SelectedIndex = 0;
}
else
{
BLL . Sys_UserService . InitUserDropDownList ( this . drpProjectManager , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpConstManager , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpOpre , true ) ;
BLL . Sys_UserService . InitUserDropDownList ( this . drpEMManager , true ) ;
//BLL.Sys_UserService.InitUserDropDownList(this.drpLeadBy, true);
this . drpProjectManager . SelectedIndex = 0 ;
this . drpConstManager . SelectedIndex = 0 ;
this . drpOpre . SelectedIndex = 0 ;
this . drpEMManager . SelectedIndex = 0 ;
//this.drpLeadBy.SelectedIndex = 0;
//自动加载项目号
//if (string.IsNullOrEmpty(Request.Params["eProjectId"]))
//{
// string prefixCode = DateTime.Now.ToString("yy");
// this.txtJobNo.Text = BLL.SQLHelper.RunProcNewId("SpGetNewCode3", "dbo.Editor_EProject", "ProjectControl_JobNo", prefixCode);
//}
}
}
}
protected void txtOrginalBudget_TextChanged ( object sender , EventArgs e )
{
if ( string . IsNullOrEmpty ( Request . Params [ "eProjectId" ] ) )
{
if ( this . drpJobType . SelectedItem . Text = = "Projects" & & Funs . GetNewDecimal ( this . txtOrginalBudget . Text ) > 1000000 )
{
this . txtMS_MC . Text = DateTime . Now . AddMonths ( 1 ) . ToShortDateString ( ) ;
}
else
{
this . txtMS_MC . Text = string . Empty ;
}
}
}
#endregion
#region 计 算 进 度
/// <summary>
/// 计算进度
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCalculated_Click ( object sender , EventArgs e )
{
if ( ! string . IsNullOrEmpty ( this . txtLPSchStart . Text . Trim ( ) ) & & ! string . IsNullOrEmpty ( this . txtLPSchEnd . Text . Trim ( ) ) )
{
decimal lp1 = 0 ;
decimal lp2 = 0 ;
lp1 = ( DateTime . Now - Convert . ToDateTime ( this . txtLPSchStart . Text . Trim ( ) ) ) . Days ;
lp2 = ( Convert . ToDateTime ( this . txtLPSchEnd . Text . Trim ( ) ) - Convert . ToDateTime ( this . txtLPSchStart . Text . Trim ( ) ) ) . Days ;
if ( lp2 ! = 0 )
{
decimal progress = lp1 / lp2 * 100 ;
if ( progress > 100 )
{
this . txtLPProgress . Text = "100" ;
}
else if ( progress < 0 )
{
this . txtLPProgress . Text = "0" ;
}
else
{
this . txtLPProgress . Text = progress . ToString ( ) ;
}
}
}
if ( ! string . IsNullOrEmpty ( this . txtCCSchStart . Text . Trim ( ) ) & & ! string . IsNullOrEmpty ( this . txtCCSchEnd . Text . Trim ( ) ) )
{
decimal cc1 = 0 ;
decimal cc2 = 0 ;
cc1 = ( DateTime . Now - Convert . ToDateTime ( this . txtCCSchStart . Text . Trim ( ) ) ) . Days ;
cc2 = ( Convert . ToDateTime ( this . txtCCSchEnd . Text . Trim ( ) ) - Convert . ToDateTime ( this . txtCCSchStart . Text . Trim ( ) ) ) . Days ;
if ( cc2 ! = 0 )
{
decimal progress = cc1 / cc2 * 100 ;
if ( progress > 100 )
{
this . txtCCProgress . Text = "100" ;
}
else if ( progress < 0 )
{
this . txtCCProgress . Text = "0" ;
}
else
{
this . txtCCProgress . Text = progress . ToString ( ) ;
}
}
}
if ( ! string . IsNullOrEmpty ( this . txtCMSchStart . Text . Trim ( ) ) & & ! string . IsNullOrEmpty ( this . txtCMSchEnd . Text . Trim ( ) ) )
{
decimal cm1 = 0 ;
decimal cm2 = 0 ;
cm1 = ( DateTime . Now - Convert . ToDateTime ( this . txtCMSchStart . Text . Trim ( ) ) ) . Days ;
cm2 = ( Convert . ToDateTime ( this . txtCMSchEnd . Text . Trim ( ) ) - Convert . ToDateTime ( this . txtCMSchStart . Text . Trim ( ) ) ) . Days ;
if ( cm2 ! = 0 )
{
decimal progress = cm1 / cm2 * 100 ;
if ( progress > 100 )
{
this . txtCMProgress . Text = "100" ;
}
else if ( progress < 0 )
{
this . txtCMProgress . Text = "0" ;
}
else
{
this . txtCMProgress . Text = progress . ToString ( ) ;
}
}
}
}
#endregion
protected void txtRevisedMCDate_OnTextChanged ( object sender , EventArgs e )
{
string eprojectId = Request . Params [ "eProjectId" ] ;
var epro = BLL . EProjectService . GeteProjectById ( eprojectId ) ;
if ( txtMS_Close . Text . Trim ( ) = = string . Empty & & txtRevisedMCDate . Text . Trim ( ) ! = string . Empty )
{
txtMS_Close . Text = string . Format ( "{0:yyyy-MM-dd}" , Convert . ToDateTime ( txtRevisedMCDate . Text . Trim ( ) ) . AddMonths ( 6 ) ) ;
}
if ( txtRevisedMCDate . Text . Trim ( ) = = string . Empty )
{
if ( epro ! = null )
{
if ( ! epro . ProjectControl_MS_Close . HasValue )
{
txtMS_Close . Text = string . Empty ;
}
}
else
{
txtMS_Close . Text = string . Empty ;
}
}
}
protected void txtMS_MC_OnTextChanged ( object sender , EventArgs e )
{
string eprojectId = Request . Params [ "eProjectId" ] ;
var epro = BLL . EProjectService . GeteProjectById ( eprojectId ) ;
if ( txtMS_Close . Text . Trim ( ) = = string . Empty & & txtMS_MC . Text . Trim ( ) ! = string . Empty )
{
txtMS_Close . Text = string . Format ( "{0:yyyy-MM-dd}" , Convert . ToDateTime ( txtMS_MC . Text . Trim ( ) ) . AddMonths ( 6 ) ) ;
}
if ( txtMS_MC . Text . Trim ( ) = = string . Empty )
{
if ( epro ! = null )
{
if ( ! epro . ProjectControl_MS_Close . HasValue )
{
txtMS_Close . Text = string . Empty ;
}
}
else
{
txtMS_Close . Text = string . Empty ;
}
}
}
}
}