This commit is contained in:
李鹏飞 2023-10-24 14:23:53 +08:00
commit 3e628692e3
40 changed files with 2559 additions and 200 deletions

View File

@ -11,4 +11,12 @@ Go
INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
VALUES ( N'D791C4E1-7CF1-4F4E-9457-0CF91ACDB987',N'ÏîĿƽ¾ù¹¤Ð§Í³¼Æ',N'PZHGL/InformationProject/ProjectConstructionLogWorkEfficiencySum.aspx',30,N'A9BBF623-83AC-4353-A010-07A5D4CEB7D1',N'Menu_PHTGL',0,1,1)
Go
Go
alter table dbo.PHTGL_Quantity
add SerialNumber nvarchar(50)
go
exec sp_addextendedproperty 'MS_Description', N'ÐòºÅ', 'SCHEMA', 'dbo', 'TABLE', 'PHTGL_Quantity', 'COLUMN',
'SerialNumber'
go

View File

@ -0,0 +1,124 @@
CREATE TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyMonth](
[ConstructionLogWorkEfficiencyMonthId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[Month] [datetime] NULL,
[ContractTrackId] [varchar](50) NULL,
[PhysicalCompletionQuantity] [decimal](18, 2) NULL,
[MaterialConsumption] [decimal](18, 2) NULL,
[UnitOfMeasurement] [nvarchar](50) NULL,
[Type] [nvarchar](20) NULL,
[TypeId] [nvarchar](50) NULL,
[ConsumeHours] [decimal](18, 2) NULL,
[WorkEfficiency] [decimal](18, 2) NULL,
CONSTRAINT [PK_ZHGL_ConstructionLogWorkEfficiencyMonth] PRIMARY KEY CLUSTERED
(
[ConstructionLogWorkEfficiencyMonthId] 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
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyMonth] WITH CHECK ADD CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyMonth_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyMonth] CHECK CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyMonth_Base_Project]
GO
ALTER TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyMonth] WITH CHECK ADD CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyMonth_PHTGL_ContractTrack] FOREIGN KEY([ContractTrackId])
REFERENCES [dbo].[PHTGL_ContractTrack] ([Id])
GO
ALTER TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyMonth] CHECK CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyMonth_PHTGL_ContractTrack]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'ConstructionLogWorkEfficiencyMonthId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @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'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'Month'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'ContractTrackId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实物完成量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'PhysicalCompletionQuantity'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'材料消耗量' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'MaterialConsumption'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'UnitOfMeasurement'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型(人工/机械)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'Type'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'TypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'消耗工/台时' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'ConsumeHours'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工效' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth', @level2type=N'COLUMN',@level2name=N'WorkEfficiency'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工效月统计数据' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyMonth'
GO
CREATE TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyProject](
[ConstructionLogWorkEfficiencyProjectId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[Type] [nvarchar](20) NULL,
[TypeId] [nvarchar](50) NULL,
[UnitOfMeasurement] [nvarchar](50) NULL,
[BaseWorkEfficiency] [decimal](18, 2) NULL,
[AvgWorkEfficiency] [decimal](18, 2) NULL,
CONSTRAINT [PK_ZHGL_ConstructionLogWorkEfficiencyProject] PRIMARY KEY CLUSTERED
(
[ConstructionLogWorkEfficiencyProjectId] 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].[ZHGL_ConstructionLogWorkEfficiencyProject] WITH CHECK ADD CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyProject_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyProject] CHECK CONSTRAINT [FK_ZHGL_ConstructionLogWorkEfficiencyProject_Base_Project]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'ConstructionLogWorkEfficiencyProjectId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @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'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'Type'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'TypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'UnitOfMeasurement'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工效基准' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'BaseWorkEfficiency'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目当前平均工效' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject', @level2type=N'COLUMN',@level2name=N'AvgWorkEfficiency'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目工效表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyProject'
GO

View File

@ -0,0 +1,87 @@
ALTER VIEW [dbo].[View_Solution_LargerHazardListItem]
AS
/*危大工程清单明细列表视图*/
SELECT Project.ProjectCode
,ISNULL(Project.ShortName,Project.ProjectName) AS ProjectName
,Project.ProjectId
,list.HazardCode
,list.RecordTime
,list.RecardManId
,list.Remark
,list.States
,list.VersionNo
,Item.LargerHazardListItemId
,Item.SortIndex
,Item.LargerHazardListId
,Item.UnitWorkId
,(UnitWork.UnitWorkName+'('+(CASE WHEN UnitWork.ProjectType='1' THEN '建筑' ELSE '安装' END)+')') AS UnitWorkName
,Item.WorkPackageId
,Type.SpecialSchemeTypeName
,WorkPackageName AS PackageContent
,Item.WorkPackageSize
,Item.ExpectedStartTime
,Item.ExpectedEndTime
,Item.IsArgument
,(CASE WHEN Item.IsArgument=1 THEN '' ELSE '' END) AS IsArgumentName
,Item.WorkStates
,constw.ConstText AS WorkStatesName
,Item.UnitId
,Unit.UnitName
,((CASE WHEN Item.ExpectedStartTime IS NULL THEN '' ELSE CONVERT(varchar(100), Item.ExpectedStartTime,23) END)
+ ''+ (CASE WHEN Item.ExpectedEndTime IS NULL THEN '' ELSE CONVERT(varchar(100), Item.ExpectedEndTime,23) END)) AS ExpectedTime
FROM dbo.Solution_LargerHazardListItem AS Item
LEFT JOIN Solution_LargerHazardList AS list ON Item.LargerHazardListId=list.LargerHazardListId
LEFT JOIN Base_Project AS Project ON Project.ProjectId=list.ProjectId
LEFT JOIN WBS_UnitWork AS UnitWork ON Item.UnitWorkId=UnitWork.UnitWorkId
LEFT JOIN Base_SpecialSchemeType AS Type ON Item.WorkPackageId=Type.SpecialSchemeTypeId
LEFT JOIN Base_Unit AS Unit ON Item.UnitId=Unit.UnitId
LEFT JOIN Sys_Const AS constw ON Item.WorkStates=constw.ConstValue AND constw.GroupId='WorkStates'
GO
INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
VALUES ( N'34037636-4BEC-44A9-8267-7830F021AF02',N'公司平均工效统计',N'PZHGL/InformationProject/CompanyConstructionLogWorkEfficiencySum.aspx',70,N'0',N'Menu_HTGL',1,0,1)
GO
INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
VALUES ( N'7557B840-26E8-419C-ACD4-167362B40333',N'34037636-4BEC-44A9-8267-7830F021AF02',N'保存',1)
GO
CREATE TABLE [dbo].[ZHGL_ConstructionLogWorkEfficiencyCompany](
[ConstructionLogWorkEfficiencyCompanyId] [nvarchar](50) NOT NULL,
[Type] [nvarchar](20) NULL,
[TypeId] [nvarchar](50) NULL,
[UnitOfMeasurement] [nvarchar](50) NULL,
[BaseWorkEfficiency] [decimal](18, 2) NULL,
[AvgWorkEfficiency] [decimal](18, 2) NULL,
CONSTRAINT [PK_ZHGL_ConstructionLogWorkEfficiencyCompany] PRIMARY KEY CLUSTERED
(
[ConstructionLogWorkEfficiencyCompanyId] 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'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'ConstructionLogWorkEfficiencyCompanyId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型(人工/机械)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'Type'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'类型Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'TypeId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'UnitOfMeasurement'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工效基准' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'BaseWorkEfficiency'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公司当前平均工效' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany', @level2type=N'COLUMN',@level2name=N'AvgWorkEfficiency'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公司平均工效统计表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'ZHGL_ConstructionLogWorkEfficiencyCompany'
GO

View File

@ -244,4 +244,9 @@ GO
INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
VALUES ( N'E9CB92B6-3DE0-4CA6-A616-29F2957B8BD5',N'481E6B1E-A3D5-4012-B828-FE62EB6BA861',N'保存',4)
GO
INSERT [Sys_Menu] ([MenuId],[MenuName],[Url],[SortIndex],[SuperMenu],[MenuType],[IsOffice],[IsEnd],[IsUsed])
VALUES ( N'34037636-4BEC-44A9-8267-7830F021AF02',N'公司平均工效统计',N'PZHGL/InformationProject/CompanyConstructionLogWorkEfficiencySum.aspx',70,N'0',N'Menu_HTGL',1,0,1)
GO
INSERT [Sys_ButtonToMenu] ([ButtonToMenuId],[MenuId],[ButtonName],[SortIndex])
VALUES ( N'7557B840-26E8-419C-ACD4-167362B40333',N'34037636-4BEC-44A9-8267-7830F021AF02',N'保存',1)
GO

View File

@ -18,6 +18,8 @@ namespace BLL
/// <returns></returns>
public static string Http(string url, string method = "GET", string contenttype = "application/json;charset=utf-8", Hashtable header = null, string data = null)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 ;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = string.IsNullOrEmpty(method) ? "GET" : method;
request.ContentType = string.IsNullOrEmpty(contenttype) ? "application/json;charset=utf-8" : contenttype;

View File

@ -649,6 +649,9 @@
<Compile Include="PZHGL\InformationProject\ConstructionLogProblemService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogRecordService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogWorkEfficiencyCompanyService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogWorkEfficiencyMonthService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogWorkEfficiencyProjectService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionLogWorkEfficiencyService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionPlanApproveService.cs" />
<Compile Include="PZHGL\InformationProject\ConstructionPlanService.cs" />

View File

@ -893,11 +893,19 @@ namespace BLL
row[7] = item.Id;
if (workEfficiencys.Count() > 0)
{
var we = workEfficiencys.FirstOrDefault(x => x.ContractTrackId == item.Id);
if (we != null)
var we = (from x in workEfficiencys
where x.ContractTrackId == item.Id
select new { x.ConstructionLogId, x.ContractTrackId, x.PhysicalCompletionQuantity, x.MaterialConsumption }).Distinct().ToList();
decimal physicalCompletionQuantity = 0, materialConsumption = 0;
if (we.Count() > 0)
{
row[5] = we.PhysicalCompletionQuantity;
row[6] = we.MaterialConsumption;
foreach (var w in we)
{
physicalCompletionQuantity += w.PhysicalCompletionQuantity ?? 0;
materialConsumption += w.MaterialConsumption ?? 0;
}
row[5] = physicalCompletionQuantity;
row[6] = materialConsumption;
}
for (int i = 0; i < workPostIds.Count; i++)
{
@ -915,9 +923,9 @@ namespace BLL
if (d > 0)
{
row[8 + i * 2] = decimal.Round(d, 2);
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
if (physicalCompletionQuantity > 0)
{
row[9 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
row[9 + i * 2] = decimal.Round(Convert.ToDecimal(physicalCompletionQuantity / d), 2);
}
}
}
@ -938,9 +946,9 @@ namespace BLL
if (d > 0)
{
row[48 + i * 2] = decimal.Round(d, 2);
if (we.PhysicalCompletionQuantity != null && we.PhysicalCompletionQuantity > 0)
if (physicalCompletionQuantity > 0)
{
row[49 + i * 2] = decimal.Round(Convert.ToDecimal(we.PhysicalCompletionQuantity / d), 2);
row[49 + i * 2] = decimal.Round(Convert.ToDecimal(physicalCompletionQuantity / d), 2);
}
}
}

View File

@ -0,0 +1,56 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public class ConstructionLogWorkEfficiencyCompanyService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 获取施工日志公司工效明细列表
/// </summary>
/// <param name="satartRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static List<Model.ZHGL_ConstructionLogWorkEfficiencyCompany> getListData(string projectId, DateTime month)
{
return (from x in db.ZHGL_ConstructionLogWorkEfficiencyCompany
select x).ToList();
}
/// <summary>
/// 增加施工日志公司工效明细
/// </summary>
/// <param name="managerRuleApprove">施工日志公司工效明细实体</param>
public static void AddConstructionLogWorkEfficiencyCompany(Model.ZHGL_ConstructionLogWorkEfficiencyCompany constructionLogWorkEfficiencyCompany)
{
Model.SGGLDB db = Funs.DB;
Model.ZHGL_ConstructionLogWorkEfficiencyCompany newConstructionLogWorkEfficiencyCompany = new Model.ZHGL_ConstructionLogWorkEfficiencyCompany();
newConstructionLogWorkEfficiencyCompany.ConstructionLogWorkEfficiencyCompanyId = constructionLogWorkEfficiencyCompany.ConstructionLogWorkEfficiencyCompanyId;
newConstructionLogWorkEfficiencyCompany.Type = constructionLogWorkEfficiencyCompany.Type;
newConstructionLogWorkEfficiencyCompany.TypeId = constructionLogWorkEfficiencyCompany.TypeId;
newConstructionLogWorkEfficiencyCompany.UnitOfMeasurement = constructionLogWorkEfficiencyCompany.UnitOfMeasurement;
newConstructionLogWorkEfficiencyCompany.BaseWorkEfficiency = constructionLogWorkEfficiencyCompany.BaseWorkEfficiency;
newConstructionLogWorkEfficiencyCompany.AvgWorkEfficiency = constructionLogWorkEfficiencyCompany.AvgWorkEfficiency;
db.ZHGL_ConstructionLogWorkEfficiencyCompany.InsertOnSubmit(newConstructionLogWorkEfficiencyCompany);
db.SubmitChanges();
}
/// <summary>
/// 根据月报id删除对应的所有施工日志公司工效明细
/// </summary>
public static void DeleteConstructionLogWorkEfficiencyCompanys()
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.ZHGL_ConstructionLogWorkEfficiencyCompany select x).ToList();
if (q.Count() > 0)
{
db.ZHGL_ConstructionLogWorkEfficiencyCompany.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
}
}

View File

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public class ConstructionLogWorkEfficiencyMonthService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 获取施工日志月工效明细列表
/// </summary>
/// <param name="satartRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static List<Model.ZHGL_ConstructionLogWorkEfficiencyMonth> getListData(string projectId, DateTime month)
{
return (from x in db.ZHGL_ConstructionLogWorkEfficiencyMonth
where x.ProjectId == projectId && x.Month == month
select x).ToList();
}
/// <summary>
/// 增加施工日志月工效明细
/// </summary>
/// <param name="managerRuleApprove">施工日志月工效明细实体</param>
public static void AddConstructionLogWorkEfficiencyMonth(Model.ZHGL_ConstructionLogWorkEfficiencyMonth constructionLogWorkEfficiencyMonth)
{
Model.SGGLDB db = Funs.DB;
Model.ZHGL_ConstructionLogWorkEfficiencyMonth newConstructionLogWorkEfficiencyMonth = new Model.ZHGL_ConstructionLogWorkEfficiencyMonth();
newConstructionLogWorkEfficiencyMonth.ConstructionLogWorkEfficiencyMonthId = constructionLogWorkEfficiencyMonth.ConstructionLogWorkEfficiencyMonthId;
newConstructionLogWorkEfficiencyMonth.ProjectId = constructionLogWorkEfficiencyMonth.ProjectId;
newConstructionLogWorkEfficiencyMonth.Month = constructionLogWorkEfficiencyMonth.Month;
newConstructionLogWorkEfficiencyMonth.ContractTrackId = constructionLogWorkEfficiencyMonth.ContractTrackId;
newConstructionLogWorkEfficiencyMonth.PhysicalCompletionQuantity = constructionLogWorkEfficiencyMonth.PhysicalCompletionQuantity;
newConstructionLogWorkEfficiencyMonth.MaterialConsumption = constructionLogWorkEfficiencyMonth.MaterialConsumption;
newConstructionLogWorkEfficiencyMonth.UnitOfMeasurement = constructionLogWorkEfficiencyMonth.UnitOfMeasurement;
newConstructionLogWorkEfficiencyMonth.Type = constructionLogWorkEfficiencyMonth.Type;
newConstructionLogWorkEfficiencyMonth.TypeId = constructionLogWorkEfficiencyMonth.TypeId;
newConstructionLogWorkEfficiencyMonth.ConsumeHours = constructionLogWorkEfficiencyMonth.ConsumeHours;
newConstructionLogWorkEfficiencyMonth.WorkEfficiency = constructionLogWorkEfficiencyMonth.WorkEfficiency;
db.ZHGL_ConstructionLogWorkEfficiencyMonth.InsertOnSubmit(newConstructionLogWorkEfficiencyMonth);
db.SubmitChanges();
}
/// <summary>
/// 根据月报id删除对应的所有施工日志月工效明细
/// </summary>
/// <param name="ConstructionLogId">施工日志月工效明细编号</param>
public static void DeleteConstructionLogWorkEfficiencyMonthsByConstructionLogId(string projectId, DateTime month)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.ZHGL_ConstructionLogWorkEfficiencyMonth where x.ProjectId == projectId && x.Month == month select x).ToList();
if (q.Count() > 0)
{
db.ZHGL_ConstructionLogWorkEfficiencyMonth.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
}
}

