修改进度模块

This commit is contained in:
2023-08-25 11:03:03 +08:00
parent 2804d7c4df
commit 112e97ae43
17 changed files with 2615 additions and 3 deletions
@@ -0,0 +1,151 @@
CREATE TABLE [dbo].[WBS_WorkPackageDetail](
[WorkPackageDetailId] [nvarchar](50) NOT NULL,
[WorkPackageId] [nvarchar](50) NULL,
[Months] [datetime] NULL,
[PlanNum] [decimal](9, 2) NULL,
[ThisNum] [decimal](9, 2) NULL,
CONSTRAINT [PK_WBS_WorkPackageDetail] PRIMARY KEY CLUSTERED
(
[WorkPackageDetailId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[WBS_WorkPackageDetail] WITH CHECK ADD CONSTRAINT [FK_WBS_WorkPackageDetail_WBS_WorkPackage] FOREIGN KEY([WorkPackageId])
REFERENCES [dbo].[WBS_WorkPackage] ([WorkPackageId])
GO
ALTER TABLE [dbo].[WBS_WorkPackageDetail] CHECK CONSTRAINT [FK_WBS_WorkPackageDetail_WBS_WorkPackage]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail', @level2type=N'COLUMN',@level2name=N'WorkPackageDetailId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail', @level2type=N'COLUMN',@level2name=N'WorkPackageId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月份' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail', @level2type=N'COLUMN',@level2name=N'Months'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'概算工程量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail', @level2type=N'COLUMN',@level2name=N'PlanNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实际工程量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail', @level2type=N'COLUMN',@level2name=N'ThisNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分部分项明细表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageDetail'
GO
CREATE VIEW [dbo].[View_WBS_WorkPackageDetail]
AS
/********控制项明细********/
SELECT detail.WorkPackageDetailId,
detail.WorkPackageId,
detail.Months,
c.WorkPackageCode,
c.PackageContent,
c.ProjectId,
c.Unit, --单位
c.PlanProjectQuantity, --概算工作量
c.RealProjectQuantity, --实际工程量
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成量
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageDetail where WorkPackageId=detail.WorkPackageId and Months<=detail.Months)) as TotalThisNum, --累计完成量
CONVERT(FLOAT,(select sum(ISNULL(d.PlanNum,0)) from WBS_WorkPackageDetail d
where d.WorkPackageId=detail.WorkPackageId and Months=detail.Months)) as PlanNum, --本月计划完成量
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)) from WBS_WorkPackageDetail d
where d.WorkPackageId=detail.WorkPackageId and Months=detail.Months)) as ThisNum --本月完成量
FROM dbo.WBS_WorkPackageDetail AS detail
LEFT JOIN WBS_WorkPackage AS c ON c.WorkPackageId=detail.WorkPackageId
GO
CREATE TABLE [dbo].[WBS_WorkPackageParentDetail](
[WorkPackageParentDetailId] [nvarchar](50) NOT NULL,
[ParentId] [nvarchar](50) NULL,
[ProjectId] [nvarchar](50) NULL,
[Months] [datetime] NULL,
[PlanNum] [decimal](9, 2) NULL,
[ThisNum] [decimal](9, 2) NULL,
CONSTRAINT [PK_WBS_WorkPackageParentDetail] PRIMARY KEY CLUSTERED
(
[WorkPackageParentDetailId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'WorkPackageParentDetailId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'外键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'ParentId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'ProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月份' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'Months'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'概算工程量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'PlanNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实际工程量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail', @level2type=N'COLUMN',@level2name=N'ThisNum'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分部分项父级明细表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'WBS_WorkPackageParentDetail'
GO
CREATE VIEW [dbo].[View_WBS_WorkPackageParentDetail]
AS
/********控制项父级明细********/
SELECT detail.WorkPackageParentDetailId,
detail.ParentId,
detail.ProjectId,
detail.Months,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months=detail.Months)) as PlanNum, --本月计划完成预算
CONVERT(FLOAT,(select sum(ISNULL(d.ThisNum,0)) from WBS_WorkPackageParentDetail d
where d.ParentId=detail.ParentId and Months=detail.Months)) as ThisNum, --本月实际完成预算
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalPlanNum, --累计计划完成预算
CONVERT(FLOAT,(select sum(ISNULL(ThisNum,0)) from WBS_WorkPackageParentDetail
where ParentId=detail.ParentId and Months<=detail.Months)) as TotalThisNum --累计完成预算
FROM dbo.WBS_WorkPackageParentDetail AS detail
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('B479EC55-E12A-4F91-AF3F-864DAAA136FB','进度完成情况录入','JDGL/Check/CompleteInput.aspx',20,'0','Menu_JDGL',0,1,1)
GO
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('22724257-9FC3-4CE2-864C-8740F1F77F99','B479EC55-E12A-4F91-AF3F-864DAAA136FB','保存',4)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('F0E296C3-6499-43E5-88CD-E00C5180D3BC','赢得值曲线','JDGL/Check/EarnedValueCurve.aspx',30,'0','Menu_JDGL',0,1,1)
GO
@@ -61,3 +61,13 @@ INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('F5055103-6182-43E0-93EC-7DD7BEF2B71C','E23F0879-3E9F-4E7B-9A2D-EFF34798D629','保存',4) VALUES('F5055103-6182-43E0-93EC-7DD7BEF2B71C','E23F0879-3E9F-4E7B-9A2D-EFF34798D629','保存',4)
GO GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('B479EC55-E12A-4F91-AF3F-864DAAA136FB','进度完成情况录入','JDGL/Check/CompleteInput.aspx',20,'0','Menu_JDGL',0,1,1)
GO
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('22724257-9FC3-4CE2-864C-8740F1F77F99','B479EC55-E12A-4F91-AF3F-864DAAA136FB','保存',4)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('F0E296C3-6499-43E5-88CD-E00C5180D3BC','赢得值曲线','JDGL/Check/EarnedValueCurve.aspx',30,'0','Menu_JDGL',0,1,1)
GO
+3
View File
@@ -31,6 +31,7 @@
<ErrorReport>prompt</ErrorReport> <ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit> <Prefer32Bit>false</Prefer32Bit>
<LangVersion>latest</LangVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType> <DebugType>pdbonly</DebugType>
@@ -332,7 +333,9 @@
<Compile Include="CQMS\WBS\ControlItemInitService.cs" /> <Compile Include="CQMS\WBS\ControlItemInitService.cs" />
<Compile Include="CQMS\WBS\ControlItemProjectService.cs" /> <Compile Include="CQMS\WBS\ControlItemProjectService.cs" />
<Compile Include="CQMS\WBS\WBSsearchService.cs" /> <Compile Include="CQMS\WBS\WBSsearchService.cs" />
<Compile Include="CQMS\WBS\WorkPackageDetailService.cs" />
<Compile Include="CQMS\WBS\WorkPackageInitService.cs" /> <Compile Include="CQMS\WBS\WorkPackageInitService.cs" />
<Compile Include="CQMS\WBS\WorkPackageParentDetailService.cs" />
<Compile Include="CQMS\WBS\WorkPackageProjectService.cs" /> <Compile Include="CQMS\WBS\WorkPackageProjectService.cs" />
<Compile Include="CQMS\WBS\WorkPackageService.cs" /> <Compile Include="CQMS\WBS\WorkPackageService.cs" />
<Compile Include="DigData\ProblemAnalysisService.cs" /> <Compile Include="DigData\ProblemAnalysisService.cs" />
@@ -0,0 +1,194 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
namespace BLL
{
public class WorkPackageDetailService
{
/// <summary>
/// 根据Id获取一个费控项明细信息
/// </summary>
/// <param name="WorkPackageDetailId">费控项明细Id</param>
public static Model.WBS_WorkPackageDetail GetWorkPackageDetailByWorkPackageDetailId(string WorkPackageDetailId)
{
return Funs.DB.WBS_WorkPackageDetail.FirstOrDefault(e => e.WorkPackageDetailId == WorkPackageDetailId);
}
/// <summary>
/// 根据WorkPackageId判断是否存在费控项明细信息
/// </summary>
/// <param name="WorkPackageId">WorkPackageId</param>
public static bool IsExitWorkPackageDetailByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x).Count() > 0;
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageDetail GetWorkPackageDetailByWorkPackageIdAndMonths(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细视图信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageDetail GetWorkPackageDetailViewByWorkPackageIdAndMonths(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageId和年及月获取对应费控项明细信息
/// </summary>
/// <param name="WorkPackageId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageDetail GetViewWorkPackageDetailByWorkPackageIdAndMonth(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months == months select x).FirstOrDefault();
}
public static Model.WBS_WorkPackageDetail GetWBS_WorkPackageDetailByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x).FirstOrDefault();
}
/// <summary>
///
/// </summary>
/// <param name="WorkPackageId"></param>
/// <param name="toFlag"></param>
/// <param name="months"></param>
/// <returns></returns>
public static bool IsExitWeekWorkPackageDetailByWorkPackageIdAndMonth(string WorkPackageId, DateTime months)
{
bool result = false;
var q = Funs.DB.WBS_WorkPackageDetail.FirstOrDefault(e => e.WorkPackageId == WorkPackageId && e.Months == months);
if (q != null)
{
result = true;
}
return result;
}
/// <summary>
/// 根据年及月获取之前月份的对应费控项明细信息集合(含当月)
/// </summary>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static List<Model.WBS_WorkPackageDetail> GetTotalWBS_WorkPackageDetailsByYearMonth2(string WorkPackageId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId && x.Months <= months select x).ToList();
}
/// <summary>
/// 根据WorkPackageId月获取所有月份的对应费控项明细信息集合
/// </summary>
/// <param name="WorkPackageId">WorkPackageId</param>
public static List<Model.WBS_WorkPackageDetail> GetMonthWorkPackageDetailsByWorkPackageId(string WorkPackageId)
{
return (from x in Funs.DB.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId orderby x.Months select x).ToList();
}
/// <summary>
/// 增加费控项明细
/// </summary>
/// <param name="user">费控项明细</param>
public static void AddWorkPackageDetail(Model.WBS_WorkPackageDetail WorkPackageDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail newWBS_WorkPackageDetail = new Model.WBS_WorkPackageDetail();
newWBS_WorkPackageDetail.WorkPackageDetailId = WorkPackageDetail.WorkPackageDetailId;
newWBS_WorkPackageDetail.WorkPackageId = WorkPackageDetail.WorkPackageId;
newWBS_WorkPackageDetail.Months = WorkPackageDetail.Months;
if (WorkPackageDetail.PlanNum == 0)
{
newWBS_WorkPackageDetail.PlanNum = null;
}
else
{
newWBS_WorkPackageDetail.PlanNum = WorkPackageDetail.PlanNum;
}
if (WorkPackageDetail.ThisNum == 0)
{
newWBS_WorkPackageDetail.ThisNum = null;
}
else
{
newWBS_WorkPackageDetail.ThisNum = WorkPackageDetail.ThisNum;
}
db.WBS_WorkPackageDetail.InsertOnSubmit(newWBS_WorkPackageDetail);
db.SubmitChanges();
}
/// <summary>
/// 修改费控项明细
/// </summary>
/// <param name="user">费控项明细</param>
public static void UpdateWorkPackageDetail(Model.WBS_WorkPackageDetail WorkPackageDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail newWBS_WorkPackageDetail = db.WBS_WorkPackageDetail.First(e => e.WorkPackageDetailId == WorkPackageDetail.WorkPackageDetailId);
if (WorkPackageDetail.PlanNum == 0)
{
newWBS_WorkPackageDetail.PlanNum = null;
}
else
{
newWBS_WorkPackageDetail.PlanNum = WorkPackageDetail.PlanNum;
}
if (WorkPackageDetail.ThisNum == 0)
{
newWBS_WorkPackageDetail.ThisNum = null;
}
else
{
newWBS_WorkPackageDetail.ThisNum = WorkPackageDetail.ThisNum;
}
db.SubmitChanges();
}
/// <summary>
/// 根据Id删除费控项明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWorkPackageDetail(string WorkPackageDetailId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageDetail ins = db.WBS_WorkPackageDetail.First(e => e.WorkPackageDetailId == WorkPackageDetailId);
db.WBS_WorkPackageDetail.DeleteOnSubmit(ins);
db.SubmitChanges();
}
/// <summary>
/// 根据WorkPackageId删除费控项明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWorkPackageDetailByWorkPackageId(string WorkPackageId)
{
Model.SGGLDB db = Funs.DB;
var details = from x in db.WBS_WorkPackageDetail where x.WorkPackageId == WorkPackageId select x;
if (details.Count() > 0)
{
db.WBS_WorkPackageDetail.DeleteAllOnSubmit(details);
db.SubmitChanges();
}
}
}
}
@@ -0,0 +1,157 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class WorkPackageParentDetailService
{
/// <summary>
/// 根据Id获取一个费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentDetailId">费控项父级明细Id</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByWorkPackageParentDetailId(string WorkPackageParentDetailId)
{
return Funs.DB.WBS_WorkPackageParentDetail.FirstOrDefault(e => e.WorkPackageParentDetailId == WorkPackageParentDetailId);
}
/// <summary>
/// 根据ParentId判断是否存在费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">WorkPackageParentId</param>
public static bool IsExitWorkPackageParentDetailByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId select x).Count() > 0;
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应月费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentIdAndMonths(string parentId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应月费控项父级明细信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentIdAndMonths(string parentId, string projectId, DateTime months)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId && x.ProjectId == projectId && x.Months == months select x).FirstOrDefault();
}
/// <summary>
/// 根据WorkPackageParentId和年及月获取对应费控项父级明细视图信息
/// </summary>
/// <param name="WorkPackageParentId">对应wbsId</param>
/// <param name="toFlag">对应标志</param>
/// <param name="years">年</param>
/// <param name="months">月</param>
public static Model.View_WBS_WorkPackageParentDetail GetWorkPackageParentDetailViewByParentIdAndMonths(string parentId, DateTime months)
{
return (from x in Funs.DB.View_WBS_WorkPackageParentDetail where x.ParentId == parentId && x.Months == months select x).FirstOrDefault();
}
public static Model.WBS_WorkPackageParentDetail GetWorkPackageParentDetailByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId select x).FirstOrDefault();
}
/// <summary>
///
/// </summary>
/// <param name="WorkPackageParentId"></param>
/// <param name="toFlag"></param>
/// <param name="months"></param>
/// <returns></returns>
public static bool IsExitWBS_WorkPackageParentDetailByParentIdOrMonth(string parentId, DateTime months)
{
bool result = false;
var q = Funs.DB.WBS_WorkPackageParentDetail.FirstOrDefault(e => e.ParentId == parentId && e.Months == months);
if (q != null)
{
result = true;
}
return result;
}
/// <summary>
/// 根据WorkPackageParentId月获取所有月份的对应费控项父级明细信息集合
/// </summary>
/// <param name="WorkPackageParentId">WorkPackageParentId</param>
public static List<Model.WBS_WorkPackageParentDetail> GetTotalWorkPackageParentDetailsByParentId(string parentId)
{
return (from x in Funs.DB.WBS_WorkPackageParentDetail where x.ParentId == parentId orderby x.Months select x).ToList();
}
/// <summary>
/// 增加费控项父级明细
/// </summary>
/// <param name="user">费控项父级明细</param>
public static void AddWorkPackageParentDetail(Model.WBS_WorkPackageParentDetail WorkPackageParentDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail newWBS_WorkPackageParentDetail = new Model.WBS_WorkPackageParentDetail();
newWBS_WorkPackageParentDetail.WorkPackageParentDetailId = WorkPackageParentDetail.WorkPackageParentDetailId;
newWBS_WorkPackageParentDetail.ParentId = WorkPackageParentDetail.ParentId;
newWBS_WorkPackageParentDetail.ProjectId = WorkPackageParentDetail.ProjectId;
newWBS_WorkPackageParentDetail.Months = WorkPackageParentDetail.Months;
newWBS_WorkPackageParentDetail.PlanNum = WorkPackageParentDetail.PlanNum;
newWBS_WorkPackageParentDetail.ThisNum = WorkPackageParentDetail.ThisNum;
db.WBS_WorkPackageParentDetail.InsertOnSubmit(newWBS_WorkPackageParentDetail);
db.SubmitChanges();
}
/// <summary>
/// 修改费控项父级明细
/// </summary>
/// <param name="user">费控项父级明细</param>
public static void UpdateWorkPackageParentDetail(Model.WBS_WorkPackageParentDetail WorkPackageParentDetail)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail newWBS_WorkPackageParentDetail = db.WBS_WorkPackageParentDetail.First(e => e.WorkPackageParentDetailId == WorkPackageParentDetail.WorkPackageParentDetailId);
newWBS_WorkPackageParentDetail.PlanNum = WorkPackageParentDetail.PlanNum;
newWBS_WorkPackageParentDetail.ThisNum = WorkPackageParentDetail.ThisNum;
db.SubmitChanges();
}
/// <summary>
/// 根据Id删除费控项父级明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWBS_WorkPackageParentDetail(string WorkPackageParentDetailId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageParentDetail ins = db.WBS_WorkPackageParentDetail.First(e => e.WorkPackageParentDetailId == WorkPackageParentDetailId);
db.WBS_WorkPackageParentDetail.DeleteOnSubmit(ins);
db.SubmitChanges();
}
/// <summary>
/// 根据WorkPackageParentId删除费控项父级明细信息
/// </summary>
/// <param name="userId"></param>
public static void DeleteWBS_WorkPackageParentDetailByWorkPackageParentId(string parentId)
{
Model.SGGLDB db = Funs.DB;
var details = from x in db.WBS_WorkPackageParentDetail where x.ParentId == parentId select x;
if (details.Count() > 0)
{
db.WBS_WorkPackageParentDetail.DeleteAllOnSubmit(details);
db.SubmitChanges();
}
}
}
}
+38
View File
@@ -251,8 +251,28 @@ namespace BLL
{ {
IQueryable<Model.WBS_WorkPackage> workPackages = from x in db.WBS_WorkPackage where x.ProjectId == projectId select x; IQueryable<Model.WBS_WorkPackage> workPackages = from x in db.WBS_WorkPackage where x.ProjectId == projectId select x;
IQueryable<Model.WBS_UnitWork> unitWorks = from x in db.WBS_UnitWork where x.ProjectId == projectId select x; IQueryable<Model.WBS_UnitWork> unitWorks = from x in db.WBS_UnitWork where x.ProjectId == projectId select x;
IQueryable<Model.View_WBS_WorkPackageDetail> getDetails = from x in db.View_WBS_WorkPackageDetail where x.ProjectId == projectId select x;
List<Model.View_WBS> getWBSs = (from x in db.View_WBS where x.ProjectId == projectId select x).ToList(); List<Model.View_WBS> getWBSs = (from x in db.View_WBS where x.ProjectId == projectId select x).ToList();
List<Model.View_WBS> WBSList = new List<Model.View_WBS>(); List<Model.View_WBS> WBSList = new List<Model.View_WBS>();
DateTime startDate, endDate, startMonth, endMonth;
List<DateTime> months = new List<DateTime>();
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (project.StartDate != null)
{
startDate = Convert.ToDateTime(project.StartDate);
endDate = DateTime.Now;
if (project.EndDate != null)
{
endDate = Convert.ToDateTime(project.EndDate);
}
startMonth = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01");
endMonth = Convert.ToDateTime(endDate.Year + "-" + endDate.Month + "-01");
do
{
months.Add(startMonth);
startMonth = startMonth.AddMonths(1);
} while (startMonth <= endMonth);
}
DataTable table = new DataTable(); DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Id", typeof(String))); table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("SupId", typeof(String))); table.Columns.Add(new DataColumn("SupId", typeof(String)));
@@ -272,6 +292,11 @@ namespace BLL
table.Columns.Add(new DataColumn("PlanCost", typeof(String))); table.Columns.Add(new DataColumn("PlanCost", typeof(String)));
table.Columns.Add(new DataColumn("PreWorkCode", typeof(String))); table.Columns.Add(new DataColumn("PreWorkCode", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String))); table.Columns.Add(new DataColumn("Code", typeof(String)));
for (int i = 0; i < months.Count; i++)
{
table.Columns.Add(new DataColumn("PlanNum" + (i + 1).ToString(), typeof(String)));
table.Columns.Add(new DataColumn("ThisNum" + (i + 1).ToString(), typeof(String)));
}
if (getWBSs.Count() > 0) if (getWBSs.Count() > 0)
{ {
List<Model.View_WBS> newList = new List<Model.View_WBS>(); List<Model.View_WBS> newList = new List<Model.View_WBS>();
@@ -347,6 +372,19 @@ namespace BLL
row[15] = decimal.Round(Convert.ToDecimal(workPackage.PlanCost), 2); row[15] = decimal.Round(Convert.ToDecimal(workPackage.PlanCost), 2);
} }
row[16] = workPackage.PreWorkCode; row[16] = workPackage.PreWorkCode;
var details = getDetails.Where(x => x.WorkPackageId == item.Id).ToList();
foreach (var item1 in details)
{
var index = months.FindIndex(x => x.Equals(item1.Months));
if (item1.PlanNum != 0)
{
row[18 + index * 2] = decimal.Round(Convert.ToDecimal(item1.PlanNum), 2);
}
if (item1.ThisNum != 0)
{
row[19 + index * 2] = decimal.Round(Convert.ToDecimal(item1.ThisNum), 2);
}
}
} }
} }
} }
@@ -258,5 +258,114 @@ namespace Web.Controls
Controls.Add(chart1); Controls.Add(chart1);
} }
/// <summary>
/// 创建自定义Chart图形
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="width">宽度</param>
/// <param name="height">高度</param>
public void CreateMaryChartJD(DataTable dt, int width, int height, string projectShortName)
{
Chart chart1 = new Chart();
chart1.ID = "chart1";
chart1.BackColor = Color.WhiteSmoke;
chart1.ImageLocation = "~/Images/ChartPic_#SEQ(300,3)";
chart1.BorderlineDashStyle = ChartDashStyle.Solid;
chart1.Palette = ChartColorPalette.BrightPastel;
chart1.BackSecondaryColor = Color.White;
chart1.BackGradientStyle = GradientStyle.TopBottom;
chart1.BorderWidth = 2;
chart1.BorderColor = Color.FromArgb(26, 59, 105);
chart1.ImageType = ChartImageType.Png;
chart1.Width = width;
chart1.Height = height;
Title title = new Title();
title.Text = "赢得值曲线";
if (!string.IsNullOrEmpty(projectShortName))
{
title.Text = projectShortName + "赢得值曲线";
}
title.Text = BLL.Funs.GetSubStr(title.Text, 30);
title.ToolTip = title.Text;
title.ShadowColor = Color.FromArgb(32, 0, 0, 0);
title.Font = new Font("Trebuchet MS", 10F, FontStyle.Bold);
title.ShadowOffset = 3;
title.ForeColor = Color.FromArgb(26, 59, 105);
chart1.Titles.Add(title);
Legend legend1 = new Legend();
legend1.TextWrapThreshold = 1;
legend1.Docking = Docking.Right;
legend1.Alignment = StringAlignment.Center;
legend1.BackColor = Color.Transparent;
legend1.Font = new Font(new FontFamily("Trebuchet MS"), 8);
legend1.LegendStyle = LegendStyle.Column;
legend1.IsEquallySpacedItems = true;
legend1.IsTextAutoFit = false;
chart1.Legends.Add(legend1);
ChartArea chartArea = new ChartArea();
chartArea.BackColor = Color.Transparent;
chartArea.AxisX.IsLabelAutoFit = false;
chartArea.AxisY.IsLabelAutoFit = false;
chartArea.AxisX.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
chartArea.AxisY.LabelStyle.Font = new Font("Verdana,Arial,Helvetica,sans-serif", 8F, FontStyle.Regular);
//chartArea.AxisY.LabelStyle.Format = "#(万元)";
chartArea.AxisY.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisY.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.MajorGrid.LineColor = Color.FromArgb(64, 64, 64, 64);
chartArea.AxisX.Interval = 1;
chartArea.Area3DStyle.Enable3D = false;
chart1.ChartAreas.Add(chartArea);
chart1.Series.Add("本月概算工程量");
chart1.Series.Add("本月实际工程量");
chart1.Series.Add("累计概算工程量");
chart1.Series.Add("累计实际工程量");
DataView dv = dt.DefaultView;
chart1.Series["本月概算工程量"].Points.DataBindXY(dv, "月份", dv, "本月概算工程量");
chart1.Series["本月概算工程量"].ChartType = SeriesChartType.Column;
for (int i = 0; i < chart1.Series["本月概算工程量"].Points.Count; i++)
{
chart1.Series["本月概算工程量"].Points[i].ToolTip = "本月概算工程量\n#VALX\n#VALY";
}
chart1.Series["本月实际工程量"].Points.DataBindXY(dv, "月份", dv, "本月实际工程量");
chart1.Series["本月实际工程量"].ChartType = SeriesChartType.Column;
for (int i = 0; i < chart1.Series["本月实际工程量"].Points.Count; i++)
{
chart1.Series["本月实际工程量"].Points[i].ToolTip = "本月实际工程量\n#VALX\n#VALY";
}
chart1.Series["累计概算工程量"].Points.DataBindXY(dv, "月份", dv, "累计概算工程量");
chart1.Series["累计概算工程量"].ChartType = SeriesChartType.Spline;
chart1.Series["累计概算工程量"].Color = Color.MediumSeaGreen;
chart1.Series["累计概算工程量"].BorderWidth = 2;
for (int i = 0; i < chart1.Series["累计概算工程量"].Points.Count; i++)
{
chart1.Series["累计概算工程量"].Points[i].ToolTip = "累计概算工程量\n#VALX\n#VALY";
}
chart1.Series["累计实际工程量"].Points.DataBindXY(dv, "月份", dv, "累计实际工程量");
chart1.Series["累计实际工程量"].ChartType = SeriesChartType.Spline;
chart1.Series["累计实际工程量"].Color = Color.Red;
chart1.Series["累计实际工程量"].BorderWidth = 2;
for (int i = 0; i < chart1.Series["累计实际工程量"].Points.Count; i++)
{
chart1.Series["累计实际工程量"].Points[i].ToolTip = "累计实际工程量\n#VALX\n#VALY";
}
Controls.Add(chart1);
}
} }
} }
+17
View File
@@ -1126,6 +1126,8 @@
<Content Include="indexProject.aspx" /> <Content Include="indexProject.aspx" />
<Content Include="font\iconfont.svg" /> <Content Include="font\iconfont.svg" />
<Content Include="index.aspx" /> <Content Include="index.aspx" />
<Content Include="JDGL\Check\CompleteInput.aspx" />
<Content Include="JDGL\Check\EarnedValueCurve.aspx" />
<Content Include="JDGL\Check\PlanSet.aspx" /> <Content Include="JDGL\Check\PlanSet.aspx" />
<Content Include="JDGL\Check\ProgressShow.aspx" /> <Content Include="JDGL\Check\ProgressShow.aspx" />
<Content Include="JDGL\Check\ProgressStatistics.aspx" /> <Content Include="JDGL\Check\ProgressStatistics.aspx" />
@@ -7666,6 +7668,7 @@
</Compile> </Compile>
<Compile Include="HJGL\BaseInfo\Defect.aspx.cs"> <Compile Include="HJGL\BaseInfo\Defect.aspx.cs">
<DependentUpon>Defect.aspx</DependentUpon> <DependentUpon>Defect.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile> </Compile>
<Compile Include="HJGL\BaseInfo\Defect.aspx.designer.cs"> <Compile Include="HJGL\BaseInfo\Defect.aspx.designer.cs">
<DependentUpon>Defect.aspx</DependentUpon> <DependentUpon>Defect.aspx</DependentUpon>
@@ -11509,6 +11512,20 @@
<Compile Include="index.aspx.designer.cs"> <Compile Include="index.aspx.designer.cs">
<DependentUpon>index.aspx</DependentUpon> <DependentUpon>index.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="JDGL\Check\CompleteInput.aspx.cs">
<DependentUpon>CompleteInput.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="JDGL\Check\CompleteInput.aspx.designer.cs">
<DependentUpon>CompleteInput.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\EarnedValueCurve.aspx.cs">
<DependentUpon>EarnedValueCurve.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="JDGL\Check\EarnedValueCurve.aspx.designer.cs">
<DependentUpon>EarnedValueCurve.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\PlanSet.aspx.cs"> <Compile Include="JDGL\Check\PlanSet.aspx.cs">
<DependentUpon>PlanSet.aspx</DependentUpon> <DependentUpon>PlanSet.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType> <SubType>ASPXCodeBehind</SubType>
@@ -0,0 +1,105 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CompleteInput.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.CompleteInput" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>全项目录入</title>
<style type="text/css">
.f-grid-row.noEdit {
pointer-events: none;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true"
runat="server" EnableCollapse="true" DataKeyNames="Id,Name,ShowId" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="true">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:TextBox runat="server" ID="hdId" Hidden="true"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<%--<f:RowNumberField HeaderText="序号"/>--%>
<f:RenderField Width="100px" ColumnID="Code" DataField="Code" FieldType="String" EnableLock="true" Locked="true"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:BoundField Width="350px" ColumnID="Name" DataField="Name" HeaderTextAlign="Center" EnableLock="true" Locked="true"
HeaderText="工作内容" />
<f:RenderField Width="100px" ColumnID="PreWorkCode" DataField="PreWorkCode" FieldType="String" EnableLock="true" Locked="true"
HeaderText="前置工作内容编号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:TemplateField Width="60px" HeaderText="里程碑点" HeaderTextAlign="Center" ID="IsMileStone" TextAlign="Center" EnableLock="true" Locked="true">
<ItemTemplate>
<asp:CheckBox ID="cbIsMileStone" runat="server" Enabled="false"></asp:CheckBox>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="80px" ColumnID="JDWeights" DataField="JDWeights" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="权重(%)" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="Unit" DataField="Unit" FieldType="String" EnableLock="true" Locked="true"
HeaderText="单位" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanProjectQuantity" DataField="PlanProjectQuantity" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="概算工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanCost" DataField="PlanCost" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="概算费用" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealProjectQuantity" DataField="RealProjectQuantity" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="实际工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanStartDate" DataField="PlanStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanEndDate" DataField="PlanEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealStartDate" DataField="RealStartDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际开始时间" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealEndDate" DataField="RealEndDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="afteredit" Handler="onGridAfterEdit" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
</form>
<script type="text/javascript">
var hdIdClientID = '<%= hdId.ClientID %>';
function onGridAfterEdit(event, value, params) {
var me = this, columnId = params.columnId, rowId = params.rowId;
var str = F(hdIdClientID).ooIl1;
if (str == undefined) {
str = rowId;
}
else {
str = str + "," + rowId;
}
F(hdIdClientID).setValue(str);
}
</script>
</body>
</html>
@@ -0,0 +1,331 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.JDGL.Check
{
public partial class CompleteInput : PageBase
{
#region
/// <summary>
/// 列数量
/// </summary>
public int ColumnNum
{
get
{
return (int)ViewState["ColumnNum"];
}
set
{
ViewState["ColumnNum"] = value;
}
}
/// <summary>
/// 上传预设的虚拟路径
/// </summary>
private string initPath = Const.ExcelUrl;
/// <summary>
/// 错误集合
/// </summary>
public static string errorInfos = string.Empty;
/// <summary>
/// 月份集合
/// </summary>
public static List<DateTime> months = new List<DateTime>();
#endregion
/// <summary>
/// 加载表头
/// </summary>
protected void Page_Init(object sender, EventArgs e)
{
InitGrid();
}
#region
/// <summary>
/// 表头
/// </summary>
private void InitGrid()
{
ColumnNum = 0;
months.Clear();
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (project != null)
{
DateTime startDate, endDate, startMonth, endMonth;
if (project.StartDate != null)
{
startDate = Convert.ToDateTime(project.StartDate);
endDate = DateTime.Now;
if (project.EndDate != null)
{
endDate = Convert.ToDateTime(project.EndDate);
}
startMonth = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01");
endMonth = Convert.ToDateTime(endDate.Year + "-" + endDate.Month + "-01");
do
{
months.Add(startMonth);
startMonth = startMonth.AddMonths(1);
} while (startMonth <= endMonth);
}
for (int i = 0; i < months.Count; i++)
{
RenderField rdPlan = new RenderField();
rdPlan.ColumnID = string.Format("{0:yyyy-MM}", months[i]) + "Plan";
rdPlan.Width = Unit.Pixel(100);
rdPlan.DataField = "PlanNum" + (i + 1).ToString();
rdPlan.FieldType = FieldType.Double;
rdPlan.HeaderText = string.Format("{0:yyyy年MM月}", months[i]) + "<br/>概算工程量";
rdPlan.HeaderTextAlign = TextAlign.Center;
NumberBox numPlan = new NumberBox();
numPlan.NoNegative = true;
numPlan.NoDecimal = false;
rdPlan.Editor.Add(numPlan);
Grid1.Columns.Add(rdPlan);
RenderField rdThis = new RenderField();
rdThis.ColumnID = string.Format("{0:yyyy-MM}", months[i]) + "This";
rdThis.Width = Unit.Pixel(100);
rdThis.DataField = "ThisNum" + (i + 1).ToString();
rdThis.FieldType = FieldType.Double;
rdThis.HeaderText = string.Format("{0:yyyy年MM月}", months[i]) + "<br/>实际工程量";
rdThis.HeaderTextAlign = TextAlign.Center;
NumberBox numReal = new NumberBox();
numReal.NoNegative = true;
numReal.NoDecimal = false;
rdThis.Editor.Add(numReal);
Grid1.Columns.Add(rdThis);
}
RenderField rdId = new RenderField();
rdId.ColumnID = "ShowId";
rdId.Width = Unit.Pixel(350);
rdId.DataField = "ShowId";
rdId.FieldType = FieldType.String;
rdId.HeaderText = "ShowId";
rdId.HeaderTextAlign = TextAlign.Center;
Grid1.Columns.Add(rdId);
rdId.Hidden = true;
ColumnNum = 9 + months.Count * 2 + 1;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
errorInfos = string.Empty;
string Id = Request.Params["Id"];
DataTable table = BLL.WorkPackageService.GetAllTreeDataTable(this.CurrUser.LoginProjectId, string.Empty);
Grid1.DataSource = table;
Grid1.DataBind();
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
if (string.IsNullOrEmpty(this.Grid1.Rows[i].DataKeys[2].ToString()))
{
System.Web.UI.WebControls.CheckBox cbIsMileStone = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("cbIsMileStone"));
cbIsMileStone.Visible = false;
foreach (GridColumn column in Grid1.Columns)
{
if (column.ColumnIndex != 0 && column.ColumnIndex != 1)
{
this.Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
else
{
System.Web.UI.WebControls.CheckBox cbIsMileStone = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("cbIsMileStone"));
Model.WBS_WorkPackage workPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(this.Grid1.Rows[i].DataKeys[2].ToString());
if (workPackage != null && workPackage.IsMileStone == true)
{
cbIsMileStone.Checked = true;
}
}
}
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
Save();
ShowNotify("保存成功!", MessageBoxIcon.Success);
//PageContext.RegisterStartupScript(ActiveWindow.GetHideReference());
}
private void Save()
{
decimal changePlanNum = 0, changeThisNum = 0, //当月总变化完成成本、完成预算
oldPlanNum = 0, oldThisNum = 0,
PlanNum = 0, ThisNum = 0;
Model.SGGLDB db = Funs.DB;
var oldViewInfos = from x in db.WBS_WorkPackage
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
var unitWorks = from x in db.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
string[] ids = this.hdId.Text.Split(',');
if (ids.Length > 0)
{
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
if (this.Grid1.Rows[i].DataKeys[2] != null && ids.Contains(this.Grid1.Rows[i].DataKeys[2].ToString()))
{
Model.WBS_WorkPackage WorkPackage = oldViewInfos.FirstOrDefault(x => x.WorkPackageId == this.Grid1.Rows[i].DataKeys[2].ToString());
if (WorkPackage != null)
{
string WorkPackageId = WorkPackage.WorkPackageId;
BLL.WorkPackageService.UpdateWorkPackage(WorkPackage);
for (int j = 0; j < months.Count; j++)
{
oldPlanNum = 0;
oldThisNum = 0;
changePlanNum = 0;
changeThisNum = 0;
string planNum = values.Value<string>(string.Format("{0:yyyy-MM}", months[j]) + "Plan");
string thisNum = values.Value<string>(string.Format("{0:yyyy-MM}", months[j]) + "This");
Model.WBS_WorkPackageDetail WorkPackageDetail = BLL.WorkPackageDetailService.GetWorkPackageDetailByWorkPackageIdAndMonths(WorkPackageId, months[j]);
if (WorkPackageDetail != null)
{
oldPlanNum = WorkPackageDetail.PlanNum ?? 0;
oldThisNum = WorkPackageDetail.ThisNum ?? 0;
WorkPackageDetail.PlanNum = Funs.GetNewDecimalOrZero(planNum);
WorkPackageDetail.ThisNum = Funs.GetNewDecimalOrZero(thisNum);
PlanNum = WorkPackageDetail.PlanNum ?? 0;
ThisNum = WorkPackageDetail.ThisNum ?? 0;
}
else
{
WorkPackageDetail = new Model.WBS_WorkPackageDetail();
WorkPackageDetail.WorkPackageDetailId = SQLHelper.GetNewID();
WorkPackageDetail.WorkPackageId = WorkPackageId;
WorkPackageDetail.Months = months[j];
WorkPackageDetail.PlanNum = Funs.GetNewDecimalOrZero(planNum);
WorkPackageDetail.ThisNum = Funs.GetNewDecimalOrZero(thisNum);
PlanNum = WorkPackageDetail.PlanNum ?? 0;
ThisNum = WorkPackageDetail.ThisNum ?? 0;
db.WBS_WorkPackageDetail.InsertOnSubmit(WorkPackageDetail);
}
//累加变化值,计算总的变化值
changePlanNum += PlanNum - oldPlanNum;
changeThisNum += ThisNum - oldThisNum;
////更新分部分项
UpdateWorkPackageParent(db, WorkPackage.SuperWorkPackageId, months[j], changePlanNum, changeThisNum);
////更新单位工程
Model.WBS_WorkPackageParentDetail unitWorkDetail = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(WorkPackage.UnitWorkId, months[j]);
if (unitWorkDetail != null)
{
unitWorkDetail.PlanNum += changePlanNum;
unitWorkDetail.ThisNum += changeThisNum;
//BLL.WorkPackageParentDetailService.UpdateWorkPackageParentDetail(unitWorkDetail);
}
else
{
unitWorkDetail = new Model.WBS_WorkPackageParentDetail();
unitWorkDetail.WorkPackageParentDetailId = SQLHelper.GetNewID();
unitWorkDetail.ParentId = WorkPackage.UnitWorkId;
unitWorkDetail.Months = months[j];
unitWorkDetail.PlanNum = changePlanNum;
unitWorkDetail.ThisNum = changeThisNum;
//BLL.WorkPackageParentDetailService.AddWorkPackageParentDetail(unitWorkDetail);
db.WBS_WorkPackageParentDetail.InsertOnSubmit(unitWorkDetail);
}
////更新建筑、安装工程
Model.WBS_UnitWork unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == WorkPackage.UnitWorkId);
if (unitWork != null)
{
Model.WBS_WorkPackageParentDetail projectType = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(unitWork.ProjectType, this.CurrUser.LoginProjectId, months[j]);
if (projectType != null)
{
projectType.PlanNum += changePlanNum;
projectType.ThisNum += changeThisNum;
//BLL.WorkPackageParentDetailService.UpdateWorkPackageParentDetail(cnProfessionDetail);
}
else
{
projectType = new Model.WBS_WorkPackageParentDetail();
projectType.WorkPackageParentDetailId = SQLHelper.GetNewID();
projectType.ParentId = unitWork.ProjectType;
projectType.ProjectId = this.CurrUser.LoginProjectId;
projectType.Months = months[j];
projectType.PlanNum = changePlanNum;
projectType.ThisNum = changeThisNum;
//BLL.WorkPackageParentDetailService.AddWorkPackageParentDetail(cnProfessionDetail);
db.WBS_WorkPackageParentDetail.InsertOnSubmit(projectType);
}
}
db.SubmitChanges();
}
}
}
}
}
}
#region
/// <summary>
/// 更新分部分项
/// </summary>
/// <param name="years"></param>
/// <param name="months"></param>
/// <param name="PlanNum"></param>
/// <param name="parentId"></param>
private void UpdateWorkPackageParent(Model.SGGLDB db, string SuperWorkPackageId, DateTime months, decimal changePlanNum, decimal changeThisNum)
{
Model.WBS_WorkPackage workPackage = db.WBS_WorkPackage.FirstOrDefault(x => x.WorkPackageId == SuperWorkPackageId);
if (workPackage != null)
{
Model.WBS_WorkPackageParentDetail parentDetail = BLL.WorkPackageParentDetailService.GetWorkPackageParentDetailByParentIdAndMonths(SuperWorkPackageId, months);
if (parentDetail != null)
{
parentDetail.PlanNum += changePlanNum;
parentDetail.ThisNum += changeThisNum;
//BLL.WorkPackageParentDetailService.UpdateWorkPackageParentDetail(parentDetail);
}
else
{
parentDetail = new Model.WBS_WorkPackageParentDetail();
parentDetail.WorkPackageParentDetailId = SQLHelper.GetNewID();
parentDetail.ParentId = SuperWorkPackageId;
parentDetail.Months = months;
parentDetail.PlanNum = changePlanNum;
parentDetail.ThisNum = changeThisNum;
//BLL.WorkPackageParentDetailService.AddWorkPackageParentDetail(parentDetail);
db.WBS_WorkPackageParentDetail.InsertOnSubmit(parentDetail);
}
if (workPackage.SuperWorkPackageId != null) //还存在上级节点,需要继续循环
{
UpdateWorkPackageParent(db, workPackage.SuperWorkPackageId, months, changePlanNum, changeThisNum);
}
}
}
#endregion
#endregion
}
}
@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class CompleteInput {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// IsMileStone 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TemplateField IsMileStone;
/// <summary>
/// cbIsMileStone 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox cbIsMileStone;
}
}
@@ -0,0 +1,72 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="EarnedValueCurve.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.EarnedValueCurve" %>
<%@ Register Src="~/Controls/ChartControl.ascx" TagName="ChartControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>赢得值曲线</title>
<link href="../../res/css/common.css" rel="stylesheet" type="text/css" />
<style>
.f-grid-row .f-grid-cell-inner {
white-space: normal;
word-break: break-all;
}
.f-grid-colheader-text {
white-space: normal;
word-break: break-all;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" AjaxAspnetControls="divEV" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true" Layout="Fit"
EnableCollapse="true" Width="300" Title="赢得值曲线" TitleToolTip="赢得值曲线" ShowBorder="true"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="trWBS" Width="250" EnableCollapse="true" ShowHeader="true" OnNodeCommand="trWBS_NodeCommand"
OnNodeExpand="trWBS_NodeExpand" AutoLeafIdentification="true" runat="server">
</f:Tree>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="false"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle"
TitleToolTip="" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" runat="server" Width="820px" ShowHeader="false" Height="200px" EnableColumnLines="true" ForceFit="true">
<Columns>
<f:RenderField Width="100px" ColumnID="月份" DataField="月份"
FieldType="String" HeaderText="月份" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="本月概算工程量" DataField="本月概算工程量"
FieldType="Double" HeaderText="本月概算工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="累计概算工程量" DataField="累计概算工程量"
FieldType="Double" HeaderText="累计概算工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="本月实际工程量" DataField="本月实际工程量"
FieldType="Double" HeaderText="本月实际工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="累计实际工程量" DataField="累计实际工程量"
FieldType="Double" HeaderText="累计实际工程量" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
<Items>
<f:ContentPanel ShowHeader="false" runat="server" ID="cpEV" Margin="0 0 0 0">
<div id="divEV">
<uc1:ChartControl ID="ChartEV" runat="server" />
</div>
</f:ContentPanel>
</Items>
</f:Panel>
</Items>
</f:Panel>
</form>
</body>
</html>
@@ -0,0 +1,388 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.JDGL.Check
{
public partial class EarnedValueCurve : PageBase
{
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindChart();
InitTreeMenu();
}
}
#endregion
#region
/// <summary>
/// 树加载
/// </summary>
private void InitTreeMenu()
{
this.trWBS.Nodes.Clear();
this.trWBS.ShowBorder = false;
this.trWBS.ShowHeader = false;
this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = true;
this.trWBS.EnableSingleClickExpand = true;
TreeNode rootNode1 = new TreeNode();
rootNode1.Text = "建筑工程";
rootNode1.NodeID = "1";
rootNode1.CommandName = "ProjectType";
rootNode1.EnableExpandEvent = true;
rootNode1.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode1);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
rootNode1.Nodes.Add(emptyNode);
//this.GetNodes(rootNode1.Nodes, rootNode1.NodeID);
TreeNode rootNode2 = new TreeNode();
rootNode2.Text = "安装工程";
rootNode2.NodeID = "2";
rootNode2.CommandName = "ProjectType";
rootNode2.EnableExpandEvent = true;
rootNode2.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode2);
rootNode2.Nodes.Add(emptyNode);
}
#region
/// <summary>
/// 遍历节点方法
/// </summary>
/// <param name="nodes">节点集合</param>
/// <param name="parentId">父节点</param>
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
List<Model.WBS_WorkPackageProject> workPackages = new List<Model.WBS_WorkPackageProject>();
if (parentId.Length == 1) //工程类型节点
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == null && x.ProjectId == this.CurrUser.LoginProjectId && x.ProjectType == parentId
orderby x.PackageCode ascending
select x).ToList();
}
else
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == parentId && x.ProjectId == this.CurrUser.LoginProjectId
orderby x.PackageCode ascending
select x).ToList();
}
foreach (var q in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = q.PackageContent;
newNode.NodeID = q.WorkPackageCode;
newNode.CommandName = "WorkPackage";
newNode.EnableClickEvent = true;
nodes.Add(newNode);
}
for (int i = 0; i < nodes.Count; i++)
{
GetNodes(nodes[i].Nodes, nodes[i].NodeID);
}
}
#endregion
#endregion
#region
/// <summary>
/// 树节点展开
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
var trUnitWork = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperUnitWork == null && x.ProjectType == e.Node.NodeID
select x;
trUnitWork = trUnitWork.OrderBy(x => x.UnitWorkCode);
if (trUnitWork.Count() > 0)
{
foreach (var trUnitWorkItem in trUnitWork)
{
TreeNode newNode = new TreeNode();
newNode.Text = trUnitWorkItem.UnitWorkCode + "-" + trUnitWorkItem.UnitWorkName;
newNode.NodeID = trUnitWorkItem.UnitWorkId;
newNode.CommandName = "UnitWork";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
if (BLL.WorkPackageService.GetWorkPackages1ByUnitWorkId(trUnitWorkItem.UnitWorkId.ToString()) != null)
{
TreeNode temp = new TreeNode();
temp.Text = "temp";
temp.NodeID = "temp";
newNode.Nodes.Add(temp);
}
}
}
}
else if (e.Node.CommandName == "UnitWork") //展开单位工程节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.UnitWorkId == e.NodeID && x.SuperWorkPack == null && x.IsApprove == true orderby x.WorkPackageCode select x;
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
else if (e.Node.CommandName == "WorkPackage") //展开工作包节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == e.Node.NodeID && x.IsApprove == true orderby x.WorkPackageCode select x;
if (workPackages.Count() > 0) //存在子单位工程
{
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageId;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackage where x.SuperWorkPackageId == workPackage.WorkPackageId && x.IsApprove == true select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
BindChart();
}
#endregion
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
{
BindChart();
}
#endregion
#region
/// <summary>
/// 数据绑定
/// </summary>
private void BindChart()
{
string id = this.trWBS.SelectedNodeID;
if (!string.IsNullOrEmpty(id))
{
Model.WBS_WorkPackage WorkPackage = BLL.WorkPackageService.GetWorkPackageByWorkPackageId(id);
if (WorkPackage != null && BLL.WorkPackageService.GetAllWorkPackagesBySuperWorkPackageId(WorkPackage.WorkPackageId).Count == 0)
{
string strSql = "select distinct (cast(YEAR(Months) as varchar(4))+'.'+cast(MONTH(Months) as varchar(2))) as 月份,t.Months," +
"PlanNum as '本月概算工程量',ThisNum as '本月实际工程量',TotalPlanNum as '累计概算工程量',TotalThisNum as '累计实际工程量' " +
"from dbo.View_WBS_WorkPackageDetail as t where WorkPackageId=@Id order by t.Months";
//string date = DateTime.Now.Year + "-" + DateTime.Now.Month + "-01";
SqlParameter[] parameter = new SqlParameter[]
{
new SqlParameter("@Id",id),
//new SqlParameter("@Months",date),
};
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
this.Grid1.DataSource = dt;
this.Grid1.DataBind();
decimal lastacwp = 0, acwp = 0, lastbcwp = 0, bcwp = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["本月概算工程量"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月概算工程量"].ToString());
dt.Rows[i]["本月实际工程量"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月实际工程量"].ToString());
acwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计概算工程量"].ToString());
bcwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计实际工程量"].ToString());
if (acwp == lastacwp)
{
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
{
dt.Rows[i]["累计概算工程量"] = DBNull.Value;
}
else
{
dt.Rows[i]["累计概算工程量"] = acwp;
}
}
else
{
dt.Rows[i]["累计概算工程量"] = acwp;
}
if (bcwp == lastbcwp)
{
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
{
dt.Rows[i]["累计实际工程量"] = DBNull.Value;
}
else
{
dt.Rows[i]["累计实际工程量"] = bcwp;
}
}
else
{
dt.Rows[i]["累计实际工程量"] = bcwp;
}
lastacwp = acwp;
lastbcwp = bcwp;
}
this.ChartEV.CreateMaryChartJD(dt, 1020, 420, null);
}
else
{
string strSql = "select distinct (cast(YEAR(Months) as varchar(4))+'.'+cast(MONTH(Months) as varchar(2))) as 月份,t.Months," +
"PlanNum as '本月概算工程量',ThisNum as '本月实际工程量',TotalPlanNum as '累计概算工程量',TotalThisNum as '累计实际工程量' " +
"from dbo.View_WBS_WorkPackageParentDetail as t where ParentId=@Id order by t.Months";
//string date = DateTime.Now.Year + "-" + DateTime.Now.Month + "-01";
SqlParameter[] parameter = new SqlParameter[]
{
new SqlParameter("@Id",id),
//new SqlParameter("@Months",date),
};
if (this.trWBS.SelectedNode.CommandName == "ProjectType")
{
strSql = strSql.Replace("order by t.Months", " and ProjectId='" + this.CurrUser.LoginProjectId + "' order by t.Months");
}
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
this.Grid1.DataSource = dt;
this.Grid1.DataBind();
decimal lastacwp = 0, acwp = 0, lastbcwp = 0, bcwp = 0;
for (int i = 0; i < dt.Rows.Count; i++)
{
dt.Rows[i]["本月概算工程量"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月概算工程量"].ToString());
dt.Rows[i]["本月实际工程量"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月实际工程量"].ToString());
acwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计概算工程量"].ToString());
bcwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计实际工程量"].ToString());
if (acwp == lastacwp)
{
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
{
dt.Rows[i]["累计概算工程量"] = DBNull.Value;
}
else
{
dt.Rows[i]["累计概算工程量"] = acwp;
}
}
else
{
dt.Rows[i]["累计概算工程量"] = acwp;
}
if (bcwp == lastbcwp)
{
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
{
dt.Rows[i]["累计实际工程量"] = DBNull.Value;
}
else
{
dt.Rows[i]["累计实际工程量"] = bcwp;
}
}
else
{
dt.Rows[i]["累计实际工程量"] = bcwp;
}
lastacwp = acwp;
lastbcwp = bcwp;
}
this.ChartEV.CreateMaryChartJD(dt, 1020, 420, null);
}
}
}
#endregion
#region DataTable行列转换
/// <summary>
/// 将DataTable行列转换
/// </summary>
/// <param name="src">要转换的DataTable</param>
/// <param name="columnHead">要作为Column的哪列</param>
/// <returns></returns>
private DataTable Col2Row(DataTable src, int columnHead)
{
DataTable result = new DataTable();
DataColumn myHead = src.Columns[columnHead];
result.Columns.Add(myHead.ColumnName);
FineUIPro.RenderField bf;
bf = new FineUIPro.RenderField();
bf.ColumnID = myHead.ColumnName;
bf.DataField = myHead.ColumnName;
bf.HeaderText = myHead.ColumnName;
Grid1.Columns.Add(bf);
for (int i = 0; i < src.Rows.Count; i++)
{
result.Columns.Add(src.Rows[i][myHead].ToString());
bf = new FineUIPro.RenderField();
bf.ColumnID = src.Rows[i][myHead].ToString();
bf.DataField = src.Rows[i][myHead].ToString();
bf.HeaderText = src.Rows[i][myHead].ToString();
Grid1.Columns.Add(bf);
}
Grid1.DataKeyNames = new string[] { "月份" };
foreach (DataColumn col in src.Columns)
{
if (col == myHead)
continue;
object[] newRow = new object[src.Rows.Count + 1];
newRow[0] = col.ColumnName;
for (int i = 0; i < src.Rows.Count; i++)
{
newRow[i + 1] = src.Rows[i][col];
}
result.Rows.Add(newRow);
}
return result;
}
private DataTable Col2Row(DataTable src, string columnHead)
{
for (int i = 0; i < src.Columns.Count; i++)
{
if (src.Columns[i].ColumnName.ToUpper() == columnHead.ToUpper())
return Col2Row(src, i);
}
return new DataTable();
}
#endregion
}
}
@@ -0,0 +1,96 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class EarnedValueCurve {
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// trWBS 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree trWBS;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// cpEV 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel cpEV;
/// <summary>
/// ChartEV 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::Web.Controls.ChartControl ChartEV;
}
}
@@ -94,7 +94,7 @@ namespace FineUIPro.Web.JDGL.Check
{ {
JObject values = mergedRow.Value<JObject>("values"); JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index"); int i = mergedRow.Value<int>("index");
if (this.Grid1.Rows[i].DataKeys[2] != null) if (this.Grid1.Rows[i].DataKeys[2] != null && ids.Contains(this.Grid1.Rows[i].DataKeys[2].ToString()))
{ {
Model.WBS_WorkPackage workPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == this.Grid1.Rows[i].DataKeys[2].ToString()); Model.WBS_WorkPackage workPackage = workPackages.FirstOrDefault(x => x.WorkPackageId == this.Grid1.Rows[i].DataKeys[2].ToString());
if (workPackage != null) if (workPackage != null)
+2
View File
@@ -2,4 +2,6 @@
<Tree> <Tree>
<TreeNode id="E23F0879-3E9F-4E7B-9A2D-EFF34798D629" Text="进度计划设置" NavigateUrl="JDGL/Check/PlanSet.aspx"> <TreeNode id="E23F0879-3E9F-4E7B-9A2D-EFF34798D629" Text="进度计划设置" NavigateUrl="JDGL/Check/PlanSet.aspx">
</TreeNode> </TreeNode>
<TreeNode id="B479EC55-E12A-4F91-AF3F-864DAAA136FB" Text="进度完成情况录入" NavigateUrl="JDGL/Check/CompleteInput.aspx"></TreeNode>
<TreeNode id="F0E296C3-6499-43E5-88CD-E00C5180D3BC" Text="赢得值曲线" NavigateUrl="JDGL/Check/EarnedValueCurve.aspx"></TreeNode>
</Tree> </Tree>
+845 -2
View File
@@ -1652,9 +1652,15 @@ namespace Model
partial void InsertWBS_WorkPackage(WBS_WorkPackage instance); partial void InsertWBS_WorkPackage(WBS_WorkPackage instance);
partial void UpdateWBS_WorkPackage(WBS_WorkPackage instance); partial void UpdateWBS_WorkPackage(WBS_WorkPackage instance);
partial void DeleteWBS_WorkPackage(WBS_WorkPackage instance); partial void DeleteWBS_WorkPackage(WBS_WorkPackage instance);
partial void InsertWBS_WorkPackageDetail(WBS_WorkPackageDetail instance);
partial void UpdateWBS_WorkPackageDetail(WBS_WorkPackageDetail instance);
partial void DeleteWBS_WorkPackageDetail(WBS_WorkPackageDetail instance);
partial void InsertWBS_WorkPackageInit(WBS_WorkPackageInit instance); partial void InsertWBS_WorkPackageInit(WBS_WorkPackageInit instance);
partial void UpdateWBS_WorkPackageInit(WBS_WorkPackageInit instance); partial void UpdateWBS_WorkPackageInit(WBS_WorkPackageInit instance);
partial void DeleteWBS_WorkPackageInit(WBS_WorkPackageInit instance); partial void DeleteWBS_WorkPackageInit(WBS_WorkPackageInit instance);
partial void InsertWBS_WorkPackageParentDetail(WBS_WorkPackageParentDetail instance);
partial void UpdateWBS_WorkPackageParentDetail(WBS_WorkPackageParentDetail instance);
partial void DeleteWBS_WorkPackageParentDetail(WBS_WorkPackageParentDetail instance);
partial void InsertWBS_WorkPackageProject(WBS_WorkPackageProject instance); partial void InsertWBS_WorkPackageProject(WBS_WorkPackageProject instance);
partial void UpdateWBS_WorkPackageProject(WBS_WorkPackageProject instance); partial void UpdateWBS_WorkPackageProject(WBS_WorkPackageProject instance);
partial void DeleteWBS_WorkPackageProject(WBS_WorkPackageProject instance); partial void DeleteWBS_WorkPackageProject(WBS_WorkPackageProject instance);
@@ -6745,6 +6751,22 @@ namespace Model
} }
} }
public System.Data.Linq.Table<View_WBS_WorkPackageDetail> View_WBS_WorkPackageDetail
{
get
{
return this.GetTable<View_WBS_WorkPackageDetail>();
}
}
public System.Data.Linq.Table<View_WBS_WorkPackageParentDetail> View_WBS_WorkPackageParentDetail
{
get
{
return this.GetTable<View_WBS_WorkPackageParentDetail>();
}
}
public System.Data.Linq.Table<View_Welder_WelderQualify> View_Welder_WelderQualify public System.Data.Linq.Table<View_Welder_WelderQualify> View_Welder_WelderQualify
{ {
get get
@@ -6817,6 +6839,14 @@ namespace Model
} }
} }
public System.Data.Linq.Table<WBS_WorkPackageDetail> WBS_WorkPackageDetail
{
get
{
return this.GetTable<WBS_WorkPackageDetail>();
}
}
public System.Data.Linq.Table<WBS_WorkPackageInit> WBS_WorkPackageInit public System.Data.Linq.Table<WBS_WorkPackageInit> WBS_WorkPackageInit
{ {
get get
@@ -6825,6 +6855,14 @@ namespace Model
} }
} }
public System.Data.Linq.Table<WBS_WorkPackageParentDetail> WBS_WorkPackageParentDetail
{
get
{
return this.GetTable<WBS_WorkPackageParentDetail>();
}
}
public System.Data.Linq.Table<WBS_WorkPackageProject> WBS_WorkPackageProject public System.Data.Linq.Table<WBS_WorkPackageProject> WBS_WorkPackageProject
{ {
get get
@@ -11435,7 +11473,7 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveIdea", DbType="NVarChar(200)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveIdea", DbType="NVarChar(2000)")]
public string ApproveIdea public string ApproveIdea
{ {
get get
@@ -149652,7 +149690,7 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttentPerson", DbType="NVarChar(500)")] [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttentPerson", DbType="NVarChar(3000)")]
public string AttentPerson public string AttentPerson
{ {
get get
@@ -289251,6 +289289,402 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_WBS_WorkPackageDetail")]
public partial class View_WBS_WorkPackageDetail
{
private string _WorkPackageDetailId;
private string _WorkPackageId;
private System.Nullable<System.DateTime> _Months;
private string _WorkPackageCode;
private string _PackageContent;
private string _ProjectId;
private string _Unit;
private System.Nullable<decimal> _PlanProjectQuantity;
private System.Nullable<decimal> _RealProjectQuantity;
private System.Nullable<double> _TotalPlanNum;
private System.Nullable<double> _TotalThisNum;
private System.Nullable<double> _PlanNum;
private System.Nullable<double> _ThisNum;
public View_WBS_WorkPackageDetail()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageDetailId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string WorkPackageDetailId
{
get
{
return this._WorkPackageDetailId;
}
set
{
if ((this._WorkPackageDetailId != value))
{
this._WorkPackageDetailId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageId", DbType="NVarChar(50)")]
public string WorkPackageId
{
get
{
return this._WorkPackageId;
}
set
{
if ((this._WorkPackageId != value))
{
this._WorkPackageId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")]
public System.Nullable<System.DateTime> Months
{
get
{
return this._Months;
}
set
{
if ((this._Months != value))
{
this._Months = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageCode", DbType="NVarChar(30)")]
public string WorkPackageCode
{
get
{
return this._WorkPackageCode;
}
set
{
if ((this._WorkPackageCode != value))
{
this._WorkPackageCode = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(50)")]
public string PackageContent
{
get
{
return this._PackageContent;
}
set
{
if ((this._PackageContent != value))
{
this._PackageContent = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this._ProjectId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Unit", DbType="NVarChar(50)")]
public string Unit
{
get
{
return this._Unit;
}
set
{
if ((this._Unit != value))
{
this._Unit = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanProjectQuantity", DbType="Decimal(18,2)")]
public System.Nullable<decimal> PlanProjectQuantity
{
get
{
return this._PlanProjectQuantity;
}
set
{
if ((this._PlanProjectQuantity != value))
{
this._PlanProjectQuantity = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RealProjectQuantity", DbType="Decimal(18,2)")]
public System.Nullable<decimal> RealProjectQuantity
{
get
{
return this._RealProjectQuantity;
}
set
{
if ((this._RealProjectQuantity != value))
{
this._RealProjectQuantity = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPlanNum", DbType="Float")]
public System.Nullable<double> TotalPlanNum
{
get
{
return this._TotalPlanNum;
}
set
{
if ((this._TotalPlanNum != value))
{
this._TotalPlanNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")]
public System.Nullable<double> TotalThisNum
{
get
{
return this._TotalThisNum;
}
set
{
if ((this._TotalThisNum != value))
{
this._TotalThisNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Float")]
public System.Nullable<double> PlanNum
{
get
{
return this._PlanNum;
}
set
{
if ((this._PlanNum != value))
{
this._PlanNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Float")]
public System.Nullable<double> ThisNum
{
get
{
return this._ThisNum;
}
set
{
if ((this._ThisNum != value))
{
this._ThisNum = value;
}
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_WBS_WorkPackageParentDetail")]
public partial class View_WBS_WorkPackageParentDetail
{
private string _WorkPackageParentDetailId;
private string _ParentId;
private string _ProjectId;
private System.Nullable<System.DateTime> _Months;
private System.Nullable<double> _PlanNum;
private System.Nullable<double> _ThisNum;
private System.Nullable<double> _TotalPlanNum;
private System.Nullable<double> _TotalThisNum;
public View_WBS_WorkPackageParentDetail()
{
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageParentDetailId", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
public string WorkPackageParentDetailId
{
get
{
return this._WorkPackageParentDetailId;
}
set
{
if ((this._WorkPackageParentDetailId != value))
{
this._WorkPackageParentDetailId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentId", DbType="NVarChar(50)")]
public string ParentId
{
get
{
return this._ParentId;
}
set
{
if ((this._ParentId != value))
{
this._ParentId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this._ProjectId = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")]
public System.Nullable<System.DateTime> Months
{
get
{
return this._Months;
}
set
{
if ((this._Months != value))
{
this._Months = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Float")]
public System.Nullable<double> PlanNum
{
get
{
return this._PlanNum;
}
set
{
if ((this._PlanNum != value))
{
this._PlanNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Float")]
public System.Nullable<double> ThisNum
{
get
{
return this._ThisNum;
}
set
{
if ((this._ThisNum != value))
{
this._ThisNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalPlanNum", DbType="Float")]
public System.Nullable<double> TotalPlanNum
{
get
{
return this._TotalPlanNum;
}
set
{
if ((this._TotalPlanNum != value))
{
this._TotalPlanNum = value;
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_TotalThisNum", DbType="Float")]
public System.Nullable<double> TotalThisNum
{
get
{
return this._TotalThisNum;
}
set
{
if ((this._TotalThisNum != value))
{
this._TotalThisNum = value;
}
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Welder_WelderQualify")] [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.View_Welder_WelderQualify")]
public partial class View_Welder_WelderQualify public partial class View_Welder_WelderQualify
{ {
@@ -293757,6 +294191,8 @@ namespace Model
private EntityRef<WBS_UnitWork> _WBS_UnitWork; private EntityRef<WBS_UnitWork> _WBS_UnitWork;
private EntitySet<WBS_WorkPackageDetail> _WBS_WorkPackageDetail;
#region #region
partial void OnLoaded(); partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action); partial void OnValidate(System.Data.Linq.ChangeAction action);
@@ -293827,6 +294263,7 @@ namespace Model
{ {
this._WBS_ControlItemAndCycle = new EntitySet<WBS_ControlItemAndCycle>(new Action<WBS_ControlItemAndCycle>(this.attach_WBS_ControlItemAndCycle), new Action<WBS_ControlItemAndCycle>(this.detach_WBS_ControlItemAndCycle)); this._WBS_ControlItemAndCycle = new EntitySet<WBS_ControlItemAndCycle>(new Action<WBS_ControlItemAndCycle>(this.attach_WBS_ControlItemAndCycle), new Action<WBS_ControlItemAndCycle>(this.detach_WBS_ControlItemAndCycle));
this._WBS_UnitWork = default(EntityRef<WBS_UnitWork>); this._WBS_UnitWork = default(EntityRef<WBS_UnitWork>);
this._WBS_WorkPackageDetail = new EntitySet<WBS_WorkPackageDetail>(new Action<WBS_WorkPackageDetail>(this.attach_WBS_WorkPackageDetail), new Action<WBS_WorkPackageDetail>(this.detach_WBS_WorkPackageDetail));
OnCreated(); OnCreated();
} }
@@ -294481,6 +294918,19 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_WorkPackageDetail_WBS_WorkPackage", Storage="_WBS_WorkPackageDetail", ThisKey="WorkPackageId", OtherKey="WorkPackageId", DeleteRule="NO ACTION")]
public EntitySet<WBS_WorkPackageDetail> WBS_WorkPackageDetail
{
get
{
return this._WBS_WorkPackageDetail;
}
set
{
this._WBS_WorkPackageDetail.Assign(value);
}
}
public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged; public event PropertyChangedEventHandler PropertyChanged;
@@ -294512,6 +294962,217 @@ namespace Model
this.SendPropertyChanging(); this.SendPropertyChanging();
entity.WBS_WorkPackage = null; entity.WBS_WorkPackage = null;
} }
private void attach_WBS_WorkPackageDetail(WBS_WorkPackageDetail entity)
{
this.SendPropertyChanging();
entity.WBS_WorkPackage = this;
}
private void detach_WBS_WorkPackageDetail(WBS_WorkPackageDetail entity)
{
this.SendPropertyChanging();
entity.WBS_WorkPackage = null;
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageDetail")]
public partial class WBS_WorkPackageDetail : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private string _WorkPackageDetailId;
private string _WorkPackageId;
private System.Nullable<System.DateTime> _Months;
private System.Nullable<decimal> _PlanNum;
private System.Nullable<decimal> _ThisNum;
private EntityRef<WBS_WorkPackage> _WBS_WorkPackage;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnWorkPackageDetailIdChanging(string value);
partial void OnWorkPackageDetailIdChanged();
partial void OnWorkPackageIdChanging(string value);
partial void OnWorkPackageIdChanged();
partial void OnMonthsChanging(System.Nullable<System.DateTime> value);
partial void OnMonthsChanged();
partial void OnPlanNumChanging(System.Nullable<decimal> value);
partial void OnPlanNumChanged();
partial void OnThisNumChanging(System.Nullable<decimal> value);
partial void OnThisNumChanged();
#endregion
public WBS_WorkPackageDetail()
{
this._WBS_WorkPackage = default(EntityRef<WBS_WorkPackage>);
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageDetailId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string WorkPackageDetailId
{
get
{
return this._WorkPackageDetailId;
}
set
{
if ((this._WorkPackageDetailId != value))
{
this.OnWorkPackageDetailIdChanging(value);
this.SendPropertyChanging();
this._WorkPackageDetailId = value;
this.SendPropertyChanged("WorkPackageDetailId");
this.OnWorkPackageDetailIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageId", DbType="NVarChar(50)")]
public string WorkPackageId
{
get
{
return this._WorkPackageId;
}
set
{
if ((this._WorkPackageId != value))
{
if (this._WBS_WorkPackage.HasLoadedOrAssignedValue)
{
throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}
this.OnWorkPackageIdChanging(value);
this.SendPropertyChanging();
this._WorkPackageId = value;
this.SendPropertyChanged("WorkPackageId");
this.OnWorkPackageIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")]
public System.Nullable<System.DateTime> Months
{
get
{
return this._Months;
}
set
{
if ((this._Months != value))
{
this.OnMonthsChanging(value);
this.SendPropertyChanging();
this._Months = value;
this.SendPropertyChanged("Months");
this.OnMonthsChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Decimal(9,2)")]
public System.Nullable<decimal> PlanNum
{
get
{
return this._PlanNum;
}
set
{
if ((this._PlanNum != value))
{
this.OnPlanNumChanging(value);
this.SendPropertyChanging();
this._PlanNum = value;
this.SendPropertyChanged("PlanNum");
this.OnPlanNumChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(9,2)")]
public System.Nullable<decimal> ThisNum
{
get
{
return this._ThisNum;
}
set
{
if ((this._ThisNum != value))
{
this.OnThisNumChanging(value);
this.SendPropertyChanging();
this._ThisNum = value;
this.SendPropertyChanged("ThisNum");
this.OnThisNumChanged();
}
}
}
[global::System.Data.Linq.Mapping.AssociationAttribute(Name="FK_WBS_WorkPackageDetail_WBS_WorkPackage", Storage="_WBS_WorkPackage", ThisKey="WorkPackageId", OtherKey="WorkPackageId", IsForeignKey=true)]
public WBS_WorkPackage WBS_WorkPackage
{
get
{
return this._WBS_WorkPackage.Entity;
}
set
{
WBS_WorkPackage previousValue = this._WBS_WorkPackage.Entity;
if (((previousValue != value)
|| (this._WBS_WorkPackage.HasLoadedOrAssignedValue == false)))
{
this.SendPropertyChanging();
if ((previousValue != null))
{
this._WBS_WorkPackage.Entity = null;
previousValue.WBS_WorkPackageDetail.Remove(this);
}
this._WBS_WorkPackage.Entity = value;
if ((value != null))
{
value.WBS_WorkPackageDetail.Add(this);
this._WorkPackageId = value.WorkPackageId;
}
else
{
this._WorkPackageId = default(string);
}
this.SendPropertyChanged("WBS_WorkPackage");
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
} }
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageInit")] [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageInit")]
@@ -294748,6 +295409,188 @@ namespace Model
} }
} }
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageParentDetail")]
public partial class WBS_WorkPackageParentDetail : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private string _WorkPackageParentDetailId;
private string _ParentId;
private string _ProjectId;
private System.Nullable<System.DateTime> _Months;
private System.Nullable<decimal> _PlanNum;
private System.Nullable<decimal> _ThisNum;
#region
partial void OnLoaded();
partial void OnValidate(System.Data.Linq.ChangeAction action);
partial void OnCreated();
partial void OnWorkPackageParentDetailIdChanging(string value);
partial void OnWorkPackageParentDetailIdChanged();
partial void OnParentIdChanging(string value);
partial void OnParentIdChanged();
partial void OnProjectIdChanging(string value);
partial void OnProjectIdChanged();
partial void OnMonthsChanging(System.Nullable<System.DateTime> value);
partial void OnMonthsChanged();
partial void OnPlanNumChanging(System.Nullable<decimal> value);
partial void OnPlanNumChanged();
partial void OnThisNumChanging(System.Nullable<decimal> value);
partial void OnThisNumChanged();
#endregion
public WBS_WorkPackageParentDetail()
{
OnCreated();
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageParentDetailId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)]
public string WorkPackageParentDetailId
{
get
{
return this._WorkPackageParentDetailId;
}
set
{
if ((this._WorkPackageParentDetailId != value))
{
this.OnWorkPackageParentDetailIdChanging(value);
this.SendPropertyChanging();
this._WorkPackageParentDetailId = value;
this.SendPropertyChanged("WorkPackageParentDetailId");
this.OnWorkPackageParentDetailIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ParentId", DbType="NVarChar(50)")]
public string ParentId
{
get
{
return this._ParentId;
}
set
{
if ((this._ParentId != value))
{
this.OnParentIdChanging(value);
this.SendPropertyChanging();
this._ParentId = value;
this.SendPropertyChanged("ParentId");
this.OnParentIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")]
public string ProjectId
{
get
{
return this._ProjectId;
}
set
{
if ((this._ProjectId != value))
{
this.OnProjectIdChanging(value);
this.SendPropertyChanging();
this._ProjectId = value;
this.SendPropertyChanged("ProjectId");
this.OnProjectIdChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Months", DbType="DateTime")]
public System.Nullable<System.DateTime> Months
{
get
{
return this._Months;
}
set
{
if ((this._Months != value))
{
this.OnMonthsChanging(value);
this.SendPropertyChanging();
this._Months = value;
this.SendPropertyChanged("Months");
this.OnMonthsChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PlanNum", DbType="Decimal(9,2)")]
public System.Nullable<decimal> PlanNum
{
get
{
return this._PlanNum;
}
set
{
if ((this._PlanNum != value))
{
this.OnPlanNumChanging(value);
this.SendPropertyChanging();
this._PlanNum = value;
this.SendPropertyChanged("PlanNum");
this.OnPlanNumChanged();
}
}
}
[global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ThisNum", DbType="Decimal(9,2)")]
public System.Nullable<decimal> ThisNum
{
get
{
return this._ThisNum;
}
set
{
if ((this._ThisNum != value))
{
this.OnThisNumChanging(value);
this.SendPropertyChanging();
this._ThisNum = value;
this.SendPropertyChanged("ThisNum");
this.OnThisNumChanged();
}
}
}
public event PropertyChangingEventHandler PropertyChanging;
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void SendPropertyChanging()
{
if ((this.PropertyChanging != null))
{
this.PropertyChanging(this, emptyChangingEventArgs);
}
}
protected virtual void SendPropertyChanged(String propertyName)
{
if ((this.PropertyChanged != null))
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageProject")] [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.WBS_WorkPackageProject")]
public partial class WBS_WorkPackageProject : INotifyPropertyChanging, INotifyPropertyChanged public partial class WBS_WorkPackageProject : INotifyPropertyChanging, INotifyPropertyChanged
{ {