This commit is contained in:
佘春生 2024-06-21 17:46:05 +08:00
parent b4cb26f6f8
commit 8368dfde9b
18 changed files with 572 additions and 1244 deletions

View File

@ -0,0 +1,45 @@

ALTER VIEW [dbo].[View_NewManHours_Plan]
AS
--scs修改于2024.05.24
SELECT p.ManHoursPlanId,
p.ResourcePlanId,
p.EProjectId,
p.EngineerId,
p.Account,
p.DisciplineId,
(CASE WHEN p.Discipline='M00' THEN 'Project Management' ELSE p.Discipline END) AS Discipline,
(CASE WHEN p.Roles='M00' THEN 'M00_Project Management'
WHEN CHARINDEX('_',p.Roles)=0 THEN p.Roles+'_'+p.Discipline
WHEN CHARINDEX('_',p.Roles)>0 THEN LEFT(p.Roles,(CHARINDEX('_',p.Roles)))+p.Discipline +
SUBSTRING(p.Roles,CHARINDEX('_',p.Roles),LEN(p.Roles)) END) AS Roles,
p.ManHours,
p.AccountDisabled,
e.ProjectControl_JobNo,
e.ProjectControl_JobType,
e.PM_MA_JobReveive,
e.ProjectControl_JobStatus,
e.ProjectControl_JobTitle,
e.ProjectControl_BUCode,
e.ProjectControl_PC_CancelDate,
e.CM_MA_MC,
e.Job_Hold,
e.PM_MA_ProjectApproval,--final approve
u.UserName AS EngineerName,
u.DepartId,
u.DepartName,
e.ProjectControl_MS_ResourcePlanReceived,
e.ProjectControl_NetworkDate,
u.IsCalculated,
(SELECT ISNULL(SUM(ISNULL(act.Hours,0)),0) FROM dbo.ManHours_Actual act WHERE act.ManHoursPlanId=p.ManHoursPlanId) AS ActHours
FROM dbo.ManHours_Plan AS p
LEFT JOIN dbo.Editor_EProject AS e ON p.EProjectId = e.EProjectId
LEFT JOIN dbo.View_Sys_Users AS u ON p.EngineerId = u.UserId
WHERE (p.EProjectId IS NOT NULL)
GO

View File