View File

@ -0,0 +1,59 @@
using System;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public class ConstructionLogWorkEfficiencyProjectService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 获取施工日志项目工效明细列表
/// </summary>
/// <param name="satartRowIndex"></param>
/// <param name="maximumRows"></param>
/// <returns></returns>
public static List<Model.ZHGL_ConstructionLogWorkEfficiencyProject> getListData(string projectId, DateTime month)
{
return (from x in db.ZHGL_ConstructionLogWorkEfficiencyProject
where x.ProjectId == projectId
select x).ToList();
}
/// <summary>
/// 增加施工日志项目工效明细
/// </summary>
/// <param name="managerRuleApprove">施工日志项目工效明细实体</param>
public static void AddConstructionLogWorkEfficiencyProject(Model.ZHGL_ConstructionLogWorkEfficiencyProject constructionLogWorkEfficiencyProject)
{
Model.SGGLDB db = Funs.DB;
Model.ZHGL_ConstructionLogWorkEfficiencyProject newConstructionLogWorkEfficiencyProject = new Model.ZHGL_ConstructionLogWorkEfficiencyProject();
newConstructionLogWorkEfficiencyProject.ConstructionLogWorkEfficiencyProjectId = constructionLogWorkEfficiencyProject.ConstructionLogWorkEfficiencyProjectId;
newConstructionLogWorkEfficiencyProject.ProjectId = constructionLogWorkEfficiencyProject.ProjectId;
newConstructionLogWorkEfficiencyProject.Type = constructionLogWorkEfficiencyProject.Type;
newConstructionLogWorkEfficiencyProject.TypeId = constructionLogWorkEfficiencyProject.TypeId;
newConstructionLogWorkEfficiencyProject.UnitOfMeasurement = constructionLogWorkEfficiencyProject.UnitOfMeasurement;
newConstructionLogWorkEfficiencyProject.BaseWorkEfficiency = constructionLogWorkEfficiencyProject.BaseWorkEfficiency;
newConstructionLogWorkEfficiencyProject.AvgWorkEfficiency = constructionLogWorkEfficiencyProject.AvgWorkEfficiency;
db.ZHGL_ConstructionLogWorkEfficiencyProject.InsertOnSubmit(newConstructionLogWorkEfficiencyProject);
db.SubmitChanges();
}
/// <summary>
/// 根据月报id删除对应的所有施工日志项目工效明细
/// </summary>
/// <param name="ConstructionLogId">施工日志项目工效明细编号</param>
public static void DeleteConstructionLogWorkEfficiencyProjectsByConstructionLogId(string projectId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.ZHGL_ConstructionLogWorkEfficiencyProject where x.ProjectId == projectId select x).ToList();
if (q.Count() > 0)
{
db.ZHGL_ConstructionLogWorkEfficiencyProject.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
}
}

