From ae52e422f9f6f966dcb9ef5b315bbdcd172bab8d Mon Sep 17 00:00:00 2001 From: xiaju <1784803958@qq.com> Date: Fri, 6 Nov 2026 09:22:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=89=E5=BA=93=E5=9B=9B=E6=9C=9F=EF=BC=9A?= =?UTF-8?q?=E5=85=B3=E9=94=AE=E5=B2=97=E4=BD=8D=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SUBQHSE_V2026-11-09-xiaj(三库四期).sql | 83 ++++ ...HSE_V2026-11-10-xiaj(SP_SANKU_DATA_INIT).sql | 435 ++++++++++++++++++ .../SanKu/SanKuDataSummaryReportService.cs | 149 +++++- SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj | 18 +- .../HSSE/Meeting/ClassMeetingEdit.aspx.cs | 7 + .../SanKu/DangerousEngineering.aspx | 3 + .../SanKu/DangerousEngineering.aspx.cs | 2 +- SUBQHSE/FineUIPro.Web/SanKu/Personnel.aspx | 148 ++++++ SUBQHSE/FineUIPro.Web/SanKu/Personnel.aspx.cs | 325 +++++++++++++ .../SanKu/Personnel.aspx.designer.cs | 188 ++++++++ .../Model/SanKu/SankuDangerousEngineering.cs | 5 +- SUBQHSE/Model/SanKu/SankuPerson.cs | 60 +++ .../Controllers/SanKu/SanKuController.cs | 26 ++ .../WebAPI/Filter/TestPermissionAttribute.cs | 3 +- 14 files changed, 1441 insertions(+), 11 deletions(-) create mode 100644 DataBase/版本日志/SUBQHSE_V2026-11-09-xiaj(三库四期).sql create mode 100644 DataBase/版本日志/SUBQHSE_V2026-11-10-xiaj(SP_SANKU_DATA_INIT).sql create mode 100644 SUBQHSE/FineUIPro.Web/SanKu/Personnel.aspx create mode 100644 SUBQHSE/FineUIPro.Web/SanKu/Personnel.aspx.cs create mode 100644 SUBQHSE/FineUIPro.Web/SanKu/Personnel.aspx.designer.cs create mode 100644 SUBQHSE/Model/SanKu/SankuPerson.cs diff --git a/DataBase/版本日志/SUBQHSE_V2026-11-09-xiaj(三库四期).sql b/DataBase/版本日志/SUBQHSE_V2026-11-09-xiaj(三库四期).sql new file mode 100644 index 0000000..6517807 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2026-11-09-xiaj(三库四期).sql @@ -0,0 +1,83 @@ + + +--¹«˾¼¶£º¼¯ÍÅÈý¿⽨É裺¹ؼü¸ÚλÈËԱ +IF NOT EXISTS (SELECT * FROM Sys_Menu WHERE MenuId = '004EE400-0000-0000-0001-E2EF9AFA0014') +BEGIN + INSERT INTO dbo.Sys_Menu (MenuId, MenuName,Url, SortIndex, SuperMenu, MenuType, IsOffice, IsEnd, IsUsed) + VALUES (N'004EE400-0000-0000-0001-E2EF9AFA0014', N'¹ؼü¸ÚλÈËԱ', 'SanKu/Personnel.aspx', 5, N'004EE400-0000-0000-0000-E2EF9AFA6F8D', (select MenuType from Sys_Menu where MenuId='004EE400-0000-0000-0000-E2EF9AFA6F8D'),1,1, 1); +END +GO + +--Èý¿â¹ؼü¸ÚλÈËԱ±í£º£¨SANKU_PERSONNEL£© +IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'SANKU_PERSONNEL') AND type = N'U') +BEGIN +CREATE TABLE [dbo].[SANKU_PERSONNEL]( + [PERSONNEL_ID] [bigint] IDENTITY(1,1) NOT NULL, + [RECORD_ID] [varchar](50) NOT NULL, + [PERSONNEL_ID_NUMBER] [varchar](20) NOT NULL, + [PERSONNEL_NAME] [varchar](50) NOT NULL, + [SUBCONTRACTOR_ID] [varchar](20) NULL, + [SUBCONTRACTOR_CODE] [varchar](18) NULL, + [SUBCONTRACTOR_NAME] [varchar](100) NOT NULL, + [PROJECT_CODE] [varchar](50) NOT NULL, + [PROJECT_NAME] [varchar](200) NOT NULL, + [SEX] [varchar](10) NOT NULL, + [POSITION_NAME] [varchar](50) NOT NULL, + [WORK_ROLE] [varchar](50) NOT NULL, + [PHONE] [varchar](20) NULL, + [STATUS] [varchar](20) NULL, + [SOURCE_SYSTEM_ID] [varchar](50) NULL, + [SOURCE_SYSTEM_NAME] [varchar](100) NULL, + [UPDATE_TIME] [datetime] NOT NULL, + [CREATE_TIME] [datetime] NOT NULL, + [CollCropCode] [varchar](20) NULL, + [UnitId] [nvarchar](50) NULL, + [UnitName] [nvarchar](50) NULL, + [ReportDate] [datetime] NULL, + CONSTRAINT [PK_SANKU_PERSONNEL] PRIMARY KEY CLUSTERED +( + [PERSONNEL_ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÈËԱ´úÀí¼ü' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PERSONNEL_ID' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ҵÎñÊý¾ÝID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'RECORD_ID' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÈËԱÉí·Ý֤¼þºÅ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PERSONNEL_ID_NUMBER' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÈËԱÐÕÃû' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PERSONNEL_NAME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ö÷Êý¾Ý×é֯±àÂë' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SUBCONTRACTOR_ID' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ËùÊôµ¥λͳһÉç»áÐÅÓôúÂë' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SUBCONTRACTOR_CODE' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ËùÊôµ¥λÃû³Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SUBCONTRACTOR_NAME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ö÷Êý¾ÝÏîĿ±àºÅ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PROJECT_CODE' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Ö÷Êý¾ÝÏîĿÃû³Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PROJECT_NAME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÐԱð' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SEX' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÈËԱ¸Úλ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'POSITION_NAME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÏîĿ½Çɫ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'WORK_ROLE' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Áªϵ·½ʽ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'PHONE' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'״̬£¨Ôڸڡ¢Àë¸ڣ©' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'STATUS' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'À´ԴϵͳID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SOURCE_SYSTEM_ID' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'À´ԴϵͳÃû³Æ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'SOURCE_SYSTEM_NAME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'¸üÐÂʱ¼ä' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'UPDATE_TIME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'´´½¨ʱ¼ä' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'CREATE_TIME' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Êý¾ÝԴµ¥λͳһÉç»áÐÅÓôúÂë' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'CollCropCode' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'Êý¾ÝԴµ¥λId' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @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'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'UnitName' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÌÈÕÆÚ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL', @level2type=N'COLUMN',@level2name=N'ReportDate' +EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'ÈËԱÐÅϢ±í' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SANKU_PERSONNEL' +END +GO + +--Σ´󹤳̣º¹¤³̱àÂë +IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'SANKU_DANGEROUS_ENGINEERING' AND COLUMN_NAME = 'ENGINEERING_CODE') +BEGIN + --¹¤³̱àÂë + ALTER TABLE SANKU_DANGEROUS_ENGINEERING ADD ENGINEERING_CODE varchar(50); + EXEC sp_addextendedproperty 'MS_Description', N'¹¤³̱àÂë','SCHEMA', N'dbo','TABLE', N'SANKU_DANGEROUS_ENGINEERING','COLUMN', N'ENGINEERING_CODE'; +END + +GO +--Ð޸ÄÀúʷΣ´󹤳̹¤³̱àÂëÊý¾Ý +UPDATE A +SET A.ENGINEERING_CODE = B.HazardCode,ReportDate=NULL +FROM SANKU_DANGEROUS_ENGINEERING A JOIN Solution_LargerHazard B ON A.RECORD_ID = B.HazardId +WHERE 1 = 1 +GO + diff --git a/DataBase/版本日志/SUBQHSE_V2026-11-10-xiaj(SP_SANKU_DATA_INIT).sql b/DataBase/版本日志/SUBQHSE_V2026-11-10-xiaj(SP_SANKU_DATA_INIT).sql new file mode 100644 index 0000000..cfe4340 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2026-11-10-xiaj(SP_SANKU_DATA_INIT).sql @@ -0,0 +1,435 @@ + + +ALTER PROCEDURE [dbo].[SP_SANKU_DATA_INIT] + @type VARCHAR(100) = NULL, + @op TINYINT +AS +BEGIN + SET NOCOUNT ON; + DECLARE @trimType VARCHAR(100) = LTRIM(RTRIM(ISNULL(@type, ''))); + + -- op=0 Çå¿ÕÂ߼­ + IF @op = 0 + BEGIN + IF @trimType = 'SANKU_PERSONNEL' + BEGIN + TRUNCATE TABLE SANKU_PERSONNEL; + END + IF @trimType = 'SANKU_ACCIDENT_RECORD' + BEGIN + TRUNCATE TABLE SANKU_ACCIDENT_RECORD; + END + ELSE IF @trimType = 'SANKU_VIOLATION' + BEGIN + TRUNCATE TABLE SANKU_VIOLATION; + END + ELSE IF @trimType = 'SANKU_HAZARD' + BEGIN + TRUNCATE TABLE SANKU_HAZARD; + END + ELSE IF @trimType = 'SANKU_SAFETY_REWARD' + BEGIN + TRUNCATE TABLE SANKU_SAFETY_REWARD; + END + ELSE IF @trimType = 'SANKU_ADMIN_PENALTY' + BEGIN + TRUNCATE TABLE SANKU_ADMIN_PENALTY; + END + ELSE IF @trimType = 'SANKU_TRAINING' + BEGIN + TRUNCATE TABLE SANKU_TRAINING; + END + ELSE IF @trimType = 'SANKU_EXAMINATION' + BEGIN + TRUNCATE TABLE SANKU_EXAMINATION; + END + ELSE IF @trimType = 'SANKU_DANGEROUS_ENGINEERING' + BEGIN + DELETE SANKU_SAFETY_TECH_BRIEFING WHERE DANGEROUS_ID IS NOT NULL; + TRUNCATE TABLE SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD; + TRUNCATE TABLE SANKU_DANGEROUS_ENGINEERING; + END + ELSE IF @trimType = 'SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD' + BEGIN + TRUNCATE TABLE SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD; + END + ELSE IF @trimType = 'SANKU_GRID_PATROL' + BEGIN + TRUNCATE TABLE SANKU_GRID_PATROL; + END + ELSE IF @trimType = 'SANKU_WORK_BRIEFING' + BEGIN + TRUNCATE TABLE SANKU_WORK_BRIEFING_PARTICIPANT; + TRUNCATE TABLE SANKU_WORK_BRIEFING; + END + ELSE IF @trimType = 'SANKU_WORK_BRIEFING_PARTICIPANT' + BEGIN + TRUNCATE TABLE SANKU_WORK_BRIEFING_PARTICIPANT; + END + ELSE IF @trimType = 'SANKU_SAFETY_TECH_BRIEFING' + BEGIN + TRUNCATE TABLE SANKU_SAFETY_TECH_BRIEFING; + END + ELSE IF @trimType = '' -- type null/¿գ¬ȫ²¿Çå¿Õ + BEGIN + TRUNCATE TABLE SANKU_PERSONNEL; + TRUNCATE TABLE SANKU_ACCIDENT_RECORD; + TRUNCATE TABLE SANKU_VIOLATION; + TRUNCATE TABLE SANKU_HAZARD; + TRUNCATE TABLE SANKU_SAFETY_REWARD; + TRUNCATE TABLE SANKU_ADMIN_PENALTY; + TRUNCATE TABLE SANKU_TRAINING; + TRUNCATE TABLE SANKU_EXAMINATION; + TRUNCATE TABLE SANKU_DANGEROUS_ENGINEERING; + TRUNCATE TABLE SANKU_DANGEROUS_ENGINEERING_DUTY_RECORD; + TRUNCATE TABLE SANKU_GRID_PATROL; + TRUNCATE TABLE SANKU_WORK_BRIEFING; + TRUNCATE TABLE SANKU_WORK_BRIEFING_PARTICIPANT; + TRUNCATE TABLE SANKU_SAFETY_TECH_BRIEFING; + END + END + + -- op=1 ³õʼ»¯²åÈëÂ߼­ + IF @op = 1 + BEGIN + + -- typeΪNULL/¿Õ×ַû´®£ºËùÓгõʼ»¯½ű¾¶¼ִÐУ»·ñÔò°´type·Öִ֧ÐÐ + IF @type = 'SANKU_PERSONNEL' OR @trimType = '' + BEGIN + --ÏîĿ¹ؼü¸ÚλÈËԱ + INSERT INTO SANKU_PERSONNEL(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,SEX,POSITION_NAME,WORK_ROLE,PHONE,STATUS,UPDATE_TIME,CREATE_TIME) + SELECT tba.UserId,pms.pro_code,pms.pro_name,bu.MasterAdOrgCode,bu.CollCropCode + ,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName, + suc.IdentityCard,suc.UserName,CASE WHEN suc.Sex = 1 THEN 'ÄÐ' WHEN suc.Sex = 0 THEN 'Ů' ELSE '' END AS Sex,ISNULL(bwp.WorkPostName,sr.RoleName) AS PostName, + (CASE WHEN pput.UnitType = '1' THEN '×ܰü' WHEN pput.UnitType = '2' THEN '·ְü' ELSE 'ÆäËû' END) + (CASE WHEN sr.RoleName like '%°²ȫԱ%' THEN 'ÏîĿ°²ȫԱ' ELSE 'ÏîĿ¸ºÔðÈË' END) AS RoleName + ,ISNULL(suc.Telephone,''),CASE WHEN tba.IsPost = 1 THEN 'ÔڸÚ' ELSE 'Àë¸Ú' END AS StatusStr,GETDATE(),GETDATE() + FROM Project_ProjectUser AS tba WITH(NOLOCK) + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.UserId + LEFT JOIN Project_ProjectUnit AS pput WITH(NOLOCK) ON pput.UnitId = tba.UnitId AND pput.ProjectId = tba.ProjectId + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.IdentityCard = suc.IdentityCard AND spp.ProjectId = tba.ProjectId + LEFT JOIN Base_WorkPost AS bwp WITH(NOLOCK) ON bwp.WorkPostId = spp.WorkPostId + LEFT JOIN Sys_Role AS sr WITH(NOLOCK) ON sr.RoleId = tba.RoleId + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND LEN(suc.IdentityCard) = 18 AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode) = 18) AND pput.UnitType IN ('1','2') + AND (sr.RoleName like '%¾­Àí%' OR sr.RoleName like '%°²ȫԱ%' OR sr.RoleName like '%¸ºÔð%' ) + AND NOT EXISTS (SELECT 1 FROM SANKU_PERSONNEL AS bp WITH(NOLOCK) WHERE bp.RECORD_ID = tba.UserId AND bp.PERSONNEL_ID_NUMBER = suc.IdentityCard AND bp.PROJECT_CODE = pms.pro_code ); + END + + IF @type = 'SANKU_ACCIDENT_RECORD' OR @trimType = '' + BEGIN + --ʹÊʼþÊý¾ݳõʼ»¯ + INSERT INTO SANKU_ACCIDENT_RECORD(ACCIDENT_ID,PROJECT_CODE,PROJECT_NAME,ACCIDENT_NAME,ACCIDENT_TIME,ACCIDENT_LEVEL,ACCIDENT_TYPE,ACCIDENT_LOCATION,ACCIDENT_DESCRIPTION,DEATH_COUNT,SERIOUS_INJURY_COUNT,MINOR_INJURY_COUNT + ,DIRECT_ECONOMIC_LOSS,INDIRECT_ECONOMIC_LOSS,CONTRACTING_RESPONSIBILITY,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,POSITION_NAME,RESPONSIBILITY_TYPE,RESPONSIBILITY_DESC,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.AccidentHandleId,pms.pro_code,pms.pro_name,tba.AccidentHandleName,tba.AccidentDate,tba.AccidentLevel,tba.AccidentType,tba.AccidentLocation,tba.AccidentDef,tba.DeathPersonNum,tba.InjuriesPersonNum,tba.MinorInjuriesPersonNum + ,tba.MoneyLoss,tba.IndirectMoneyLoss,tba.ContractingResponsibility + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,tba.PositionName,tba.ResponsibilityType,tba.ResponsibilityDesc,su.IdentityCard,tba.ResponsibleManName,suc.IdentityCard,suc.UserName,tba.CompileDate,tba.CompileDate + FROM Accident_AccidentHandle AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS su WITH(NOLOCK) ON su.UserId = tba.ResponsibleMan + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CompileMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.AccidentDate>='2026-01-01' + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 AND LEN(su.IdentityCard)=18 + AND tba.AccidentHandleId NOT IN (SELECT ACCIDENT_ID FROM SANKU_ACCIDENT_RECORD WITH(NOLOCK)); + END + + IF @type = 'SANKU_VIOLATION' OR @trimType = '' + BEGIN + --ΥÕÂ×÷ҵÊý¾ݳõʼ»¯ + INSERT INTO SANKU_VIOLATION(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,VIOLATION_DATE,VIOLATION_TYPE,VIOLATION_CONTENT,PENALTY_RESULT,RECTIFICATION_STATUS,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.ViolationPersonId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,spp.IdentityCard,spp.PersonName,tba.ViolationDate,tba.ViolationLevel,tba.ViolationDef,vphs.ConstText,tba.RectificationStatus,suc.IdentityCard,suc.UserName,tba.CompileDate,tba.CompileDate + FROM Check_ViolationPerson AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_Const AS vphs WITH(NOLOCK) ON vphs.ConstValue = tba.HandleStep AND vphs.GroupId='ViolationPersonHandleStep' + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.PersonId AND LEN(spp.IdentityCard)=18 + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CompileMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.ViolationDate>='2026-01-01' + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND tba.ViolationPersonId NOT IN (SELECT RECORD_ID FROM SANKU_VIOLATION WITH(NOLOCK)); + END + + IF @type = 'SANKU_SAFETY_REWARD' OR @trimType = '' + BEGIN + --°²ȫ½±³ÍÊý¾ݳõʼ»¯ + INSERT INTO SANKU_SAFETY_REWARD(RECORD_ID,PROJECT_CODE,PROJECT_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,REWARD_DATE,REWARD_UNIT_ID,REWARD_UNIT_CODE,REWARD_UNIT_NAME,REWARD_TYPE,REWARD_CONTENT,REWARD_AMOUNT,REWARD_LEVEL,SUBMITTER_ID_NUMBER,SUBMITTER_NAME) + SELECT tba.RewardAndPunishID,pms.pro_code,pms.pro_name,spp.IdentityCard,spp.PersonName,tba.Date + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,(CASE tba.Type WHEN 1 THEN '½±Àø' WHEN 2 THEN '´¦·£' ELSE '´¦·£' END) AS TYPE,tba.Description + ,(CASE WHEN tba.Type = 1 THEN ABS(tba.Money) WHEN tba.Type = 2 THEN -ABS(tba.Money) ELSE tba.Money END) AS Money + ,(CASE tba.Type + WHEN 1 THEN (SELECT ConstText FROM Sys_Const WHERE GroupId='RewardType' AND ConstValue=tba.RewardAndPunishType) + WHEN 2 THEN (SELECT ConstText FROM Sys_Const WHERE GroupId='PunishType' AND ConstValue=tba.RewardAndPunishType) END) AS TYPE + ,suc.IdentityCard,suc.UserName + FROM Check_RewardAndPunish AS tba WITH(NOLOCK) + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.RewardAndPunishMan --AND LEN(spp.IdentityCard)=18 + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.ResponseUnit --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CreateMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.Date>='2026-01-01' AND tba.Type IN (1,2) + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 --AND LEN(spp.IdentityCard)=18 + AND tba.RewardAndPunishID NOT IN (SELECT RECORD_ID FROM SANKU_SAFETY_REWARD WITH(NOLOCK)); + END + + IF @type = 'SANKU_ADMIN_PENALTY' OR @trimType = '' + BEGIN + --ÐÐÕþ´¦·£Êý¾ݳõʼ»¯ + INSERT INTO SANKU_ADMIN_PENALTY(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PENALTY_DATE,PENALTY_TYPE,PENALTY_CONTENT,PENALTY_AMOUNT,PENALTY_AUTHORITY,PENALTY_STATUS,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.PenaltyId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,tba.PenaltyDate,tba.PenaltyType,tba.PenaltyContent,tba.PenaltyAmount,tba.PenaltyAuthority,tba.PenaltyStatus + ,suc.IdentityCard,suc.UserName,tba.PenaltyDate,tba.PenaltyDate + FROM Check_AdminPenalty AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CompileMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.PenaltyDate>='2026-01-01' + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 + AND tba.PenaltyId NOT IN (SELECT RECORD_ID FROM SANKU_ADMIN_PENALTY WITH(NOLOCK)); + END + + IF @type = 'SANKU_HAZARD' OR @trimType = '' + BEGIN + --Òþ»¼¼Ç¼Êý¾ݳõʼ»¯ + INSERT INTO SANKU_HAZARD(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,RESPONSIBLE_PERSONNEL_ID_NUMBER,RESPONSIBLE_PERSONNEL_NAME,RECTIFIER_PERSONNEL_ID_NUMBER,RECTIFIER_PERSONNEL_NAME + ,DISCOVERY_DATE,HAZARD_TYPE,HAZARD_LEVEL,HAZARD_CONTENT,RECTIFICATION_STATUS,ECTIFICATION_COMPLETIONDATE,RECTIFICATION_DEADLINE_ID,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.HazardRegisterId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,suzg.IdentityCard,suzg.UserName,suzg.IdentityCard,suzg.UserName,tba.CheckTime,regType.RegisterTypesName + ,(CASE tba.Risk_Level WHEN 'һ°ã' THEN 'һ°ãÒþ»¼' WHEN '½ϴó' THEN '½ϴóÒþ»¼' WHEN 'Öشó' THEN 'ÖشóÒþ»¼' ELSE 'һ°ãÒþ»¼' END) AS TYPE,tba.RegisterDef + ,(CASE tba.States WHEN 1 THEN 'δÕû¸Ä' WHEN 2 THEN 'ÒÑÑéÊÕ' WHEN 3 THEN 'ÒÑÕû¸Ä' WHEN 4 THEN 'Õû¸ÄÖÐ' ELSE 'Õû¸ÄÖÐ' END) AS StatesName + ,tba.RectificationTime,tba.RectificationPeriod,suc.IdentityCard,suc.UserName,tba.CheckTime,tba.CheckTime + FROM HSSE_Hazard_HazardRegister AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.ResponsibleUnit --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS suzg WITH(NOLOCK) ON suzg.UserId = tba.ResponsibleMan + LEFT JOIN HSSE_Hazard_HazardRegisterTypes AS regType WITH(NOLOCK) ON tba.RegisterTypesId = regType.RegisterTypesId + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CheckManId + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.CheckTime>='2026-01-01' AND ISNULL(tba.States,0) >= 0 + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 AND LEN(suzg.IdentityCard)=18 AND regType.RegisterTypesName IS NOT NULL + AND tba.HazardRegisterId NOT IN (SELECT RECORD_ID FROM SANKU_HAZARD WITH(NOLOCK)); + --SELECT tba.RectifyNoticesItemId,pms.pro_code,pms.pro_name + -- ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + -- ,suzg.IdentityCard,suzg.UserName,suzg.IdentityCard,suzg.UserName,tbb.CheckedDate,rectify.RectifyName + -- ,(CASE tbb.HiddenHazardType WHEN 1 THEN 'һ°ãÒþ»¼' WHEN 2 THEN '½ϴóÒþ»¼' WHEN 3 THEN 'ÖشóÒþ»¼' ELSE 'һ°ãÒþ»¼' END) AS TYPE,tba.WrongContent + -- ,(CASE WHEN tbb.States = 2 THEN 'δÕû¸Ä' WHEN tbb.States = 3 THEN 'Õû¸ÄÖÐ' WHEN States = 4 THEN 'ÒÑÕû¸Ä' WHEN States = 5 THEN 'ÒÑÑéÊÕ' ELSE 'δÕû¸Ä' END) AS StatesName + -- ,tbb.CompleteDate,tba.LimitTime,suc.IdentityCard,suc.UserName,tbb.CheckedDate,tbb.CheckedDate + --FROM Check_RectifyNoticesItem AS tba WITH(NOLOCK) + -- LEFT JOIN Check_RectifyNotices AS tbb WITH(NOLOCK) ON tbb.RectifyNoticesId = tba.RectifyNoticesId + -- --LEFT JOIN Check_RectifyNoticesFlowOperate AS tbc WITH(NOLOCK) ON tbc.RectifyNoticesId = tba.RectifyNoticesId + -- LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tbb.UnitId --AND LEN(bu.CollCropCode)=18 + -- LEFT JOIN Sys_User AS suzg WITH(NOLOCK) ON suzg.UserId = tbb.DutyPersonId + -- LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tbb.CompleteManId + -- LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tbb.ProjectId + -- LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + -- LEFT JOIN Technique_Rectify AS rectify WITH(NOLOCK) ON tba.RectifyId = rectify.RectifyId + --WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tbb.CheckedDate>='2026-01-01' AND tbb.States > 1 + -- AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 AND LEN(suzg.IdentityCard)=18 AND rectify.RectifyName IS NOT NULL + -- AND tba.RectifyNoticesItemId NOT IN (SELECT RECORD_ID FROM SANKU_HAZARD WITH(NOLOCK)); + END + + IF @type = 'SANKU_TRAINING' OR @trimType = '' + BEGIN + --½ÌÓýÅàѵÊý¾ݳõʼ»¯ + INSERT INTO SANKU_TRAINING(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,TRAINING_DATE,TRAINING_NAME,TRAINING_TYPE,TRAINING_DURATION,TRAINING_ORGANIZER,TRAINING_CONTENT,TRAINING_RESULT,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.TrainDetailId,pms.pro_code,pms.pro_name + ,spu.MasterAdOrgCode,spu.CollCropCode,CASE WHEN spu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(spu.MasterAdOrgCode)) = '' THEN spu.UnitName ELSE spu.MasterAdOrgName END AS UnitName + ,spp.IdentityCard,spp.PersonName,tbb.TrainStartDate + ,(CASE WHEN ISNULL(tbb.TrainTitle,'')='' THEN bty.TrainTypeName ELSE tbb.TrainTitle END) AS TrainName + ,bty.TrainTypeName,tbb.TeachHour,bu.UnitName + ,(CASE WHEN ISNULL(tbb.TrainContent,'')='' THEN bty.TrainTypeName ELSE tbb.TrainContent END) AS TrainContent + ,(CASE WHEN tba.CheckResult = 1 THEN 'ͨ¹ý' WHEN tba.CheckResult = 0 THEN 'δͨ¹ý' ELSE 'ȱ¿¼' END) AS CheckResult + ,suc.IdentityCard,suc.UserName,tbb.TrainStartDate,tbb.TrainStartDate + FROM EduTrain_TrainRecordDetail AS tba WITH(NOLOCK) + LEFT JOIN EduTrain_TrainRecord AS tbb WITH(NOLOCK) ON tbb.TrainingId = tba.TrainingId + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tbb.UnitIds --AND LEN(bu.CollCropCode)=18 + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.PersonId + LEFT JOIN Base_Unit AS spu WITH(NOLOCK) ON spu.UnitId = spp.UnitId --AND LEN(spu.CollCropCode)=18 + LEFT JOIN Base_TrainType AS bty WITH(NOLOCK) ON bty.TrainTypeId = tbb.TrainTypeId + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tbb.CompileMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tbb.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE tbb.TrainStartDate>='2026-01-01' AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND (spu.MasterAdOrgCode IS NOT NULL OR LEN(spu.CollCropCode)=18) AND bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL + AND tba.TrainDetailId NOT IN (SELECT RECORD_ID FROM SANKU_TRAINING WITH(NOLOCK)); + END + + IF @type = 'SANKU_EXAMINATION' OR @trimType = '' + BEGIN + --¿¼ÊԿ¼ºËÊý¾ݳõʼ»¯ + INSERT INTO SANKU_EXAMINATION(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,EXAM_DATE,EXAM_NAME,EXAM_TYPE,EXAM_SCORE,EXAM_RESULT,EXAM_ORGANIZER,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.TestRecordId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,spp.IdentityCard,spp.PersonName,tbb.TestEndTime,tbb.PlanName,'ÀíÂۿ¼ÊÔ',tba.TestScores + ,(CASE WHEN tba.TestScores = 0 THEN 'ȱ¿¼' WHEN tba.TestScores >=80 THEN 'ͨ¹ý' WHEN tba.TestScores < 80 THEN 'δͨ¹ý' ELSE 'ȱ¿¼' END) AS CheckResult,tbb.UnitNames + ,suc.IdentityCard,suc.UserName,tbb.TestEndTime,tbb.TestEndTime + FROM Training_TestRecord AS tba WITH(NOLOCK) + LEFT JOIN Training_TestPlan AS tbb WITH(NOLOCK) ON tbb.TestPlanId = tba.TestPlanId + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.TestManId + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = spp.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tbb.PlanManId + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tbb.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE tbb.TestEndTime>='2026-01-01' AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL + AND tba.TestRecordId NOT IN (SELECT RECORD_ID FROM SANKU_EXAMINATION WITH(NOLOCK)); + END + + IF @type = 'SANKU_DANGEROUS_ENGINEERING' OR @trimType = '' + BEGIN + --Σ´󹤳ÌÊý¾ݳõʼ»¯ + INSERT INTO SANKU_DANGEROUS_ENGINEERING(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,ENGINEERING_DATE,ENGINEERING_NAME,ENGINEERING_TYPE,ENGINEERING_ADDRESS,ENGINEERING_DESC,STANDBY_PERSONNEL_ID_NUMBER,STANDBY_PERSONNEL_NAME,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.HazardId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,ISNULL(tba.ExpectedTime,GETDATE()) AS ExpectedTime,tba.HazardName,sc.ConstText,tba.Address,tba.Descriptions,spp.IdentityCard,spp.PersonName,suc.IdentityCard,suc.UserName,tba.RecordTime,tba.RecordTime + FROM Solution_LargerHazard AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.StandbyPersonnelId + LEFT JOIN Sys_Const AS sc WITH(NOLOCK) ON sc.GroupId='LargerHazardType' AND sc.ConstValue= tba.HazardType + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.RecardMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE tba.RecordTime>='2026-01-01' AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL + AND tba.HazardId NOT IN (SELECT RECORD_ID FROM SANKU_DANGEROUS_ENGINEERING WITH(NOLOCK)); + END + + IF @type = 'SANKU_DANGEROUS_ENGINEERING' OR @trimType = '' + BEGIN + --Σ´󹤳ÌÊý¾ݳõʼ»¯ + INSERT INTO SANKU_DANGEROUS_ENGINEERING(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,ENGINEERING_DATE,ENGINEERING_CODE,ENGINEERING_NAME,ENGINEERING_TYPE,ENGINEERING_ADDRESS,ENGINEERING_DESC,STANDBY_PERSONNEL_ID_NUMBER,STANDBY_PERSONNEL_NAME,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.HazardId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,ISNULL(tba.ExpectedTime,GETDATE()) AS ExpectedTime,tba.HazardCode,tba.HazardName,sc.ConstText,tba.Address,tba.Descriptions,spp.IdentityCard,spp.PersonName,suc.IdentityCard,suc.UserName,tba.RecordTime,tba.RecordTime + FROM Solution_LargerHazard AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = tba.StandbyPersonnelId + LEFT JOIN Sys_Const AS sc WITH(NOLOCK) ON sc.GroupId='LargerHazardType' AND sc.ConstValue= tba.HazardType + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.RecardMan + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE tba.RecordTime>='2026-01-01' AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL + AND tba.HazardId NOT IN (SELECT RECORD_ID FROM SANKU_DANGEROUS_ENGINEERING WITH(NOLOCK)); + END + + IF @type = 'SANKU_GRID_PATROL' OR @trimType = '' + BEGIN + --Íø¸ñ»¯Ѳ²é¼Ç¼Êý¾ݳõʼ»¯ + WITH temp_data AS ( + SELECT + tba.HazardRegisterId,pms.pro_code,pms.pro_name,bu.MasterAdOrgCode,bu.CollCropCode + ,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,suzg.IdentityCard AS pNumber,suzg.UserName AS pUser,tba.CheckTime,'ÒÑÍê³É' AS StatusStr,suzg.IdentityCard,suzg.UserName,tba.CheckTime AS UpdateTime,tba.CheckTime AS CreateTime, + ROW_NUMBER() OVER ( + PARTITION BY tba.CheckManId, CAST(tba.CheckTime AS DATE) + ORDER BY tba.CheckTime ASC + ) AS rn + FROM HSSE_Hazard_HazardRegister AS tba WITH(NOLOCK) + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + LEFT JOIN Sys_User AS suzg WITH(NOLOCK) ON suzg.UserId = tba.CheckManId + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = suzg.UnitId --AND LEN(bu.CollCropCode)=18 + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.CheckTime>='2026-01-01' + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suzg.IdentityCard)=18 + ) + --Íø¸ñ»¯Ѳ²é¼Ç¼Êý¾ݳõʼ»¯ + INSERT INTO SANKU_GRID_PATROL(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,PATROL_TIME,PATROL_STATUS,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT HazardRegisterId,pro_code,pro_name,MasterAdOrgCode,CollCropCode,UnitName,pNumber,pUser,CheckTime,StatusStr,IdentityCard,UserName,UpdateTime,CreateTime + FROM temp_data + WHERE rn = 1 AND HazardRegisterId NOT IN (SELECT RECORD_ID FROM SANKU_GRID_PATROL WITH(NOLOCK)); + END + + IF @type = 'SANKU_WORK_BRIEFING' OR @trimType = '' + BEGIN + --°àǰº°»°·¢Æð¼Ç¼ + INSERT INTO SANKU_WORK_BRIEFING(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,PERSONNEL_ID_NUMBER,PERSONNEL_NAME + ,BRIEFING_TIME,BRIEFING_DATE,POSITION_NAME,BRIEFING_CONTENT,PARTICIPANT_COUNT,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.ClassMeetingId,pms.pro_code,pms.pro_name,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,suc.IdentityCard,suc.UserName,tba.ClassMeetingDate,DATEADD(DAY,-1,tba.ClassMeetingDate),CASE WHEN ppusr.RoleName IS NULL THEN '°²ȫԱ' ELSE ppusr.RoleName END AS WorkPostName,tba.ClassMeetingName+'-'+dbo.StripHtml(ClassMeetingContents),tba.AttentPersonNum + ,suc.IdentityCard,suc.UserName,ISNULL(tba.CompileDate,tba.ClassMeetingDate),ISNULL(tba.CompileDate,tba.ClassMeetingDate) + FROM Meeting_ClassMeeting AS tba WITH(NOLOCK) + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CompileMan + LEFT JOIN Project_ProjectUser AS ppu WITH(NOLOCK) ON ppu.UserId = tba.CompileMan AND ppu.ProjectId=tba.ProjectId + LEFT JOIN Sys_Role AS ppusr WITH(NOLOCK) ON ppusr.RoleId = ppu.RoleId + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL AND tba.TeamGroupId IS NOT NULL AND tba.ClassMeetingDate>='2026-01-01' + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND LEN(suc.IdentityCard)=18 + AND tba.ClassMeetingId NOT IN (SELECT RECORD_ID FROM SANKU_WORK_BRIEFING WITH(NOLOCK)); + END + + IF @type = 'SANKU_WORK_BRIEFING_PARTICIPANT' OR @trimType = '' + BEGIN + --°àǰº°»°²ÎÓë¼Ç¼ + INSERT INTO SANKU_WORK_BRIEFING_PARTICIPANT(BRIEFING_ID,RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME + ,PERSONNEL_ID_NUMBER,PERSONNEL_NAME,POSITION_NAME,PARTICIPATE_DATE,PARTICIPATE_RESULT,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.BRIEFING_ID,mcm.ClassMeetingId,tba.PROJECT_CODE,tba.PROJECT_NAME,bu.MasterAdOrgCode,bu.CollCropCode, + CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName, + spp.IdentityCard,spp.PersonName,ISNULL(bwp.WorkPostName,'') AS WorkPostName,mcm.ClassMeetingDate,'ÒѲÎÓë' AS Status,suc.IdentityCard AS CompileIC,suc.UserName AS CompileUserName, + ISNULL(mcm.CompileDate,mcm.ClassMeetingDate) AS CompileDate1,ISNULL(mcm.CompileDate,mcm.ClassMeetingDate) AS CompileDate2 + FROM SANKU_WORK_BRIEFING AS tba WITH(NOLOCK) + LEFT JOIN Meeting_ClassMeeting AS mcm WITH(NOLOCK) ON mcm.ClassMeetingId = tba.RECORD_ID + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = mcm.CompileMan + --LEFT JOIN ProjectData_TeamGroup AS ptg WITH(NOLOCK) ON ptg.TeamGroupId = mcm.TeamGroupId + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.TeamGroupId = mcm.TeamGroupId + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = spp.UnitId + LEFT JOIN Base_WorkPost AS bwp WITH(NOLOCK) ON bwp.WorkPostId = spp.WorkPostId + WHERE LEN(spp.IdentityCard) = 18 AND spp.IsUsed = 1 AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode) = 18) + AND NOT EXISTS ( SELECT 1 FROM SANKU_WORK_BRIEFING_PARTICIPANT AS bp WITH(NOLOCK) WHERE bp.RECORD_ID = mcm.ClassMeetingId AND bp.PERSONNEL_ID_NUMBER = spp.IdentityCard ) + ORDER BY tba.BRIEFING_ID; + END + + IF @type = 'SANKU_SAFETY_TECH_BRIEFING' OR @trimType = '' + BEGIN + --°²ȫ¼¼Êõ½»µ׼Ǽ + INSERT INTO SANKU_SAFETY_TECH_BRIEFING(RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,BRIEFING_TIME,BRIEFING_DATE,BRIEFING_CONTENT,BRIEFING_STATUS,BRIEFING_PERSONNEL_ID_NUMBER,BRIEFING_PERSONNEL_NAME,PERSONNEL_NAME,ID_NUMBER, + POSITION_NAME,BRIEFING_RESULT,SIGN_STATUS,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.HSETechnicalId,pms.pro_code,pms.pro_name + ,bu.MasterAdOrgCode,bu.CollCropCode,CASE WHEN bu.MasterAdOrgCode IS NULL OR LTRIM(RTRIM(bu.MasterAdOrgCode)) = '' THEN bu.UnitName ELSE bu.MasterAdOrgName END AS UnitName + ,tba.HSETechnicalDate,tba.HSETechnicalDate,tba.WorkContents,'Òѽ»µ×',suc.IdentityCard,suc.UserName + ,spp.PersonName,spp.IdentityCard,ISNULL(bwp.WorkPostName,'°²ȫԱ'),'Òѽ»µ×','ÒÑǩ×Ö',suc.IdentityCard,suc.UserName,tba.CompileDate,tba.CompileDate + FROM License_HSETechnical AS tba WITH(NOLOCK) + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = tba.CompileMan + LEFT JOIN Base_Unit AS bu WITH(NOLOCK) ON bu.UnitId = tba.UnitId --AND LEN(bu.CollCropCode)=18 + --LEFT JOIN ProjectData_TeamGroup AS ptg WITH(NOLOCK) ON ptg.TeamGroupId = tba.TeamGroupId + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.TeamGroupId = tba.TeamGroupId + LEFT JOIN Base_WorkPost AS bwp WITH(NOLOCK) ON bwp.WorkPostId = suc.WorkPostId + --LEFT JOIN Base_WorkPost AS bwp WITH(NOLOCK) ON bwp.WorkPostId = spp.WorkPostId + LEFT JOIN Base_Project AS bp WITH(NOLOCK) ON bp.ProjectId = tba.ProjectId + LEFT JOIN ads_pms_pro_info_build AS pms WITH(NOLOCK) ON pms.pro_id = bp.MasterSysId + WHERE tba.HSETechnicalDate>='2026-01-01' AND LEN(suc.IdentityCard)=18 AND LEN(spp.IdentityCard)=18 + AND (bu.MasterAdOrgCode IS NOT NULL OR LEN(bu.CollCropCode)=18) AND bp.MasterSysId IS NOT NULL AND pms.pro_code IS NOT NULL + AND NOT EXISTS (SELECT 1 FROM SANKU_SAFETY_TECH_BRIEFING AS bp WITH(NOLOCK) WHERE bp.RECORD_ID = tba.HSETechnicalId AND bp.ID_NUMBER = spp.IdentityCard ); + + --°²ȫ¼¼Êõ½»µ׼Ç¼Σ´󹤳̽»µ× + INSERT INTO SANKU_SAFETY_TECH_BRIEFING(DANGEROUS_ID,RECORD_ID,PROJECT_CODE,PROJECT_NAME,SUBCONTRACTOR_ID,SUBCONTRACTOR_CODE,SUBCONTRACTOR_NAME,SCHEME_CODE,ENGINEERING_DATE,BRIEFING_TIME,BRIEFING_DATE,BRIEFING_CONTENT,BRIEFING_STATUS,BRIEFING_PERSONNEL_ID_NUMBER,BRIEFING_PERSONNEL_NAME,PERSONNEL_NAME,ID_NUMBER, + POSITION_NAME,BRIEFING_RESULT,SIGN_STATUS,SUBMITTER_ID_NUMBER,SUBMITTER_NAME,UPDATE_TIME,CREATE_TIME) + SELECT tba.DANGEROUS_ID,slh.HazardId,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_CODE,tba.SUBCONTRACTOR_NAME, + slh.HazardCode,slh.ExpectedTime,slh.ExpectedTime,slh.ExpectedTime,CONCAT(slh.HazardName,'£º',sc.ConstText),'Òѽ»µ×',suc.IdentityCard,suc.UserName,spp.PersonName,spp.IdentityCard, + ISNULL(bwp.WorkPostName,'°²ȫԱ'),'Òѽ»µ×','ÒÑǩ×Ö',suc.IdentityCard,suc.UserName,ISNULL(slh.RecordTime,slh.ExpectedTime) AS CompileDate1,ISNULL(slh.RecordTime,slh.ExpectedTime) AS CompileDate2 + FROM SANKU_DANGEROUS_ENGINEERING AS tba WITH(NOLOCK) + LEFT JOIN Solution_LargerHazard AS slh WITH(NOLOCK) ON slh.HazardId = tba.RECORD_ID + LEFT JOIN Sys_Const AS sc WITH(NOLOCK) ON sc.GroupId='LargerHazardType' AND sc.ConstValue= slh.HazardType + LEFT JOIN Sys_User AS suc WITH(NOLOCK) ON suc.UserId = slh.RecardMan + LEFT JOIN SitePerson_Person AS spp WITH(NOLOCK) ON spp.PersonId = slh.StandbyPersonnelId + LEFT JOIN Base_WorkPost AS bwp WITH(NOLOCK) ON bwp.WorkPostId = suc.WorkPostId + WHERE slh.HazardId NOT IN (SELECT RECORD_ID FROM SANKU_SAFETY_TECH_BRIEFING WITH(NOLOCK) WHERE DANGEROUS_ID IS NOT NULL) + ORDER BY tba.DANGEROUS_ID; + END + END +END +GO + + diff --git a/SUBQHSE/BLL/SanKu/SanKuDataSummaryReportService.cs b/SUBQHSE/BLL/SanKu/SanKuDataSummaryReportService.cs index 66e78f0..e719f5d 100644 --- a/SUBQHSE/BLL/SanKu/SanKuDataSummaryReportService.cs +++ b/SUBQHSE/BLL/SanKu/SanKuDataSummaryReportService.cs @@ -53,6 +53,45 @@ namespace BLL #region 业务更新 + #region 项目关键岗位人员 + + /// + /// 更新项目关键岗位人员 + /// + /// 人员id + /// 项目id + /// + /// + public static string UpdatePersonRecord(string recordId, string projectId, ref string message) + { + string result = string.Empty; + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + string status = string.Empty; + //查询项目人员当前状态 + var puser = db.Project_ProjectUser.Where(x => x.UserId == recordId && x.ProjectId == projectId).FirstOrDefault(); + status = puser != null && puser.IsPost == true ? "在岗" : "离岗"; + var pro = db.Base_Project.Where(x => x.ProjectId == projectId).FirstOrDefault(); + if (pro != null && !string.IsNullOrWhiteSpace(pro.MasterSysId)) + { + var mpro = db.Ads_pms_pro_info_build.Where(x => x.Pro_id == pro.MasterSysId).FirstOrDefault(); + if (mpro != null) + { + var exist = db.SANKU_PERSONNEL.Where(x => x.RECORD_ID == recordId && x.PROJECT_CODE == mpro.Pro_code).FirstOrDefault(); + if (exist != null) + { + exist.STATUS = status; + exist.ReportDate = null; + db.SubmitChanges(); + } + } + } + return result; + } + } + + #endregion + #region 班前喊话发起记录 /// @@ -1769,6 +1808,7 @@ namespace BLL SUBCONTRACTOR_CODE = bu.CollCropCode, SUBCONTRACTOR_NAME = bu.UnitName, ENGINEERING_DATE = tba.ExpectedTime == null ? DateTime.Now : (DateTime)tba.ExpectedTime, + ENGINEERING_CODE = tba.HazardCode, ENGINEERING_NAME = tba.HazardName, ENGINEERING_TYPE = LargerHazardType(tba.HazardType), ENGINEERING_ADDRESS = tba.Address, @@ -1821,7 +1861,8 @@ namespace BLL exist.SUBCONTRACTOR_ID = model.SUBCONTRACTOR_ID; exist.SUBCONTRACTOR_CODE = model.SUBCONTRACTOR_CODE; exist.SUBCONTRACTOR_NAME = model.SUBCONTRACTOR_NAME; - exist.ENGINEERING_DATE = model.ENGINEERING_DATE; + exist.ENGINEERING_DATE = model.ENGINEERING_DATE; + exist.ENGINEERING_CODE = model.ENGINEERING_CODE; exist.ENGINEERING_NAME = model.ENGINEERING_NAME; exist.ENGINEERING_TYPE = model.ENGINEERING_TYPE; exist.ENGINEERING_ADDRESS = model.ENGINEERING_ADDRESS; @@ -1848,6 +1889,7 @@ namespace BLL newModel.SUBCONTRACTOR_CODE = model.SUBCONTRACTOR_CODE; newModel.SUBCONTRACTOR_NAME = model.SUBCONTRACTOR_NAME; newModel.ENGINEERING_DATE = model.ENGINEERING_DATE; + newModel.ENGINEERING_CODE = model.ENGINEERING_CODE; newModel.ENGINEERING_NAME = model.ENGINEERING_NAME; newModel.ENGINEERING_TYPE = model.ENGINEERING_TYPE; newModel.ENGINEERING_ADDRESS = model.ENGINEERING_ADDRESS; @@ -2038,6 +2080,111 @@ namespace BLL #region 汇总上报 + #region 项目关键岗位人员 + + /// + /// 汇总上报项目关键岗位人员数据 + /// + /// 操作人,为空:定时任务自动上报 + /// + /// + public static string ReportPersonRecords(string userName, ref string message) + { + string code = "0"; + string result = "失败"; + using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) + { + var thisUnit = CommonService.GetIsThisUnit(); + string filePath = Funs.SGGLUrl; + + //获取项目关键岗位人员数据 + List reportDatas = (from x in db.SANKU_PERSONNEL where x.ReportDate == null select x).ToList(); + int total = reportDatas.Count(); + int succ = 0; + + if (!reportDatas.Any()) + { + message = "暂无需要上报的项目关键岗位人员数据!无需上报!"; + return code; + } + + #region 上报数据 + + string opType = !string.IsNullOrWhiteSpace(userName) ? "手动上报" : "自动上报"; + userName = !string.IsNullOrWhiteSpace(userName) ? userName : "定时任务"; + try + { + string baseurl = $"{SysConstSetService.CNCECPath}/api/SanKu/ReportPersonRecords"; + string contenttype = "application/json;charset=unicode"; + Hashtable newToken = new Hashtable + { + { "token", ServerService.GetToken().Token } + }; + var pushData = new SankuReportPerson + { + CollCropCode = thisUnit.CollCropCode,//分包单位社会统一信用码 + UnitId = thisUnit.UnitId,//分包单位Id + UnitName = thisUnit.UnitName,//分包单位名称 + OpType = opType, + Operator = userName, + Items = reportDatas, + }; + var pushContent = JsonConvert.SerializeObject(pushData); + + //ErrLogInfo.WriteLog($"【三库:汇总上报项目关键岗位人员数据】:{pushContent}"); + var strJosn = APIGetHttpService.Http(baseurl, "Post", contenttype, newToken, pushContent); + if (!string.IsNullOrEmpty(strJosn)) + { + //ErrLogInfo.WriteLog($"【三库:汇总上报项目关键岗位人员数据】:{strJosn}"); + JObject obj = JObject.Parse(strJosn); + code = obj["code"].ToString(); + message = obj["message"].ToString(); + if (code == "1") + { + var dateNow = DateTime.Now; + foreach (var o in reportDatas) + { + var item = db.SANKU_PERSONNEL.FirstOrDefault(e => e.PERSONNEL_ID == o.PERSONNEL_ID); + if (item != null) + { + item.ReportDate = dateNow; + db.SubmitChanges(); + } + } + result = "成功"; + } + } + else + { + message = "无返回结果"; + } + } + catch (Exception ex) + { + result = "异常"; + message = JsonConvert.SerializeObject(ex); + //message = ex.Message.ToString(); + } + + //记录上报结果日志 + Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG(); + newModel.OPTYPE = opType; + newModel.CONTENT = "上报项目关键岗位人员数据"; + newModel.RESULT = result; + newModel.DETAIL = message; + newModel.OPERATOR = userName; + newModel.CREATE_TIME = DateTime.Now; + db.SANKU_REPORT_LOG.InsertOnSubmit(newModel); + db.SubmitChanges(); + + #endregion + + return code; + } + } + + #endregion + #region 班前喊话发起记录 /// diff --git a/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj b/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj index 55ac173..7f8adb1 100644 --- a/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SUBQHSE/FineUIPro.Web/FineUIPro.Web.csproj @@ -12763,9 +12763,13 @@ ASPXCodeBehind - + + ASPXCodeBehind + - + + ASPXCodeBehind + ASPXCodeBehind @@ -12799,9 +12803,13 @@ ASPXCodeBehind - + + ASPXCodeBehind + - + + ASPXCodeBehind + ASPXCodeBehind @@ -18680,7 +18688,7 @@ - +