@ -0,0 +1,136 @@
ALTER VIEW [dbo].[View_ProjectListReport]
AS
/*********报表:项目列表 佘春生修改于2024.05.29*********/
SELECT eproject.EProjectId,
eproject.ProjectControl_BUCode,--BU.
eproject.ProjectControl_JobNo,--Job No
eproject.ProjectControl_JobType,--Job Type
eproject.ProjectControl_LeadByName,--Lead By
eproject.ProjectControl_JobTitle,--Job Title
ISNULL(eproject.ProjectControl_OrginalBudget,0) AS OrginalBudget,--Org. Budget
eproject.ProjectControl_ChangedBudget AS ChangedBudget,
eproject.PM_General_CostToComplete AS CostToComplete,
(ISNULL(eproject.ProjectControl_Actual,0)+ISNULL(eproject.ProjectControl_CommittedPRPO,0)+
ISNULL(eproject.ProjectControl_CommittedSSRs,0)+ISNULL(eproject.PM_General_CostToComplete,0)) AS FinalCost,
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.ChangedBudget,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.ChangedBudget,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END) AS ChangedBudget,--Chd. Budget
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END) AS CostToComplete,--Cost.Comp
--((CASE WHEN (SELECT TOP 1 ISNULL(cost.ActualCost,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.ActualCost,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CommittedPRPO,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CommittedPRPO,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CommittedSSRs,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CommittedSSRs,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)+
--(CASE WHEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC) IS NOT NULL
--THEN (SELECT TOP 1 ISNULL(cost.CostToComplete,0) FROM dbo.Editor_CostReport AS cost WHERE cost.EProjectId=eproject.EProjectId ORDER BY cost.Monthly DESC)
--ELSE 0 END)) AS FinalCost,--Final Cost
eproject.ProjectControl_ProjectManager,--Proj. Manager
eproject.ProjectControl_ConstManager,--Const. Manager
eproject.ProjectControl_EMManager,
CONVERT(NVARCHAR(10),eproject.PM_MA_JobReveive,23) AS RECEIVES,--RECEIVE
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_Approval,23) AS ProjectControl_MS_Approval,--Appr Date(Sch)
CONVERT(NVARCHAR(10),eproject.PM_MA_ProjectApproval,23) AS PM_MA_ProjectApproval,--Appr Date(Act)
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_MC,23) AS ProjectControl_MS_MC,--MC (Plan)
CONVERT(NVARCHAR(10),eproject.CM_MA_MC,23) AS CM_MA_MC,--MC (Act)
CONVERT(NVARCHAR(10),eproject.ProjectControl_MS_Close,23) AS ProjectControl_MS_Close,--CLOSE(Sch)
CONVERT(NVARCHAR(10),eproject.ProjectControl_ClosedDate,23) AS CloseAct,--CLOSE(Act)
CONVERT(NVARCHAR(10),eproject.ProjectControl_PC_CancelDate,23) AS ProjectControl_PC_CancelDate,--Cancel Date
CONVERT(NVARCHAR(10),eproject.ProjectControl_BC_CloseDate,23) AS ProjectControl_BC_CloseDate,--B. Close
eproject.PM_General_Priority,--Priority
eproject.ProjectControl_JobStatus,--Job Status
eproject.PM_Critical,
(SELECT TOP 1 ConstText FROM dbo.Sys_Const WHERE ConstValue=eproject.PM_ReasonForCritical AND GroupId='ReasonForCritical') AS PM_ReasonForCritical,
(CASE WHEN DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd)>0
THEN (CASE WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))>0.1 THEN 'C'
WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))<=0.1 AND (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))>0.05 THEN 'B'
WHEN (DATEDIFF(DAY,eproject.ProjectControl_CM_SchEnd,eproject.CM_CM_RevisedEnd)/DATEDIFF(DAY,eproject.PM_MA_ProjectApproval,eproject.ProjectControl_CM_SchEnd))<=0.05 THEN 'A'
ELSE '' END)
ELSE ''END) AS Schedule,--Sche.
(CASE WHEN (SELECT TOP 1 OrginalBudget+ ChangedBudget FROM dbo.Editor_CostReport WHERE EProjectId= eproject.EProjectId ORDER BY Monthly DESC)>0
THEN (CASE WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)>0.1 THEN 'C'
WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)>0.05 AND (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)<=0.1 THEN 'B'
WHEN (SELECT TOP 1 (ActualCost+CommittedPRPO+CommittedSSRs+CostToComplete-OrginalBudget-ChangedBudget)/(OrginalBudget+ChangedBudget) FROM dbo.Editor_CostReport WHERE EProjectId=eproject.EProjectId ORDER BY Monthly DESC)<=0.05 THEN 'A' ELSE '' END)
ELSE '' END) AS Cost,--Cost
(CASE WHEN eproject.PM_SC_PendingQty>0 THEN 'C'
WHEN (eproject.PM_SC_PendingQty=0 OR eproject.PM_SC_PendingQty IS NULL) AND PM_SC_ApprovedQty>0 THEN 'B'
WHEN (eproject.PM_SC_ApprovedQty=0 OR eproject.PM_SC_ApprovedQty IS NULL) AND (eproject.PM_SC_PendingQty=0 OR eproject.PM_SC_PendingQty IS NULL) THEN 'A'
ELSE '' END) AS Scope,--Scope
eproject.ProjectControl_MOCFormNo,--MOC No.
eproject.ProjectControl_Account,--Account
ISNULL(eproject.ProjectControl_PVIPrediction,0) AS ProjectControl_PVIPrediction,--PVI Pre.
eproject.ProjectControl_CostEffectvitity,--Cost Eff.
eproject.ProjectControl_OperationRep,--Oper. Rep.
eproject.ProjectControl_CI_ProcessName,--Process Eng.
eproject.ProjectControl_CI_EquipmentName,--Equip. Eng.
eproject.ProjectControl_CI_InstrumentName,--Instr. Eng.
eproject.ProjectControl_CI_ElectricalName,--Elec. Eng.
eproject.ProjectControl_CI_CivilName,--Civil Eng.
eproject.PM_General_Category,--CATEGORY
eproject.PM_General_CDI,--PROJECT_CDI
CONVERT(NVARCHAR(10),(SELECT TOP 1 ReceiveHC FROM dbo.Editor_TDC WHERE [Type]='D01_IFC' AND Disc='00_ALL' AND EProjectId = eproject.EProjectId),23) AS IFC_Received,--IFC Received
CONVERT(NVARCHAR(10),(SELECT TOP 1 InputDate FROM dbo.Editor_TDC WHERE [Type]='D11_MC' AND Disc='00_ALL' AND EProjectId = eproject.EProjectId),23) AS MC_ReceivedDate,--MC Received Date
s.Detail_Eng_Civil_Sch_Start,--PROJ_DE_CIVIL_SCH_START_DATE
s.Detail_Eng_Civil_Sch_End,--PROJ_DE_CIVIL_SCH_END_DATE
s.PROJ_DE_CIVIL_ACU_START_DATE,--PROJ_DE_CIVIL_ACU_START_DATE
s.PROJ_DE_CIVIL_ACU_END_DATE,--PROJ_DE_CIVIL_ACU_END_DATE
s.Detail_Eng_Mech_EI_Sch_Start,--PROJ_DE_ME_SCH_START_DATE
s.PROJ_DE_ME_SCH_END_DATE,--PROJ_DE_ME_SCH_END_DATE
s.Detail_Eng_Mech_EI_Sch_End,--PROJ_DE_ME_ACU_START_DATE
s.PROJ_DE_ME_ACU_END_DATE, --PROJ_DE_ME_ACU_END_DATE
s.ProjectControl_LP_SchStart,--PROJ_DE_LLI_SCH_START_DATE
s.ProjectControl_LP_SchEnd,--PROJ_DE_LLI_SCH_END_DATE
s.PM_LLEP_RevisedStart,--PROJ_DE_LLI_ACU_START_DATE
s.PM_LLEP_RevisedEnd,--PROJ_DE_LLI_ACU_END_DATE
s.ProjectControl_CC_SchStart,--PROJ_CN_CIVIL_SCH_START_DATE
s.ProjectControl_CC_SchEnd,--PROJ_CN_CIVIL_SCH_END_DATE
s.CM_CC_RevisedStart,--PROJ_CN_CIVIL_ACU_START_DATE
s.CM_CC_RevisedEnd,--PROJ_CN_CIVIL_ACU_END_DATE
s.ProjectControl_CM_SchStart,--PROJ_CN_ME_SCH_START_DATE
s.ProjectControl_CM_SchEnd,--PROJ_CN_ME_SCH_END_DATE
s.CM_CM_RevisedStart,--PROJ_CN_ME_ACU_START_DATE
s.CM_CM_RevisedEnd,--PROJ_CN_ME_ACU_END_DATE
CONVERT(VARCHAR(10),eproject.CM_KickOffMetting,23) AS CM_KickOffMetting,
eproject.ProjectControl_Revised_MC_Date,--Revised MC Date
eproject.ProjectControl_Remarks, --Remarks
eproject.OutSourceType,
eproject.CM_Date_of_Registration,
eproject.CM_Punch_CKilledDate,
eproject.StudyWo,
eproject.CTEInvolved,
eproject.CAPEXPlanNo,
ISNULL(eproject.PM_SC_ApprovedQty,0) AS PM_SC_ApprovedQty,
ISNULL(eproject.PM_SC_ApprovedCost,0) AS PM_SC_ApprovedCost,
CONVERT(VARCHAR(10),eproject.PM_Planning_Approval,23) AS PM_Planning_Approval,
CONVERT(VARCHAR(10),eproject.PM_Pre_Approval,23) AS PM_Pre_Approval,
(CASE WHEN eproject.Job_Hold IS NOT NULL THEN CONVERT(VARCHAR(10),eproject.Job_Hold,23) ELSE 'N.A' END) AS Job_Hold
FROM dbo.Editor_EProject AS eproject
LEFT JOIN dbo.View_ScheduleDate s ON s.EProjectId = eproject.EProjectId
GO