View File

@ -146,6 +146,10 @@ namespace FineUIPro.Web.AttachFile
Grid1.DataSource = SourceData();
}
}
else if (!string.IsNullOrEmpty(Request.Params["ConstructionLog"]))
{
Grid1.DataSource = GetConstructionLogSourceData();
}
else
{
Grid1.DataSource = GetSourceData();
@ -519,6 +523,50 @@ namespace FineUIPro.Web.AttachFile
return (JArray)Session[sessionName];
}
private JArray GetConstructionLogSourceData()
{
if (Session[sessionName] == null && !string.IsNullOrEmpty(ToKeyId))
{
Session[sessionName] = new JArray();
List<Model.AttachFile> sours = new List<Model.AttachFile>();
List<string> lists = Funs.GetStrListByStr(ToKeyId, ',');
sours = (from x in Funs.DB.AttachFile where lists.Contains(x.ToKeyId) select x).ToList();
string attachSource = string.Empty;
if (sours.Count>0)
{
foreach (var sour in sours)
{
string url = sour.AttachUrl.Replace('\\', '/');
List<string> list = Funs.GetStrListByStr(url, ',');
if (list.Count() > 0)
{
int i = 0;
foreach (var item in list)
{
string atturl = Funs.RootPath + item.Replace(';', ' ').Trim();
if (File.Exists(atturl))
{
i += 1;
break;
}
}
if (i > 0)
{
attachSource += sour.AttachSource;
}
}
}
}
if (!string.IsNullOrEmpty(attachSource))
{
attachSource = attachSource.Replace("][", ",");
Session[sessionName] = JArray.Parse(attachSource);
}
}
return (JArray)Session[sessionName];
}
/// <summary>
///
/// </summary>

View File

@ -1320,6 +1320,7 @@
<Content Include="ProjectData\UnitWork.aspx" />
<Content Include="ProjectData\UnitWorkEdit.aspx" />
<Content Include="ProjectData\UnitWorkView.aspx" />
<Content Include="PZHGL\InformationProject\CompanyConstructionLogWorkEfficiencySum.aspx" />
<Content Include="PZHGL\InformationProject\ConstructionLog.aspx" />
<Content Include="PZHGL\InformationProject\ConstructionLogEdit.aspx" />
<Content Include="PZHGL\InformationProject\ConstructionLogFileCabinet.aspx" />
@ -1340,6 +1341,7 @@
<Content Include="PZHGL\InformationProject\PictureView.aspx" />
<Content Include="PZHGL\InformationProject\ProjectConstructionLog.aspx" />
<Content Include="PZHGL\InformationProject\ProjectConstructionLogWorkEfficiency.aspx" />
<Content Include="PZHGL\InformationProject\ProjectConstructionLogWorkEfficiencySum.aspx" />
<Content Include="PZHGL\InformationProject\ReceiveFileManager.aspx" />
<Content Include="PZHGL\InformationProject\ReceiveFileManagerEdit.aspx" />
<Content Include="PZHGL\InformationProject\ReceiveFileManagerView.aspx" />
@ -12813,6 +12815,13 @@
<Compile Include="ProjectData\UnitWorkView.aspx.designer.cs">
<DependentUpon>UnitWorkView.aspx</DependentUpon>
</Compile>
<Compile Include="PZHGL\InformationProject\CompanyConstructionLogWorkEfficiencySum.aspx.cs">
<DependentUpon>CompanyConstructionLogWorkEfficiencySum.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PZHGL\InformationProject\CompanyConstructionLogWorkEfficiencySum.aspx.designer.cs">
<DependentUpon>CompanyConstructionLogWorkEfficiencySum.aspx</DependentUpon>
</Compile>
<Compile Include="PZHGL\InformationProject\ConstructionLog.aspx.cs">
<DependentUpon>ConstructionLog.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@ -12953,6 +12962,13 @@
<Compile Include="PZHGL\InformationProject\ProjectConstructionLogWorkEfficiency.aspx.designer.cs">
<DependentUpon>ProjectConstructionLogWorkEfficiency.aspx</DependentUpon>
</Compile>
<Compile Include="PZHGL\InformationProject\ProjectConstructionLogWorkEfficiencySum.aspx.cs">
<DependentUpon>ProjectConstructionLogWorkEfficiencySum.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="PZHGL\InformationProject\ProjectConstructionLogWorkEfficiencySum.aspx.designer.cs">
<DependentUpon>ProjectConstructionLogWorkEfficiencySum.aspx</DependentUpon>
</Compile>
<Compile Include="PZHGL\InformationProject\ReceiveFileManager.aspx.cs">
<DependentUpon>ReceiveFileManager.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>

View File

@ -85,7 +85,7 @@
</f:Panel>
<f:Window ID="Window1" Title="危大工程清单" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1200px" Height="650px">
Width="1300px" Height="650px" Maximized="true">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>

View File

@ -37,7 +37,7 @@
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" ClicksToEdit="1"
DataIDField="LargerHazardListItemId" DataKeyNames="LargerHazardListItemId"
SortDirection="ASC" AllowSorting="true" SortField="SortIndex" ForceFit="true"
Height="400px" EnableColumnLines="true" EnableRowDoubleClickEvent="true"
EnableColumnLines="true" EnableRowDoubleClickEvent="true" Height="600px"
OnRowDoubleClick="Grid1_RowDoubleClick">
<Columns>
<f:RenderField Width="50px" ColumnID="SortIndex" DataField="SortIndex"
@ -49,17 +49,17 @@
<f:RenderField Width="150px" ColumnID="UnitWorkName" DataField="UnitWorkName"
FieldType="String" HeaderText="单位工程" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="PackageContent" DataField="PackageContent"
FieldType="String" HeaderText="分部分项</br>工程名称" TextAlign="Left" HeaderTextAlign="Center">
<f:RenderField Width="150px" ColumnID="SpecialSchemeTypeName" DataField="SpecialSchemeTypeName"
FieldType="String" HeaderText="分部分项工程名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="WorkPackageSize" DataField="WorkPackageSize"
FieldType="String" HeaderText="分部分项</br>工程规模" TextAlign="Left" HeaderTextAlign="Center">
FieldType="String" HeaderText="分部分项工程规模" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="ExpectedTime" DataField="ExpectedTime"
FieldType="String" HeaderText="预计施工起止时间" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="IsArgumentName" DataField="IsArgumentName"
FieldType="String" HeaderText="是否需要</br>专家论证" TextAlign="Left" HeaderTextAlign="Center">
<f:RenderField Width="120px" ColumnID="IsArgumentName" DataField="IsArgumentName"
FieldType="String" HeaderText="是否需要专家论证" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="WorkStatesName" DataField="WorkStatesName"
FieldType="String" HeaderText="作业状态" TextAlign="Left" HeaderTextAlign="Center">
@ -96,8 +96,8 @@
</Toolbars>
</f:Form>
<f:Window ID="Window1" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="1024px" OnClose="Window1_Close"
Height="600px">
Target="Parent" EnableResize="true" runat="server" IsModal="true" Width="1200px" OnClose="Window1_Close"
Height="500px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server"

View File

@ -21,19 +21,19 @@
</f:DropDownList>
</Items>
</f:FormRow>
<f:FormRow ColumnWidths="90% 10%">
<%-- <f:FormRow ColumnWidths="90% 10%">
<Items>
<f:Label runat="server" ID="txtWorkPackageId" Label="分部分项工程名称" ShowRedStar="true"></f:Label>
<f:TextBox runat="server" ID="hdWorkPackageId" Hidden="true"></f:TextBox>
<f:Button ID="btSearch" ToolTip="选择" Icon="SystemSearch" runat="server" OnClick="btSearch_Click">
</f:Button>
</Items>
</f:FormRow>
</f:FormRow>--%>
<f:FormRow>
<Items>
<%-- <f:DropDownList ID="drpWorkPackageId" runat="server" Label="分部分项</br>工程名称" EnableEdit="true"
<f:DropDownList ID="drpWorkPackageId" runat="server" Label="分部分项工程名称" EnableEdit="true"
Required="true" ShowRedStar="true">
</f:DropDownList>--%>
</f:DropDownList>
<f:TextBox ID="txtWorkPackageSize" runat="server" Label="分部分项工程规模" MaxLength="500">
</f:TextBox>
</Items>
@ -80,10 +80,10 @@
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="Window1" Title="WBS" Hidden="true" EnableIFrame="true" EnableMaximize="true"
<%-- <f:Window ID="Window1" Title="WBS" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Self" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="800px" Height="650px">
</f:Window>
</f:Window>--%>
</form>
</body>
</html>

View File

