三库四期:关键岗位人员
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -53,6 +53,45 @@ namespace BLL
|
||||
|
||||
#region 业务更新
|
||||
|
||||
#region 项目关键岗位人员
|
||||
|
||||
/// <summary>
|
||||
/// 更新项目关键岗位人员
|
||||
/// </summary>
|
||||
/// <param name="recordId">人员id</param>
|
||||
/// <param name="projectId">项目id</param>
|
||||
/// <param name="message"></param>
|
||||
/// <returns></returns>
|
||||
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 班前喊话发起记录
|
||||
|
||||
/// <summary>
|
||||
@@ -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 项目关键岗位人员
|
||||
|
||||
/// <summary>
|
||||
/// 汇总上报项目关键岗位人员数据
|
||||
/// </summary>
|
||||
/// <param name="userName">操作人,为空:定时任务自动上报</param>
|
||||
/// <param name="message"></param>
|
||||
/// <returns></returns>
|
||||
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<Model.SANKU_PERSONNEL> 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 班前喊话发起记录
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -12763,9 +12763,13 @@
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\DangerousEngineering.aspx.designer.cs" />
|
||||
<Compile Include="SanKu\DangerousEngineeringBriefingRecord.aspx.cs" />
|
||||
<Compile Include="SanKu\DangerousEngineeringBriefingRecord.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\DangerousEngineeringBriefingRecord.aspx.designer.cs" />
|
||||
<Compile Include="SanKu\DangerousEngineeringDutyRecord.aspx.cs" />
|
||||
<Compile Include="SanKu\DangerousEngineeringDutyRecord.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\DangerousEngineeringDutyRecord.aspx.designer.cs" />
|
||||
<Compile Include="SanKu\DataValidation.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -12799,9 +12803,13 @@
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\VioLation.aspx.designer.cs" />
|
||||
<Compile Include="SanKu\WorkBriefing.aspx.cs" />
|
||||
<Compile Include="SanKu\WorkBriefing.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\WorkBriefing.aspx.designer.cs" />
|
||||
<Compile Include="SanKu\WorkBriefingParticipant.aspx.cs" />
|
||||
<Compile Include="SanKu\WorkBriefingParticipant.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="SanKu\WorkBriefingParticipant.aspx.designer.cs" />
|
||||
<Compile Include="SysManage\MasterOrg.aspx.cs">
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
@@ -18680,7 +18688,7 @@
|
||||
</FlavorProperties>
|
||||
</VisualStudio>
|
||||
</ProjectExtensions>
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v17.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v18.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
@@ -176,6 +176,13 @@ namespace FineUIPro.Web.HSSE.Meeting
|
||||
BLL.ClassMeetingService.AddClassMeeting(classMeeting);
|
||||
BLL.LogService.AddSys_Log(this.CurrUser, classMeeting.ClassMeetingCode, classMeeting.ClassMeetingId, BLL.Const.ProjectClassMeetingMenuId, BLL.Const.BtnAdd);
|
||||
}
|
||||
//更新三库班前喊话发起记录
|
||||
string message = string.Empty;
|
||||
SanKuDataSummaryReportService.UpdateWorkBriefingRecord(this.ClassMeetingId, ref message);
|
||||
if (!string.IsNullOrWhiteSpace(message))
|
||||
{
|
||||
ShowNotify(message, MessageBoxIcon.Warning);
|
||||
}
|
||||
// Project_HSSEData_HSSEService.StatisticalData(this.CurrUser.LoginProjectId, Project_HSSEData_HSSEService.HSSEDateType.SafetyMeeting);
|
||||
|
||||
}
|
||||
|
||||
@@ -74,6 +74,9 @@
|
||||
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
|
||||
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="ENGINEERING_CODE" DataField="ENGINEERING_CODE"
|
||||
FieldType="String" HeaderText="方案编号" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="ENGINEERING_NAME" DataField="ENGINEERING_NAME"
|
||||
FieldType="String" HeaderText="方案名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
|
||||
@@ -38,7 +38,7 @@ namespace FineUIPro.Web.SanKu
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string strSql = @"SELECT tba.RECORD_ID,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.ENGINEERING_DATE,tba.ENGINEERING_NAME,tba.ENGINEERING_TYPE,tba.ENGINEERING_ADDRESS,tba.STANDBY_PERSONNEL_NAME,tba.ReportDate
|
||||
string strSql = @"SELECT tba.RECORD_ID,tba.DANGEROUS_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.ENGINEERING_DATE,tba.ENGINEERING_CODE,tba.ENGINEERING_NAME,tba.ENGINEERING_TYPE,tba.ENGINEERING_ADDRESS,tba.STANDBY_PERSONNEL_NAME,tba.ReportDate
|
||||
FROM SANKU_DANGEROUS_ENGINEERING AS tba WITH(NOLOCK)
|
||||
WHERE 1=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
|
||||
@@ -0,0 +1,148 @@
|
||||
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Personnel.aspx.cs" Inherits="FineUIPro.Web.SanKu.Personnel" %>
|
||||
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head runat="server">
|
||||
<title>项目关键岗位人员</title>
|
||||
<link href="../res/css/common.css" rel="stylesheet" type="text/css" />
|
||||
<style type="text/css">
|
||||
.f-grid-row .f-grid-cell-inner {
|
||||
white-space: normal;
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form id="form1" runat="server">
|
||||
<f:PageManager ID="PageManager1" AutoSizePanelID="Panel1" runat="server" />
|
||||
<f:Panel ID="Panel1" runat="server" Margin="5px" BodyPadding="5px" ShowBorder="false"
|
||||
ShowHeader="false" Layout="VBox" BoxConfigAlign="Stretch">
|
||||
<Items>
|
||||
<f:Grid ID="Grid1" ShowBorder="true" ShowHeader="false" Title="项目关键岗位人员" EnableCollapse="true"
|
||||
runat="server" BoxFlex="1" DataKeyNames="PERSONNEL_ID" EnableColumnLines="true"
|
||||
DataIDField="RECORD_ID" AllowSorting="true" SortField="ReportDate DESC,PROJECT_CODE,PERSONNEL_NAME" ForceFit="true"
|
||||
SortDirection="ASC" OnSort="Grid1_Sort" AllowPaging="true" IsDatabasePaging="true"
|
||||
PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableRowDoubleClickEvent="true"
|
||||
OnRowDoubleClick="Grid1_RowDoubleClick" EnableTextSelection="True">
|
||||
<Toolbars>
|
||||
<f:Toolbar ID="Toolbar2" Position="Top" runat="server">
|
||||
<Items>
|
||||
<f:TextBox runat="server" Label="项目名称" ID="txtProjectName" EmptyText="输入集团主数据项目名称" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="280px" LabelWidth="80px">
|
||||
</f:TextBox>
|
||||
<f:TextBox runat="server" Label="人员姓名" ID="txtPerson" EmptyText="输入人员姓名" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="80px">
|
||||
</f:TextBox>
|
||||
<f:TextBox runat="server" Label="角色名称" ID="txtRole" EmptyText="输入人员角色名称" AutoPostBack="true"
|
||||
OnTextChanged="TextBox_TextChanged" Width="260px" LabelWidth="80px">
|
||||
</f:TextBox>
|
||||
<f:ToolbarSeparator runat="server"></f:ToolbarSeparator>
|
||||
<f:RadioButtonList runat="server" ID="rbIsReport" Label="是否上报" Width="280px" LabelWidth="80px" AutoPostBack="true" OnSelectedIndexChanged="TextBox_TextChanged">
|
||||
<f:RadioItem Text="全部" Value="-1" />
|
||||
<f:RadioItem Text="未上报" Value="0" Selected="true" />
|
||||
<f:RadioItem Text="已上报" Value="1" />
|
||||
</f:RadioButtonList>
|
||||
<f:ToolbarFill runat="server"></f:ToolbarFill>
|
||||
<f:Button ID="btnCollect" OnClick="btnCollect_Click" runat="server" Text="收集" ToolTip="数据收集" Icon="DatabaseCopy" EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Button ID="btnReport" OnClick="btnReport_Click" runat="server" Text="上报" ToolTip="上报" Icon="WorldGo" EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Button ID="btnDelAll" OnClick="btnDelAll_Click" runat="server" Text="清空" ToolTip="清空所有数据" ConfirmText="确定清空所有数据?请谨慎操作!" Icon="DatabaseDelete" EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
<f:Button ID="btnOut" OnClick="btnOut_Click" runat="server" ToolTip="导出" Icon="FolderUp"
|
||||
EnableAjax="false" DisableControlBeforePostBack="false">
|
||||
</f:Button>
|
||||
</Items>
|
||||
</f:Toolbar>
|
||||
</Toolbars>
|
||||
<Columns>
|
||||
<f:TemplateField ColumnID="tfNumber" Width="50px" HeaderText="序号" HeaderTextAlign="Center" TextAlign="Center">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblNumber" runat="server" Text='<%# Grid1.PageIndex * Grid1.PageSize + Container.DataItemIndex + 1 %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</f:TemplateField>
|
||||
<%--<f:RenderField Width="100px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
|
||||
FieldType="Date" Renderer="Date" HeaderText="上报日期" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>--%>
|
||||
<f:RenderField Width="140px" ColumnID="ReportDate" DataField="ReportDate" SortField="ReportDate"
|
||||
FieldType="Date" Renderer="Date" RendererArgument="yyyy-MM-dd HH:mm:ss" HeaderText="上报时间" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="PROJECT_CODE" DataField="PROJECT_CODE" SortField="PROJECT_CODE"
|
||||
FieldType="String" HeaderText="主数据项目编号" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="220px" ColumnID="PROJECT_NAME" DataField="PROJECT_NAME" SortField="PROJECT_NAME"
|
||||
FieldType="String" HeaderText="主数据项目" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="SUBCONTRACTOR_ID" DataField="SUBCONTRACTOR_ID" SortField="SUBCONTRACTOR_ID"
|
||||
FieldType="String" HeaderText="主数据组织编码" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="220px" ColumnID="SUBCONTRACTOR_NAME" DataField="SUBCONTRACTOR_NAME"
|
||||
FieldType="String" HeaderText="单位名称" HeaderTextAlign="Center" TextAlign="Left">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="140px" ColumnID="PERSONNEL_NAME" DataField="PERSONNEL_NAME"
|
||||
FieldType="String" HeaderText="人员名称" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="160px" ColumnID="PERSONNEL_ID_NUMBER" DataField="PERSONNEL_ID_NUMBER"
|
||||
FieldType="String" HeaderText="证件号码" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="POSITION_NAME" DataField="POSITION_NAME"
|
||||
FieldType="String" HeaderText="人员岗位" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="130px" ColumnID="WORK_ROLE" DataField="WORK_ROLE"
|
||||
FieldType="String" HeaderText="人员角色" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="60px" ColumnID="SEX" DataField="SEX"
|
||||
FieldType="String" HeaderText="性别" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="120px" ColumnID="PHONE" DataField="PHONE"
|
||||
FieldType="String" HeaderText="联系方式" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
<f:RenderField Width="60px" ColumnID="STATUS" DataField="STATUS"
|
||||
FieldType="String" HeaderText="状态" HeaderTextAlign="Center" TextAlign="Center">
|
||||
</f:RenderField>
|
||||
</Columns>
|
||||
<Listeners>
|
||||
<f:Listener Event="beforerowcontextmenu" Handler="onRowContextMenu" />
|
||||
</Listeners>
|
||||
<PageItems>
|
||||
<f:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
|
||||
</f:ToolbarSeparator>
|
||||
<f:ToolbarText ID="ToolbarText1" runat="server" Text="每页记录数:">
|
||||
</f:ToolbarText>
|
||||
<f:DropDownList runat="server" ID="ddlPageSize" Width="80px" AutoPostBack="true"
|
||||
OnSelectedIndexChanged="ddlPageSize_SelectedIndexChanged">
|
||||
</f:DropDownList>
|
||||
</PageItems>
|
||||
</f:Grid>
|
||||
</Items>
|
||||
</f:Panel>
|
||||
<f:Window ID="Window1" Title="班前喊话参与记录" Hidden="true" EnableIFrame="true" EnableMaximize="true"
|
||||
Target="Parent" EnableResize="false" runat="server" IsModal="true" Width="1200px"
|
||||
Height="720px" OnClose="Window1_Close">
|
||||
</f:Window>
|
||||
<f:Menu ID="Menu1" runat="server">
|
||||
<%--<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true"
|
||||
Hidden="true" runat="server" Text="编辑" Icon="Pencil">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="btnMenuDelete" ConfirmText="确定删除当前数据?" OnClick="btnMenuDelete_Click" EnablePostBack="true"
|
||||
Hidden="true" runat="server" Text="删除" Icon="Delete">
|
||||
</f:MenuButton>
|
||||
<f:MenuButton ID="MenuView" EnablePostBack="true" runat="server" Text="查看" Icon="find" OnClick="MenuView_Click">
|
||||
</f:MenuButton>--%>
|
||||
</f:Menu>
|
||||
</form>
|
||||
<script type="text/jscript">
|
||||
var menuID = '<%= Menu1.ClientID %>';
|
||||
// 返回false,来阻止浏览器右键菜单
|
||||
function onRowContextMenu(event, rowId) {
|
||||
F(menuID).show(); //showAt(event.pageX, event.pageY);
|
||||
return false;
|
||||
}
|
||||
|
||||
function reloadGrid() {
|
||||
__doPostBack(null, 'reloadGrid');
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,325 @@
|
||||
using BLL;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
|
||||
namespace FineUIPro.Web.SanKu
|
||||
{
|
||||
public partial class Personnel : PageBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 加载页面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Funs.DropDownPageSize(this.ddlPageSize);
|
||||
////权限按钮方法
|
||||
this.GetButtonPower();
|
||||
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
|
||||
{
|
||||
Grid1.PageSize = this.CurrUser.PageSize.Value;
|
||||
}
|
||||
|
||||
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
|
||||
// 绑定表格
|
||||
this.BindGrid();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 绑定数据
|
||||
/// </summary>
|
||||
private void BindGrid()
|
||||
{
|
||||
string strSql = @"SELECT tba.PERSONNEL_ID,tba.RECORD_ID,tba.PROJECT_CODE,tba.PROJECT_NAME,tba.SUBCONTRACTOR_ID,tba.SUBCONTRACTOR_NAME,tba.PERSONNEL_NAME,tba.PERSONNEL_ID_NUMBER,tba.SEX,tba.POSITION_NAME,tba.WORK_ROLE,tba.PHONE,tba.STATUS,tba.ReportDate
|
||||
FROM SANKU_PERSONNEL AS tba WITH(NOLOCK)
|
||||
WHERE 1=1 ";
|
||||
List<SqlParameter> listStr = new List<SqlParameter>();
|
||||
if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim()))
|
||||
{
|
||||
strSql += " AND tba.PROJECT_NAME LIKE @ProjectName";
|
||||
listStr.Add(new SqlParameter("@ProjectName", "%" + this.txtProjectName.Text.Trim() + "%"));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtRole.Text.Trim()))
|
||||
{
|
||||
strSql += " AND tba.WORK_ROLE LIKE @Content";
|
||||
listStr.Add(new SqlParameter("@Content", "%" + this.txtRole.Text.Trim() + "%"));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(this.txtPerson.Text.Trim()))
|
||||
{
|
||||
strSql += " AND tba.PERSONNEL_NAME LIKE @PersonName";
|
||||
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPerson.Text.Trim() + "%"));
|
||||
}
|
||||
if (this.rbIsReport.SelectedValue == "0")
|
||||
{//未上报
|
||||
strSql += " AND tba.ReportDate IS NULL";
|
||||
}
|
||||
else if (this.rbIsReport.SelectedValue == "1")
|
||||
{//已上报
|
||||
strSql += " AND tba.ReportDate IS NOT NULL";
|
||||
}
|
||||
SqlParameter[] parameter = listStr.ToArray();
|
||||
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
|
||||
|
||||
Grid1.RecordCount = tb.Rows.Count;
|
||||
//tb = GetFilteredTable(Grid1.FilteredData, tb);
|
||||
var table = this.GetPagedDataTable(Grid1, tb);
|
||||
Grid1.DataSource = table;
|
||||
Grid1.DataBind();
|
||||
}
|
||||
|
||||
#region 查询
|
||||
/// <summary>
|
||||
/// 查询
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void TextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 数据收集、清空
|
||||
|
||||
/// <summary>
|
||||
/// 数据收集
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnCollect_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataOp("1");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据清空
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnDelAll_Click(object sender, EventArgs e)
|
||||
{
|
||||
DataOp("0");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 数据操作
|
||||
/// </summary>
|
||||
/// <param name="op"></param>
|
||||
private void DataOp(string op)
|
||||
{
|
||||
var db = Funs.DB;
|
||||
string resultStr = string.Empty;
|
||||
string msg = string.Empty;
|
||||
try
|
||||
{
|
||||
var result = Funs.DB.SP_SANKU_DATA_INIT("SANKU_PERSONNEL", int.Parse(op));
|
||||
resultStr = "成功";
|
||||
msg = $"{(op == "1" ? "收集" : "清空所有")}项目关键岗位人员数据";
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
resultStr = "失败";
|
||||
msg = JsonConvert.SerializeObject(ex);
|
||||
}
|
||||
|
||||
//记录上报结果日志
|
||||
Model.SANKU_REPORT_LOG newModel = new Model.SANKU_REPORT_LOG();
|
||||
newModel.OPTYPE = "数据操作";
|
||||
newModel.CONTENT = $"{(op == "1" ? "收集" : "清空所有")}项目关键岗位人员数据";
|
||||
newModel.RESULT = resultStr;
|
||||
newModel.DETAIL = msg;
|
||||
newModel.OPERATOR = this.CurrUser.UserName;
|
||||
newModel.CREATE_TIME = DateTime.Now;
|
||||
db.SANKU_REPORT_LOG.InsertOnSubmit(newModel);
|
||||
db.SubmitChanges();
|
||||
|
||||
if (resultStr == "成功")
|
||||
{
|
||||
this.BindGrid();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 汇总上报
|
||||
|
||||
/// <summary>
|
||||
/// 汇总上报
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnReport_Click(object sender, EventArgs e)
|
||||
{
|
||||
string message = string.Empty;
|
||||
string code = SanKuDataSummaryReportService.ReportPersonRecords(this.CurrUser.UserName, ref message);
|
||||
if (code == "1")
|
||||
{
|
||||
this.BindGrid();
|
||||
ShowNotify(message, MessageBoxIcon.Success);
|
||||
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert.ShowInParent(message, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 导出按钮
|
||||
|
||||
/// <summary>
|
||||
/// 导出按钮
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
Response.ClearContent();
|
||||
string filename = Funs.GetNewFileName();
|
||||
Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("三库——项目关键岗位人员数据" + filename, System.Text.Encoding.UTF8) + ".xls");
|
||||
Response.ContentType = "application/excel";
|
||||
Response.ContentEncoding = System.Text.Encoding.UTF8;
|
||||
this.Grid1.PageSize = this.Grid1.RecordCount;
|
||||
this.BindGrid();
|
||||
Response.Write(GetGridTableHtml(Grid1));
|
||||
Response.End();
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 获取按钮权限
|
||||
/// <summary>
|
||||
/// 获取按钮权限
|
||||
/// </summary>
|
||||
/// <param name="button"></param>
|
||||
/// <returns></returns>
|
||||
private void GetButtonPower()
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 删除数据
|
||||
/// <summary>
|
||||
/// 右键删除事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuDelete_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.DeleteData();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除方法
|
||||
/// </summary>
|
||||
private void DeleteData()
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length > 0)
|
||||
{
|
||||
var db = Funs.DB;
|
||||
string strShowNotify = string.Empty;
|
||||
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
|
||||
{
|
||||
string rowID = Grid1.DataKeys[rowIndex][0].ToString();
|
||||
var item = db.SANKU_PERSONNEL.Where(x => x.PERSONNEL_ID == long.Parse(rowID)).FirstOrDefault();
|
||||
if (item != null)
|
||||
{
|
||||
if (item.ReportDate != null)
|
||||
{
|
||||
ShowNotify("数据已上报,无法删除!", MessageBoxIcon.Warning);
|
||||
}
|
||||
else
|
||||
{
|
||||
db.SANKU_PERSONNEL.DeleteOnSubmit(item);
|
||||
db.SubmitChanges();
|
||||
}
|
||||
}
|
||||
}
|
||||
BindGrid();
|
||||
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 分页
|
||||
/// <summary>
|
||||
/// 分页
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 分页显示条数下拉框
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 排序
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// Grid行双击事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
|
||||
{
|
||||
if (Grid1.SelectedRowIndexArray.Length == 0)
|
||||
{
|
||||
Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning);
|
||||
return;
|
||||
}
|
||||
var recordId = Grid1.SelectedRowID;
|
||||
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WorkBriefingParticipant.aspx?RecordId={0}", Grid1.SelectedRowID, "查看 - ")));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 右键编辑事件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnMenuEdit_Click(object sender, EventArgs e)
|
||||
{
|
||||
//this.EditData();
|
||||
}
|
||||
|
||||
protected void Window1_Close(object sender, WindowCloseEventArgs e)
|
||||
{
|
||||
BindGrid();
|
||||
}
|
||||
|
||||
protected void MenuView_Click(object sender, EventArgs e)
|
||||
{
|
||||
//string url = "AccidentRecordView.aspx?Id={0}";
|
||||
//PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url, Id, "操作 - ")));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
+188
@@ -0,0 +1,188 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <自动生成>
|
||||
// 此代码由工具生成。
|
||||
//
|
||||
// 对此文件的更改可能导致不正确的行为,如果
|
||||
// 重新生成代码,则所做更改将丢失。
|
||||
// </自动生成>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace FineUIPro.Web.SanKu
|
||||
{
|
||||
|
||||
|
||||
public partial class Personnel
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// form1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
|
||||
|
||||
/// <summary>
|
||||
/// PageManager1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.PageManager PageManager1;
|
||||
|
||||
/// <summary>
|
||||
/// Panel1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Panel Panel1;
|
||||
|
||||
/// <summary>
|
||||
/// Grid1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Grid Grid1;
|
||||
|
||||
/// <summary>
|
||||
/// Toolbar2 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Toolbar Toolbar2;
|
||||
|
||||
/// <summary>
|
||||
/// txtProjectName 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtProjectName;
|
||||
|
||||
/// <summary>
|
||||
/// txtPerson 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtPerson;
|
||||
|
||||
/// <summary>
|
||||
/// txtRole 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.TextBox txtRole;
|
||||
|
||||
/// <summary>
|
||||
/// rbIsReport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.RadioButtonList rbIsReport;
|
||||
|
||||
/// <summary>
|
||||
/// btnCollect 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnCollect;
|
||||
|
||||
/// <summary>
|
||||
/// btnReport 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnReport;
|
||||
|
||||
/// <summary>
|
||||
/// btnDelAll 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnDelAll;
|
||||
|
||||
/// <summary>
|
||||
/// btnOut 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Button btnOut;
|
||||
|
||||
/// <summary>
|
||||
/// lblNumber 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblNumber;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarSeparator1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1;
|
||||
|
||||
/// <summary>
|
||||
/// ToolbarText1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.ToolbarText ToolbarText1;
|
||||
|
||||
/// <summary>
|
||||
/// ddlPageSize 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.DropDownList ddlPageSize;
|
||||
|
||||
/// <summary>
|
||||
/// Window1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Window Window1;
|
||||
|
||||
/// <summary>
|
||||
/// Menu1 控件。
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// 自动生成的字段。
|
||||
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
|
||||
/// </remarks>
|
||||
protected global::FineUIPro.Menu Menu1;
|
||||
}
|
||||
}
|
||||
@@ -46,10 +46,9 @@ namespace Model
|
||||
public string SUBCONTRACTOR_CODE { get; set; }
|
||||
public string SUBCONTRACTOR_NAME { get; set; }
|
||||
public DateTime ENGINEERING_DATE { get; set; }
|
||||
public string ENGINEERING_CODE { get; set; }
|
||||
public string ENGINEERING_NAME { get; set; }
|
||||
public string ENGINEERING_TYPE { get; set; }
|
||||
public string ENGINEERING_LEVEL { get; set; }
|
||||
public string ENGINEERING_STATE { get; set; }
|
||||
public string ENGINEERING_TYPE { get; set; }
|
||||
public string ENGINEERING_ADDRESS { get; set; }
|
||||
public string ENGINEERING_DESC { get; set; }
|
||||
public string STANDBY_PERSONNEL_ID_NUMBER { get; set; }
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Model
|
||||
{
|
||||
/// <summary>
|
||||
/// 三库项目关键岗位人员上报
|
||||
/// </summary>
|
||||
public class SankuReportPerson
|
||||
{
|
||||
/// <summary>
|
||||
/// 分包单位社会统一信用码
|
||||
/// </summary>
|
||||
public string CollCropCode { get; set; }
|
||||
/// <summary>
|
||||
/// 上报方式【自动上报、手动上报】
|
||||
/// </summary>
|
||||
public string OpType { get; set; }
|
||||
/// <summary>
|
||||
/// 上报人
|
||||
/// </summary>
|
||||
public string Operator { get; set; }
|
||||
/// <summary>
|
||||
/// 分包单位Id
|
||||
/// </summary>
|
||||
public string UnitId { get; set; }
|
||||
/// <summary>
|
||||
/// 分包单位名称
|
||||
/// </summary>
|
||||
public string UnitName { get; set; }
|
||||
/// <summary>
|
||||
/// 业务数据集合
|
||||
/// </summary>
|
||||
public List<SANKU_PERSONNEL> Items { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 三库班前喊话发起记录数据
|
||||
/// </summary>
|
||||
public class SankuPerson
|
||||
{
|
||||
public string RECORD_ID { get; set; }
|
||||
public string PROJECT_CODE { get; set; }
|
||||
public string PROJECT_NAME { get; set; }
|
||||
public string SUBCONTRACTOR_ID { get; set; }
|
||||
public string SUBCONTRACTOR_CODE { get; set; }
|
||||
public string SUBCONTRACTOR_NAME { get; set; }
|
||||
public string PERSONNEL_ID_NUMBER { get; set; }
|
||||
public string PERSONNEL_NAME { get; set; }
|
||||
public DateTime BRIEFING_TIME { get; set; }
|
||||
public DateTime BRIEFING_DATE { get; set; }
|
||||
public string POSITION_NAME { get; set; }
|
||||
public string BRIEFING_CONTENT { get; set; }
|
||||
public int PARTICIPANT_COUNT { get; set; }
|
||||
public string SUBMITTER_ID_NUMBER { get; set; }
|
||||
public string SUBMITTER_NAME { get; set; }
|
||||
public DateTime UPDATE_TIME { get; set; }
|
||||
public DateTime CREATE_TIME { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -35,6 +35,32 @@ namespace WebAPI.Controllers
|
||||
|
||||
#endregion
|
||||
|
||||
#region 上报项目关键岗位人员数据
|
||||
|
||||
/// <summary>
|
||||
/// 上报项目关键岗位人员数据
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
public ReturnData ReportPersonRecords()
|
||||
{
|
||||
Model.ReturnData responeData = new Model.ReturnData();
|
||||
string message = string.Empty;
|
||||
string code = SanKuDataSummaryReportService.ReportPersonRecords("", ref message);
|
||||
if (code == "1")
|
||||
{
|
||||
responeData.code = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
responeData.code = 0;
|
||||
}
|
||||
responeData.message = message;
|
||||
return responeData;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 上报事故事件数据
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -161,8 +161,9 @@ namespace WebAPI.Filter
|
||||
, "TestRecord*getTestRecordItemAnswerBySelectedItem"
|
||||
, "TestRecord*postSubmitTestRecord"
|
||||
, "TestRecord*getTestScoreByPersonId"
|
||||
, "ShouYe*GetRectificationOutputs "
|
||||
, "ShouYe*GetRectificationOutputs"
|
||||
,"SanKu*DataCollectOp"
|
||||
,"SanKu*ReportPersonRecords"
|
||||
,"SanKu*ReportAccidentRecords"
|
||||
,"SanKu*ReportViolationRecords"
|
||||
,"SanKu*ReportSafetyRewardRecords"
|
||||
|
||||
Reference in New Issue
Block a user