修改进度模块
This commit is contained in:
@@ -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
|
||||||
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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,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
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user