@ -51,7 +51,7 @@ namespace FineUIPro.Web.HSSE.Solution
//单位工程
BLL.UnitWorkService.InitUnitWorkDropDownList(this.drpUnitWorkId, this.CurrUser.LoginProjectId, true);
//分部分项
// BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(this.drpWorkPackageId, true);
BLL.SpecialSchemeTypeService.InitSpecialSchemeTypeDropDownList(this.drpWorkPackageId, true);
//是否需要专家论证
BLL.ConstValue.InitConstValueRadioButtonList(this.rblIsArgument, ConstValue.Group_0001, "False");
//作业状态
@ -70,14 +70,14 @@ namespace FineUIPro.Web.HSSE.Solution
{
this.drpUnitWorkId.SelectedValue = getItem.UnitWorkId;
}
//if (!string.IsNullOrEmpty(getItem.WorkPackageId))
//{
// this.drpWorkPackageId.SelectedValue = getItem.WorkPackageId;
//}
if (!string.IsNullOrEmpty(getItem.WorkPackageId))
{
this.drpWorkPackageId.SelectedValue = getItem.WorkPackageId;
}
this.txtWorkPackageSize.Text = getItem.WorkPackageSize;
this.hdWorkPackageId.Text = getItem.WorkPackageId;
this.txtWorkPackageId.Text = getItem.PackageContent;
//this.hdWorkPackageId.Text = getItem.WorkPackageId;
//this.txtWorkPackageId.Text = getItem.PackageContent;
this.txtExpectedStartTime.Text = string.Format("{0:yyyy-MM-dd}", getItem.ExpectedStartTime);
this.txtExpectedEndTime.Text = string.Format("{0:yyyy-MM-dd}", getItem.ExpectedEndTime);
@ -125,13 +125,13 @@ namespace FineUIPro.Web.HSSE.Solution
ExpectedEndTime = Funs.GetNewDateTime(this.txtExpectedEndTime.Text),
IsArgument = Convert.ToBoolean(this.rblIsArgument.SelectedValue),
WorkStates = this.rbWorkStates.SelectedValue ?? "1",
WorkPackageId = this.hdWorkPackageId.Text,
WorkPackageName = this.txtWorkPackageId.Text,
//WorkPackageId = this.hdWorkPackageId.Text,
//WorkPackageName = this.txtWorkPackageId.Text,
};
//if (this.drpWorkPackageId.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpWorkPackageId.SelectedValue))
//{
// newItem.WorkPackageId = this.drpWorkPackageId.SelectedValue;
//}
if (this.drpWorkPackageId.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpWorkPackageId.SelectedValue))
{
newItem.WorkPackageId = this.drpWorkPackageId.SelectedValue;
}
if (this.drpUnitWorkId.SelectedValue != Const._Null && !string.IsNullOrEmpty(this.drpUnitWorkId.SelectedValue))
{
newItem.UnitWorkId = this.drpUnitWorkId.SelectedValue;
@ -157,20 +157,20 @@ namespace FineUIPro.Web.HSSE.Solution
}
#endregion
protected void btSearch_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdWorkPackageId.ClientID)
+ Window1.GetShowReference(String.Format("~/DigData/ShowProjectWBS.aspx?levle={0}", 3, "选择WBS - ")));
}
//protected void btSearch_Click(object sender, EventArgs e)
//{
// PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdWorkPackageId.ClientID)
// + Window1.GetShowReference(String.Format("~/DigData/ShowProjectWBS.aspx?levle={0}", 3, "选择WBS - ")));
//}
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
var getReturnValues = Funs.GetStrListByStr(this.hdWorkPackageId.Text,'&');
if (getReturnValues.Count() > 1)
{
this.hdWorkPackageId.Text = getReturnValues[0].ToString();
this.txtWorkPackageId.Text = getReturnValues[1].ToString();
}
}
//protected void Window1_Close(object sender, WindowCloseEventArgs e)
//{
// var getReturnValues = Funs.GetStrListByStr(this.hdWorkPackageId.Text,'&');
// if (getReturnValues.Count() > 1)
// {
// this.hdWorkPackageId.Text = getReturnValues[0].ToString();
// this.txtWorkPackageId.Text = getReturnValues[1].ToString();
// }
//}
}
}

View File

@ -60,31 +60,13 @@ namespace FineUIPro.Web.HSSE.Solution
protected global::FineUIPro.DropDownList drpUnitWorkId;
/// <summary>
/// txtWorkPackageId 控件。
/// drpWorkPackageId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label txtWorkPackageId;
/// <summary>
/// hdWorkPackageId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdWorkPackageId;
/// <summary>
/// btSearch 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btSearch;
protected global::FineUIPro.DropDownList drpWorkPackageId;
/// <summary>
/// txtWorkPackageSize 控件。
@ -184,14 +166,5 @@ namespace FineUIPro.Web.HSSE.Solution
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}

View File

@ -35,28 +35,28 @@
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" ClicksToEdit="1"
DataIDField="LargerHazardListItemId" DataKeyNames="LargerHazardListItemId"
SortDirection="ASC" AllowSorting="true" SortField="SortIndex" ForceFit="true"
Height="400px" EnableColumnLines="true">
Height="600px" EnableColumnLines="true">
<Columns>
<f:RenderField Width="50px" ColumnID="SortIndex" DataField="SortIndex"
FieldType="String" HeaderText="序号" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="110px" ColumnID="ProjectName" DataField="ProjectName"
<f:RenderField Width="100px" ColumnID="ProjectName" DataField="ProjectName"
FieldType="String" HeaderText="项目名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="145px" ColumnID="UnitWorkName" DataField="UnitWorkName"
<f:RenderField Width="150px" ColumnID="UnitWorkName" DataField="UnitWorkName"
FieldType="String" HeaderText="单位工程" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="145px" ColumnID="PackageContent" DataField="PackageContent"
FieldType="String" HeaderText="分部分项</br>工程名称" TextAlign="Left" HeaderTextAlign="Center">
<f:RenderField Width="150px" ColumnID="SpecialSchemeTypeName" DataField="SpecialSchemeTypeName"
FieldType="String" HeaderText="分部分项工程名称" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="WorkPackageSize" DataField="WorkPackageSize"
FieldType="String" HeaderText="分部分项</br>工程规模" TextAlign="Left" HeaderTextAlign="Center">
FieldType="String" HeaderText="分部分项工程规模" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="ExpectedTime" DataField="ExpectedTime"
FieldType="String" HeaderText="预计施工起止时间" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="IsArgumentName" DataField="IsArgumentName"
FieldType="String" HeaderText="是否需要</br>专家论证" TextAlign="Left" HeaderTextAlign="Center">
<f:RenderField Width="120px" ColumnID="IsArgumentName" DataField="IsArgumentName"
FieldType="String" HeaderText="是否需要专家论证" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="WorkStatesName" DataField="WorkStatesName"
FieldType="String" HeaderText="作业状态" TextAlign="Left" HeaderTextAlign="Center">

View File

@ -28,7 +28,7 @@
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目情况" BoxFlex="1" AllowColumnLocking="true" ForceFit="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">
TreeColumn="Name" DataIDField="Id" DataParentIDField="SupId" ExpandAllTreeNodes="false">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>

View File

