集成人员同步,专项检查同步

This commit is contained in:
2026-02-28 10:57:21 +08:00
parent 8f8f970ed5
commit 37ec112f65
51 changed files with 10342 additions and 20 deletions
@@ -19,4 +19,18 @@ END
GO
--数据来源
alter table HSSE_Hazard_HazardRegister add DataSource char(1) COLLATE Chinese_PRC_CI_AS NULL;
EXEC sp_addextendedproperty
'MS_Description', N'数据来源(1总包,0本单位)',
'SCHEMA', N'dbo',
'TABLE', N'HSSE_Hazard_HazardRegister',
'COLUMN', N'DataSource'
GO
--定制版需要根据具体的菜单名称进行修改为"安全健康检查"
update [dbo].[Sys_Menu] set MenuName = '安全健康检查' WHERE MenuName = '安全健康日常巡检' and IsUsed = '1'
@@ -0,0 +1,215 @@
--专项检查(通用)
IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = 'F99F9805-E492-43BB-A2C4-5211AEA8F247')
BEGIN
INSERT INTO dbo.Sys_Menu (MenuId, MenuName,Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed)
VALUES (N'F99F9805-E492-43BB-A2C4-5211AEA8F247', N'专项检查(通用)', N'', 25, N'467A0CB9-737D-4451-965E-869EBC3A4BD6', N'Menu_HSSE',0,0,1);
INSERT INTO dbo.Sys_Menu (MenuId, MenuName,Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed)
VALUES (N'B1FF9501-E66B-4251-8A1D-159B8B10DD64', N'专项检查', N'HSSE/Check/CheckSpecialPro.aspx', 10, N'F99F9805-E492-43BB-A2C4-5211AEA8F247', N'Menu_HSSE',0,1,1);
INSERT INTO dbo.Sys_Menu (MenuId, MenuName,Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed)
VALUES (N'26A79DAB-F264-4720-8F30-D25AE40BE0F9', N'专项检查记录', N'HSSE/Check/CheckSpecialProRecord.aspx', 20, N'F99F9805-E492-43BB-A2C4-5211AEA8F247', N'Menu_HSSE', 0,1, 1);
END
GO
IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = 'B1FF9501-E66B-4251-8A1D-159B8B10DD64')
BEGIN
INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
VALUES (N'43BADE10-A080-4EA3-B6CB-B6DC289026DC', N'B1FF9501-E66B-4251-8A1D-159B8B10DD64', N'增加', 1);
INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
VALUES (N'17192A9B-D648-46C0-B344-AA095C3C0B5C', N'B1FF9501-E66B-4251-8A1D-159B8B10DD64', N'修改', 2);
INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
VALUES (N'77EA865D-58F6-4AF2-9D87-63D5133B6D6C', N'B1FF9501-E66B-4251-8A1D-159B8B10DD64', N'删除', 3);
INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex])
VALUES (N'0BB8D2D0-DB4B-48CC-AF6D-554FFF85C974', N'B1FF9501-E66B-4251-8A1D-159B8B10DD64', N'保存', 4);
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Check_CheckSpecialPro') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[Check_CheckSpecialPro](
[CheckSpecialId] [nvarchar](50) NOT NULL,
[CheckSpecialCode] [nvarchar](50) NOT NULL,
[ProjectId] [nvarchar](50) NULL,
[CheckPerson] [nvarchar](50) NULL,
[CheckTime] [datetime] NULL,
[ScanUrl] [nvarchar](1000) NULL,
[DaySummary] [nvarchar](max) NULL,
[PartInUnits] [nvarchar](1000) NULL,
[PartInPersons] [nvarchar](2000) NULL,
[CheckAreas] [nvarchar](1000) NULL,
[States] [char](1) NULL,
[CompileMan] [nvarchar](50) NULL,
[CheckType] [char](1) NULL,
[PartInPersonIds] [nvarchar](2000) NULL,
[PartInPersonNames] [nvarchar](1000) NULL,
[CheckItemSetId] [nvarchar](50) NULL,
CONSTRAINT [PK_Check_CheckSpecialPro_1] PRIMARY KEY CLUSTERED
(
[CheckSpecialId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
ALTER TABLE [dbo].[Check_CheckSpecialPro] WITH CHECK ADD CONSTRAINT [FK_Check_CheckSpecialPro_Base_Project] FOREIGN KEY([ProjectId])
REFERENCES [dbo].[Base_Project] ([ProjectId])
ALTER TABLE [dbo].[Check_CheckSpecialPro] CHECK CONSTRAINT [FK_Check_CheckSpecialPro_Base_Project]
ALTER TABLE [dbo].[Check_CheckSpecialPro] WITH CHECK ADD CONSTRAINT [FK_Check_CheckSpecialPro_Technique_CheckItemSet] FOREIGN KEY([CheckItemSetId])
REFERENCES [dbo].[Technique_CheckItemSet] ([CheckItemSetId])
ALTER TABLE [dbo].[Check_CheckSpecialPro] CHECK CONSTRAINT [FK_Check_CheckSpecialPro_Technique_CheckItemSet]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'专项检查编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckSpecialCode'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'项目' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'ProjectId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckPerson'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckTime'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参与单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'PartInUnits'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'参与组员' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'PartInPersons'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查区域' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckAreas'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckType'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查组成员ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'PartInPersonIds'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查组成员姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'PartInPersonNames'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查类型ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro', @level2type=N'COLUMN',@level2name=N'CheckItemSetId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'综合检查表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialPro'
END
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'Check_CheckSpecialProDetail') AND type = N'U')
BEGIN
CREATE TABLE [dbo].[Check_CheckSpecialProDetail](
[CheckSpecialDetailId] [nvarchar](50) NOT NULL,
[CheckSpecialId] [nvarchar](50) NULL,
[CheckItem] [nvarchar](3000) NULL,
[CheckItemType] [nvarchar](50) NULL,
[Unqualified] [nvarchar](3000) NULL,
[CheckArea] [nvarchar](50) NULL,
[UnitId] [nvarchar](50) NULL,
[CompleteStatus] [bit] NULL,
[LimitedDate] [datetime] NULL,
[CompletedDate] [datetime] NULL,
[Suggestions] [nvarchar](3000) NULL,
[HandleStep] [nvarchar](3000) NULL,
[RectifyNoticeId] [nvarchar](50) NULL,
[CheckContent] [nvarchar](3000) NULL,
[WorkArea] [nvarchar](3000) NULL,
[DataId] [nvarchar](500) NULL,
[DataType] [nvarchar](50) NULL,
[SortIndex] [int] NULL,
[HiddenHazardType] [nvarchar](50) NULL,
[HSEManage] [varchar](50) NULL,
[RiskLevel] [varchar](50) NULL,
[LimitDate] [date] NULL,
[AttachUrl] [varchar](500) NULL,
[HandleWay] [varchar](50) NULL,
[RectifyOpinion] [nvarchar](500) NULL,
[RectifyDate] [datetime] NULL,
[ReAttachUrl] [nvarchar](2000) NULL,
[State] [char](1) NULL,
[ProposeUnitId] [nvarchar](50) NULL,
[SaveHandleMan] [nvarchar](50) NULL,
CONSTRAINT [PK_Check_CheckSpecialProDetail] PRIMARY KEY CLUSTERED
(
[CheckSpecialDetailId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
ALTER TABLE [dbo].[Check_CheckSpecialProDetail] WITH CHECK ADD CONSTRAINT [FK_Check_CheckSpecialProDetail_Base_Unit] FOREIGN KEY([UnitId])
REFERENCES [dbo].[Base_Unit] ([UnitId])
ALTER TABLE [dbo].[Check_CheckSpecialProDetail] CHECK CONSTRAINT [FK_Check_CheckSpecialProDetail_Base_Unit]
ALTER TABLE [dbo].[Check_CheckSpecialProDetail] WITH CHECK ADD CONSTRAINT [FK_Check_CheckSpecialProDetail_ProjectData_WorkArea] FOREIGN KEY([CheckArea])
REFERENCES [dbo].[WBS_UnitWork] ([UnitWorkId])
ALTER TABLE [dbo].[Check_CheckSpecialProDetail] CHECK CONSTRAINT [FK_Check_CheckSpecialProDetail_ProjectData_WorkArea]
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'明细编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckSpecialDetailId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'日常巡查编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckSpecialId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查项目' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckItem'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查项大类' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckItemType'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'不合格项描述及建议措施 ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'Unqualified'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查区域' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckArea'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'责任单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'UnitId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'整改完成情况(true-是,false-否) ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CompleteStatus'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'建议措施' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'Suggestions'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'处理措施' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'HandleStep'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查项目内容' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'CheckContent'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'检查区域' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'WorkArea'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'下发单据ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'DataId'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'下发单据类型' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'DataType'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'隐患类别' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail', @level2type=N'COLUMN',@level2name=N'HiddenHazardType'
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'综合检查明细表' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Check_CheckSpecialProDetail'
END
GO
CREATE VIEW [dbo].[View_CheckSpecialProDetail]
AS
/*专项检查明细列表视图*/
SELECT detail.CheckSpecialDetailId,
detail.CheckSpecialId,
detail.CheckItem,
checkItemSet.RegisterTypesName as CheckItemName,
--detail.CheckItemType,
detail.Unqualified,
detail.SortIndex,
detail.UnitId,
detail.HandleStep,
detail.CompleteStatus,
(case when detail.CompleteStatus =1 then '已整改' else '待整改' end) as CompleteStatusName,
detail.LimitedDate,
detail.CompletedDate,
--detail.Suggestions,
detail.CheckContent,
detail.CheckArea,
detail.HandleWay,
detail.Suggestions,
detail.RectifyOpinion,
detail.ProposeUnitId,
workArea.UnitWorkName + (CASE WHEN workArea.ProjectType ='1' THEN '(建筑)'
WHEN workArea.ProjectType ='2' THEN '(安装)' ELSE '' END)AS CheckAreaName,
detail.DataId,
detail.DataType,
unit.UnitName,
dbo.GetConstTextByIds(detail.HandleStep) as HandleStepStr,
--const.ConstText as HandleStepStr,
(CASE WHEN detail.DataType like '%1%'
THEN '下发整改单:'+(SELECT RectifyNoticesCode FROM Check_RectifyNotices WHERE detail.DataId like '%'+RectifyNoticesId+'%')
else '' end)+
(CASE WHEN detail.DataType like '%2%'
THEN '下发处罚单:'+(SELECT PunishNoticeCode FROM Check_PunishNotice WHERE detail.DataId like '%'+PunishNoticeId+'%')
else '' end)+
(CASE WHEN detail.DataType = '3'
THEN '下发暂停令:'+(SELECT PauseNoticeCode FROM Check_PauseNotice WHERE detail.DataId like '%'+ PauseNoticeId+'%')
else '' end) AS HandleStepLink
,
(case when detail.riskLevel ='0' then '低'
when detail.riskLevel = '1' then '一般'
when detail.riskLevel = '2' then '较高'
when detail.riskLevel = '3' then '高'
else detail.riskLevel end) as riskLevel,
sysuser.userName as HSEManage
FROM dbo.Check_CheckSpecialProDetail AS detail
LEFT JOIN dbo. HSSE_Hazard_HazardRegisterTypes AS checkItemSet ON checkItemSet.RegisterTypesId=detail.CheckItem
LEFT JOIN dbo.Base_Unit AS unit ON unit.UnitId=detail.UnitId
LEFT JOIN dbo.WBS_UnitWork AS workArea ON detail.CheckArea=workArea.UnitWorkId
LEFT JOIN dbo.Sys_User AS sysuser ON sysuser.userid=detail.HSEManage
--LEFT JOIN Sys_Const AS const ON const.ConstValue = detail.HandleStep and const.GroupId='HandleStep'
GO
@@ -0,0 +1,99 @@
/****** Object: View [dbo].[View_Hazard_HazardRegister] Script Date: 2026-2-27 15:36:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER VIEW [dbo].[View_Hazard_HazardRegister]
AS
SELECT Registration.HazardRegisterId,
Registration.HazardCode,
Registration.RegisterDate,
Registration.RegisterDef,
Registration.Rectification,
Registration.Place,
Registration.ResponsibleUnit,
Registration.Observer,
Registration.Risk_Level,
Registration.RectifiedDate,
Registration.ProjectId,
Project.UnitId AS PUnitId,
Project.ProjectState as ProjectState,
Project.isDelete as isDelete,
ProjectUnit.UnitName AS PUnitName,
ProjectUnit.IsBranch as IsBranch,
Project.ProjectAddress,
Registration.states,
Registration.IsEffective,
Registration.ResponsibleMan,
Registration.CheckManId,
Registration.CheckTime,
Registration.RectificationPeriod,
Registration.ImageUrl,
Registration.RectificationImageUrl,
Registration.RectificationTime,
Registration.ConfirmMan,
Registration.ConfirmDate,
Registration.HandleIdea,
Registration.CutPayment,
Registration.ProblemTypes,
Registration.CheckSpecialId,
Registration.CheckItemDetailId,
Registration.SupCheckItemSetId,
Registration.CheckItemSetId,
Registration.SafeSupervisionId,
Registration.SafeSupervisionIsOK,
Registration.IsUpdate,
Project.ProjectName,
Registration.CheckCycle,
ISNULL(WorkArea.UnitWorkName,'') AS WorkAreaName,
Unit.UnitName as ResponsibilityUnitName,
Unit.CollCropCode as ResponsibilityUnitCollCropCode,
User1.UserName AS ResponsibilityManName,
ISNULL(User1.Telephone,'') AS ResponsibilityManTel,
User2.UserName AS CheckManName,
ISNULL(User2.Telephone,'') AS CheckManTel,
User2.UnitId AS SendUnitId,
User3.UserName AS ConfirmManName,
ISNULL(User3.Telephone,'') AS ConfirmManTel,
User4.UserName AS ResponsibilityManName2,
ISNULL(User4.Telephone,'') AS ResponsibilityMan2Tel,
(CASE WHEN Registration.states='1' and (Registration.SafeSupervisionIsOK is null OR Registration.SafeSupervisionIsOK=0) THEN '´ýÕû¸Ä'
WHEN Registration.states='1' and Registration.SafeSupervisionIsOK=1 THEN 'ºÏ¸ñ'
WHEN Registration.states='2' THEN 'ÒÑÕû¸Ä-´ý¸´²éÑéÊÕ'
WHEN Registration.states='3' THEN 'Òѱջ·'
ELSE 'ÒÑ×÷·Ï' END ) AS StatesStr,
(CASE WHEN Registration.states='3' THEN 'ÒÑÕû¸Ä' ELSE 'δÕû¸Ä' END ) AS ConfirmStr,
RegisterTypes.RegisterTypesId,
RegisterTypes.RegisterTypesName,
Registration.DIC_ID,
Registration.CCManIds,
CCManNames = STUFF(( SELECT ',' + UserName FROM Sys_User
where PATINDEX('%,' + RTRIM(Sys_User.UserId) + ',%',',' + Registration.CCManIds + ',')>0
ORDER BY PATINDEX('%,' + RTRIM(Registration.CCManIds) + ',%',',' + Registration.CCManIds + ',')
FOR XML PATH('')), 1, 1,''),
Registration.Requirements,
Registration.Type,
Registration.DataSource,
Registration.HiddenType
FROM dbo.HSSE_Hazard_HazardRegister AS Registration
LEFT JOIN dbo.Base_Project AS Project ON Project.ProjectId = Registration.ProjectId
LEFT JOIN dbo.Base_Unit AS ProjectUnit ON Project.UnitId = ProjectUnit.UnitId
LEFT JOIN dbo.WBS_UnitWork AS WorkArea ON WorkArea.UnitWorkId = Registration.Place
LEFT JOIN dbo.HSSE_Hazard_HazardRegisterTypes AS RegisterTypes ON RegisterTypes.RegisterTypesId = Registration.RegisterTypesId
LEFT JOIN dbo.Base_Unit AS Unit ON Unit.UnitId = Registration.ResponsibleUnit
LEFT JOIN dbo.Sys_User AS User1 ON User1.UserId = Registration.ResponsibleMan
LEFT JOIN dbo.Sys_User AS User2 ON User2.UserId = Registration.CheckManId
LEFT JOIN dbo.Sys_User AS User3 ON User3.UserId = Registration.ConfirmMan
LEFT JOIN dbo.Sys_User AS User4 ON User4.UserId = Registration.ResponsibleMan2
GO
+5
View File
@@ -315,7 +315,10 @@
<Compile Include="CQMS\WBS\WorkPackageProjectService.cs" />
<Compile Include="CQMS\WBS\WorkPackageService.cs" />
<Compile Include="DataShare\APIDataShareSyncService.cs" />
<Compile Include="DataShare\HSSE\APICheckSpecialSyncService.cs" />
<Compile Include="DataShare\HSSE\APIHazardRegisterSyncService.cs" />
<Compile Include="DataShare\HSSE\APIMeetingSyncService.cs" />
<Compile Include="DataShare\HSSE\APIPersonSyncService.cs" />
<Compile Include="DCGL\ServerCheck\DCGLCheckNoticeItemService.cs" />
<Compile Include="DCGL\ServerCheck\DCGLCheckRectifyItemService.cs" />
<Compile Include="DCGL\ServerCheck\DCGLCheckRectifyService.cs" />
@@ -398,7 +401,9 @@
<Compile Include="HSSE\Check\Check_CheckDayService.cs" />
<Compile Include="HSSE\Check\Check_CheckHolidayDetailService.cs" />
<Compile Include="HSSE\Check\Check_CheckHolidayService.cs" />
<Compile Include="HSSE\Check\Check_CheckSpecialProDetailService.cs" />
<Compile Include="HSSE\Check\Check_CheckSpecialDetailService.cs" />
<Compile Include="HSSE\Check\Check_CheckSpecialProService.cs" />
<Compile Include="HSSE\Check\Check_CheckSpecialService.cs" />
<Compile Include="HSSE\Check\Check_CheckWorkDetailService.cs" />
<Compile Include="HSSE\Check\Check_CheckWorkService.cs" />
@@ -1,4 +1,11 @@
using System.Linq;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
namespace BLL
{
@@ -45,5 +52,523 @@ namespace BLL
#endregion
#region 获取作业区域
/// <summary>
/// 作业区域
/// </summary>
/// <param name="UnitWorkName"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static string getUnitWorkId(string UnitWorkName, string projectId)
{
string UnitWorkId = null;
if (!string.IsNullOrEmpty(UnitWorkName))
{
var uw = Funs.DB.WBS_UnitWork.Where(x =>
x.UnitWorkName == UnitWorkName && x.ProjectId == projectId && x.SuperUnitWork == null).ToList();
if (uw.Count == 0)
{
Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork
{
UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork)),
ProjectId = projectId,
UnitWorkName = UnitWorkName,
};
UnitWorkService.AddUnitWork(newUnitWork);
UnitWorkId = newUnitWork.UnitWorkId;
}
else
{
UnitWorkId = uw.FirstOrDefault().UnitWorkId;
}
}
return UnitWorkId;
}
#endregion
#region 获取系统用户
/// <summary>
/// 获取系统用户
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static string getUserId(string userName)
{
string UserId = null;
if (!string.IsNullOrEmpty(userName))
{
var u = Funs.DB.Sys_User.Where(x =>
x.UserName == userName).ToList();
if (u.Count == 0)
{
Model.Sys_User newUser = new Model.Sys_User
{
UserId = SQLHelper.GetNewID(typeof(Model.Sys_User)),
UserName = userName,
// Remark = "导入",
};
UserService.AddUser(newUser);
UserId = newUser.UserId;
}
else
{
UserId = u.FirstOrDefault().UserId;
}
}
return UserId;
}
#endregion
#region 获取检查类别
/// <summary>
/// 获取检查类别
/// </summary>
/// <param name="userName"></param>
/// <returns></returns>
public static string getCheckItemSetId(string checkItemName)
{
string CheckItemSetId = null;
if (!string.IsNullOrEmpty(checkItemName))
{
var cis = Funs.DB.Technique_CheckItemSet.Where(x =>
x.CheckItemName == checkItemName && x.CheckType == "2").ToList();
if (cis.Count == 0)
{
Model.Technique_CheckItemSet newCheckItemSet = new Model.Technique_CheckItemSet
{
CheckItemSetId = SQLHelper.GetNewID(typeof(Model.Technique_CheckItemSet)),
CheckItemName = checkItemName,
SupCheckItem = "0",
CheckType = "2",
};
Technique_CheckItemSetService.AddCheckItemSet(newCheckItemSet);
CheckItemSetId = newCheckItemSet.CheckItemSetId;
}
else
{
CheckItemSetId = cis.FirstOrDefault().CheckItemSetId;
}
}
return CheckItemSetId;
}
#endregion
#region 获取巡检问题类型
/// <summary>
/// 获取巡检问题类型
/// </summary>
/// <param name="RegisterTypesName"></param>
/// <returns></returns>
public static string getRegisterTypesId(string RegisterTypesName)
{
string RegisterTypesId = null;
if (!string.IsNullOrEmpty(RegisterTypesName))
{
var ht = Funs.DB.HSSE_Hazard_HazardRegisterTypes.Where(x =>
x.RegisterTypesName == RegisterTypesName && x.HazardRegisterType == "1").ToList();
if (ht.Count == 0)
{
Model.HSSE_Hazard_HazardRegisterTypes newHazardRegisterTypes = new Model.HSSE_Hazard_HazardRegisterTypes
{
RegisterTypesId = SQLHelper.GetNewID(typeof(Model.HSSE_Hazard_HazardRegisterTypes)),
RegisterTypesName = RegisterTypesName,
HazardRegisterType = "1",
Remark = "导入",
};
HSSE_Hazard_HazardRegisterTypesService.AddHazardRegisterTypes(newHazardRegisterTypes);
RegisterTypesId = newHazardRegisterTypes.RegisterTypesId;
}
else
{
RegisterTypesId = ht.FirstOrDefault().RegisterTypesId;
}
}
return RegisterTypesId;
}
#endregion
#region 获取特岗证书
/// <summary>
/// 特岗证书
/// </summary>
/// <param name="CertificateName"></param>
/// <returns></returns>
public static Model.CertificateItem GetPersonQualityByPersonId(string personId)
{
Model.CertificateItem item = new Model.CertificateItem();
var personQuality = PersonQualityService.GetPersonQualityByPersonId(personId);
if (personQuality != null)
{
item.PersonQualityId = personQuality.PersonQualityId;//主键
item.CertificateId = personQuality.CertificateId;
item.CertificateName = personQuality.CertificateName;
item.CertificateNo = personQuality.CertificateNo;
item.CertificateLimitDate = personQuality.LimitDate;
}
return item;
}
#endregion
#region 保存或修改特岗证书数据
public static void ProcessPersonQualityData(Model.CertificateItem item, string personId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
if (item == null)
{
return;
}
if (!string.IsNullOrEmpty(item.CertificateId))
{
var personQuality = BLL.PersonQualityService.GetPersonQualityByPersonId(personId);
var certificate =
db.Base_Certificate.FirstOrDefault(e => e.CertificateId == item.CertificateId);
var CertificateId = string.Empty;
if (certificate != null)
{
CertificateId = certificate.CertificateId;
}
else
{
Model.Base_Certificate newCertificate = new Model.Base_Certificate
{
CertificateId = SQLHelper.GetNewID(typeof(Model.Base_Certificate)),
CertificateName = item.CertificateName,
Remark = "导入"
};
db.Base_Certificate.InsertOnSubmit(newCertificate);
db.SubmitChanges();
// BLL.CertificateService.AddCertificate(newCertificate);
CertificateId = newCertificate.CertificateId;
}
if (personQuality != null)
{
personQuality.CertificateId = CertificateId;
personQuality.CertificateName = item.CertificateName;
personQuality.CertificateNo = item.CertificateNo;
personQuality.LimitDate = item.CertificateLimitDate;
BLL.PersonQualityService.UpdatePersonQuality(personQuality);
}
else
{
Model.QualityAudit_PersonQuality newPersonQuality = new Model.QualityAudit_PersonQuality
{
PersonQualityId = SQLHelper.GetNewID(typeof(Model.QualityAudit_PersonQuality)),
PersonId = personId,
};
newPersonQuality.CertificateId = CertificateId;
newPersonQuality.CertificateName = item.CertificateName;
newPersonQuality.CertificateNo = item.CertificateNo;
newPersonQuality.LimitDate = item.CertificateLimitDate;
BLL.PersonQualityService.AddPersonQuality(newPersonQuality);
}
}
}
}
#endregion
#region 岗位
/// <summary>
/// 岗位
/// </summary>
/// <param name="WorkPostName"></param>
/// <returns></returns>
public static string getWorkPostId(string WorkPostName, string PostType, string IsHsse, string IsCQMS)
{
string WorkPostId = null;
if (!string.IsNullOrEmpty(WorkPostName))
{
var wp = Funs.DB.Base_WorkPost.Where(x => x.WorkPostName == WorkPostName).ToList();
if (wp.Count == 0)
{
Model.Base_WorkPost newWorkPost = new Model.Base_WorkPost
{
WorkPostId = SQLHelper.GetNewID(typeof(Model.Base_WorkPost)),
WorkPostName = WorkPostName,
PostType = PostType,
IsHsse = Convert.ToBoolean(IsHsse),
IsCQMS = Convert.ToBoolean(IsCQMS),
Remark = "导入"
};
WorkPostService.AddWorkPost(newWorkPost);
WorkPostId = newWorkPost.WorkPostId;
}
else
{
WorkPostId = wp.FirstOrDefault().WorkPostId;
}
}
return WorkPostId;
}
#endregion
#region 单位工程
/// <summary>
/// 单位工程
/// </summary>
/// <param name="WorkAreaName"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static string getWorkAreaId(string WorkAreaName, string projectId)
{
string WorkAreaId = null;
if (!string.IsNullOrEmpty(WorkAreaName))
{
var names = WorkAreaName.Split(',');
List<string> workAreaIdList = new List<string>();
foreach (var name in names)
{
var uw = Funs.DB.WBS_UnitWork.Where(x =>
x.UnitWorkName == name && x.ProjectId == projectId).ToList();
if (uw.Count == 0)
{
Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork
{
UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork)),
ProjectId = projectId,
UnitWorkName = name,
};
UnitWorkService.AddUnitWork(newUnitWork);
workAreaIdList.Add(newUnitWork.UnitWorkId);
}
else
{
workAreaIdList.Add(uw.FirstOrDefault().UnitWorkId);
}
}
WorkAreaId = string.Join(",", workAreaIdList);
}
return WorkAreaId;
}
#endregion
#region 获取根据id获取单位工程名称
/// <summary>
/// 获取根据id获取单位工程名称
/// </summary>
/// <param name="WorkAreaId"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static string GetWorkAreaNames(string WorkAreaId, string projectId)
{
string WorkAreaNames = string.Empty;
if (!string.IsNullOrEmpty(WorkAreaId))
{
var workAreas = WorkAreaId.Split(',');
//创建一个数组集合
List<string> workAreaNameList = new List<string>();
foreach (var workArea in workAreas)
{
var WorkAreaName = Funs.DB.WBS_UnitWork
.First(x => x.UnitWorkId == workArea && x.ProjectId == projectId)
.UnitWorkName;
workAreaNameList.Add(WorkAreaName);
}
WorkAreaNames = string.Join(",", workAreaNameList);
}
return WorkAreaNames;
}
#endregion
#region 根据地址获取base64的文件
public static async Task<byte[]> DownloadHeadImageAsync(string webUrl, string photoUrl)
{
byte[] b = null;
try
{
if (!string.IsNullOrEmpty(photoUrl))
{
string localRoot = ConfigurationManager.AppSettings["localRoot"]; // 物理路径
// 先下载到本地(异步等待完成)
DownloadAndSaveFileWithRetryAsync(webUrl, photoUrl, localRoot);
b = AttachFileService.SetImageToByteArray(localRoot + photoUrl.Split(',')[0]);
}
}
catch (Exception ex)
{
throw ex;
}
return b;
}
#endregion
#region 向AttachFile文件表中添加或修改数据
public static async Task OperationAttachFile(string webUrl, string tokeyId, string menuId, string attachFileUrl)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
if (!string.IsNullOrEmpty(attachFileUrl))
{
string localRoot = ConfigurationManager.AppSettings["localRoot"]; //物理路径
//attachFileUrl可能是多个
string[] attachFileUrls = attachFileUrl.Split(',');
var attachFile = db.AttachFile.FirstOrDefault(x => x.ToKeyId == tokeyId && x.MenuId == menuId);
if (attachFile != null)
{
if (attachFile.AttachUrl != attachFileUrl)
{
string[] oldAttachFileUrls = attachFile.AttachUrl.Split(',');
foreach (var oldFileUrl in oldAttachFileUrls)
{
//删除之前的
UploadFileService.DeleteFile(localRoot, oldFileUrl);
}
foreach (var fileUrl in attachFileUrls)
{
DownloadAndSaveFileWithRetryAsync(webUrl, fileUrl, localRoot);
}
UploadFileService.SaveAttachUrl(
UploadFileService.GetSourceByAttachUrl(attachFileUrl, 10, null),
attachFileUrl, menuId, tokeyId);
}
}
else
{
foreach (var fileUrl in attachFileUrls)
{
DownloadAndSaveFileWithRetryAsync(webUrl, fileUrl, localRoot);
}
UploadFileService.SaveAttachUrl(
UploadFileService.GetSourceByAttachUrl(attachFileUrl, 10, null),
attachFileUrl, menuId, tokeyId);
}
}
}
}
public static async Task DownloadAndSaveFileAsync(string webUrl, string attachFileUrl, string localPath)
{
// 验证输入参数
if (string.IsNullOrEmpty(webUrl) || string.IsNullOrEmpty(attachFileUrl) || string.IsNullOrEmpty(localPath))
{
BLL.ErrLogInfo.WriteLog(
$"下载文件参数无效: webUrl={webUrl}, attachFileUrl={attachFileUrl}, localPath={localPath}");
return;
}
try
{
// 构造完整的远程文件 URL
string fullRemoteUrl = $"{webUrl.TrimEnd('/')}/{attachFileUrl.TrimStart('/')}";
// 构造本地文件路径
string localFilePath = Path.Combine(localPath, attachFileUrl);
// 确保本地目录存在
string directoryPath = Path.GetDirectoryName(localFilePath);
if (!string.IsNullOrEmpty(directoryPath) && !Directory.Exists(directoryPath))
{
Directory.CreateDirectory(directoryPath);
}
// 使用独立的HttpClient实例并配置不捕获同步上下文
using (var httpClient = new HttpClient())
{
// 设置合理的超时时间
httpClient.Timeout = TimeSpan.FromMinutes(3);
// 下载文件字节(使用ConfigureAwait(false)避免上下文问题)
byte[] fileBytes = await httpClient.GetByteArrayAsync(fullRemoteUrl).ConfigureAwait(false);
// 写入文件(同样使用ConfigureAwait(false))
await Task.Run(() => File.WriteAllBytes(localFilePath, fileBytes)).ConfigureAwait(false);
}
}
catch (HttpRequestException httpEx)
{
BLL.ErrLogInfo.WriteLog($"HTTP请求失败 - URL: {webUrl}/{attachFileUrl}", httpEx);
// 不抛出异常,让调用方继续处理
}
catch (DirectoryNotFoundException dirEx)
{
BLL.ErrLogInfo.WriteLog($"目录创建失败 - 路径: {localPath}", dirEx);
}
catch (UnauthorizedAccessException authEx)
{
BLL.ErrLogInfo.WriteLog($"文件访问权限不足 - 路径: {Path.Combine(localPath, attachFileUrl)}", authEx);
}
catch (Exception ex)
{
BLL.ErrLogInfo.WriteLog($"下载文件失败 - URL: {webUrl}/{attachFileUrl}", ex);
// 不重新抛出异常,避免中断整个流程
}
}
// 添加重试机制的下载方法
public static async Task<bool> DownloadAndSaveFileWithRetryAsync(string webUrl, string attachFileUrl,
string localPath, int maxRetries = 3)
{
for (int attempt = 0; attempt < maxRetries; attempt++)
{
try
{
await DownloadAndSaveFileAsync(webUrl, attachFileUrl, localPath);
return true; // 成功下载
}
catch (HttpRequestException)
{
if (attempt == maxRetries - 1)
{
BLL.ErrLogInfo.WriteLog($"下载失败,已重试{maxRetries}次 - URL: {webUrl}/{attachFileUrl}");
return false;
}
// 等待后重试
await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, attempt)));
}
}
return false;
}
#endregion
}
}
@@ -0,0 +1,525 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Configuration;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Model;
using Newtonsoft.Json;
using RestSharp;
using System.Net;
namespace BLL;
public class APICheckSpecialSyncService
{
#region 根据项目、单位获取专项检查列表
public static List<Model.CheckSpecialSyncItem> GetCheckSpecialLitsByprojectIdUnitId(string projectId,
string unitId, string dataId = "")
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var list = from x in db.Check_CheckSpecialPro where x.ProjectId == projectId select x;
if (!string.IsNullOrEmpty(unitId))
{
// 通过关联明细表来筛选包含指定单位的主表数据
var specialIdsWithUnit = (from detail in db.Check_CheckSpecialProDetail
where detail.UnitId == unitId
select detail.CheckSpecialId).Distinct();
list = list.Where(x => specialIdsWithUnit.Contains(x.CheckSpecialId));
}
if (!string.IsNullOrEmpty(dataId))
{
list = list.Where(x => x.CheckSpecialId == dataId);
}
var dataList = (from x in list
join cis in db.Technique_CheckItemSet on x.CheckItemSetId equals cis.CheckItemSetId into cisTemp
from cis in cisTemp.DefaultIfEmpty()
join att in db.AttachFile on x.CheckSpecialId equals att.ToKeyId into attTemp
from att in attTemp.DefaultIfEmpty()
select new CheckSpecialSyncItem
{
CheckSpecialId = x.CheckSpecialId,
CheckSpecialCode = x.CheckSpecialCode,
ProjectId = x.ProjectId,
CheckPerson = x.CheckPerson,
CheckTime = x.CheckTime,
ScanUrl = x.ScanUrl,
DaySummary = x.DaySummary,
PartInUnits = x.PartInUnits,
PartInPersons = x.PartInPersons,
CheckAreas = x.CheckAreas,
States = x.States,
CompileMan = x.CompileMan,
CheckType = x.CheckType,
PartInPersonIds = x.PartInPersonIds,
PartInPersonNames = x.PartInPersonNames,
CheckItemSetId = x.CheckItemSetId,
CheckItemName = cis.CheckItemName,
AttachFileId1 = att.AttachFileId,
ToKeyId1 = att.ToKeyId,
AttachSource1 = att.AttachSource,
AttachUrl1 = att.AttachUrl,
CheckSpecialDetails = GetCheckSpecialDetailLists(x.CheckSpecialId),
}).ToList();
return dataList;
}
}
//根据专项检查id获取专项检查明细数据
public static List<Model.CheckSpecialDetailSyncItem> GetCheckSpecialDetailLists(string checkSpecialId)
{
var detailLists = (from x in Funs.DB.Check_CheckSpecialProDetail
join ht in Funs.DB.HSSE_Hazard_HazardRegisterTypes on x.CheckItem equals ht.RegisterTypesId into htTemp
from ht in htTemp.DefaultIfEmpty()
join uw in Funs.DB.WBS_UnitWork on x.CheckArea equals uw.UnitWorkId into uwTemp
from uw in uwTemp.DefaultIfEmpty()
join u1 in Funs.DB.Sys_User on x.HSEManage equals u1.UserId into u1Temp
from u1 in u1Temp.DefaultIfEmpty()
join att in Funs.DB.AttachFile on x.CheckSpecialDetailId equals att.ToKeyId into attTemp
from att in attTemp.DefaultIfEmpty()
where x.CheckSpecialId == checkSpecialId
select new CheckSpecialDetailSyncItem
{
CheckSpecialDetailId = x.CheckSpecialDetailId,
CheckSpecialId = x.CheckSpecialId,
CheckItem = x.CheckItem,
CheckItemName = ht.RegisterTypesName,
CheckItemType = x.CheckItemType,
Unqualified = x.Unqualified,
CheckArea = x.CheckArea,
CheckAreaName = uw.UnitWorkName,
UnitId = x.UnitId,
CompleteStatus = x.CompleteStatus,
LimitedDate = x.LimitedDate,
CompletedDate = x.CompletedDate,
Suggestions = x.Suggestions,
HandleStep = x.HandleStep,
RectifyNoticeId = x.RectifyNoticeId,
CheckContent = x.CheckContent,
WorkArea = x.WorkArea,
DataId = x.DataId,
DataType = x.DataType,
SortIndex = x.SortIndex,
HiddenHazardType = x.HiddenHazardType,
HSEManage = x.HSEManage,
HSEManageName = u1.UserName,
RiskLevel = x.RiskLevel,
LimitDate = x.LimitDate,
AttachUrl = x.AttachUrl,
HandleWay = x.HandleWay,
RectifyOpinion = x.RectifyOpinion,
RectifyDate = x.RectifyDate,
ReAttachUrl = x.ReAttachUrl,
State = x.State,
ProposeUnitId = x.ProposeUnitId,
SaveHandleMan = x.SaveHandleMan,
AttachFileId1 = att.AttachFileId,
ToKeyId1 = att.ToKeyId,
AttachSource1 = att.AttachSource,
AttachUrl1 = att.AttachUrl,
})
.ToList();
return detailLists;
}
#endregion
#region 拉取项目专项检查数据
public static async Task<string> getCheckSpecialLists()
{
int code = 0;
string message = "";
try
{
string CollCropCode = string.Empty;
string unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
if (thisUnit != null)
{
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
unitId = thisUnit.UnitId;
}
var ProjectList = (from x in Funs.DB.Base_Project
where (x.IsDelete == null || x.IsDelete == false) && x.SubjectUnit != null &&
x.SubjectProject != null
select x).ToList();
if (ProjectList.Count > 0)
{
foreach (var project in ProjectList)
{
string SubjectUnitId = project.SubjectUnit; //集团的单位id
string SubjectProjectId = project.SubjectProject; //集团的单位id
//获取对应单位的apiurl地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// CollCropCode = "913404001520228377Y"; //三化建 测试使用
// SubjectProjectId = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
string url = "/api/CheckSpecialSync/getCheckSpecialListByProjectIdAndCollCropCode?projectId=" +
SubjectProjectId + "&collCropCode=" + CollCropCode;
string baseurl = ApiUrl + url;
string contenttype = "application/json;charset=unicode";
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
code = Funs.GetNewIntOrZero(obj["code"].ToString());
message = obj["message"].ToString();
if (code == 1)
{
var getData =
JsonConvert.DeserializeObject<List<CheckSpecialSyncItem>>(obj["data"].ToString());
if (getData.Count() > 0)
{
ProcessCheckSpecialData(getData, project.ProjectId, unitId, WebUrl);
}
message = "获取成功:同步专项检查数" + getData.Count().ToString() + "条";
}
}
}
}
}
catch (Exception ex)
{
message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("专项检查获取!", ex);
}
return message;
}
#endregion
#region 推送专项检查数据
public static ReturnData pushCheckSpecialLists(string projectId, string dataId = "")
{
Model.ReturnData responeData = new Model.ReturnData();
responeData.code = 0;
responeData.message = string.Empty;
try
{
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (project != null)
{
//获取专项检查数据
var items = GetCheckSpecialLitsByprojectIdUnitId(projectId, "", dataId);
//总包地址推送
if (items.Count() > 0)
{
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
var apiurl = "/api/CheckSpecialSync/SaveCheckSpecialSyncData";
//总包单位接口地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// thisUnit.CollCropCode = "913404001520228377Y";//测试使用
// project.SubjectProject = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
var pushData = new CheckSpecialSyncData
{
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
ProjectId = project.SubjectProject, //主包项目Id
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
Items = items //专项检查数据
};
var pushContent = JsonConvert.SerializeObject(pushData);
string baseurl = ApiUrl + apiurl;
string contenttype = "application/json;charset=unicode";
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
if (!string.IsNullOrEmpty(returndata))
{
JObject obj = JObject.Parse(returndata);
string code = obj["code"].ToString();
string message = obj["message"].ToString();
responeData.code = int.Parse(code);
responeData.message = message;
}
}
else
{
responeData.code = 0;
responeData.message = "当前没有项目专项检查数据";
}
}
}
catch (Exception ex)
{
responeData.message = "同步到总包单位失败!";
ErrLogInfo.WriteLog("【项目专项检查】同步到总包单位失败!", ex);
}
return responeData;
}
#endregion
#region 接收保存项目专项检查数据
public static async Task<string> SaveCheckSpecialSyncData(Model.CheckSpecialSyncData items)
{
int code = 0;
string message = "";
try
{
if (items.Items.Count > 0 || items.Items.Count > 0)
{
//获取CollCropCode
var CollCropCode = items.CollCropCode;
var ProjectId = items.ProjectId;
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
//根据CollCropCode获取单位id
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode);
if (unit == null)
{
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
}
else
{
//2、判断主包项目是否存在
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
if (porject == null)
{
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
}
else
{
ProcessCheckSpecialData(items.Items, ProjectId, unit.UnitId, UnitDomain);
message = "数据推送成功!";
}
}
}
else
{
message = "暂无项目专项检查数据!";
}
}
catch (Exception ex)
{
throw ex;
}
return message;
}
#endregion
#region 处理单项目专项检查数据的新增或更新逻辑
/// <summary>
/// 处理单项目专项检查数据的新增或更新逻辑
/// </summary>
/// <param name="item">专项检查数据项</param>
/// <param name="projectId">项目id</param>
/// <param name="unitId">单位ID</param>
/// <param name="WebUrl">Web地址</param>
private static async void ProcessCheckSpecialData(List<Model.CheckSpecialSyncItem> getData, string projectId,
string unitId, string WebUrl)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
var model = db.Check_CheckSpecialPro.FirstOrDefault(e => e.CheckSpecialId == item.CheckSpecialId);
if (model == null)
{
Model.Check_CheckSpecialPro newModel = new Model.Check_CheckSpecialPro
{
CheckSpecialId = item.CheckSpecialId,
CheckSpecialCode = item.CheckSpecialCode,
ProjectId = projectId,
CheckPerson = item.CheckPerson,
CheckTime = item.CheckTime,
ScanUrl = item.ScanUrl,
DaySummary = item.DaySummary,
PartInUnits = item.PartInUnits,
PartInPersons = item.PartInPersons,
CheckAreas = item.CheckAreas,
States = item.States,
CompileMan = item.CompileMan,
CheckType = item.CheckType,
PartInPersonIds = item.PartInPersonIds,
PartInPersonNames = item.PartInPersonNames,
CheckItemSetId = APIDataShareSyncService.getCheckItemSetId(item.CheckItemName),
};
db.Check_CheckSpecialPro.InsertOnSubmit(newModel);
db.SubmitChanges();
}
else
{
model.CheckSpecialId = item.CheckSpecialId;
model.CheckSpecialCode = item.CheckSpecialCode;
model.ProjectId = projectId;
model.CheckPerson = item.CheckPerson;
model.CheckTime = item.CheckTime;
model.ScanUrl = item.ScanUrl;
model.DaySummary = item.DaySummary;
model.PartInUnits = item.PartInUnits;
model.PartInPersons = item.PartInPersons;
model.CheckAreas = item.CheckAreas;
model.States = item.States;
model.CompileMan = item.CompileMan;
model.CheckType = item.CheckType;
model.PartInPersonIds = item.PartInPersonIds;
model.PartInPersonNames = item.PartInPersonNames;
model.CheckItemSetId = APIDataShareSyncService.getCheckItemSetId(item.CheckItemName);
db.SubmitChanges();
}
if (!string.IsNullOrEmpty(item.AttachUrl1)) //主表附件
{
APIDataShareSyncService.OperationAttachFile(WebUrl, item.CheckSpecialId,
BLL.Const.ProjectCheckSpecialMenuId, item.AttachUrl1);
}
//处理专项检查明细数据
ProcessCheckSpecialDetailData(item.CheckSpecialDetails, projectId, unitId, WebUrl);
}
}
}
#endregion
#region 处理单项目专项检查明细数据的新增或更新逻辑
/// <summary>
/// 处理单项目专项检查明细数据的新增或更新逻辑
/// </summary>
/// <param name="item">专项检查数据项</param>
/// <param name="projectId">项目id</param>
/// <param name="unitId">单位ID</param>
/// <param name="WebUrl">Web地址</param>
private static async void ProcessCheckSpecialDetailData(List<Model.CheckSpecialDetailSyncItem> getData,
string projectId,
string unitId, string WebUrl)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
var model = db.Check_CheckSpecialProDetail.FirstOrDefault(e =>
e.CheckSpecialDetailId == item.CheckSpecialDetailId);
if (model == null)
{
Model.Check_CheckSpecialProDetail newModel = new Model.Check_CheckSpecialProDetail
{
CheckSpecialDetailId = item.CheckSpecialDetailId,
CheckSpecialId = item.CheckSpecialId,
CheckItem = APIDataShareSyncService.getRegisterTypesId(item.CheckItemName),
CheckItemType = item.CheckItemType,
Unqualified = item.Unqualified,
CheckArea = APIDataShareSyncService.getUnitWorkId(item.CheckAreaName, projectId),
UnitId = unitId,
CompleteStatus = item.CompleteStatus,
LimitedDate = item.LimitedDate,
CompletedDate = item.CompletedDate,
Suggestions = item.Suggestions,
HandleStep = item.HandleStep,
RectifyNoticeId = item.RectifyNoticeId,
CheckContent = item.CheckContent,
WorkArea = item.WorkArea,
DataId = item.DataId,
DataType = item.DataType,
SortIndex = item.SortIndex,
HiddenHazardType = item.HiddenHazardType,
HSEManage = APIDataShareSyncService.getUserId(item.HSEManageName),
RiskLevel = item.RiskLevel,
LimitDate = item.LimitDate,
AttachUrl = item.AttachUrl,
HandleWay = item.HandleWay,
RectifyOpinion = item.RectifyOpinion,
RectifyDate = item.RectifyDate,
ReAttachUrl = item.ReAttachUrl,
State = item.State,
ProposeUnitId = item.ProposeUnitId,
SaveHandleMan = item.SaveHandleMan,
};
db.Check_CheckSpecialProDetail.InsertOnSubmit(newModel);
db.SubmitChanges();
}
else
{
model.CheckSpecialDetailId = item.CheckSpecialDetailId;
model.CheckSpecialId = item.CheckSpecialId;
model.CheckItem = APIDataShareSyncService.getRegisterTypesId(item.CheckItemName);
model.CheckItemType = item.CheckItemType;
model.Unqualified = item.Unqualified;
model.CheckArea = APIDataShareSyncService.getUnitWorkId(item.CheckAreaName, projectId);
model.UnitId = unitId;
model.CompleteStatus = item.CompleteStatus;
model.LimitedDate = item.LimitedDate;
model.CompletedDate = item.CompletedDate;
model.Suggestions = item.Suggestions;
model.HandleStep = item.HandleStep;
model.RectifyNoticeId = item.RectifyNoticeId;
model.CheckContent = item.CheckContent;
model.WorkArea = item.WorkArea;
model.DataId = item.DataId;
model.DataType = item.DataType;
model.SortIndex = item.SortIndex;
model.HiddenHazardType = item.HiddenHazardType;
model.HSEManage = APIDataShareSyncService.getUserId(item.HSEManageName);
model.RiskLevel = item.RiskLevel;
model.LimitDate = item.LimitDate;
model.AttachUrl = item.AttachUrl;
model.HandleWay = item.HandleWay;
model.RectifyOpinion = item.RectifyOpinion;
model.RectifyDate = item.RectifyDate;
model.ReAttachUrl = item.ReAttachUrl;
model.State = item.State;
model.ProposeUnitId = item.ProposeUnitId;
model.SaveHandleMan = item.SaveHandleMan;
db.SubmitChanges();
}
if (!string.IsNullOrEmpty(item.AttachUrl1)) //整改前图片
{
APIDataShareSyncService.OperationAttachFile(WebUrl, item.CheckSpecialDetailId,
BLL.Const.ProjectCheckSpecialMenuId, item.AttachUrl1);
}
}
}
}
#endregion
}
@@ -0,0 +1,453 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Configuration;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Model;
using Newtonsoft.Json;
using RestSharp;
using System.Net;
namespace BLL;
public class APIHazardRegisterSyncService
{
#region 根据项目、单位获取安全检查列表分页
public static List<Model.HazardRegisterSyncItem> GetHazardRegisterLitsByprojectIdUnitIdPage(string projectId,
string unitId, string dataId = "")
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var list = from x in db.HSSE_Hazard_HazardRegister where x.ProjectId == projectId select x;
if (!string.IsNullOrEmpty(unitId))
{
list = list.Where(x => x.ResponsibleUnit == unitId);
}
if (!string.IsNullOrEmpty(dataId))
{
list = list.Where(x => x.HazardRegisterId == dataId);
}
var dataList = (from x in list
join ht in db.HSSE_Hazard_HazardRegisterTypes on x.RegisterTypesId equals ht.RegisterTypesId into htTemp
from ht in htTemp.DefaultIfEmpty()
join uw in db.WBS_UnitWork on x.Place equals uw.UnitWorkId into uwTemp
from uw in uwTemp.DefaultIfEmpty()
join u1 in db.Sys_User on x.ResponsibleMan equals u1.UserId into u1Temp
from u1 in u1Temp.DefaultIfEmpty()
join u2 in db.Sys_User on x.CheckManId equals u2.UserId into u2Temp
from u2 in u2Temp.DefaultIfEmpty()
join u3 in db.Sys_User on x.ConfirmMan equals u3.UserId into u3Temp
from u3 in u3Temp.DefaultIfEmpty()
join u4 in db.Sys_User on x.ResponsibleMan2 equals u4.UserId into u4Temp
from u4 in u4Temp.DefaultIfEmpty()
select new HazardRegisterSyncItem
{
HazardRegisterId = x.HazardRegisterId,
HazardCode = x.HazardCode,
RegisterDate = x.RegisterDate,
RegisterDef = x.RegisterDef,
Rectification = x.Rectification,
Place = x.Place,
PlaceName = uw.UnitWorkName,
ResponsibleUnit = x.ResponsibleUnit,
Observer = x.Observer,
RectifiedDate = x.RectifiedDate,
AttachUrl = x.AttachUrl,
ProjectId = x.ProjectId,
States = x.States,
IsEffective = x.IsEffective,
ResponsibleMan = x.ResponsibleMan,
ResponsibleManName = u1.UserName,
CheckManId = x.CheckManId,
CheckManName = u2.UserName,
CheckTime = x.CheckTime,
RectificationPeriod = x.RectificationPeriod,
ImageUrl = x.ImageUrl,
RectificationImageUrl = x.RectificationImageUrl,
RectificationTime = x.RectificationTime,
ConfirmMan = x.ConfirmMan,
ConfirmManName = u3.UserName,
ConfirmDate = x.ConfirmDate,
HandleIdea = x.HandleIdea,
CutPayment = x.CutPayment,
ProblemTypes = x.ProblemTypes,
RegisterTypesId = x.RegisterTypesId,
RegisterTypesName = ht.RegisterTypesName,
CheckCycle = x.CheckCycle,
CheckItemDetailId = x.CheckItemDetailId,
SupCheckItemSetId = x.SupCheckItemSetId,
CheckItemSetId = x.CheckItemSetId,
CheckSpecialId = x.CheckSpecialId,
InstallationId = x.InstallationId,
SafeSupervisionId = x.SafeSupervisionId,
ResponsibleMan2 = x.ResponsibleMan2,
ResponsibleMan2Name = u4.UserName,
SafeSupervisionIsOK = x.SafeSupervisionIsOK,
GpsLocation = x.GpsLocation,
IsWx = x.IsWx,
DIC_ID = x.DIC_ID,
CCManIds = x.CCManIds,
ResultType = x.ResultType,
ResultId = x.ResultId,
Requirements = x.Requirements,
Risk_Level = x.Risk_Level,
//ControlId = x.ControlId,
DataSource = "1",
}).ToList();
return dataList;
}
}
#endregion
#region 拉取项目安全检查数据
public static string getHazardRegisterLists()
{
int code = 0;
string message = "";
try
{
string CollCropCode = string.Empty;
string unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
if (thisUnit != null)
{
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
unitId = thisUnit.UnitId;
}
var ProjectList = (from x in Funs.DB.Base_Project
where (x.IsDelete == null || x.IsDelete == false) && x.SubjectUnit != null &&
x.SubjectProject != null
select x).ToList();
if (ProjectList.Count > 0)
{
foreach (var project in ProjectList)
{
string SubjectUnitId = project.SubjectUnit; //集团的单位id
string SubjectProjectId = project.SubjectProject; //集团的项目id
//获取对应单位的apiurl地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// CollCropCode = "913404001520228377Y"; //三化建 测试使用
// SubjectProjectId = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
string url =
"/api/HazardRegisterSync/getHazardRegisterListByProjectIdAndCollCropCode?projectId=" +
SubjectProjectId + "&collCropCode=" + CollCropCode;
string baseurl = ApiUrl + url;
string contenttype = "application/json;charset=unicode";
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
code = Funs.GetNewIntOrZero(obj["code"].ToString());
message = obj["message"].ToString();
if (code == 1)
{
var getData =
JsonConvert.DeserializeObject<List<HazardRegisterSyncItem>>(obj["data"].ToString());
if (getData.Count() > 0)
{
ProcessHazardRegisterData(getData, project.ProjectId, unitId, WebUrl);
}
message = "获取成功:同步安全检查数" + getData.Count().ToString() + "条";
}
}
}
}
}
catch (Exception ex)
{
message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("安全检查获取!", ex);
}
return message;
}
#endregion
#region 推送安全检查数据
public static ReturnData pushHazardRegisterLists(string projectId, string dataId = "")
{
Model.ReturnData responeData = new Model.ReturnData();
responeData.code = 0;
responeData.message = string.Empty;
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
try
{
if (project != null)
{
//获取安全检查数据
var items = GetHazardRegisterLitsByprojectIdUnitIdPage(projectId, "", dataId);
//总包地址推送
if (items.Count() > 0)
{
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
var apiurl = "/api/HazardRegisterSync/SaveHazardRegisterSyncData";
//总包单位接口地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// thisUnit.CollCropCode = "913404001520228377Y";//测试使用
// project.SubjectProject = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
var pushData = new HazardRegisterSyncData
{
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
ProjectId = project.SubjectProject, //主包项目Id
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
Items = items //安全检查数据
};
var pushContent = JsonConvert.SerializeObject(pushData);
string baseurl = ApiUrl + apiurl;
string contenttype = "application/json;charset=unicode";
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
if (!string.IsNullOrEmpty(returndata))
{
JObject obj = JObject.Parse(returndata);
string code = obj["code"].ToString();
string message = obj["message"].ToString();
responeData.code = int.Parse(code);
responeData.message = message;
}
}
else
{
responeData.code = 0;
responeData.message = "当前没有项目安全检查数据";
}
}
}
catch (Exception ex)
{
responeData.message = "同步到总包单位失败!";
ErrLogInfo.WriteLog("【安全检查】同步到总包单位失败!", ex);
}
return responeData;
}
#endregion
#region 接收保存项目安全检查数据
public static string SaveHazardRegisterSyncData(Model.HazardRegisterSyncData items)
{
int code = 0;
string message = "";
try
{
if (items.Items.Count > 0 || items.Items.Count > 0)
{
var CollCropCode = items.CollCropCode; //分包单位社会统一信用码
var ProjectId = items.ProjectId; //总包项目Id
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode); //根据CollCropCode获取单位id
if (unit == null)
{
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
}
else
{
//2、判断主包项目是否存在
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
if (porject == null)
{
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
}
else
{
ProcessHazardRegisterData(items.Items, ProjectId, unit.UnitId, UnitDomain);
message = "数据推送成功!";
}
}
}
else
{
message = "暂无项目安全检查数据!";
}
}
catch (Exception ex)
{
throw ex;
}
return message;
}
#endregion
#region 处理单个安全检查数据的新增或更新逻辑
/// <summary>
/// 处理单个安全检查数据的新增或更新逻辑
/// </summary>
/// <param name="item">安全检查数据项</param>
/// <param name="projectId">项目id</param>
/// <param name="unitId">单位ID</param>
/// <param name="WebUrl">Web地址</param>
private static void ProcessHazardRegisterData(List<Model.HazardRegisterSyncItem> getData, string projectId,
string unitId, string WebUrl)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
Model.HSSE_Hazard_HazardRegister model =
db.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == item.HazardRegisterId);
if (model == null)
{
Model.HSSE_Hazard_HazardRegister newModel = new Model.HSSE_Hazard_HazardRegister
{
HazardRegisterId = item.HazardRegisterId,
HazardCode = item.HazardCode,
RegisterDate = item.RegisterDate,
RegisterDef = item.RegisterDef,
Rectification = item.Rectification,
Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId),
ResponsibleUnit = unitId,
Observer = item.Observer,
AttachUrl = item.AttachUrl,
ProjectId = projectId,
States = item.States,
IsEffective = item.IsEffective,
ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName),
CheckManId = APIDataShareSyncService.getUserId(item.CheckManName),
CheckTime = item.CheckTime,
RectificationPeriod = item.RectificationPeriod,
ImageUrl = item.ImageUrl,
RectificationImageUrl = item.RectificationImageUrl,
RectificationTime = item.RectificationTime,
ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName),
ConfirmDate = item.ConfirmDate,
HandleIdea = item.HandleIdea,
CutPayment = item.CutPayment,
ProblemTypes = item.ProblemTypes,
RegisterTypesId = item.RegisterTypesId,
CheckCycle = item.CheckCycle,
CheckItemDetailId = item.CheckItemDetailId,
SupCheckItemSetId = item.SupCheckItemSetId,
CheckItemSetId = item.CheckItemSetId,
CheckSpecialId = item.CheckSpecialId,
InstallationId = item.InstallationId,
SafeSupervisionId = item.SafeSupervisionId,
ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name),
SafeSupervisionIsOK = item.SafeSupervisionIsOK,
GpsLocation = item.GpsLocation,
IsWx = item.IsWx,
DIC_ID = item.DIC_ID,
CCManIds = item.CCManIds,
ResultType = item.ResultType,
ResultId = item.ResultId,
Requirements = item.Requirements,
Risk_Level = item.Risk_Level,
//ControlId = item.ControlId,
DataSource = item.DataSource,
};
db.HSSE_Hazard_HazardRegister.InsertOnSubmit(newModel);
db.SubmitChanges();
}
else
{
model.HazardRegisterId = item.HazardRegisterId;
model.HazardCode = item.HazardCode;
model.RegisterDate = item.RegisterDate;
model.RegisterDef = item.RegisterDef;
model.Rectification = item.Rectification;
model.Place = APIDataShareSyncService.getUnitWorkId(item.PlaceName, projectId);
model.ResponsibleUnit = unitId;
model.Observer = item.Observer;
model.AttachUrl = item.AttachUrl;
model.ProjectId = projectId;
model.States = item.States;
model.IsEffective = item.IsEffective;
model.ResponsibleMan = APIDataShareSyncService.getUserId(item.ResponsibleManName);
model.CheckManId = APIDataShareSyncService.getUserId(item.CheckManName);
model.CheckTime = item.CheckTime;
model.RectificationPeriod = item.RectificationPeriod;
model.ImageUrl = item.ImageUrl;
model.RectificationImageUrl = item.RectificationImageUrl;
model.RectificationTime = item.RectificationTime;
model.ConfirmMan = APIDataShareSyncService.getUserId(item.ConfirmManName);
model.ConfirmDate = item.ConfirmDate;
model.HandleIdea = item.HandleIdea;
model.CutPayment = item.CutPayment;
model.ProblemTypes = item.ProblemTypes;
model.RegisterTypesId = APIDataShareSyncService.getRegisterTypesId(item.RegisterTypesName);
model.CheckCycle = item.CheckCycle;
model.CheckItemDetailId = item.CheckItemDetailId;
model.SupCheckItemSetId = item.SupCheckItemSetId;
model.CheckItemSetId = item.CheckItemSetId;
model.CheckSpecialId = item.CheckSpecialId;
model.InstallationId = item.InstallationId;
model.SafeSupervisionId = item.SafeSupervisionId;
model.ResponsibleMan2 = APIDataShareSyncService.getUserId(item.ResponsibleMan2Name);
model.SafeSupervisionIsOK = item.SafeSupervisionIsOK;
model.GpsLocation = item.GpsLocation;
model.IsWx = item.IsWx;
model.DIC_ID = item.DIC_ID;
model.CCManIds = item.CCManIds;
model.ResultType = item.ResultType;
model.ResultId = item.ResultId;
model.Requirements = item.Requirements;
model.Risk_Level = item.Risk_Level;
//model.ControlId = item.ControlId;
model.DataSource = item.DataSource;
db.SubmitChanges();
}
if (!string.IsNullOrEmpty(item.ImageUrl))
{
APIDataShareSyncService.OperationAttachFile(WebUrl, item.HazardRegisterId,
BLL.Const.HSSE_HiddenRectificationListMenuId, item.ImageUrl);
}
if (!string.IsNullOrEmpty(item.RectificationImageUrl))
{
APIDataShareSyncService.OperationAttachFile(WebUrl, item.HazardRegisterId+"-R",
BLL.Const.HSSE_HiddenRectificationListMenuId, item.RectificationImageUrl);
}
}
}
}
#endregion
}
@@ -0,0 +1,574 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Configuration;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Model;
using Newtonsoft.Json;
using RestSharp;
using System.Net;
namespace BLL;
public class APIPersonSyncService
{
#region 根据项目、单位获取人员列表分页
public static List<Model.PersonSyncItem> GetPersonLitsByProjectIdAndUnitId(string projectId, string unitId,
string dataId = "")
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var list = from x in db.SitePerson_Person where x.ProjectId == projectId select x;
if (!string.IsNullOrEmpty(unitId))
{
list = list.Where(x => x.UnitId == unitId);
}
if (!string.IsNullOrEmpty(dataId))
{
list = list.Where(x => x.PersonId == dataId);
}
var personList = (from x in list
join wp in db.Base_WorkPost on x.WorkPostId equals wp.WorkPostId into wpTemp
from wp in wpTemp.DefaultIfEmpty()
join tg in db.ProjectData_TeamGroup on x.TeamGroupId equals tg.TeamGroupId into tgTemp
from tg in tgTemp.DefaultIfEmpty()
join c in db.Base_Certificate on x.CertificateId equals c.CertificateId into cTemp
from c in cTemp.DefaultIfEmpty()
join att1 in db.AttachFile on (x.PersonId + "#1") equals att1.ToKeyId into att1Temp
from att1 in att1Temp.DefaultIfEmpty()
join att2 in db.AttachFile on (x.PersonId + "#2") equals att2.ToKeyId into att2Temp
from att2 in att2Temp.DefaultIfEmpty()
join att3 in db.AttachFile on (x.PersonId + "#3") equals att3.ToKeyId into att3Temp
from att3 in att3Temp.DefaultIfEmpty()
join att4 in db.AttachFile on (x.PersonId + "#4") equals att4.ToKeyId into att4Temp
from att4 in att4Temp.DefaultIfEmpty()
join att5 in db.AttachFile on (x.PersonId + "#5") equals att5.ToKeyId into att5Temp
from att5 in att5Temp.DefaultIfEmpty()
select new Model.PersonSyncItem
{
PersonId = x.PersonId,
CardNo = x.CardNo,
PersonName = x.PersonName,
Sex = x.Sex,
IdentityCard = x.IdentityCard,
Address = x.Address,
ProjectId = x.ProjectId,
UnitId = x.UnitId,
TeamGroupId = x.TeamGroupId,
WorkAreaId = x.WorkAreaId,
WorkPostId = x.WorkPostId,
InTime = x.InTime,
OutTime = x.OutTime,
OutResult = x.OutResult,
Telephone = x.Telephone,
// x.PositionId,//职务
// x.PostTitleId,//职称
PhotoUrl = x.PhotoUrl,
IsUsed = x.IsUsed,
IsCardUsed = x.IsCardUsed,
PersonIndex = x.PersonIndex,
// x.DepartId,//部门
CertificateId = x.CertificateId,
CertificateItem = APIDataShareSyncService.GetPersonQualityByPersonId(x.PersonId), //特岗证书
CertificateCode = x.CertificateCode,
CertificateName = c.CertificateName,
CertificateLimitTime = x.CertificateLimitTime,
QualificationCertificateUrl = x.QualificationCertificateUrl,
TrainingCertificateUrl = x.TrainingCertificateUrl,
QRCodeAttachUrl = x.QRCodeAttachUrl,
Password = x.Password,
FromPersonId = x.FromPersonId,
// x.AuditorId,审核人
AuditorDate = x.AuditorDate,
ExchangeTime = x.ExchangeTime,
ExchangeTime2 = x.ExchangeTime2,
IDCardUrl = x.IDCardUrl,
IsForeign = x.IsForeign,
IsOutside = x.IsOutside,
EduLevel = x.EduLevel,
MaritalStatus = x.MaritalStatus,
Isprint = x.Isprint,
MainCNProfessionalId = x.MainCNProfessionalId,
ViceCNProfessionalId = x.ViceCNProfessionalId,
Birthday = x.Birthday,
IdcardType = x.IdcardType,
IdcardStartDate = x.IdcardStartDate,
IdcardEndDate = x.IdcardEndDate,
IdcardForever = x.IdcardForever,
PoliticsStatus = x.PoliticsStatus,
IdcardAddress = x.IdcardAddress,
Nation = x.Nation,
CountryCode = x.CountryCode,
IsSafetyMonitoring = x.IsSafetyMonitoring,
ProvinceCode = x.ProvinceCode,
IsCardNoOK = x.IsCardNoOK,
// AttachUrl1 = AttachFileService.getFileUrl(x.PersonId + "#1"),
// AttachUrl2 = AttachFileService.getFileUrl(x.PersonId + "#2"),
// AttachUrl3 = AttachFileService.getFileUrl(x.PersonId + "#3"),
// AttachUrl4 = AttachFileService.getFileUrl(x.PersonId + "#4"),
// AttachUrl5 = AttachFileService.getFileUrl(x.PersonId + "#5"),
AttachUrl1 = att1.AttachUrl,
AttachUrl2 = att2.AttachUrl,
AttachUrl3 = att3.AttachUrl,
AttachUrl4 = att4.AttachUrl,
AttachUrl5 = att5.AttachUrl,
WorkPostName = wp.WorkPostName, //岗位名称
PostType = wp.PostType, //岗位诶类型
IsHsse = wp.IsHsse, //岗位是否是安管人员
IsCQMS = wp.IsCQMS, //岗位是否是质量管理
TeamGroupName = tg.TeamGroupName,
WorkAreaName = APIDataShareSyncService.GetWorkAreaNames(x.WorkAreaId, projectId)
}).ToList();
return personList;
}
}
#endregion
#region 拉取项目人员数据
public static async Task<string> getPersonLists()
{
int code = 0;
string message = "";
try
{
string CollCropCode = string.Empty;
string unitId = string.Empty;
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
if (thisUnit != null)
{
CollCropCode = thisUnit.CollCropCode; //社会统一信用代码
unitId = thisUnit.UnitId;
}
var ProjectList = (from x in Funs.DB.Base_Project
where (x.IsDelete == null || x.IsDelete == false) && x.SubjectUnit != null &&
x.SubjectProject != null
select x).ToList();
if (ProjectList.Count > 0)
{
foreach (var project in ProjectList)
{
string SubjectUnitId = project.SubjectUnit; //集团的单位id
string SubjectProjectId = project.SubjectProject; //集团的单位id
//获取对应单位的apiurl地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(SubjectUnitId);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// CollCropCode = "913404001520228377Y";//测试使用
// SubjectProjectId = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
// unitId = "aaa9e72b-e3a6-441e-a7bb-afc008adebc9";//测试使用
string url = "/api/PersonSync/getPersonListByProjectIdAndCollCropCode?projectId=" +
SubjectProjectId + "&collCropCode=" + CollCropCode;
string baseurl = ApiUrl + url;
string contenttype = "application/json;charset=unicode";
var strJosn = "";
using (HttpClient client = new HttpClient())
{
client.Timeout = TimeSpan.FromMinutes(5); // 设置超时时间为5分钟
client.DefaultRequestHeaders.Add("token",
"AF17168B-87BD-4GLY-1111-F0A0A1158F9B"); // 前提是所有二级单位都有sysGLY账号且id是AF17168B-87BD-4GLY-1111-F0A0A1158F9B可作为token
strJosn = await client.GetStringAsync(baseurl);
}
// var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, null, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
code = Funs.GetNewIntOrZero(obj["code"].ToString());
message = obj["message"].ToString();
if (code == 1)
{
var getData =
JsonConvert.DeserializeObject<List<PersonSyncItem>>(obj["data"].ToString());
if (getData.Count() > 0)
{
ProcessPersonData(getData, project.ProjectId, unitId, WebUrl);
}
message = "获取成功:同步人员数" + getData.Count().ToString() + "条";
}
}
}
}
}
catch (Exception ex)
{
message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("人员获取!", ex);
}
return message;
}
#endregion
#region 推送人员数据
public static ReturnData pushPersonLists(string projectId, string dataId)
{
Model.ReturnData responeData = new Model.ReturnData();
responeData.code = 0;
responeData.message = string.Empty;
try
{
var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
if (project != null)
{
//获取人员数据
var items = GetPersonLitsByProjectIdAndUnitId(projectId, "", dataId);
//总包地址推送
if (items.Count() > 0)
{
var thisUnit = CommonService.GetIsThisUnit(); //当前单位
var apiurl = "/api/PersonSync/SavePersonSyncData";
//总包单位接口地址
var Url = BLL.UnitService.getUnitApiUrlByUnitId(project.SubjectUnit);
var ApiUrl = "";
var WebUrl = "";
if (!string.IsNullOrEmpty(Url))
{
var urls = Url.Split(',');
ApiUrl = urls[0];
if (urls.Length > 1)
{
WebUrl = urls[1];
}
}
// thisUnit.CollCropCode = "913404001520228377Y"; //分包单位社会统一信用码 测试使用
// project.SubjectProject = "B409A8D7-48C7-486E-84C7-E3E7B2C0E5B7";//测试使用
var pushData = new PersonSyncData
{
CollCropCode = thisUnit.CollCropCode, //分包单位社会统一信用码
ProjectId = project.SubjectProject, //主包项目Id
UnitDomain = Funs.SGGLUrl, //分包单位域名地址【文件存储地址】
Items = items //人员数据
};
var pushContent = JsonConvert.SerializeObject(pushData);
string baseurl = ApiUrl + apiurl;
string contenttype = "application/json;charset=unicode";
var returndata = APIGetHttpService.Http(baseurl, "Post", contenttype, null, pushContent);
if (!string.IsNullOrEmpty(returndata))
{
JObject obj = JObject.Parse(returndata);
string code = obj["code"].ToString();
string message = obj["message"].ToString();
responeData.code = int.Parse(code);
responeData.message = message;
}
}
else
{
responeData.code = 0;
responeData.message = "当前没有项目人员数据";
}
}
}
catch (Exception ex)
{
responeData.message = "同步到总包单位失败!";
ErrLogInfo.WriteLog("【项目人员】同步到总包单位失败!", ex);
}
return responeData;
}
#endregion
#region 接收保存项目人员数据
public static async Task<string> SavePersonSyncData(Model.PersonSyncData items)
{
int code = 0;
string message = "";
try
{
if (items.Items.Count > 0)
{
//获取分包单位CollCropCode
var CollCropCode = items.CollCropCode;
var ProjectId = items.ProjectId;
var UnitDomain = items.UnitDomain; //分包单位域名地址【文件存储地址】
//1、判断分包单位是否存在
//根据分包单位CollCropCode获取单位id
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == CollCropCode);
if (unit == null)
{
message = "总包单位不存在本单位,请登录总包系统检查维护本单位信息!";
}
else
{
//2、判断主包项目是否存在
var porject = BLL.ProjectService.GetProjectByProjectId(ProjectId);
if (porject == null)
{
message = "总包单位不存在本项目,请检查总包项目关联是否正确!";
}
else
{
ProcessPersonData(items.Items, ProjectId, unit.UnitId, UnitDomain);
message = "数据推送成功!";
}
}
}
else
{
message = "暂无项目人员数据!";
}
}
catch (Exception ex)
{
throw ex;
}
return message;
}
#endregion
#region 处理单项目人员数据的新增或更新逻辑
/// <summary>
/// 处理单项目人员数据的新增或更新逻辑
/// </summary>
/// <param name="item">人员数据项</param>
/// <param name="projectId">项目id</param>
/// <param name="unitId">单位ID</param>
/// <param name="WebUrl">Web地址</param>
private static async void ProcessPersonData(List<Model.PersonSyncItem> getData, string projectId, string unitId,
string WebUrl)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
foreach (var item in getData)
{
try
{
string PersonId = item.PersonId;
var model = db.SitePerson_Person.FirstOrDefault(e => e.PersonId == PersonId);
if (model == null)
{
Model.SitePerson_Person newModel = new Model.SitePerson_Person
{
PersonId = item.PersonId,
CardNo = item.CardNo,
PersonName = item.PersonName,
Sex = item.Sex,
IdentityCard = item.IdentityCard,
Address = item.Address,
ProjectId = projectId,
UnitId = unitId,
TeamGroupId = APIDataShareSyncService.GetTeamGroupId(item.TeamGroupName, projectId, unitId),
WorkAreaId = APIDataShareSyncService.getWorkAreaId(item.WorkAreaName, projectId),
WorkPostId = APIDataShareSyncService.getWorkPostId(item.WorkPostName, item.PostType,
item.IsHsse.ToString(), item.IsCQMS.ToString()),
InTime = item.InTime,
OutTime = item.OutTime,
OutResult = item.OutResult,
Telephone = item.Telephone,
PhotoUrl = item.PhotoUrl,
// 异步安全的头像下载
HeadImage = await SafeDownloadHeadImageAsync(WebUrl, item.PhotoUrl),
IsUsed = item.IsUsed,
IsCardUsed = item.IsCardUsed,
PersonIndex = item.PersonIndex,
CertificateId = item.CertificateId,
CertificateCode = item.CertificateCode,
CertificateLimitTime = item.CertificateLimitTime,
QualificationCertificateUrl = item.QualificationCertificateUrl,
TrainingCertificateUrl = item.TrainingCertificateUrl,
QRCodeAttachUrl = item.QRCodeAttachUrl,
Password = item.Password,
FromPersonId = item.FromPersonId,
AuditorDate = item.AuditorDate,
ExchangeTime = item.ExchangeTime,
ExchangeTime2 = item.ExchangeTime2,
IDCardUrl = item.IDCardUrl,
IsForeign = item.IsForeign,
IsOutside = item.IsOutside,
EduLevel = item.EduLevel,
MaritalStatus = item.MaritalStatus,
Isprint = item.Isprint,
MainCNProfessionalId = item.MainCNProfessionalId,
ViceCNProfessionalId = item.ViceCNProfessionalId,
Birthday = item.Birthday,
IdcardType = item.IdcardType,
IdcardStartDate = item.IdcardStartDate,
IdcardEndDate = item.IdcardEndDate,
IdcardForever = item.IdcardForever,
PoliticsStatus = item.PoliticsStatus,
IdcardAddress = item.IdcardAddress,
Nation = item.Nation,
CountryCode = item.CountryCode,
IsSafetyMonitoring = item.IsSafetyMonitoring,
ProvinceCode = item.ProvinceCode,
IsCardNoOK = item.IsCardNoOK
};
db.SitePerson_Person.InsertOnSubmit(newModel);
db.SubmitChanges();
}
else
{
// 更新现有记录
UpdatePersonModel(model, item, projectId, unitId, WebUrl);
db.SubmitChanges();
}
// 异步安全的附件处理
await ProcessPersonAttachmentsAsync(WebUrl, item);
if (item.CertificateItem != null)
{
APIDataShareSyncService.ProcessPersonQualityData(item.CertificateItem, item.PersonId);
}
}
catch (Exception ex)
{
// 记录异常但不中断整个批处理
BLL.ErrLogInfo.WriteLog($"处理人员数据时出错 PersonId: {item?.PersonId}, 错误: {ex.Message}");
continue; // 继续处理下一个记录
}
}
}
}
// 安全的头像下载方法
public static async Task<byte[]> SafeDownloadHeadImageAsync(string webUrl, string photoUrl)
{
try
{
if (string.IsNullOrEmpty(photoUrl))
return null;
return await APIDataShareSyncService.DownloadHeadImageAsync(webUrl, photoUrl);
}
catch (Exception ex)
{
BLL.ErrLogInfo.WriteLog($"下载头像失败: {photoUrl}, 错误: {ex.Message}");
return null;
}
}
// 更新人员模型的辅助方法
private static void UpdatePersonModel(Model.SitePerson_Person model, PersonSyncItem item, string projectId,
string unitId, string webUrl)
{
model.PersonId = item.PersonId;
model.CardNo = item.CardNo;
model.PersonName = item.PersonName;
model.Sex = item.Sex;
model.IdentityCard = item.IdentityCard;
model.Address = item.Address;
model.ProjectId = projectId;
model.UnitId = unitId;
model.TeamGroupId = APIDataShareSyncService.GetTeamGroupId(item.TeamGroupName, projectId, unitId);
model.WorkAreaId = APIDataShareSyncService.getWorkAreaId(item.WorkAreaName, projectId);
model.WorkPostId = APIDataShareSyncService.getWorkPostId(item.WorkPostName, item.PostType,
item.IsHsse.ToString(), item.IsCQMS.ToString());
model.InTime = item.InTime;
model.OutTime = item.OutTime;
model.OutResult = item.OutResult;
model.Telephone = item.Telephone;
model.PhotoUrl = item.PhotoUrl;
// 异步操作需要特殊处理
Task.Run(async () =>
{
try
{
model.HeadImage = await APIDataShareSyncService.DownloadHeadImageAsync(webUrl, item.PhotoUrl);
}
catch (Exception ex)
{
BLL.ErrLogInfo.WriteLog($"更新头像失败: {ex.Message}");
}
});
model.IsUsed = item.IsUsed;
model.IsCardUsed = item.IsCardUsed;
model.PersonIndex = item.PersonIndex;
model.CertificateId = item.CertificateId;
model.CertificateCode = item.CertificateCode;
model.CertificateLimitTime = item.CertificateLimitTime;
model.QualificationCertificateUrl = item.QualificationCertificateUrl;
model.TrainingCertificateUrl = item.TrainingCertificateUrl;
model.QRCodeAttachUrl = item.QRCodeAttachUrl;
model.Password = item.Password;
model.FromPersonId = item.FromPersonId;
model.AuditorDate = item.AuditorDate;
model.ExchangeTime = item.ExchangeTime;
model.ExchangeTime2 = item.ExchangeTime2;
model.IDCardUrl = item.IDCardUrl;
model.IsForeign = item.IsForeign;
model.IsOutside = item.IsOutside;
model.EduLevel = item.EduLevel;
model.MaritalStatus = item.MaritalStatus;
model.Isprint = item.Isprint;
model.MainCNProfessionalId = item.MainCNProfessionalId;
model.ViceCNProfessionalId = item.ViceCNProfessionalId;
model.Birthday = item.Birthday;
model.IdcardType = item.IdcardType;
model.IdcardStartDate = item.IdcardStartDate;
model.IdcardEndDate = item.IdcardEndDate;
model.IdcardForever = item.IdcardForever;
model.PoliticsStatus = item.PoliticsStatus;
model.IdcardAddress = item.IdcardAddress;
model.Nation = item.Nation;
model.CountryCode = item.CountryCode;
model.IsSafetyMonitoring = item.IsSafetyMonitoring;
model.ProvinceCode = item.ProvinceCode;
model.IsCardNoOK = item.IsCardNoOK;
}
// 异步安全的附件处理
private static async Task ProcessPersonAttachmentsAsync(string webUrl, PersonSyncItem item)
{
try
{
var attachmentTasks = new List<Task>
{
APIDataShareSyncService.OperationAttachFile(webUrl, item.PersonId + "#1", BLL.Const.PersonListMenuId,
item.AttachUrl1),
APIDataShareSyncService.OperationAttachFile(webUrl, item.PersonId + "#2", BLL.Const.PersonListMenuId,
item.AttachUrl2),
APIDataShareSyncService.OperationAttachFile(webUrl, item.PersonId + "#3", BLL.Const.PersonListMenuId,
item.AttachUrl3),
APIDataShareSyncService.OperationAttachFile(webUrl, item.PersonId + "#4", BLL.Const.PersonListMenuId,
item.AttachUrl4),
APIDataShareSyncService.OperationAttachFile(webUrl, item.PersonId + "#5", BLL.Const.PersonListMenuId,
item.AttachUrl5)
};
await Task.WhenAll(attachmentTasks);
}
catch (Exception ex)
{
BLL.ErrLogInfo.WriteLog($"处理人员附件失败 PersonId: {item.PersonId}, 错误: {ex.Message}");
}
}
#endregion
}
@@ -0,0 +1,160 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BLL
{
/// <summary>
/// 专项检查明细表
/// </summary>
public class Check_CheckSpecialProDetailService
{
/// <summary>
/// 根据专项检查id获取所有相关明细信息
/// </summary>
/// <param name="CheckRectifyId"></param>
/// <returns></returns>
public static List<Model.Check_CheckSpecialProDetail> GetCheckSpecialDetailByCheckSpecialId(string checkSpecialId)
{
return (from x in Funs.DB.Check_CheckSpecialProDetail where x.CheckSpecialId == checkSpecialId select x).ToList();
}
/// <summary>
/// 根据主键获取专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetailId"></param>
/// <returns></returns>
public static Model.Check_CheckSpecialProDetail GetCheckSpecialDetailByCheckSpecialDetailId(string checkSpecialDetailId)
{
return Funs.DB.Check_CheckSpecialProDetail.FirstOrDefault(e => e.CheckSpecialDetailId == checkSpecialDetailId);
}
/// <summary>
/// 增加专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetail"></param>
public static void AddCheckSpecialDetail(Model.Check_CheckSpecialProDetail checkSpecialDetail)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialProDetail newCheckSpecialDetail = new Model.Check_CheckSpecialProDetail
{
CheckSpecialDetailId = checkSpecialDetail.CheckSpecialDetailId,
CheckSpecialId = checkSpecialDetail.CheckSpecialId,
SortIndex = checkSpecialDetail.SortIndex,
CheckItem = checkSpecialDetail.CheckItem,
CheckItemType = checkSpecialDetail.CheckItemType,
Unqualified = checkSpecialDetail.Unqualified,
CheckArea = checkSpecialDetail.CheckArea,
UnitId = checkSpecialDetail.UnitId,
HandleStep = checkSpecialDetail.HandleStep,
CompleteStatus = checkSpecialDetail.CompleteStatus,
RectifyNoticeId = checkSpecialDetail.RectifyNoticeId,
LimitedDate = checkSpecialDetail.LimitedDate,
CompletedDate = checkSpecialDetail.CompletedDate,
Suggestions = checkSpecialDetail.Suggestions,
WorkArea = checkSpecialDetail.WorkArea,
CheckContent = checkSpecialDetail.CheckContent,
HiddenHazardType = checkSpecialDetail.HiddenHazardType,
RiskLevel = checkSpecialDetail.RiskLevel,
HandleWay = checkSpecialDetail.HandleWay,
HSEManage = checkSpecialDetail.HSEManage,
RectifyOpinion = checkSpecialDetail.RectifyOpinion
};
db.Check_CheckSpecialProDetail.InsertOnSubmit(newCheckSpecialDetail);
db.SubmitChanges();
}
//// 根据明细ID判断是否全部整改完成 并更新专项检查状态
Check_CheckSpecialProService.UpdateCheckSpecialStates(checkSpecialDetail.CheckSpecialId);
}
/// <summary>
/// 修改专项检查明细信息
/// </summary>
/// <param name="CheckSpecialDetail"></param>
public static void UpdateCheckSpecialDetail(Model.Check_CheckSpecialProDetail CheckSpecialDetail)
{
Model.SGGLDB db = Funs.DB;
var newCheckSpecialDetail = db.Check_CheckSpecialProDetail.FirstOrDefault(x => x.CheckSpecialDetailId == CheckSpecialDetail.CheckSpecialDetailId);
if (newCheckSpecialDetail != null)
{
newCheckSpecialDetail.Unqualified = CheckSpecialDetail.Unqualified;
newCheckSpecialDetail.CheckArea = CheckSpecialDetail.CheckArea;
newCheckSpecialDetail.UnitId = CheckSpecialDetail.UnitId;
newCheckSpecialDetail.HandleStep = CheckSpecialDetail.HandleStep;
newCheckSpecialDetail.CompleteStatus = CheckSpecialDetail.CompleteStatus;
newCheckSpecialDetail.RectifyNoticeId = CheckSpecialDetail.RectifyNoticeId;
newCheckSpecialDetail.LimitedDate = CheckSpecialDetail.LimitedDate;
newCheckSpecialDetail.CompletedDate = CheckSpecialDetail.CompletedDate;
newCheckSpecialDetail.Suggestions = CheckSpecialDetail.Suggestions;
newCheckSpecialDetail.WorkArea = CheckSpecialDetail.WorkArea;
newCheckSpecialDetail.CheckContent = CheckSpecialDetail.CheckContent;
newCheckSpecialDetail.RiskLevel = CheckSpecialDetail.RiskLevel;
newCheckSpecialDetail.HSEManage = CheckSpecialDetail.HSEManage;
newCheckSpecialDetail.HandleWay = CheckSpecialDetail.HandleWay;
newCheckSpecialDetail.RectifyOpinion = CheckSpecialDetail.RectifyOpinion;
db.SubmitChanges();
}
else
{
AddCheckSpecialDetail(CheckSpecialDetail);
}
}
/// <summary>
/// 根据专项检查ID删除所有专项检查明细信息
/// </summary>
/// <param name="checkSpecialId"></param>
public static void DeleteCheckSpecialDetails(string checkSpecialId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.Check_CheckSpecialProDetail where x.CheckSpecialId == checkSpecialId select x).ToList();
if (q != null)
{
foreach (var item in q)
{
////删除附件表
BLL.CommonService.DeleteAttachFileById(item.CheckSpecialDetailId);
}
db.Check_CheckSpecialProDetail.DeleteAllOnSubmit(q);
db.SubmitChanges();
}
}
/// <summary>
/// 根据专项检查ID删除一条专项检查明细信息
/// </summary>
/// <param name="checkSpecialDetailId"></param>
public static void DeleteCheckSpecialDetailById(string checkSpecialDetailId)
{
Model.SGGLDB db = Funs.DB;
var q = (from x in db.Check_CheckSpecialProDetail where x.CheckSpecialDetailId == checkSpecialDetailId select x).FirstOrDefault();
if (q != null)
{
////删除附件表
BLL.CommonService.DeleteAttachFileById(q.CheckSpecialDetailId);
db.Check_CheckSpecialProDetail.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
public static int MonthReportBStatic(string projectId, string checkType, DateTime beginDate, DateTime endDate)
{
return Funs.DB.Check_CheckSpecialPro.Where(x => x.ProjectId == projectId && ((checkType == "0" && x.CheckType == null) || checkType == x.CheckType) && x.CheckTime >= beginDate && x.CheckTime < endDate).Count();
}
public static int MonthReportBDetailStatic(string projectId, string checkType, DateTime beginDate, DateTime endDate)
{
var q = from d in Funs.DB.Check_CheckSpecialProDetail
join c in Funs.DB.Check_CheckSpecialPro on d.CheckSpecialId equals c.CheckSpecialId
where c.ProjectId == projectId && ((checkType == "0" && c.CheckType == null) || checkType == c.CheckType) && c.CheckTime > beginDate && c.CheckTime < endDate
select d;
return q.Count();
}
}
}
@@ -0,0 +1,316 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace BLL
{
/// <summary>
/// 专项检查
/// </summary>
public static class Check_CheckSpecialProService
{
/// <summary>
/// 根据专项检查ID获取专项检查信息
/// </summary>
/// <param name="CheckSpecialName"></param>
/// <returns></returns>
public static Model.Check_CheckSpecialPro GetCheckSpecialByCheckSpecialId(string checkSpecialId)
{
return Funs.DB.Check_CheckSpecialPro.FirstOrDefault(e => e.CheckSpecialId == checkSpecialId);
}
/// <summary>
/// 根据时间段获取专项检查信息集合
/// </summary>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
/// <param name="projectId"></param>
/// <returns></returns>
public static int GetCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckSpecialPro where x.CheckTime >= startTime && x.CheckTime < endTime && x.ProjectId == projectId select x).Count();
}
/// <summary>
/// 根据时间段获取专项检查集合
/// </summary>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="projectId">项目号</param>
/// <returns>专项检查集合</returns>
public static List<Model.Check_CheckSpecialPro> GetListByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
return (from x in Funs.DB.Check_CheckSpecialPro where x.CheckTime >= startTime && x.CheckTime < endTime && x.ProjectId == projectId select x).ToList();
}
/// <summary>
/// 根据时间段获取已完成的专项检查整改数量
/// </summary>
/// <param name="startTime">开始时间</param>
/// <param name="endTime">结束时间</param>
/// <param name="projectId">项目号</param>
/// <returns>已完成的专项检查整改数量</returns>
public static int GetIsOKViolationCountByCheckTime(DateTime startTime, DateTime endTime, string projectId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
return (from x in db.Check_CheckSpecialPro
join y in db.Check_CheckSpecialProDetail on x.CheckSpecialId equals y.CheckSpecialId
where x.CheckTime >= startTime && x.CheckTime <= endTime && x.ProjectId == projectId && y.CompleteStatus != null && y.CompleteStatus == true
select y).Count();
}
}
/// <summary>
/// 添加安全专项检查
/// </summary>
/// <param name="checkSpecial"></param>
public static void AddCheckSpecial(Model.Check_CheckSpecialPro checkSpecial)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialPro newCheckSpecial = new Model.Check_CheckSpecialPro
{
CheckSpecialId = checkSpecial.CheckSpecialId,
CheckSpecialCode = checkSpecial.CheckSpecialCode,
ProjectId = checkSpecial.ProjectId,
CheckPerson = checkSpecial.CheckPerson,
CheckTime = checkSpecial.CheckTime,
ScanUrl = checkSpecial.ScanUrl,
DaySummary = checkSpecial.DaySummary,
PartInUnits = checkSpecial.PartInUnits,
PartInPersons = checkSpecial.PartInPersons,
PartInPersonIds = checkSpecial.PartInPersonIds,
PartInPersonNames = checkSpecial.PartInPersonNames,
CheckAreas = checkSpecial.CheckAreas,
States = checkSpecial.States,
CompileMan = checkSpecial.CompileMan,
CheckType = checkSpecial.CheckType,
CheckItemSetId = checkSpecial.CheckItemSetId,
};
db.Check_CheckSpecialPro.InsertOnSubmit(newCheckSpecial);
db.SubmitChanges();
}
////增加一条编码记录
BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectCheckSpecialMenuId, checkSpecial.ProjectId, null, checkSpecial.CheckSpecialId, checkSpecial.CheckTime);
}
/// <summary>
/// 修改安全专项检查
/// </summary>
/// <param name="checkSpecial"></param>
public static void UpdateCheckSpecial(Model.Check_CheckSpecialPro checkSpecial)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
Model.Check_CheckSpecialPro newCheckSpecial = db.Check_CheckSpecialPro.FirstOrDefault(e => e.CheckSpecialId == checkSpecial.CheckSpecialId);
if (newCheckSpecial != null)
{
newCheckSpecial.CheckSpecialCode = checkSpecial.CheckSpecialCode;
//newCheckSpecial.ProjectId = checkSpecial.ProjectId;
newCheckSpecial.CheckPerson = checkSpecial.CheckPerson;
newCheckSpecial.CheckTime = checkSpecial.CheckTime;
newCheckSpecial.ScanUrl = checkSpecial.ScanUrl;
newCheckSpecial.DaySummary = checkSpecial.DaySummary;
newCheckSpecial.PartInUnits = checkSpecial.PartInUnits;
newCheckSpecial.PartInPersons = checkSpecial.PartInPersons;
newCheckSpecial.PartInPersonIds = checkSpecial.PartInPersonIds;
newCheckSpecial.PartInPersonNames = checkSpecial.PartInPersonNames;
newCheckSpecial.CheckAreas = checkSpecial.CheckAreas;
newCheckSpecial.States = checkSpecial.States;
newCheckSpecial.CheckType = checkSpecial.CheckType;
newCheckSpecial.CheckItemSetId = checkSpecial.CheckItemSetId;
db.SubmitChanges();
}
}
}
/// <summary>
/// 根据专项检查ID 更新专项检查状态
/// </summary>
/// <param name="checkSpecialDetailId"></param>
public static void UpdateCheckSpecialStates(string checkSpecialId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getS = db.Check_CheckSpecialPro.FirstOrDefault(x => x.CheckSpecialId == checkSpecialId);
if (getS != null && getS.States == Const.State_1)
{
var getNCDetail = Funs.DB.Check_CheckSpecialProDetail.FirstOrDefault(x => x.CheckSpecialId == getS.CheckSpecialId && x.CompleteStatus == false);
if (getNCDetail == null)
{
getS.States = Const.State_2;
db.SubmitChanges();
}
}
}
}
/// <summary>
/// 根据专项检查ID删除对应专项检查记录信息
/// </summary>
/// <param name="superviseCheckReportId"></param>
public static void DeleteCheckSpecial(string checkSpecialId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var q = (from x in db.Check_CheckSpecialPro where x.CheckSpecialId == checkSpecialId select x).FirstOrDefault();
if (q != null)
{
///删除编码表记录
BLL.CodeRecordsService.DeleteCodeRecordsByDataId(q.CheckSpecialId);
////删除附件表
BLL.CommonService.DeleteAttachFileById(q.CheckSpecialId);
////删除审核流程表
BLL.CommonService.DeleteFlowOperateByID(q.CheckSpecialId);
db.Check_CheckSpecialPro.DeleteOnSubmit(q);
db.SubmitChanges();
}
}
}
/// <summary>
///
/// </summary>
/// <param name="CheckSpecialDetailId"></param>
/// <returns></returns>
public static string ConvertHandleStep(object CheckSpecialDetailId)
{
string name = string.Empty;
if (CheckSpecialDetailId != null)
{
var getDetail = BLL.Check_CheckSpecialProDetailService.GetCheckSpecialDetailByCheckSpecialDetailId(CheckSpecialDetailId.ToString());
if (getDetail != null)
{
if (getDetail.DataType == "1")
{
name = "下发整改单:";
var getRe = RectifyNoticesService.GetRectifyNoticesById(getDetail.DataId);
if (getRe != null)
{
name += getRe.RectifyNoticesCode;
}
}
else if (getDetail.DataType == "2")
{
name = "下发处罚单:";
var getRe = PunishNoticeService.GetPunishNoticeById(getDetail.DataId);
if (getRe != null)
{
name += getRe.PunishNoticeCode;
}
}
else if (getDetail.DataType == "3")
{
name = "下发暂停令:";
var getRe = Check_PauseNoticeService.GetPauseNoticeByPauseNoticeId(getDetail.DataId);
if (getRe != null)
{
name += getRe.PauseNoticeCode;
}
}
}
}
return name;
}
/// <summary>
///
/// </summary>
/// <param name="detailLists"></param>
/// <param name="checkSpecial"></param>
/// <returns></returns>
public static string IssueRectification(List<Model.Check_CheckSpecialProDetail> detailLists, Model.Check_CheckSpecialPro checkSpecial)
{
string info = string.Empty;
if (detailLists.Count() > 0 && checkSpecial != null)
{
////隐患整改单
var getDetail1 = detailLists.Where(x => x.CompleteStatus == false);
if (getDetail1.Count() > 0)
{
var getUnitList = getDetail1.Select(x => x.UnitId).Distinct();
foreach (var unitItem in getUnitList)
{
var getUnitItemList = getDetail1.Where(x => x.UnitId == unitItem);
foreach (var item in getUnitItemList)
{
Model.HSSE_Hazard_HazardRegister register = Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.CheckItemDetailId == item.CheckSpecialDetailId);
if (register == null)
{
register = new Model.HSSE_Hazard_HazardRegister();
}
register.ProjectId = checkSpecial.ProjectId;
register.CheckItemDetailId = item.CheckSpecialDetailId;
register.ProblemTypes = "2"; //1 安全问题 2 专项巡检
register.RegisterTypesId = item.CheckItem;
// register.CheckCycle = this.ckType.SelectedValue;
register.IsEffective = "1";
register.RegisterDate = checkSpecial.CheckTime;
register.CheckTime = checkSpecial.CheckTime;
register.ResponsibleUnit = item.UnitId;
// register.Place = item.WorkArea;
register.Place = item.CheckArea;
register.RegisterDef = item.Unqualified;
// register.HandleIdea = item.Suggestions;
register.ResponsibleMan = item.HSEManage;
// register.Risk_Level = item.RiskLevel;
switch (item.RiskLevel)
{
case "0": register.Risk_Level = "一般"; break;
case "1": register.Risk_Level = "一般"; break;
case "2": register.Risk_Level = "较大"; break;
case "3": register.Risk_Level = "重大"; break;
}
register.Requirements = item.Suggestions;
register.CheckSpecialId = item.CheckSpecialId;
register.RectificationPeriod = item.LimitedDate;
register.CheckManId = checkSpecial.CompileMan;
//register.CutPayment = Funs.GetNewIntOrZero(this.txtCutPayment.Text.Trim());
register.States = "1"; //待整改
if (string.IsNullOrEmpty(register.HazardRegisterId))
{
register.HazardRegisterId = Guid.NewGuid().ToString();
var url = AttachFileService.getFileUrl(item.CheckSpecialDetailId);
register.ImageUrl = url;
SaveAttachFile(register.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, url);
BLL.HSSE_Hazard_HazardRegisterService.AddHazardRegister(register);
}
else
{
var url = AttachFileService.getFileUrl(item.CheckSpecialDetailId);
register.ImageUrl = url;
SaveAttachFile(register.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, url);
BLL.HSSE_Hazard_HazardRegisterService.UpdateHazardRegister(register);
}
}
}
info += "整改已下发。";
}
Check_CheckSpecialProService.UpdateCheckSpecial(checkSpecial);
}
if (!string.IsNullOrEmpty(info))
{
info += "请在相应办理页面提交!";
}
return info;
}
public static void SaveAttachFile(string dataId, string menuId, string url)
{
Model.ToDoItem toDoItem = new Model.ToDoItem
{
MenuId = menuId,
DataId = dataId,
UrlStr = url,
};
APIUpLoadFileService.SaveAttachUrl(toDoItem);
}
}
}
@@ -21,6 +21,11 @@ namespace BLL
return Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == hazardRegisterId);
}
public static Model.HSSE_Hazard_HazardRegister GetHazardRegisterByCheckItemDetailId(string CheckItemDetailId)
{
return Funs.DB.HSSE_Hazard_HazardRegister.FirstOrDefault(x => x.HazardRegisterId == CheckItemDetailId || x.CheckItemDetailId == CheckItemDetailId);
}
/// <summary>
/// 获取项目风险列表
/// </summary>
+5 -1
View File
@@ -149,6 +149,8 @@
ProjType = project.ProjType,
ProjPhase = project.ProjPhase,
MasterSysId = project.MasterSysId,
SubjectUnit = project.SubjectUnit,
SubjectProject = project.SubjectProject,
};
db.Base_Project.InsertOnSubmit(newProject);
db.SubmitChanges();
@@ -205,7 +207,9 @@
newProject.Progress = project.Progress;
newProject.ProjType = project.ProjType;
newProject.ProjPhase = project.ProjPhase;
newProject.MasterSysId = project.MasterSysId;
newProject.MasterSysId = project.MasterSysId;
newProject.SubjectUnit = project.SubjectUnit;
newProject.SubjectProject = project.SubjectProject;
db.SubmitChanges();
HSEDataCollectService.ProjectHSEDataCollectSubmission(newProject);
}
@@ -147,6 +147,24 @@
return Funs.DB.Project_ProjectUser.FirstOrDefault(e => e.ProjectId == ProjectId && e.RoleId.Contains(RoleId));
}
public static List<Sys_User> GetProjectUserByUnitidAndProjectId(string ProjectId, string UnitId, string RoleId)
{
var ids = Funs.DB.Project_ProjectUser.Where(e => e.ProjectId == ProjectId && (UnitId == "" || e.UnitId == UnitId)).Select(u => u.UserId).ToList();
return Funs.DB.Sys_User.Where(u => ids.Contains(u.UserId)).ToList();
}
/// <summary>
/// 根据项目Id获取项目人员
/// </summary>
/// <param name="ProjectId"></param>
/// <param name="RoleId"></param>
/// <returns></returns>
public static List<Sys_User> GetProjectUserByUnitidAndProjectId(string ProjectId, string RoleId)
{
var ids = Funs.DB.Project_ProjectUser.Where(e => e.ProjectId == ProjectId).Select(u => u.UserId).ToList();
return Funs.DB.Sys_User.Where(u => ids.Contains(u.UserId)).ToList();
}
/// <summary>
///获取项目用户信息 根据ProjectId
/// </summary>
+113
View File
@@ -860,6 +860,119 @@ namespace BLL
}
}
#region 获取集团单位列表
/// <summary>
/// 获取集团单位列表
/// </summary>
/// <returns></returns>
public static List<Model.BaseInfoItem> getUnitLists()
{
var responeData = new Model.ResponeData();
List<Model.BaseInfoItem> list = new List<Model.BaseInfoItem>();
try
{
string baseurl = $"{SysConstSetService.CNCECPath}/api/Unit/getUnitLists";
// string baseurl = "http://localhost:7143/api/Unit/getUnitLists";
string contenttype = "application/json;charset=unicode";
Hashtable newToken = new Hashtable
{
{ "token", ServerService.GetToken().Token }
};
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, newToken, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
responeData.code = Funs.GetNewIntOrZero(obj["code"].ToString());
responeData.message = obj["message"].ToString();
if (responeData.code == 1)
{
JArray getData = JArray.Parse(obj["data"].ToString());
if (getData.Count() > 0)
{
foreach (var item in getData)
{
var q = new Model.BaseInfoItem();
q.BaseInfoId = item["BaseInfoId"].ToString();
q.BaseInfoName = item["BaseInfoName"].ToString();
q.BaseInfoCode = item["BaseInfoCode"].ToString();
list.Add(q);
}
}
responeData.message = "获取成功:集团单位数" + getData.Count().ToString() + "条";
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("获取集团单位列表!", ex);
}
return list;
}
#endregion
#region 根据单位获取项目列表
/// <summary>
/// 获取集团单位列表
/// </summary>
/// <returns></returns>
public static List<Model.BaseInfoItem> getProjectListByUnitId(string userId)
{
var responeData = new Model.ResponeData();
List<Model.BaseInfoItem> list = new List<Model.BaseInfoItem>();
try
{
string baseurl = $"{SysConstSetService.CNCECPath}/api/Unit/getProjectListByUnitId?unitId=" + userId + "&projectName=" + "&pageIndex=0";
// string baseurl = "http://localhost:7143/api/Unit/getProjectListByUnitId?unitId=" + userId + "&projectName=" + "&pageIndex=0" ;
string contenttype = "application/json;charset=unicode";
Hashtable newToken = new Hashtable
{
{ "token", ServerService.GetToken().Token }
};
var strJosn = APIGetHttpService.Http(baseurl, "GET", contenttype, newToken, null);
if (!string.IsNullOrEmpty(strJosn))
{
JObject obj = JObject.Parse(strJosn);
responeData.code = Funs.GetNewIntOrZero(obj["code"].ToString());
responeData.message = obj["message"].ToString();
if (responeData.code == 1)
{
JArray getData = JArray.Parse(obj["data"].ToString());
if (getData.Count() > 0)
{
foreach (var item in getData)
{
var q = new Model.BaseInfoItem();
q.BaseInfoId = item["BaseInfoId"].ToString();
q.BaseInfoName = item["BaseInfoName"].ToString();
q.BaseInfoCode = item["BaseInfoCode"].ToString();
list.Add(q);
}
}
responeData.message = "获取成功:集团项目数" + getData.Count().ToString() + "条";
}
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = "获取失败:" + ex.Message;
ErrLogInfo.WriteLog("获取集团项目数!", ex);
}
return list;
}
#endregion
#region 根据单位id获取单位信息列表
File diff suppressed because one or more lines are too long
+32
View File
@@ -982,8 +982,12 @@
<Content Include="HSSE\Check\CheckHolidayEdit.aspx" />
<Content Include="HSSE\Check\CheckHolidayPrint.aspx" />
<Content Include="HSSE\Check\CheckHolidayView.aspx" />
<Content Include="HSSE\Check\CheckSpecialProEdit.aspx" />
<Content Include="HSSE\Check\CheckSpecialPro.aspx" />
<Content Include="HSSE\Check\CheckSpecial.aspx" />
<Content Include="HSSE\Check\CheckSpecialEdit.aspx" />
<Content Include="HSSE\Check\CheckSpecialProView.aspx" />
<Content Include="HSSE\Check\CheckSpecialProRecord.aspx" />
<Content Include="HSSE\Check\CheckSpecialView.aspx" />
<Content Include="HSSE\Check\CheckWork.aspx" />
<Content Include="HSSE\Check\CheckWorkDetailEdit.aspx" />
@@ -11369,6 +11373,20 @@
<Compile Include="HSSE\Check\CheckHolidayView.aspx.designer.cs">
<DependentUpon>CheckHolidayView.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProEdit.aspx.cs">
<DependentUpon>CheckSpecialProEdit.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProEdit.aspx.designer.cs">
<DependentUpon>CheckSpecialProEdit.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialPro.aspx.cs">
<DependentUpon>CheckSpecialPro.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialPro.aspx.designer.cs">
<DependentUpon>CheckSpecialPro.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecial.aspx.cs">
<DependentUpon>CheckSpecial.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -11383,6 +11401,20 @@
<Compile Include="HSSE\Check\CheckSpecialEdit.aspx.designer.cs">
<DependentUpon>CheckSpecialEdit.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProView.aspx.cs">
<DependentUpon>CheckSpecialProView.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProView.aspx.designer.cs">
<DependentUpon>CheckSpecialProView.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProRecord.aspx.cs">
<DependentUpon>CheckSpecialProRecord.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialProRecord.aspx.designer.cs">
<DependentUpon>CheckSpecialProRecord.aspx</DependentUpon>
</Compile>
<Compile Include="HSSE\Check\CheckSpecialView.aspx.cs">
<DependentUpon>CheckSpecialView.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
@@ -0,0 +1,183 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckSpecialPro.aspx.cs" Inherits="FineUIPro.Web.HSSE.Check.CheckSpecialPro" %>
<%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<link href="~/res/css/common.css" rel="stylesheet" type="text/css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<title>专项检查</title>
<style type="text/css">
.labcenter {
text-align: center;
}
.LabelColor {
color: Red;
font-size: small;
}
.f-grid-row.Yellow {
background-color: Yellow;
}
.f-grid-row.Green {
background-color: LightGreen;
}
.f-grid-row.Red {
background-color: Red;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
<f:Panel ID="Panel1" runat="server" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="380" Title="公司-项目" TitleToolTip="公司-项目" ShowBorder="true"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft" Layout="Fit">
<Items>
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true" AutoScroll="true"
BodyPadding="0px">
<uc1:UnitProjectTControl ID="ucTree" runat="server" Onchange="changeTree" />
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="专项检查" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="CheckSpecialId" DataIDField="CheckSpecialId" AllowSorting="true" SortField="CheckSpecialCode"
SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" AllowPaging="true" ForceFit="true"
IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True"
OnRowCommand="Grid1_RowCommand">
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:RadioButtonList runat="server" ID="rbStates" Width="280px" AutoPostBack="true" OnSelectedIndexChanged="rbStates_SelectedIndexChanged">
<f:RadioItem Text="全部" Value="-1" Selected="true" />
<f:RadioItem Text="待提交" Value="0" />
<f:RadioItem Text="待整改" Value="1" />
<f:RadioItem Text="已完成" Value="2" />
</f:RadioButtonList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:DropDownList ID="drpType" runat="server" Label="类型" Width="180px" LabelWidth="50px" AutoPostBack="true"
OnSelectedIndexChanged="drpType_SelectedIndexChanged"
EnableEdit="true">
</f:DropDownList>
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
<f:DropDownList ID="drpSupCheckItemSet" runat="server" Label="类别" AutoPostBack="true"
OnSelectedIndexChanged="drpSupCheckItemSet_SelectedIndexChanged" Width="180px"
EnableEdit="true" ShowLabel="true" LabelWidth="50px">
</f:DropDownList>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="日期" ID="txtStartTime"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="150px" LabelWidth="50px">
</f:DatePicker>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="至" ID="txtEndTime"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="140px" LabelWidth="30px">
</f:DatePicker>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:Button ID="btnPull" runat="server" OnClick="btnPull_Click" ToolTip="获取" Text="获取">
</f:Button>
<f:Button ID="btnNew" ToolTip="新增" Icon="Add" EnablePostBack="false" runat="server" Text="新增"
Hidden="true">
</f:Button>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp" Text="导出"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="200px" ColumnID="CheckSpecialCode" DataField="CheckSpecialCode"
SortField="CheckSpecialCode" FieldType="String" HeaderText="编号" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CheckTypeName" DataField="CheckTypeName"
SortField="CheckTypeName" FieldType="String" HeaderText="类型" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="CheckItemName" DataField="CheckItemName"
SortField="CheckItemName" FieldType="String" HeaderText="检查类别" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="CheckTime" DataField="CheckTime" SortField="CheckTime"
FieldType="Date" Renderer="Date" HeaderText="检查日期" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="StatesName" DataField="StatesName"
SortField="StatesName" FieldType="String" HeaderText="状态" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
</Columns>
<Listeners>
<f:Listener Event="dataload" Handler="onGridDataLoad" />
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
<f:ToolbarFill runat="server">
</f:ToolbarFill>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="详细" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1480px" Height="620px">
</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="btnMenuClose" EnablePostBack="true" runat="server" Hidden="true"
Text="闭环" Icon="TabGo" OnClick="btnMenuClose_Click">
</f:MenuButton>
<%--<f:MenuButton ID="btnPrinter" EnablePostBack="true" runat="server"
Text="导出" Icon="Printer" OnClick="btnPrinter_Click" EnableAjax="false" DisableControlBeforePostBack="false">
</f:MenuButton>--%>
<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;
}
function onGridDataLoad(event) {
// this.mergeColumns(['CheckSpecialCode', 'CheckCount','CheckTime'], { depends: true });
// this.mergeColumns(['CheckCount']);
// this.mergeColumns(['CheckPersonName']);
// this.mergeColumns(['CheckTime']);
// this.mergeColumns(['FlowOperateName']);
}
</script>
</body>
</html>
@@ -0,0 +1,676 @@
using Aspose.Words;
using BLL;
using FineUIPro.Web.BaseInfo;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialPro : PageBase
{
private static string checkItem;
/// <summary>
/// 项目id
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#region 加载页面
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
ListItem[] item = new ListItem[5];
item[0] = new ListItem("请选择", "-1");
item[1] = new ListItem("专项检查", "0");
item[2] = new ListItem("安全周检", "1");
item[3] = new ListItem("安全月检", "2");
item[4] = new ListItem("节假日安全检查", "3");
this.drpType.DataValueField = "Value";
this.drpType.DataTextField = "Text";
this.drpType.DataSource = item;
this.drpType.DataBind();
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.ProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
Technique_CheckItemSetService.InitCheckItemSetDropDownList(this.drpSupCheckItemSet, "2", "0", true);
checkItem = Request.Params["checkItem"];
if (!string.IsNullOrEmpty(checkItem))
{
this.drpSupCheckItemSet.Items.FindByText(checkItem).Selected = true;
}
btnNew.OnClientClick = Window1.GetShowReference(String.Format("CheckSpecialProEdit.aspx?checkItem={0}", checkItem)) + "return false;";
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
BindGrid();
this.ucTree.UnitId = this.CurrUser.UnitId;
this.ucTree.ProjectId = this.ProjectId;
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.panelLeftRegion.Hidden = true;
////权限按钮方法
this.GetButtonPower();
}
}
}
protected void changeTree(object sender, EventArgs e)
{
this.ProjectId = this.ucTree.ProjectId;
this.BindGrid();
this.GetButtonPower();
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
btnNew.Hidden = true;
btnMenuModify.Hidden = true;
btnMenuClose.Hidden = true;
btnMenuDel.Hidden = true;
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
//CASE WHEN CheckSpecial.CheckType = '0' THEN CheckItemSet.CheckItemName else '综合大检查' end CheckItemName
string strSql = @"SELECT 0 [index], CheckSpecial.CheckSpecialId,CodeRecords.Code AS CheckSpecialCode,"
+ @" CheckItemSet.CheckItemName ,CheckSpecial.CheckTime,
(CASE WHEN CheckSpecial.CheckType ='1' THEN '安全周检'
WHEN CheckSpecial.CheckType ='2' THEN '安全月检'
WHEN CheckSpecial.CheckType ='3' THEN '节假日安全检查'
WHEN CheckSpecial.CheckType ='0' THEN '专项检查'
ELSE '专项检查' END) AS CheckTypeName"
+ @" ,(CASE WHEN CheckSpecial.States='2' THEN '已完成' WHEN CheckSpecial.States='1' THEN '待整改' ELSE '待提交' END) AS StatesName"
+ @" FROM Check_CheckSpecialPro AS CheckSpecial "
+ @" LEFT JOIN Sys_CodeRecords AS CodeRecords ON CheckSpecial.CheckSpecialId=CodeRecords.DataId "
+ @" LEFT JOIN Technique_CheckItemSet AS CheckItemSet ON CheckItemSet.CheckItemSetId = CheckSpecial.CheckItemSetId where 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " AND CheckSpecial.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
if (this.rbStates.SelectedValue != "-1")
{
strSql += " AND CheckSpecial.States = @States";
listStr.Add(new SqlParameter("@States", this.rbStates.SelectedValue));
}
if (this.drpType.SelectedValue != "-1")
{
strSql += " AND CheckSpecial.CheckType = @CheckType";
listStr.Add(new SqlParameter("@CheckType", this.drpType.SelectedValue));
}
if (this.drpSupCheckItemSet.SelectedValue != BLL.Const._Null)
{
if (drpSupCheckItemSet.SelectedValue != "0" && drpSupCheckItemSet.SelectedValue != "-1")
{
strSql += " AND CheckSpecial.CheckItemSetId = @CheckItemSetId";
listStr.Add(new SqlParameter("@CheckItemSetId", this.drpSupCheckItemSet.SelectedValue));
}
}
if (!string.IsNullOrEmpty(this.txtStartTime.Text.Trim()))
{
strSql += " AND CheckSpecial.CheckTime >= @StartTime";
listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text.Trim()))
{
strSql += " AND CheckSpecial.CheckTime <= @EndTime";
listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text.Trim()));
}
strSql += " order by CheckSpecial.CheckTime desc";
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
if (tb != null)
{
foreach (DataRow row in tb.Rows)
{
if (!string.IsNullOrEmpty(row["CheckSpecialCode"].ToString()))
{
row["index"] = int.Parse(System.Text.RegularExpressions.Regex.Replace(row["CheckSpecialCode"].ToString(), @"[^0-9]+", ""));
}
}
}
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
#region 表排序、分页、关闭窗口
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region Grid双击事件
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(null, null);
}
#endregion
#region 编辑
/// <summary>
/// 编辑按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string CheckSpecialId = Grid1.SelectedRowID.Split(',')[0];
var checkSpecial = BLL.Check_CheckSpecialService.GetCheckSpecialByCheckSpecialId(CheckSpecialId);
if (checkSpecial != null)
{
if (this.btnMenuModify.Hidden) ////双击事件 编辑权限有:编辑页面,无:查看页面 或者状态是完成时查看页面
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckSpecialProView.aspx?CheckSpecialId={0}", CheckSpecialId, "查看 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckSpecialProEdit.aspx?CheckSpecialId={0}", CheckSpecialId, "编辑 - ")));
}
}
}
#endregion
#region 删除
/// <summary>
/// 批量删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
var checkSpecial = BLL.Check_CheckSpecialService.GetCheckSpecialByCheckSpecialId(rowID);
if (checkSpecial != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, checkSpecial.CheckSpecialCode, checkSpecial.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId, BLL.Const.BtnDelete);
BLL.Check_CheckSpecialDetailService.DeleteCheckSpecialDetails(rowID);
BLL.Check_CheckSpecialService.DeleteCheckSpecial(rowID);
}
}
// Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.SupervisionAndInspection);
BindGrid();
ShowNotify("删除数据成功!");
}
}
#endregion
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectCheckSpecialMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuModify.Hidden = false;
this.btnMenuClose.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
#region 导出按钮
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("专项检查" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = this.Grid1.RecordCount;
BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rbStates_SelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
protected void drpType_SelectedIndexChanged(object sender, EventArgs e)
{
drpSupCheckItemSet.Items.Clear();
if (drpType.SelectedValue == "0")
{
Technique_CheckItemSetService.InitCheckItemSetDropDownList(this.drpSupCheckItemSet, "2", "0", true);
}
else
{
ListItem[] item = new ListItem[2];
item[0] = new ListItem("请选择", "-1");
item[1] = new ListItem("联合", "0");
this.drpSupCheckItemSet.DataValueField = "Value";
this.drpSupCheckItemSet.DataTextField = "Text";
this.drpSupCheckItemSet.DataSource = item;
this.drpSupCheckItemSet.DataBind();
}
this.drpSupCheckItemSet.SelectedIndex = 0;
this.BindGrid();
}
protected void drpSupCheckItemSet_SelectedIndexChanged(object sender, EventArgs e)
{
this.BindGrid();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "click")
{
string[] checkSpecialDetail = (Grid1.DataKeys[e.RowIndex][0].ToString()).Split(',');
if (checkSpecialDetail.Count() > 1)
{
var detail = Check_CheckSpecialDetailService.GetCheckSpecialDetailByCheckSpecialDetailId(checkSpecialDetail[1]);
if (detail != null)
{
if (detail.DataType == "1")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RectifyNoticesView.aspx?RectifyNoticesId={0}", detail.DataId, "查看 - ")));
}
else if (detail.DataType == "2")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PunishNoticeView.aspx?PunishNoticeId={0}", detail.DataId, "查看 - ")));
}
else if (detail.DataType == "3")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PauseNoticeView.aspx?PauseNoticeId={0}", detail.DataId, "查看 - ")));
}
}
}
}
}
#region 导出详细
///// <summary>
/////
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//protected void btnPrinter_Click(object sender, EventArgs e)
//{
// if (Grid1.SelectedRowIndexArray.Length == 0)
// {
// Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
// return;
// }
// string Id = Grid1.SelectedRowID;
// var checkSpecial = BLL.Check_CheckSpecialService.GetCheckSpecialByCheckSpecialId(Id);
// string rootPath = Server.MapPath("~/");
// string initTemplatePath = string.Empty;
// string uploadfilepath = string.Empty;
// string newUrl = string.Empty;
// string filePath = string.Empty;
// initTemplatePath = "File\\Word\\HSSE\\专项检查.doc";
// uploadfilepath = rootPath + initTemplatePath;
// string docfilename = Funs.GetNewFileName();
// newUrl = uploadfilepath.Replace(".doc", docfilename + ".doc");
// filePath = initTemplatePath.Replace(".doc", docfilename + ".pdf");
// if (File.Exists(newUrl))
// {
// File.Delete(newUrl);
// }
// File.Copy(uploadfilepath, newUrl);
// ///更新书签
// Document doc = new Aspose.Words.Document(newUrl);
// Bookmark bookmarkProjectName = doc.Range.Bookmarks["ProjectName"];
// if (bookmarkProjectName != null)
// {
// if (checkSpecial != null)
// {
// var project = ProjectService.GetProjectByProjectId(checkSpecial.ProjectId);
// if (project != null)
// {
// bookmarkProjectName.Text = project.ProjectName;
// }
// }
// }
// Bookmark bookmarkCheckSpecialCode = doc.Range.Bookmarks["CheckSpecialCode"];
// if (bookmarkCheckSpecialCode != null)
// {
// if (checkSpecial != null)
// {
// if (!string.IsNullOrEmpty(checkSpecial.CheckSpecialCode))
// {
// bookmarkCheckSpecialCode.Text = checkSpecial.CheckSpecialCode;
// }
// }
// }
// Bookmark bookmarkSupCheckItemSet = doc.Range.Bookmarks["SupCheckItemSet"];
// if (bookmarkSupCheckItemSet != null)
// {
// if (checkSpecial != null)
// {
// if (!string.IsNullOrEmpty(checkSpecial.CheckItemSetId))
// {
// bookmarkSupCheckItemSet.Text = Technique_CheckItemSetService.GetCheckItemSetNameById(checkSpecial.CheckItemSetId);
// }
// }
// }
// Bookmark bookmarkCheckDate = doc.Range.Bookmarks["CheckDate"];
// if (bookmarkCheckDate != null)
// {
// if (checkSpecial != null)
// {
// if (checkSpecial.CheckTime.HasValue)
// {
// bookmarkCheckDate.Text = string.Format("{0:yyyy-MM-dd}", checkSpecial.CheckTime);
// }
// }
// }
// Bookmark bookmarkPartInPersons = doc.Range.Bookmarks["PartInPersons"];
// if (bookmarkPartInPersons != null)
// {
// if (checkSpecial != null)
// {
// if (!string.IsNullOrEmpty(checkSpecial.PartInPersons))
// {
// bookmarkPartInPersons.Text = checkSpecial.PartInPersons;
// }
// }
// }
// //专项检查列表
// Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
// builder.MoveToBookmark("tab");
// builder.StartTable();
// builder.RowFormat.Alignment = Aspose.Words.Tables.RowAlignment.Center;
// builder.CellFormat.Borders.LineStyle = LineStyle.Single;
// builder.CellFormat.Borders.Color = System.Drawing.Color.Black;
// builder.RowFormat.LeftIndent = 100;
// builder.Bold = false;
// builder.RowFormat.Height = 20;
// builder.Bold = false;
// var checkSpecialDetails = (from x in Funs.DB.View_CheckSpecialProDetail
// where x.CheckSpecialId == Id
// orderby x.SortIndex
// select x).ToList();
// int num = 1;
// foreach (Model.View_CheckSpecialProDetail detail in checkSpecialDetails)
// {
// //序号
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 20;
// builder.Write(num.ToString());
// //单位工程
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 55;
// builder.Write(string.IsNullOrEmpty(detail.CheckAreaName) ? "" : detail.CheckAreaName);
// //单位
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 120;
// builder.Write(string.IsNullOrEmpty(detail.UnitName) ? "" : detail.UnitName);
// //问题描述
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 40;
// builder.Write(string.IsNullOrEmpty(detail.Unqualified) ? "" : detail.Unqualified);
// //问题类型
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 100;
// builder.Write(string.IsNullOrEmpty(detail.CheckItemName) ? "" : detail.CheckItemName);
// //处理结果
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 50;
// builder.Write(string.IsNullOrEmpty(detail.CompleteStatusName) ? "" : detail.CompleteStatusName);
// //隐患类别
// builder.InsertCell();
// builder.CellFormat.VerticalMerge = Aspose.Words.Tables.CellMerge.None;
// builder.CellFormat.HorizontalMerge = Aspose.Words.Tables.CellMerge.First;
// builder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
// builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;//水平居中对齐
// builder.CellFormat.Width = 50;
// builder.Write(string.IsNullOrEmpty(detail.RiskLevel) ? "" : detail.RiskLevel);
// builder.EndRow();
// num++;
// }
// builder.EndTable();
// doc.Save(newUrl);
// //生成PDF文件
// string pdfUrl = newUrl.Replace(".doc", ".pdf");
// Document doc1 = new Aspose.Words.Document(newUrl);
// //验证参数
// if (doc1 == null) { throw new Exception("Word文件无效"); }
// doc1.Save(pdfUrl, Aspose.Words.SaveFormat.Pdf);//还可以改成其它格式
// string fileName = Path.GetFileName(filePath);
// FileInfo info = new FileInfo(pdfUrl);
// long fileSize = info.Length;
// Response.Clear();
// Response.ContentType = "application/x-zip-compressed";
// Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
// Response.AddHeader("Content-Length", fileSize.ToString());
// Response.TransmitFile(pdfUrl, 0, fileSize);
// Response.Flush();
// Response.Close();
// File.Delete(newUrl);
// File.Delete(pdfUrl);
//}
#endregion
#region 闭环
/// <summary>
/// 闭环按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuClose_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string CheckSpecialId = Grid1.SelectedRowID.Split(',')[0];
var checkSpecial = BLL.Check_CheckSpecialService.GetCheckSpecialByCheckSpecialId(CheckSpecialId);
if (checkSpecial != null)
{
var details = BLL.Check_CheckSpecialDetailService.GetCheckSpecialDetailByCheckSpecialId(CheckSpecialId);
foreach (var item in details)
{
item.CompleteStatus = true;
BLL.Check_CheckSpecialDetailService.UpdateCheckSpecialDetail(item);
}
checkSpecial.States = Const.State_2;
Check_CheckSpecialService.UpdateCheckSpecial(checkSpecial);
var hazardRegisters = from x in Funs.DB.HSSE_Hazard_HazardRegister where x.CheckSpecialId == CheckSpecialId select x;
foreach (var item in hazardRegisters)
{
item.States = "3";
BLL.HSSE_Hazard_HazardRegisterService.UpdateHazardRegister(item);
}
BindGrid();
ShowNotify("闭环成功!", MessageBoxIcon.Success);
}
}
#endregion
#region 拉取总包检查
/// <summary>
/// 拉取总包检查
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnPull_Click(object sender, EventArgs e)
{
APICheckSpecialSyncService.getCheckSpecialLists();
this.BindGrid();
}
#endregion
}
}
@@ -0,0 +1,260 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialPro
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// ucTree 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.Controls.UnitProjectTControl ucTree;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// rbStates 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbStates;
/// <summary>
/// drpType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpType;
/// <summary>
/// drpSupCheckItemSet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSupCheckItemSet;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnPull 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPull;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// labNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnMenuModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuModify;
/// <summary>
/// btnMenuClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuClose;
/// <summary>
/// btnMenuDel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDel;
}
}
@@ -0,0 +1,251 @@
<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeBehind="CheckSpecialProEdit.aspx.cs" Inherits="FineUIPro.Web.HSSE.Check.CheckSpecialProEdit" %>
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
<!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" />
<style type="text/css">
.labcenter {
text-align: center;
}
.f-grid-row.burlywood {
background-color: burlywood;
background-image: none;
}
.fontred {
color: #FF7575;
background-image: none;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow ColumnWidths="25% 25% 25% 30%">
<Items>
<f:TextBox ID="txtCheckSpecialCode" runat="server" Label="检查编号" Readonly="true" MaxLength="50">
</f:TextBox>
<f:DropDownList ID="drpType" runat="server" Label="检查类型"
EnableEdit="true">
</f:DropDownList>
<f:DropDownList ID="drpSupCheckItemSet" runat="server" Label="检查类别"
AutoPostBack="true"
EnableEdit="true">
</f:DropDownList>
<f:DatePicker runat="server" DateFormatString="yyyy-MM-dd" Label="检查日期" ID="txtCheckDate" EnableEdit="false">
</f:DatePicker>
</Items>
</f:FormRow>
<f:FormRow ColumnWidths="35% 35% 30%">
<Items>
<f:DropDownList ID="drpPartInPersons" runat="server" Label="参检人员" EnableEdit="true" EnableMultiSelect="true"
ForceSelection="false" MaxLength="2000" EnableCheckBoxSelect="true"
AutoPostBack="true" OnSelectedIndexChanged="drpPartInPersons_SelectedIndexChanged">
</f:DropDownList>
<f:TextBox runat="server" ID="txtPartInPersonNames" MaxLength="1000" Label="补充人员"></f:TextBox>
<f:Button ID="btnNew" Text="新增检查" Icon="Add" OnClick="btnAdd_Click" runat="server" MarginLeft="50px">
</f:Button>
<%-- <f:Button ID="btnDelete" Text="删除" Icon="Delete" EnablePostBack="false" runat="server">
</f:Button>--%>
<f:Button ID="btnImport" ToolTip="导入" Text="导入" Icon="ApplicationGet" Hidden="true" runat="server"
OnClick="btnImport_Click">
</f:Button>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" DataIDField="CheckSpecialDetailId"
DataKeyNames="CheckSpecialDetailId" ShowGridHeader="true" SortField="SortIndex" SortDirection="ASC" OnRowCommand="Grid1_RowCommand"
MinHeight="350px" AllowCellEditing="true" ClicksToEdit="1" AllowSorting="true" EnableColumnLines="true" OnPreDataBound="Grid1_PreDataBound"
EnableTextSelection="True" OnSort="Grid1_Sort">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField Width="100px" ColumnID="CheckAreaName" DataField="CheckAreaName" SortField="CheckAreaName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="单位工程">
<Editor>
<f:DropDownList ID="drpCheckArea" Required="true" runat="server" EnableEdit="true" ShowRedStar="true">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitName" DataField="UnitName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="受检单位">
<Editor>
<f:DropDownList ID="drpWorkUnit" runat="server" EnableEdit="true" AutoPostBack="true" OnSelectedIndexChanged="drpWorkUnit_SelectedIndexChanged">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="HSEManage" DataField="HSEManage" SortField="HSEManage"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="HSE经理" RendererFunction="render_user">
<Editor>
<f:DropDownList ID="drpHSE" Required="true" runat="server" EnableEdit="true" ShowRedStar="true">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Unqualified" DataField="Unqualified"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="问题描述">
<Editor>
<f:TextBox ID="txtUnqualified" runat="server" ShowRedStar="true">
</f:TextBox>
</Editor>
</f:RenderField>
<f:TemplateField ColumnID="tfImageUrl1" Width="120px" HeaderText="问题图片" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbImageUrl1" runat="server" Text='<%# ConvertImageUrlByImage(Eval("CheckSpecialDetailId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="120px" ColumnID="CheckItemName" DataField="CheckItemName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="问题类型">
<Editor>
<f:DropDownList ID="drpCheckItem" runat="server" EnableEdit="true" AutoPostBack="true"
OnSelectedIndexChanged="drpCheckItem_SelectedIndexChanged">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="100px" ColumnID="RiskLevel" DataField="RiskLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="风险级别">
<Editor>
<f:DropDownList ID="drpRiskLevel" runat="server" EnableEdit="true">
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="CompleteStatusName" DataField="CompleteStatusName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="现场处理结果">
<Editor>
<f:DropDownList ID="drpCompleteStatus" Required="true" runat="server" EnableEdit="true" ShowRedStar="true">
<f:ListItem Text="待整改" Value="待整改" Selected="true" />
<f:ListItem Text="已整改" Value="已整改" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="80px" ColumnID="RectifyOpinion" DataField="RectifyOpinion"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="处理方式">
<Editor>
<f:DropDownList ID="drpHandleWay" Required="true" runat="server" EnableEdit="true" ShowRedStar="true">
<f:ListItem Text="" Value="" Selected="true" />
<f:ListItem Text="当场纠正" Value="当场纠正" />
<f:ListItem Text="口头警告" Value="口头警告" />
</f:DropDownList>
</Editor>
</f:RenderField>
<f:RenderField Width="120px" ColumnID="LimitedDate" DataField="LimitedDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="限时日期">
<Editor>
<f:DatePicker ID="dpLimitedDate" Required="true" runat="server">
</f:DatePicker>
</Editor>
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Suggestions" DataField="Suggestions"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="整改要求" ExpandUnusedSpace="true">
<Editor>
<f:TextBox ID="txtSuggest" runat="server" ShowRedStar="true">
</f:TextBox>
</Editor>
</f:RenderField>
<f:LinkButtonField Width="90px" HeaderText="问题图片上传" ConfirmTarget="Top" CommandName="attchUrl"
TextAlign="Center" ToolTip="上传" Text="上传" />
<f:LinkButtonField ColumnID="Delete" Width="50px" EnablePostBack="false" Icon="Delete"
HeaderTextAlign="Center" HeaderText="删除" />
</Columns>
<Listeners>
<%-- <f:Listener Event="beforeedit" Handler="onGridBeforeEdit" />--%>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
<%--<f:Listener Event="afteredit" Handler="onGridAfterEdit" />--%>
</Listeners>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Label runat="server" ID="lbTemp"></f:Label>
<f:Button ID="btnAttachUrl" Text="附件" ToolTip="附件上传及查看" Icon="TableCell" runat="server" OnClick="btnAttachUrl_Click"
ValidateForms="SimpleForm1">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnSave" Icon="SystemSave" runat="server" ToolTip="保存" ValidateForms="SimpleForm1" Text="保存"
OnClick="btnSave_Click">
</f:Button>
<f:Button ID="btnSubmit" Icon="SystemSaveNew" runat="server" ToolTip="提交" ValidateForms="SimpleForm1" Text="提交"
OnClick="btnSubmit_Click">
</f:Button>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose" Text="关闭">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="720px"
Height="560px">
</f:Window>
<f:Window ID="Window2" Title="导入" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window2_Close" IsModal="true"
CloseAction="HidePostBack" Width="720px" Height="560px">
</f:Window>
</form>
<script src="../../Controls/My97DatePicker/WdatePicker.js" type="text/javascript"></script>
<script type="text/javascript">
// 返回false,来阻止浏览器右键菜单
function onRowContextMenu(event, rowId) {
//F(menuID).show(); //showAt(event.pageX, event.pageY);
return false;
}
var DropProgress_userID = '<%= drpHSE.ClientID %>';
function render_user(value) {
return F(DropProgress_userID).getTextByValue(value);
}
<%-- var grid1ClientID = '<%= Grid1.ClientID %>';
var drpCompleteStatusClientID = '<%= drpCompleteStatus.ClientID %>';
var drpHandleStepClientID = '<%= drpHandleStep.ClientID %>';
var drpHiddenHazardTypeClientID = '<%= drpHiddenHazardType.ClientID %>';
function onGridAfterEdit(event, value, params) {
var grid = F(grid1ClientID);
var drpHiddenHazardType = F(drpHiddenHazardTypeClientID);
var drpHandleStep = F(drpHandleStepClientID);
if (params.columnId === 'CompleteStatusName') {
var CompleteStatusName = grid.getCellValue(params.rowId, 'CompleteStatusName');
if (CompleteStatusName.indexOf("待整改") != -1) {
drpHandleStep.enable();
drpHandleStep.setEmptyText('');
// drpHandleStep.loadData(shidata);
} else {
drpHandleStep.setEmptyText('');
drpHandleStep.disable();
drpHiddenHazardType.setEmptyText('1');
drpHiddenHazardType.disable();
}
}
if (params.columnId === 'HandleStepStr') {
var HandleStepStr = grid.getCellValue(params.rowId, 'HandleStepStr');
if (HandleStepStr.indexOf("整改通知单") != -1) {
drpHiddenHazardType.enable();
drpHiddenHazardType.setEmptyText('一般');
// drpHandleStep.loadData(shidata);
} else {
drpHiddenHazardType.setEmptyText('');
drpHiddenHazardType.disable();
}
}
}--%>
</script>
</body>
</html>
@@ -0,0 +1,778 @@
using BLL;
using FineUIPro.Web.HSSE.License;
using Model;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProEdit : PageBase
{
#region 定义变量
/// <summary>
/// 主键
/// </summary>
public string CheckSpecialId
{
get
{
return (string)ViewState["CheckSpecialId"];
}
set
{
ViewState["CheckSpecialId"] = value;
}
}
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
//public List<View_CheckSpecialProDetail> details
//{
// get
// {
// return (List<View_CheckSpecialProDetail>)ViewState["details"];
// }
// set
// {
// ViewState["details"] = value;
// }
//}
/// <summary>
/// 定义集合
/// </summary>
private static List<Model.View_CheckSpecialProDetail> details = new List<Model.View_CheckSpecialProDetail>();
// public List<View_CheckSpecialProDetail> details = new List<View_CheckSpecialProDetail>();
#endregion
#region 加载页面
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string checkItem = Request.Params["checkItem"];
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.ProjectId = this.CurrUser.LoginProjectId;
this.InitDropDownList();
this.InitCheckItemSetDropDownList();
this.CheckSpecialId = Request.Params["CheckSpecialId"];
var checkSpecial = Check_CheckSpecialProService.GetCheckSpecialByCheckSpecialId(this.CheckSpecialId);
Technique_CheckItemSetService.InitCheckItemSetNameDropDownList(this.drpSupCheckItemSet, "2", "0", false);
var sysUser = BLL.ProjectUserService.GetProjectUserByUnitidAndProjectId(CurrUser.LoginProjectId, Const.HSSEManager);
List<ListItem> lists = new List<ListItem>();
foreach (var item in sysUser)
{
lists.Add(new ListItem(item.UserName, item.UserId));
}
drpHSE.Items.Clear();
drpHSE.DataValueField = "Value";
drpHSE.DataTextField = "Text";
drpHSE.DataSource = lists;
drpHSE.DataBind();
if (checkSpecial != null)
{
details.Clear();
this.ProjectId = checkSpecial.ProjectId;
if (this.ProjectId != this.CurrUser.LoginProjectId)
{
this.InitDropDownList();
}
if (!string.IsNullOrEmpty(checkSpecial.CheckType))
{
this.drpType.SelectedValue = checkSpecial.CheckType;
}
this.InitCheckItemSetDropDownList();
this.txtCheckSpecialCode.Text = CodeRecordsService.ReturnCodeByDataId(this.CheckSpecialId);
if (checkSpecial.CheckTime != null)
{
this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", checkSpecial.CheckTime);
}
this.txtPartInPersonNames.Text = checkSpecial.PartInPersonNames;
if (!string.IsNullOrEmpty(checkSpecial.CheckItemSetId))
{
var getCheckItem = Funs.DB.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemSetId == checkSpecial.CheckItemSetId);
this.drpSupCheckItemSet.SelectedValue = getCheckItem.CheckItemName;
}
if (!string.IsNullOrEmpty(checkSpecial.PartInPersonIds))
{
this.drpPartInPersons.SelectedValueArray = checkSpecial.PartInPersonIds.Split(',');
}
BindDetailGrid();
//var checkSpecialDetails = (from x in Funs.DB.View_CheckSpecialProDetail
// where x.CheckSpecialId == this.CheckSpecialId
// orderby x.UnitName, x.SortIndex
// select x).ToList();
//if (checkSpecialDetails.Count() > 0)
//{
// this.drpSupCheckItemSet.Readonly = true;
// this.drpType.Readonly = true;
//}
//details = checkSpecialDetails;
//Grid1.DataSource = details;
//Grid1.DataBind();
}
else
{
////自动生成编码
this.txtCheckSpecialCode.Text = CodeRecordsService.ReturnCodeByMenuIdProjectId(BLL.Const.ProjectCheckSpecialMenuId, this.ProjectId, this.CurrUser.UnitId);
this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
if (!string.IsNullOrWhiteSpace(checkItem))
{
this.drpSupCheckItemSet.Items.FindByText(checkItem).Selected = true;
}
else
{
this.drpSupCheckItemSet.SelectedIndex = 0;
}
}
// 删除选中单元格的客户端脚本
string deleteScript = GetDeleteScript();
// 新增数据初始值
}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindDetailGrid()
{
if (string.IsNullOrEmpty(this.CheckSpecialId))
{
return;
}
var checkSpecialDetails = (from x in Funs.DB.View_CheckSpecialProDetail
where x.CheckSpecialId == this.CheckSpecialId
orderby x.UnitName, x.SortIndex
select x).ToList();
if (checkSpecialDetails.Count() > 0)
{
this.drpSupCheckItemSet.Readonly = true;
this.drpType.Readonly = true;
}
details = checkSpecialDetails;
Grid1.DataSource = details;
Grid1.DataBind();
}
#endregion
protected void btnAdd_Click(object sender, EventArgs e)
{
//JObject defaultObj = new JObject
// { { "CheckSpecialDetailId",Guid.NewGuid() },
// { "CheckAreaName", "" },
// { "UnitName", "" },
// { "HSEManage",""},
// { "Unqualified", "" },
// { "attchUrl","上传" },
// {"RiskLevel","" },
// { "CompleteStatusName", "" },
// {"LimitedDate","" },
// { "Suggestions",""},
// { "HandleStepStr", "" },
// { "Delete", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", deleteScript, IconHelper.GetResolvedIconUrl(Icon.Delete)) }
// };
//details = (from x in Funs.DB.View_CheckSpecialProDetail
// where x.CheckSpecialId == this.CheckSpecialId
// orderby x.UnitName, x.SortIndex
// select x).ToList();
//if (details == null)
// details = new List<View_CheckSpecialProDetail>();
//View_CheckSpecialProDetail d = new View_CheckSpecialProDetail();
//d.CheckSpecialDetailId = Guid.NewGuid().ToString();
//details.Add(d);
//Grid1.DataSource= details;
//Grid1.DataBind();
JArray teamGroupData = Grid1.GetMergedData();
List<JObject> list = new List<JObject>();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
values.Add("CheckSpecialDetailId", teamGroupRow.Value<string>("id"));
list.Add(values);
}
JObject defaultObj = new JObject
{ { "CheckSpecialDetailId",Guid.NewGuid() },
{ "CheckAreaName", "" },
{ "UnitName", "" },
{ "HSEManage",""},
{ "Unqualified", "" },
{"RiskLevel","" },
{ "CompleteStatusName", "" },
{"LimitedDate","" },
{ "Suggestions",""},
{ "HandleStepStr", "" },
{ "Delete", String.Format("<a href=\"javascript:;\" onclick=\"{0}\"><img src=\"{1}\"/></a>", GetDeleteScript(), IconHelper.GetResolvedIconUrl(Icon.Delete)) }
};
list.Add(defaultObj);
Grid1.DataSource = list;
Grid1.DataBind();
// Grid1.GetAddNewRecordReference(defaultObj, true);
// 在第一行新增一条数据
//btnNew.OnClientClick = Grid1.GetAddNewRecordReference(defaultObj, true);
}
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string itemId = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckSpecial&menuId={1}&edit=1", itemId, BLL.Const.ProjectCheckSpecialMenuId)));
}
}
protected string ConvertImageUrlByImage(object CheckSpecialDetailId)
{
string url = string.Empty;
string httpUrl = string.Empty;
var sysSet6 = (from x in Funs.DB.Sys_Set where x.SetName == "程序访问地址" select x).ToList().FirstOrDefault();
if (sysSet6 != null)
{
httpUrl = sysSet6.SetValue;
}
if (CheckSpecialDetailId != null)
{
var imhurl = BLL.AttachFileService.getFileUrl(CheckSpecialDetailId.ToString());
if (imhurl != null)
{
url = BLL.UploadAttachmentService.ShowImage(httpUrl, imhurl);
}
}
return url;
}
/// <summary>
/// 初始化下拉框
/// </summary>
private void InitDropDownList()
{
ListItem[] item = new ListItem[4];
item[0] = new ListItem("专项检查", "0");
item[1] = new ListItem("安全周检", "1");
item[2] = new ListItem("安全月检", "2");
item[3] = new ListItem("节假日安全检查", "3");
this.drpType.DataValueField = "Value";
this.drpType.DataTextField = "Text";
this.drpType.DataSource = item;
this.drpType.DataBind();
//检查组成员
UserService.InitUserDropDownList(this.drpPartInPersons, this.ProjectId, true);
// ConstValue.InitConstNameDropDownList(this.drpHandleStep, ConstValue.Group_HandleStep, true);
///责任单位
UnitService.InitUnitNameByProjectIdUnitTypeDropDownList(this.drpWorkUnit, this.ProjectId, null, true);
///单位工程
UnitWorkService.InitUnitWorkNameDropDownList(this.drpCheckArea, this.ProjectId, false);
}
/// <summary>
///
/// </summary>
private void SaveNew()
{
if (string.IsNullOrEmpty(this.CheckSpecialId))
{
Model.Check_CheckSpecialPro checkSpecial = new Model.Check_CheckSpecialPro
{
CheckSpecialId = SQLHelper.GetNewID(typeof(Model.Check_CheckSpecialPro)),
CheckSpecialCode = this.txtCheckSpecialCode.Text.Trim(),
ProjectId = this.ProjectId,
CompileMan = this.CurrUser.UserId,
};
///组成员
string partInPersonIds = string.Empty;
string partInPersons = string.Empty;
foreach (var item in this.drpPartInPersons.SelectedValueArray)
{
var user = BLL.UserService.GetUserByUserId(item);
if (user != null)
{
partInPersonIds += user.UserId + ",";
partInPersons += user.UserName + ",";
}
}
if (!string.IsNullOrEmpty(partInPersonIds))
{
checkSpecial.PartInPersonIds = partInPersonIds.Substring(0, partInPersonIds.LastIndexOf(","));
checkSpecial.PartInPersons = partInPersons.Substring(0, partInPersons.LastIndexOf(","));
}
checkSpecial.PartInPersonNames = this.txtPartInPersonNames.Text.Trim();
checkSpecial.CheckTime = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim());
////单据状态
checkSpecial.States = Const.State_0;
this.CheckSpecialId = checkSpecial.CheckSpecialId;
checkSpecial.CompileMan = this.CurrUser.UserId;
BLL.Check_CheckSpecialProService.AddCheckSpecial(checkSpecial);
BLL.LogService.AddSys_Log(this.CurrUser, checkSpecial.CheckSpecialCode, checkSpecial.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId, BLL.Const.BtnAdd);
}
}
#region 提交按钮
/// <summary>
/// 提交按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (this.drpType.SelectedValue == "0" && (string.IsNullOrEmpty(this.drpSupCheckItemSet.SelectedValue) || this.drpSupCheckItemSet.SelectedValue == Const._Null))
{
ShowNotify("请选择检查类别!", MessageBoxIcon.Warning);
return;
}
this.SaveData(Const.BtnSubmit);
}
#endregion
public string ConvertDate(object date)
{
if (date != null)
{
return string.Format("{0:yyyy-MM-dd}", Convert.ToDateTime(date));
}
else
{
return null;
}
}
#region 保存按钮
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (this.drpType.SelectedValue == "0" && (string.IsNullOrEmpty(this.drpSupCheckItemSet.SelectedValue) || this.drpSupCheckItemSet.SelectedValue == Const._Null))
{
ShowNotify("请选择检查类别!", MessageBoxIcon.Warning);
return;
}
this.SaveData(Const.BtnSave);
}
#endregion
#region 保存方法
/// <summary>
/// 保存数据
/// </summary>
/// <param name="type"></param>
private void SaveData(string type)
{
Model.Check_CheckSpecialPro checkSpecial = new Model.Check_CheckSpecialPro
{
CheckSpecialCode = this.txtCheckSpecialCode.Text.Trim(),
ProjectId = this.ProjectId,
PartInPersonNames = this.txtPartInPersonNames.Text.Trim(),
CheckTime = Funs.GetNewDateTime(this.txtCheckDate.Text.Trim()),
CompileMan = this.CurrUser.UserId,
CheckType = this.drpType.SelectedValue,
////单据状态
States = Const.State_0,
};
///组成员
string partInPersonIds = string.Empty;
string partInPersons = string.Empty;
foreach (var item in this.drpPartInPersons.SelectedValueArray)
{
var user = BLL.UserService.GetUserByUserId(item);
if (user != null)
{
partInPersonIds += user.UserId + ",";
partInPersons += user.UserName + ",";
}
}
if (!string.IsNullOrEmpty(partInPersonIds))
{
checkSpecial.PartInPersonIds = partInPersonIds.Substring(0, partInPersonIds.LastIndexOf(","));
checkSpecial.PartInPersons = partInPersons.Substring(0, partInPersons.LastIndexOf(","));
}
var getCheckItem = Funs.DB.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemName == this.drpSupCheckItemSet.SelectedValue);
if (getCheckItem != null)
{
checkSpecial.CheckItemSetId = getCheckItem.CheckItemSetId;
}
//if (!string.IsNullOrEmpty(this.drpSupCheckItemSet.SelectedValue) && this.drpSupCheckItemSet.SelectedValue != Const._Null)
//{
// checkSpecial.CheckItemSetId = this.drpSupCheckItemSet.SelectedValue;
//}
if (!string.IsNullOrEmpty(this.CheckSpecialId))
{
checkSpecial.CheckSpecialId = this.CheckSpecialId;
Check_CheckSpecialProService.UpdateCheckSpecial(checkSpecial);
LogService.AddSys_Log(this.CurrUser, checkSpecial.CheckSpecialCode, checkSpecial.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId, BLL.Const.BtnModify);
// Check_CheckSpecialProDetailService.DeleteCheckSpecialDetails(this.CheckSpecialId);
}
else
{
checkSpecial.CheckSpecialId = SQLHelper.GetNewID(typeof(Model.Check_CheckSpecialPro));
this.CheckSpecialId = checkSpecial.CheckSpecialId;
checkSpecial.CompileMan = this.CurrUser.UserId;
Check_CheckSpecialProService.AddCheckSpecial(checkSpecial);
LogService.AddSys_Log(this.CurrUser, checkSpecial.CheckSpecialCode, checkSpecial.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId, BLL.Const.BtnAdd);
}
// Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.SupervisionAndInspection);
ShowNotify(this.SaveDetail(type, checkSpecial), MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
/// <summary>
/// 保存明细项
/// </summary>
private string SaveDetail(string type, Model.Check_CheckSpecialPro checkSpecial)
{
string info = string.Empty;
var unitWorks = from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.ProjectId && x.SuperUnitWork == null
orderby x.UnitWorkCode
select new
{
x.UnitWorkId,
UnitWorkName = BLL.UnitWorkService.GetUnitWorkALLName(x.UnitWorkId)
};
var olddetailLists = Check_CheckSpecialProDetailService.GetCheckSpecialDetailByCheckSpecialId(this.CheckSpecialId);
List<string> needRemove = new List<string>();
foreach (var oldDetail in olddetailLists)
{
bool hasFind = false;
for (int i = 0; i < Grid1.Rows.Count; i++)
{
if (oldDetail.CheckSpecialDetailId == Grid1.Rows[i].DataKeys[0].ToString())
{
hasFind = true;
break;
}
}
if (!hasFind)
{
Check_CheckSpecialProDetailService.DeleteCheckSpecialDetailById(oldDetail.CheckSpecialDetailId);
}
}
List<Model.Check_CheckSpecialProDetail> detailLists = new List<Model.Check_CheckSpecialProDetail>();
JArray teamGroupData = Grid1.GetMergedData();
foreach (JObject teamGroupRow in teamGroupData)
{
JObject values = teamGroupRow.Value<JObject>("values");
int rowIndex = teamGroupRow.Value<int>("index");
Model.Check_CheckSpecialProDetail newDetail = new Model.Check_CheckSpecialProDetail
{
CheckSpecialDetailId = values.Value<string>("CheckSpecialDetailId"),
CheckSpecialId = this.CheckSpecialId,
CheckContent = values.Value<string>("CheckItemName"),
Unqualified = values.Value<string>("Unqualified"),
Suggestions = values.Value<string>("Suggestions"),
RectifyOpinion = values.Value<string>("RectifyOpinion"),
ProposeUnitId = this.CurrUser.UnitId
};
if (!string.IsNullOrEmpty(values.Value<string>("RectifyOpinion")))
{
if (values.Value<string>("RectifyOpinion") == "")
newDetail.HandleStep = "";
}
if (!string.IsNullOrEmpty(values.Value<string>("LimitedDate")))
{
newDetail.LimitedDate = values.Value<DateTime>("LimitedDate");
}
var HSE = Funs.DB.Sys_User.FirstOrDefault(x => x.UserName == values.Value<string>("HSE"));
var getUnit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == values.Value<string>("UnitName"));
if (getUnit != null)
{
newDetail.UnitId = getUnit.UnitId;
}
var getF = from x in unitWorks.ToList()
where x.UnitWorkName == values.Value<string>("CheckAreaName")
select x;
if (getF.FirstOrDefault() != null)
{
newDetail.CheckArea = getF.FirstOrDefault().UnitWorkId;
}
//var getUnitWork = Funs.DB.WBS_UnitWork.FirstOrDefault(x => x.UnitWorkName == values.Value<string>("CheckAreaName")
//&& x.ProjectId == this.ProjectId);
//if (getUnitWork != null)
//{
// newDetail.CheckArea = getUnitWork.UnitWorkId;
//}
if (!string.IsNullOrEmpty(values.Value<string>("HSEManage")))
{
string hsemange = values.Value<string>("HSEManage");
if (hsemange.Split('-').Length == 5)
{
newDetail.HSEManage = values.Value<string>("HSEManage");
}
else
{
var sysUser = BLL.ProjectUserService.GetProjectUserByUnitidAndProjectId(CurrUser.LoginProjectId, Const.HSSEManager);
Sys_User user = sysUser.FirstOrDefault(x => x.UserName == hsemange);
if (user != null)
{
newDetail.HSEManage = user.UserId;
}
}
}
if (values.Value<string>("CompleteStatusName") == "已整改")
{
newDetail.CompleteStatus = true;
newDetail.CompletedDate = DateTime.Now;
}
else
{
newDetail.CompleteStatus = false;
}
var getCheckItem = Funs.DB.HSSE_Hazard_HazardRegisterTypes.FirstOrDefault(x => x.RegisterTypesName == values.Value<string>("CheckItemName"));
if (getCheckItem != null)
{
newDetail.CheckItem = getCheckItem.RegisterTypesId;
}
newDetail.SortIndex = rowIndex;
if (Grid1.Rows[rowIndex].DataKeys.Length > 0)
{
newDetail.CheckSpecialDetailId = Grid1.Rows[rowIndex].DataKeys[0].ToString();
}
switch (values.Value<string>("RiskLevel"))
{
case "低": newDetail.RiskLevel = "0"; break;
case "一般": newDetail.RiskLevel = "1"; break;
case "较高": newDetail.RiskLevel = "2"; break;
case "高": newDetail.RiskLevel = "3"; break;
}
if (string.IsNullOrEmpty(newDetail.CheckSpecialDetailId))
{
Check_CheckSpecialProDetailService.AddCheckSpecialDetail(newDetail);
}
else
{
Check_CheckSpecialProDetailService.UpdateCheckSpecialDetail(newDetail);
}
detailLists.Add(newDetail);
}
if (type == Const.BtnSubmit)
{
var getDails = detailLists.Where(x => x.CompleteStatus == false);
if (getDails.Count() > 0)
{
checkSpecial.States = Const.State_1;
info = Check_CheckSpecialProService.IssueRectification(getDails.ToList(), checkSpecial);
}
else
{
checkSpecial.States = Const.State_2;
Check_CheckSpecialProService.UpdateCheckSpecial(checkSpecial);
info = "提交成功!";
}
}
else
{
info = "保存成功!";
}
return info;
}
#endregion
#region 附件上传
/// <summary>
/// 上传附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.CheckSpecialId))
{
SaveNew();
}
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckSpecial&menuId={1}", this.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId)));
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PreDataBound(object sender, EventArgs e)
{
// 设置LinkButtonField的点击客户端事件
LinkButtonField deleteField = Grid1.FindColumn("Delete") as LinkButtonField;
deleteField.OnClientClick = GetDeleteScript();
}
/// <summary>
/// 删除提示
/// </summary>
/// <returns></returns>
private string GetDeleteScript()
{
return Confirm.GetShowReference("删除选中行?", String.Empty, MessageBoxIcon.Question, Grid1.GetDeleteSelectedRowsReference(), String.Empty);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpSupCheckItemSet_SelectedIndexChanged(object sender, EventArgs e)
{
//this.drpCheckItem.Items.Clear();
//Technique_CheckItemSetService.InitCheckItemSetNameDropDownList(this.drpCheckItem, "2", this.drpSupCheckItemSet.SelectedValue, false);
}
protected void drpWorkUnit_SelectedIndexChanged(object sender, EventArgs e)
{
//for (int i = 0; i < this.Grid1.Rows.Count; i++)
//{
// DropDownList drpUnitWork = (DropDownList)Grid1.Rows[i].FindControl("drpUnitWork");
// if(((DropDownList)sender).ID == drpUnitWork.ID)
// {
//DropDownList drpHSE = (DropDownList)Grid1.Rows[i].FindControl("drpHSE");
string unitName = ((DropDownList)sender).SelectedValue;
string id = "";
if (unitName != BLL.Const._Null)
{
var unit = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitName == unitName);
if (unit != null)
{
id = unit.UnitId;
}
}
var sysUser = BLL.ProjectUserService.GetProjectUserByUnitidAndProjectId(CurrUser.LoginProjectId, Const.HSSEManager);
List<ListItem> lists = new List<ListItem>();
foreach (var item in sysUser)
{
lists.Add(new ListItem(item.UserName, item.UserName));
}
drpHSE.Items.Clear();
drpHSE.DataValueField = "Value";
drpHSE.DataTextField = "Value";
drpHSE.DataSource = lists;
drpHSE.DataBind();
// }
//}
//this.drpHSE.Items.Clear();
//this.drpHSE.DataValueField = "UserId";
//this.drpHSE.DataTextField = "UserId";
//this.drpHSE.DataSource=BLL.ProjectUserService.GetProjectUserByProjectId(CurrUser.LoginProjectId, Const.HSSEManager);
}
protected void drpPartInPersons_SelectedIndexChanged(object sender, EventArgs e)
{
this.drpPartInPersons.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpPartInPersons.SelectedValueArray);
}
protected void rbType_SelectedIndexChanged(object sender, EventArgs e)
{
InitCheckItemSetDropDownList();
}
/// <summary>
///
/// </summary>
private void InitCheckItemSetDropDownList()
{
this.drpCheckItem.DataTextField = "RegisterTypesName";
this.drpCheckItem.DataValueField = "RegisterTypesName";
this.drpCheckItem.DataSource = BLL.HSSE_Hazard_HazardRegisterTypesService.GetHazardRegisterTypesList("1"); //安全巡检类型
this.drpCheckItem.DataBind();
//this.drpCheckItem.SelectedValue = null;
ListItem[] item = new ListItem[4];
item[0] = new ListItem("低风险", "低");
item[1] = new ListItem("一般风险", "一般");
item[2] = new ListItem("较大风险", "较高");
item[3] = new ListItem("重大风险", "高");
this.drpRiskLevel.DataValueField = "Value";
this.drpRiskLevel.DataTextField = "Text";
this.drpRiskLevel.DataSource = item;
this.drpRiskLevel.DataBind();
}
protected void drpCheckItem_SelectedIndexChanged(object sender, EventArgs e)
{
// this.drpCheckItem.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpCheckItem.SelectedValueArray);
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
var checkSpecialDetails = (from x in Funs.DB.View_CheckSpecialProDetail
where x.CheckSpecialId == this.CheckSpecialId
orderby x.SortIndex
select x).ToList();
if (checkSpecialDetails.Count() > 0)
{
this.drpSupCheckItemSet.Readonly = true;
this.drpType.Readonly = true;
}
details = checkSpecialDetails;
Grid1.DataSource = details;
Grid1.DataBind();
}
#region 导入
/// <summary>
/// 导入按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnImport_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.CheckSpecialId))
{
SaveNew();
}
PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CheckSpecialDetailIn.aspx?ProjectId={0}&CheckSpecialId={1}", this.ProjectId, this.CheckSpecialId, "导入 - ")));
}
/// <summary>
/// 关闭导入弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
BindDetailGrid();
}
#endregion
}
}
@@ -0,0 +1,305 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProEdit
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtCheckSpecialCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCheckSpecialCode;
/// <summary>
/// drpType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpType;
/// <summary>
/// drpSupCheckItemSet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSupCheckItemSet;
/// <summary>
/// txtCheckDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtCheckDate;
/// <summary>
/// drpPartInPersons 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpPartInPersons;
/// <summary>
/// txtPartInPersonNames 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPartInPersonNames;
/// <summary>
/// btnNew 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnNew;
/// <summary>
/// btnImport 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnImport;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// drpCheckArea 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCheckArea;
/// <summary>
/// drpWorkUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpWorkUnit;
/// <summary>
/// drpHSE 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpHSE;
/// <summary>
/// txtUnqualified 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtUnqualified;
/// <summary>
/// lbImageUrl1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbImageUrl1;
/// <summary>
/// drpCheckItem 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCheckItem;
/// <summary>
/// drpRiskLevel 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpRiskLevel;
/// <summary>
/// drpCompleteStatus 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpCompleteStatus;
/// <summary>
/// drpHandleWay 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpHandleWay;
/// <summary>
/// dpLimitedDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker dpLimitedDate;
/// <summary>
/// txtSuggest 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtSuggest;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbTemp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbTemp;
/// <summary>
/// btnAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnSave 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSave;
/// <summary>
/// btnSubmit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnSubmit;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
}
}
@@ -0,0 +1,226 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckSpecialProRecord.aspx.cs" Inherits="FineUIPro.Web.HSSE.Check.CheckSpecialProRecord" %>
<%@ Register Src="~/Controls/UnitProjectTControl.ascx" TagName="UnitProjectTControl" TagPrefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>HSE巡检</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" ShowBorder="false" ShowHeader="false" Layout="Region">
<Items>
<f:Panel runat="server" ID="panelLeftRegion" RegionPosition="Left" RegionSplit="true"
EnableCollapse="true" Width="380" Title="公司-项目" TitleToolTip="公司-项目" ShowBorder="true"
ShowHeader="true" AutoScroll="true" BodyPadding="5px" IconFont="ArrowCircleLeft" Layout="Fit">
<Items>
<f:ContentPanel ID="ContentPanel1" runat="server" ShowHeader="false" EnableCollapse="true" AutoScroll="true"
BodyPadding="0px">
<uc1:UnitProjectTControl ID="ucTree" runat="server" Onchange="changeTree" />
</f:ContentPanel>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" ShowBorder="true"
Layout="VBox" ShowHeader="false" BodyPadding="5px" IconFont="PlusCircle" Title="专项检查记录"
TitleToolTip="专项检查记录" AutoScroll="true">
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="HSE巡检" EnableCollapse="true"
runat="server" BoxFlex="1" DataKeyNames="CheckSpecialDetailId" DataIDField="CheckSpecialDetailId"
AllowSorting="true" SortField="CheckTime" SortDirection="DESC" OnSort="Grid1_Sort"
EnableColumnLines="true" AllowPaging="true" IsDatabasePaging="true" PageSize="10"
OnPageIndexChange="Grid1_PageIndexChange" OnRowCommand="Grid1_RowCommand" ForceFit="true"
EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:TextBox runat="server" Label="检查人" ID="txtCheckMan" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="210px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="检查项" ID="txtType" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="210px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="单位工程" ID="txtWorkAreaName" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="210px" LabelWidth="80px">
</f:TextBox>
<f:TextBox runat="server" Label="责任单位" ID="txtResponsibilityUnitName" EmptyText="输入查询条件"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="250px"
LabelWidth="80px">
</f:TextBox>
</Items>
</f:Toolbar>
</Toolbars>
<Toolbars>
<f:Toolbar ID="Toolbar2" Position="Top" runat="server" ToolbarAlign="Left">
<Items>
<f:DatePicker ID="txtStartTime" runat="server" Label="检查时间" LabelAlign="Right"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="200px" LabelWidth="80px">
</f:DatePicker>
<f:Label ID="Label3" runat="server" Text="至">
</f:Label>
<f:DatePicker ID="txtEndTime" runat="server" AutoPostBack="true" OnTextChanged="TextBox_TextChanged"
Width="130px">
</f:DatePicker>
<f:DatePicker ID="txtStartRectificationTime" runat="server" Label="整改时间" LabelAlign="Right"
AutoPostBack="true" OnTextChanged="TextBox_TextChanged" Width="200px" LabelWidth="80px">
</f:DatePicker>
<f:Label ID="Label1" runat="server" Text="至">
</f:Label>
<f:DatePicker ID="txtEndRectificationTime" runat="server" AutoPostBack="true" OnTextChanged="TextBox_TextChanged"
Width="130px">
</f:DatePicker>
<f:DropDownList ID="drpStates" runat="server" Label="状态" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged"
LabelWidth="70px" LabelAlign="Right" Width="170px">
<f:ListItem Text="- 请选择 -" Value="null" Selected="true" />
<f:ListItem Text="待提交" Value="0" />
<f:ListItem Text="待整改" Value="1" />
<f:ListItem Text="已完成" Value="2" />
</f:DropDownList>
<f:ToolbarFill ID="ToolbarFill1" runat="server">
</f:ToolbarFill>
<f:HiddenField runat="server" ID="hdRemark">
</f:HiddenField>
<%-- <f:Button ID="btnNew" Icon="Add" runat="server" OnClick="btnNew_Click" ToolTip="新增" Hidden="true" Text="新增">
</f:Button>--%>
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp" Text="导出"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
<Columns>
<f:TemplateField ColumnID="tfNumber" Width="55px" HeaderText="序号" HeaderTextAlign="Center"
TextAlign="Center">
<ItemTemplate>
<asp:Label ID="labNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="100px" ColumnID="CheckSpecialCode" DataField="CheckSpecialCode"
SortField="CheckSpecialCode" FieldType="String" HeaderText="编号" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="CheckAreaName" DataField="CheckAreaName"
SortField="CheckAreaName" FieldType="String" HeaderText="单位工程" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="UnitName" DataField="UnitName"
SortField="UnitName" FieldType="String" HeaderText="受检单位" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="HSEManage" DataField="HSEManage"
SortField="HSEManage" FieldType="String" HeaderText="HSE经理" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="200px" ColumnID="Unqualified" DataField="Unqualified"
SortField="Unqualified" FieldType="String" HeaderText="问题描述" TextAlign="Left"
HeaderTextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="90px" HeaderText="问题图片" ConfirmTarget="Top" CommandName="attchUrl"
TextAlign="Center" ToolTip=" 查看" Text="查看" />
<f:RenderField Width="150px" ColumnID="CheckItemName" DataField="CheckItemName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="问题类型">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="RiskLevel" DataField="RiskLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="风险级别">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="CompleteStatusName" DataField="CompleteStatusName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="现场处理结果">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="RectifyOpinion" DataField="RectifyOpinion"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="处理方式">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="LimitedDate" DataField="LimitedDate" FieldType="Date"
Renderer="Date" RendererArgument="yyyy-MM-dd" HeaderText="限时日期">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Suggestions" DataField="Suggestions"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="整改要求" >
</f:RenderField>
<f:RenderField Width="100px" ColumnID="StatesName" DataField="StatesName"
SortField="StatesName" FieldType="String" HeaderText="状态" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:LinkButtonField Width="50px" HeaderText="删除" ConfirmText="确定要删除此条信息吗?" ConfirmTarget="Parent" ColumnID="Del"
CommandName="del" TextAlign="Center" ToolTip="删除" Icon="Delete" Hidden="true" />
</Columns>
<Listeners>
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
</Listeners>
<PageItems>
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
</f:ToolbarSeparator>
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
</f:ToolbarText>
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
</f:DropDownList>
</PageItems>
</f:Grid>
</Items>
</f:Panel>
</Items>
</f:Panel>
<f:Window ID="Window1" Title="HSE巡检" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="900px" Height="580px">
</f:Window>
<f:Window ID="Window2" Title="违章处罚通知单" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" OnClose="Window1_Close"
Width="1024px" Height="600px">
</f:Window>
<f:Window ID="Window3" Title="检查小结" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" OnClose="Window3_Close" IsModal="true"
Width="600px" Height="300px">
</f:Window>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<%-- <f:Window ID="Window4" Title="检查打印" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1200px" Height="600px">
</f:Window>
<f:Window ID="Window5" Title="检查打印" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1200px" Height="600px">
</f:Window>--%>
<f:Menu ID="Menu1" runat="server">
<Items>
<f:MenuButton ID="btnModify" EnablePostBack="true" runat="server" Text="编辑"
OnClick="btnMenuModify_Click" Hidden="true" Icon="Pencil">
</f:MenuButton>
<f:MenuButton ID="btnRectify" EnablePostBack="true" runat="server" Text="整改"
OnClick="btnMenuRectify_Click" Hidden="true" Icon="TableEdit">
</f:MenuButton>
<f:MenuButton ID="btnConfirm" EnablePostBack="true" runat="server" Text="确认"
OnClick="btnMenuConfirm_Click" Hidden="true" Icon="Accept">
</f:MenuButton>
<f:MenuButton ID="btnMenuSee" EnablePostBack="true" runat="server" Text="查看"
OnClick="btnMenuSee_Click" Icon="Find">
</f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Icon="Delete"
ConfirmText="删除选中行?" ConfirmTarget="Parent" runat="server" Text="删除" Hidden="true">
</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,761 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProRecord : PageBase
{
#region 定义项
/// <summary>
/// GV被选择项列表
/// </summary>
public List<string> ItemSelectedList
{
get
{
return (List<string>)ViewState["ItemSelectedList"];
}
set
{
ViewState["ItemSelectedList"] = value;
}
}
#endregion
#region 项目主键
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region 加载页面
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
this.ucTree.UnitId = this.CurrUser.UnitId;
this.ucTree.ProjectId = this.ProjectId;
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
// 绑定表格
this.BindGrid();
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.panelLeftRegion.Hidden = true;
// this.Grid1.Columns[0].Hidden = true;
////权限按钮方法
this.GetButtonPower();
}
//Funs.DropDownPageSize(this.ddlPageSize);
//GetButtonPower();
this.ItemSelectedList = new List<string>();
//ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
//this.drpStates.DataValueField = "Id";
//this.drpStates.DataTextField = "Name";
//this.drpStates.DataSource = BLL.HSSE_Hazard_HazardRegisterService.GetStatesList(); ;
//this.drpStates.DataBind();
//Funs.FineUIPleaseSelect(this.drpStates);
// 绑定表格
//BindGrid();
}
}
protected void changeTree(object sender, EventArgs e)
{
this.ProjectId = this.ucTree.ProjectId;
this.BindGrid();
//if (CommonService.GetThisUnitId() == Const.CncecFccId)
//{
// this.GetButtonPower();
//}
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (!string.IsNullOrEmpty(this.ProjectId))
{
string strSql = @"SELECT a.CheckSpecialCode,(CASE WHEN a.States='2' THEN '已完成' WHEN a.States='1' THEN '待整改' ELSE '待提交' END) AS StatesName,a.CheckTime,b.* FROM Check_CheckSpecialPro
a right join View_CheckSpecialProDetail b on a.CheckSpecialId=b.CheckSpecialId WHERE 1=1 ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.ProjectId))
{
strSql += " AND a.ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
}
if (!string.IsNullOrEmpty(this.txtCheckMan.Text.Trim()))
{
strSql += " AND a.PartInPersons LIKE @CheckMan";
listStr.Add(new SqlParameter("@CheckMan", "%" + this.txtCheckMan.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtType.Text.Trim()))
{
strSql += " AND b.CheckItemName LIKE @Type";
listStr.Add(new SqlParameter("@Type", "%" + this.txtType.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtWorkAreaName.Text.Trim()))
{
strSql += " AND b.CheckAreaName LIKE @WorkAreaName";
listStr.Add(new SqlParameter("@WorkAreaName", "%" + this.txtWorkAreaName.Text.Trim() + "%"));
}
//if (this.ckType.SelectedValue != "0")
//{
// strSql += " AND CheckCycle=@CheckCycle";
// listStr.Add(new SqlParameter("@CheckCycle", this.ckType.SelectedValue));
//}
if (!string.IsNullOrEmpty(this.txtResponsibilityUnitName.Text.Trim()))
{
strSql += " AND ResponsibilityUnitName LIKE @ResponsibilityUnitName";
listStr.Add(new SqlParameter("@ResponsibilityUnitName", "%" + this.txtResponsibilityUnitName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(txtStartTime.Text.Trim()))
{
strSql += " AND CheckTime >= @StartTime";
listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text.Trim()))
{
strSql += " AND CheckTime <= @EndTime";
listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(txtStartRectificationTime.Text.Trim()))
{
strSql += " AND RectificationTime >= @StartRectificationTime";
listStr.Add(new SqlParameter("@StartRectificationTime", this.txtStartRectificationTime.Text.Trim()));
}
if (!string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim()))
{
strSql += " AND RectificationTime <= @EndRectificationTime";
listStr.Add(new SqlParameter("@EndRectificationTime", this.txtEndRectificationTime.Text.Trim()));
}
if (this.drpStates.SelectedValue != BLL.Const._Null)
{
strSql += " AND a.States LIKE @States";
listStr.Add(new SqlParameter("@States", "%" + this.drpStates.SelectedValue + "%"));
}
if (!CommonService.IsMainUnitOrAdmin(this.CurrUser.UserId))
{
strSql += " AND (UnitId = @ResponsibleUnit OR ProposeUnitId =@SendUnitId)";
listStr.Add(new SqlParameter("@ResponsibleUnit", this.CurrUser.UnitId));
listStr.Add(new SqlParameter("@SendUnitId", this.CurrUser.UnitId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
}
#endregion
#region 表排序、分页、关闭窗口
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 关闭弹出窗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region Grid双击事件
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuSee_Click(null, null);
}
#endregion
#region 查看
/// <summary>
/// 查看按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuSee_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string RegistrationId = Grid1.SelectedRowID;
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByCheckItemDetailId(RegistrationId);
if (registration != null)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HiddenInspection/HiddenRectificationView.aspx?HazardRegisterId={0}", registration.HazardRegisterId, "查看 - ")));
}
}
#endregion
#region 编辑
/// <summary>
/// 编辑按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string RegistrationId = Grid1.SelectedRowID;
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId);
if (registration != null)
{
if (registration.States == Const.State_1) //待整改
{
if (registration.CheckManId == this.CurrUser.UserId) //当前人是检查人,可以在整改前继续编辑
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationAdd.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - ")));
}
else
{
Alert.ShowInTop("您不是记录检查人,无法编辑!", MessageBoxIcon.Warning);
return;
}
}
else if (registration.States == Const.State_2) //已整改待确认
{
if (registration.ResponsibleMan == this.CurrUser.UserId) //当前人是责任人,可以在确认前继续编辑
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationRectify.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - ")));
}
else
{
Alert.ShowInTop("您不是记录责任人,无法编辑!", MessageBoxIcon.Warning);
return;
}
}
else if (registration.States == Const.State_3) //已闭环
{
Alert.ShowInTop("该记录已闭环,无法编辑!", MessageBoxIcon.Warning);
return;
}
}
}
#endregion
#region 整改
/// <summary>
/// 整改按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuRectify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string RegistrationId = Grid1.SelectedRowID;
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByCheckItemDetailId(RegistrationId);
if (registration != null)
{
if (registration.States == "1") //待整改
{
if (registration.ResponsibleMan == this.CurrUser.UserId) //当前人是责任人,可以进行整改操作
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HiddenInspection/HiddenRectificationRectify.aspx?HazardRegisterId={0}", registration.HazardRegisterId, "编辑 - ")));
}
else
{
Alert.ShowInTop("您不是记录责任人,无法整改!", MessageBoxIcon.Warning);
return;
}
}
else
{
Alert.ShowInTop("该记录不是待整改状态,无法进行整改操作!", MessageBoxIcon.Warning);
return;
}
}
}
#endregion
#region 确认
/// <summary>
/// 确认按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuConfirm_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string RegistrationId = Grid1.SelectedRowID;
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByCheckItemDetailId(RegistrationId);
if (registration != null)
{
if (registration.States == Const.State_2) //待确认
{
if (registration.CheckManId == this.CurrUser.UserId) //当前人是检查人,可以进行确认操作
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HiddenInspection/HiddenRectificationConfirm.aspx?HazardRegisterId={0}", registration.HazardRegisterId, "编辑 - ")));
}
else
{
Alert.ShowInTop("您不是记录检查人,无法确认!", MessageBoxIcon.Warning);
return;
}
}
else
{
Alert.ShowInTop("该记录不是待确认状态,无法进行确认操作!", MessageBoxIcon.Warning);
return;
}
}
}
#endregion
#region 编制
/// <summary>
/// 编制
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnAdd))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HiddenInspection/HiddenRectificationAdd.aspx", "登记 - ")));
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region Grid行点击事件
/// <summary>
/// Grid行点击事件
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string RegistrationId = Grid1.DataKeys[e.RowIndex][0].ToString();
Model.HSSE_Hazard_HazardRegister hazardRegister = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByCheckItemDetailId(RegistrationId);
if (e.CommandName == "IsSelected")
{
CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn("ckbIsSelected");
if (checkField.GetCheckedState(e.RowIndex))
{
if (!ItemSelectedList.Contains(RegistrationId))
{
ItemSelectedList.Add(RegistrationId);
}
}
else
{
if (ItemSelectedList.Contains(RegistrationId))
{
ItemSelectedList.Remove(RegistrationId);
}
}
}
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckSpecial&menuId={1}&edit=1&type=-1", RegistrationId, BLL.Const.ProjectCheckSpecialMenuId)));
}
if (e.CommandName == "del")
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete))
{
if (hazardRegister.States != Const.State_3 || this.CurrUser.UserId == BLL.Const.hfnbdId) //待整改
{
var getD = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId);
if (getD != null)
{
BLL.LogService.AddSys_Log(this.CurrUser, getD.HazardCode, getD.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete);
BLL.HSSE_Hazard_HazardRegisterService.DeleteHazardRegisterByHazardRegisterId(RegistrationId);
BindGrid();
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
}
else
{
Alert.ShowInTop("已闭环,无法删除!", MessageBoxIcon.Warning);
return;
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
}
#endregion
#region 删除
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete))
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
Model.HSSE_Hazard_HazardRegister hazardRegister = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(rowID);
if (hazardRegister.States == Const.State_3 || this.CurrUser.UserId == BLL.Const.hfnbdId) //待整改
{
BLL.LogService.AddSys_Log(this.CurrUser, hazardRegister.HazardCode, hazardRegister.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete);
BLL.HSSE_Hazard_HazardRegisterService.DeleteHazardRegisterByHazardRegisterId(rowID);
}
else
{
Alert.ShowInTop("已闭环,无法删除!", MessageBoxIcon.Warning);
return;
}
}
BindGrid();
ShowNotify("删除成功!", MessageBoxIcon.Success);
}
}
else
{
Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
return;
}
}
#endregion
#region 格式化字符串
/// <summary>
/// 获取整改前图片
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImageUrl(object registrationId)
{
string url = string.Empty;
if (registrationId != null)
{
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString());
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowAttachment("../../", registration.ImageUrl);
}
}
return url;
}
protected string ConvertProblemTypes(object registrationId)
{
string url = string.Empty;
if (registrationId != null)
{
if (registrationId.ToString() == "1")
{
return "日常巡检";
}
else if (registrationId.ToString() == "2")
{
return "专项检查";
}
}
return url;
}
/// <summary>
/// 获取整改前图片(放于Img中)
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImageUrlByImage(object registrationId)
{
string url = string.Empty;
if (registrationId != null)
{
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString());
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowImage(Funs.SGGLUrl, registration.ImageUrl);
}
}
return url;
}
/// <summary>
/// 获取整改后图片
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImgUrl(object registrationId)
{
string url = string.Empty;
if (registrationId != null)
{
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString());
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowAttachment("../../", registration.RectificationImageUrl);
}
}
return url;
}
/// <summary>
/// 获取整改后图片(放于Img中)
/// </summary>
/// <param name="registrationId"></param>
/// <returns></returns>
protected string ConvertImgUrlByImage(object registrationId)
{
string url = string.Empty;
if (registrationId != null)
{
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString());
if (registration != null)
{
url = BLL.UploadAttachmentService.ShowImage(Funs.SGGLUrl, registration.RectificationImageUrl);
}
}
return url;
}
#endregion
#region 导出按钮
/// 导出按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnOut_Click(object sender, EventArgs e)
{
Response.ClearContent();
string filename = Funs.GetNewFileName();
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("日常巡检" + filename, System.Text.Encoding.UTF8) + ".xls");
Response.ContentType = "application/excel";
Response.ContentEncoding = System.Text.Encoding.UTF8;
this.Grid1.PageSize = 100000;
this.BindGrid();
Response.Write(GetGridTableHtml(Grid1));
Response.End();
}
#pragma warning disable CS0108 // “HiddenRectificationList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
/// <summary>
/// 导出方法
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
private string GetGridTableHtml(Grid grid)
#pragma warning restore CS0108 // “HiddenRectificationList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。
{
StringBuilder sb = new StringBuilder();
sb.Append("<meta http-equiv=\"content-type\" content=\"application/excel; charset=UTF-8\"/>");
sb.Append("<table cellspacing=\"0\" rules=\"all\" border=\"1\" style=\"border-collapse:collapse;\">");
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "tfImageUrl1" && column.ColumnID != "tfImageUrl2" && column.ColumnID != "Punish" && column.ColumnID != "Del")
{
sb.AppendFormat("<td style=\"vnd.ms-excel.numberformat:@\" >{0}</td>", column.HeaderText);
}
}
sb.Append("</tr>");
foreach (GridRow row in grid.Rows)
{
sb.Append("<tr>");
foreach (GridColumn column in grid.Columns)
{
if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "tfImageUrl1" && column.ColumnID != "tfImageUrl2" && column.ColumnID != "Punish" && column.ColumnID != "Del")
{
string html = row.Values[column.ColumnIndex].ToString();
if (column.ColumnID == "tfPageIndex")
{
html = (row.FindControl("lblPageIndex") as AspNet.Label).Text;
}
if (column.ColumnID == "tfImageUrl")
{
html = (row.FindControl("lbtnImageUrl") as AspNet.LinkButton).Text;
}
if (column.ColumnID == "tfRectificationImageUrl")
{
html = (row.FindControl("lbtnRectificationImageUrl") as AspNet.LinkButton).Text;
}
//if (column.ColumnID == "tfCutPayment")
//{
// html = (row.FindControl("lbtnCutPayment") as AspNet.LinkButton).Text;
//}
sb.AppendFormat("<td>{0}</td>", html);
}
}
sb.Append("</tr>");
}
sb.Append("</table>");
return sb.ToString();
}
#endregion
#region 查询
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.txtStartRectificationTime.Text.Trim()) && !string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim()))
{
if (Funs.GetNewDateTime(this.txtStartRectificationTime.Text.Trim()) > Funs.GetNewDateTime(this.txtEndRectificationTime.Text.Trim()))
{
Alert.ShowInTop("开始时间不能大于结束时间!", MessageBoxIcon.Warning);
return;
}
}
this.BindGrid();
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window3_Close(object sender, WindowCloseEventArgs e)
{
//if (!string.IsNullOrEmpty(this.hdRemark.Text))
//{
string hazardRegisterIds = string.Empty;
foreach (var item in ItemSelectedList)
{
hazardRegisterIds += item + ",";
}
if (!string.IsNullOrEmpty(hazardRegisterIds))
{
hazardRegisterIds = hazardRegisterIds.Substring(0, hazardRegisterIds.LastIndexOf(","));
}
// PageContext.RegisterStartupScript(Window4.GetShowReference(String.Format("HiddenRectificationPrint.aspx?HazardRegisterIds={0}&CheckType={1}", hazardRegisterIds,"0", "查看 - ")));
this.hdRemark.Text = string.Empty;
//}
}
#region 获取按钮权限
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HSSE_HiddenRectificationListMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(Const.BtnAdd))
{
// this.btnNew.Hidden = false;
this.btnRectify.Hidden = false;
this.btnConfirm.Hidden = false;
}
if (buttonList.Contains(Const.BtnModify))
{
this.btnModify.Hidden = false;
}
if (buttonList.Contains(Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
}
}
}
#endregion
}
}
@@ -0,0 +1,359 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProRecord
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// Panel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel Panel1;
/// <summary>
/// panelLeftRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelLeftRegion;
/// <summary>
/// ContentPanel1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ContentPanel ContentPanel1;
/// <summary>
/// ucTree 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Web.Controls.UnitProjectTControl ucTree;
/// <summary>
/// panelCenterRegion 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Panel panelCenterRegion;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// txtCheckMan 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCheckMan;
/// <summary>
/// txtType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtType;
/// <summary>
/// txtWorkAreaName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtWorkAreaName;
/// <summary>
/// txtResponsibilityUnitName 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtResponsibilityUnitName;
/// <summary>
/// Toolbar2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar2;
/// <summary>
/// txtStartTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartTime;
/// <summary>
/// Label3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label3;
/// <summary>
/// txtEndTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndTime;
/// <summary>
/// txtStartRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtStartRectificationTime;
/// <summary>
/// Label1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label Label1;
/// <summary>
/// txtEndRectificationTime 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DatePicker txtEndRectificationTime;
/// <summary>
/// drpStates 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpStates;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// hdRemark 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdRemark;
/// <summary>
/// btnOut 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// labNumber 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label labNumber;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
/// <summary>
/// ToolbarText1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarText ToolbarText1;
/// <summary>
/// ddlPageSize 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList ddlPageSize;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
/// <summary>
/// Window2 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window2;
/// <summary>
/// Window3 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window3;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Menu1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Menu Menu1;
/// <summary>
/// btnModify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnModify;
/// <summary>
/// btnRectify 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnRectify;
/// <summary>
/// btnConfirm 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnConfirm;
/// <summary>
/// btnMenuSee 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuSee;
/// <summary>
/// btnMenuDelete 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuDelete;
}
}
@@ -0,0 +1,134 @@
<%@ Page Language="C#" AutoEventWireup="true" ValidateRequest="false" CodeBehind="CheckSpecialProView.aspx.cs" Inherits="FineUIPro.Web.HSSE.Check.CheckSpecialProView" %>
<%@ Register Src="~/Controls/FlowOperateControl.ascx" TagName="FlowOperateControl" TagPrefix="uc1" %>
<!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" />
<style type="text/css">
.labcenter
{
text-align: center;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<f:PageManager ID="PageManager1" AutoSizePanelID="SimpleForm1" runat="server" />
<f:Form ID="SimpleForm1" ShowBorder="false" ShowHeader="false" AutoScroll="true"
BodyPadding="10px" runat="server" RedStarPosition="BeforeText" LabelAlign="Right">
<Rows>
<f:FormRow ColumnWidths="35% 15% 30% 25%">
<Items>
<f:TextBox ID="txtCheckSpecialCode" runat="server" Label="检查编号" Readonly="true">
</f:TextBox>
<f:RadioButtonList runat="server" ID="rbType" Width="180px" Readonly="true">
<f:RadioItem Text="专项" Value="0" Selected="true" />
<f:RadioItem Text="联合" Value="1" />
</f:RadioButtonList>
<f:TextBox ID="txtSupCheckItemSet" runat="server" Label="检查类别" Readonly="true" >
</f:TextBox>
<f:TextBox ID="txtCheckDate" runat="server" Label="检查日期" Readonly="true" >
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:TextBox ID="txtPartInPersons" runat="server" Label="参检人员" Readonly="true" MaxLength="200">
</f:TextBox>
<f:TextBox ID="txtPartInPersonNames" runat="server" MaxLength="200" Readonly="true" Label="补充人员">
</f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" runat="server" ClicksToEdit="1" DataIDField="CheckSpecialDetailId"
DataKeyNames="CheckSpecialDetailId" ShowGridHeader="true" MinHeight="350px"
AllowSorting="false" SortField="SortIndex" SortDirection="ASC" OnSort="Grid1_Sort"
EnableColumnLines="true" EnableTextSelection="True" OnRowCommand="Grid1_RowCommand">
<Columns>
<f:RowNumberField EnablePagingNumber="true" HeaderText="序号" Width="50px" HeaderTextAlign="Center"
TextAlign="Center" />
<f:RenderField Width="100px" ColumnID="CheckAreaName" DataField="CheckAreaName" SortField="CheckAreaName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="单位工程">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="UnitName" DataField="UnitName" SortField="UnitName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="受检单位">
</f:RenderField>
<f:RenderField Width="100px" ColumnID="HSEManage" DataField="HSEManage" SortField="HSEManage"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="HSE经理">
</f:RenderField>
<f:RenderField Width="150px" ColumnID="Unqualified" DataField="Unqualified" SortField="Unqualified"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="问题描述" ExpandUnusedSpace="true">
</f:RenderField>
<f:TemplateField ColumnID="tfImageUrl1" Width="120px" HeaderText="问题图片" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbImageUrl1" runat="server" Text='<%# ConvertImageUrlByImage(Eval("CheckSpecialDetailId")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:RenderField Width="160px" ColumnID="CheckItemName" DataField="CheckItemName" SortField="CheckItemName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="问题类型">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="RiskLevel" DataField="RiskLevel" SortField="RiskLevel"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="风险级别">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="CompleteStatusName" DataField="CompleteStatusName" SortField="CompleteStatusName"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="处理结果">
</f:RenderField>
<f:RenderField Width="80px" ColumnID="RectifyOpinion" DataField="RectifyOpinion" SortField="RectifyOpinion"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="处理方式">
</f:RenderField>
<%-- <f:RenderField Width="80px" ColumnID="LimitedDate" DataField="LimitedDate" SortField="LimitedDate"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="级别">
</f:RenderField>--%>
<f:RenderField Width="80px" ColumnID="Suggestions" DataField="Suggestions" SortField="Suggestions"
FieldType="String" HeaderTextAlign="Center" TextAlign="Left" HeaderText="整改要求">
</f:RenderField>
<%--<f:LinkButtonField Width="140px" HeaderText="处理措施" ConfirmTarget="Parent" CommandName="click"
TextAlign="Center" DataTextField="HandleStepLink" ColumnID="HandleStepLink" /> --%>
<f:LinkButtonField Width="90px" HeaderText="问题图片" ConfirmTarget="Top" CommandName="attchUrl"
TextAlign="Center" ToolTip="上传" Text="上传" />
</Columns>
</f:Grid>
</Items>
</f:FormRow>
</Rows>
<Toolbars>
<f:Toolbar ID="Toolbar1" Position="Bottom" ToolbarAlign="Right" runat="server">
<Items>
<f:Label runat="server" ID="lbTemp"></f:Label>
<f:Button ID="btnAttachUrl" Text="附件" ToolTip="附件上传及查看" Icon="TableCell" runat="server" OnClick="btnAttachUrl_Click"
ValidateForms="SimpleForm1">
</f:Button>
<f:ToolbarFill ID="ToolbarFill1" runat="server"></f:ToolbarFill>
<f:Button ID="btnClose" EnablePostBack="false" ToolTip="关闭" runat="server" Icon="SystemClose" Text="关闭">
</f:Button>
<f:HiddenField ID="hdId" runat="server">
</f:HiddenField>
<f:HiddenField ID="hdAttachUrl" runat="server">
</f:HiddenField>
</Items>
</f:Toolbar>
</Toolbars>
</f:Form>
<f:Window ID="WindowAtt" Title="弹出窗体" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="700px"
Height="500px">
</f:Window>
<f:Window ID="Window1" Title="详细" Hidden="true" EnableIFrame="true" EnableMaximize="true"
Target="Parent" EnableResize="false" runat="server" IsModal="true"
Width="1100px" Height="500px">
</f:Window>
</form>
<script>
function onGridDataLoad(event) {
this.mergeColumns(['CheckItemType']);
}
</script>
</body>
</html>
@@ -0,0 +1,193 @@
using BLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProView : PageBase
{
#region 定义变量
/// <summary>
/// 主键
/// </summary>
public string CheckSpecialId
{
get
{
return (string)ViewState["CheckSpecialId"];
}
set
{
ViewState["CheckSpecialId"] = value;
}
}
/// <summary>
/// 定义集合
/// </summary>
private static List<Model.View_CheckSpecialProDetail> checkSpecialDetails = new List<Model.View_CheckSpecialProDetail>();
#endregion
#region 加载页面
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
hdAttachUrl.Text = string.Empty;
hdId.Text = string.Empty;
btnClose.OnClientClick = ActiveWindow.GetHideReference();
checkSpecialDetails.Clear();
this.CheckSpecialId = Request.Params["CheckSpecialId"];
var checkSpecial = BLL.Check_CheckSpecialProService.GetCheckSpecialByCheckSpecialId(this.CheckSpecialId);
if (checkSpecial != null)
{
this.txtCheckSpecialCode.Text = BLL.CodeRecordsService.ReturnCodeByDataId(this.CheckSpecialId);
if (checkSpecial.CheckTime != null)
{
this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", checkSpecial.CheckTime);
}
if (!String.IsNullOrEmpty(checkSpecial.CheckType))
{
this.rbType.SelectedValue = checkSpecial.CheckType;
}
this.txtPartInPersonNames.Text = checkSpecial.PartInPersonNames;
if (!string.IsNullOrEmpty(checkSpecial.CheckItemSetId))
{
var getCheckItem = Funs.DB.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemSetId == checkSpecial.CheckItemSetId);
this.txtSupCheckItemSet.Text = getCheckItem.CheckItemName;
}
//this.txtSupCheckItemSet.Text = Technique_CheckItemSetService.GetCheckItemSetNameById(checkSpecial.CheckItemSetId);
this.txtPartInPersons.Text = checkSpecial.PartInPersons;
checkSpecialDetails = (from x in Funs.DB.View_CheckSpecialProDetail
where x.CheckSpecialId == this.CheckSpecialId
orderby x.UnitName, x.SortIndex
select x).ToList();
}
Grid1.DataSource = checkSpecialDetails;
Grid1.DataBind();
}
}
#endregion
#region 附件上传
/// <summary>
/// 上传附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAttachUrl_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.CheckSpecialId))
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckSpecial&menuId={1}&type=-1", this.CheckSpecialId, BLL.Const.ProjectCheckSpecialMenuId)));
}
}
#endregion
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
string checkSpecialDetailId = Grid1.DataKeys[e.RowIndex][0].ToString();
if (e.CommandName == "click")
{
var detail = Check_CheckSpecialProDetailService.GetCheckSpecialDetailByCheckSpecialDetailId(Grid1.DataKeys[e.RowIndex][0].ToString());
if (detail != null)
{
List<string> getList = Funs.GetStrListByStr(detail.DataId, '|');
foreach (var item in getList)
{
List<string> getItemList = Funs.GetStrListByStr(item, ',');
if (getItemList.Count() > 1)
{
if (getItemList[0].ToString() == "1")
{
var getRe = RectifyNoticesService.GetRectifyNoticesById(getItemList[1].ToString());
if (getRe != null)
{
if (getRe.CompleteManId == this.CurrUser.UserId && (string.IsNullOrEmpty(getRe.States) || getRe.States == Const.State_0))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RectifyNoticesAdd.aspx?RectifyNoticesId={0}", getRe.RectifyNoticesId, "编辑 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("RectifyNoticesView.aspx?RectifyNoticesId={0}", getRe.RectifyNoticesId, "查看 - ")));
}
}
}
if (getItemList[0].ToString() == "2")
{
var getpu = PunishNoticeService.GetPunishNoticeById(getItemList[1].ToString());
if (getpu.CompileMan == this.CurrUser.UserId && (string.IsNullOrEmpty(getpu.PunishStates) || getpu.PunishStates == Const.State_0))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PunishNoticeEdit.aspx?PunishNoticeId={0}", getpu.PunishNoticeId, "编辑 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PunishNoticeView.aspx?PunishNoticeId={0}", getpu.PunishNoticeId, "查看 - ")));
}
}
if (getItemList[0].ToString() == "3")
{
var getpau = Check_PauseNoticeService.GetPauseNoticeByPauseNoticeId(getItemList[1].ToString());
if (getpau.CompileManId == this.CurrUser.UserId && (string.IsNullOrEmpty(getpau.PauseStates) || getpau.PauseStates == Const.State_0))
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PauseNoticeEdit.aspx?PauseNoticeId={0}", getpau.PauseNoticeId, "编辑 - ")));
}
else
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PauseNoticeView.aspx?PauseNoticeId={0}", getpau.PauseNoticeId, "查看 - ")));
}
}
}
}
}
}
if (e.CommandName == "attchUrl")
{
PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckSpecial&menuId={1}&edit=1&type=-1", checkSpecialDetailId, BLL.Const.ProjectCheckSpecialMenuId)));
}
}
protected string ConvertImageUrlByImage(object CheckSpecialDetailId)
{
string url = string.Empty;
string httpUrl = string.Empty;
var sysSet6 = (from x in Funs.DB.Sys_Set where x.SetName == "程序访问地址" select x).ToList().FirstOrDefault();
if (sysSet6 != null)
{
httpUrl = sysSet6.SetValue;
}
if (CheckSpecialDetailId != null)
{
var imhurl = BLL.AttachFileService.getFileUrl(CheckSpecialDetailId.ToString());
if (imhurl != null)
{
url = BLL.UploadAttachmentService.ShowImage(httpUrl, imhurl);
}
}
return url;
}
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
var details = (from x in Funs.DB.View_CheckSpecialProDetail
where x.CheckSpecialId == this.CheckSpecialId
select x).ToList();
Grid1.DataSource = details;
Grid1.DataBind();
}
}
}
@@ -0,0 +1,197 @@
//------------------------------------------------------------------------------
// <自动生成>
// 此代码由工具生成。
//
// 对此文件的更改可能导致不正确的行为,如果
// 重新生成代码,则所做更改将丢失。
// </自动生成>
//------------------------------------------------------------------------------
namespace FineUIPro.Web.HSSE.Check
{
public partial class CheckSpecialProView
{
/// <summary>
/// form1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// PageManager1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.PageManager PageManager1;
/// <summary>
/// SimpleForm1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Form SimpleForm1;
/// <summary>
/// txtCheckSpecialCode 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCheckSpecialCode;
/// <summary>
/// rbType 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.RadioButtonList rbType;
/// <summary>
/// txtSupCheckItemSet 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtSupCheckItemSet;
/// <summary>
/// txtCheckDate 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtCheckDate;
/// <summary>
/// txtPartInPersons 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPartInPersons;
/// <summary>
/// txtPartInPersonNames 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.TextBox txtPartInPersonNames;
/// <summary>
/// Grid1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Grid Grid1;
/// <summary>
/// lbImageUrl1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbImageUrl1;
/// <summary>
/// Toolbar1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Toolbar Toolbar1;
/// <summary>
/// lbTemp 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Label lbTemp;
/// <summary>
/// btnAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnAttachUrl;
/// <summary>
/// ToolbarFill1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.ToolbarFill ToolbarFill1;
/// <summary>
/// btnClose 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnClose;
/// <summary>
/// hdId 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdId;
/// <summary>
/// hdAttachUrl 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.HiddenField hdAttachUrl;
/// <summary>
/// WindowAtt 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window WindowAtt;
/// <summary>
/// Window1 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Window Window1;
}
}
@@ -25,6 +25,9 @@
<f:TextBox runat="server" Label="检查人" ID="txtCheckMan" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="210px" LabelWidth="80px">
</f:TextBox>
<f:DropDownList ID="drpProblemTypes" runat="server" Label="检查类型" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged"
LabelWidth="80px" LabelAlign="Right">
</f:DropDownList>
<%--<f:TextBox runat="server" Label="检查项" ID="txtType" EmptyText="输入查询条件" AutoPostBack="true"
OnTextChanged="TextBox_TextChanged" LabelAlign="right" Width="210px" LabelWidth="80px">
</f:TextBox>--%>
@@ -44,6 +47,12 @@
<f:ListItem Text="较大事故隐患" Value="较大事故隐患" />
<f:ListItem Text="重大事故隐患" Value="重大事故隐患" />
</f:DropDownList>
<f:DropDownList runat="server" EnableSimulateTree="True" LabelWidth="80px" LabelAlign="Right" Label="来源" ID="drpDataSource" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
<f:ListItem Text="-请选择-" Value="null" />
<f:ListItem Text="本单位" Value="0" />
<f:ListItem Text="总包" Value="1" />
</f:DropDownList>
</Items>
</f:Toolbar>
</Toolbars>
@@ -75,6 +84,8 @@
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
EnableAjax="false" DisableControlBeforePostBack="false">
</f:Button>
<f:Button ID="btnPull" runat="server" OnClick="btnPull_Click" ToolTip="获取" Text="获取">
</f:Button>
</Items>
</f:Toolbar>
</Toolbars>
@@ -94,7 +105,7 @@
HeaderText="检查时间" TextAlign="Center" HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="HiddenType" DataField="HiddenType"
FieldType="String" HeaderText="隐患类型" TextAlign="Center"
FieldType="String" HeaderText="隐患类型" TextAlign="Center"
HeaderTextAlign="Center">
</f:RenderField>
<f:RenderField Width="120px" ColumnID="Risk_Level" DataField="Risk_Level"
@@ -169,6 +180,14 @@
<asp:LinkButton ID="lbtnRectificationImageUrl" runat="server" Text='<%#ConvertImgUrl(Eval("HazardRegisterId")) %>'></asp:LinkButton>
</ItemTemplate>
</f:TemplateField>--%>
<f:TemplateField ColumnID="DataSource" Width="120px" HeaderText="来源" HeaderTextAlign="Center"
TextAlign="Left">
<ItemTemplate>
<asp:Label ID="lbDataSource" runat="server" Text='<%# ConvertDataSource(Eval("DataSource")) %>'></asp:Label>
</ItemTemplate>
</f:TemplateField>
<f:LinkButtonField Width="50px" HeaderText="删除" ConfirmText="确定要删除此条信息吗?" ConfirmTarget="Parent" ColumnID="Del"
CommandName="del" TextAlign="Center" ToolTip="删除" Icon="Delete" Hidden="true" />
</Columns>
@@ -55,6 +55,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
{
Type = Request.Params["Type"];
Funs.DropDownPageSize(this.ddlPageSize);
ListItem[] ProblemTypes = new ListItem[2];
ProblemTypes[0] = new ListItem("日常巡检", "1");
ProblemTypes[1] = new ListItem("专项巡检", "2");
this.drpProblemTypes.DataValueField = "Value";
this.drpProblemTypes.DataTextField = "Text";
this.drpProblemTypes.DataSource = ProblemTypes;
this.drpProblemTypes.DataBind();
Funs.FineUIPleaseSelect(this.drpProblemTypes);
GetButtonPower();
this.ItemSelectedList = new List<string>();
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
@@ -73,7 +82,8 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// </summary>
private void BindGrid()
{
string strSql = "SELECT * FROM View_Hazard_HazardRegister WHERE ProblemTypes='1' ";
//string strSql = "SELECT * FROM View_Hazard_HazardRegister WHERE ProblemTypes='1' ";
string strSql = "SELECT * FROM View_Hazard_HazardRegister ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
@@ -90,6 +100,23 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
strSql += " AND CheckManName LIKE @CheckMan";
listStr.Add(new SqlParameter("@CheckMan", "%" + this.txtCheckMan.Text.Trim() + "%"));
}
if (this.drpProblemTypes.SelectedValue != BLL.Const._Null)
{
strSql += " AND ProblemTypes = @ProblemTypes";
listStr.Add(new SqlParameter("@ProblemTypes", this.drpProblemTypes.SelectedValue));
}
if (this.drpDataSource.SelectedValue != BLL.Const._Null)
{
if (this.drpDataSource.SelectedValue == "0")
{
strSql += " AND DataSource = @DataSource";
}
else
{
strSql += " AND (DataSource = @DataSource OR DataSource is null)";
}
listStr.Add(new SqlParameter("@DataSource", this.drpDataSource.SelectedValue));
}
//if (!string.IsNullOrEmpty(this.txtType.Text.Trim()))
//{
// strSql += " AND RegisterTypesName LIKE @Type";
@@ -285,6 +312,20 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
}
#endregion
protected string ConvertDataSource(object dataSource)
{
string data = "本单位";
if (dataSource != null)
{
if (dataSource.ToString() == "1")
{
data = "总包";
}
}
return data;
}
#region 整改
/// <summary>
/// 整改按钮
@@ -292,6 +333,50 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuRectify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
string RegistrationId = Grid1.SelectedRowID;
var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId);
if (registration != null)
{
if (registration.States == "1") //待整改
{
if (registration.DataSource == "1")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationRectify.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - ")));
}
else
{
if (registration.ResponsibleMan == this.CurrUser.UserId) //当前人是责任人,可以进行整改操作
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationRectify.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - ")));
}
else
{
Alert.ShowInTop("您不是记录责任人,无法整改!", MessageBoxIcon.Warning);
return;
}
}
}
else
{
Alert.ShowInTop("该记录不是待整改状态,无法进行整改操作!", MessageBoxIcon.Warning);
return;
}
}
}
/*
/// <summary>
/// 整改按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuRectify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
@@ -321,6 +406,8 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
}
}
}
*/
#endregion
#region 确认
@@ -68,6 +68,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// </remarks>
protected global::FineUIPro.TextBox txtCheckMan;
/// <summary>
/// drpProblemTypes 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpProblemTypes;
/// <summary>
/// txtWorkAreaName 控件。
/// </summary>
@@ -104,6 +113,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// </remarks>
protected global::FineUIPro.DropDownList dpRiskLevel;
/// <summary>
/// drpDataSource 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpDataSource;
/// <summary>
/// Toolbar2 控件。
/// </summary>
@@ -203,6 +221,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// </remarks>
protected global::FineUIPro.Button btnOut;
/// <summary>
/// btnPull 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.Button btnPull;
/// <summary>
/// lblPageIndex 控件。
/// </summary>
@@ -230,6 +257,15 @@ namespace FineUIPro.Web.HSSE.HiddenInspection
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label2;
/// <summary>
/// lbDataSource 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbDataSource;
/// <summary>
/// ToolbarSeparator1 控件。
/// </summary>
@@ -128,6 +128,17 @@ namespace FineUIPro.Web.HiddenInspection
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnSave))
{
SaveData(true);
#region 推送到总包
var register = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(this.HazardRegisterId);
if (register != null)
{
if (register.DataSource == "1")
{
//推送到总包
APIHazardRegisterSyncService.pushHazardRegisterLists(this.CurrUser.LoginProjectId, register.HazardRegisterId);
}
}
#endregion
}
else
{
@@ -376,6 +376,16 @@ namespace FineUIPro.Web.HSSE.SitePerson
}
}
SaveData();
#region 推送至总包单位
var porject = BLL.ProjectService.GetProjectByProjectId(this.ProjectId);
if (!string.IsNullOrWhiteSpace(porject.SubjectUnit) && !string.IsNullOrWhiteSpace(porject.SubjectProject))
{
//项目关联了总包单位项目,保存成功后自动推送至总包单位
APIPersonSyncService.pushPersonLists(this.ProjectId, this.PersonId);
}
#endregion
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
@@ -239,6 +239,15 @@
<f:TextBox ID="txtProjPhase" runat="server" Label="控制软件项目阶段" LabelWidth="150px" MaxLength="50"></f:TextBox>
</Items>
</f:FormRow>
<f:FormRow>
<Items>
<f:DropDownList ID="drpSubjectUnit" runat="server" Label="总包单位"
EnableEdit="true" AutoPostBack="true" OnSelectedIndexChanged="drpSubjectUnit_OnSelectedIndexChanged">
</f:DropDownList>
<f:DropDownList runat="server" ID="drpSubjectProject" LabelWidth="150px" Label="项目" EnableEdit="true" AutoSelectFirstItem="false" ForceSelection="false">
</f:DropDownList>
</Items>
</f:FormRow>
</Rows>
</f:Form>
</f:ContentPanel>
@@ -71,6 +71,9 @@ namespace FineUIPro.Web.ProjectData
UserService.InitUserDropDownList(this.drpDriveManager, string.Empty, true);
UnitService.InitBranchUnitDropDownList(this.drpUnit, true, true);
GetUnitLists();//从集团获取的所有单位列表
ConstValue.InitConstValueDropDownList(this.drpProjectState2, ConstValue.GroupId_ProjectState, true);
this.drpUnit.SelectedValue = Const.UnitId_CWCEC;
if (!String.IsNullOrEmpty(this.ProjectId))
@@ -217,6 +220,15 @@ namespace FineUIPro.Web.ProjectData
{
this.txtProgress.Text = project.Progress.ToString();
}
if (!string.IsNullOrEmpty(project.SubjectUnit))
{
this.drpSubjectUnit.SelectedValue = project.SubjectUnit;
drpSubjectUnit_OnSelectedIndexChanged(sender, e);
}
if (!string.IsNullOrEmpty(project.SubjectProject))
{
this.drpSubjectProject.SelectedValue = project.SubjectProject;
}
}
}
}
@@ -273,6 +285,15 @@ namespace FineUIPro.Web.ProjectData
{
project.MasterSysId = this.drpMasterBox1.Value;
}
if (this.drpSubjectUnit.SelectedValue != BLL.Const._Null)
{
project.SubjectUnit = this.drpSubjectUnit.SelectedValue;
}
if (this.drpSubjectProject.SelectedValue != BLL.Const._Null)
{
project.SubjectProject = this.drpSubjectProject.SelectedValue;
}
//Country = this.txtCountry.Text.Trim(),
/// Province = this.drpProvince.SelectedValue,
@@ -1974,5 +1995,45 @@ namespace FineUIPro.Web.ProjectData
#endregion
#region 从集团获取的所有单位列表
/// <summary>
/// 获取集团单位列表
/// </summary>
protected void GetUnitLists()
{
var returnValue = UnitService.getUnitLists();
if (returnValue.Count > 0)
{
drpSubjectUnit.DataValueField = "BaseInfoId";
drpSubjectUnit.DataTextField = "BaseInfoName";
drpSubjectUnit.DataSource = returnValue;
drpSubjectUnit.DataBind();
Funs.FineUIPleaseSelect(drpSubjectUnit);
}
}
#endregion
#region 单位下拉框事件
/// <summary>
/// 单位下拉框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpSubjectUnit_OnSelectedIndexChanged(object sender, EventArgs e)
{
var userId = this.drpSubjectUnit.SelectedValue;
var units = BLL.UnitService.getProjectListByUnitId(userId);
if (units != null)
{
drpSubjectProject.DataValueField = "BaseInfoId";
drpSubjectProject.DataTextField = "BaseInfoName";
drpSubjectProject.DataSource = units;
drpSubjectProject.DataBind();
}
}
#endregion
}
}
@@ -482,6 +482,24 @@ namespace FineUIPro.Web.ProjectData
/// </remarks>
protected global::FineUIPro.TextBox txtProjPhase;
/// <summary>
/// drpSubjectUnit 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSubjectUnit;
/// <summary>
/// drpSubjectProject 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.DropDownList drpSubjectProject;
/// <summary>
/// ContentPanel2 控件。
/// </summary>
@@ -230,7 +230,7 @@ namespace FineUIPro.Web.SysManage
string msg = string.Empty;
bool merge = DataCleanupMergeHelper.DataCleanupMerge("Base_Unit", "Unit", unitMergeIds, unitId, ref msg);
//Model.SUBQHSEDB db = Funs.DB;
//Model.SGGLDB db = Funs.DB;
//var clist = db.DataIdMove.Where(x => x.ColumType == "Unit" && x.NewIds == unitId).ToList();
//db.DataIdMove.DeleteAllOnSubmit(clist);
//db.SubmitChanges();
@@ -420,7 +420,7 @@ namespace FineUIPro.Web.ZHGL.Information
private string AuditData()
{
string err = string.Empty;
//Model.SUBQHSEDB db = Funs.DB;
//Model.SGGLDB db = Funs.DB;
//var reports = from x in db.Information_MillionsMonthlyReport
// where x.FillingDate < DateTime.Now
// orderby x.FillingDate descending
+3
View File
@@ -54,6 +54,9 @@
<TreeNode id="467A0CB9-737D-4451-965E-869EBC3A4BD6" Text="HSE检查" NavigateUrl=""><TreeNode id="2FC8AA2A-F421-4174-A05E-2711167AF141" Text="HSE巡检" NavigateUrl="HSSE/HiddenInspection/HiddenRectificationList.aspx?Type=0"></TreeNode>
<TreeNode id="379555F6-BECF-4E87-8F1C-73F529D260FF" Text="常规巡检" NavigateUrl="HSSE/HiddenInspection/HiddenRectificationList.aspx?Type=1"></TreeNode>
<TreeNode id="1B08048F-93ED-4E84-AE65-DB7917EA2DFB" Text="专项检查" NavigateUrl="HSSE/Check/CheckSpecial.aspx"></TreeNode>
<TreeNode id="F99F9805-E492-43BB-A2C4-5211AEA8F247" Text="专项检查(通用)" NavigateUrl=""><TreeNode id="B1FF9501-E66B-4251-8A1D-159B8B10DD64" Text="专项检查" NavigateUrl="HSSE/Check/CheckSpecialPro.aspx"></TreeNode>
<TreeNode id="26A79DAB-F264-4720-8F30-D25AE40BE0F9" Text="专项检查记录" NavigateUrl="HSSE/Check/CheckSpecialProRecord.aspx"></TreeNode>
</TreeNode>
<TreeNode id="C198EBA8-9E23-4654-92E1-09C61105C522" Text="综合检查" NavigateUrl="HSSE/Check/CheckColligation.aspx"></TreeNode>
<TreeNode id="355265DE-901A-4110-B934-B4DA067C4334" Text="领导带班检查" NavigateUrl="HSSE/Check/ProjectLeaderCheck.aspx"></TreeNode>
<TreeNode id="9212291A-FBC5-4F6D-A5F6-60BFF4E30F6F" Text="开工前检查" NavigateUrl="HSSE/Check/CheckWork.aspx"></TreeNode>
@@ -0,0 +1,97 @@
using System.Collections.Generic;
using System;
namespace Model
{
public class CheckSpecialSyncData
{
/// <summary>
/// 公司社会统一信用代码
/// </summary>
public string CollCropCode { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 分包单位程序访问地址
/// </summary>
public string UnitDomain { get; set; }
/// <summary>
/// 项目安全隐患数据
/// </summary>
public List<CheckSpecialSyncItem> Items { get; set; }
}
public class CheckSpecialSyncItem
{
public string CheckSpecialId { get; set; }
public string CheckSpecialCode { get; set; }
public string ProjectId { get; set; }
public string CheckPerson { get; set; }
public DateTime? CheckTime { get; set; }
public string ScanUrl { get; set; }
public string DaySummary { get; set; }
public string PartInUnits { get; set; }
public string PartInPersons { get; set; }
public string CheckAreas { get; set; }
public string States { get; set; }
public string CompileMan { get; set; }
public string CheckType { get; set; }
public string PartInPersonIds { get; set; }
public string PartInPersonNames { get; set; }
public string CheckItemSetId { get; set; }
public string CheckItemName { get; set; }
public string AttachFileId1 { get; set; }
public string ToKeyId1 { get; set; }
public string AttachSource1 { get; set; }
public string AttachUrl1 { get; set; }
public List<CheckSpecialDetailSyncItem> CheckSpecialDetails { get; set; }
}
public class CheckSpecialDetailSyncItem
{
public string CheckSpecialDetailId { get; set; }
public string CheckSpecialId { get; set; }
public string CheckItem { get; set; }
public string CheckItemName { get; set; }
public string CheckItemType { get; set; }
public string Unqualified { get; set; }
public string CheckArea { get; set; }
public string CheckAreaName { get; set; }
public string UnitId { get; set; }
public bool? CompleteStatus { get; set; }
public DateTime? LimitedDate { get; set; }
public DateTime? CompletedDate { get; set; }
public string Suggestions { get; set; }
public string HandleStep { get; set; }
public string RectifyNoticeId { get; set; }
public string CheckContent { get; set; }
public string WorkArea { get; set; }
public string DataId { get; set; }
public string DataType { get; set; }
public int? SortIndex { get; set; }
public string HiddenHazardType { get; set; }
public string HSEManage { get; set; }
public string HSEManageName { get; set; }
public string RiskLevel { get; set; }
public DateTime? LimitDate { get; set; }
public string AttachUrl { get; set; }
public string HandleWay { get; set; }
public string RectifyOpinion { get; set; }
public DateTime? RectifyDate { get; set; }
public string ReAttachUrl { get; set; }
public string State { get; set; }
public string ProposeUnitId { get; set; }
public string SaveHandleMan { get; set; }
public string AttachFileId1 { get; set; }
public string ToKeyId1 { get; set; }
public string AttachSource1 { get; set; }
public string AttachUrl1 { get; set; }
}
}
@@ -0,0 +1,89 @@
using System.Collections.Generic;
using System;
namespace Model
{
public class HazardRegisterSyncData
{
/// <summary>
/// 公司社会统一信用代码
/// </summary>
public string CollCropCode { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 分包单位程序访问地址
/// </summary>
public string UnitDomain { get; set; }
/// <summary>
/// 项目安全隐患数据
/// </summary>
public List<HazardRegisterSyncItem> Items
{
get;
set;
}
}
public class HazardRegisterSyncItem
{
public string HazardRegisterId { get; set; } // 主键
public string HazardCode { get; set; } // 隐患编码
public DateTime? RegisterDate { get; set; } // 观察日期
public string RegisterDef { get; set; } // 观察说明
public string Rectification { get; set; } // 整改措施
public string Place { get; set; } // 地点id
public string PlaceName { get; set; } // 地点名称
public string ResponsibleUnit { get; set; } // 负责方(单位)
public string Observer { get; set; } // 观察员
public DateTime? RectifiedDate { get; set; } // 整改日期
public string AttachUrl { get; set; } // 附件URL
public string ProjectId { get; set; } // 项目ID
public string States { get; set; } // 状态 1:待整改;2:已整改,待确认;3:已确认,即已闭环;4:已作废
public string IsEffective { get; set; } // 是否审核 0:待审核;1:审核通过,待整改;
public string ResponsibleMan { get; set; } // 负责人
public string ResponsibleManName { get; set; } // 负责人
public string CheckManId { get; set; } // 巡检员
public string CheckManName { get; set; } // 巡检员
public DateTime? CheckTime { get; set; } // 巡检时间
public DateTime? RectificationPeriod { get; set; } // 整改期限
public string ImageUrl { get; set; } // 整改前图片路径
public string RectificationImageUrl { get; set; } // 整改后图片路径
public DateTime? RectificationTime { get; set; } // 整改时间
public string ConfirmMan { get; set; } // 确认人
public string ConfirmManName { get; set; } // 确认人
public DateTime? ConfirmDate { get; set; } // 确认时间
public string HandleIdea { get; set; } // 整改意见
public int CutPayment { get; set; } // 扣款金额
public string ProblemTypes { get; set; } // 问题类型 0:安全;1:质量
public string RegisterTypesId { get; set; } // 巡检隐患类型id
public string RegisterTypesName { get; set; } // 巡检隐患类型名称
public string CheckCycle { get; set; } // 检查周期
public string CheckItemDetailId { get; set; } // 详细Id
public string SupCheckItemSetId { get; set; } // 上级检查项集合Id
public string CheckItemSetId { get; set; } // 检查项id
public string CheckSpecialId { get; set; } // 特殊检查项Id
public string InstallationId { get; set; } // 装置Id
public string SafeSupervisionId { get; set; } // 安全监督Id
public string ResponsibleMan2 { get; set; } // 第二责任人
public string ResponsibleMan2Name { get; set; } // 第二责任人
public bool? SafeSupervisionIsOK { get; set; } // 安全监督是否合格
public string GpsLocation { get; set; } // GPS位置
public string IsWx { get; set; } // 是否微信
public string DIC_ID { get; set; } // 质量巡检问题类型id
public string CCManIds { get; set; } // 抄送人员IDs
public string ResultType { get; set; } // 相关联单据类型
public string ResultId { get; set; } // 项关联单据ID
public string Requirements { get; set; } // 整改要求
public string Risk_Level { get; set; } // 风险等级
public string ControlId { get; set; } // 控制措施Id
public string DataSource { get; set; } // 数据来源
}
}
+118
View File
@@ -0,0 +1,118 @@
using System.Collections.Generic;
using System;
namespace Model
{
public class PersonSyncData
{
/// <summary>
/// 公司社会统一信用代码
/// </summary>
public string CollCropCode { get; set; }
/// <summary>
/// 项目id
/// </summary>
public string ProjectId { get; set; }
/// <summary>
/// 分包单位程序访问地址
/// </summary>
public string UnitDomain { get; set; }
/// <summary>
/// 项目安全隐患数据
/// </summary>
public List<PersonSyncItem> Items
{
get;
set;
}
}
public class PersonSyncItem
{
public string PersonId { get; set; }
public string CardNo { get; set; }
public string PersonName { get; set; }
public string Sex { get; set; }
public string IdentityCard { get; set; }
public string Address { get; set; }
public string ProjectId { get; set; } // 注释掉的字段
public string UnitId { get; set; } // 注释掉的字段
public string TeamGroupId { get; set; }
public string WorkAreaId { get; set; }
public string WorkPostId { get; set; }
public DateTime? InTime { get; set; }
public DateTime? OutTime { get; set; }
public string OutResult { get; set; }
public string Telephone { get; set; }
public string PositionId { get; set; } // 职务(注释掉的字段)
public string PostTitleId { get; set; } // 职称(注释掉的字段)
public string PhotoUrl { get; set; }
public bool IsUsed { get; set; }
public bool IsCardUsed { get; set; }
public int? PersonIndex { get; set; }
public string DepartId { get; set; } // 部门(注释掉的字段)
public string CertificateId { get; set; }
public string CertificateCode { get; set; }
public string CertificateName { get; set; }
public DateTime? CertificateLimitTime { get; set; }
public CertificateItem CertificateItem { get; set; }
public string QualificationCertificateUrl { get; set; }
public string TrainingCertificateUrl { get; set; }
public string QRCodeAttachUrl { get; set; }
public string Password { get; set; }
public string FromPersonId { get; set; }
public string AuditorId { get; set; } // 审核人(注释掉的字段)
public DateTime? AuditorDate { get; set; }
public DateTime? ExchangeTime { get; set; }
public DateTime? ExchangeTime2 { get; set; }
public string IDCardUrl { get; set; }
public bool? IsForeign { get; set; }
public bool? IsOutside { get; set; }
public string EduLevel { get; set; }
public string MaritalStatus { get; set; }
public string Isprint { get; set; }
public string MainCNProfessionalId { get; set; }
public string ViceCNProfessionalId { get; set; }
public DateTime? Birthday { get; set; }
public string IdcardType { get; set; }
public DateTime? IdcardStartDate { get; set; }
public DateTime? IdcardEndDate { get; set; }
public string IdcardForever { get; set; }
public string PoliticsStatus { get; set; }
public string IdcardAddress { get; set; }
public string Nation { get; set; }
public string CountryCode { get; set; }
public bool? IsSafetyMonitoring { get; set; }
public string ProvinceCode { get; set; }
public bool? IsCardNoOK { get; set; }
public string AttachUrl1 { get; set; }
public string AttachUrl2 { get; set; }
public string AttachUrl3 { get; set; }
public string AttachUrl4 { get; set; }
public string AttachUrl5 { get; set; }
public string WorkPostName { get; set; }
public string PostType { get; set; }
public bool? IsHsse { get; set; }
public bool? IsCQMS { get; set; }
public string TeamGroupName { get; set; }
public string WorkAreaName { get; set; }
}
public class CertificateItem
{
public string PersonQualityId { get; set; }
public string CertificateId { get; set; }
public string CertificateNo { get; set; }
public string CertificateName { get; set; }
public DateTime? CertificateLimitDate { get; set; }
}
}
+2005
View File
File diff suppressed because it is too large Load Diff
+3
View File
@@ -219,7 +219,10 @@
<Compile Include="CQMS\SteelItem.cs" />
<Compile Include="CQMS\UnitWork.cs" />
<Compile Include="CQMS\WelderItem.cs" />
<Compile Include="DataShare\CheckSpecialSyncData.cs" />
<Compile Include="DataShare\ClassMeetingData.cs" />
<Compile Include="DataShare\HazardRegisterSyncData.cs" />
<Compile Include="DataShare\PersonSyncData.cs" />
<Compile Include="DoorServer\AbsenceDutyItem.cs" />
<Compile Include="DoorServer\attendanceItem.cs" />
<Compile Include="DoorServer\attendanceItems.cs" />
@@ -0,0 +1,119 @@
using BLL;
using System;
using System.Linq;
using System.Web.Http;
using System.Threading.Tasks;
namespace WebAPI.Controllers
{
public class CheckSpecialSyncController : ApiController
{
#region 从分包拉取总包上的项目专项检查数据
/// <summary>
/// 从分包拉取总包上的项目专项检查数据
/// </summary>
/// <returns></returns>
public async Task<Model.ResponeData> getCheckSpecialLists()
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
responeData.data = APICheckSpecialSyncService.getCheckSpecialLists();
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 根据项目id和单位统一社会代码获取项目专项检查
/// <summary>
/// 根据项目id和单位统一社会代码获取项目专项检查
/// </summary>
/// <returns></returns>
public Model.ResponeData getCheckSpecialListByProjectIdAndCollCropCode(string projectId, string collCropCode)
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
var unit = BLL.Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == collCropCode);
responeData.data =
APICheckSpecialSyncService.GetCheckSpecialLitsByprojectIdUnitId(projectId, unit.UnitId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 分包推送项目专项检查数据到总包
/// <summary>
/// 分包推送项目专项检查数据到总包
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Model.ResponeData> pushCheckSpecialLists(string projectId, string dataId)
{
var responeData = new Model.ResponeData();
try
{
var returndata = APICheckSpecialSyncService.pushCheckSpecialLists(projectId,dataId);
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 接收保存分包单位推送到总包的项目专项检查数据
/// <summary>
/// 接收保存分包单位推送到总包的项目专项检查数据
/// </summary>
/// <param name="newItem">HSSE数据</param>
/// <returns></returns>
[HttpPost]
public async Task<Model.ResponeData> SaveCheckSpecialSyncData([FromBody] Model.CheckSpecialSyncData newItem)
{
var responeData = new Model.ResponeData();
try
{
responeData.message = await APICheckSpecialSyncService.SaveCheckSpecialSyncData(newItem);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}
@@ -0,0 +1,119 @@
using BLL;
using System;
using System.Linq;
using System.Web.Http;
using System.Threading.Tasks;
namespace WebAPI.Controllers
{
public class HazardRegisterSyncController : ApiController
{
#region 拉取项目安全检查数据
/// <summary>
/// 拉取项目安全检查数据
/// </summary>
/// <returns></returns>
public Model.ResponeData getHazardRegisterLists()
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
responeData.data = APIHazardRegisterSyncService.getHazardRegisterLists();
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 获取项目安全检查根据项目id和单位统一社会代码
/// <summary>
/// 获取所有单位
/// </summary>
/// <returns></returns>
public Model.ResponeData getHazardRegisterListByProjectIdAndCollCropCode(string projectId, string collCropCode)
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
var unit = BLL.Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == collCropCode);
responeData.data =
APIHazardRegisterSyncService.GetHazardRegisterLitsByprojectIdUnitIdPage(projectId, unit.UnitId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 推送项目安全检查数据
/// <summary>
/// 推送项目安全检查数据
/// </summary>
/// <returns></returns>
[HttpPost]
public Model.ResponeData pushHazardRegisterLists(string projectId, string dataId)
{
var responeData = new Model.ResponeData();
try
{
var returndata = APIHazardRegisterSyncService.pushHazardRegisterLists(projectId, dataId);
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 接收保存项目安全检查数据
/// <summary>
/// 接收保存项目安全检查数据
/// </summary>
/// <param name="newItem">HSSE数据</param>
/// <returns></returns>
[HttpPost]
public Model.ResponeData SaveHazardRegisterSyncData([FromBody] Model.HazardRegisterSyncData newItem)
{
var responeData = new Model.ResponeData();
try
{
responeData.message = APIHazardRegisterSyncService.SaveHazardRegisterSyncData(newItem);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}
@@ -0,0 +1,120 @@
using BLL;
using System;
using System.Linq;
using System.Web.Http;
using System.Threading.Tasks;
namespace WebAPI.Controllers
{
public class PersonSyncController : ApiController
{
#region 从分包拉取总包上的项目人员数据
/// <summary>
/// 从分包拉取总包上的项目人员数据
/// </summary>
/// <returns></returns>
public async Task<Model.ResponeData> getPersonLists()
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
responeData.data = APIPersonSyncService.getPersonLists();
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 根据项目id和单位统一社会代码获取项目人员
/// <summary>
/// 根据项目id和单位统一社会代码获取项目人员
/// </summary>
/// <returns></returns>
public Model.ResponeData getPersonListByProjectIdAndCollCropCode(string projectId, string collCropCode)
{
var responeData = new Model.ResponeData();
try
{
responeData.code = 1;
var unit = BLL.Funs.DB.Base_Unit.FirstOrDefault(x => x.CollCropCode == collCropCode);
responeData.data = APIPersonSyncService.GetPersonLitsByProjectIdAndUnitId(projectId, unit.UnitId);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 分包推送项目人员数据到总包
/// <summary>
/// 分包推送项目人员数据到总包
/// </summary>
/// <returns></returns>
[HttpPost]
public async Task<Model.ResponeData> pushPersonLists(string projectId, string dataId)
{
var responeData = new Model.ResponeData();
try
{
var returndata = APIPersonSyncService.pushPersonLists(projectId, dataId);
responeData.code = returndata.code;
responeData.message = returndata.message;
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region 接收保存分包单位推送到总包的项目人员数据
/// <summary>
/// 接收保存分包单位推送到总包的项目人员数据
/// </summary>
/// <param name="newItem">HSSE数据</param>
/// <returns></returns>
[HttpPost]
public async Task<Model.ResponeData> SavePersonSyncData([FromBody] Model.PersonSyncData newItem)
{
var responeData = new Model.ResponeData();
try
{
responeData.message = await APIPersonSyncService.SavePersonSyncData(newItem);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
}
}
@@ -106,6 +106,19 @@ namespace WebAPI.Filter
"CNCECServer*PostGetHJGLData",
"AIAlarmEvent*alarmEvent",
"SGManPower*getSGPersonWarningStatistics",
"MeetingSync*ReceiveSaveProjectClassMeetingData",
"PersonSync*getPersonLists"
,"PersonSync*pushPersonLists"
,"HazardRegisterSync*getHazardRegisterLists"
,"HazardRegisterSync*pushHazardRegisterLists"
,"CheckSpecialSync*getCheckSpecialLists"
,"CheckSpecialSync*pushCheckSpecialLists"
,"HazardRegisterSync*getHazardRegisterListByProjectIdAndCollCropCode"
,"HazardRegisterSync*SaveHazardRegisterSyncData"
,"PersonSync*getPersonListByProjectIdAndCollCropCode"
,"PersonSync*SavePersonSyncData"
,"CheckSpecialSync*getCheckSpecialListByProjectIdAndCollCropCode"
,"CheckSpecialSync*SaveCheckSpecialSyncData" ,
};
/// <summary>
@@ -6,7 +6,7 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<_PublishTargetUrl>G:\发布\五环WebApi</_PublishTargetUrl>
<History>True|2026-01-24T07:12:59.9025754Z||;True|2026-01-19T14:30:45.4370000+08:00||;True|2025-12-24T19:02:35.3684081+08:00||;True|2025-12-18T09:29:13.2909255+08:00||;True|2025-11-25T10:18:00.9729814+08:00||;True|2025-11-25T10:14:14.6947178+08:00||;True|2025-11-25T10:06:29.1167142+08:00||;True|2025-11-25T09:25:18.3566779+08:00||;True|2025-11-24T16:07:37.5433070+08:00||;True|2025-11-19T19:50:54.0090859+08:00||;True|2025-11-19T19:29:28.5861506+08:00||;True|2025-11-19T19:14:02.6887533+08:00||;True|2025-11-19T19:08:28.7856694+08:00||;True|2025-11-17T14:41:29.0529618+08:00||;True|2025-11-17T12:28:22.9224307+08:00||;True|2025-11-17T11:17:50.1481769+08:00||;True|2025-11-07T14:46:56.1446809+08:00||;True|2025-11-05T09:32:06.4998794+08:00||;True|2025-11-04T16:39:28.2175670+08:00||;True|2025-11-04T16:39:02.3610432+08:00||;True|2025-11-04T15:44:06.1295264+08:00||;True|2025-10-31T16:41:11.6570385+08:00||;True|2025-10-30T15:58:05.2014433+08:00||;True|2025-10-29T16:22:27.7866967+08:00||;True|2025-10-29T11:19:32.1187038+08:00||;True|2025-10-24T15:59:19.4176668+08:00||;True|2025-10-23T10:17:32.2384443+08:00||;True|2025-10-23T10:09:35.0601937+08:00||;True|2025-10-23T09:59:27.2018799+08:00||;True|2025-09-29T15:39:36.8617347+08:00||;True|2025-09-29T11:28:10.9193152+08:00||;True|2025-09-29T10:59:58.2893583+08:00||;True|2025-09-23T16:56:39.6344263+08:00||;True|2025-09-23T16:44:57.4175593+08:00||;True|2025-09-23T16:44:35.0478492+08:00||;True|2025-09-23T16:06:50.5843534+08:00||;True|2025-09-22T20:54:35.9805610+08:00||;True|2025-09-22T20:45:58.7044128+08:00||;True|2025-09-22T20:40:46.7449595+08:00||;True|2025-09-22T15:14:22.9602725+08:00||;True|2025-09-22T15:08:27.5989706+08:00||;True|2025-09-22T14:54:19.5237685+08:00||;True|2025-09-18T09:53:17.9300539+08:00||;True|2025-09-16T19:11:12.4383069+08:00||;True|2025-09-02T11:14:00.9580707+08:00||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;True|2025-06-04T11:04:32.4212196+08:00||;</History>
<History>True|2026-02-28T01:47:26.7601751Z||;True|2026-01-24T15:12:59.9025754+08:00||;True|2026-01-19T14:30:45.4370000+08:00||;True|2025-12-24T19:02:35.3684081+08:00||;True|2025-12-18T09:29:13.2909255+08:00||;True|2025-11-25T10:18:00.9729814+08:00||;True|2025-11-25T10:14:14.6947178+08:00||;True|2025-11-25T10:06:29.1167142+08:00||;True|2025-11-25T09:25:18.3566779+08:00||;True|2025-11-24T16:07:37.5433070+08:00||;True|2025-11-19T19:50:54.0090859+08:00||;True|2025-11-19T19:29:28.5861506+08:00||;True|2025-11-19T19:14:02.6887533+08:00||;True|2025-11-19T19:08:28.7856694+08:00||;True|2025-11-17T14:41:29.0529618+08:00||;True|2025-11-17T12:28:22.9224307+08:00||;True|2025-11-17T11:17:50.1481769+08:00||;True|2025-11-07T14:46:56.1446809+08:00||;True|2025-11-05T09:32:06.4998794+08:00||;True|2025-11-04T16:39:28.2175670+08:00||;True|2025-11-04T16:39:02.3610432+08:00||;True|2025-11-04T15:44:06.1295264+08:00||;True|2025-10-31T16:41:11.6570385+08:00||;True|2025-10-30T15:58:05.2014433+08:00||;True|2025-10-29T16:22:27.7866967+08:00||;True|2025-10-29T11:19:32.1187038+08:00||;True|2025-10-24T15:59:19.4176668+08:00||;True|2025-10-23T10:17:32.2384443+08:00||;True|2025-10-23T10:09:35.0601937+08:00||;True|2025-10-23T09:59:27.2018799+08:00||;True|2025-09-29T15:39:36.8617347+08:00||;True|2025-09-29T11:28:10.9193152+08:00||;True|2025-09-29T10:59:58.2893583+08:00||;True|2025-09-23T16:56:39.6344263+08:00||;True|2025-09-23T16:44:57.4175593+08:00||;True|2025-09-23T16:44:35.0478492+08:00||;True|2025-09-23T16:06:50.5843534+08:00||;True|2025-09-22T20:54:35.9805610+08:00||;True|2025-09-22T20:45:58.7044128+08:00||;True|2025-09-22T20:40:46.7449595+08:00||;True|2025-09-22T15:14:22.9602725+08:00||;True|2025-09-22T15:08:27.5989706+08:00||;True|2025-09-22T14:54:19.5237685+08:00||;True|2025-09-18T09:53:17.9300539+08:00||;True|2025-09-16T19:11:12.4383069+08:00||;True|2025-09-02T11:14:00.9580707+08:00||;True|2025-09-02T10:52:20.0445598+08:00||;True|2025-08-29T17:56:01.6245615+08:00||;True|2025-08-29T17:55:41.2802685+08:00||;True|2025-08-09T21:27:40.2103961+08:00||;True|2025-08-06T15:31:52.1166645+08:00||;True|2025-08-04T18:56:13.9675910+08:00||;True|2025-07-23T11:12:18.0134770+08:00||;True|2025-07-23T10:36:09.9990536+08:00||;True|2025-07-23T10:35:51.8814789+08:00||;True|2025-07-21T17:46:45.4620710+08:00||;True|2025-07-21T17:40:43.9871097+08:00||;True|2025-07-21T17:29:11.9275869+08:00||;True|2025-07-21T17:05:21.7763763+08:00||;True|2025-07-18T17:55:59.4892329+08:00||;True|2025-07-18T11:08:56.2628896+08:00||;True|2025-07-18T10:53:44.2534260+08:00||;True|2025-07-18T10:27:52.6751668+08:00||;True|2025-07-18T10:03:09.1785776+08:00||;True|2025-07-18T10:02:38.1252107+08:00||;True|2025-07-17T18:19:07.5837609+08:00||;True|2025-07-17T15:40:11.9126705+08:00||;True|2025-07-11T17:54:03.0298703+08:00||;True|2025-07-11T16:19:50.3283029+08:00||;True|2025-07-11T15:49:22.5920473+08:00||;True|2025-07-02T14:39:27.0436873+08:00||;True|2025-07-02T11:18:29.1208369+08:00||;True|2025-07-01T15:52:16.6767496+08:00||;True|2025-07-01T10:14:59.0471052+08:00||;True|2025-06-28T11:40:36.0544739+08:00||;True|2025-06-27T15:10:24.4628086+08:00||;True|2025-06-27T10:31:14.8332810+08:00||;True|2025-06-27T10:13:13.3022394+08:00||;True|2025-06-26T23:51:04.1304509+08:00||;True|2025-06-26T23:34:06.4223762+08:00||;True|2025-06-26T22:42:08.9018138+08:00||;True|2025-06-26T22:16:01.8954571+08:00||;True|2025-06-26T21:19:42.2638204+08:00||;True|2025-06-25T23:22:39.7267591+08:00||;True|2025-06-25T23:19:33.2378458+08:00||;True|2025-06-25T22:18:16.2863303+08:00||;True|2025-06-25T22:10:29.2540175+08:00||;True|2025-06-25T22:00:58.5212166+08:00||;True|2025-06-25T22:00:31.2531214+08:00||;True|2025-06-25T18:33:01.5770030+08:00||;True|2025-06-25T17:47:33.7779622+08:00||;True|2025-06-25T17:40:26.9905954+08:00||;True|2025-06-20T11:24:58.4099232+08:00||;True|2025-06-19T16:42:45.2358810+08:00||;True|2025-06-16T19:28:10.6447738+08:00||;True|2025-06-12T11:00:02.3559090+08:00||;True|2025-06-12T10:40:29.0324520+08:00||;True|2025-06-04T23:24:01.0324973+08:00||;True|2025-06-04T18:39:41.7304136+08:00||;True|2025-06-04T11:23:17.3803405+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
<ItemGroup>
@@ -86,22 +86,22 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="bin/App_global.asax.compiled">
<publishTime>01/24/2026 15:12:57</publishTime>
<publishTime>02/28/2026 09:47:24</publishTime>
</File>
<File Include="bin/App_global.asax.dll">
<publishTime>01/24/2026 15:12:57</publishTime>
<publishTime>02/28/2026 09:47:24</publishTime>
</File>
<File Include="bin/Aspose.Words.dll">
<publishTime>12/06/2024 20:13:58</publishTime>
</File>
<File Include="bin/BLL.dll">
<publishTime>01/24/2026 15:12:38</publishTime>
<publishTime>02/28/2026 09:47:03</publishTime>
</File>
<File Include="bin/BLL.dll.config">
<publishTime>12/26/2024 09:46:52</publishTime>
</File>
<File Include="bin/BLL.pdb">
<publishTime>01/24/2026 15:12:38</publishTime>
<publishTime>02/28/2026 09:47:03</publishTime>
</File>
<File Include="bin/BouncyCastle.Crypto.dll">
<publishTime>12/18/2020 05:32:28</publishTime>
@@ -128,13 +128,13 @@
<publishTime>07/25/2012 19:48:56</publishTime>
</File>
<File Include="bin/Model.dll">
<publishTime>01/24/2026 15:12:32</publishTime>
<publishTime>02/28/2026 09:46:57</publishTime>
</File>
<File Include="bin/Model.pdb">
<publishTime>01/24/2026 15:12:32</publishTime>
<publishTime>02/28/2026 09:46:57</publishTime>
</File>
<File Include="bin/netstandard.dll">
<publishTime>01/14/2026 20:19:17</publishTime>
<publishTime>02/12/2026 19:18:36</publishTime>
</File>
<File Include="bin/Newtonsoft.Json.dll">
<publishTime>03/18/2021 04:03:36</publishTime>
@@ -332,7 +332,7 @@
<publishTime>04/15/2020 06:49:20</publishTime>
</File>
<File Include="bin/System.IO.Compression.dll">
<publishTime>01/14/2026 20:19:17</publishTime>
<publishTime>02/12/2026 19:18:36</publishTime>
</File>
<File Include="bin/System.Memory.dll">
<publishTime>02/19/2020 18:05:18</publishTime>
@@ -347,7 +347,7 @@
<publishTime>02/19/2020 18:05:16</publishTime>
</File>
<File Include="bin/System.ValueTuple.dll">
<publishTime>01/14/2026 20:19:17</publishTime>
<publishTime>02/12/2026 19:18:36</publishTime>
</File>
<File Include="bin/System.Web.Cors.dll">
<publishTime>11/28/2018 20:58:44</publishTime>
@@ -389,13 +389,13 @@
<publishTime>02/09/2013 00:42:28</publishTime>
</File>
<File Include="bin/WebAPI.dll">
<publishTime>01/24/2026 15:12:38</publishTime>
<publishTime>02/28/2026 09:47:04</publishTime>
</File>
<File Include="bin/WebAPI.pdb">
<publishTime>01/24/2026 15:12:38</publishTime>
<publishTime>02/28/2026 09:47:04</publishTime>
</File>
<File Include="bin/WebAPI.xml">
<publishTime>01/24/2026 15:12:38</publishTime>
<publishTime>02/28/2026 09:47:04</publishTime>
</File>
<File Include="bin/WebGrease.dll">
<publishTime>01/23/2014 21:57:34</publishTime>
@@ -479,7 +479,7 @@
<publishTime>10/28/2024 14:02:50</publishTime>
</File>
<File Include="PrecompiledApp.config">
<publishTime>01/24/2026 15:12:39</publishTime>
<publishTime>02/28/2026 09:47:05</publishTime>
</File>
<File Include="Scripts/bootstrap.js">
<publishTime>10/28/2024 14:02:50</publishTime>
+3
View File
@@ -156,7 +156,10 @@
<Compile Include="Controllers\CQMS\PerformanceController.cs" />
<Compile Include="Controllers\CQMS\QualityAssuranceController.cs" />
<Compile Include="Controllers\CQMS\WBSController.cs" />
<Compile Include="Controllers\DataShare\HSSE\CheckSpecialSyncController.cs" />
<Compile Include="Controllers\DataShare\HSSE\HazardRegisterSyncController.cs" />
<Compile Include="Controllers\DataShare\HSSE\MeetingSyncController.cs" />
<Compile Include="Controllers\DataShare\HSSE\PersonSyncController.cs" />
<Compile Include="Controllers\DataSync\CNCECServerController.cs" />
<Compile Include="Controllers\DataSync\EnvironmentalController.cs" />
<Compile Include="Controllers\DoorProject\getController.cs" />
+1
View File
@@ -18,6 +18,7 @@
<WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
<WebStackScaffolding_LayoutPageFile />
<WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
<ProjectView>ShowAllFiles</ProjectView>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>