From 4e579c7a68197c548655182012d3cec92ec2e38f Mon Sep 17 00:00:00 2001 From: xiaju <1784803958@qq.com> Date: Thu, 4 Jun 2026 10:14:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E5=85=A8=E4=B8=8D=E7=AC=A6=E5=90=88?= =?UTF-8?q?=E9=A1=B9=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...GGLDB_V2026-05-13-xiaj(安全不符合项清单).sql | 106 +++ SGGL/BLL/BLL.csproj | 5 +- .../SafetyProblemClassifyItemService.cs | 8 +- .../BaseInfo/SafetyProblemClassifyService.cs | 4 +- .../SafetyProblemNatureItemService.cs | 18 +- .../BaseInfo/SafetyProblemNatureService.cs | 2 +- .../Check/HSE/CheckProblemSafetyService.cs | 213 ++++++ SGGL/BLL/Common/Const.cs | 23 + SGGL/BLL/LoginService.cs | 2 - .../ProjectData/ProjectPageDataService.cs | 3 - SGGL/BLL/ProjectData/ProjectService.cs | 26 + SGGL/BLL/ProjectData/ProjectUserService.cs | 31 +- .../InterFaceService/InterFaceTaskService .cs | 4 +- SGGL/BLL/ZHGL/DataSync/CQMSDataService.cs | 3 - .../BLL/ZHGL/DataSync/HJGLData_HJGLService.cs | 2 - .../Project_HJGLData_DefectService.cs | 110 +-- .../FineUIPro.Web/Check/HSE/CheckProblem.aspx | 223 ++++++ .../Check/HSE/CheckProblem.aspx.cs | 491 ++++++++++++ .../Check/HSE/CheckProblem.aspx.designer.cs | 278 +++++++ .../Check/HSE/CheckProblemEdit.aspx | 193 +++++ .../Check/HSE/CheckProblemEdit.aspx.cs | 387 ++++++++++ .../HSE/CheckProblemEdit.aspx.designer.cs | 314 ++++++++ .../Check/HSE/CheckProblemIn.aspx | 73 ++ .../Check/HSE/CheckProblemIn.aspx.cs | 716 +++++++++++++++++ .../Check/HSE/CheckProblemIn.aspx.designer.cs | 125 +++ .../Check/HSE/CheckProblemView.aspx | 170 +++++ .../Check/HSE/CheckProblemView.aspx.cs | 134 ++++ .../HSE/CheckProblemView.aspx.designer.cs | 278 +++++++ .../DataIn/安全不符合项清单导入模板.xlsx | Bin 0 -> 24396 bytes SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 33 + SGGL/FineUIPro.Web/common/PageBase.cs | 12 +- SGGL/Model/Model.cs | 721 ++++++++++++++++++ 32 files changed, 4611 insertions(+), 97 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2026-05-13-xiaj(安全不符合项清单).sql create mode 100644 SGGL/BLL/Check/HSE/CheckProblemSafetyService.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.cs create mode 100644 SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/File/Excel/DataIn/安全不符合项清单导入模板.xlsx diff --git a/DataBase/版本日志/SGGLDB_V2026-05-13-xiaj(安全不符合项清单).sql b/DataBase/版本日志/SGGLDB_V2026-05-13-xiaj(安全不符合项清单).sql new file mode 100644 index 00000000..616e93b6 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2026-05-13-xiaj(安全不符合项清单).sql @@ -0,0 +1,106 @@ + + +delete Sys_Menu +where MenuName='HSE' and MenuId='D1B06551-1BA3-4E18-952A-58E24A6328E0' +GO + +--ȫHSE嵥 +UPDATE Sys_Menu +SET Url='Check/HSE/CheckProblem.aspx' +WHERE MenuId='664ACF2F-6750-4389-AF11-F429010FC9A7' +GO + +--ȫHSE嵥˵Ȩ +IF NOT EXISTS (SELECT * FROM Sys_ButtonToMenu WHERE MenuId = '664ACF2F-6750-4389-AF11-F429010FC9A7') +BEGIN +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'AF673368-2D45-4415-AA7C-C67882635801', N'664ACF2F-6750-4389-AF11-F429010FC9A7', N'', 1); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'AF673368-2D45-4415-AA7C-C67882635802', N'664ACF2F-6750-4389-AF11-F429010FC9A7', N'޸', 2); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'AF673368-2D45-4415-AA7C-C67882635803', N'664ACF2F-6750-4389-AF11-F429010FC9A7', N'ɾ', 3); +INSERT INTO [dbo].[Sys_ButtonToMenu] ([ButtonToMenuId], [MenuId], [ButtonName], [SortIndex]) +VALUES (N'AF673368-2D45-4415-AA7C-C67882635804', N'664ACF2F-6750-4389-AF11-F429010FC9A7', N'', 4); +END +GO + +--drop table CheckProblem_Safety + +--ȫ嵥 +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'CheckProblem_Safety') AND type = N'U') +BEGIN +CREATE TABLE [dbo].[CheckProblem_Safety]( + [CheckId] [nvarchar](50) NOT NULL, + [UnitId] [nvarchar](50) NULL, + [UnitName] [nvarchar](200) NULL, + [ProjectId] [nvarchar](50) NULL, + [ProjectName] [nvarchar](200) NULL, + [State] [int] NOT NULL, + [Address] [nvarchar](200) NULL, + [Description] [nvarchar](max) NULL, + [UnitType] [nvarchar](20) NULL, + [AssemblyName] [nvarchar](100) NULL, + --[CheckUserId] [nvarchar](50) NULL, + [CheckTeamUser] [nvarchar](500) NULL, + [CheckDate] [datetime] NOT NULL, + [LimitDate] [datetime] NULL, + [CloseTime] [datetime] NULL, + [RectificationUserId] [nvarchar](50) NULL, + [RectificationUserName] [nvarchar](100) NULL, + [PMUserId] [nvarchar](50) NULL, + [PMUserName] [nvarchar](100) NULL, + [ClassifyId] [nvarchar](50) NULL, + [ClassifyItemId] [nvarchar](50) NULL, + [NatureId] [nvarchar](50) NULL, + [NatureItemId] [nvarchar](50) NULL, + [AttachUrl] [nvarchar](1000) NULL, + [RectificationUrl] [nvarchar](1000) NULL, + [Remark] [nvarchar](50) NULL, + [CompileMan] [nvarchar](50) NULL, + [CompileManName] [nvarchar](100) NULL, + [CompileDate] [datetime] NOT NULL, + CONSTRAINT [PK_CheckProblem_Safety] PRIMARY KEY CLUSTERED +( + [CheckId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +ALTER TABLE [dbo].[CheckProblem_Safety] ADD CONSTRAINT [DF_CheckProblem_Safety_State] DEFAULT ((1)) FOR [State] +ALTER TABLE [dbo].[CheckProblem_Safety] ADD CONSTRAINT [DF_CheckProblem_Safety_CheckDate] DEFAULT (getdate()) FOR [CheckDate] +ALTER TABLE [dbo].[CheckProblem_Safety] ADD CONSTRAINT [DF_CheckProblem_Safety_CompileDate] DEFAULT (getdate()) FOR [CompileDate] + +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CheckId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ܼ쵥λId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'UnitId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ܼ쵥λ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'UnitName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ܼĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @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'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'ProjectName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'״̬0ѱջ1У' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'State' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀڵַ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'Address' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'Description' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'λͣа̡Ŀ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'UnitType' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƣа̵дְƣ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'AssemblyName' +--EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CheckUserId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'顢' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CheckTeamUser' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CheckDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ֹ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'LimitDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ջʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CloseTime' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'RectificationUserId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'RectificationUserName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĿId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'PMUserId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ŀ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'PMUserName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'ClassifyId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'ClassifyItemId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'NatureId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'NatureItemId' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ƬǰƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'AttachUrl' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ĺƬ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'RectificationUrl' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ע' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'Remark' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Id' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CompileMan' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CompileManName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ʱ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety', @level2type=N'COLUMN',@level2name=N'CompileDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ȫ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'CheckProblem_Safety' + +END + +GO + + diff --git a/SGGL/BLL/BLL.csproj b/SGGL/BLL/BLL.csproj index 02e610d7..2a2e64fa 100644 --- a/SGGL/BLL/BLL.csproj +++ b/SGGL/BLL/BLL.csproj @@ -301,6 +301,7 @@ + @@ -1206,7 +1207,9 @@ - + + + diff --git a/SGGL/BLL/BaseInfo/SafetyProblemClassifyItemService.cs b/SGGL/BLL/BaseInfo/SafetyProblemClassifyItemService.cs index c48482b5..115e1887 100644 --- a/SGGL/BLL/BaseInfo/SafetyProblemClassifyItemService.cs +++ b/SGGL/BLL/BaseInfo/SafetyProblemClassifyItemService.cs @@ -91,16 +91,16 @@ namespace BLL /// - /// 教材库下拉框 + /// 问题分类明细项下拉框 /// /// 下拉框名字 - /// 职务Id + /// 分类Id /// 是否显示请选择 - public static void InitClassifyItemDownList(FineUIPro.DropDownList dropName, string workPostId, bool isShowPlease) + public static void InitClassifyItemDownList(FineUIPro.DropDownList dropName, string classifyId, bool isShowPlease) { dropName.DataValueField = "ClassifyItemId"; dropName.DataTextField = "ClassifyItemName"; - dropName.DataSource = GetClassifyItemList(workPostId); + dropName.DataSource = GetClassifyItemList(classifyId); dropName.DataBind(); if (isShowPlease) { diff --git a/SGGL/BLL/BaseInfo/SafetyProblemClassifyService.cs b/SGGL/BLL/BaseInfo/SafetyProblemClassifyService.cs index e5b767d6..3fe57ae7 100644 --- a/SGGL/BLL/BaseInfo/SafetyProblemClassifyService.cs +++ b/SGGL/BLL/BaseInfo/SafetyProblemClassifyService.cs @@ -85,12 +85,12 @@ namespace BLL } /// - /// 类型下拉框(末级) + /// 类型下拉框 /// /// /// /// - public static void InitClassifyIsEndDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) + public static void InitClassifyDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "ClassifyId"; dropName.DataTextField = "ClassifyName"; diff --git a/SGGL/BLL/BaseInfo/SafetyProblemNatureItemService.cs b/SGGL/BLL/BaseInfo/SafetyProblemNatureItemService.cs index f2e42c37..608dd954 100644 --- a/SGGL/BLL/BaseInfo/SafetyProblemNatureItemService.cs +++ b/SGGL/BLL/BaseInfo/SafetyProblemNatureItemService.cs @@ -95,16 +95,16 @@ namespace BLL /// - /// 教材库下拉框 + /// 问题性质明细下拉框 /// /// 下拉框名字 - /// 职务Id + /// 性质Id /// 是否显示请选择 - public static void InitNatureItemDownList(FineUIPro.DropDownList dropName, string workPostId, bool isShowPlease) + public static void InitNatureItemDownList(FineUIPro.DropDownList dropName, string natureId, bool isShowPlease) { dropName.DataValueField = "NatureItemId"; - dropName.DataTextField = "NatureItemName"; - dropName.DataSource = GetNatureItemList(workPostId); + dropName.DataTextField = "NatureItemContent"; + dropName.DataSource = GetNatureItemList(natureId); dropName.DataBind(); if (isShowPlease) { @@ -115,14 +115,14 @@ namespace BLL /// /// 获取下拉项 /// - /// + /// /// - public static List GetNatureItemList(string classifyId) + public static List GetNatureItemList(string natureId) { var lst = (from x in Funs.DB.Base_SafetyProblemNatureItem orderby x.NatureItemCode select x).ToList(); - if (!string.IsNullOrWhiteSpace(classifyId)) + if (!string.IsNullOrWhiteSpace(natureId)) { - lst = lst.Where(x => x.NatureId == classifyId).ToList(); + lst = lst.Where(x => x.NatureId == natureId).ToList(); } return lst; } diff --git a/SGGL/BLL/BaseInfo/SafetyProblemNatureService.cs b/SGGL/BLL/BaseInfo/SafetyProblemNatureService.cs index 716c0635..df18c421 100644 --- a/SGGL/BLL/BaseInfo/SafetyProblemNatureService.cs +++ b/SGGL/BLL/BaseInfo/SafetyProblemNatureService.cs @@ -90,7 +90,7 @@ namespace BLL /// /// /// - public static void InitNatureIsEndDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) + public static void InitNatureDropDownList(FineUIPro.DropDownList dropName, bool isShowPlease) { dropName.DataValueField = "NatureId"; dropName.DataTextField = "NatureName"; diff --git a/SGGL/BLL/Check/HSE/CheckProblemSafetyService.cs b/SGGL/BLL/Check/HSE/CheckProblemSafetyService.cs new file mode 100644 index 00000000..78d1523d --- /dev/null +++ b/SGGL/BLL/Check/HSE/CheckProblemSafetyService.cs @@ -0,0 +1,213 @@ +using System; +using Model; +using System.Collections.Generic; +using System.Linq; + +namespace BLL +{ + /// + /// 安全不符合项清单 + /// + public static class CheckProblemSafetyService + { + #region Fields + + public static Dictionary StateMap = new Dictionary + { + { "整改中" ,(int)StateInt.整改中}, + { "已闭环" ,(int)StateInt.已闭环}, + }; + + #endregion Fields + + #region Enums + + public enum StateInt : int + { + 整改中 = 1, + 已闭环 = 0 + } + + #endregion Enums + + #region Methods + + /// + /// 根据ID获取检查记录 + /// + /// 检查记录ID + /// 检查记录 + public static Model.CheckProblem_Safety GetCheckProblemById(string checkId) + { + return Funs.DB.CheckProblem_Safety.FirstOrDefault(e => e.CheckId == checkId); + } + + /// + /// 添加检查记录 + /// + /// 检查记录 + public static void AddCheckProblem(Model.CheckProblem_Safety model) + { + using (Model.CNPCDB db = new Model.CNPCDB(Funs.ConnString)) + { + Model.CheckProblem_Safety newModel = new Model.CheckProblem_Safety + { + CheckId = model.CheckId, + UnitId = model.UnitId, + UnitName = model.UnitName, + ProjectId = model.ProjectId, + ProjectName = model.ProjectName, + State = model.State, + Address = model.Address, + Description = model.Description, + UnitType = model.UnitType, + AssemblyName = model.AssemblyName, + //CheckUserId = model.CheckUserId, + //CheckUserName = model.CheckUserName, + CheckTeamUser = model.CheckTeamUser, + CheckDate = model.CheckDate, + LimitDate = model.LimitDate, + CloseTime = model.CloseTime, + RectificationUserId = model.RectificationUserId, + RectificationUserName = model.RectificationUserName, + PMUserId = model.PMUserId, + PMUserName = model.PMUserName, + ClassifyId = model.ClassifyId, + ClassifyItemId = model.ClassifyItemId, + NatureId = model.NatureId, + NatureItemId = model.NatureItemId, + AttachUrl = model.AttachUrl, + RectificationUrl = model.RectificationUrl, + Remark = model.Remark, + CompileMan = model.CompileMan, + CompileManName = model.CompileManName, + CompileDate = DateTime.Now + }; + db.CheckProblem_Safety.InsertOnSubmit(newModel); + db.SubmitChanges(); + } + } + + /// + /// 更新检查记录 + /// + /// 检查记录 + public static void UpdateCheckProblem(Model.CheckProblem_Safety model) + { + using (Model.CNPCDB db = new Model.CNPCDB(Funs.ConnString)) + { + Model.CheckProblem_Safety newModel = db.CheckProblem_Safety.FirstOrDefault(e => e.CheckId == model.CheckId); + if (newModel != null) + { + newModel.CheckDate = model.CheckDate; + newModel.UnitId = model.UnitId; + newModel.UnitName = model.UnitName; + newModel.ProjectId = model.ProjectId; + newModel.ProjectName = model.ProjectName; + newModel.State = model.State; + newModel.Address = model.Address; + newModel.Description = model.Description; + newModel.UnitType = model.UnitType; + newModel.AssemblyName = model.AssemblyName; + //newModel.CheckUserId = model.CheckUserId; + //newModel.CheckUserName = model.CheckUserName; + newModel.CheckTeamUser = model.CheckTeamUser; + newModel.CheckDate = model.CheckDate; + newModel.LimitDate = model.LimitDate; + newModel.CloseTime = model.CloseTime; + newModel.RectificationUserId = model.RectificationUserId; + newModel.RectificationUserName = model.RectificationUserName; + newModel.PMUserId = model.PMUserId; + newModel.PMUserName = model.PMUserName; + newModel.ClassifyId = model.ClassifyId; + newModel.ClassifyItemId = model.ClassifyItemId; + newModel.NatureId = model.NatureId; + newModel.NatureItemId = model.NatureItemId; + newModel.AttachUrl = model.AttachUrl; + newModel.RectificationUrl = model.RectificationUrl; + newModel.Remark = model.Remark; + db.SubmitChanges(); + } + } + } + + public static string ConvertState(int state) + { + string result = string.Empty; + result = StateMap.First(c => c.Value == state).Key; + return result; + } + + /// + /// 删除检查记录 + /// + /// 检查记录ID + public static void DeleteCheckProblemById(string checkId) + { + using (Model.CNPCDB db = new Model.CNPCDB(Funs.ConnString)) + { + var model = db.CheckProblem_Safety.FirstOrDefault(e => e.CheckId == checkId); + if (model != null) + { + // 删除附件 + if (!string.IsNullOrEmpty(model.AttachUrl)) + { + BLL.UploadFileService.DeleteFile(Funs.RootPath, model.AttachUrl); + } + // 删除附件 + if (!string.IsNullOrEmpty(model.RectificationUrl)) + { + BLL.UploadFileService.DeleteFile(Funs.RootPath, model.RectificationUrl); + } + //// 删除编码记录 + //BLL.CodeRecordsService.DeleteCodeRecordsByDataId(checkId); + // 删除附件 + BLL.CommonService.DeleteAttachFileById(checkId); + + db.CheckProblem_Safety.DeleteOnSubmit(model); + db.SubmitChanges(); + } + } + } + + /// + /// 根据项目和时间段获取检查数量 + /// + /// 项目ID + /// 开始时间 + /// 结束时间 + /// 检查数量 + public static int GetCount(string projectId, DateTime startTime, DateTime endTime) + { + return (from x in Funs.DB.CheckProblem_Safety + where x.ProjectId == projectId && x.CheckDate >= startTime && x.CheckDate <= endTime + select x).Count(); + } + //public static int GetCount(string checkMainType) + //{ + // return (from x in Funs.DB.CheckProblem_Safety + // where x.CheckMainType == checkMainType + // select x.CheckProblemId).Count(); + //} + + + /// + /// 判断是否可以删除检查记录 + /// + /// 检查记录ID + /// true=可以删除,false=不能删除 + public static bool CanDeleteCheckProblem(string checkId) + { + var model = GetCheckProblemById(checkId); + if (model == null) + { + return false; + } + // 只有"整改中"状态可以删除,其他状态不能删除 + return model.State == (int)StateInt.整改中; + } + + + #endregion Methods + } +} diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 1697a864..ae9be174 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -1806,8 +1806,29 @@ namespace BLL public const string ProjectProjectMapMenuId = "F266456A-991F-45A3-BCD6-CF2515D71E39"; #endregion + #region 不符合项 + #region 不符合项导入模版 + + /// + /// 安全危害因素数据导入模板 + /// + public const string CheckProblemSafetyDataInTemplateUrl = "File\\Excel\\DataIn\\安全不符合项清单导入模板.xlsx"; + + #endregion + + #region 不符合项菜单 + + /// + /// HSE不符合清单 + /// + public const string SafetyCheckProblemMenuId = "664ACF2F-6750-4389-AF11-F429010FC9A7"; + + #endregion + + #region 不符合项基础字典 + /// /// 安全问题分类 /// @@ -1827,6 +1848,8 @@ namespace BLL #endregion + #endregion + #region 岗位培训 /// diff --git a/SGGL/BLL/LoginService.cs b/SGGL/BLL/LoginService.cs index 7fededfd..4a4c868c 100644 --- a/SGGL/BLL/LoginService.cs +++ b/SGGL/BLL/LoginService.cs @@ -10,8 +10,6 @@ namespace BLL public static class LoginService { - public static CNPCDB db = Funs.DB; - /// /// û¼ɹ /// diff --git a/SGGL/BLL/PZHGL/ProjectData/ProjectPageDataService.cs b/SGGL/BLL/PZHGL/ProjectData/ProjectPageDataService.cs index f47dfd62..8bef2369 100644 --- a/SGGL/BLL/PZHGL/ProjectData/ProjectPageDataService.cs +++ b/SGGL/BLL/PZHGL/ProjectData/ProjectPageDataService.cs @@ -1,14 +1,11 @@ namespace BLL { - using System.Collections.Generic; using System.Linq; using Model; using System; public static class ProjectPageDataService { - public static CNPCDB db = Funs.DB; - /// ///获取移动端首页 /// diff --git a/SGGL/BLL/ProjectData/ProjectService.cs b/SGGL/BLL/ProjectData/ProjectService.cs index d1bbc3cf..07beec47 100644 --- a/SGGL/BLL/ProjectData/ProjectService.cs +++ b/SGGL/BLL/ProjectData/ProjectService.cs @@ -202,6 +202,7 @@ select x).ToList(); return list; } + /// /// 项目属性下拉框 /// @@ -458,6 +459,31 @@ } #region 项目表下拉框 + + /// + /// 项目表下拉框 + /// + /// 下拉框名字 + /// 是否显示请选择 + public static void InitProjectDropDownList(FineUIPro.DropDownList dropName, string unitId, bool isShowPlease) + { + var IsThisUnit = CommonService.GetThisUnitId() == unitId ? true : false; + dropName.DataValueField = "ProjectId"; + dropName.DataTextField = "ProjectName"; + if (IsThisUnit) + { + dropName.DataSource = GetProjectWorkList(); + } + else + { + dropName.DataSource =GetProjectWorkList(unitId); + } + dropName.DataBind(); + if (isShowPlease) + { + Funs.FineUIPleaseSelect(dropName); + } + } /// /// 项目表下拉框 /// diff --git a/SGGL/BLL/ProjectData/ProjectUserService.cs b/SGGL/BLL/ProjectData/ProjectUserService.cs index 2d9166d8..11bf3c67 100644 --- a/SGGL/BLL/ProjectData/ProjectUserService.cs +++ b/SGGL/BLL/ProjectData/ProjectUserService.cs @@ -6,8 +6,6 @@ public static class ProjectUserService { - public static CNPCDB db = Funs.DB; - /// ///获取项目用户信息 /// @@ -59,8 +57,8 @@ UnitId = projectUser.UnitId, RoleId = projectUser.RoleId, IsPost = projectUser.IsPost, - MainCNProfessionalId=projectUser.MainCNProfessionalId, - ViceCNProfessionalId=projectUser.ViceCNProfessionalId + MainCNProfessionalId = projectUser.MainCNProfessionalId, + ViceCNProfessionalId = projectUser.ViceCNProfessionalId }; //newProjectUser.RoleName = projectUser.RoleName; db.Project_ProjectUser.InsertOnSubmit(newProjectUser); @@ -154,7 +152,7 @@ public static List GetProjectUserByUnitidAndProjectId(string ProjectId, string UnitId, string RoleId) { - var ids = Funs.DB.Project_ProjectUser.Where(e => e.ProjectId == ProjectId &&( UnitId==""|| e.UnitId == UnitId)&&(RoleId==""||e.RoleId.Contains(RoleId)) ).Select(u => u.UserId).ToList(); + var ids = Funs.DB.Project_ProjectUser.Where(e => e.ProjectId == ProjectId && (UnitId == "" || e.UnitId == UnitId) && (RoleId == "" || e.RoleId.Contains(RoleId))).Select(u => u.UserId).ToList(); return Funs.DB.Sys_User.Where(u => ids.Contains(u.UserId)).ToList(); } @@ -170,5 +168,28 @@ where x.ProjectId == ProjectId && y.IdentityCard == IdentityCard select x).FirstOrDefault(); } + + /// + /// 根据项目Id获取项目所有在岗用户 + /// + /// + /// + /// + /// + public static List GetProjectUserByProjectId(string ProjectId, string UnitId, string RoleId) + { + var pUsers = Funs.DB.Project_ProjectUser.Where(e => e.ProjectId == ProjectId && e.IsPost == true).ToList(); + if (!string.IsNullOrWhiteSpace(UnitId)) + { + pUsers = pUsers.Where(x => x.UnitId == UnitId).ToList(); + } + if (!string.IsNullOrWhiteSpace(RoleId)) + { + pUsers = pUsers.Where(x => x.RoleId == RoleId).ToList(); + } + var ids = pUsers.Select(u => u.UserId).ToList(); + return Funs.DB.Sys_User.Where(u => ids.Contains(u.UserId)).ToList(); + } + } } \ No newline at end of file diff --git a/SGGL/BLL/TaskScheduling/InterFaceService/InterFaceTaskService .cs b/SGGL/BLL/TaskScheduling/InterFaceService/InterFaceTaskService .cs index 28fe5cdf..61f786b9 100644 --- a/SGGL/BLL/TaskScheduling/InterFaceService/InterFaceTaskService .cs +++ b/SGGL/BLL/TaskScheduling/InterFaceService/InterFaceTaskService .cs @@ -124,13 +124,11 @@ namespace BLL #region 执行任务 public static void ExecuteTasks(string InterFaceTaskId) { - var model = GetInterFaceTaskById(InterFaceTaskId); var InterFaceSetlIds = model.InterFaceSetLists.Split(','); foreach (var item in InterFaceSetlIds) { ExecuteTasksByInterFaceSetlId(item); - } } /// @@ -149,7 +147,7 @@ namespace BLL if (InterfaceSetModel.IsSingleRequest == true) { var taskData = GetSingleRequestData(InterfaceSetModel.InterFaceUrl, InterfaceSetModel.RequestJsonBody, InterfaceSetModel.UrlReqMethod); - bool taskSuccess = taskData.code == 1; + bool taskSuccess = taskData != null && taskData.code == 1; InterFaceLogService.WriteInterFaceLog(InterFaceSetlId, InterfaceSetModel.RequestJsonBody, JsonConvert.SerializeObject(taskData), InterFaceLogService.Type1, taskSuccess); return; } diff --git a/SGGL/BLL/ZHGL/DataSync/CQMSDataService.cs b/SGGL/BLL/ZHGL/DataSync/CQMSDataService.cs index 714bf12d..48b10be4 100644 --- a/SGGL/BLL/ZHGL/DataSync/CQMSDataService.cs +++ b/SGGL/BLL/ZHGL/DataSync/CQMSDataService.cs @@ -1,7 +1,6 @@ using FineUIPro; using Model; using Newtonsoft.Json; -using NPOI.POIFS.Crypt.Dsig; using System; using System.Collections; using System.Collections.Generic; @@ -11,8 +10,6 @@ namespace BLL { public static class CQMSDataService { - public static CNPCDB db = Funs.DB; - #region 获取列表 /// diff --git a/SGGL/BLL/ZHGL/DataSync/HJGLData_HJGLService.cs b/SGGL/BLL/ZHGL/DataSync/HJGLData_HJGLService.cs index 6708a07c..3abc0b40 100644 --- a/SGGL/BLL/ZHGL/DataSync/HJGLData_HJGLService.cs +++ b/SGGL/BLL/ZHGL/DataSync/HJGLData_HJGLService.cs @@ -11,8 +11,6 @@ namespace BLL { public static class HJGLData_HJGLService { - public static CNPCDB db = Funs.DB; - #region 获取列表 /// diff --git a/SGGL/BLL/ZHGL/DataSync/ProjectDataSync/Project_HJGLData_DefectService.cs b/SGGL/BLL/ZHGL/DataSync/ProjectDataSync/Project_HJGLData_DefectService.cs index a44de353..cc460382 100644 --- a/SGGL/BLL/ZHGL/DataSync/ProjectDataSync/Project_HJGLData_DefectService.cs +++ b/SGGL/BLL/ZHGL/DataSync/ProjectDataSync/Project_HJGLData_DefectService.cs @@ -4,16 +4,12 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Text; using Model; namespace BLL { public static class Project_HJGLData_DefectService { - public static CNPCDB db = Funs.DB; - - #region 获取列表 /// @@ -23,6 +19,7 @@ namespace BLL public static List GetProject_HJGLData_DefectByModle(Project_HJGLData_Defect table) { + var db = Funs.DB; var q = from x in db.Project_HJGLData_Defect where (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && @@ -49,23 +46,24 @@ namespace BLL if (count == 0) return null; // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in q - select new - { - x.Id, - x.ProjectId, - x.UnitId, - x.CollCropCode, - x.UnitName, - x.ReportDate, - x.DefectName, - x.DefectNum - }; + select new + { + x.Id, + x.ProjectId, + x.UnitId, + x.CollCropCode, + x.UnitName, + x.ReportDate, + x.DefectName, + x.DefectNum + }; } #endregion public static Project_HJGLData_Defect GetProject_HJGLData_DefectById(string Id) { + var db = Funs.DB; return db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == Id); } @@ -75,17 +73,18 @@ namespace BLL /// /// /// - public static List GetProject_HJGLData_DefectByDate(DateTime? reportDate, - string projectid) + public static List GetProject_HJGLData_DefectByDate(DateTime? reportDate, string projectid) { + var db = Funs.DB; var q = from x in db.Project_HJGLData_Defect - where x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid - select x; + where x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid + select x; return q.ToList(); } public static void AddProject_HJGLData_Defect(Project_HJGLData_Defect newtable) { + var db = Funs.DB; var table = new Project_HJGLData_Defect { Id = newtable.Id, @@ -103,12 +102,14 @@ namespace BLL public static void AddBulkProject_HJGLData_Defect(List newtables) { + var db = Funs.DB; db.Project_HJGLData_Defect.InsertAllOnSubmit(newtables); db.SubmitChanges(); } public static void UpdateProject_HJGLData_Defect(Project_HJGLData_Defect newtable) { + var db = Funs.DB; var table = db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == newtable.Id); if (table != null) { @@ -126,6 +127,7 @@ namespace BLL public static void DeleteProject_HJGLData_DefectById(string Id) { + var db = Funs.DB; var table = db.Project_HJGLData_Defect.FirstOrDefault(x => x.Id == Id); if (table != null) { @@ -136,8 +138,8 @@ namespace BLL public static void DeleteProject_HJGLData_DefectByDate(DateTime? reportDate) { - var table = db.Project_HJGLData_Defect.Where(x => - x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0); + var db = Funs.DB; + var table = db.Project_HJGLData_Defect.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0); if (table != null) { db.Project_HJGLData_Defect.DeleteAllOnSubmit(table); @@ -147,8 +149,8 @@ namespace BLL public static void DeleteProject_HJGLData_DefectByDate(DateTime? reportDate, string projectid) { - var table = db.Project_HJGLData_Defect.Where(x => - x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid); + var db = Funs.DB; + var table = db.Project_HJGLData_Defect.Where(x => x.ReportDate.Value.Date.CompareTo(reportDate.Value.Date) == 0 && x.ProjectId == projectid); if (table != null) { db.Project_HJGLData_Defect.DeleteAllOnSubmit(table); @@ -162,11 +164,12 @@ namespace BLL /// public static bool IsReportByToday(string projectid, string type) { + var db = Funs.DB; var result = false; var q = (from x in Funs.DB.Project_HJGLData_Defect - where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && - x.ProjectId == projectid && x.DefectName == type - select x).ToList(); + where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && + x.ProjectId == projectid && x.DefectName == type + select x).ToList(); if (q != null && q.Count > 0) result = true; return result; } @@ -178,25 +181,27 @@ namespace BLL /// public static Project_HJGLData_Defect getTodayProject_HJGLData_Defect(string projectid, string type) { + var db = Funs.DB; var q = (from x in Funs.DB.Project_HJGLData_Defect - where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && - x.ProjectId == projectid && x.DefectName == type - select x).FirstOrDefault(); + where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date && + x.ProjectId == projectid && x.DefectName == type + select x).FirstOrDefault(); return q; } public static List getTodayProject_HJGLData_Defect() { + var db = Funs.DB; var q = (from x in Funs.DB.Project_HJGLData_Defect - where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date - group x by x.DefectName + where x.ReportDate < DateTime.Now.AddDays(1).Date && x.ReportDate >= DateTime.Now.Date + group x by x.DefectName into g - select new HJGLDataDefectItems - { - Id = SQLHelper.GetNewID(), - DefectName = g.Key, - DefectNum = g.Sum(p => p.DefectNum) - }).ToList(); + select new HJGLDataDefectItems + { + Id = SQLHelper.GetNewID(), + DefectName = g.Key, + DefectNum = g.Sum(p => p.DefectNum) + }).ToList(); return q; } @@ -214,19 +219,19 @@ namespace BLL var baseUnit = UnitService.GetUnitByUnitId(thisUnitId); var data = (from x in db.CH_CheckItem join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID - where projectids.Contains(y.ProjectId) - group x by new { x.Defects_Definition, y.ProjectId } + where projectids.Contains(y.ProjectId) + group x by new { x.Defects_Definition, y.ProjectId } into g - select new - { - UnitId = thisUnitId, - CollCropCode = baseUnit.CollCropCode, - UnitName = baseUnit.UnitName, - ProjectId = g.Key.ProjectId, - ReportDate = DateTime.Now.Date, - DefectName = g.Key.Defects_Definition, - DefectNum = g.Count(x => x.Defects_Definition == g.Key.Defects_Definition) - }).ToList(); + select new + { + UnitId = thisUnitId, + CollCropCode = baseUnit.CollCropCode, + UnitName = baseUnit.UnitName, + ProjectId = g.Key.ProjectId, + ReportDate = DateTime.Now.Date, + DefectName = g.Key.Defects_Definition, + DefectNum = g.Count(x => x.Defects_Definition == g.Key.Defects_Definition) + }).ToList(); DeleteProject_HJGLData_DefectByDate(DateTime.Now.Date); //删除当前所有 var projectHjglDataDefect = new List(); foreach (var item in data @@ -255,14 +260,15 @@ namespace BLL /// public static void StatisticalData(string projectid) { + var db = Funs.DB; var thisUnitId = string.Empty; var thisUnit = CommonService.GetIsThisUnit(); if (thisUnit != null) thisUnitId = thisUnit.UnitId; var base_Unit = UnitService.GetUnitByUnitId(thisUnitId); var list = from x in db.CH_CheckItem - join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID - where y.ProjectId == projectid - select x; + join y in db.CH_Check on x.CHT_CheckID equals y.CHT_CheckID + where y.ProjectId == projectid + select x; var types = (from x in list select x.Defects_Definition).Distinct().ToList(); foreach (var t in types) if (!string.IsNullOrEmpty(t)) diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx new file mode 100644 index 00000000..dce528ba --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx @@ -0,0 +1,223 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckProblem.aspx.cs" Inherits="FineUIPro.Web.Check.HSE.CheckProblem" %> + + + + + + + + + 安全不符合项清单 + + + +
+ + + + + + + + + + <%-- + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + + + + + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.cs new file mode 100644 index 00000000..73f6b2f9 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.cs @@ -0,0 +1,491 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.Linq; +using System.Text; +namespace FineUIPro.Web.Check.HSE +{ + public partial class CheckProblem : PageBase + { + /// + /// 项目id + /// + public string ProjectId + { + get + { + return (string)ViewState["ProjectId"]; + } + set + { + ViewState["ProjectId"] = value; + } + } + + #region 加载页面 + /// + /// 加载页面 + /// + /// + /// + 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"]; + } + //权限按钮方法 + GetButtonPower(); + InitDropDownList(); + + //Funs.FineUIPleaseSelect(this.dpState); + btnNew.OnClientClick = Window1.GetShowReference("CheckProblemEdit.aspx") + "return false;"; + ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); + + // 绑定表格 + BindGrid(); + } + } + + /// + /// 初始化下拉框 + /// + private void InitDropDownList() + { + ////受检单位 + //UnitService.InitBranchUnitDropDownList(this.drpUnit, true); + ////受检项目 + //ProjectService.InitProjectDropDownList(this.drpProject, true); + //问题分类 + SafetyProblemClassifyService.InitClassifyDropDownList(this.drpClassify, true); + //问题性质 + SafetyProblemNatureService.InitNatureDropDownList(this.drpNature, true); + } + + #endregion + + + #region 查询 + + /// + /// 查询 + /// + /// + /// + protected void TextBox_TextChanged(object sender, EventArgs e) + { + this.BindGrid(); + } + + /// + /// 绑定数据 + /// + + public void BindGrid() + { + DataTable tb = ChecklistData(); + + // 2.获取当前分页数据 + //var table = this.GetPagedDataTable(Grid1, tb1); + + Grid1.RecordCount = tb.Rows.Count; + tb = GetFilteredTable(Grid1.FilteredData, tb); + var table = this.GetPagedDataTable(Grid1, tb); + + Grid1.DataSource = table; + Grid1.DataBind(); + + for (int i = 0; i < Grid1.Rows.Count; i++) + { + var state = table.Rows[i]["State"].ToString().Trim(); + var limitDate = table.Rows[i]["LimitDate"].ToString(); + DateTime dtLimitDate = Convert.ToDateTime(limitDate); + if (Grid1.Rows[i].DataKeys[0] != null && !string.IsNullOrWhiteSpace(state) && state == "1") + { + if (dtLimitDate.AddDays(1) < DateTime.Now) //延期未整改 + { + Grid1.Rows[i].CellCssClasses[7] = "Red"; + } + else//期内未整改 + { + Grid1.Rows[i].CellCssClasses[7] = " Yellow "; + } + } + } + } + + /// + /// 数据加载 + /// + /// + protected DataTable ChecklistData() + { + StringBuilder sb = new StringBuilder(); + sb.Append("SELECT spc.ClassifyName,spcItem.ClassifyItemName,spn.NatureName,spnItem.NatureItemContent,tba.* "); + sb.Append("FROM CheckProblem_Safety AS tba WITH(NOLOCK) "); + sb.Append("LEFT JOIN Base_SafetyProblemClassify AS spc ON spc.ClassifyId=tba.ClassifyId "); + sb.Append("LEFT JOIN Base_SafetyProblemClassifyItem AS spcItem ON spcItem.ClassifyItemId=tba.ClassifyItemId "); + sb.Append("LEFT JOIN Base_SafetyProblemNature AS spn ON spn.NatureId=tba.NatureId "); + sb.Append("LEFT JOIN Base_SafetyProblemNatureItem AS spnItem ON spnItem.NatureItemId=tba.NatureItemId "); + sb.Append("WHERE 1=1 "); + + List listStr = new List(); + //listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + + if (!string.IsNullOrWhiteSpace(this.txtSearch.Text.Trim())) + { + sb.Append("AND (tba.UnitName LIKE @SearchTxt OR tba.ProjectName LIKE @SearchTxt OR tba.Description LIKE @SearchTxt OR tba.CheckTeamUser LIKE @SearchTxt) "); + listStr.Add(new SqlParameter("@SearchTxt", "%" + this.txtSearch.Text.Trim() + "%")); + } + if (!string.IsNullOrWhiteSpace(this.drpClassify.SelectedValue) && this.drpClassify.SelectedValue != Const._Null) + { + sb.Append("AND tba.ClassifyId=@ClassifyId "); + listStr.Add(new SqlParameter("@ClassifyId", this.drpClassify.SelectedValue)); + } + if (!string.IsNullOrWhiteSpace(this.drpNature.SelectedValue) && this.drpNature.SelectedValue != Const._Null) + { + sb.Append("AND tba.NatureId=@NatureId "); + listStr.Add(new SqlParameter("@NatureId", this.drpNature.SelectedValue)); + } + if (!string.IsNullOrWhiteSpace(this.rblState.SelectedValue)) + { + sb.Append("AND tba.State=@State "); + listStr.Add(new SqlParameter("@State", this.rblState.SelectedValue)); + } + if (!string.IsNullOrWhiteSpace(this.rblUnitType.SelectedValue)) + { + sb.Append("AND tba.UnitType=@UnitType "); + listStr.Add(new SqlParameter("@UnitType", this.rblUnitType.SelectedValue)); + } + string startDate = this.txtStartTime.Text.Trim(); + string endDate = this.txtEndTime.Text.Trim(); + if (!string.IsNullOrWhiteSpace(startDate)) + { + sb.Append("AND tba.CheckDate >= @StartDate "); + listStr.Add(new SqlParameter("@StartDate", startDate)); + } + if (!string.IsNullOrWhiteSpace(endDate)) + { + sb.Append("AND tba.CheckDate <= @EndDate "); + listStr.Add(new SqlParameter("@EndDate", $"{endDate} 23:59:59")); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(sb.ToString(), parameter); + return tb; + } + + #endregion + + /***整改前、后照片*** + + protected string ConvertImageUrlByImage(object registrationId) + { + string url = string.Empty; + if (registrationId != null) + { + IList sourlist = AttachFileService.GetBeforeFileList(registrationId.ToString(), BLL.Const.SafetyCheckProblemMenuId); + + if (sourlist != null&& sourlist.Count>0) + { + string AttachUrl = ""; + foreach(var item in sourlist) + { if(!string.IsNullOrEmpty(item.AttachUrl)&& item.AttachUrl.ToLower().EndsWith(".jpg")|| item.AttachUrl.ToLower().EndsWith(".jpeg")|| item.AttachUrl.ToLower().EndsWith(".png")) + AttachUrl += item.AttachUrl.TrimEnd(',')+","; + } + url = BLL.UploadAttachmentService.ShowImage(ConfigurationManager.AppSettings["CEMS_IMG_URL"], AttachUrl.TrimEnd(',')); + } + } + return url; + } + protected string ConvertImgUrlByImage(object registrationId) + { + string url = string.Empty; + if (registrationId != null) + { + IList sourlist = AttachFileService.Getfilelist(registrationId.ToString()+"r", BLL.Const.SafetyCheckProblemMenuId); + + if (sourlist != null && sourlist.Count > 0) + { + string AttachUrl = ""; + foreach (var item in sourlist) + { + if (!string.IsNullOrEmpty(item.AttachUrl) && item.AttachUrl.ToLower().EndsWith(".jpg") || item.AttachUrl.ToLower().EndsWith(".jpeg") || item.AttachUrl.ToLower().EndsWith(".png")) + AttachUrl += item.AttachUrl.TrimEnd(',') + ","; + } + url = BLL.UploadAttachmentService.ShowImage(ConfigurationManager.AppSettings["CEMS_IMG_URL"], AttachUrl.TrimEnd(',')); + } + } + return url; + } + + ******/ + + /// + /// 检查问题状态 + /// + /// + /// + public string ConvertStates(Object obj) + { + string result = "整改中"; + string state = obj.ToString(); + if (state == "0") + { + result = "已闭环"; + } + else + { //闭环 + result = "整改中"; + } + return result; + } + + + #region 过滤表头、排序、分页、关闭窗口 + /// + /// 过滤表头 + /// + /// + /// + protected void Grid1_FilterChange(object sender, EventArgs e) + { + BindGrid(); + } + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + Grid1.PageIndex = e.NewPageIndex; + BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + //Grid1.SortDirection = e.SortDirection; + //Grid1.SortField = e.SortField; + BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + #endregion + + #region 鼠标操作事件 + + /// + /// Grid行双击事件 + /// + /// + /// + protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) + { + btnMenuModify_Click(null, null); + } + + /// + /// 编辑按钮 + /// + /// + /// + protected void btnMenuModify_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + string checkId = Grid1.SelectedRowID; + var model = CheckProblemSafetyService.GetCheckProblemById(checkId); + if (model != null) + { + if (model.State == (int)CheckProblemSafetyService.StateInt.已闭环) //双击事件 已闭环 + { + Alert.ShowInTop("当前隐患已闭环,无法编辑,请右键查看!", MessageBoxIcon.Warning); + return; + } + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckProblemEdit.aspx?CheckId={0}", checkId), "编辑安全不符合项")); + return; + } + } + + /// + /// 右键删除 + /// + /// + /// + protected void btnMenuDel_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + string checkId = Grid1.SelectedRowID; + var model = CheckProblemSafetyService.GetCheckProblemById(checkId); + if (model != null) + { + if (model.State == (int)CheckProblemSafetyService.StateInt.已闭环)//双击事件 已闭环 + { + Alert.ShowInTop("当前隐患已闭环,无法删除!", MessageBoxIcon.Warning); + return; + } + else + { + BLL.CheckProblemSafetyService.DeleteCheckProblemById(checkId); + BLL.LogService.AddSys_Log(this.CurrUser, model.CheckId, model.CheckId, BLL.Const.SafetyCheckProblemMenuId, "删除HSE不符合记录"); + Grid1.DataBind(); + BindGrid(); + Alert.ShowInTop("删除数据成功!", MessageBoxIcon.Success); + } + } + } + + /// + /// 右击查看明细 + /// + /// + /// + protected void btnMenuView_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); + return; + } + string checkId = Grid1.SelectedRowID; + var model = CheckProblemSafetyService.GetCheckProblemById(checkId); + if (model != null) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckProblemView.aspx?CheckId={0}", checkId), "查看安全不符合项")); + } + } + /// + /// 查询按钮 + /// + /// + /// + protected void btnQuery_Click(object sender, EventArgs e) + { + BindGrid(); + } + /// + /// 条件重置 + /// + /// + /// + protected void btnRset_Click(object sender, EventArgs e) + { + rblUnitType.SelectedIndex = 0; + drpClassify.SelectedIndex = 0; + drpNature.SelectedIndex = 0; + rblState.SelectedIndex = 0; + txtSearch.Text = ""; + txtStartTime.Text = ""; + txtEndTime.Text = ""; + BindGrid(); + } + #endregion + + #region 获取按钮权限 + /// + /// 获取按钮权限 + /// + /// + /// + private void GetButtonPower() + { + if (Request.Params["value"] == "0") + { + return; + } + var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.SafetyCheckProblemMenuId); + if (buttonList.Count() > 0) + { + if (buttonList.Contains(BLL.Const.BtnAdd)) + { + this.btnNew.Hidden = false; + this.btnImport.Hidden = false; + } + if (buttonList.Contains(BLL.Const.BtnModify)) + { + this.btnMenuModify.Hidden = false; + } + if (buttonList.Contains(BLL.Const.BtnDelete)) + { + this.btnMenuDel.Hidden = false; + } + } + } + #endregion + + #region 导入 + + /// + /// 导入按钮 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckProblemIn.aspx"), "导入安全不符合项")); + } + + #endregion + + #region 导出 + + + /// + /// 导出 + /// + /// + /// + 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(); + } + + #endregion + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.designer.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.designer.cs new file mode 100644 index 00000000..04c27815 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblem.aspx.designer.cs @@ -0,0 +1,278 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.Check.HSE +{ + + + public partial class CheckProblem + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// txtSearch 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtSearch; + + /// + /// rblUnitType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblUnitType; + + /// + /// drpClassify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpClassify; + + /// + /// drpNature 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpNature; + + /// + /// btnRset 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnRset; + + /// + /// btnQuery 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnQuery; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtStartTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtStartTime; + + /// + /// Label5 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Label Label5; + + /// + /// txtEndTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtEndTime; + + /// + /// rblState 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblState; + + /// + /// btnNew 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnNew; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// lbState 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lbState; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuModify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuModify; + + /// + /// btnMenuView 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuView; + + /// + /// btnMenuDel 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDel; + } +} diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx new file mode 100644 index 00000000..facda7a6 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx @@ -0,0 +1,193 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckProblemEdit.aspx.cs" Inherits="FineUIPro.Web.Check.HSE.CheckProblemEdit" %> + + + + + + 安全不符合项清单 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + + + + + + + + --%> + + + + + + + + + + + + + + + + + <%-- + --%> + <%-- + --%> + + + + + + + + + + + + + + + + + + <%----%> + + diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.cs new file mode 100644 index 00000000..254e8242 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.cs @@ -0,0 +1,387 @@ +using BLL; +using Model; +using System; + +namespace FineUIPro.Web.Check.HSE +{ + public partial class CheckProblemEdit : PageBase + { + #region 公共字段 + /// + /// 主键 + /// + public string CheckId + { + get + { + return (string)ViewState["CheckId"]; + } + set + { + ViewState["CheckId"] = value; + } + } + + #endregion + + /// + /// 图片是否可以编辑 -1查看 0编辑 + /// + public int QuestionImg + { + get + { + return Convert.ToInt32(ViewState["QuestionImg"]); + } + set + { + ViewState["QuestionImg"] = value; + } + } + + /// + /// 页面初始化加载 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + CheckId = Request.Params["CheckId"]; + this.InitDropDownList(); + + var model = CheckProblemSafetyService.GetCheckProblemById(this.CheckId); + if (model != null) + { + this.drpUnit.SelectedValue = model.UnitId; + BLL.ProjectService.InitProjectDropDownList(this.drpProject, model.UnitId, true); + if (!string.IsNullOrWhiteSpace(model.ProjectId)) + { + this.drpProject.SelectedValue = model.ProjectId; + } + else if (!string.IsNullOrWhiteSpace(model.ProjectName)) + { + this.drpProject.Text = model.ProjectName; + } + this.drpClassify.SelectedValue = model.ClassifyId; + BLL.SafetyProblemClassifyItemService.InitClassifyItemDownList(this.drpClassifyItem, model.ClassifyId, true); + if (!string.IsNullOrWhiteSpace(model.ClassifyItemId)) + { + this.drpClassifyItem.SelectedValue = model.ClassifyItemId; + } + this.drpNature.SelectedValue = model.NatureId; + BLL.SafetyProblemNatureItemService.InitNatureItemDownList(this.drpNatureItem, model.NatureId, true); + if (!string.IsNullOrWhiteSpace(model.NatureItemId)) + { + this.drpNatureItem.SelectedValue = model.NatureItemId; + } + this.txtAddress.Text = model.Address; + this.rblUnitType.SelectedValue = model.UnitType; + this.txtAssemblyName.Text = model.AssemblyName; + this.txtDescription.Text = model.Description; + this.txtRemark.Text = model.Remark; + this.txtCheckTeamUser.Text = model.CheckTeamUser; + //if (!string.IsNullOrWhiteSpace(model.CheckUserId)) + //{ + // this.drpCheckUser.SelectedValue = model.CheckUserId; + //} + if (!string.IsNullOrWhiteSpace(model.RectificationUserId)) + { + this.drpRectificationUser.SelectedValue = model.RectificationUserId; + } + if (!string.IsNullOrWhiteSpace(model.PMUserId)) + { + this.drpPMUser.SelectedValue = model.PMUserId; + } + this.txtCompileManName.Text = model.CompileManName; + if (model.CheckDate != null) + { + this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", model.CheckDate); + } + if (model.LimitDate != null) + { + this.txtLimitDate.Text = string.Format("{0:yyyy-MM-dd}", model.LimitDate); + } + if (model.CloseTime != null) + { + this.txtCloseTime.Text = string.Format("{0:yyyy-MM-dd}", model.CloseTime); + } + if (model.CompileDate != null) + { + this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", model.CompileDate); + } + } + else + { + this.txtCompileManName.Text = this.CurrUser.UserName; + this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); + } + } + } + + #region 下拉数据加载 + + /// + /// 初始化下拉框 + /// + private void InitDropDownList() + { + //受检单位 + UnitService.InitBranchUnitDropDownList(this.drpUnit, false); + //受检项目 + ProjectService.InitProjectDropDownList(this.drpProject, true); + //问题分类 + SafetyProblemClassifyService.InitClassifyDropDownList(this.drpClassify, false); + //问题性质 + SafetyProblemNatureService.InitNatureDropDownList(this.drpNature, false); + } + + /// + /// 受检单位下拉触发事件 + /// + /// + /// + protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e) + { + //this.drpProject.Items.Clear(); + ////受检项目 + //BLL.ProjectService.InitProjectDropDownList(this.drpProject, this.drpUnit.SelectedValue, true); + + this.drpRectificationUser.Items.Clear(); + BLL.UserService.InitUserUnitIdDropDownList(this.drpRectificationUser, this.drpUnit.SelectedValue, true); + this.drpPMUser.Items.Clear(); + BLL.UserService.InitUserUnitIdDropDownList(this.drpPMUser, this.drpUnit.SelectedValue, true); + } + + /// + /// 受检项目下拉触发事件 + /// + /// + /// + protected void drpProject_SelectedIndexChanged(object sender, EventArgs e) + { + string proId = this.drpProject.SelectedValue; + if (!string.IsNullOrWhiteSpace(proId) && proId != Const._Null) + { + var pro = BLL.ProjectService.GetProjectByProjectId(proId); + if (pro != null) + { + this.txtAddress.Text = pro.ProjectAddress; + this.drpPMUser.Items.Clear(); + BLL.UserService.InitUserDropDownList(this.drpPMUser, proId, true); + } + } + } + + /// + /// 问题分类下拉触发事件 + /// + /// + /// + protected void drpClassify_SelectedIndexChanged(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(this.drpClassify.SelectedValue)) + { + this.drpClassifyItem.Items.Clear(); + BLL.SafetyProblemClassifyItemService.InitClassifyItemDownList(this.drpClassifyItem, this.drpClassify.SelectedValue, true); + } + } + /// + /// 问题性质下拉触发事件 + /// + /// + /// + protected void drpNature_SelectedIndexChanged(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(this.drpNature.SelectedValue)) + { + this.drpNatureItem.Items.Clear(); + BLL.SafetyProblemNatureItemService.InitNatureItemDownList(this.drpNatureItem, this.drpNature.SelectedValue, true); + } + } + + #endregion + + + #region 附件上传 + /// + /// 上传附件 + /// + /// + /// + protected void btnAttach_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/CheckProblemSafety&menuId={1}", this.CheckId, BLL.Const.SafetyCheckProblemMenuId))); + } + #endregion + + + + //protected void imgBtnFile_Click(object sender, EventArgs e) + //{ + // PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type={0}&toKeyId={1}&path=FileUpload/CheckProblemSafety&menuId={2}", QuestionImg, this.hdCheckControlCode.Text, BLL.Const.SafetyCheckProblemMenuId))); + //} + + /// + /// 保存 + /// + /// + /// + protected void btnSave_Click(object sender, EventArgs e) + { + //if (this.drpUnit.SelectedValue == BLL.Const._Null) + //{ + // Alert.ShowInTop("请选择受检单位!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.drpClassify.SelectedValue) || this.drpClassify.SelectedValue == BLL.Const._Null) + //{ + // Alert.ShowInTop("请选择问题分类!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.drpNature.SelectedValue) || this.drpNature.SelectedValue == BLL.Const._Null) + //{ + // Alert.ShowInTop("请选择问题性质!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.txtDescription.Text.Trim())) + //{ + // Alert.ShowInTop("请填写问题描述!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.txtCheckTeamUser.Text.Trim())) + //{ + // Alert.ShowInTop("请填写检查组/检查人!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.drpRectificationUser.SelectedValue) || this.drpRectificationUser.SelectedValue == BLL.Const._Null) + //{ + // Alert.ShowInTop("请选择整改人!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.drpPMUser.SelectedValue) || this.drpPMUser.SelectedValue == BLL.Const._Null) + //{ + // Alert.ShowInTop("请选择项目经理!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.txtCheckDate.Text.Trim())) + //{ + // Alert.ShowInTop("请选择检查日期!", MessageBoxIcon.Warning); + // return; + //} + //if (string.IsNullOrWhiteSpace(this.txtLimitDate.Text.Trim())) + //{ + // Alert.ShowInTop("请选择整改期限!", MessageBoxIcon.Warning); + // return; + //} + SaveData(); + + ShowNotify("保存成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + + ///// + ///// 提交 + ///// + ///// + ///// + //protected void btnSubmit_Click(object sender, EventArgs e) + //{ + // if (BLL.CommonService.GetAllButtonPowerList(CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.SafetyCheckProblemMenuId, BLL.Const.BtnSubmit)) + // { + + // if (string.IsNullOrEmpty(Request.Params["Main"])) + // { + // PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + // } + // else + // { + // PageContext.RegisterStartupScript(String.Format("window.close();")); + // } + // } + // else + // { + // Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); + // } + //} + + /// + /// 保存数据 + /// + protected void SaveData() + { + CheckProblem_Safety model = new CheckProblem_Safety(); + model.UnitId = this.drpUnit.SelectedValue; + model.UnitName = this.drpUnit.SelectedText; + string proId = this.drpProject.SelectedValue; + if (!string.IsNullOrWhiteSpace(proId) && proId != Const._Null) + { + model.ProjectId = this.drpProject.SelectedValue; + model.ProjectName = this.drpProject.SelectedText; + } + //else + //{ + // model.ProjectName = this.drpUnit.SelectedText; + //} + model.Address = this.txtAddress.Text.Trim(); + model.Description = this.txtDescription.Text.Trim(); + model.UnitType = this.rblUnitType.SelectedValue; + model.AssemblyName = this.txtAssemblyName.Text.Trim(); + model.CheckTeamUser = this.txtCheckTeamUser.Text.Trim(); + model.CheckDate = Funs.GetNewDateTimeOrNow(this.txtCheckDate.Text.Trim()); + model.LimitDate = Funs.GetNewDateTime(this.txtLimitDate.Text.Trim()); + if (!string.IsNullOrWhiteSpace(this.txtCloseTime.Text.Trim())) + { + model.CloseTime = Funs.GetNewDateTime(this.txtCloseTime.Text.Trim()); + model.State = (int)CheckProblemSafetyService.StateInt.已闭环; + } + else + { + model.State = (int)CheckProblemSafetyService.StateInt.整改中; + } + model.RectificationUserId = this.drpRectificationUser.SelectedValue; + model.RectificationUserName = this.drpRectificationUser.SelectedText; + model.PMUserId = this.drpPMUser.SelectedValue; + model.PMUserName = this.drpPMUser.SelectedText; + model.ClassifyId = this.drpClassify.SelectedValue; + string classifyItemId = this.drpClassifyItem.SelectedValue; + if (!string.IsNullOrWhiteSpace(classifyItemId) && classifyItemId != Const._Null) + { + model.ClassifyItemId = classifyItemId; + } + model.NatureId = this.drpNature.SelectedValue; + string natureItemId = this.drpNatureItem.SelectedValue; + if (!string.IsNullOrWhiteSpace(natureItemId) && natureItemId != Const._Null) + { + model.NatureItemId = natureItemId; + } + model.Remark = this.txtRemark.Text.Trim(); + if (string.IsNullOrWhiteSpace(this.CheckId)) + { + //新增 + model.CheckId = SQLHelper.GetNewID(typeof(CheckProblem_Safety)); + this.CheckId = model.CheckId; + model.CompileMan = this.CurrUser.UserId; + model.CompileManName = this.CurrUser.UserName; + model.CompileDate = DateTime.Now; + BLL.CheckProblemSafetyService.AddCheckProblem(model); + + ////增加一条编码记录 + //BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.SafetyCheckProblemMenuId, model.ProjectId, null, model.CheckId, model.CheckDate); + } + else + { + //更新 + model.CheckId = this.CheckId; + BLL.CheckProblemSafetyService.UpdateCheckProblem(model); + } + } + + + protected void WindowAtt_Close(object sender, WindowCloseEventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.designer.cs new file mode 100644 index 00000000..8103f4e9 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemEdit.aspx.designer.cs @@ -0,0 +1,314 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.Check.HSE +{ + + + public partial class CheckProblemEdit + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// drpUnit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpUnit; + + /// + /// drpProject 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpProject; + + /// + /// rblUnitType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblUnitType; + + /// + /// txtAddress 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtAddress; + + /// + /// txtAssemblyName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtAssemblyName; + + /// + /// drpClassify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpClassify; + + /// + /// drpClassifyItem 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpClassifyItem; + + /// + /// drpNature 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpNature; + + /// + /// drpNatureItem 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpNatureItem; + + /// + /// txtDescription 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtDescription; + + /// + /// txtCheckTeamUser 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtCheckTeamUser; + + /// + /// txtCheckDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCheckDate; + + /// + /// drpRectificationUser 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpRectificationUser; + + /// + /// txtLimitDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtLimitDate; + + /// + /// drpPMUser 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList drpPMUser; + + /// + /// txtCloseTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCloseTime; + + /// + /// txtCompileManName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtCompileManName; + + /// + /// txtCompileDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCompileDate; + + /// + /// txtRemark 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRemark; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnAttach 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAttach; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// btnSave 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSave; + + /// + /// hdId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdId; + + /// + /// hdAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdAttachUrl; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// WindowAtt 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window WindowAtt; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuEdit; + + /// + /// btnMenuDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDelete; + } +} diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx new file mode 100644 index 00000000..84559e9c --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx @@ -0,0 +1,73 @@ +<%@ Page Language="C#" CodeBehind="CheckProblemIn.aspx.cs" Inherits="FineUIPro.Web.Check.HSE.CheckProblemIn" %> + + + + + + + + 导入 + + +
+ + + + + + + + + + + + + + + + <%-- + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.cs new file mode 100644 index 00000000..c3d16867 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.cs @@ -0,0 +1,716 @@ +using BLL; +using Model; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.IO; +using System.Linq; + +namespace FineUIPro.Web.Check.HSE +{ + public partial class CheckProblemIn : PageBase + { + #region 定义变量 + + /// + /// 上传预设的虚拟路径 + /// + private string initPath = Const.ExcelUrl; + + + /// + /// 错误集合 + /// + public static List errorInfos = new List(); + /// + /// 问题分类 + /// + public static List classifys = new List(); + /// + /// 问题分类明细 + /// + public static List classifyItems = new List(); + /// + /// 问题性质 + /// + public static List natures = new List(); + /// + /// 问题性质明细 + /// + public static List natureItems = new List(); + + ///// + ///// 项目id + ///// + //public string ProjectId + //{ + // get + // { + // return (string)ViewState["ProjectId"]; + // } + // set + // { + // ViewState["ProjectId"] = value; + // } + //} + ///// + ///// 单位id + ///// + //public string UnitId + //{ + // get + // { + // return (string)ViewState["UnitId"]; + // } + // set + // { + // ViewState["UnitId"] = value; + // } + //} + + /// + /// 操作人 + /// + public string CompileMan + { + get + { + return (string)ViewState["CompileMan"]; + } + set + { + ViewState["CompileMan"] = value; + } + } + public string CompileManName + { + get + { + return (string)ViewState["CompileManName"]; + } + set + { + ViewState["CompileManName"] = value; + } + } + + /// + /// 导入表格列数 + /// + public static int Cols = 17; + + /// + /// 单位类型 + /// + public static List validUnitTypeStrings = new List { "承包商", "项目部" }; + /// + /// 在岗用户 + /// + public static List users = new List(); + + #endregion + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + //users = BLL.ProjectUserService.GetProjectUserByProjectId(this.ProjectId,null,null); + //获取所有在岗用户 + users = BLL.UserService.GetProjectUserListByProjectId(null); + + classifys = SafetyProblemClassifyService.GetClassify(); + classifyItems = SafetyProblemClassifyItemService.GetClassifyItemList(""); + natures = SafetyProblemNatureService.GetNature(); + natureItems = SafetyProblemNatureItemService.GetNatureItemList(""); + + this.CompileMan = this.CurrUser.UserId; + this.CompileManName = this.CurrUser.UserName; + this.hdFileName.Text = string.Empty; + if (errorInfos != null) + { + errorInfos.Clear(); + } + + //if (this.CurrUser.UserId == Const.AdminId) + //{ + // this.btnFastImport.Hidden = false; + //} + } + } + + #region 下载模板 + + /// + /// 下载模板按钮 + /// + /// + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + //这里要注意了,如果传过来的没有记录 + PageContext.RegisterStartupScript(Confirm.GetShowReference("确定下载导入模板吗?", String.Empty, + MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), + PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + /// + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.CheckProblemSafetyDataInTemplateUrl; + string filePath = Const.CheckProblemSafetyDataInTemplateUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + + #endregion + + #region 审核 + /// + /// 审核 + /// + /// + /// + protected void btnAudit_Click(object sender, EventArgs e) + { + try + { + if (this.fuAttachUrl.HasFile == false) + { + ShowNotify("请您选择Excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls" && IsXls != ".xlsx") + { + ShowNotify("只可以选择Excel文件!", MessageBoxIcon.Warning); + return; + } + if (errorInfos != null) + { + errorInfos.Clear(); + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + initPath; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + + this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls; + string filePath = initFullPath + this.hdFileName.Text; + this.fuAttachUrl.PostedFile.SaveAs(filePath); + AuditExcelAndShowResult(filePath); + } + catch (Exception ex) + { + ShowNotify("'" + ex.Message + "'", MessageBoxIcon.Warning); + } + } + + /// + /// 审核Excel并展示校验结果 + /// + private void AuditExcelAndShowResult(string fileName) + { + try + { + string msg = string.Empty; + var dt = BLL.Common.NPOIHelper.ExcelToDataSet(fileName, out msg, true); + if (dt != null) + { + //string rootPath = Server.MapPath("~/"); + //var localPath = ConfigurationManager.AppSettings["localRoot"]; + //imgDic = NPOIHelper.ExtractDispimgImagesFromXml(rootPath + initPath + this.hdFileName.Text, localPath + "FileUpload/CheckSpecial"); + ValidateExcelData(dt.Tables[0], false); + hdCheckResult.Text = "1"; + } + } + catch (Exception exc) + { + BLL.ErrLogInfo.WriteLog("", exc); + Response.Write(exc); + } + } + + /// + /// 校验Excel数据(仅校验) + /// + /// + /// true:导入;false:审核 + /// + private bool ValidateExcelData(DataTable pds, bool import) + { + int ic = pds.Columns.Count; + if (ic < Cols) + { + ShowNotify($"导入Excel格式错误!Excel只有{ic}列", MessageBoxIcon.Warning); + return false; + } + int ir = pds.Rows.Count; + if (pds == null || ir <= 0) + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + return false; + } + var errors = new List(); + for (int i = 0; i < ir; i++) + { + var (error, _) = ValidateRowAndBuildEntity(pds.Rows[i], (i + 2).ToString(), import); + if (error.Any()) { errors.AddRange(error); } + } + errorInfos.Clear(); + errorInfos.AddRange(errors); + this.gvErrorInfo.DataSource = errorInfos; + this.gvErrorInfo.DataBind(); + if (errors.Count > 0) + { + ShowNotify("存在校验错误,请查看错误列表并修正后再次导入。", MessageBoxIcon.Warning); + return false; + } + ShowNotify("审核完成,请点击导入!", MessageBoxIcon.Success); + return true; + } + + + /// + /// 校验单行并生成实体(字段顺序与新模板一致) + /// + private (List lstError, Model.CheckProblem_Safety entity) ValidateRowAndBuildEntity(DataRow row, string displayRow, bool import) + { + List lstError = new List(); + // 新模板字段顺序 + string rData0 = row[0]?.ToString().Trim(); // 受检单位 + string rData1 = row[1]?.ToString().Trim(); // 受检项目 + string rData2 = row[2]?.ToString().Trim(); // 项目所在地(省市) + string rData3 = row[3]?.ToString().Trim(); // 不符合项描述 + string rData4 = row[4]?.ToString().Trim(); // 单位类型 + string rData5 = row[5]?.ToString().Trim(); // 机组名称 + string rData6 = row[6]?.ToString().Trim(); // 提出人 + string rData7 = row[7]?.ToString().Trim(); // 提出日期 + string rData8 = row[8]?.ToString().Trim(); // 截止日期 + string rData9 = row[9]?.ToString().Trim(); // 整改人 + string rData10 = row[10]?.ToString().Trim(); // 闭合日期 + string rData11 = row[11]?.ToString().Trim(); // 项目经理 + string rData12 = row[12]?.ToString().Trim(); // 问题分类 + string rData13 = row[13]?.ToString().Trim(); // 分类明细 + string rData14 = row[14]?.ToString().Trim(); // 问题性质 + string rData15 = row[15]?.ToString().Trim(); // 性质明细 + string rData16 = row[16]?.ToString().Trim(); // 备注 + + + string UnitId = string.Empty; + string UnitName = string.Empty; + string ProjectId = null; + string ProjectName = null; + int State = 1; + string Address = string.Empty; + string Description = string.Empty; + string UnitType = string.Empty; + string AssemblyName = string.Empty; + //string CheckUserId = string.Empty; + //string CheckUserName = string.Empty; + string CheckTeamUser = string.Empty; + DateTime CheckDate = DateTime.Now; + DateTime LimitDate = DateTime.Now; + DateTime? CloseTime = null; + string RectificationUserId = string.Empty; + string RectificationUserName = string.Empty; + string PMUserId = string.Empty; + string PMUserName = string.Empty; + string ClassifyId = string.Empty; + string ClassifyItemId = string.Empty; + string NatureId = string.Empty; + string NatureItemId = string.Empty; + string Remark = string.Empty; + + // 校验并转换 + if (!string.IsNullOrWhiteSpace(rData0)) + { + var unit = BLL.UnitService.getUnitByUnitName(rData0); + if (unit != null) + { + UnitId = unit.UnitId; + UnitName = unit.UnitName; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "受检单位", Reason = $"未找到单位:{rData0};请确认单位名称是否有误!" }); + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "受检单位", Reason = "受检单位必填" }); + } + if (!string.IsNullOrWhiteSpace(rData1)) + { + var project = BLL.ProjectService.GetProjectByProjectName(rData1); + if (project != null) + { + ProjectId = project.ProjectId; + ProjectName = project.ProjectName; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "受检项目", Reason = $"未找到项目:{rData1};请确认项目名称是否有误!" }); + } + } + //else + //{ + // lstError.Add(new ErrorInfo { Row = displayRow, Column = "受检项目", Reason = "受检项目必填" }); + //} + + if (!string.IsNullOrEmpty(rData2)) + { + Address = rData2; + } + if (!string.IsNullOrEmpty(rData3)) + { + Description = rData3; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "不符合描述", Reason = "不符合描述必填!" }); + } + if (!string.IsNullOrEmpty(rData4)) + { + if (!validUnitTypeStrings.Any(x => x == rData4)) + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "单位类型", Reason = "只能是[承包商/项目部]!" }); + } + else + { + UnitType = rData4; + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "单位类型", Reason = "单位类型必选!" }); + } + if (!string.IsNullOrEmpty(rData5)) + { + AssemblyName = rData5; + } + //else + //{ + // lstError.Add(new ErrorInfo { Row = displayRow, Column = "机组名称", Reason = "机组名称必填!" }); + //} + + if (!string.IsNullOrEmpty(rData6)) + { + CheckTeamUser = rData6; + //var user = users.Where(x => x.UserName == rData6).FirstOrDefault(); + //if (user != null) + //{ + // CheckUserId = user.UserId; + // CheckUserName = rData6; + //} + //else + //{ + // lstError.Add(new ErrorInfo { Row = displayRow, Column = "提出人", Reason = $"系统不存在人员[{rData6}]!" }); + //} + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "提出人", Reason = "提出人必填!" }); + } + if (!string.IsNullOrEmpty(rData7)) + { + if (!DateTime.TryParse(rData7, out DateTime ct)) + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "提出日期", Reason = "提出日期格式错误[正确格式:yyyy-MM-dd,2026-06-01]" }); + } + else + { + CheckDate = ct; + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "提出日期", Reason = "不能为空" }); + } + if (!string.IsNullOrEmpty(rData8)) + { + if (!DateTime.TryParse(rData8, out DateTime ct)) + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "截止日期", Reason = "截止日期格式错误[正确格式:yyyy-MM-dd,2026-06-01]" }); + } + else + { + LimitDate = ct; + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "截止日期", Reason = "不能为空" }); + } + if (!string.IsNullOrEmpty(rData9)) + { + var user = users.Where(x => x.UserName == rData9).FirstOrDefault(); + if (user != null) + { + RectificationUserId = user.UserId; + RectificationUserName = rData9; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "整改人", Reason = $"系统不存在人员[{rData9}]!" }); + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "整改人", Reason = "整改人必填!" }); + } + if (!string.IsNullOrEmpty(rData10)) + { + if (!DateTime.TryParse(rData10, out DateTime ct)) + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "闭合日期", Reason = "闭合日期格式错误[正确格式:yyyy-MM-dd,2026-06-01]" }); + } + else + { + CloseTime = ct; + State = (int)CheckProblemSafetyService.StateInt.已闭环; + } + } + //else + //{ + // lstError.Add(new ErrorInfo { Row = displayRow, Column = "闭合日期", Reason = "不能为空" }); + //} + if (!string.IsNullOrEmpty(rData11)) + { + var user = users.Where(x => x.UserName == rData11).FirstOrDefault(); + if (user != null) + { + PMUserId = user.UserId; + PMUserName = rData11; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "项目经理", Reason = $"系统不存在人员[{rData11}]!" }); + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "项目经理", Reason = "项目经理必填!" }); + } + if (!string.IsNullOrEmpty(rData12)) + {//问题分类 + var classify = classifys.Where(x => x.ClassifyName == rData12).FirstOrDefault(); + if (classify != null) + { + ClassifyId = classify.ClassifyId; + if (!string.IsNullOrEmpty(rData13)) + {//问题分类明细 + var classifyItem = classifyItems.Where(x => x.ClassifyItemName == rData13).FirstOrDefault(); + if (classifyItem != null) + { + ClassifyItemId = classifyItem.ClassifyItemId; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题分类明细", Reason = $"系统不存在问题分类明细[{rData13}],请检查名称是否正确!" }); + } + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题分类", Reason = $"系统不存在问题分类[{rData12}],请检查名称是否正确!" }); + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题分类", Reason = "问题分类必填!" }); + } + if (!string.IsNullOrEmpty(rData14)) + {//问题性质 + var nature = natures.Where(x => x.NatureName == rData14).FirstOrDefault(); + if (nature != null) + { + NatureId = nature.NatureId; + if (!string.IsNullOrEmpty(rData15)) + {//问题性质明细 + var natureItem = natureItems.Where(x => x.NatureItemContent == rData15).FirstOrDefault(); + if (natureItem != null) + { + NatureItemId = natureItem.NatureItemId; + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题性质明细", Reason = $"系统不存在问题性质明细[{rData15}],请检查名称是否正确!" }); + } + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题性质", Reason = $"系统不存在问题性质[{rData14}],请检查名称是否正确!" }); + } + } + else + { + lstError.Add(new ErrorInfo { Row = displayRow, Column = "问题性质", Reason = "问题性质必填!" }); + } + if (!string.IsNullOrEmpty(rData16)) + { + Remark = rData16; + } + // 其余字段可根据实际业务映射到实体 + var entity = new Model.CheckProblem_Safety + { + CheckId = SQLHelper.GetNewID(typeof(Model.CheckProblem_Safety)), + CompileDate = DateTime.Now, + CompileMan = this.CompileMan, + CompileManName = this.CompileManName, + UnitId = UnitId, + UnitName = UnitName, + ProjectId = ProjectId, + ProjectName = ProjectName, + State = State,//状态(0:已闭环,1:整改中) + Address = Address, + Description = Description, + UnitType = UnitType, + AssemblyName = AssemblyName, + CheckTeamUser = CheckTeamUser, + CheckDate = CheckDate, + LimitDate = LimitDate, + CloseTime = CloseTime, + RectificationUserId = RectificationUserId, + RectificationUserName = RectificationUserName, + PMUserId = PMUserId, + PMUserName = PMUserName, + ClassifyId = ClassifyId, + ClassifyItemId = ClassifyItemId, + NatureId = NatureId, + NatureItemId = NatureItemId, + Remark = Remark + }; + return (lstError, entity); + } + + #endregion + + #region 导入 + + /// + /// 导入 + /// + /// + /// + protected void btnImport_Click(object sender, EventArgs e) + { + if (hdCheckResult.Text == "1") + { + if (errorInfos.Count <= 0) + { + string rootPath = Server.MapPath("~/"); + var localPath = ConfigurationManager.AppSettings["localRoot"]; + //imgDic = NPOIHelper.ExtractDispimgImagesFromXml(rootPath + initPath + this.hdFileName.Text, localPath + "FileUpload/CheckSpecial"); + ImportExcelToDatabase(rootPath + initPath + this.hdFileName.Text, true); + + hdCheckResult.Text = string.Empty; + ShowNotify("导入成功!", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + } + else + { + ShowNotify("请先将错误数据修正,再重新导入提交!", MessageBoxIcon.Warning); + } + } + else + { + ShowNotify("请先审核要导入的文件!", MessageBoxIcon.Warning); + } + } + /// + /// 导入Excel到数据库 + /// + private void ImportExcelToDatabase(string fileName, bool import) + { + try + { + string msg = string.Empty; + var dt = BLL.Common.NPOIHelper.ExcelToDataSet(fileName, out msg, true); + BLL.ErrLogInfo.WriteLog(msg); + SaveExcelDataToDatabase(fileName, dt.Tables[0], import); + } + catch (Exception ex) + { + ErrLogInfo.WriteLog("", ex); + } + } + + /// + /// 校验并保存数据到数据库 + /// + private bool SaveExcelDataToDatabase(string fileName, DataTable pds, bool import) + { + int ic = pds.Columns.Count; + if (ic < Cols) + { + ShowNotify($"导入Excel格式错误!Excel只有{ic}列", MessageBoxIcon.Warning); + return false; + } + int ir = pds.Rows.Count; + if (pds == null || ir <= 0) + { + ShowNotify("导入数据为空!", MessageBoxIcon.Warning); + return false; + } + var errors = new List(); + var toInsert = new List(); + + for (int i = 0; i < ir; i++) + { + var (error, entity) = ValidateRowAndBuildEntity(pds.Rows[i], (i + 2).ToString(), import); + if (error.Any()) + errors.AddRange(error); + else + toInsert.Add(entity); + } + if (errors.Count > 0) + { + errorInfos.Clear(); + errorInfos.AddRange(errors); + this.gvErrorInfo.DataSource = errorInfos; + this.gvErrorInfo.DataBind(); + ShowNotify("存在校验错误,请先审核并修正后再导入。", MessageBoxIcon.Warning); + return false; + } + try + { + if (toInsert.Any()) + { + Funs.DB.CheckProblem_Safety.InsertAllOnSubmit(toInsert); + Funs.DB.SubmitChanges(); + } + ShowNotify($"成功导入 {toInsert.Count} 条记录。", MessageBoxIcon.Success); + PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); + return true; + } + catch (Exception ex) + { + ErrLogInfo.WriteLog("导入 安全不符合项(CheckProblem_Safety) 失败", ex); + ShowNotify("导入失败:" + ex.Message, MessageBoxIcon.Error); + return false; + } + } + + #endregion // 导入 + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.designer.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.designer.cs new file mode 100644 index 00000000..872722ff --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemIn.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.Check.HSE +{ + + + public partial class CheckProblemIn + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// hdFileName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdFileName; + + /// + /// btnAudit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAudit; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// hdCheckResult 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdCheckResult; + + /// + /// fuAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fuAttachUrl; + + /// + /// gvErrorInfo 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid gvErrorInfo; + + /// + /// lblPageIndex 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblPageIndex; + } +} diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx new file mode 100644 index 00000000..123b6d59 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx @@ -0,0 +1,170 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CheckProblemView.aspx.cs" Inherits="FineUIPro.Web.Check.HSE.CheckProblemView" %> + + + + + + 安全不符合项清单 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + + + + + + + + --%> + + + + + + + + + + + + + + + + + + + + + + + + + + <%----%> + + diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.cs new file mode 100644 index 00000000..2135f532 --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.cs @@ -0,0 +1,134 @@ +using BLL; +using Model; +using System; + +namespace FineUIPro.Web.Check.HSE +{ + public partial class CheckProblemView : PageBase + { + #region 公共字段 + /// + /// 主键 + /// + public string CheckId + { + get + { + return (string)ViewState["CheckId"]; + } + set + { + ViewState["CheckId"] = value; + } + } + + #endregion + + /// + /// 图片是否可以编辑 -1查看 0编辑 + /// + public int QuestionImg + { + get + { + return Convert.ToInt32(ViewState["QuestionImg"]); + } + set + { + ViewState["QuestionImg"] = value; + } + } + + /// + /// 页面初始化加载 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + CheckId = Request.Params["CheckId"]; + + var model = CheckProblemSafetyService.GetCheckProblemById(this.CheckId); + if (model != null) + { + this.txtUnitName.Text = model.UnitName; + this.txtProjectName.Text = model.ProjectName; + var classify = SafetyProblemClassifyService.GetClassifyById(model.ClassifyId); + if (classify != null) + { + this.txtClassifyName.Text = classify.ClassifyName; + } + var classifyItem = SafetyProblemClassifyItemService.GetClassifyItemById(model.ClassifyItemId); + if (classifyItem != null) + { + this.txtClassifyItemName.Text = classifyItem.ClassifyItemName; + } + var nature = SafetyProblemNatureService.GetNatureById(model.NatureId); + if (nature != null) + { + this.txtNatureName.Text = nature.NatureName; + } + var natureItem = SafetyProblemNatureItemService.GetNatureItemById(model.NatureItemId); + if (natureItem != null) + { + this.txtNatureItemContent.Text = natureItem.NatureItemContent; + } + this.txtAddress.Text = model.Address; + this.rblUnitType.SelectedValue = model.UnitType; + this.txtAssemblyName.Text = model.AssemblyName; + this.txtDescription.Text = model.Description; + this.txtRemark.Text = model.Remark; + this.txtCheckTeamUser.Text = model.CheckTeamUser; + this.txtRectificationUserName.Text = model.RectificationUserName; + this.txtPMUserName.Text = model.PMUserName; + this.txtCompileManName.Text = model.CompileManName; + if (model.CheckDate != null) + { + this.txtCheckDate.Text = string.Format("{0:yyyy-MM-dd}", model.CheckDate); + } + if (model.LimitDate != null) + { + this.txtLimitDate.Text = string.Format("{0:yyyy-MM-dd}", model.LimitDate); + } + if (model.CloseTime != null) + { + this.txtCloseTime.Text = string.Format("{0:yyyy-MM-dd}", model.CloseTime); + } + if (model.CompileDate != null) + { + this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", model.CompileDate); + } + } + } + } + + + #region 附件上传 + /// + /// 上传附件 + /// + /// + /// + protected void btnAttach_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/CheckProblemSafety&menuId={1}", this.CheckId, BLL.Const.SafetyCheckProblemMenuId))); + } + #endregion + + + + //protected void imgBtnFile_Click(object sender, EventArgs e) + //{ + // PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={1}&path=FileUpload/CheckProblemSafety&menuId={2}", QuestionImg, this.hdCheckControlCode.Text, BLL.Const.SafetyCheckProblemMenuId))); + //} + + + + protected void WindowAtt_Close(object sender, WindowCloseEventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.designer.cs b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.designer.cs new file mode 100644 index 00000000..b2bf3adf --- /dev/null +++ b/SGGL/FineUIPro.Web/Check/HSE/CheckProblemView.aspx.designer.cs @@ -0,0 +1,278 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.Check.HSE +{ + + + public partial class CheckProblemView + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// SimpleForm1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Form SimpleForm1; + + /// + /// txtUnitName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtUnitName; + + /// + /// rblUnitType 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList rblUnitType; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// txtAddress 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtAddress; + + /// + /// txtAssemblyName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtAssemblyName; + + /// + /// txtClassifyName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtClassifyName; + + /// + /// txtNatureName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtNatureName; + + /// + /// txtClassifyItemName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtClassifyItemName; + + /// + /// txtNatureItemContent 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtNatureItemContent; + + /// + /// txtDescription 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtDescription; + + /// + /// txtCheckTeamUser 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtCheckTeamUser; + + /// + /// txtCheckDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCheckDate; + + /// + /// txtRectificationUserName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtRectificationUserName; + + /// + /// txtLimitDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtLimitDate; + + /// + /// txtPMUserName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtPMUserName; + + /// + /// txtCloseTime 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCloseTime; + + /// + /// txtCompileManName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtCompileManName; + + /// + /// txtCompileDate 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DatePicker txtCompileDate; + + /// + /// txtRemark 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextArea txtRemark; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// btnAttach 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAttach; + + /// + /// ToolbarFill1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarFill ToolbarFill1; + + /// + /// hdId 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdId; + + /// + /// hdAttachUrl 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.HiddenField hdAttachUrl; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// WindowAtt 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window WindowAtt; + } +} diff --git a/SGGL/FineUIPro.Web/File/Excel/DataIn/安全不符合项清单导入模板.xlsx b/SGGL/FineUIPro.Web/File/Excel/DataIn/安全不符合项清单导入模板.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c01013894f22a73eb40089e6f9b42562a163c0c0 GIT binary patch literal 24396 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index 3288e4ac..39cfe764 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -299,6 +299,10 @@ + + + + @@ -8158,6 +8162,34 @@ WorkStage.aspx + + CheckProblemView.aspx + ASPXCodeBehind + + + CheckProblemView.aspx + + + CheckProblemEdit.aspx + ASPXCodeBehind + + + CheckProblemEdit.aspx + + + CheckProblem.aspx + ASPXCodeBehind + + + CheckProblem.aspx + + + CheckProblemIn.aspx + ASPXCodeBehind + + + CheckProblemIn.aspx + mainMenu_FiveStarts.aspx ASPXCodeBehind @@ -20201,6 +20233,7 @@ + diff --git a/SGGL/FineUIPro.Web/common/PageBase.cs b/SGGL/FineUIPro.Web/common/PageBase.cs index 10a536f2..79847ebf 100644 --- a/SGGL/FineUIPro.Web/common/PageBase.cs +++ b/SGGL/FineUIPro.Web/common/PageBase.cs @@ -974,22 +974,14 @@ namespace FineUIPro.Web { html = (row.FindControl("lblNumber") as AspNet.Label).Text; } - if (column.ColumnID == "tfTeamType" && (row.FindControl("lbTeamType") as AspNet.Label) != null) + if (column.ColumnID == "tfState") { - html = (row.FindControl("lbTeamType") as AspNet.Label).Text; - } - if (column.ColumnID == "tfI" && (row.FindControl("tfI") as AspNet.Label) != null) - { - html = (row.FindControl("lbI") as AspNet.Label).Text; + html = (row.FindControl("lbState") as AspNet.Label).Text; } if (column.ColumnID == "tfCompileMan" && (row.FindControl("lblCompileMan") as AspNet.Label) != null) { html = (row.FindControl("lblCompileMan") as AspNet.Label).Text; } - if (column.ColumnID == "tfSpecialEquipmentId") - { - html = (row.FindControl("lblSpecialEquipmentId") as AspNet.Label).Text; - } // 处理CheckBox if (html.Contains("f-grid-static-checkbox")) { diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 2392503c..5498255e 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -536,6 +536,9 @@ namespace Model partial void InsertCheck_ViolationPerson(Check_ViolationPerson instance); partial void UpdateCheck_ViolationPerson(Check_ViolationPerson instance); partial void DeleteCheck_ViolationPerson(Check_ViolationPerson instance); + partial void InsertCheckProblem_Safety(CheckProblem_Safety instance); + partial void UpdateCheckProblem_Safety(CheckProblem_Safety instance); + partial void DeleteCheckProblem_Safety(CheckProblem_Safety instance); partial void InsertCL_MatchingM(CL_MatchingM instance); partial void UpdateCL_MatchingM(CL_MatchingM instance); partial void DeleteCL_MatchingM(CL_MatchingM instance); @@ -4122,6 +4125,14 @@ namespace Model } } + public System.Data.Linq.Table CheckProblem_Safety + { + get + { + return this.GetTable(); + } + } + public System.Data.Linq.Table CL_MatchingM { get @@ -88019,6 +88030,716 @@ namespace Model } } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.CheckProblem_Safety")] + public partial class CheckProblem_Safety : INotifyPropertyChanging, INotifyPropertyChanged + { + + private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); + + private string _CheckId; + + private string _UnitId; + + private string _UnitName; + + private string _ProjectId; + + private string _ProjectName; + + private int _State; + + private string _Address; + + private string _Description; + + private string _UnitType; + + private string _AssemblyName; + + private string _CheckTeamUser; + + private System.DateTime _CheckDate; + + private System.Nullable _LimitDate; + + private System.Nullable _CloseTime; + + private string _RectificationUserId; + + private string _RectificationUserName; + + private string _PMUserId; + + private string _PMUserName; + + private string _ClassifyId; + + private string _ClassifyItemId; + + private string _NatureId; + + private string _NatureItemId; + + private string _AttachUrl; + + private string _RectificationUrl; + + private string _Remark; + + private string _CompileMan; + + private string _CompileManName; + + private System.DateTime _CompileDate; + + #region 可扩展性方法定义 + partial void OnLoaded(); + partial void OnValidate(System.Data.Linq.ChangeAction action); + partial void OnCreated(); + partial void OnCheckIdChanging(string value); + partial void OnCheckIdChanged(); + partial void OnUnitIdChanging(string value); + partial void OnUnitIdChanged(); + partial void OnUnitNameChanging(string value); + partial void OnUnitNameChanged(); + partial void OnProjectIdChanging(string value); + partial void OnProjectIdChanged(); + partial void OnProjectNameChanging(string value); + partial void OnProjectNameChanged(); + partial void OnStateChanging(int value); + partial void OnStateChanged(); + partial void OnAddressChanging(string value); + partial void OnAddressChanged(); + partial void OnDescriptionChanging(string value); + partial void OnDescriptionChanged(); + partial void OnUnitTypeChanging(string value); + partial void OnUnitTypeChanged(); + partial void OnAssemblyNameChanging(string value); + partial void OnAssemblyNameChanged(); + partial void OnCheckTeamUserChanging(string value); + partial void OnCheckTeamUserChanged(); + partial void OnCheckDateChanging(System.DateTime value); + partial void OnCheckDateChanged(); + partial void OnLimitDateChanging(System.Nullable value); + partial void OnLimitDateChanged(); + partial void OnCloseTimeChanging(System.Nullable value); + partial void OnCloseTimeChanged(); + partial void OnRectificationUserIdChanging(string value); + partial void OnRectificationUserIdChanged(); + partial void OnRectificationUserNameChanging(string value); + partial void OnRectificationUserNameChanged(); + partial void OnPMUserIdChanging(string value); + partial void OnPMUserIdChanged(); + partial void OnPMUserNameChanging(string value); + partial void OnPMUserNameChanged(); + partial void OnClassifyIdChanging(string value); + partial void OnClassifyIdChanged(); + partial void OnClassifyItemIdChanging(string value); + partial void OnClassifyItemIdChanged(); + partial void OnNatureIdChanging(string value); + partial void OnNatureIdChanged(); + partial void OnNatureItemIdChanging(string value); + partial void OnNatureItemIdChanged(); + partial void OnAttachUrlChanging(string value); + partial void OnAttachUrlChanged(); + partial void OnRectificationUrlChanging(string value); + partial void OnRectificationUrlChanged(); + partial void OnRemarkChanging(string value); + partial void OnRemarkChanged(); + partial void OnCompileManChanging(string value); + partial void OnCompileManChanged(); + partial void OnCompileManNameChanging(string value); + partial void OnCompileManNameChanged(); + partial void OnCompileDateChanging(System.DateTime value); + partial void OnCompileDateChanged(); + #endregion + + public CheckProblem_Safety() + { + OnCreated(); + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckId", DbType="NVarChar(50) NOT NULL", CanBeNull=false, IsPrimaryKey=true)] + public string CheckId + { + get + { + return this._CheckId; + } + set + { + if ((this._CheckId != value)) + { + this.OnCheckIdChanging(value); + this.SendPropertyChanging(); + this._CheckId = value; + this.SendPropertyChanged("CheckId"); + this.OnCheckIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitId", DbType="NVarChar(50)")] + public string UnitId + { + get + { + return this._UnitId; + } + set + { + if ((this._UnitId != value)) + { + this.OnUnitIdChanging(value); + this.SendPropertyChanging(); + this._UnitId = value; + this.SendPropertyChanged("UnitId"); + this.OnUnitIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitName", DbType="NVarChar(50)")] + public string UnitName + { + get + { + return this._UnitName; + } + set + { + if ((this._UnitName != value)) + { + this.OnUnitNameChanging(value); + this.SendPropertyChanging(); + this._UnitName = value; + this.SendPropertyChanged("UnitName"); + this.OnUnitNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectId", DbType="NVarChar(50)")] + public string ProjectId + { + get + { + return this._ProjectId; + } + set + { + if ((this._ProjectId != value)) + { + this.OnProjectIdChanging(value); + this.SendPropertyChanging(); + this._ProjectId = value; + this.SendPropertyChanged("ProjectId"); + this.OnProjectIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectName", DbType="NVarChar(50)")] + public string ProjectName + { + get + { + return this._ProjectName; + } + set + { + if ((this._ProjectName != value)) + { + this.OnProjectNameChanging(value); + this.SendPropertyChanging(); + this._ProjectName = value; + this.SendPropertyChanged("ProjectName"); + this.OnProjectNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_State", DbType="Int NOT NULL")] + public int State + { + get + { + return this._State; + } + set + { + if ((this._State != value)) + { + this.OnStateChanging(value); + this.SendPropertyChanging(); + this._State = value; + this.SendPropertyChanged("State"); + this.OnStateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Address", DbType="NVarChar(200)")] + public string Address + { + get + { + return this._Address; + } + set + { + if ((this._Address != value)) + { + this.OnAddressChanging(value); + this.SendPropertyChanging(); + this._Address = value; + this.SendPropertyChanged("Address"); + this.OnAddressChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Description", DbType="NVarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + public string Description + { + get + { + return this._Description; + } + set + { + if ((this._Description != value)) + { + this.OnDescriptionChanging(value); + this.SendPropertyChanging(); + this._Description = value; + this.SendPropertyChanged("Description"); + this.OnDescriptionChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitType", DbType="NVarChar(20)")] + public string UnitType + { + get + { + return this._UnitType; + } + set + { + if ((this._UnitType != value)) + { + this.OnUnitTypeChanging(value); + this.SendPropertyChanging(); + this._UnitType = value; + this.SendPropertyChanged("UnitType"); + this.OnUnitTypeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AssemblyName", DbType="NVarChar(100)")] + public string AssemblyName + { + get + { + return this._AssemblyName; + } + set + { + if ((this._AssemblyName != value)) + { + this.OnAssemblyNameChanging(value); + this.SendPropertyChanging(); + this._AssemblyName = value; + this.SendPropertyChanged("AssemblyName"); + this.OnAssemblyNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckTeamUser", DbType="NVarChar(500)")] + public string CheckTeamUser + { + get + { + return this._CheckTeamUser; + } + set + { + if ((this._CheckTeamUser != value)) + { + this.OnCheckTeamUserChanging(value); + this.SendPropertyChanging(); + this._CheckTeamUser = value; + this.SendPropertyChanged("CheckTeamUser"); + this.OnCheckTeamUserChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CheckDate", DbType="DateTime NOT NULL")] + public System.DateTime CheckDate + { + get + { + return this._CheckDate; + } + set + { + if ((this._CheckDate != value)) + { + this.OnCheckDateChanging(value); + this.SendPropertyChanging(); + this._CheckDate = value; + this.SendPropertyChanged("CheckDate"); + this.OnCheckDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_LimitDate", DbType="DateTime")] + public System.Nullable LimitDate + { + get + { + return this._LimitDate; + } + set + { + if ((this._LimitDate != value)) + { + this.OnLimitDateChanging(value); + this.SendPropertyChanging(); + this._LimitDate = value; + this.SendPropertyChanged("LimitDate"); + this.OnLimitDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CloseTime", DbType="DateTime")] + public System.Nullable CloseTime + { + get + { + return this._CloseTime; + } + set + { + if ((this._CloseTime != value)) + { + this.OnCloseTimeChanging(value); + this.SendPropertyChanging(); + this._CloseTime = value; + this.SendPropertyChanged("CloseTime"); + this.OnCloseTimeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RectificationUserId", DbType="NVarChar(50)")] + public string RectificationUserId + { + get + { + return this._RectificationUserId; + } + set + { + if ((this._RectificationUserId != value)) + { + this.OnRectificationUserIdChanging(value); + this.SendPropertyChanging(); + this._RectificationUserId = value; + this.SendPropertyChanged("RectificationUserId"); + this.OnRectificationUserIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RectificationUserName", DbType="NVarChar(100)")] + public string RectificationUserName + { + get + { + return this._RectificationUserName; + } + set + { + if ((this._RectificationUserName != value)) + { + this.OnRectificationUserNameChanging(value); + this.SendPropertyChanging(); + this._RectificationUserName = value; + this.SendPropertyChanged("RectificationUserName"); + this.OnRectificationUserNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PMUserId", DbType="NVarChar(50)")] + public string PMUserId + { + get + { + return this._PMUserId; + } + set + { + if ((this._PMUserId != value)) + { + this.OnPMUserIdChanging(value); + this.SendPropertyChanging(); + this._PMUserId = value; + this.SendPropertyChanged("PMUserId"); + this.OnPMUserIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PMUserName", DbType="NVarChar(100)")] + public string PMUserName + { + get + { + return this._PMUserName; + } + set + { + if ((this._PMUserName != value)) + { + this.OnPMUserNameChanging(value); + this.SendPropertyChanging(); + this._PMUserName = value; + this.SendPropertyChanged("PMUserName"); + this.OnPMUserNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClassifyId", DbType="NVarChar(50)")] + public string ClassifyId + { + get + { + return this._ClassifyId; + } + set + { + if ((this._ClassifyId != value)) + { + this.OnClassifyIdChanging(value); + this.SendPropertyChanging(); + this._ClassifyId = value; + this.SendPropertyChanged("ClassifyId"); + this.OnClassifyIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ClassifyItemId", DbType="NVarChar(50)")] + public string ClassifyItemId + { + get + { + return this._ClassifyItemId; + } + set + { + if ((this._ClassifyItemId != value)) + { + this.OnClassifyItemIdChanging(value); + this.SendPropertyChanging(); + this._ClassifyItemId = value; + this.SendPropertyChanged("ClassifyItemId"); + this.OnClassifyItemIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NatureId", DbType="NVarChar(50)")] + public string NatureId + { + get + { + return this._NatureId; + } + set + { + if ((this._NatureId != value)) + { + this.OnNatureIdChanging(value); + this.SendPropertyChanging(); + this._NatureId = value; + this.SendPropertyChanged("NatureId"); + this.OnNatureIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_NatureItemId", DbType="NVarChar(50)")] + public string NatureItemId + { + get + { + return this._NatureItemId; + } + set + { + if ((this._NatureItemId != value)) + { + this.OnNatureItemIdChanging(value); + this.SendPropertyChanging(); + this._NatureItemId = value; + this.SendPropertyChanged("NatureItemId"); + this.OnNatureItemIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttachUrl", DbType="NVarChar(1000)")] + public string AttachUrl + { + get + { + return this._AttachUrl; + } + set + { + if ((this._AttachUrl != value)) + { + this.OnAttachUrlChanging(value); + this.SendPropertyChanging(); + this._AttachUrl = value; + this.SendPropertyChanged("AttachUrl"); + this.OnAttachUrlChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_RectificationUrl", DbType="NVarChar(1000)")] + public string RectificationUrl + { + get + { + return this._RectificationUrl; + } + set + { + if ((this._RectificationUrl != value)) + { + this.OnRectificationUrlChanging(value); + this.SendPropertyChanging(); + this._RectificationUrl = value; + this.SendPropertyChanged("RectificationUrl"); + this.OnRectificationUrlChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Remark", DbType="NVarChar(50)")] + public string Remark + { + get + { + return this._Remark; + } + set + { + if ((this._Remark != value)) + { + this.OnRemarkChanging(value); + this.SendPropertyChanging(); + this._Remark = value; + this.SendPropertyChanged("Remark"); + this.OnRemarkChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileMan", DbType="NVarChar(50)")] + public string CompileMan + { + get + { + return this._CompileMan; + } + set + { + if ((this._CompileMan != value)) + { + this.OnCompileManChanging(value); + this.SendPropertyChanging(); + this._CompileMan = value; + this.SendPropertyChanged("CompileMan"); + this.OnCompileManChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileManName", DbType="NVarChar(100)")] + public string CompileManName + { + get + { + return this._CompileManName; + } + set + { + if ((this._CompileManName != value)) + { + this.OnCompileManNameChanging(value); + this.SendPropertyChanging(); + this._CompileManName = value; + this.SendPropertyChanged("CompileManName"); + this.OnCompileManNameChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CompileDate", DbType="DateTime NOT NULL")] + public System.DateTime CompileDate + { + get + { + return this._CompileDate; + } + set + { + if ((this._CompileDate != value)) + { + this.OnCompileDateChanging(value); + this.SendPropertyChanging(); + this._CompileDate = value; + this.SendPropertyChanged("CompileDate"); + this.OnCompileDateChanged(); + } + } + } + + public event PropertyChangingEventHandler PropertyChanging; + + public event PropertyChangedEventHandler PropertyChanged; + + protected virtual void SendPropertyChanging() + { + if ((this.PropertyChanging != null)) + { + this.PropertyChanging(this, emptyChangingEventArgs); + } + } + + protected virtual void SendPropertyChanged(String propertyName) + { + if ((this.PropertyChanged != null)) + { + this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); + } + } + } + [global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.CL_MatchingM")] public partial class CL_MatchingM : INotifyPropertyChanging, INotifyPropertyChanged {