@ -0,0 +1,74 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CompanyConstructionLogWorkEfficiencySum.aspx.cs" Inherits="FineUIPro.Web.PZHGL.InformationProject.CompanyConstructionLogWorkEfficiencySum" %>
<!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" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
DataIDField="Id">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="BtnAnalyse" Text="统计" Icon="ChartPie"
runat="server" OnClick="BtnAnalyse_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Text="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="50px" ColumnID="Code" DataField="Code" FieldType="String" EnableLock="true" Locked="true"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Name" DataField="Name" SortField="Name" EnableLock="true" Locked="true"
FieldType="String" HeaderText="工种/机械" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="60px" ColumnID="UnitOfMeasurement" DataField="UnitOfMeasurement" SortField="UnitOfMeasurement" EnableLock="true" Locked="true"
FieldType="String" HeaderText="单位" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BaseWorkEfficiency" DataField="BaseWorkEfficiency" SortField="BaseWorkEfficiency" EnableLock="true" Locked="true"
FieldType="Double" HeaderText="公司工效基准" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="nbBaseWorkEfficiency" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="AvgWorkEfficiency" DataField="AvgWorkEfficiency" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="公司当前平均工效" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Type" DataField="Type" SortField="Type"
FieldType="String" TextAlign="Left" HeaderTextAlign="Center" Hidden="true">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TypeId" DataField="TypeId" SortField="TypeId"
FieldType="String" TextAlign="Left" HeaderTextAlign="Center" Hidden="true">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,274 @@
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.PZHGL.InformationProject
{
public partial class CompanyConstructionLogWorkEfficiencySum : PageBase
{
/// <summary>
/// 加载表头
/// </summary>
protected void Page_Init(object sender, EventArgs e)
{
InitGrid();
}
#region
/// <summary>
/// 表头
/// </summary>
private void InitGrid()
{
Model.SGGLDB db = Funs.DB;
var projects = (from x in db.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1
select x).ToList();
GroupField gf = new GroupField();
gf.ColumnID = "GX";
gf.HeaderText = "工效统计";
gf.HeaderTextAlign = TextAlign.Center;
for (int i = 0; i < projects.Count; i++)
{
RenderField rd1 = new RenderField();
rd1.ColumnID = "Project" + i.ToString();
rd1.Width = Unit.Pixel(100);
rd1.DataField = "Project" + i.ToString();
rd1.FieldType = FieldType.Double;
rd1.HeaderText = projects[i].ShortName;
rd1.HeaderTextAlign = TextAlign.Center;
gf.Columns.Add(rd1);
}
Grid1.Columns.Add(gf);
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
#endregion
private void GetData()
{
Model.SGGLDB db = Funs.DB;
var constructionLogWorkEfficiencyProjects = from x in db.ZHGL_ConstructionLogWorkEfficiencyProject
select new { x.TypeId, x.UnitOfMeasurement, x.AvgWorkEfficiency, x.ProjectId };
var persons = (from x in db.ZHGL_ConstructionLogWorkEfficiencyProject
join y in db.Base_WorkPost on x.TypeId equals y.WorkPostId
where x.Type == "Person"
select new { y.WorkPostName, x.UnitOfMeasurement, x.TypeId }).Distinct().OrderBy(x => x.WorkPostName).ToList();
var machines = (from x in db.ZHGL_ConstructionLogWorkEfficiencyProject
join y in db.Base_SpecialEquipment on x.TypeId equals y.SpecialEquipmentId
where x.Type == "Machine"
select new { y.SpecialEquipmentName, x.UnitOfMeasurement, x.TypeId }).Distinct().OrderBy(x => x.SpecialEquipmentName).ToList();
var projects = (from x in db.Base_Project
where x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1
select x).ToList();
var workEfficiencyCompanys = from x in db.ZHGL_ConstructionLogWorkEfficiencyCompany select x;
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String)));
table.Columns.Add(new DataColumn("Name", typeof(String)));
table.Columns.Add(new DataColumn("UnitOfMeasurement", typeof(String)));
table.Columns.Add(new DataColumn("BaseWorkEfficiency", typeof(String)));
table.Columns.Add(new DataColumn("AvgWorkEfficiency", typeof(String)));
table.Columns.Add(new DataColumn("Type", typeof(String)));
table.Columns.Add(new DataColumn("TypeId", typeof(String)));
table.Columns.Add(new DataColumn("Project0", typeof(String)));
table.Columns.Add(new DataColumn("Project1", typeof(String)));
table.Columns.Add(new DataColumn("Project2", typeof(String)));
table.Columns.Add(new DataColumn("Project3", typeof(String)));
table.Columns.Add(new DataColumn("Project4", typeof(String)));
table.Columns.Add(new DataColumn("Project5", typeof(String)));
table.Columns.Add(new DataColumn("Project6", typeof(String)));
table.Columns.Add(new DataColumn("Project7", typeof(String)));
table.Columns.Add(new DataColumn("Project8", typeof(String)));
table.Columns.Add(new DataColumn("Project9", typeof(String)));
table.Columns.Add(new DataColumn("Project10", typeof(String)));
table.Columns.Add(new DataColumn("Project11", typeof(String)));
table.Columns.Add(new DataColumn("Project12", typeof(String)));
table.Columns.Add(new DataColumn("Project13", typeof(String)));
table.Columns.Add(new DataColumn("Project14", typeof(String)));
table.Columns.Add(new DataColumn("Project15", typeof(String)));
table.Columns.Add(new DataColumn("Project16", typeof(String)));
table.Columns.Add(new DataColumn("Project17", typeof(String)));
table.Columns.Add(new DataColumn("Project18", typeof(String)));
table.Columns.Add(new DataColumn("Project19", typeof(String)));
table.Columns.Add(new DataColumn("Project20", typeof(String)));
table.Columns.Add(new DataColumn("Project21", typeof(String)));
table.Columns.Add(new DataColumn("Project22", typeof(String)));
table.Columns.Add(new DataColumn("Project23", typeof(String)));
table.Columns.Add(new DataColumn("Project24", typeof(String)));
table.Columns.Add(new DataColumn("Project25", typeof(String)));
table.Columns.Add(new DataColumn("Project26", typeof(String)));
table.Columns.Add(new DataColumn("Project27", typeof(String)));
table.Columns.Add(new DataColumn("Project28", typeof(String)));
table.Columns.Add(new DataColumn("Project29", typeof(String)));
table.Columns.Add(new DataColumn("Project30", typeof(String)));
table.Columns.Add(new DataColumn("Project31", typeof(String)));
table.Columns.Add(new DataColumn("Project32", typeof(String)));
table.Columns.Add(new DataColumn("Project33", typeof(String)));
table.Columns.Add(new DataColumn("Project34", typeof(String)));
table.Columns.Add(new DataColumn("Project35", typeof(String)));
table.Columns.Add(new DataColumn("Project36", typeof(String)));
table.Columns.Add(new DataColumn("Project37", typeof(String)));
table.Columns.Add(new DataColumn("Project38", typeof(String)));
table.Columns.Add(new DataColumn("Project39", typeof(String)));
table.Columns.Add(new DataColumn("Project40", typeof(String)));
DataRow row;
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = "一";
row[2] = "人工";
table.Rows.Add(row);
int a = 1;
foreach (var person in persons)
{
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = a;
row[2] = person.WorkPostName;
row[3] = person.UnitOfMeasurement;
var workEfficiencyCompany = workEfficiencyCompanys.FirstOrDefault(x => x.TypeId == person.TypeId && x.UnitOfMeasurement == person.UnitOfMeasurement);
if (workEfficiencyCompany != null)
{
row[4] = workEfficiencyCompany.BaseWorkEfficiency;
}
int b = 0;
List<decimal> list = new List<decimal>();
foreach (var project in projects)
{
var workEfficiency = (from x in constructionLogWorkEfficiencyProjects
where x.TypeId == person.TypeId && x.UnitOfMeasurement == person.UnitOfMeasurement && x.ProjectId == project.ProjectId && x.AvgWorkEfficiency != null
select x).FirstOrDefault();
if (workEfficiency != null)
{
decimal d = decimal.Round(workEfficiency.AvgWorkEfficiency.Value, 2);
row[8 + b] = d;
list.Add(d);
}
b++;
}
if (list.Count > 0)
{
row[5] = decimal.Round(Convert.ToDecimal(list.Sum() / Convert.ToDecimal(list.Count)), 2);
}
row[6] = "Person";
row[7] = person.TypeId;
table.Rows.Add(row);
a++;
}
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = "二";
row[2] = "机械";
table.Rows.Add(row);
a = 1;
foreach (var machine in machines)
{
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = a;
row[2] = machine.SpecialEquipmentName;
row[3] = machine.UnitOfMeasurement;
var workEfficiencyCompany = workEfficiencyCompanys.FirstOrDefault(x => x.TypeId == machine.TypeId && x.UnitOfMeasurement == machine.UnitOfMeasurement);
if (workEfficiencyCompany != null)
{
row[4] = workEfficiencyCompany.BaseWorkEfficiency;
}
int b = 0;
List<decimal> list = new List<decimal>();
foreach (var project in projects)
{
var workEfficiency = (from x in constructionLogWorkEfficiencyProjects
where x.TypeId == machine.TypeId && x.UnitOfMeasurement == machine.UnitOfMeasurement && x.ProjectId == project.ProjectId && x.AvgWorkEfficiency != null
select x).FirstOrDefault();
if (workEfficiency != null)
{
decimal d = decimal.Round(workEfficiency.AvgWorkEfficiency.Value, 2);
row[8 + b] = d;
list.Add(d);
}
b++;
}
if (list.Count > 0)
{
row[5] = decimal.Round(Convert.ToDecimal(list.Sum() / Convert.ToDecimal(list.Count)), 2);
}
row[6] = "Machine";
row[7] = machine.TypeId;
table.Rows.Add(row);
a++;
}
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 统计
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
GetData();
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.Grid1.Rows.Count > 0)
{
BLL.ConstructionLogWorkEfficiencyCompanyService.DeleteConstructionLogWorkEfficiencyCompanys();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int a = mergedRow.Value<int>("index");
string type = values.Value<string>("Type");
if (!string.IsNullOrEmpty(type))
{
string unitOfMeasurement = values.Value<string>("UnitOfMeasurement");
string baseWorkEfficiency = values.Value<string>("BaseWorkEfficiency");
string avgWorkEfficiency = values.Value<string>("AvgWorkEfficiency");
string typeId = values.Value<string>("TypeId");
Model.ZHGL_ConstructionLogWorkEfficiencyCompany workEfficiency = new Model.ZHGL_ConstructionLogWorkEfficiencyCompany();
workEfficiency.ConstructionLogWorkEfficiencyCompanyId = SQLHelper.GetNewID();
workEfficiency.Type = type;
workEfficiency.TypeId = typeId;
workEfficiency.UnitOfMeasurement = unitOfMeasurement;
workEfficiency.BaseWorkEfficiency = Funs.GetNewDecimal(baseWorkEfficiency);
workEfficiency.AvgWorkEfficiency = Funs.GetNewDecimal(avgWorkEfficiency);
BLL.ConstructionLogWorkEfficiencyCompanyService.AddConstructionLogWorkEfficiencyCompany(workEfficiency);
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("请先统计后再保存!", MessageBoxIcon.Warning);
}
}
#endregion
}
}

View File

@ -0,0 +1,87 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PZHGL.InformationProject {
public partial class CompanyConstructionLogWorkEfficiencySum {
/// <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>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// nbBaseWorkEfficiency 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbBaseWorkEfficiency;
}
}

View File

@ -40,9 +40,13 @@
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="imgBtnFile" Text="现场照片" ToolTip="上传及查看" Icon="TableCell" runat="server"
OnClick="imgBtnFile_Click">
</f:Button>
<f:HiddenField runat="server" ID="hdWorkPostId"></f:HiddenField>
<f:HiddenField runat="server" ID="hdMachineId"></f:HiddenField>
<f:HiddenField runat="server" ID="hdConstructionLogId"></f:HiddenField>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Text="保存" ToolTip="保存施工日志" Icon="SystemSave" runat="server" OnClick="btnSave_Click" ValidateForms="SimpleForm1">
</f:Button>
</Items>

View File

