This commit is contained in:
2024-05-08 21:51:51 +08:00
48 changed files with 4393 additions and 1211 deletions
@@ -0,0 +1,32 @@
alter table [dbo].[JDGL_QuantityCompletion] add NextNum decimal(9,2) null
GO
ALTER VIEW [dbo].[View_JDGL_QuantityCompletion]
AS
select qc.*,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) as TotalRealNum,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(qc.PlanNum,0) WHEN 0 THEN 0
ELSE 100*ISNULL(qc.RealNum,0) / (1.0 *qc.PlanNum) END AS DECIMAL(9,2)))))+'%'
AS Rate,
CONVERT(NVARCHAR(10),((CAST(CASE (select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate())) END AS DECIMAL(9,2)))))+'%'
AS TotalRate,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ql.DesignNum,0) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and EndDate<=getdate()) / (1.0 *ql.DesignNum) END AS DECIMAL(9,2)))))+'%'
AS SumRate,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalRealNum
from [dbo].JDGL_QuantityList ql
left join dbo.[JDGL_QuantityCompletion] qc on ql.QuantityListId=qc.QuantityListId
where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from [JDGL_QuantityCompletion] q where q.QuantityListId=qc.QuantityListId order by q.EndDate desc)
GO
@@ -0,0 +1,350 @@
--获取当前人待办事项
ALTER PROCEDURE [dbo].[Sp_Project_GetToDoItems]
@projectId NVARCHAR(50)=NULL,
@userId NVARCHAR(200)=NULL
AS
/*获取当前人待办事项*/
BEGIN
SELECT HazardRegisterId AS DataId
,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId
,'安全巡检待整改' AS MenuName
,register.RegisterDef AS Content
,UserId
,users.UserName
,register.RegisterDate AS DataTime
,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr
,'../HSSE/HiddenInspection/HiddenRectificationRectify.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl
FROM HSSE_Hazard_HazardRegister AS register
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE register.ProjectId=@projectId AND
((register.states = '1' AND (register.ResponsibleMan =@userId OR register.CCManIds LIKE ('%'+@userId+'%') ))
)
UNION ALL
SELECT HazardRegisterId AS DataId
,'B6BE5FE0-CB84-47FF-A6C3-5AD9E1CCE079' AS MenuId
,'安全巡检待确认' AS MenuName
,register.RegisterDef AS Content
,UserId
,users.UserName
,register.RegisterDate AS DataTime
,CONVERT(varchar(100),register.RegisterDate, 23) AS DataTimeStr
,'../HSSE/HiddenInspection/HiddenRectificationConfirm.aspx?HazardRegisterId='+register.HazardRegisterId AS PCUrl
FROM HSSE_Hazard_HazardRegister AS register
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE register.ProjectId=@projectId AND
register.states = '2' AND register.CheckManId =@userId
UNION ALL
SELECT CheckControlCode AS DataId
,'B3E99BD9-FDC7-4F15-8C3C-A7821AC9E306' AS MenuId
,'质量巡检待处理' AS MenuName
,checkControl.QuestionDef AS Content
,UserId
,users.UserName
,checkControl.CheckDate AS DataTime
,CONVERT(varchar(100),checkControl.CheckDate, 23) AS DataTimeStr
,'../CQMS/Check/ChecklistEdit.aspx?ToDo=ToDo&CheckControlCode='+checkControl.CheckControlCode AS PCUrl
FROM Check_CheckControl AS checkControl
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE checkControl.ProjectId=@projectId AND
checkControl.State != '7' AND checkControl.CheckControlCode in (select CheckControlCode from Check_CheckControlApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null )
UNION ALL
SELECT GJSXID AS DataId
,'0BEA2126-7A48-40EB-8E21-99148E91A22B' AS MenuId
,'关键事项待处理' AS MenuName
,GJSX.Detail AS Content
,users.UserId
,users.UserName
,GJSX.CreateDate AS DataTime
,CONVERT(varchar(100),GJSX.CreateDate, 23) AS DataTimeStr
,'../PZHGL/GJSX/GJSXListEdit.aspx?ToDo=ToDo&EditType=Edit&ID='+GJSXID AS PCUrl
FROM GJSX
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE GJSX.ProjectId=@projectId AND
GJSX.State != 0 AND (((select count(*) from GJSX_detail detail where detail.Progress_user=@userId and detail.GJSXID=GJSX.GJSXID)=0
and (select count(*) from GJSX_Process process where process.UserId=@userId and process.GJSXID=GJSX.GJSXID)>0)
or (GJSX.User_Acceptance like '%'+@userId+'%' and (select count(*) from GJSX_detail detail where detail.GJSXID=GJSX.GJSXID)=(select count(*) from GJSX_Process process where process.GJSXID=GJSX.GJSXID))
)
UNION ALL
SELECT InspectionEquipmentId AS DataId
,'6c2c1e5e-1812-4e1c-a683-7125518e28c7' AS MenuId
,'设备材料报验待确认' AS MenuName
,Equipment.InspectionName AS Content
,UserId
,users.UserName
,Equipment.InspectionDate AS DataTime
,CONVERT(varchar(100),Equipment.InspectionDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionEquipmentEdit.aspx?ToDo=ToDo&InspectionEquipmentId='+Equipment.InspectionEquipmentId AS PCUrl
FROM Comprehensive_InspectionEquipment AS Equipment
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Equipment.ProjectId=@projectId and
Equipment.Status!='3' AND Equipment.InspectionEquipmentId in (select InspectionEquipmentId from Comprehensive_InspectionEquipmentApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null )
UNION ALL
SELECT InspectionPersonId AS DataId
,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId
,'人员报验待确认' AS MenuName
,Person.PersonName AS Content
,UserId
,users.UserName
,Person.CompileDate AS DataTime
,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionPersonEdit.aspx?ToDo=ToDo&InspectionPersonId='+Person.InspectionPersonId AS PCUrl
FROM Comprehensive_InspectionPerson AS Person
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Person.ProjectId=@projectId and
Person.Status!='3' AND Person.InspectionPersonId in (select InspectionPersonId from Comprehensive_InspectionPersonApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null )
UNION ALL
SELECT InspectionMachineId AS DataId
,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId
,'机具报验待确认' AS MenuName
,Machine.InspectionMachineName AS Content
,UserId
,users.UserName
,Machine.CompileDate AS DataTime
,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl
FROM Comprehensive_InspectionMachine AS Machine
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Machine.ProjectId=@projectId and
Machine.Status!='3' AND Machine.InspectionMachineId in (select InspectionMachineId from Comprehensive_InspectionMachineApprove approve where approve.ApproveType!='S' and approve.ApproveMan=@userId and approve.ApproveDate is null )
UNION ALL
SELECT ConstructSolutionId AS DataId
,'91C4BFDB-0A51-4992-99CC-EB4EC185593D' AS MenuId
,'施工方案待处理' AS MenuName
,Solution.SolutionName AS Content
,UserId
,users.UserName
,Solution.CompileDate AS DataTime
,CONVERT(varchar(100),Solution.CompileDate, 23) AS DataTimeStr
,'../CQMS/Solution/EditConstructSolution.aspx?ToDo=ToDo&ConstructSolutionId='+Solution.ConstructSolutionId AS PCUrl
FROM Solution_CQMSConstructSolution AS Solution
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Solution.ProjectId=@projectId and
Solution.State!='3'
AND Solution.ConstructSolutionId in
(select top 1 ConstructSolutionId from (
SELECT Solution_CQMSConstructSolutionApprove.*
FROM Solution_CQMSConstructSolutionApprove,
(SELECT MIN([order]) AS [order],ConstructSolutionId FROM Solution_CQMSConstructSolutionApprove where ApproveType!='S' and ApproveDate is null GROUP BY ConstructSolutionId )b
WHERE Solution_CQMSConstructSolutionApprove.[order] = b.[order] and Solution_CQMSConstructSolutionApprove.ConstructSolutionId = b.ConstructSolutionId
) approve
where approve.ApproveMan=@userId )
UNION ALL
SELECT InspectionId AS DataId
,'4781f467-35bf-4cf2-aaa4-7960a175eb61' AS MenuId
,'共检通知单待处理' AS MenuName
,InspectionManagement.AcceptanceSite AS Content
,UserId
,users.UserName
,InspectionManagement.CompileDate AS DataTime
,CONVERT(varchar(100),InspectionManagement.CompileDate, 23) AS DataTimeStr
,'../CQMS/ProcessControl/InspectionNoticeEdit.aspx?View=View&InspectionId='+InspectionManagement.InspectionId AS PCUrl
FROM ProcessControl_InspectionManagement AS InspectionManagement
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE InspectionManagement.ProjectId=@projectId and
dateadd(day,3,InspectionManagement.CompileDate)>getdate() and InspectionManagement.AcceptanceCheckMan like '%'+@userId+'%'
UNION ALL
SELECT CheckSpecialId AS DataId
,'1B08048F-93ED-4E84-AE65-DB7917EA2DFB' AS MenuId
,'专项检查' AS MenuName
,CheckItemSet.CheckItemName AS Content
,UserId
,users.UserName
,CheckSpecial.CheckTime AS DataTime
,CONVERT(varchar(100),CheckSpecial.CheckTime, 23) AS DataTimeStr
,'../HSSE/Check/CheckSpecialView.aspx?CheckSpecialId='+CheckSpecial.CheckSpecialId AS PCUrl
FROM Check_CheckSpecial AS CheckSpecial
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId =CheckSpecial.CheckItemSetId
WHERE CheckSpecial.ProjectId=@projectId and
dateadd(day,3,CheckSpecial.CheckTime)>getdate() and CheckSpecial.PartInPersonIds like '%'+@userId+'%'
UNION ALL
SELECT CheckColligationId AS DataId
,'C198EBA8-9E23-4654-92E1-09C61105C522' AS MenuId
,'综合检查待处理' AS MenuName
,case CheckType when '0' then '周检' when '1' then '月检' else '其它' end AS Content
,users.UserId
,users.UserName
,CheckColligation.CheckTime AS DataTime
,CONVERT(varchar(100),CheckColligation.CheckTime, 23) AS DataTimeStr
,'../HSSE/Check/CheckColligationEdit.aspx?CheckColligationId='+CheckColligation.CheckColligationId AS PCUrl
FROM Check_CheckColligation AS CheckColligation
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN Sys_FlowOperate AS FlowOperate ON CheckColligation.CheckColligationId=FlowOperate.DataId
LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId
WHERE CheckColligation.ProjectId=@projectId and FlowOperate.IsClosed <> 1 and FlowOperate.OperaterId=@userId
UNION ALL
SELECT PatrolPlanId AS DataId
,'D256E5C8-DC76-4F4D-BABE-A253418823F4' AS MenuId
,'风险巡检待处理' AS MenuName
,HazardListItem.HazardItems AS Content
,UserId
,users.UserName
,PatrolPlan.LimitCheckDate AS DataTime
,CONVERT(varchar(100),PatrolPlan.LimitCheckDate, 23) AS DataTimeStr
,'../HSSE/Hazard/RoutingInspectionEdit.aspx?PatrolPlanId='+PatrolPlan.PatrolPlanId AS PCUrl
FROM Hazard_PatrolPlan AS PatrolPlan
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN Hazard_HazardSelectedItem AS HazardListItem on HazardListItem.HazardSelectedItemId=PatrolPlan.HazardSelectedItemId
WHERE HazardListItem.ProjectId=@projectId and
dateadd(day,-3,PatrolPlan.LimitCheckDate)<getdate() and PatrolPlan.DutyPerson=@userId
and (select COUNT(*) from Hazard_RoutingInspection ri where ri.PatrolPlanId=PatrolPlan.PatrolPlanId)=0
UNION ALL
SELECT PersonQuality.PersonId AS DataId
,'EBEA762D-1F46-47C5-9EAD-759E13D9B41C' AS MenuId
,'特种作业人员资质还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),PersonQuality.LimitDate))+'天过期' AS MenuName
,Person.PersonName AS Content
,UserId
,users.UserName
,PersonQuality.LimitDate AS DataTime
,CONVERT(varchar(100),PersonQuality.LimitDate, 23) AS DataTimeStr
,'../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId='+PersonQuality.PersonId AS PCUrl
FROM QualityAudit_PersonQuality AS PersonQuality
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN SitePerson_Person AS Person on Person.PersonId=PersonQuality.PersonId
WHERE Person.ProjectId=@projectId and Person.IsUsed=1 and Person.InTime<getdate() and (Person.OutTime is null or Person.OutTime >getdate() ) and
dateadd(day,-15,PersonQuality.LimitDate)<getdate() and getdate()<PersonQuality.LimitDate
UNION ALL
SELECT PersonQuality.PersonId AS DataId
,'EBEA762D-1F46-47C5-9EAD-759E13D9B41C' AS MenuId
,'特种作业人员资质已过期'+convert(nvarchar(6),DATEDIFF(day,PersonQuality.LimitDate,getdate()))+'' AS MenuName
,Person.PersonName AS Content
,UserId
,users.UserName
,PersonQuality.LimitDate AS DataTime
,CONVERT(varchar(100),PersonQuality.LimitDate, 23) AS DataTimeStr
,'../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId='+PersonQuality.PersonId AS PCUrl
FROM QualityAudit_PersonQuality AS PersonQuality
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN SitePerson_Person AS Person on Person.PersonId=PersonQuality.PersonId
WHERE Person.ProjectId=@projectId and Person.IsUsed=1 and Person.InTime<getdate() and (Person.OutTime is null or Person.OutTime >getdate() ) and
PersonQuality.LimitDate<getdate()
UNION ALL
SELECT InspectionPersonId AS DataId
,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId
,'人员报验还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),Person.ValidityDate))+'天过期' AS MenuName
,Person.PersonName AS Content
,UserId
,users.UserName
,Person.CompileDate AS DataTime
,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionPersonEdit.aspx?ToDo=ToDo&InspectionPersonId='+Person.InspectionPersonId AS PCUrl
FROM Comprehensive_InspectionPerson AS Person
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Person.ProjectId=@projectId and Person.IsOnSite=1 and
dateadd(day,-15,Person.ValidityDate)<getdate() and getdate()<Person.ValidityDate
UNION ALL
SELECT InspectionPersonId AS DataId
,'8ed133de-5899-4687-878a-20b1f5280f18' AS MenuId
,'人员报验已过期'+convert(nvarchar(6),DATEDIFF(day,Person.ValidityDate,getdate()))+'' AS MenuName
,Person.PersonName AS Content
,UserId
,users.UserName
,Person.CompileDate AS DataTime
,CONVERT(varchar(100),Person.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionPersonEdit.aspx?ToDo=ToDo&InspectionPersonId='+Person.InspectionPersonId AS PCUrl
FROM Comprehensive_InspectionPerson AS Person
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Person.ProjectId=@projectId and Person.IsOnSite=1 and
Person.ValidityDate<getdate()
UNION ALL
SELECT InspectionMachineId AS DataId
,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId
,'机具报验还有'+convert(nvarchar(6),DATEDIFF(day,getdate(),Machine.NextTestDate))+'天过期' AS MenuName
,Machine.InspectionMachineName AS Content
,UserId
,users.UserName
,Machine.CompileDate AS DataTime
,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl
FROM Comprehensive_InspectionMachine AS Machine
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Machine.ProjectId=@projectId and Machine.IsOnSite=1 and
dateadd(day,-15,Machine.NextTestDate)<getdate() and getdate()<Machine.NextTestDate
UNION ALL
SELECT InspectionMachineId AS DataId
,'aa55fad1-6c51-43f5-8c99-3c6aaae79118' AS MenuId
,'机具报验已过期'+convert(nvarchar(6),DATEDIFF(day,Machine.NextTestDate,getdate()))+'' AS MenuName
,Machine.InspectionMachineName AS Content
,UserId
,users.UserName
,Machine.CompileDate AS DataTime
,CONVERT(varchar(100),Machine.CompileDate, 23) AS DataTimeStr
,'../CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&InspectionMachineId='+Machine.InspectionMachineId AS PCUrl
FROM Comprehensive_InspectionMachine AS Machine
LEFT JOIN Sys_User AS users ON users.UserId =@userId
WHERE Machine.ProjectId=@projectId and Machine.IsOnSite=1 and
Machine.NextTestDate<getdate()
UNION ALL
SELECT Project.ProjectId AS DataId
,'2AE9D982-A499-497F-8F54-ADDA5856887E' AS MenuId
,'本月工程量完成情况尚未填报' AS MenuName
,'' AS Content
,users.UserId
,users.UserName
,GETDATE() AS DataTime
,CONVERT(varchar(100),GETDATE(), 23) AS DataTimeStr
,'../JDGL/Check/QuantityCompletion.aspx?ToDo=ToDo' AS PCUrl
FROM Base_Project AS Project
LEFT JOIN Sys_User AS users ON users.UserId =@userId
LEFT JOIN Project_ProjectUser as pu on pu.UserId=@userId
WHERE Project.ProjectId=@projectId
and (pu.RoleId like '%22F78A47-F59C-4FE8-9C43-2DD304CB2108%' or pu.RoleId like '%GCB64EF3-AB0A-40BC-824D-CC314598D5DC%') and ((DATENAME(DAY,GETDATE())>=22 and (select COUNT(*) from JDGL_QuantityCompletion WHERE ProjectId=@projectId and DATENAME(year,GETDATE())=DATENAME(year,EndDate) and DATENAME(MONTH,GETDATE())=DATENAME(MONTH,EndDate))=0)
or (DATEADD(day,60,(select top 1 EndDate from JDGL_QuantityCompletion WHERE ProjectId=@projectId order by EndDate desc))<GETDATE()))
ORDER BY DataTime DESC
END
GO
update [dbo].[JDGL_QuantityCompletion] set Months=cast(DATENAME(YEAR,EndDate) as nvarchar(10))+'-'+cast(DATENAME(MONTH,EndDate) as nvarchar(10))+'-01'
GO
ALTER VIEW [dbo].[View_JDGL_QuantityCompletion]
AS
select qc.*,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate())) as TotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate())) as TotalRealNum,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(qc.PlanNum,0) WHEN 0 THEN 0
ELSE 100*ISNULL(qc.RealNum,0) / (1.0 *qc.PlanNum) END AS DECIMAL(9,2)))))+'%'
AS Rate,
CONVERT(NVARCHAR(10),((CAST(CASE (select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate()) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate()) / (1.0 *(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate())) END AS DECIMAL(9,2)))))+'%'
AS TotalRate,
CONVERT(NVARCHAR(10),((CAST(CASE ISNULL(ql.DesignNum,0) WHEN 0 THEN 0
ELSE 100*(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<=getdate()) / (1.0 *ql.DesignNum) END AS DECIMAL(9,2)))))+'%'
AS SumRate,
CONVERT(FLOAT,(select sum(ISNULL(PlanNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT,(select sum(ISNULL(RealNum,0)) from JDGL_QuantityCompletion where ProjectId=ql.ProjectId and QuantityListId=qc.QuantityListId and Months<qc.Months)) as LastTotalRealNum
from [dbo].JDGL_QuantityList ql
left join dbo.[JDGL_QuantityCompletion] qc on ql.QuantityListId=qc.QuantityListId
where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from [JDGL_QuantityCompletion] q where q.QuantityListId=qc.QuantityListId order by q.Months desc)
GO
@@ -0,0 +1,99 @@
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('94287B92-7E96-4B90-BC6F-DAF30AE3B314','月度计划情况','JDGL/Check/MonthPlan.aspx',51,'0','Menu_JDGL',0,1,1)
GO
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('8672C3E5-C819-4906-BB7D-50A5319F7B79','94287B92-7E96-4B90-BC6F-DAF30AE3B314','增加',1)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('C75747BA-F48D-4A2F-8DD1-D2DABEEE125F','94287B92-7E96-4B90-BC6F-DAF30AE3B314','修改',2)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('11049A9C-C66C-44E2-B9E8-FEC69D498CBD','94287B92-7E96-4B90-BC6F-DAF30AE3B314','删除',3)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('F136D1B4-A988-42E7-AD7C-4A246B440D03','94287B92-7E96-4B90-BC6F-DAF30AE3B314','保存',4)
GO
CREATE TABLE [dbo].[JDGL_MonthPlan](
[MonthPlanId] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[Months] [datetime] NULL,
[UnitId] [nvarchar](50) NULL,
[NodeContent] [nvarchar](500) NULL,
[PlanDate] [datetime] NULL,
[DutyPerson] [nvarchar](50) NULL,
[RealDate] [datetime] NULL,
[Remark] [nvarchar](200) NULL,
[CompileMan] [nvarchar](50) NULL,
[CompileDate] [datetime] NULL,
CONSTRAINT [PK_JDGL_MonthPlan] PRIMARY KEY CLUSTERED
(
[MonthPlanId] 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].[JDGL_MonthPlan] WITH CHECK ADD CONSTRAINT [FK_JDGL_MonthPlan_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] CHECK CONSTRAINT [FK_JDGL_MonthPlan_Base_Project]
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] WITH CHECK ADD CONSTRAINT [FK_JDGL_MonthPlan_Base_Unit] FOREIGN KEY([UnitId])
REFERENCES [dbo].[Base_Unit] ([UnitId])
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] CHECK CONSTRAINT [FK_JDGL_MonthPlan_Base_Unit]
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] WITH CHECK ADD CONSTRAINT [FK_JDGL_MonthPlan_Sys_User] FOREIGN KEY([DutyPerson])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] CHECK CONSTRAINT [FK_JDGL_MonthPlan_Sys_User]
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] WITH CHECK ADD CONSTRAINT [FK_JDGL_MonthPlan_Sys_User1] FOREIGN KEY([CompileMan])
REFERENCES [dbo].[Sys_User] ([UserId])
GO
ALTER TABLE [dbo].[JDGL_MonthPlan] CHECK CONSTRAINT [FK_JDGL_MonthPlan_Sys_User1]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'MonthPlanId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @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'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'Months'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'责任单位Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'UnitId'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'节点内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'NodeContent'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'计划完成时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'PlanDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'五环责任人Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'DutyPerson'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'实际完成时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'RealDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'Remark'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制人Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'CompileMan'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'编制日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan', @level2type=N'COLUMN',@level2name=N'CompileDate'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'月度计划情况表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JDGL_MonthPlan'
GO
@@ -0,0 +1,34 @@
--五环增加索引,提升查询效率
CREATE NONCLUSTERED INDEX [QualityAudit_PersonQuality_LimitDate_Index]
ON [dbo].[QualityAudit_PersonQuality] ([LimitDate])
INCLUDE ([PersonId])
GO
CREATE NONCLUSTERED INDEX [Bo_Sheng_TrainPerson_ProjectId_DeleteTag_Index]
ON [dbo].[Bo_Sheng_TrainPerson] ([ProjectId],[DeleteTag])
INCLUDE ([ID],[DeleteUser],[DeleteDate],[EmpName],[IdentifyId],[Photo],[Station],[Category],[CategoryName],[RecordId],[SignName],[DepartId],[DepartName],[SignInDate],[SignInType],[TrainPeriod],[State],[TotalScore],[PassScore],[Score],[IsPass],[GroupNo],[ExamNo],[ExamCount],[DeviceNo],[OwnerDepartId],[UploadTime],[Answers],[CreateDate],[CreateUser],[OperDate],[OperUser])
GO
CREATE NONCLUSTERED INDEX [License_LicenseManager_ProjectId_Index]
ON [dbo].[License_LicenseManager] ([ProjectId])
INCLUDE ([LicenseManagerId],[LicenseTypeId],[LicenseManagerCode],[LicenseManageName],[UnitId],[LicenseManageContents],[CompileMan],[CompileDate],[States],[WorkAreaId],[StartDate],[EndDate],[ApplicantMan],[WorkStates],[IsHighRisk])
GO
CREATE NONCLUSTERED INDEX [GJSX_ProjectId_Index]
ON [dbo].[GJSX] ([ProjectId])
GO
CREATE NONCLUSTERED INDEX [WBS_BreakdownProject_ProjectId_IsSelected_Class_Index]
ON [dbo].[WBS_BreakdownProject] ([ProjectId],[IsSelected],[Class])
GO
CREATE NONCLUSTERED INDEX [ProcessControl_InspectionManagement_ProjectId_IsOnceQualified_Index]
ON [dbo].[ProcessControl_InspectionManagement] ([ProjectId],[IsOnceQualified])
INCLUDE ([InspectionId])
Go
CREATE NONCLUSTERED INDEX [Hazard_HazardSelectedItem_ProjectId_Index]
ON [dbo].[Hazard_HazardSelectedItem] ([ProjectId])
INCLUDE ([HazardLevel])
GO
@@ -0,0 +1,41 @@
--==投料试车/生产试运行参数设置
if object_id(N'Run_ParameterSettings',N'U') is not null
drop table dbo.Run_ParameterSettings
CREATE TABLE dbo.Run_ParameterSettings(
SettingsId varchar(50) NOT NULL,--主键
ProjectId varchar(50) NULL,--项目主键
InstallationId varchar(50) NULL,--装置主键(冗余字段,方便后期关联适用)
ProcessesId varchar(50) NULL,--工序主键(冗余字段,方便后期关联适用)
SystemId varchar(50) NULL,--系统主键(冗余字段,方便后期关联适用)
States int null,--类型1:投料试车2:生产试运行
RunType int null,--投料试车(1:未投料2:投料中3:投料完成)生产试运行(1:未运行2:运行中3:停车检修)
AllNum int null,--全部数量
AddUser varchar(50) NULL,--添加人
AddTime datetime NULL,--添加日期
Sort int NULL,--排序
CONSTRAINT PK_Run_ParameterSettings PRIMARY KEY CLUSTERED
(
SettingsId 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
--==生产性能考核设置
if object_id(N'Run_ProductionSettings',N'U') is not null
drop table dbo.Run_ProductionSettings
CREATE TABLE dbo.Run_ProductionSettings(
ProductionId varchar(50) NOT NULL,--主键
ProjectId varchar(50) NULL,--项目主键
States int null,--类型1:考核未开始2:考核进行中3:考核已完成
StartTime datetime NULL,--开始日期
EndTime datetime NULL,--结束日期
AddUser varchar(50) NULL,--添加人
AddTime datetime NULL,--添加日期
Sort int NULL,--排序
CONSTRAINT PK_Run_ProductionSettings PRIMARY KEY CLUSTERED
(
ProductionId 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
@@ -91,6 +91,19 @@ go
VALUES('60462BF3-3F78-4E17-8E15-451A108D5475','9CAF311E-C234-4DA4-B235-D4E478FBD80E','保存',4)
GO
INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
VALUES('94287B92-7E96-4B90-BC6F-DAF30AE3B314','月度计划情况','JDGL/Check/MonthPlan.aspx',51,'0','Menu_JDGL',0,1,1)
GO
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('8672C3E5-C819-4906-BB7D-50A5319F7B79','94287B92-7E96-4B90-BC6F-DAF30AE3B314','增加',1)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('C75747BA-F48D-4A2F-8DD1-D2DABEEE125F','94287B92-7E96-4B90-BC6F-DAF30AE3B314','修改',2)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('11049A9C-C66C-44E2-B9E8-FEC69D498CBD','94287B92-7E96-4B90-BC6F-DAF30AE3B314','删除',3)
INSERT INTO dbo.Sys_ButtonToMenu(ButtonToMenuId,MenuId,ButtonName,SortIndex)
VALUES('F136D1B4-A988-42E7-AD7C-4A246B440D03','94287B92-7E96-4B90-BC6F-DAF30AE3B314','保存',4)
GO
--INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)
--VALUES('27C1D718-2DC0-42A5-96C0-F7A2D0DBC5F6','进度测量标志(权重)设置','',20,'0','Menu_JDGL',0,0,1)
--GO
+1
View File
@@ -580,6 +580,7 @@
<Compile Include="JDGL\Check\EquipmentCompletionService.cs" />
<Compile Include="JDGL\Check\LowTankCompletionService.cs" />
<Compile Include="JDGL\Check\MeterCompletionService.cs" />
<Compile Include="JDGL\Check\MonthPlanService.cs" />
<Compile Include="JDGL\Check\PipelineCompletionService.cs" />
<Compile Include="JDGL\Check\ProgressCompletionService.cs" />
<Compile Include="JDGL\Check\QuantityCompletionService.cs" />
+5
View File
@@ -5762,6 +5762,11 @@ namespace BLL
/// </summary>
public const string RectificationMeasureMenuId = "0629BAB1-DB1C-42CE-A333-49F3813617D7";
/// <summary>
/// 工程量完成情况
/// </summary>
public const string MonthPlanMenuId = "94287B92-7E96-4B90-BC6F-DAF30AE3B314";
/// <summary>
/// 进度完成情况
/// </summary>
+88
View File
@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 月度计划情况
/// </summary>
public class MonthPlanService
{
public static Model.SGGLDB db = Funs.DB;
/// <summary>
/// 根据主键获取月度计划情况
/// </summary>
/// <param name="MonthPlanId"></param>
/// <returns></returns>
public static Model.JDGL_MonthPlan GetMonthPlanById(string MonthPlanId)
{
return Funs.DB.JDGL_MonthPlan.FirstOrDefault(e => e.MonthPlanId == MonthPlanId);
}
/// <summary>
/// 添加月度计划情况
/// </summary>
/// <param name="MonthPlan"></param>
public static void AddMonthPlan(Model.JDGL_MonthPlan MonthPlan)
{
Model.SGGLDB db = Funs.DB;
Model.JDGL_MonthPlan newMonthPlan = new Model.JDGL_MonthPlan
{
MonthPlanId = MonthPlan.MonthPlanId,
ProjectId = MonthPlan.ProjectId,
Months = MonthPlan.Months,
UnitId = MonthPlan.UnitId,
NodeContent = MonthPlan.NodeContent,
PlanDate = MonthPlan.PlanDate,
DutyPerson = MonthPlan.DutyPerson,
RealDate = MonthPlan.RealDate,
Remark = MonthPlan.Remark,
CompileMan = MonthPlan.CompileMan,
CompileDate = MonthPlan.CompileDate,
};
db.JDGL_MonthPlan.InsertOnSubmit(newMonthPlan);
db.SubmitChanges();
}
/// <summary>
/// 修改月度计划情况
/// </summary>
/// <param name="MonthPlan"></param>
public static void UpdateMonthPlan(Model.JDGL_MonthPlan MonthPlan)
{
Model.SGGLDB db = Funs.DB;
Model.JDGL_MonthPlan newMonthPlan = db.JDGL_MonthPlan.FirstOrDefault(e => e.MonthPlanId == MonthPlan.MonthPlanId);
if (newMonthPlan != null)
{
newMonthPlan.UnitId = MonthPlan.UnitId;
newMonthPlan.NodeContent = MonthPlan.NodeContent;
newMonthPlan.PlanDate = MonthPlan.PlanDate;
newMonthPlan.DutyPerson = MonthPlan.DutyPerson;
newMonthPlan.RealDate = MonthPlan.RealDate;
newMonthPlan.Remark = MonthPlan.Remark;
newMonthPlan.CompileMan = MonthPlan.CompileMan;
newMonthPlan.CompileDate = MonthPlan.CompileDate;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除月度计划情况
/// </summary>
/// <param name="MonthPlanId"></param>
public static void DeleteMonthPlanByMonthPlanId(string MonthPlanId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.JDGL_MonthPlan where x.MonthPlanId == MonthPlanId select x).FirstOrDefault();
if (q != null)
{
db.JDGL_MonthPlan.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
}
}
@@ -37,10 +37,11 @@ namespace BLL
Months = quantityCompletion.Months,
PlanNum = quantityCompletion.PlanNum,
RealNum = quantityCompletion.RealNum,
NextNum = quantityCompletion.NextNum,
CompileMan = quantityCompletion.CompileMan,
CompileDate = quantityCompletion.CompileDate,
StartDate=quantityCompletion.StartDate,
EndDate=quantityCompletion.EndDate
StartDate = quantityCompletion.StartDate,
EndDate = quantityCompletion.EndDate
};
db.JDGL_QuantityCompletion.InsertOnSubmit(newQuantityCompletion);
db.SubmitChanges();
@@ -56,10 +57,29 @@ namespace BLL
Model.JDGL_QuantityCompletion newQuantityCompletion = db.JDGL_QuantityCompletion.FirstOrDefault(e => e.QuantityCompletionId == quantityCompletion.QuantityCompletionId);
if (newQuantityCompletion != null)
{
newQuantityCompletion.QuantityListId = quantityCompletion.QuantityListId;
newQuantityCompletion.PlanNum = quantityCompletion.PlanNum;
newQuantityCompletion.RealNum = quantityCompletion.RealNum;
newQuantityCompletion.NextNum = quantityCompletion.NextNum;
newQuantityCompletion.CompileMan = quantityCompletion.CompileMan;
newQuantityCompletion.CompileDate = quantityCompletion.CompileDate;
newQuantityCompletion.StartDate = quantityCompletion.StartDate;
newQuantityCompletion.EndDate = quantityCompletion.EndDate;
db.SubmitChanges();
}
}
/// <summary>
/// 根据主键删除工程量完成情况
/// </summary>
/// <param name="quantityCompletionId"></param>
public static void DeleteQuantityCompletionByQuantityCompletionId(string QuantityCompletionId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.JDGL_QuantityCompletion where x.QuantityCompletionId == QuantityCompletionId select x).FirstOrDefault();
if (q != null)
{
db.JDGL_QuantityCompletion.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
@@ -402,7 +402,7 @@
</Items>
</f:Panel>
<f:Panel ID="Panel12" IsFluid="true" Title="3.3 质量控制点或检验试验计划(ITP情况" runat="server" EnableCollapse="false"
<f:Panel ID="Panel12" IsFluid="true" Title="3.3 检验试验计划(ITP发布情况统计" runat="server" EnableCollapse="false"
ShowHeader="true">
<Items>
<f:Form ID="Form11" runat="server" ShowBorder="true" BodyPadding="5px" ShowHeader="false" Title="表单">
@@ -103,7 +103,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
//加载所有专业
CNProfessionals = (from x in db.Base_CNProfessional
where x.CNProfessionalId != BLL.Const.CNProfessionalConstructId
&& x.CNProfessionalId != BLL.Const.ComprehensiveId
//&& x.CNProfessionalId != BLL.Const.ComprehensiveId
orderby x.SortIndex
select new ProfessionalsClass
{
@@ -1542,19 +1542,28 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
// orderby y.UnitCode
// select new { x.UnitId, y.UnitName };
units = units.Where(x => x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1).ToList();
var cqmsDetail = from c in db.View_CQMS_InspectionManagementDetail
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
select new
{
c.CheckDate,
c.ProjectId,
u.UnitId,
u.UnitName,
c.IsOnceQualified
};
foreach (var item in units)
{
var query = from c in db.View_CQMS_InspectionManagementDetail
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
var query = from x in cqmsDetail
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == item.UnitId
select new
{
c.CheckDate,
c.ProjectId,
u.UnitId,
u.UnitName,
c.IsOnceQualified
x.CheckDate,
x.ProjectId,
x.UnitId,
x.UnitName,
x.IsOnceQualified
};
var AllList = query.ToList();
var monethCount = query
@@ -401,7 +401,7 @@
</Items>
</f:Panel>
<f:Panel ID="Panel12" IsFluid="true" Title="3.3 质量控制点或检验试验计划(ITP情况" runat="server" EnableCollapse="false"
<f:Panel ID="Panel12" IsFluid="true" Title="3.3 检验试验计划(ITP发布情况统计" runat="server" EnableCollapse="false"
ShowHeader="true">
<Items>
<f:Form ID="Form11" runat="server" ShowBorder="true" BodyPadding="5px" ShowHeader="false" Title="表单">
@@ -105,7 +105,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
//加载所有专业
CNProfessionals = (from x in db.Base_CNProfessional
where x.CNProfessionalId != BLL.Const.CNProfessionalConstructId
&& x.CNProfessionalId != BLL.Const.ComprehensiveId
//&& x.CNProfessionalId != BLL.Const.ComprehensiveId
orderby x.SortIndex
select new ProfessionalsClass
{
@@ -1546,19 +1546,28 @@ namespace FineUIPro.Web.CQMS.ManageReportNew
// orderby y.UnitCode
// select new { x.UnitId, y.UnitName };
units = units.Where(x => x.UnitType == BLL.Const.ProjectUnitType_2 || x.UnitType == BLL.Const.ProjectUnitType_1).ToList();
var cqmsDetail = from c in db.View_CQMS_InspectionManagementDetail
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
select new
{
c.CheckDate,
c.ProjectId,
u.UnitId,
u.UnitName,
c.IsOnceQualified
};
foreach (var item in units)
{
var query = from c in db.View_CQMS_InspectionManagementDetail
join u in db.Base_Unit on c.UnitId equals u.UnitId into unitJoin
from u in unitJoin.DefaultIfEmpty()
where c.ProjectId == this.CurrUser.LoginProjectId && c.UnitId == item.UnitId
var query = from x in cqmsDetail
where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitId == item.UnitId
select new
{
c.CheckDate,
c.ProjectId,
u.UnitId,
u.UnitName,
c.IsOnceQualified
x.CheckDate,
x.ProjectId,
x.UnitId,
x.UnitName,
x.IsOnceQualified
};
var AllList = query.ToList();
var monethCount = query
+8
View File
@@ -1378,6 +1378,7 @@
<Content Include="JDGL\Check\MeterCompletion.aspx" />
<Content Include="JDGL\Check\MeterCompletionEdit.aspx" />
<Content Include="JDGL\Check\MeterCompletionIn.aspx" />
<Content Include="JDGL\Check\MonthPlan.aspx" />
<Content Include="JDGL\Check\PipelineCompletion.aspx" />
<Content Include="JDGL\Check\PipelineCompletionEdit.aspx" />
<Content Include="JDGL\Check\PipelineCompletionIn.aspx" />
@@ -13743,6 +13744,13 @@
<Compile Include="JDGL\Check\MeterCompletionIn.aspx.designer.cs">
<DependentUpon>MeterCompletionIn.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\MonthPlan.aspx.cs">
<DependentUpon>MonthPlan.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="JDGL\Check\MonthPlan.aspx.designer.cs">
<DependentUpon>MonthPlan.aspx</DependentUpon>
</Compile>
<Compile Include="JDGL\Check\PipelineCompletion.aspx.cs">
<DependentUpon>PipelineCompletion.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -0,0 +1,103 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MonthPlan.aspx.cs" Inherits="FineUIPro.Web.JDGL.Check.MonthPlan" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>月度计划情况</title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</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" EnableAjax="false" ShowHeader="false" Title="月度计划情况" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="MonthPlanId" AllowCellEditing="true" ForceFit="true"
ClicksToEdit="1" DataIDField="MonthPlanId" AllowSorting="true" SortField="SortIndex,Name"
SortDirection="ASC" EnableColumnLines="true"
AllowPaging="true" IsDatabasePaging="true" PageSize="1000"
AllowFilters="true" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" ID="txtMonths" DateFormatString="yyyy-MM" AutoPostBack="true" DisplayType="Month"
Label="月份" LabelWidth="50px" Width="150px" OnTextChanged="txtMonths_TextChanged">
</f:DatePicker>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Hidden="true"
OnClick="btnSave_Click">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnModify" ToolTip="修改" Icon="Pencil" OnClick="btnModify_Click" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" runat="server"
OnClick="btnImport_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="lblPageIndex" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="150px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="责任单位" TextAlign="center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="NodeContent" DataField="NodeContent"
SortField="NodeContent" FieldType="String" HeaderText="节点内容" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="95px" ColumnID="PlanDate" DataField="PlanDate" SortField="PlanDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="计划完成时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DutyPersonName" DataField="DutyPersonName"
SortField="DutyPersonName" FieldType="String" HeaderText="五环责任人" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="95px" ColumnID="RealDate" DataField="RealDate" SortField="RealDate"
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="实际完成时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Remark" DataField="Remark"
SortField="Remark" FieldType="String" HeaderText="备注" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
</f:Grid>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="导入" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
CloseAction="HidePostBack" Width="1200px" Height="700px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</f:MenuButton>
</Items>
</f:Menu>
</form>
<script type="text/javascript">
var menuID = '<%= Menu1.ClientID %>';
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
</script>
</body>
</html>
@@ -0,0 +1,184 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using BLL;
using Newtonsoft.Json.Linq;
namespace FineUIPro.Web.JDGL.Check
{
public partial class MonthPlan : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetButtonPower();
btnNew.OnClientClick = Window1.GetShowReference("MonthPlanEdit.aspx") + "return false;";
this.txtMonths.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
BindGrid();
}
}
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == BLL.Const._Null)
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.MonthPlanMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnNew.Hidden = false;
this.btnModify.Hidden = false;
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
protected void btnModify_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanEdit.aspx?Months={0}", this.txtMonths.Text, "编辑 - ")));
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
string strSql = @"select qc.MonthPlanId,(select PlanNum from JDGL_MonthPlan where QuantityListId=ql.QuantityListId and Months=@month) as PlanNum,
(select RealNum from JDGL_MonthPlan where QuantityListId=ql.QuantityListId and Months=@month) as RealNum,
(select NextNum from JDGL_MonthPlan where QuantityListId=ql.QuantityListId and Months=@month) as NextNum,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qc.PlanNum, 0) WHEN 0 THEN 0
ELSE 100 * ISNULL(qc.RealNum, 0) / (1.0 * qc.PlanNum) END AS DECIMAL(9, 2))))) + '%'
AS Rate,
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2)))))+'%'
AS TotalRate,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2)))))+'%'
AS SumRate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_MonthPlan where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum
from[dbo].JDGL_QuantityList ql
left join dbo.[JDGL_MonthPlan] qc on ql.QuantityListId=qc.QuantityListId
where qc.MonthPlanId=(select top 1 MonthPlanId from[JDGL_MonthPlan] q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) and qc.ProjectId=@ProjectId order by ql.SortIndex, ql.Name";
//string strSql = @"select *
// from dbo.View_JDGL_MonthPlan qc
// where qc.ProjectId=@ProjectId order by qc.SortIndex, qc.Name";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"))));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#region
/// <summary>
/// 月份选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#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)
{
JArray mergedData = Grid1.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.JDGL_MonthPlan MonthPlan = BLL.MonthPlanService.GetMonthPlanById(this.Grid1.Rows[i].RowID);
if (MonthPlan != null)
{
MonthPlan.CompileMan = this.CurrUser.UserId;
MonthPlan.CompileDate = DateTime.Now;
BLL.MonthPlanService.UpdateMonthPlan(MonthPlan);
}
}
Alert.ShowInTop("保存成功!", MessageBoxIcon.Success);
}
else
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
}
#endregion
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.MonthPlanService.DeleteMonthPlanByMonthPlanId(rowID);
}
BindGrid();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#region
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("MonthPlanIn.aspx?ProjectId={0}", this.CurrUser.LoginProjectId, "导入 - ")));
}
/// <summary>
/// 关闭导入弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
}
}
+141
View File
@@ -0,0 +1,141 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.JDGL.Check {
public partial class MonthPlan {
/// <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>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtMonths 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonths;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblPageIndex;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}
@@ -23,13 +23,19 @@
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker runat="server" ID="txtMonths" DateFormatString="yyyy-MM" AutoPostBack="true"
Label="月份" LabelWidth="50px" Width="150px" OnTextChanged="txtMonths_TextChanged" Hidden="true">
<f:DatePicker runat="server" ID="txtMonths" DateFormatString="yyyy-MM" AutoPostBack="true" DisplayType="Month"
Label="月份" LabelWidth="50px" Width="150px" OnTextChanged="txtMonths_TextChanged">
</f:DatePicker>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" Hidden="true"
OnClick="btnSave_Click">
</f:Button>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnModify" ToolTip="修改" Icon="Pencil" OnClick="btnModify_Click" runat="server"
Hidden="true">
</f:Button>
<f:Button ID="btnImport" ToolTip="导入" Icon="ApplicationGet" runat="server"
OnClick="btnImport_Click">
</f:Button>
@@ -67,6 +73,10 @@
<f:RenderField Width="100px" ColumnID="Rate" DataField="Rate"
FieldType="String" HeaderText="完成率" HeaderTextAlign="Center" TextAlign="Left">
</f:RenderField>
<f:RenderField Width="90px" ColumnID="NextNum" DataField="NextNum"
FieldType="Float" HeaderText="下月计划" HeaderTextAlign="Center" TextAlign="Left"
EnableColumnEdit="true">
</f:RenderField>
</Columns>
</f:GroupField>
<f:GroupField EnableLock="true" HeaderText="累计" TextAlign="Center">
@@ -117,13 +127,10 @@
</f:Panel>
<f:Window ID="Window1" Title="导入" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window1_Close" IsModal="false"
CloseAction="HidePostBack" Width="1200px" Height="600px">
CloseAction="HidePostBack" Width="1200px" Height="700px">
</f:Window>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnMenuModify" EnablePostBack="true" runat="server" Hidden="true" Text="修改" Icon="Pencil"
OnClick="btnMenuModify_Click">
</f:MenuButton>
<f:MenuButton ID="btnMenuDel" EnablePostBack="true" runat="server" Hidden="true" Icon="Delete" Text="删除" ConfirmText="确定删除当前数据?"
OnClick="btnMenuDel_Click">
</f:MenuButton>
@@ -18,6 +18,8 @@ namespace FineUIPro.Web.JDGL.Check
if (!IsPostBack)
{
GetButtonPower();
btnNew.OnClientClick = Window1.GetShowReference("QuantityCompletionEdit.aspx") + "return false;";
this.txtMonths.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
BindGrid();
}
}
@@ -39,21 +41,17 @@ namespace FineUIPro.Web.JDGL.Check
{
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnMenuModify.Hidden = false;
this.btnNew.Hidden = false;
this.btnModify.Hidden = false;
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
protected void btnMenuModify_Click(object sender, EventArgs e)
protected void btnModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QuantityCompletionEdit.aspx?QuantityCompletionId={0}", Grid1.SelectedRowID, "编辑 - ")));
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("QuantityCompletionEdit.aspx?Months={0}", this.txtMonths.Text, "编辑 - ")));
}
/// <summary>
@@ -90,11 +88,37 @@ namespace FineUIPro.Web.JDGL.Check
private void BindGrid()
{
//GetQuantityCompletion();
string strSql = @"select *
from dbo.View_JDGL_QuantityCompletion qc
where qc.ProjectId=@ProjectId order by qc.SortIndex, qc.Name";
string strSql = @"select qc.QuantityCompletionId,(select PlanNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as PlanNum,
(select RealNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as RealNum,
(select NextNum from JDGL_QuantityCompletion where QuantityListId=ql.QuantityListId and Months=@month) as NextNum,ql.DesignNum,ql.Name,ql.Unit,ql.SortIndex,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) as TotalRealNum,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(qc.PlanNum, 0) WHEN 0 THEN 0
ELSE 100 * ISNULL(qc.RealNum, 0) / (1.0 * qc.PlanNum) END AS DECIMAL(9, 2))))) + '%'
AS Rate,
CONVERT(NVARCHAR(10), ((CAST(CASE(select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) WHEN 0 THEN 0
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month)) END AS DECIMAL(9, 2)))))+'%'
AS TotalRate,
CONVERT(NVARCHAR(10), ((CAST(CASE ISNULL(ql.DesignNum, 0) WHEN 0 THEN 0
ELSE 100 * (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months <= @month) / (1.0 * ql.DesignNum) END AS DECIMAL(9, 2)))))+'%'
AS SumRate,
CONVERT(FLOAT, (select sum(ISNULL(PlanNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalPlanNum,
CONVERT(FLOAT, (select sum(ISNULL(RealNum, 0)) from JDGL_QuantityCompletion where ProjectId = ql.ProjectId and QuantityListId = qc.QuantityListId and Months < qc.Months)) as LastTotalRealNum
from[dbo].JDGL_QuantityList ql
left join dbo.[JDGL_QuantityCompletion] qc on ql.QuantityListId=qc.QuantityListId
where qc.QuantityCompletionId=(select top 1 QuantityCompletionId from[JDGL_QuantityCompletion] q where q.QuantityListId=qc.QuantityListId and q.Months<=@month order by q.Months desc) and qc.ProjectId=@ProjectId order by ql.SortIndex, ql.Name";
//string strSql = @"select *
// from dbo.View_JDGL_QuantityCompletion qc
// where qc.ProjectId=@ProjectId order by qc.SortIndex, qc.Name";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@month", string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(this.txtMonths.Text.Trim() + "-01"))));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
@@ -163,8 +187,8 @@ namespace FineUIPro.Web.JDGL.Check
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][1].ToString();
BLL.QuantityCompletionService.DeleteQuantityCompletionById(rowID);
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
BLL.QuantityCompletionService.DeleteQuantityCompletionByQuantityCompletionId(rowID);
}
BindGrid();
@@ -75,6 +75,24 @@ namespace FineUIPro.Web.JDGL.Check {
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnModify;
/// <summary>
/// btnImport 控件。
/// </summary>
@@ -111,15 +129,6 @@ namespace FineUIPro.Web.JDGL.Check {
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
@@ -4,15 +4,122 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<title></title>
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
<f:Panel ID="Panel17" IsFluid="true" Title="工程量完成情况" runat="server" EnableCollapse="false"
ShowHeader="true">
<Toolbars>
<f:Toolbar ID="Toolbar5" Position="top" ToolbarAlign="Right" runat="server" CssClass="Toolbar2">
<Items>
<f:DatePicker ID="txtMonth" runat="server" ShowRedStar="true" Required="true" Label="月份" LabelAlign="Right" LabelWidth="80px"
EnableEdit="true" DateFormatString="yyyy-MM" AutoPostBack="true" DisplayType="Month" OnTextChanged="txtMonths_TextChanged">
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" OnClick="btnSave_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:Form ID="Form15" runat="server" ShowBorder="true" BodyPadding="5px" ShowHeader="false" Title="工程量完成情况">
<Rows>
<f:FormRow>
<Items>
<f:Grid ID="Grid1" IsFluid="true" CssClass="blockpanel" ShowBorder="true" ShowHeader="false" runat="server" EnableCollapse="false" OnRowCommand="Grid1_RowCommand"
DataKeyNames="QuantityListId" DataIDField="QuantityListId" EnableColumnLines="true" ForceFit="true" AllowCellEditing="true" ClicksToEdit="1">
<Toolbars>
<f:Toolbar ID="Toolbar3" Position="Top" runat="server" ToolbarAlign="Right">
<Items>
<f:Button ID="btnNew" ToolTip="新增" Text="" Icon="Add" EnablePostBack="true"
runat="server" OnClick="btnNew_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfPageIndex" Width="55px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center"
EnableLock="true" Locked="False">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="Name" DataField="Name"
FieldType="String" HeaderText="类型" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="Unit" DataField="Unit"
FieldType="String" HeaderText="单位" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:TextBox ID="txtUnit" runat="server" Text='<%# Bind("Unit") %>'>
</f:TextBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="DesignNum" DataField="DesignNum"
FieldType="Float" HeaderText="设计数量" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox runat="server" ID="txtDesignNum" NoDecimal="false" NoNegative="true" Text='<%# Bind("DesignNum") %>'></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="PlanNum" DataField="PlanNum"
FieldType="Float" HeaderText="计划完成" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox runat="server" ID="txtPlanNum" NoDecimal="false" NoNegative="true" Text='<%# Bind("PlanNum") %>'></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RealNum" DataField="RealNum"
FieldType="Float" HeaderText="实际完成" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox runat="server" ID="txtRealNum" NoDecimal="false" NoNegative="true" Text='<%# Bind("RealNum") %>'></f:NumberBox>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="NextNum" DataField="NextNum"
FieldType="Float" HeaderText="下月计划" TextAlign="Center" HeaderTextAlign="Center">
<Editor>
<f:NumberBox runat="server" ID="txtNextNum" NoDecimal="false" NoNegative="true" Text='<%# Bind("NextNum") %>'></f:NumberBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="30px" TextAlign="Center" HeaderText="删除" ToolTip="删除" CommandName="del"
Icon="Delete" />
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</Items>
</f:Panel>
<%--<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow>
<Items>
<f:DatePicker ID="txtMonth" runat="server" ShowRedStar="true" Required="true" Label="月份" LabelAlign="Right" LabelWidth="150px"
EnableEdit="true" >
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtName" runat="server" Label="类型" LabelAlign="Right" LabelWidth="150px" ShowRedStar="true" Required="true"
MaxLength="50">
</f:TextBox>
<f:TextBox ID="txtUnit" runat="server" Label="单位" LabelAlign="Right" ShowRedStar="true" Required="true"
MaxLength="50">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox runat="server" ID="txtDesignNum" Required="true" ShowRedStar="true" Label="设计数量" LabelWidth="150px" NoDecimal="false" NoNegative="true"></f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox runat="server" ID="txtPlanNum" Required="true" ShowRedStar="true" Label="计划完成" LabelWidth="150px" NoDecimal="false" NoNegative="true"></f:NumberBox>
@@ -23,6 +130,11 @@
<f:NumberBox runat="server" ID="txtRealNum" Required="true" ShowRedStar="true" Label="实际完成" LabelWidth="150px" NoDecimal="false" NoNegative="true"></f:NumberBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:NumberBox runat="server" ID="txtNextNum" Label="下月计划" LabelWidth="150px" NoDecimal="false" NoNegative="true"></f:NumberBox>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
@@ -37,7 +149,7 @@
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
</f:Form>--%>
</form>
</body>
</html>
@@ -1,4 +1,5 @@
using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -10,20 +11,6 @@ namespace FineUIPro.Web.JDGL.Check
{
public partial class QuantityCompletionEdit : PageBase
{
/// <summary>
/// id
/// </summary>
public string QuantityCompletionId
{
get
{
return (string)ViewState["QuantityCompletionId"];
}
set
{
ViewState["QuantityCompletionId"] = value;
}
}
/// <summary>
/// 项目id
/// </summary>
@@ -42,58 +29,171 @@ namespace FineUIPro.Web.JDGL.Check
{
if (!IsPostBack)
{
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
QuantityCompletionId = Request.Params["QuantityCompletionId"];
if (!string.IsNullOrEmpty(QuantityCompletionId))
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (!string.IsNullOrEmpty(Request.Params["Months"]))
{
Model.JDGL_QuantityCompletion QuantityCompletion = BLL.QuantityCompletionService.GetQuantityCompletionById(QuantityCompletionId);
if (QuantityCompletion != null)
{
this.ProjectId = QuantityCompletion.ProjectId;
if (QuantityCompletion.PlanNum != null)
{
this.txtPlanNum.Text = QuantityCompletion.PlanNum.ToString();
}
if (QuantityCompletion.RealNum != null)
{
this.txtRealNum.Text = QuantityCompletion.RealNum.ToString();
}
}
months = Convert.ToDateTime(Request.Params["Months"] + "-01");
}
this.txtMonth.Text = string.Format("{0:yyyy-MM}", months);
BindGrid();
}
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
DateTime months = Convert.ToDateTime(this.txtMonth.Text + "-01");
Model.SGGLDB db = Funs.DB;
Grid1.DataSource = from x in db.JDGL_QuantityList
where x.ProjectId == this.CurrUser.LoginProjectId
orderby x.SortIndex, x.Name
select new
{
x.QuantityListId,
x.Name,
x.Unit,
x.DesignNum,
PlanNum = (from y in db.JDGL_QuantityCompletion where y.ProjectId == this.CurrUser.LoginProjectId && y.Months == months && y.QuantityListId == x.QuantityListId select y.PlanNum).First(),
RealNum = (from y in db.JDGL_QuantityCompletion where y.ProjectId == this.CurrUser.LoginProjectId && y.Months == months && y.QuantityListId == x.QuantityListId select y.RealNum).First(),
NextNum = (from y in db.JDGL_QuantityCompletion where y.ProjectId == this.CurrUser.LoginProjectId && y.Months == months && y.QuantityListId == x.QuantityListId select y.NextNum).First(),
};
Grid1.DataBind();
}
#region
/// <summary>
/// 月份选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtMonths_TextChanged(object sender, EventArgs e)
{
BindGrid();
}
#endregion
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtMonth.Text))
{
ShowNotify("请选择月份!", MessageBoxIcon.Warning);
}
SaveData(true);
}
private void SaveData(bool bl)
{
string QuantityCompletionId = Request.Params["QuantityCompletionId"];
Model.JDGL_QuantityCompletion QuantityCompletion = new Model.JDGL_QuantityCompletion();
if (!string.IsNullOrEmpty(this.txtPlanNum.Text.Trim()))
DateTime months = Convert.ToDateTime(this.txtMonth.Text + "-01");
var list = GetDetails();
Model.SGGLDB db = Funs.DB;
foreach (var item in list)
{
QuantityCompletion.PlanNum = Convert.ToDecimal(this.txtPlanNum.Text.Trim());
}
if (!string.IsNullOrEmpty(this.txtRealNum.Text.Trim()))
{
QuantityCompletion.RealNum = Convert.ToDecimal(this.txtRealNum.Text.Trim());
}
if (!string.IsNullOrEmpty(QuantityCompletionId))
{
QuantityCompletion.QuantityCompletionId = QuantityCompletionId;
BLL.QuantityCompletionService.UpdateQuantityCompletion(QuantityCompletion);
}
else
{
QuantityCompletion.QuantityCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityCompletion));
BLL.QuantityCompletionService.AddQuantityCompletion(QuantityCompletion);
string quantityListId = string.Empty;
var oldQuantityList = db.JDGL_QuantityList.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.Name == item.Name);
if (oldQuantityList == null)
{
Model.JDGL_QuantityList newQuantityList = new Model.JDGL_QuantityList();
quantityListId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityList));
newQuantityList.QuantityListId = quantityListId;
newQuantityList.ProjectId = this.CurrUser.LoginProjectId;
newQuantityList.Name = item.Name;
newQuantityList.Unit = item.Unit;
newQuantityList.DesignNum = item.DesignNum;
BLL.QuantityListService.AddQuantityList(newQuantityList);
}
else
{
quantityListId = oldQuantityList.QuantityListId;
oldQuantityList.Unit = item.Unit;
oldQuantityList.DesignNum = item.DesignNum;
BLL.QuantityListService.UpdateQuantityList(oldQuantityList);
}
var oldQuantityCompletion = db.JDGL_QuantityCompletion.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.QuantityListId == quantityListId && x.Months == months);
if (oldQuantityCompletion == null)
{
Model.JDGL_QuantityCompletion QuantityCompletion = new Model.JDGL_QuantityCompletion();
QuantityCompletion.QuantityCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityCompletion));
QuantityCompletion.PlanNum = item.PlanNum;
QuantityCompletion.RealNum = item.RealNum;
QuantityCompletion.NextNum = item.NextNum;
QuantityCompletion.Months = months;
QuantityCompletion.QuantityListId = quantityListId;
QuantityCompletion.CompileMan = this.CurrUser.UserId;
QuantityCompletion.CompileDate = DateTime.Now;
QuantityCompletion.ProjectId = this.CurrUser.LoginProjectId;
BLL.QuantityCompletionService.AddQuantityCompletion(QuantityCompletion);
}
else
{
oldQuantityCompletion.PlanNum = item.PlanNum;
oldQuantityCompletion.RealNum = item.RealNum;
oldQuantityCompletion.NextNum = item.NextNum;
BLL.QuantityCompletionService.UpdateQuantityCompletion(oldQuantityCompletion);
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#region
/// <summary>
/// 增加按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
var list = GetDetails();
Model.View_JDGL_QuantityCompletion ql = new Model.View_JDGL_QuantityCompletion();
ql.QuantityListId = SQLHelper.GetNewID();
list.Add(ql);
Grid1.DataSource = list;
Grid1.DataBind();
}
private List<Model.View_JDGL_QuantityCompletion> GetDetails()
{
List<Model.View_JDGL_QuantityCompletion> list = new List<Model.View_JDGL_QuantityCompletion>();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
Model.View_JDGL_QuantityCompletion ql = new Model.View_JDGL_QuantityCompletion();
ql.QuantityListId = Grid1.Rows[i].RowID;
ql.Name = values.Value<string>("Name");
ql.Unit = values.Value<string>("Unit");
ql.DesignNum = Funs.GetNewDecimal(values.Value<string>("DesignNum"));
ql.PlanNum = Funs.GetNewDecimal(values.Value<string>("PlanNum"));
ql.RealNum = Funs.GetNewDecimal(values.Value<string>("RealNum"));
ql.NextNum = Funs.GetNewDecimal(values.Value<string>("NextNum"));
list.Add(ql);
}
return list;
}
#endregion
#region
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string quantityListId = Grid1.DataKeys[e.RowIndex][0].ToString();
var list = GetDetails();
if (e.CommandName == "del")//删除
{
var Report = list.FirstOrDefault(x => x.QuantityListId == quantityListId);
if (Report != null)
{
list.Remove(Report);
}
this.Grid1.DataSource = list;
this.Grid1.DataBind();
}
}
#endregion
}
}
@@ -31,13 +31,112 @@ namespace FineUIPro.Web.JDGL.Check {
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// Panel17 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
protected global::FineUIPro.Panel Panel17;
/// <summary>
/// Toolbar5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// txtMonth 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtMonth;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// Form15 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form Form15;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar3;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
/// <summary>
/// txtName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtName;
/// <summary>
/// txtUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnit;
/// <summary>
/// txtDesignNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox txtDesignNum;
/// <summary>
/// txtPlanNum 控件。
@@ -58,39 +157,12 @@ namespace FineUIPro.Web.JDGL.Check {
protected global::FineUIPro.NumberBox txtRealNum;
/// <summary>
/// Toolbar1 控件。
/// txtNextNum 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// hdCheckerId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdCheckerId;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
protected global::FineUIPro.NumberBox txtNextNum;
}
}
@@ -15,10 +15,7 @@
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" ToolbarAlign="Right" runat="server">
<Items>
<f:DatePicker ID="txtStartDate" runat="server" ShowRedStar="true" Required="true" Label="开始日期" LabelAlign="Right"
EnableEdit="true" >
</f:DatePicker>
<f:DatePicker ID="txtEndDate" runat="server" ShowRedStar="true" Required="true" Label="结束日期" LabelAlign="Right"
<f:DatePicker ID="txtMonth" runat="server" ShowRedStar="true" Required="true" Label="月份" LabelAlign="Right"
EnableEdit="true" >
</f:DatePicker>
<f:ToolbarFill runat="server"></f:ToolbarFill>
@@ -49,7 +46,7 @@
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" EnableCollapse="true" runat="server" ForceFit="true"
EnableColumnLines="true" BoxFlex="1" DataKeyNames="Name" DataIDField="Name"
EnableColumnLines="true" BoxFlex="1" DataKeyNames="Name" DataIDField="Name"
AllowSorting="true" SortField="Name" PageSize="500" Height="400px">
<Columns>
<f:TemplateField Width="55px" HeaderText="序号">
@@ -74,6 +71,9 @@
<f:RenderField Width="100px" ColumnID="RealNum" DataField="RealNum" SortField="RealNum"
FieldType="String" HeaderText="实际完成" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="NextNum" DataField="NextNum" SortField="NextNum"
FieldType="String" HeaderText="下月计划" HeaderTextAlign="Center" TextAlign="Center">
</f:RenderField>
</Columns>
</f:Grid>
</Items>
@@ -150,7 +150,7 @@ namespace FineUIPro.Web.JDGL.Check
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL(ds.Tables[0], 5);
AddDatasetToSQL(ds.Tables[0], 6);
}
catch (Exception ex)
{
@@ -242,6 +242,19 @@ namespace FineUIPro.Web.JDGL.Check
{
result += "第" + (i + 2).ToString() + "行," + "实际完成" + "," + "此项为必填项!" + "|";
}
string col5 = pds.Rows[i][5].ToString().Trim();
if (!string.IsNullOrEmpty(col5))
{
try
{
decimal dec = Convert.ToDecimal(col5);
}
catch (Exception)
{
result += "第" + (i + 2).ToString() + "行," + "下月计划" + "," + "[" + col5 + "]错误!" + "|";
}
}
}
if (!string.IsNullOrEmpty(result))
{
@@ -334,7 +347,7 @@ namespace FineUIPro.Web.JDGL.Check
oleDBConn.Close();
oleDBConn.Dispose();
AddDatasetToSQL2(ds.Tables[0], 5);
AddDatasetToSQL2(ds.Tables[0], 6);
}
catch (Exception ex)
{
@@ -371,6 +384,7 @@ namespace FineUIPro.Web.JDGL.Check
string col2 = pds.Rows[i][2].ToString().Trim();
string col3 = pds.Rows[i][3].ToString().Trim();
string col4 = pds.Rows[i][4].ToString().Trim();
string col5 = pds.Rows[i][5].ToString().Trim();
if (!string.IsNullOrEmpty(col0))//类型
{
quantityCompletion.Name = col0;
@@ -387,10 +401,14 @@ namespace FineUIPro.Web.JDGL.Check
{
quantityCompletion.PlanNum = Funs.GetNewDecimalOrZero(col3);
}
if (!string.IsNullOrEmpty(col4))//计划完成
if (!string.IsNullOrEmpty(col4))//实际完成
{
quantityCompletion.RealNum = Funs.GetNewDecimalOrZero(col4);
}
if (!string.IsNullOrEmpty(col5))//下月计划
{
quantityCompletion.NextNum = Funs.GetNewDecimalOrZero(col5);
}
quantityCompletion.QuantityCompletionId = SQLHelper.GetNewID(typeof(Model.JDGL_QuantityCompletion));
quantityCompletions.Add(quantityCompletion);
}
@@ -418,9 +436,9 @@ namespace FineUIPro.Web.JDGL.Check
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.txtStartDate.Text.Trim()) || string.IsNullOrEmpty(this.txtEndDate.Text.Trim()))
if (string.IsNullOrEmpty(this.txtMonth.Text.Trim()))
{
ShowNotify("请选择开始、结束日期", MessageBoxIcon.Warning);
ShowNotify("请选择月份", MessageBoxIcon.Warning);
return;
}
if (string.IsNullOrEmpty(errorInfos))
@@ -429,8 +447,7 @@ namespace FineUIPro.Web.JDGL.Check
var quantityCompletionLists = from x in Funs.DB.JDGL_QuantityCompletion where x.ProjectId == this.ProjectId select x;
string quantityListId = string.Empty;
int a = quantityCompletions.Count();
DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
DateTime month = Convert.ToDateTime(this.txtMonth.Text.Trim());
for (int i = 0; i < a; i++)
{
var oldQuantityList = quantityLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.Name == quantityCompletions[i].Name);
@@ -452,7 +469,7 @@ namespace FineUIPro.Web.JDGL.Check
oldQuantityList.DesignNum = quantityCompletions[i].DesignNum;
BLL.QuantityListService.UpdateQuantityList(oldQuantityList);
}
var oldQuantityCompletion = quantityCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.QuantityListId == quantityListId && x.StartDate == startDate && x.EndDate == endDate);
var oldQuantityCompletion = quantityCompletionLists.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.QuantityListId == quantityListId && x.Months == month);
if (oldQuantityCompletion == null)
{
Model.JDGL_QuantityCompletion newQuantityCompletion = new Model.JDGL_QuantityCompletion();
@@ -461,16 +478,17 @@ namespace FineUIPro.Web.JDGL.Check
newQuantityCompletion.QuantityListId = quantityListId;
newQuantityCompletion.PlanNum = quantityCompletions[i].PlanNum;
newQuantityCompletion.RealNum = quantityCompletions[i].RealNum;
newQuantityCompletion.NextNum = quantityCompletions[i].NextNum;
newQuantityCompletion.CompileMan = this.CurrUser.UserId;
newQuantityCompletion.CompileDate = DateTime.Now;
newQuantityCompletion.StartDate = startDate;
newQuantityCompletion.EndDate = endDate;
newQuantityCompletion.Months = month;
BLL.QuantityCompletionService.AddQuantityCompletion(newQuantityCompletion);
}
else
{
oldQuantityCompletion.PlanNum= quantityCompletions[i].PlanNum;
oldQuantityCompletion.RealNum= quantityCompletions[i].RealNum;
oldQuantityCompletion.NextNum = quantityCompletions[i].NextNum;
BLL.QuantityCompletionService.UpdateQuantityCompletion(oldQuantityCompletion);
}
}
@@ -49,22 +49,13 @@ namespace FineUIPro.Web.JDGL.Check {
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtStartDate 控件。
/// txtMonth 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartDate;
/// <summary>
/// txtEndDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndDate;
protected global::FineUIPro.DatePicker txtMonth;
/// <summary>
/// btnAudit 控件。
@@ -42,7 +42,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectIsClose == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -38,7 +38,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId && x.InspectionResults == 0).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -38,7 +38,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => x.InspectionIsAllPass == 1).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -39,7 +39,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var inspectTerms = Funs.DB.FeedingRun_SubInspectTerm.Where(x => (x.DriverCharge == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.DrivingManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1) || (x.ProjectManager == this.CurrUser.UserId && x.InspectionIsAllPass == 1)).ToList();
if (inspectTerms.Count == 0) return;
var subInstallationIds = inspectTerms.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();
@@ -37,7 +37,7 @@ namespace FineUIPro.Web.TestRun.Feeding
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1);
var list = Funs.DB.PreRun_SysDevice.Where(a => a.ProjectId == this.CurrUser.LoginProjectId && a.PreRunLevel == 1).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -34,10 +34,10 @@ namespace FineUIPro.Web.TestRun.Feeding
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).ToList();
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => x.InspectedUser == this.CurrUser.UserId).OrderBy(a => a.Sort).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -46,7 +46,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count() == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
var ids = list.Select(x => x.ProcessesId).ToList();
@@ -45,7 +45,7 @@ namespace FineUIPro.Web.TestRun.Feeding
var userSubInspects = Funs.DB.FeedingRun_SubInspectTermItem.Where(x => termIds.Contains(x.TermItemId) && x.ProjectId == this.CurrUser.LoginProjectId).ToList();
if (userSubInspects.Count == 0) return;
var subInstallationIds = userSubInspects.ConvertAll(x => x.InstallationId);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId));
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1 && subInstallationIds.Contains(x.PreRunId)).OrderBy(a => a.Sort);
if (list.Count() > 0)
{
foreach (var item in list)
@@ -57,6 +57,16 @@
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
ShowHeader="false" Layout="Region" BoxConfigAlign="Stretch">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="150px" Title="装置" ShowBorder="true" Layout="VBox"
ShowHeader="false" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft">
<Items>
<f:Tree ID="tvControlItem" ShowHeader="false" Title="工作包" OnNodeCommand="tvControlItem_NodeCommand"
runat="server" ShowBorder="false" EnableCollapse="true" EnableSingleClickExpand="true"
AutoLeafIdentification="true" EnableSingleExpand="false">
</f:Tree>
</Items>
</f:Panel>
<f:Grid ID="Grid1" ShowBorder="true" EnableAjax="false" ShowHeader="false" Title="运行日志管理" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="RunningId" AllowCellEditing="true" ClicksToEdit="2" DataIDField="RunningId" AllowSorting="true" OnSort="Grid1_Sort" EnableColumnLines="true" ForceFit="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" AllowFilters="true" EnableTextSelection="True" EnableMultiSelect="false" EnableCheckBoxSelect="true">
<Toolbars>
@@ -107,8 +117,8 @@
</f:RenderField>
<f:RenderField ColumnID="SuccessionUserName" DataField="SuccessionUserName" HeaderText="继任职工" HeaderTextAlign="Center">
</f:RenderField>
<f:BoundField DataField="StartData" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="开始时间" />
<f:BoundField DataField="EndData" DataFormatString="{0:yyyy-MM-dd hh:mm:ss}" HeaderText="结束时间" />
<f:BoundField DataField="StartData" DataFormatString="{0:yyyy-MM-dd HH:MM:ss}" HeaderText="开始时间" />
<f:BoundField DataField="EndData" DataFormatString="{0:yyyy-MM-dd HH:MM:ss}" HeaderText="结束时间" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
@@ -24,10 +24,54 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
if (!IsPostBack)
{
//绑定数据
InitTreeMenu();
BindGrid();
}
}
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.tvControlItem.Nodes.Clear();
TreeNode rootNode = new TreeNode();
rootNode.Text = "装置";
rootNode.NodeID = "0";
rootNode.Expanded = true;
rootNode.ToolTip = "";
rootNode.EnableClickEvent = true;
this.tvControlItem.Nodes.Add(rootNode);
var list = Funs.DB.PreRun_SysDevice.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.PreRunLevel == 1).OrderBy(x => x.Sort).ToList();
if (list.Count() > 0)
{
foreach (var itemOne in list)
{
TreeNode rootOneNode = new TreeNode();
rootOneNode.NodeID = itemOne.PreRunId;
rootOneNode.Text = itemOne.PreRunName;
rootOneNode.ToolTip = itemOne.PreRunName;
rootOneNode.CommandName = "";
rootOneNode.EnableClickEvent = true;
rootOneNode.EnableExpandEvent = false;
rootNode.Nodes.Add(rootOneNode);
rootOneNode.Expanded = true;
}
}
}
/// <summary>
/// 点击TreeView
/// </summary>
protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.BindGrid();
}
#endregion
#region
/// <summary>
@@ -39,6 +83,14 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
string strSql = @"select a.RunningId,a.ProjectId,project.ProjectName as ProjectName,a.InstallationId,a.ProcessesId,a.SystemId,inst.PreRunName as InstallationName,proce.PreRunName as ProcessesName,syst.PreRunName as SystemName,a.JobNo,a.ShiftType,(case a.ShiftType when 1 then '白班' else '夜班' end) as ShiftTypeName,a.ShiftUser,shiftuser.UserName as ShiftUserName,a.SuccessionUser,successuser.UserName as SuccessionUserName,a.StartData,a.EndData,a.AddUser,a.AddTime,a.Sort from Running_LogManagement as a inner join Sys_User as shiftuser on shiftuser.UserId=a.ShiftUser inner join Sys_User as successuser on successuser.UserId=a.SuccessionUser inner join Base_Project as project on project.ProjectId=a.ProjectId inner join PreRun_SysDevice as inst on inst.PreRunId=a.InstallationId inner join PreRun_SysDevice as proce on proce.PreRunId=a.ProcessesId inner join PreRun_SysDevice as syst on syst.PreRunId=a.SystemId where a.ProjectId=@ProjectId ";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
if (!string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
if (this.tvControlItem.SelectedNodeID != "0" && !string.IsNullOrWhiteSpace(this.tvControlItem.SelectedNodeID))
{
strSql += " and a.InstallationId=@InstallationId";
listStr.Add(new SqlParameter("@InstallationId", this.tvControlItem.SelectedNodeID));
}
}
if (!string.IsNullOrWhiteSpace(txtStartData.Text))
{
strSql += " and a.StartData>=@StartData";
@@ -41,6 +41,24 @@ namespace FineUIPro.Web.TestRun.ProduceTestRun
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// tvControlItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Tree tvControlItem;
/// <summary>
/// Grid1 控件。
/// </summary>
@@ -36,6 +36,7 @@
AutoPostBack="true" OnTabIndexChanged="TabStrip1_TabIndexChanged"
ShowBorder="true" ActiveTabIndex="1" runat="server">
<Tabs>
<f:Tab Title="预试车数据设置" BodyPadding="10px" Layout="Fit" runat="server">
<Items>
<f:Grid Height="550px" ID="GridYsc" ShowBorder="true" ClicksToEdit="1" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,WorkPackId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
@@ -128,7 +129,6 @@
</Items>
</f:Tab>
<f:Tab Title="三查四定进度" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="GridScsd" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="ScheduleId" DataKeyNames="ScheduleId,LevelName" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
@@ -170,6 +170,103 @@
</Items>
</f:Tab>
<f:Tab Title="投料试车设置" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="gvFeeding" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="SettingsId" DataKeyNames="SettingsId,InstallationId,ProcessesId,SystemId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar5" runat="server">
<Items>
<f:Button ID="btnFeedingSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnFeedingSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill3" runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="状态" ColumnID="RunType" DataField="RunType" HeaderTextAlign="Center" TextAlign="Center" Width="100px" RendererFunction="renderRunType">
<Editor>
<f:DropDownList ID="ddlRunType" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
<f:ListItem Text="未投料" Value="1" />
<f:ListItem Text="投料中" Value="2" />
<f:ListItem Text="投料完成" Value="3" />
</f:DropDownList>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
<f:Tab Title="生产性能考核" BodyPadding="10px" runat="server">
<Toolbars>
<f:Toolbar ID="Toolbar6" runat="server">
<Items>
<f:ToolbarFill ID="ToolbarFill4" runat="server"></f:ToolbarFill>
<f:Button ID="btnSubmit" runat="server" Text="保存" OnClick="btnSubmit_Click">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Items>
<f:RadioButton ID="rbtNotStarted" Label="考核类型" Checked="true" GroupName="checkGroup"
Text="考核未开始" runat="server" OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
<f:RadioButton ID="rbtInProgress" GroupName="checkGroup" ShowEmptyLabel="true" Text="考核进行中" runat="server"
OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
<f:RadioButton ID="rbtComplete" GroupName="checkGroup" ShowEmptyLabel="true" Text="考核已完成" runat="server"
OnCheckedChanged="rbtCheck_CheckedChanged" AutoPostBack="true">
</f:RadioButton>
</Items>
<Items>
<f:DatePicker runat="server" Required="true" DateFormatString="yyyy-MM-dd" Label="开始日期" Width="300px" EmptyText="请选择开始日期"
ID="txtStartData" Hidden="true">
</f:DatePicker>
<f:DatePicker ID="txtEndData" Required="true" Readonly="false" CompareControl="txtStartData" DateFormatString="yyyy-MM-dd"
CompareOperator="GreaterThan" CompareMessage="结束日期应该大于开始日期" Label="结束日期" Width="300px"
runat="server" Hidden="true">
</f:DatePicker>
</Items>
</f:Tab>
<f:Tab Title="生产试运行设置" BodyPadding="10px" runat="server">
<Items>
<f:Grid Height="550px" ID="gvProduc" ClicksToEdit="1" ShowBorder="true" ShowHeader="true" EnableCollapse="true" runat="server" DataIDField="SettingsId" DataKeyNames="SettingsId,InstallationId,ProcessesId,SystemId" AllowSorting="true" SortField="Sort" SortDirection="ASC" EnableColumnLines="true" AllowCellEditing="true" EnableMultiSelect="false" AllowPaging="true" IsDatabasePaging="true" PageSize="10" AllowFilters="true" EnableSummary="true" SummaryPosition="Flow">
<Toolbars>
<f:Toolbar ID="Toolbar7" runat="server">
<Items>
<f:Button ID="btnProducSave" Text="保存" ToolTip="保存" Icon="FilmSave" runat="server" OnClick="btnProducSave_Click"></f:Button>
<f:ToolbarFill ID="ToolbarFill5" runat="server"></f:ToolbarFill>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:RowNumberField EnablePagingNumber="true" Width="100px" HeaderTextAlign="Center" TextAlign="Center" />
<f:RenderField HeaderText="装置名称" ColumnID="InstallationName" DataField="InstallationName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="工序名称" ColumnID="ProcessesName" DataField="ProcessesName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="系统名称" ColumnID="SystemName" DataField="SystemName" FieldType="String" HeaderTextAlign="Center" TextAlign="Center" Width="150px">
</f:RenderField>
<f:RenderField HeaderText="状态" ColumnID="RunType" DataField="RunType" HeaderTextAlign="Center" TextAlign="Center" Width="100px" RendererFunction="renderProducRunType">
<Editor>
<f:DropDownList ID="ddlProducRunType" Required="true" EnableEdit="false" ForceSelection="false" runat="server">
<f:ListItem Text="未运行" Value="1" />
<f:ListItem Text="运行中" Value="2" />
<f:ListItem Text="停车检修" Value="3" />
</f:DropDownList>
</Editor>
</f:RenderField>
</Columns>
</f:Grid>
</Items>
</f:Tab>
</Tabs>
</f:TabStrip>
@@ -217,6 +314,7 @@
});
return valid;
}
//预试车合计
function onGridYscAfterEdit(event, value, params) {
var me = F('<%= GridYsc.ClientID %>');
@@ -309,6 +407,7 @@
});
return valid;
}
//三查四定合计
function onGridScsdAfterEdit(event, value, params) {
var me = F('<%= GridScsd.ClientID %>');
@@ -327,6 +426,25 @@
me.updateSummaryCellValue('CompleteNum', completeNumTotal, true);
}
//投料试车状态
var ddlRunType = '<%= ddlRunType.ClientID %>';
function renderRunType(value) {
if (value == -1) {
return '';
} else {
return F(ddlRunType).getTextByValue(value);
}
}
//生产试运行状态
var ddlProducRunType = '<%= ddlProducRunType.ClientID %>';
function renderProducRunType(value) {
if (value == -1) {
return '';
} else {
return F(ddlProducRunType).getTextByValue(value);
}
}
</script>
</body>
@@ -21,6 +21,8 @@ using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using System.IO;
using NPOI.SS.Formula.Functions;
using FineUIPro.Web.ProjectData;
using System.Web.Services.Description;
namespace FineUIPro.Web.TestRun.Report
{
@@ -856,6 +858,351 @@ namespace FineUIPro.Web.TestRun.Report
#endregion
#region
/// <summary>
/// 投料试车绑定
/// </summary>
public void gvFeedingBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 1,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 1
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvFeeding.DataSource = result;
TabStrip1.ActiveTabIndex = 3;
gvFeeding.DataBind();
}
/// <summary>
/// 投料试车保存
/// </summary>
protected void btnFeedingSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 1);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvFeeding.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvFeeding.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvFeeding.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvFeeding.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvFeeding.Rows[i].DataKeys[3].ToString();
model.States = 1;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvFeedingBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
/// 生产性能考核绑定
/// </summary>
public void PerformPageInit()
{
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model != null)
{
if (model.States == 1)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtNotStarted.Checked = true;
}
else if (model.States == 2)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
rbtInProgress.Checked = true;
txtStartData.Text = model.StartTime.Value.ToString("yyyy-MM-dd");
txtEndData.Text = model.EndTime.Value.ToString("yyyy-MM-dd");
}
else if (model.States == 2)
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
rbtComplete.Checked = true;
}
}
}
/// <summary>
/// 保存
/// </summary>
protected void btnSubmit_Click(object sender, EventArgs e)
{
bool add = false;
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtStartData.Text))
{
ShowNotify("开始时间不能为空!", MessageBoxIcon.Warning);
return;
}
if (rbtInProgress.Checked && string.IsNullOrWhiteSpace(txtEndData.Text))
{
ShowNotify("结束时间不能为空!", MessageBoxIcon.Warning);
return;
}
var state = 0;
if (rbtNotStarted.Checked)
{
state = 1;
}
if (rbtInProgress.Checked)
{
state = 2;
}
if (rbtComplete.Checked)
{
state = 3;
}
var model = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (model == null)
{
add = true;
model = new Run_ProductionSettings();
model.ProductionId = Guid.NewGuid().ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
}
model.States = state;
if (state == 2)
{
model.StartTime = DateTime.Parse(txtStartData.Text.ToString());
model.EndTime = DateTime.Parse(txtEndData.Text.ToString());
}
else
{
model.StartTime = null;
model.EndTime = null;
}
if (add) Funs.DB.Run_ProductionSettings.InsertOnSubmit(model);
Funs.DB.SubmitChanges();
PerformPageInit();
ShowNotify("保存成功!");
}
/// <summary>
/// 考核选择
/// </summary>
protected void rbtCheck_CheckedChanged(object sender, CheckedEventArgs e)
{
if (rbtInProgress.Checked)
{
txtStartData.Hidden = false;
txtEndData.Hidden = false;
}
else
{
txtStartData.Hidden = true;
txtEndData.Hidden = true;
}
}
#endregion
#region
/// <summary>
///生产试运行绑定
/// </summary>
public void gvProducBrid()
{
var result = new List<ParameterSettingsDto>();
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 2,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == 2
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
gvProduc.DataSource = result;
TabStrip1.ActiveTabIndex = 5;
gvProduc.DataBind();
}
/// <summary>
/// 生产试运行保存
/// </summary>
protected void btnProducSave_Click(object sender, EventArgs e)
{
try
{
var deletelist = Funs.DB.Run_ParameterSettings.Where(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == 2);
Funs.DB.Run_ParameterSettings.DeleteAllOnSubmit(deletelist);
Funs.DB.SubmitChanges();
var addList = new List<Run_ParameterSettings>();
JArray mergedData = gvProduc.GetMergedData();
foreach (JObject mergedRow in mergedData)
{
string status = mergedRow.Value<string>("status");
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
var model = new Run_ParameterSettings();
model.SettingsId = this.gvProduc.Rows[i].DataKeys[0].ToString();
model.ProjectId = this.CurrUser.LoginProjectId;
model.InstallationId = this.gvProduc.Rows[i].DataKeys[1].ToString();
model.ProcessesId = this.gvProduc.Rows[i].DataKeys[2].ToString();
model.SystemId = this.gvProduc.Rows[i].DataKeys[3].ToString();
model.States = 2;
var runtype = !string.IsNullOrWhiteSpace(values.Value<string>("RunType")) ? values.Value<string>("RunType") : string.Empty;
if (!string.IsNullOrWhiteSpace(runtype))
{
model.RunType = int.Parse(runtype);
}
model.AddUser = this.CurrUser.UserId;
model.AddTime = DateTime.Now;
model.Sort = i;
addList.Add(model);
}
Funs.DB.Run_ParameterSettings.InsertAllOnSubmit(addList);
Funs.DB.SubmitChanges();
gvProducBrid();
ShowNotify("保存成功!");
}
catch (Exception ex)
{
ShowNotify(ex.Message, MessageBoxIcon.Error);
}
}
#endregion
#region
/// <summary>
@@ -919,6 +1266,21 @@ namespace FineUIPro.Web.TestRun.Report
//三查四定
DataBridScsd();
}
else if (TabStrip1.ActiveTabIndex == 3)
{
//投料试车
gvFeedingBrid();
}
else if (TabStrip1.ActiveTabIndex == 4)
{
//生产性能考核
PerformPageInit();
}
else if (TabStrip1.ActiveTabIndex == 5)
{
//生产试运行
gvProducBrid();
}
}
public class Run_ScheduleSetUpDto : Run_ScheduleSetUp
@@ -979,6 +1341,29 @@ namespace FineUIPro.Web.TestRun.Report
public int CloseNum { get; set; }
}
/// <summary>
/// 投料试车实体
/// </summary>
public class ParameterSettingsDto : Run_ParameterSettings
{
/// <summary>
/// 项目名称
/// </summary>
public string ProjectName { get; set; }
/// <summary>
/// 装置名称
/// </summary>
public string InstallationName { get; set; }
/// <summary>
/// 工序名称
/// </summary>
public string ProcessesName { get; set; }
/// <summary>
/// 系统名称
/// </summary>
public string SystemName { get; set; }
}
#endregion
@@ -346,5 +346,167 @@ namespace FineUIPro.Web.TestRun.Report
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.NumberBox NumberBox3;
/// <summary>
/// gvFeeding 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvFeeding;
/// <summary>
/// Toolbar5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar5;
/// <summary>
/// btnFeedingSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnFeedingSave;
/// <summary>
/// ToolbarFill3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill3;
/// <summary>
/// ddlRunType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlRunType;
/// <summary>
/// Toolbar6 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar6;
/// <summary>
/// ToolbarFill4 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill4;
/// <summary>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// rbtNotStarted 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtNotStarted;
/// <summary>
/// rbtInProgress 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtInProgress;
/// <summary>
/// rbtComplete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButton rbtComplete;
/// <summary>
/// txtStartData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartData;
/// <summary>
/// txtEndData 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndData;
/// <summary>
/// gvProduc 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid gvProduc;
/// <summary>
/// Toolbar7 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar7;
/// <summary>
/// btnProducSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnProducSave;
/// <summary>
/// ToolbarFill5 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill5;
/// <summary>
/// ddlProducRunType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlProducRunType;
}
}
+2 -2
View File
@@ -9,10 +9,10 @@
<section name="FineUIPro" type="FineUIPro.ConfigSection, FineUIPro" requirePermission="false"/>
</configSections>
<FineUIPro DebugMode="true" Theme="Cupertino"/>
<appSettings>
<appSettings>
<!--连接字符串-->
<!--<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>-->
<add key="ConnectionString" value="Server=.\SQL2012;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<add key="ConnectionString" value="Server=.;Database=SGGLDB_WH;Integrated Security=False;User ID=sa;Password=1111;MultipleActiveResultSets=true;Connect Timeout=1200"/>
<!--系统名称-->
<add key="SystemName" value="智慧施工管理信息系统V1.0"/>
<add key="ChartImageHandler" value="storage=file;timeout=20;url=~/Images/;"/>
File diff suppressed because it is too large Load Diff
@@ -17,6 +17,7 @@ using static FineUIPro.Web.TestRun.Report.PreRunSchedule;
using Aspose.Words;
using static FineUIPro.Web.TestRun.Report.TestRunSchedule;
using System.Web.UI.DataVisualization.Charting;
using NPOI.POIFS.Crypt.Dsig;
namespace FineUIPro.Web
{
@@ -26,6 +27,9 @@ namespace FineUIPro.Web
public string oneDataStr { get; set; }
public string twoDataStr { get; set; }
public string fourDecisionStr { get; set; }
public string feedingRunStr { get; set; }
public string productsStr { get; set; }
public string runProductionStr { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
@@ -40,6 +44,9 @@ namespace FineUIPro.Web
OneYsc();
TwoSc();
FourDecision();
FeedingRuns();
Products();
RunProduction();
}
/// <summary>
@@ -265,6 +272,149 @@ namespace FineUIPro.Web
fourDecisionStr = JsonConvert.SerializeObject(result);
}
/// <summary>
/// 投料试车
/// </summary>
public void FeedingRuns()
{
List<FourFiveDto> result = new List<FourFiveDto>();
var data = ParamentSettings(1);
if (data.Count > 0)
{
foreach (var item in data)
{
result.Add(new FourFiveDto()
{
RunType = item.RunType.Value,
SystemName = item.SystemName,
InstallationName = item.InstallationName
});
}
feedingRunStr = JsonConvert.SerializeObject(result);
}
}
/// <summary>
/// 生产试运行
/// </summary>
public void Products()
{
List<FourFiveDto> result = new List<FourFiveDto>();
var data = ParamentSettings(2);
if (data.Count > 0)
{
foreach (var item in data)
{
result.Add(new FourFiveDto()
{
RunType = item.RunType.Value,
SystemName = item.SystemName,
InstallationName = item.InstallationName
});
}
productsStr = JsonConvert.SerializeObject(result);
}
}
/// <summary>
/// 投料试车和生产试运行数据获取
/// </summary>
/// <returns></returns>
private List<ParameterSettingsDto> ParamentSettings(int state)
{
var result = new List<ParameterSettingsDto>();
try
{
if (Funs.DB.Run_ParameterSettings.Count(x => x.ProjectId == this.CurrUser.LoginProjectId && x.States == state) == 0)
{
var query = from runsys in Funs.DB.PreRun_SysDevice
join install in Funs.DB.PreRun_SysDevice on runsys.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on runsys.ProcessesId equals proce.PreRunId
join project in Funs.DB.Base_Project on runsys.ProjectId equals project.ProjectId
where runsys.PreRunLevel == 3 && runsys.ProjectId == this.CurrUser.LoginProjectId
orderby runsys.Sort ascending
select new ParameterSettingsDto()
{
ProjectId = this.CurrUser.LoginProjectId,
ProjectName = project.ProjectName,
InstallationId = runsys.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = runsys.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = runsys.PreRunId,
SystemName = runsys.PreRunName,
States = 1,
RunType = 1
};
if (query.Count() > 0)
{
result = query.ToList();
result.ForEach(x => { x.SettingsId = Guid.NewGuid().ToString(); });
}
}
else
{
var query = from setting in Funs.DB.Run_ParameterSettings
join install in Funs.DB.PreRun_SysDevice on setting.InstallationId equals install.PreRunId
join proce in Funs.DB.PreRun_SysDevice on setting.ProcessesId equals proce.PreRunId
join sys in Funs.DB.PreRun_SysDevice on setting.SystemId equals sys.PreRunId
join project in Funs.DB.Base_Project on setting.ProjectId equals project.ProjectId
where setting.ProjectId == this.CurrUser.LoginProjectId && setting.States == state
orderby setting.Sort ascending
select new ParameterSettingsDto()
{
SettingsId = setting.SettingsId,
ProjectId = setting.ProjectId,
ProjectName = project.ProjectName,
InstallationId = setting.InstallationId,
InstallationName = install.PreRunName,
ProcessesId = setting.ProcessesId,
ProcessesName = proce.PreRunName,
SystemId = setting.SystemId,
SystemName = sys.PreRunName,
States = setting.States,
RunType = setting.RunType,
AddUser = setting.AddUser,
AddTime = setting.AddTime,
Sort = setting.Sort,
};
if (query.Count() > 0)
{
result = query.ToList();
}
}
}
catch (Exception ex)
{
result = new List<ParameterSettingsDto>();
}
return result;
}
/// <summary>
/// 生产性能考核
/// </summary>
public void RunProduction()
{
var result = new SixDto();
var data = Funs.DB.Run_ProductionSettings.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId);
if (data != null)
{
result.States = data.States.Value;
result.StatesName = data.States == 1 ? "考核未开始" : data.States == 2 ? "考核进行中" : data.States == 3 ? "考核已完成" : "考核未开始";
result.StartTime = data.StartTime != null ? data.StartTime.Value.ToString("yyyy-MM-dd") : string.Empty;
result.EndTime = data.EndTime != null ? data.EndTime.Value.ToString("yyyy-MM-dd") : string.Empty;
}
else
{
result.States = 1;
result.StatesName = "考核未开始";
}
runProductionStr = JsonConvert.SerializeObject(result);
}
#region
/// <summary>
@@ -285,6 +435,27 @@ namespace FineUIPro.Web
public float Rate { get; set; }
}
/// <summary>
/// 图4,5
/// </summary>
public class FourFiveDto
{
public int RunType { get; set; }
public string SystemName { get; set; }
public string InstallationName { get; set; }
}
/// <summary>
/// 图6
/// </summary>
public class SixDto
{
public int States { get; set; }
public string StatesName { get; set; }
public string StartTime { get; set; }
public string EndTime { get; set; }
}
public class WorkPackageInspectDto
{
/// <summary>
+1449 -264
View File
File diff suppressed because it is too large Load Diff