View File

@ -0,0 +1,11 @@
UPDATE dbo.ManHours_Plan SET AccountDisabled=0
WHERE EProjectId IN
(SELECT EProjectId FROM dbo.Editor_EProject
WHERE ((ProjectControl_JobStatus='Cancelled' AND ProjectControl_PC_CancelDate IS NOT NULL AND DATEDIFF(DAY,ProjectControl_PC_CancelDate,GETDATE())<=31)
OR (ProjectControl_JobStatus='Hold' AND Job_Hold IS NOT NULL and DATEDIFF(DAY,Job_Hold,GETDATE())<=31)))
GO

View File

@ -97,6 +97,7 @@ namespace BLL
newEProject.ProjectControl_CM_SchEnd = eProject.ProjectControl_CM_SchEnd; newEProject.ProjectControl_CM_SchEnd = eProject.ProjectControl_CM_SchEnd;
newEProject.ProjectControl_CM_Progress = eProject.ProjectControl_CM_Progress; newEProject.ProjectControl_CM_Progress = eProject.ProjectControl_CM_Progress;
newEProject.ProjectControl_PC_CancelDate = eProject.ProjectControl_PC_CancelDate; newEProject.ProjectControl_PC_CancelDate = eProject.ProjectControl_PC_CancelDate;
newEProject.Job_Hold=eProject.Job_Hold;
newEProject.ProjectControl_ProjectManagerId = eProject.ProjectControl_ProjectManagerId; newEProject.ProjectControl_ProjectManagerId = eProject.ProjectControl_ProjectManagerId;
newEProject.ProjectControl_ConstManagerId = eProject.ProjectControl_ConstManagerId; newEProject.ProjectControl_ConstManagerId = eProject.ProjectControl_ConstManagerId;
newEProject.ProjectControl_EMManagerId = eProject.ProjectControl_EMManagerId; newEProject.ProjectControl_EMManagerId = eProject.ProjectControl_EMManagerId;
@ -193,6 +194,7 @@ namespace BLL
newEProject.ProjectControl_CM_SchEnd = eProject.ProjectControl_CM_SchEnd; newEProject.ProjectControl_CM_SchEnd = eProject.ProjectControl_CM_SchEnd;
newEProject.ProjectControl_CM_Progress = eProject.ProjectControl_CM_Progress; newEProject.ProjectControl_CM_Progress = eProject.ProjectControl_CM_Progress;
newEProject.ProjectControl_PC_CancelDate = eProject.ProjectControl_PC_CancelDate; newEProject.ProjectControl_PC_CancelDate = eProject.ProjectControl_PC_CancelDate;
newEProject.Job_Hold=eProject.Job_Hold;
newEProject.ProjectControl_ProjectManagerId = eProject.ProjectControl_ProjectManagerId; newEProject.ProjectControl_ProjectManagerId = eProject.ProjectControl_ProjectManagerId;
newEProject.ProjectControl_ConstManagerId = eProject.ProjectControl_ConstManagerId; newEProject.ProjectControl_ConstManagerId = eProject.ProjectControl_ConstManagerId;
newEProject.ProjectControl_EMManagerId = eProject.ProjectControl_EMManagerId; newEProject.ProjectControl_EMManagerId = eProject.ProjectControl_EMManagerId;
@ -207,6 +209,10 @@ namespace BLL
newEProject.StudyWo = eProject.StudyWo; newEProject.StudyWo = eProject.StudyWo;
newEProject.CreateDate = eProject.CreateDate; newEProject.CreateDate = eProject.CreateDate;
newEProject.CreatePerson = eProject.CreatePerson; newEProject.CreatePerson = eProject.CreatePerson;
if (eProject.ProjectControl_JobStatus != "Hold")
{
newEProject.Job_Hold =null;
}
try try
{ {
@ -357,7 +363,7 @@ namespace BLL
eproject.Job_Budget = ep.Job_Budget; eproject.Job_Budget = ep.Job_Budget;
eproject.Job_EHSReview_Files = ep.Job_EHSReview_Files; eproject.Job_EHSReview_Files = ep.Job_EHSReview_Files;
eproject.Job_Estimate_Worksheet = ep.Job_Estimate_Worksheet; eproject.Job_Estimate_Worksheet = ep.Job_Estimate_Worksheet;
eproject.Job_Hold = ep.Job_Hold; //eproject.Job_Hold = ep.Job_Hold;
eproject.Job_Plan_IFC = ep.Job_Plan_IFC; eproject.Job_Plan_IFC = ep.Job_Plan_IFC;
eproject.Job_TecoAlarm_Study = ep.Job_TecoAlarm_Study; eproject.Job_TecoAlarm_Study = ep.Job_TecoAlarm_Study;
eproject.Job_Delaybyteam1 = ep.Job_Delaybyteam1; eproject.Job_Delaybyteam1 = ep.Job_Delaybyteam1;
@ -402,6 +408,10 @@ namespace BLL
{ {
newEproject.ProjectControl_ClosedDate = eProject.ProjectControl_ClosedDate; newEproject.ProjectControl_ClosedDate = eProject.ProjectControl_ClosedDate;
newEproject.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus; newEproject.ProjectControl_JobStatus = eProject.ProjectControl_JobStatus;
if (eProject.ProjectControl_JobStatus != "Hold")
{
newEproject.Job_Hold = null;
}
Funs.DB.SubmitChanges(); Funs.DB.SubmitChanges();
} }
} }