@ -549,8 +549,12 @@ namespace FineUIPro.Web.PZHGL.InformationProject
this.txtFileCode.Text = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "ZHGL_ConstructionLog", "FileCode", this.CurrUser.LoginProjectId, prefix);
this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", today);
this.txtWeek.Text = Funs.GetWeekDay(today.DayOfWeek.ToString());
this.txtWeather.Text = string.Empty;
this.txtTemperature.Text = string.Empty;
var getW = WeatherService.GetWeather(this.CurrUser.LoginProjectId);
if (getW != null)
{
this.txtWeather.Text = getW.WeatherRef;
this.txtTemperature.Text = getW.AllTem;
}
var log = (from x in Funs.DB.ZHGL_ConstructionLog
where x.ProjectId == this.CurrUser.LoginProjectId && x.CompileDate == today
select x).FirstOrDefault();
@ -593,11 +597,11 @@ namespace FineUIPro.Web.PZHGL.InformationProject
}
}
this.txtRemark.Text = string.Empty;
this.txtHSETodaySummary.Text = string.Empty;
this.txtHSETodaySummary.Text = "安全事故:次;安全检查:次;安全检查累计问题项:项,已整改:项。";
this.txtHSETodaySummaryRemark.Text = string.Empty;
this.txtHSETomorrowPlan.Text = string.Empty;
this.txtHSETomorrowPlanRemark.Text = string.Empty;
this.txtCQMSTodaySummary.Text = string.Empty;
this.txtCQMSTodaySummary.Text = "质量事故:次;质量检查:次;质量验收:项;质量检查问题累计:项,已整改:项。";
this.txtCQMSTodaySummaryRemark.Text = string.Empty;
this.txtCQMSTomorrowPlan.Text = string.Empty;
this.txtCQMSTomorrowPlanRemark.Text = string.Empty;
@ -833,7 +837,7 @@ namespace FineUIPro.Web.PZHGL.InformationProject
foreach (JObject mergedRow in Grid2.GetMergedData()) //机械数量
{
JObject values = mergedRow.Value<JObject>("values");
for (int i = 0; i < list.Count; i++)
for (int i = 0; i < list2.Count; i++)
{
Model.ZHGL_ConstructionLogMachine newItem = new Model.ZHGL_ConstructionLogMachine();
newItem.ConstructionLogMachineId = SQLHelper.GetNewID();
@ -1283,5 +1287,14 @@ namespace FineUIPro.Web.PZHGL.InformationProject
Alert.ShowInTop("请选择合同编号和专业工程!", MessageBoxIcon.Warning);
}
}
protected void imgBtnFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.hdConstructionLogId.Text)) //新增记录
{
this.hdConstructionLogId.Text = SQLHelper.GetNewID();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/ConstructionLog&menuId={2}", 0, this.hdConstructionLogId.Text, BLL.Const.ConstructionLogMenuId)));
}
}
}

View File

@ -93,6 +93,15 @@ namespace FineUIPro.Web.PZHGL.InformationProject {
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// imgBtnFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnFile;
/// <summary>
/// hdWorkPostId 控件。
/// </summary>

View File

@ -147,11 +147,11 @@ namespace FineUIPro.Web.PZHGL.InformationProject
DateTime? endTime = startTime.HasValue ? startTime.Value.AddMonths(1) : System.DateTime.Now;
this.tvControlItem.Nodes.Clear();
var persons = from x in Funs.DB.Person_Persons
var persons = (from x in Funs.DB.Person_Persons
join y in Funs.DB.ZHGL_ConstructionLog
on x.PersonId equals y.CompileMan
where y.ProjectId == this.CurrUser.LoginProjectId && y.CompileDate >= startTime && y.CompileDate < endTime
select x;
select x).Distinct().ToList();
foreach (var person in persons)
{
var logs = from x in Funs.DB.ZHGL_ConstructionLog

View File

@ -186,9 +186,6 @@ namespace FineUIPro.Web.PZHGL.InformationProject
{
string constructionLogId = Request.Params["ConstructionLogId"];
Model.SGGLDB db = Funs.DB;
var oldViewInfos = from x in db.ZHGL_ConstructionLogWorkEfficiency
where x.ConstructionLogId == constructionLogId
select x;
BLL.ConstructionLogWorkEfficiencyService.DeleteConstructionLogWorkEfficiencysByConstructionLogId(constructionLogId);
List<string> workPostIds = Funs.GetStrListByStr(Request.Params["WorkPostId"], ',');
List<string> machineIds = Funs.GetStrListByStr(Request.Params["MachineId"], ',');

View File

@ -54,27 +54,9 @@
HeaderText="材料消耗量(净量+损耗量)" HeaderTextAlign="Center" TextAlign="Left">
</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;
if (columnId.indexOf('ConsumeHours') != -1) {
var physicalCompletionQuantity = me.getCellValue(rowId, 'PhysicalCompletionQuantity');
var hours = me.getCellValue(rowId, columnId);
var workEfficiencyId = columnId.replace('ConsumeHours', 'WorkEfficiency');
if (physicalCompletionQuantity.toString() != "" && hours.toString() != "") {
me.updateCellValue(rowId, workEfficiencyId, (physicalCompletionQuantity / hours).toFixed(2));
}
}
}
</script>
</body>
</html>

View File

@ -149,34 +149,6 @@ namespace FineUIPro.Web.PZHGL.InformationProject
DataTable table = BLL.PhtglContractTrackService.GetProjectAllTreeDataTable(this.CurrUser.LoginProjectId, string.Empty, contractNoList, professionalList, workPostIds, machineIds, this.txtCompileDate.Text.Trim());
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()))
{
foreach (GridColumn column in Grid1.Columns)
{
if (column.ColumnIndex != 0 && column.ColumnIndex != 1 && column.ColumnIndex != 2)
{
if (column.ColumnIndex > 5)
{
GroupField gf1 = column as GroupField;
foreach (var column1 in gf1.Columns)
{
GroupField gf2 = column1 as GroupField;
foreach (var column2 in gf2.Columns)
{
this.Grid1.Rows[i].CellCssClasses[column2.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
else
{
this.Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
}
}
}
protected void txtCompileDate_TextChanged(object sender, EventArgs e)

View File

@ -28,9 +28,15 @@
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:DatePicker ID="txtMonth" runat="server" Label="月份" LabelAlign="Right" DateFormatString="yyyy-MM" LabelWidth="120px" AutoPostBack="true" OnTextChanged="txtMonth_TextChanged"></f:DatePicker>
<f:DatePicker ID="txtMonth" runat="server" Label="月份" LabelAlign="Right" DateFormatString="yyyy-MM" DisplayType="Month" AutoPostBack="true" OnTextChanged="txtMonth_TextChanged" LabelWidth="120px"></f:DatePicker>
<f:TextBox runat="server" ID="hdId" Hidden="true"></f:TextBox>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="BtnAnalyse" Text="统计" Icon="ChartPie"
runat="server" OnClick="BtnAnalyse_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Text="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@ -54,27 +60,9 @@
HeaderText="材料消耗量(净量+损耗量)" HeaderTextAlign="Center" TextAlign="Left">
</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;
if (columnId.indexOf('ConsumeHours') != -1) {
var physicalCompletionQuantity = me.getCellValue(rowId, 'PhysicalCompletionQuantity');
var hours = me.getCellValue(rowId, columnId);
var workEfficiencyId = columnId.replace('ConsumeHours', 'WorkEfficiency');
if (physicalCompletionQuantity.toString() != "" && hours.toString() != "") {
me.updateCellValue(rowId, workEfficiencyId, (physicalCompletionQuantity / hours).toFixed(2));
}
}
}
</script>
</body>
</html>

View File

@ -107,7 +107,6 @@ namespace FineUIPro.Web.PZHGL.InformationProject
if (!IsPostBack)
{
this.txtMonth.Text = string.Format("{0:yyyy-MM}", DateTime.Now);
GetData();
}
}
#endregion
@ -151,37 +150,15 @@ namespace FineUIPro.Web.PZHGL.InformationProject
DataTable table = BLL.PhtglContractTrackService.GetMonthProjectAllTreeDataTable(this.CurrUser.LoginProjectId, string.Empty, contractNoList, professionalList, workPostIds, machineIds, startDate, endDate);
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()))
{
foreach (GridColumn column in Grid1.Columns)
{
if (column.ColumnIndex != 0 && column.ColumnIndex != 1 && column.ColumnIndex != 2)
{
if (column.ColumnIndex > 5)
{
GroupField gf1 = column as GroupField;
foreach (var column1 in gf1.Columns)
{
GroupField gf2 = column1 as GroupField;
foreach (var column2 in gf2.Columns)
{
this.Grid1.Rows[i].CellCssClasses[column2.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
else
{
this.Grid1.Rows[i].CellCssClasses[column.ColumnIndex] = "f-grid-cell-uneditable";
}
}
}
}
}
}
protected void txtMonth_TextChanged(object sender, EventArgs e)
#region
/// <summary>
/// 统计
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtMonth.Text.Trim()))
{
@ -194,5 +171,87 @@ namespace FineUIPro.Web.PZHGL.InformationProject
Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtMonth.Text.Trim()))
{
Model.SGGLDB db = Funs.DB;
DateTime month = Funs.GetNewDateTimeOrNow(this.txtMonth.Text.Trim() + "-01");
BLL.ConstructionLogWorkEfficiencyMonthService.DeleteConstructionLogWorkEfficiencyMonthsByConstructionLogId(this.CurrUser.LoginProjectId, month);
var workEfficiencys = from x in db.ZHGL_ConstructionLogWorkEfficiency
join y in db.ZHGL_ConstructionLog on x.ConstructionLogId equals y.ConstructionLogId
where y.ProjectId == this.CurrUser.LoginProjectId
select x;
List<string> workPostIds = (from x in workEfficiencys
where x.Type == "Person"
select x.TypeId).Distinct().ToList();
List<string> machineIds = (from x in workEfficiencys
where x.Type == "Machine"
select x.TypeId).Distinct().ToList();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int a = mergedRow.Value<int>("index");
if (this.Grid1.Rows[a].DataKeys[2] != null)
{
string physicalCompletionQuantity = values.Value<string>("PhysicalCompletionQuantity");
string materialConsumption = values.Value<string>("MaterialConsumption");
string unitOfMeasurement = values.Value<string>("UnitOfMeasurement");
for (int i = 0; i < workPostIds.Count; i++)
{
Model.ZHGL_ConstructionLogWorkEfficiencyMonth workEfficiency = new Model.ZHGL_ConstructionLogWorkEfficiencyMonth();
workEfficiency.ConstructionLogWorkEfficiencyMonthId = SQLHelper.GetNewID();
workEfficiency.ProjectId = this.CurrUser.LoginProjectId;
workEfficiency.Month = month;
workEfficiency.ContractTrackId = this.Grid1.Rows[a].DataKeys[2].ToString();
workEfficiency.PhysicalCompletionQuantity = Funs.GetNewDecimal(physicalCompletionQuantity);
workEfficiency.MaterialConsumption = Funs.GetNewDecimal(materialConsumption);
workEfficiency.UnitOfMeasurement = unitOfMeasurement;
workEfficiency.Type = "Person";
workEfficiency.TypeId = workPostIds[i];
workEfficiency.ConsumeHours = Funs.GetNewDecimal(values.Value<string>("PersonConsumeHours" + i.ToString()));
workEfficiency.WorkEfficiency = Funs.GetNewDecimal(values.Value<string>("PersonWorkEfficiency" + i.ToString()));
BLL.ConstructionLogWorkEfficiencyMonthService.AddConstructionLogWorkEfficiencyMonth(workEfficiency);
}
for (int i = 0; i < machineIds.Count; i++)
{
Model.ZHGL_ConstructionLogWorkEfficiencyMonth workEfficiency = new Model.ZHGL_ConstructionLogWorkEfficiencyMonth();
workEfficiency.ConstructionLogWorkEfficiencyMonthId = SQLHelper.GetNewID();
workEfficiency.ProjectId = this.CurrUser.LoginProjectId;
workEfficiency.Month = month;
workEfficiency.ContractTrackId = this.Grid1.Rows[a].DataKeys[2].ToString();
workEfficiency.PhysicalCompletionQuantity = Funs.GetNewDecimal(physicalCompletionQuantity);
workEfficiency.MaterialConsumption = Funs.GetNewDecimal(materialConsumption);
workEfficiency.UnitOfMeasurement = unitOfMeasurement;
workEfficiency.Type = "Machine";
workEfficiency.TypeId = machineIds[i];
workEfficiency.ConsumeHours = Funs.GetNewDecimal(values.Value<string>("MachineConsumeHours" + i.ToString()));
workEfficiency.WorkEfficiency = Funs.GetNewDecimal(values.Value<string>("MachineWorkEfficiency" + i.ToString()));
BLL.ConstructionLogWorkEfficiencyMonthService.AddConstructionLogWorkEfficiencyMonth(workEfficiency);
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("请选择月份!", MessageBoxIcon.Warning);
}
}
#endregion
protected void txtMonth_TextChanged(object sender, EventArgs e)
{
Grid1.DataSource = null;
Grid1.DataBind();
}
}
}

View File

@ -74,5 +74,23 @@ namespace FineUIPro.Web.PZHGL.InformationProject {
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox hdId;
/// <summary>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
}
}

View File

@ -40,8 +40,12 @@
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="imgBtnFile" Text="现场照片" ToolTip="查看" Icon="TableCell" runat="server"
OnClick="imgBtnFile_Click">
</f:Button>
<f:HiddenField runat="server" ID="hdWorkPostId"></f:HiddenField>
<f:HiddenField runat="server" ID="hdMachineId"></f:HiddenField>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Text="发布" ToolTip="发布项目施工日志" Icon="SystemSave" runat="server" OnClick="btnSave_Click" ValidateForms="SimpleForm1">
</f:Button>
</Items>

View File

@ -184,7 +184,7 @@ namespace FineUIPro.Web.PZHGL.InformationProject
rootNode.Expanded = true;
this.tvControlItem.Nodes.Add(rootNode);
var logs = from x in Funs.DB.ZHGL_ProjectConstructionLog
where x.ProjectId == this.CurrUser.LoginProjectId && x.CompileMan == this.CurrUser.PersonId && x.CompileDate >= startTime && x.CompileDate < endTime
where x.ProjectId == this.CurrUser.LoginProjectId && x.CompileDate >= startTime && x.CompileDate < endTime
select x;
foreach (var item in logs)
{
@ -1235,6 +1235,30 @@ namespace FineUIPro.Web.PZHGL.InformationProject
TextNew();
}
protected void imgBtnFile_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtCompileDate.Text.Trim()))
{
Alert.ShowInTop("请选择日期!", MessageBoxIcon.Warning);
return;
}
DateTime today = DateTime.Now.Date;
if (!string.IsNullOrEmpty(this.txtCompileDate.Text.Trim()))
{
today = Convert.ToDateTime(this.txtCompileDate.Text.Trim()).Date;
}
var personLogs = from x in Funs.DB.ZHGL_ConstructionLog
where x.ProjectId == this.CurrUser.LoginProjectId && x.CompileDate == today
orderby x.CompileDate descending
select x;
string logIds = string.Empty;
foreach (var personLog in personLogs)
{
logIds += personLog.ConstructionLogId + ",";
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&ConstructionLog=ConstructionLog&path=FileUpload/ConstructionLog&menuId={2}", -1, logIds, BLL.Const.ConstructionLogMenuId)));
}
protected void btnWorkEfficiency_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtCompileDate.Text.Trim()))

View File