View File

@ -197,9 +197,7 @@
<Items> <Items>
<f:DatePicker ID="txtPlan_IFC" Label="Plan IFC" runat="server" LabelWidth="170px"> <f:DatePicker ID="txtPlan_IFC" Label="Plan IFC" runat="server" LabelWidth="170px">
</f:DatePicker> </f:DatePicker>
<f:DatePicker ID="txtHold" Label="Hold" runat="server" <f:Label runat="server"></f:Label>
LabelWidth="170px">
</f:DatePicker>
<f:Label runat="server"></f:Label> <f:Label runat="server"></f:Label>
</Items> </Items>
</f:FormRow> </f:FormRow>

View File

@ -161,7 +161,7 @@ namespace FineUIPro.Web.EditorManage
txtBudget.Text = ep.Job_Budget == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Budget); txtBudget.Text = ep.Job_Budget == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Budget);
txtTecoAlarm_Study.Text = ep.Job_TecoAlarm_Study == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_TecoAlarm_Study); txtTecoAlarm_Study.Text = ep.Job_TecoAlarm_Study == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_TecoAlarm_Study);
txtPlan_IFC.Text = ep.Job_Plan_IFC == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Plan_IFC); txtPlan_IFC.Text = ep.Job_Plan_IFC == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Plan_IFC);
txtHold.Text = ep.Job_Hold == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Hold); //txtHold.Text = ep.Job_Hold == null ? "" : string.Format("{0:yyyy-MM-dd}", ep.Job_Hold);
if (!string.IsNullOrEmpty(ep.Job_Delaybyteam1)) if (!string.IsNullOrEmpty(ep.Job_Delaybyteam1))
{ {
@ -523,7 +523,7 @@ namespace FineUIPro.Web.EditorManage
eproject.Job_Budget = Funs.GetNewDateTime(this.txtBudget.Text.Trim()); eproject.Job_Budget = Funs.GetNewDateTime(this.txtBudget.Text.Trim());
eproject.Job_EHSReview_Files = Funs.GetNewDateTime(this.txtEHSReview_Files.Text.Trim()); eproject.Job_EHSReview_Files = Funs.GetNewDateTime(this.txtEHSReview_Files.Text.Trim());
eproject.Job_Estimate_Worksheet = Funs.GetNewDateTime(this.txtEstimate_Worksheet.Text.Trim()); eproject.Job_Estimate_Worksheet = Funs.GetNewDateTime(this.txtEstimate_Worksheet.Text.Trim());
eproject.Job_Hold = Funs.GetNewDateTime(this.txtHold.Text.Trim()); //eproject.Job_Hold = Funs.GetNewDateTime(this.txtHold.Text.Trim());
eproject.Job_Plan_IFC = Funs.GetNewDateTime(this.txtPlan_IFC.Text.Trim()); eproject.Job_Plan_IFC = Funs.GetNewDateTime(this.txtPlan_IFC.Text.Trim());
eproject.Job_TecoAlarm_Study = Funs.GetNewDateTime(this.txtTecoAlarm_Study.Text.Trim()); eproject.Job_TecoAlarm_Study = Funs.GetNewDateTime(this.txtTecoAlarm_Study.Text.Trim());
if (drpDelaybyteam1.SelectedValue != Const._Null) if (drpDelaybyteam1.SelectedValue != Const._Null)

View File

@ -7,10 +7,12 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.EditorManage { namespace FineUIPro.Web.EditorManage
{
public partial class PMEditorEdit { public partial class PMEditorEdit
{
/// <summary> /// <summary>
/// _form1 控件。 /// _form1 控件。
@ -498,15 +500,6 @@ namespace FineUIPro.Web.EditorManage {
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtPlan_IFC; protected global::FineUIPro.DatePicker txtPlan_IFC;
/// <summary>
/// txtHold 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtHold;
/// <summary> /// <summary>
/// drpDelaybyteam1 控件。 /// drpDelaybyteam1 控件。
/// </summary> /// </summary>

View File

@ -201,7 +201,7 @@
</f:GroupPanel> </f:GroupPanel>
<f:Panel runat="server" Layout="HBox" ShowHeader="false" ShowBorder="false"> <f:Panel runat="server" Layout="HBox" ShowHeader="false" ShowBorder="false">
<Items> <Items>
<f:GroupPanel ID="GroupPanel8" Title="Business Closure" runat="server" EnableCollapse="true" Width="400px"> <f:GroupPanel ID="GroupPanel8" Title="Business Closure" runat="server" EnableCollapse="true" Width="300px">
<Items> <Items>
<f:Form ID="Form9" ShowBorder="false" ShowHeader="false" AutoScroll="true" <f:Form ID="Form9" ShowBorder="false" ShowHeader="false" AutoScroll="true"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right"> runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
@ -217,7 +217,7 @@
</Items> </Items>
</f:GroupPanel> </f:GroupPanel>
<f:Label runat="server" Width="10px"></f:Label> <f:Label runat="server" Width="10px"></f:Label>
<f:GroupPanel ID="GroupPanel10" Title="Project Cancel" runat="server" EnableCollapse="true" Width="400px"> <f:GroupPanel ID="GroupPanel10" Title="Project Cancel" runat="server" EnableCollapse="true" Width="300px">
<Items> <Items>
<f:Form ID="Form10" ShowBorder="false" ShowHeader="false" AutoScroll="true" <f:Form ID="Form10" ShowBorder="false" ShowHeader="false" AutoScroll="true"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right"> runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
@ -225,7 +225,6 @@
<f:FormRow> <f:FormRow>
<Items> <Items>
<f:DatePicker ID="txtCancelDate" runat="server" Label="Cancel Date" LabelWidth="120px" ></f:DatePicker> <f:DatePicker ID="txtCancelDate" runat="server" Label="Cancel Date" LabelWidth="120px" ></f:DatePicker>
</Items> </Items>
</f:FormRow> </f:FormRow>
</Rows> </Rows>
@ -233,7 +232,22 @@
</Items> </Items>
</f:GroupPanel> </f:GroupPanel>
<f:Label runat="server" Width="10px"></f:Label> <f:Label runat="server" Width="10px"></f:Label>
<f:GroupPanel ID="GroupPanel9" runat="server" EnableCollapse="true" Width="400px"> <f:GroupPanel ID="GroupPanel11" Title="Project Hold" runat="server" EnableCollapse="true" Width="300px">
<Items>
<f:Form ID="Form13" ShowBorder="false" ShowHeader="false" AutoScroll="true"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DatePicker ID="txtHold" runat="server" Label="Hold Date" LabelWidth="120px"></f:DatePicker>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:GroupPanel>
<f:Label runat="server" Width="10px"></f:Label>
<f:GroupPanel ID="GroupPanel9" runat="server" EnableCollapse="true" Width="300px">
<Items> <Items>
<f:Form ID="Form11" ShowBorder="false" ShowHeader="false" AutoScroll="true" <f:Form ID="Form11" ShowBorder="false" ShowHeader="false" AutoScroll="true"
runat="server" RedStarPosition="BeforeText" LabelAlign="Right"> runat="server" RedStarPosition="BeforeText" LabelAlign="Right">

View File

@ -173,6 +173,7 @@ namespace FineUIPro.Web.EditorManage
this.txtBC_CloseDate.Text = eproject.ProjectControl_BC_CloseDate == null ? "" : string.Format("{0:yyyy-MM-dd}", eproject.ProjectControl_BC_CloseDate); 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); this.txtCancelDate.Text = eproject.ProjectControl_PC_CancelDate == null ? "" : string.Format("{0:yyyy-MM-dd}", eproject.ProjectControl_PC_CancelDate);
this.txtHold.Text = eproject.Job_Hold == null ? "" : string.Format("{0:yyyy-MM-dd}", eproject.Job_Hold);
this.txtCAPEXPlanNo.Text = eproject.CAPEXPlanNo; this.txtCAPEXPlanNo.Text = eproject.CAPEXPlanNo;
this.txtStudyWo.Text = eproject.StudyWo; this.txtStudyWo.Text = eproject.StudyWo;
this.drpCTEInvolved.SelectedValue = eproject.CTEInvolved; this.drpCTEInvolved.SelectedValue = eproject.CTEInvolved;
@ -541,6 +542,7 @@ namespace FineUIPro.Web.EditorManage
eProject.ProjectControl_MS_Approval = Funs.GetNewDateTime(this.txtMS_Approval.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_MC = Funs.GetNewDateTime(this.txtMS_MC.Text.Trim());
eProject.ProjectControl_MS_Close = Funs.GetNewDateTime(this.txtMS_Close.Text.Trim()); eProject.ProjectControl_MS_Close = Funs.GetNewDateTime(this.txtMS_Close.Text.Trim());
eProject.Job_Hold = Funs.GetNewDateTime(this.txtHold.Text.Trim());
eProject.PM_SC_ApprovedQty = Funs.GetNewInt(txtPM_SC_ApprovedQty.Text.Trim()); 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_ApprovedCost = Funs.GetNewDecimal(txtPM_SC_ApprovedCost.Text.Trim());
@ -679,6 +681,10 @@ namespace FineUIPro.Web.EditorManage
{ {
operationLog += "Cancel Date 由" + (pro.ProjectControl_PC_CancelDate == null ? "" : string.Format("{0:yyyy-MM-dd}", pro.ProjectControl_PC_CancelDate)) + "修改为" + 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() + "";
} }
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() + "";
}
if (pro.ProjectControl_MS_ResourcePlanReceived != Funs.GetNewDateTime(this.txtResourcePlanReceived.Text.Trim())) 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() + ""; operationLog += "Resource Plan Received 由" + (pro.ProjectControl_MS_ResourcePlanReceived == null ? "" : string.Format("{0:yyyy-MM-dd}", pro.ProjectControl_MS_ResourcePlanReceived)) + "修改为" + this.txtResourcePlanReceived.Text.Trim() + "";
@ -1030,6 +1036,11 @@ namespace FineUIPro.Web.EditorManage
{ {
eproject.ProjectControl_JobStatus = "Cancelled"; eproject.ProjectControl_JobStatus = "Cancelled";
} }
if (!string.IsNullOrEmpty(this.txtHold.Text))//Hold Date有输入时,状态为Hold
{
eproject.ProjectControl_JobStatus = "Hold";
}
if (pro.ProjectControl_JobStatus != eproject.ProjectControl_JobStatus) if (pro.ProjectControl_JobStatus != eproject.ProjectControl_JobStatus)
{ {
operationLog += "Job Status 由" + pro.ProjectControl_JobStatus + "修改为" + eproject.ProjectControl_JobStatus + ""; operationLog += "Job Status 由" + pro.ProjectControl_JobStatus + "修改为" + eproject.ProjectControl_JobStatus + "";
@ -1041,8 +1052,8 @@ namespace FineUIPro.Web.EditorManage
BLL.EProjectService.UpdateProjectJobStatus(eproject); BLL.EProjectService.UpdateProjectJobStatus(eproject);
// 当eproject状态为Cancelled或Hold时更新人工时状态 // 当eproject状态为Cancelled或Hold时更新人工时状态: 如日期不为空改为一个月后触发状态
if (eproject.ProjectControl_JobStatus == "Cancelled" || eproject.ProjectControl_JobStatus == "Hold") if ((eproject.ProjectControl_JobStatus == "Cancelled" && !eproject.ProjectControl_PC_CancelDate.HasValue) || (eproject.ProjectControl_JobStatus == "Hold" && !eproject.Job_Hold.HasValue))
{ {
var updatePlan = Funs.DB.ManHours_Plan.Where(x => x.EProjectId == eProject.EProjectId); var updatePlan = Funs.DB.ManHours_Plan.Where(x => x.EProjectId == eProject.EProjectId);
if (updatePlan != null) if (updatePlan != null)

View File

@ -7,10 +7,12 @@
// </自动生成> // </自动生成>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace FineUIPro.Web.EditorManage { namespace FineUIPro.Web.EditorManage
{
public partial class ProjectControlEditorEdit { public partial class ProjectControlEditorEdit
{
/// <summary> /// <summary>
/// form1 控件。 /// form1 控件。
@ -714,6 +716,33 @@ namespace FineUIPro.Web.EditorManage {
/// </remarks> /// </remarks>
protected global::FineUIPro.DatePicker txtCancelDate; protected global::FineUIPro.DatePicker txtCancelDate;
/// <summary>
/// GroupPanel11 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.GroupPanel GroupPanel11;
/// <summary>
/// Form13 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form13;
/// <summary>
/// txtHold 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtHold;
/// <summary> /// <summary>
/// GroupPanel9 控件。 /// GroupPanel9 控件。
/// </summary> /// </summary>

File diff suppressed because it is too large Load Diff

View File

@ -324,7 +324,7 @@
} }
#endregion #endregion
#region #region 1 2Cancelled或Hold也预留一个月
/// <summary> /// <summary>
/// 填写第二张资源时,第一张资源预留一个月的时候填写人工时 /// 填写第二张资源时,第一张资源预留一个月的时候填写人工时
/// </summary> /// </summary>
@ -352,6 +352,20 @@
} }
} }
} }
var epList=from x in Funs.DB.Editor_EProject
where (x.ProjectControl_PC_CancelDate.HasValue && x.ProjectControl_PC_CancelDate.Value.AddMonths(1) <= DateTime.Now && x.ProjectControl_PC_CancelDate.Value.AddMonths(2) >= DateTime.Now)
|| (x.Job_Hold.HasValue && x.Job_Hold.Value.AddMonths(1)<= DateTime.Now && x.Job_Hold.Value.AddMonths(2) >= DateTime.Now)
select x;
foreach (var ep in epList)
{
var manHours_Plan = Funs.DB.ManHours_Plan.FirstOrDefault(x => x.EProjectId == ep.EProjectId);
if (manHours_Plan != null)
{
manHours_Plan.AccountDisabled = 1;
Funs.DB.SubmitChanges();
}
}
} }
#endregion #endregion

View File

@ -55,9 +55,11 @@ namespace FineUIPro.Web.ManHours
string strSql = @"SELECT * from View_NewManHours_Plan string strSql = @"SELECT * from View_NewManHours_Plan
WHERE AccountDisabled=0 and IsCalculated=1 WHERE AccountDisabled=0 and IsCalculated=1
AND (ProjectControl_JobStatus='Detail Design' OR ProjectControl_JobStatus='In Construction' OR ProjectControl_JobStatus='In Procurement' AND (ProjectControl_JobStatus='Detail Design' OR ProjectControl_JobStatus='In Construction' OR ProjectControl_JobStatus='In Procurement'
OR ProjectControl_JobStatus='Study' OR ProjectControl_JobStatus='Not Start' OR ProjectControl_JobStatus='On Going' OR ProjectControl_JobStatus='Not Start' OR ProjectControl_JobStatus='On Going'
OR (ProjectControl_JobStatus='Cancelled' and datediff(MONTH,ProjectControl_PC_CancelDate,GETDATE())<=3) OR (ProjectControl_JobStatus='Cancelled' AND DATEDIFF(DAY,ProjectControl_PC_CancelDate,GETDATE())<=31)
OR (ProjectControl_JobStatus='MC' and datediff(MONTH,CM_MA_MC,GETDATE())<=4))"; OR (ProjectControl_JobStatus='MC' and DATEDIFF(MONTH,CM_MA_MC,GETDATE())<=4)
OR (ProjectControl_JobStatus='Study' and (DATEDIFF(DAY,PM_MA_ProjectApproval,GETDATE())<=31 OR PM_MA_ProjectApproval IS NULL))
OR (ProjectControl_JobStatus='Hold' and DATEDIFF(DAY,Job_Hold,GETDATE())<=31))";
// 暂不加 // 暂不加
// OR (AccountDisabled=1 AND (ProjectControl_JobType='Projects' OR ProjectControl_JobType='Small Invest') // OR (AccountDisabled=1 AND (ProjectControl_JobType='Projects' OR ProjectControl_JobType='Small Invest')
// AND(ProjectControl_NetworkDate IS NOT NULL AND DATEDIFF(DAY, ProjectControl_NetworkDate, GETDATE()) <= 30)) // AND(ProjectControl_NetworkDate IS NOT NULL AND DATEDIFF(DAY, ProjectControl_NetworkDate, GETDATE()) <= 30))

View File

@ -1380,6 +1380,9 @@ namespace FineUIPro.Web.Report
projectList.GetRow(rowIndex).GetCell(72).SetCellValue((DateTime)Convert.ToDateTime(itemOver.PM_Pre_Approval)); projectList.GetRow(rowIndex).GetCell(72).SetCellValue((DateTime)Convert.ToDateTime(itemOver.PM_Pre_Approval));
projectList.GetRow(rowIndex).GetCell(72).CellStyle = styleDate; projectList.GetRow(rowIndex).GetCell(72).CellStyle = styleDate;
} }
if (projectList.GetRow(rowIndex).GetCell(73) == null) projectList.GetRow(rowIndex).CreateCell(73);
projectList.GetRow(rowIndex).GetCell(73).SetCellValue(itemOver.Job_Hold);
projectList.GetRow(rowIndex).GetCell(73).CellStyle = styleQfw;
#endregion #endregion

View File

@ -283,7 +283,40 @@ namespace FineUIPro.Web.Report
reportModel.GetRow(rowIndex).GetCell(5).CellStyle = styleCenter; reportModel.GetRow(rowIndex).GetCell(5).CellStyle = styleCenter;
//Act. Type //Act. Type
if (reportModel.GetRow(rowIndex).GetCell(6) == null) reportModel.GetRow(rowIndex).CreateCell(6); if (reportModel.GetRow(rowIndex).GetCell(6) == null) reportModel.GetRow(rowIndex).CreateCell(6);
if (table.Rows[i]["Type"].ToString().Contains("T01_OverTime"))
{
string actType = table.Rows[i]["ActType"].ToString();
if (actType.Contains("2"))
{
string actStr = actType + "1";
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(actStr);
}
}
else if (table.Rows[i]["Type"].ToString().Contains("T02_OverTime"))
{
string actType = table.Rows[i]["ActType"].ToString();
if (actType.Contains("2"))
{
string actStr = actType + "2";
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(actStr);
}
}
else if (table.Rows[i]["Type"].ToString().Contains("T03_OverTime"))
{
string actType = table.Rows[i]["ActType"].ToString();
if (actType.Contains("2"))
{
string actStr = actType + "3";
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(actStr);
}
}
else
{
reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(table.Rows[i]["ActType"].ToString()); reportModel.GetRow(rowIndex).GetCell(6).SetCellValue(table.Rows[i]["ActType"].ToString());
}
reportModel.GetRow(rowIndex).GetCell(6).CellStyle = styleCenter; reportModel.GetRow(rowIndex).GetCell(6).CellStyle = styleCenter;
//Hours //Hours
if (!string.IsNullOrEmpty(table.Rows[i]["Hours"].ToString())) if (!string.IsNullOrEmpty(table.Rows[i]["Hours"].ToString()))

View File

@ -769,13 +769,18 @@ namespace FineUIPro.Web.common
if (row["AccountDisabled"].ToString() != string.Empty) if (row["AccountDisabled"].ToString() != string.Empty)
{ {
bool validity = Convert.ToBoolean(row["AccountDisabled"]); bool validity = Convert.ToBoolean(row["AccountDisabled"]);
string state = string.Empty; //string state = string.Empty;
if (row["ProjectControl_JobStatus"] != null && row["ProjectControl_JobStatus"].ToString() != "") //if (row["ProjectControl_JobStatus"] != null && row["ProjectControl_JobStatus"].ToString() != "")
{ //{
state = row["ProjectControl_JobStatus"].ToString(); // state = row["ProjectControl_JobStatus"].ToString();
} //}
string eprojectId= row["EProjectId"].ToString();
if (validity || state== "Cancelled" || state== "Hold") var ep = from x in Funs.DB.Editor_EProject
where x.EProjectId==eprojectId &&
((x.ProjectControl_PC_CancelDate.HasValue && x.ProjectControl_PC_CancelDate.Value.AddMonths(1) <= DateTime.Now)
|| (x.Job_Hold.HasValue && x.Job_Hold.Value.AddMonths(1) <= DateTime.Now))
select x;
if (validity || ep.Count()>0)
{ {
e.RowCssClass = "color1"; e.RowCssClass = "color1";
} }

View File

@ -26917,6 +26917,10 @@ namespace Model
private System.Nullable<System.DateTime> _CM_MA_MC; private System.Nullable<System.DateTime> _CM_MA_MC;
private System.Nullable<System.DateTime> _Job_Hold;
private System.Nullable<System.DateTime> _PM_MA_ProjectApproval;
private string _EngineerName; private string _EngineerName;
private string _DepartId; private string _DepartId;
@ -27223,6 +27227,38 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Job_Hold", DbType="DateTime")]
public System.Nullable<System.DateTime> Job_Hold
{
get
{
return this._Job_Hold;
}
set
{
if ((this._Job_Hold != value))
{
this._Job_Hold = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PM_MA_ProjectApproval", DbType="DateTime")]
public System.Nullable<System.DateTime> PM_MA_ProjectApproval
{
get
{
return this._PM_MA_ProjectApproval;
}
set
{
if ((this._PM_MA_ProjectApproval != value))
{
this._PM_MA_ProjectApproval = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EngineerName", DbType="NVarChar(20)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_EngineerName", DbType="NVarChar(20)")]
public string EngineerName public string EngineerName
{ {
@ -27843,6 +27879,8 @@ namespace Model
private string _PM_Pre_Approval; private string _PM_Pre_Approval;
private string _Job_Hold;
public View_ProjectListReport() public View_ProjectListReport()
{ {
} }
@ -29062,6 +29100,22 @@ namespace Model
} }
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Job_Hold", DbType="VarChar(10)")]
public string Job_Hold
{
get
{
return this._Job_Hold;
}
set
{
if ((this._Job_Hold != value))
{
this._Job_Hold = value;
}
}
}
} }
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Punch")] [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Punch")]