@ -93,6 +93,15 @@ namespace FineUIPro.Web.PZHGL.InformationProject {
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// imgBtnFile 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button imgBtnFile;
/// <summary>
/// hdWorkPostId 控件。
/// </summary>

View File

@ -0,0 +1,74 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectConstructionLogWorkEfficiencySum.aspx.cs" Inherits="FineUIPro.Web.PZHGL.InformationProject.ProjectConstructionLogWorkEfficiencySum" %>
<!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" ForceFit="true"
runat="server" EnableCollapse="true" DataKeyNames="Id" EnableTree="true" EnableColumnLines="true" ClicksToEdit="1" AllowCellEditing="true"
DataIDField="Id">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
<Items>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="BtnAnalyse" Text="统计" Icon="ChartPie"
runat="server" OnClick="BtnAnalyse_Click">
</f:Button>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Text="保存"
OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RenderField Width="50px" ColumnID="Code" DataField="Code" FieldType="String" EnableLock="true" Locked="true"
HeaderText="序号" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Name" DataField="Name" SortField="Name" EnableLock="true" Locked="true"
FieldType="String" HeaderText="工种/机械" TextAlign="Left" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="60px" ColumnID="UnitOfMeasurement" DataField="UnitOfMeasurement" SortField="UnitOfMeasurement" EnableLock="true" Locked="true"
FieldType="String" HeaderText="单位" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="BaseWorkEfficiency" DataField="BaseWorkEfficiency" SortField="BaseWorkEfficiency" EnableLock="true" Locked="true"
FieldType="Double" HeaderText="工效基准" TextAlign="Left" HeaderTextAlign="Center">
<Editor>
<f:NumberBox ID="nbBaseWorkEfficiency" NoDecimal="false" NoNegative="true" MinValue="0"
runat="server">
</f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="AvgWorkEfficiency" DataField="AvgWorkEfficiency" FieldType="Double" EnableLock="true" Locked="true"
HeaderText="项目当前平均工效" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Type" DataField="Type" SortField="Type"
FieldType="String" TextAlign="Left" HeaderTextAlign="Center" Hidden="true">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="TypeId" DataField="TypeId" SortField="TypeId"
FieldType="String" TextAlign="Left" HeaderTextAlign="Center" Hidden="true">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Panel>
</form>
</body>
</html>

View File

@ -0,0 +1,283 @@
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.PZHGL.InformationProject
{
public partial class ProjectConstructionLogWorkEfficiencySum : PageBase
{
/// <summary>
/// 加载表头
/// </summary>
protected void Page_Init(object sender, EventArgs e)
{
InitGrid();
}
#region
/// <summary>
/// 表头
/// </summary>
private void InitGrid()
{
Model.SGGLDB db = Funs.DB;
var contracts = (from x in db.PHTGL_Contract
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.ContractNum
select x).ToList();
GroupField gf = new GroupField();
gf.ColumnID = "GX";
gf.HeaderText = "工效统计";
gf.HeaderTextAlign = TextAlign.Center;
for (int i = 0; i < contracts.Count; i++)
{
RenderField rd1 = new RenderField();
rd1.ColumnID = "Contract" + i.ToString();
rd1.Width = Unit.Pixel(100);
rd1.DataField = "Contract" + i.ToString();
rd1.FieldType = FieldType.Double;
rd1.HeaderText = contracts[i].ContractNum;
rd1.HeaderTextAlign = TextAlign.Center;
gf.Columns.Add(rd1);
}
Grid1.Columns.Add(gf);
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
}
}
#endregion
private void GetData()
{
Model.SGGLDB db = Funs.DB;
var constructionLogWorkEfficiencyMonths = from x in db.ZHGL_ConstructionLogWorkEfficiencyMonth
join y in db.PHTGL_ContractTrack on x.ContractTrackId equals y.Id
where x.ProjectId == this.CurrUser.LoginProjectId
select new { x.TypeId, x.UnitOfMeasurement, y.ContractId, x.WorkEfficiency };
var persons = (from x in db.ZHGL_ConstructionLogWorkEfficiencyMonth
join y in db.Base_WorkPost on x.TypeId equals y.WorkPostId
where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "Person"
select new { y.WorkPostName, x.UnitOfMeasurement, x.TypeId }).Distinct().OrderBy(x => x.WorkPostName).ToList();
var machines = (from x in db.ZHGL_ConstructionLogWorkEfficiencyMonth
join y in db.Base_SpecialEquipment on x.TypeId equals y.SpecialEquipmentId
where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "Machine"
select new { y.SpecialEquipmentName, x.UnitOfMeasurement, x.TypeId }).Distinct().OrderBy(x => x.SpecialEquipmentName).ToList();
var contracts = (from x in db.PHTGL_Contract
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.ContractNum
select x).ToList();
var workEfficiencyProjects = from x in db.ZHGL_ConstructionLogWorkEfficiencyProject
where x.ProjectId == this.CurrUser.LoginProjectId
select x;
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("Id", typeof(String)));
table.Columns.Add(new DataColumn("Code", typeof(String)));
table.Columns.Add(new DataColumn("Name", typeof(String)));
table.Columns.Add(new DataColumn("UnitOfMeasurement", typeof(String)));
table.Columns.Add(new DataColumn("BaseWorkEfficiency", typeof(String)));
table.Columns.Add(new DataColumn("AvgWorkEfficiency", typeof(String)));
table.Columns.Add(new DataColumn("Type", typeof(String)));
table.Columns.Add(new DataColumn("TypeId", typeof(String)));
table.Columns.Add(new DataColumn("Contract0", typeof(String)));
table.Columns.Add(new DataColumn("Contract1", typeof(String)));
table.Columns.Add(new DataColumn("Contract2", typeof(String)));
table.Columns.Add(new DataColumn("Contract3", typeof(String)));
table.Columns.Add(new DataColumn("Contract4", typeof(String)));
table.Columns.Add(new DataColumn("Contract5", typeof(String)));
table.Columns.Add(new DataColumn("Contract6", typeof(String)));
table.Columns.Add(new DataColumn("Contract7", typeof(String)));
table.Columns.Add(new DataColumn("Contract8", typeof(String)));
table.Columns.Add(new DataColumn("Contract9", typeof(String)));
table.Columns.Add(new DataColumn("Contract10", typeof(String)));
table.Columns.Add(new DataColumn("Contract11", typeof(String)));
table.Columns.Add(new DataColumn("Contract12", typeof(String)));
table.Columns.Add(new DataColumn("Contract13", typeof(String)));
table.Columns.Add(new DataColumn("Contract14", typeof(String)));
table.Columns.Add(new DataColumn("Contract15", typeof(String)));
table.Columns.Add(new DataColumn("Contract16", typeof(String)));
table.Columns.Add(new DataColumn("Contract17", typeof(String)));
table.Columns.Add(new DataColumn("Contract18", typeof(String)));
table.Columns.Add(new DataColumn("Contract19", typeof(String)));
table.Columns.Add(new DataColumn("Contract20", typeof(String)));
table.Columns.Add(new DataColumn("Contract21", typeof(String)));
table.Columns.Add(new DataColumn("Contract22", typeof(String)));
table.Columns.Add(new DataColumn("Contract23", typeof(String)));
table.Columns.Add(new DataColumn("Contract24", typeof(String)));
table.Columns.Add(new DataColumn("Contract25", typeof(String)));
table.Columns.Add(new DataColumn("Contract26", typeof(String)));
table.Columns.Add(new DataColumn("Contract27", typeof(String)));
table.Columns.Add(new DataColumn("Contract28", typeof(String)));
table.Columns.Add(new DataColumn("Contract29", typeof(String)));
table.Columns.Add(new DataColumn("Contract30", typeof(String)));
table.Columns.Add(new DataColumn("Contract31", typeof(String)));
table.Columns.Add(new DataColumn("Contract32", typeof(String)));
table.Columns.Add(new DataColumn("Contract33", typeof(String)));
table.Columns.Add(new DataColumn("Contract34", typeof(String)));
table.Columns.Add(new DataColumn("Contract35", typeof(String)));
table.Columns.Add(new DataColumn("Contract36", typeof(String)));
table.Columns.Add(new DataColumn("Contract37", typeof(String)));
table.Columns.Add(new DataColumn("Contract38", typeof(String)));
table.Columns.Add(new DataColumn("Contract39", typeof(String)));
table.Columns.Add(new DataColumn("Contract40", typeof(String)));
DataRow row;
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = "一";
row[2] = "人工";
table.Rows.Add(row);
int a = 1;
foreach (var person in persons)
{
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = a;
row[2] = person.WorkPostName;
row[3] = person.UnitOfMeasurement;
var workEfficiencyProject = workEfficiencyProjects.FirstOrDefault(x=> x.TypeId == person.TypeId && x.UnitOfMeasurement == person.UnitOfMeasurement);
if (workEfficiencyProject != null)
{
row[4] = workEfficiencyProject.BaseWorkEfficiency;
}
int b = 0;
List<decimal> list = new List<decimal>();
foreach (var contract in contracts)
{
var workEfficiencys = from x in constructionLogWorkEfficiencyMonths
where x.TypeId == person.TypeId && x.UnitOfMeasurement == person.UnitOfMeasurement && x.ContractId == contract.ContractId && x.WorkEfficiency != null
select x;
if (workEfficiencys.Count() > 0)
{
decimal totalWorkEfficiencys = workEfficiencys.Sum(x => x.WorkEfficiency ?? 0);
decimal d = decimal.Round(Convert.ToDecimal(totalWorkEfficiencys / Convert.ToDecimal(workEfficiencys.Count())), 2);
row[8 + b] = d;
list.Add(d);
}
b++;
}
if (list.Count > 0)
{
row[5] = decimal.Round(Convert.ToDecimal(list.Sum() / Convert.ToDecimal(list.Count)), 2);
}
row[6] = "Person";
row[7] = person.TypeId;
table.Rows.Add(row);
a++;
}
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = "二";
row[2] = "机械";
table.Rows.Add(row);
a = 1;
foreach (var machine in machines)
{
row = table.NewRow();
row[0] = SQLHelper.GetNewID();
row[1] = a;
row[2] = machine.SpecialEquipmentName;
row[3] = machine.UnitOfMeasurement;
var workEfficiencyProject = workEfficiencyProjects.FirstOrDefault(x => x.TypeId == machine.TypeId && x.UnitOfMeasurement == machine.UnitOfMeasurement);
if (workEfficiencyProject != null)
{
row[4] = workEfficiencyProject.BaseWorkEfficiency;
}
int b = 0;
List<decimal> list = new List<decimal>();
foreach (var contract in contracts)
{
var workEfficiencys = from x in constructionLogWorkEfficiencyMonths
where x.TypeId == machine.TypeId && x.UnitOfMeasurement == machine.UnitOfMeasurement && x.ContractId == contract.ContractId && x.WorkEfficiency != null
select x;
if (workEfficiencys.Count() > 0)
{
decimal totalWorkEfficiencys = workEfficiencys.Sum(x => x.WorkEfficiency ?? 0);
decimal d = decimal.Round(Convert.ToDecimal(totalWorkEfficiencys / Convert.ToDecimal(workEfficiencys.Count())), 2);
row[8 + b] = d;
list.Add(d);
}
b++;
}
if (list.Count > 0)
{
row[5] = decimal.Round(Convert.ToDecimal(list.Sum() / Convert.ToDecimal(list.Count)), 2);
}
row[6] = "Machine";
row[7] = machine.TypeId;
table.Rows.Add(row);
a++;
}
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 统计
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BtnAnalyse_Click(object sender, EventArgs e)
{
GetData();
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.Grid1.Rows.Count > 0)
{
BLL.ConstructionLogWorkEfficiencyProjectService.DeleteConstructionLogWorkEfficiencyProjectsByConstructionLogId(this.CurrUser.LoginProjectId);
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int a = mergedRow.Value<int>("index");
string type = values.Value<string>("Type");
if (!string.IsNullOrEmpty(type))
{
string unitOfMeasurement = values.Value<string>("UnitOfMeasurement");
string baseWorkEfficiency = values.Value<string>("BaseWorkEfficiency");
string avgWorkEfficiency = values.Value<string>("AvgWorkEfficiency");
string typeId = values.Value<string>("TypeId");
Model.ZHGL_ConstructionLogWorkEfficiencyProject workEfficiency = new Model.ZHGL_ConstructionLogWorkEfficiencyProject();
workEfficiency.ConstructionLogWorkEfficiencyProjectId = SQLHelper.GetNewID();
workEfficiency.ProjectId = this.CurrUser.LoginProjectId;
workEfficiency.Type = type;
workEfficiency.TypeId = typeId;
workEfficiency.UnitOfMeasurement = unitOfMeasurement;
workEfficiency.BaseWorkEfficiency = Funs.GetNewDecimal(baseWorkEfficiency);
workEfficiency.AvgWorkEfficiency = Funs.GetNewDecimal(avgWorkEfficiency);
BLL.ConstructionLogWorkEfficiencyProjectService.AddConstructionLogWorkEfficiencyProject(workEfficiency);
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("请先统计后再保存!", MessageBoxIcon.Warning);
}
}
#endregion
}
}

View File

@ -0,0 +1,87 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.PZHGL.InformationProject {
public partial class ProjectConstructionLogWorkEfficiencySum {
/// <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>
/// BtnAnalyse 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button BtnAnalyse;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// nbBaseWorkEfficiency 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox nbBaseWorkEfficiency;
}
}

View File

@ -25,4 +25,5 @@
<TreeNode id="A5A31FE8-0643-4396-99E3-A4A31A947789" Text="无损检测工程" NavigateUrl="PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=8"></TreeNode>
<TreeNode id="481E6B1E-A3D5-4012-B828-FE62EB6BA861" Text="消防工程" NavigateUrl="PHTGL/BillOfQuantities/TemQuantityList.aspx?Type=9"></TreeNode>
</TreeNode>
<TreeNode id="34037636-4BEC-44A9-8267-7830F021AF02" Text="公司平均工效统计" NavigateUrl="PZHGL/InformationProject/CompanyConstructionLogWorkEfficiencySum.aspx"></TreeNode>
</Tree>

File diff suppressed because it is too large Load Diff