ALTER VIEW [dbo].[View_SitePerson_Person] AS /*现场人员视图*/ SELECT SitePerson.ProjectId, Project.ProjectCode, Project.ProjectName, SitePerson.SitePersonId, persons.PersonId, SitePerson.CardNo, Persons.PersonName, Persons.Sex, (Case Persons.Sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '' END) AS SexName, Persons.IdentityCard, Persons.Address, SitePerson.UnitId, Persons.Birthday, SitePerson.TeamGroupId, SitePerson.WorkAreaId, SitePerson.WorkPostId, SitePerson.InTime, SitePerson.OutTime, SitePerson.OutResult, Persons.Telephone, Persons.PositionId, Persons.PostTitleId, Persons.PhotoUrl, Unit.UnitCode, Unit.UnitName, TeamGroup.TeamGroupName, Post.WorkPostName, Position.PositionName, Title.PostTitleName, Depart.DepartName, Post.PostType, Post.IsHsse, (SELECT COUNT(*) FROM EduTrain_TrainRecordDetail T LEFT JOIN EduTrain_TrainRecord AS E ON T.TrainingId=E.TrainingId WHERE T.PersonId=SitePerson.PersonId AND E.ProjectId=SitePerson.ProjectId) AS TrainCount, (SELECT COUNT(*) FROM Training_TestRecord R WHERE R.TestManId=SitePerson.PersonId AND R.ProjectId=SitePerson.ProjectId and R.TestScores > 80) AS TrainCount1, SitePerson.AuditorId, Persons.PersonName AS AuditorName, SitePerson.AuditorDate, Persons.IDCardUrl, Persons.IsForeign, case when Persons.IsForeign=1 then '是' else '否' end as IsForeignStr, Persons.IdcardType, BasicData1.dictName as IdcardTypeName, Persons.IdcardStartDate, Persons.IdcardEndDate, Persons.IdcardForever, case when Persons.IdcardForever='Y' then '是' else '否' end as IdcardForeverStr, Persons.PoliticsStatus, BasicData2.dictName as PoliticsStatusName, Persons.IdcardAddress, Persons.Nation, BasicData3.dictName as NationName, Persons.EduLevel, BasicData4.dictName as EduLevelName, Persons.MaritalStatus, BasicData5.dictName as MaritalStatusName, Persons.CountryCode, Country.cname as CountryName, Persons.ProvinceCode, City.cname as ProvinceName, Persons.PersonType, (case when Persons.PersonType='2' then '外聘' when Persons.PersonType='3' then '第三方' else '员工' end) as IsOutsideStr, --WorkArea.UnitWorkCode AS WorkAreaCode, WorkAreaCode= STUFF((SELECT ',' + UnitWorkCode FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), --WorkArea.UnitWorkName AS WorkAreaName WorkAreaName= STUFF((SELECT ',' + UnitWorkName FROM dbo.WBS_UnitWork where PATINDEX('%,' + RTRIM(UnitWorkId) + ',%',',' +SitePerson.WorkAreaId + ',')>0 FOR XML PATH('')), 1, 1,''), SitePerson.RealNameAddTime, SitePerson.RealNameUpdateTime, Persons.HeadImage, SitePerson.States FROM SitePerson_Person AS SitePerson LEFT JOIN Person_Persons AS Persons ON SitePerson.PersonId=Persons.PersonId LEFT JOIN Base_Project AS Project ON Project.ProjectId=SitePerson.ProjectId LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = SitePerson.UnitId LEFT JOIN ProjectData_TeamGroup AS TeamGroup ON TeamGroup.TeamGroupId=SitePerson.TeamGroupId LEFT JOIN Base_WorkPost AS Post ON Post.WorkPostId = SitePerson.WorkPostId LEFT JOIN Base_Position AS Position ON Position.PositionId = Persons.PositionId Left JOIN Base_PostTitle AS Title ON Title.PostTitleId = Persons.PostTitleId Left JOIN Base_Depart AS Depart ON Depart.DepartId = Persons.DepartId Left JOIN RealName_BasicData AS BasicData1 ON BasicData1.dictCode = Persons.IdcardType Left JOIN RealName_BasicData AS BasicData2 ON BasicData2.dictCode = Persons.PoliticsStatus Left JOIN RealName_BasicData AS BasicData3 ON BasicData3.dictCode = Persons.Nation Left JOIN RealName_BasicData AS BasicData4 ON BasicData4.dictCode = Persons.EduLevel Left JOIN RealName_BasicData AS BasicData5 ON BasicData5.dictCode = Persons.MaritalStatus Left JOIN RealName_Country AS Country ON Country.CountryId = Persons.CountryCode Left JOIN RealName_City AS City ON City.provinceCode = Persons.ProvinceCode and City.CountryId = Persons.CountryCode GO alter table PHTGL_Contract add Status int alter table PHTGL_Contract add ContactUnitOfPartyA [varchar](50) alter table PHTGL_Contract add ContactPersonOfPartyA [varchar](50) alter table PHTGL_Contract add ContactPersonOfPartyB [varchar](50) alter table PHTGL_Contract add ContactPersonPhoneOfPartyB [varchar](50) alter table PHTGL_Contract add ContactPersonEmailOfPartyB [varchar](50) alter table PHTGL_Contract add ContractAmountExcludingTax [decimal](18, 2) alter table PHTGL_Contract add PriceMethod [varchar](50) alter table PHTGL_Contract add SignedOnDate date alter table PHTGL_Contract add ContractStartDate date alter table PHTGL_Contract add ContractEndDate date alter table PHTGL_Contract add PricingBasis [varchar](50) alter table PHTGL_Contract add SubcontractingMethod [varchar](50) alter table PHTGL_Contract add IsItACentralizedPurchaseSupplier int GO GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同状态' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'Status' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'甲方联系单位' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContactUnitOfPartyA' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'甲方联系人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContactPersonOfPartyA' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'乙方联系人' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContactPersonOfPartyB' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'乙方联系人电话' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContactPersonPhoneOfPartyB' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'乙方联系人邮箱' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContactPersonEmailOfPartyB' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同不含税金额' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContractAmountExcludingTax' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'计价方式' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'PriceMethod' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'签订日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'SignedOnDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同起始日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContractStartDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'合同终止日期' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'ContractEndDate' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'计价依据' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'PricingBasis' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'分包模式 1-内部分包,2-外部分包' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'SubcontractingMethod' GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'乙方是否为集采供应商/分包商 0-否,1-是' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'PHTGL_Contract', @level2type=N'COLUMN', @level2name=N'IsItACentralizedPurchaseSupplier' GO ALTER PROC [dbo].[sp_rpt_WelderFirstPassRate] @unitcode NVARCHAR(50) = NULL, --单位名称 @detectionTypeId NVARCHAR(50) = NULL, --探伤 @UnitWork NVARCHAR(50) = NULL, -- @MaterialCode NVARCHAR(50) = NULL, --材质 @SingleName NVARCHAR(50) = NULL, --口径 @Thickness NVARCHAR(50) = NULL, --壁厚 @Specification NVARCHAR(50) = NULL, --规格 @WeldTypeCode NVARCHAR(50) = NULL, --焊缝类型 @JointAttribute NVARCHAR(50) = NULL, --焊缝属性 @PersonName NVARCHAR(50) = NULL, --焊工名称 @date1 DATETIME = NULL, @date2 DATETIME = NULL, @projectId NVARCHAR(50) = NULL AS /*焊工业绩分析*/ SELECT welder.ProjectId, welder.WelderCode,-- 焊工代码 welder.PersonName,--焊工名称 unit.UnitName, --施工单位 welder.CertificateLimitTime, --资质有效期 welder.WelderLevel, --资质等级 -------------本期start CAST(ISNULL(nowtotal.nowtotal_din,0) AS DECIMAL(19,2)) AS nowtotal_din, --本期总达因值 ISNULL(nowtotal.nowtotal_jot,0) AS nowtotal_jot, --本期总焊口 ISNULL(oneCheck.OneCheckJotNum,0) AS OneCheckJotNum, -- 一次检测焊口数 (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.OneCheckRepairJotNum,0)) AS OneCheckPassJotNum,--一次检测合格焊口数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckJotNum,0) WHEN 0 THEN 0 ELSE 100.0 * (ISNULL(oneCheck.OneCheckJotNum,0)-ISNULL(oneCheckRepair.oneCheckRepairJotNum,0))/(1.0 * oneCheck.OneCheckJotNum) END) AS DECIMAL(8,1))))+'%' AS passRate, -- 合格率(焊口) ISNULL(oneCheck.OneCheckTotalFilm,0) AS OneCheckTotalFilm, --一次检测总片子数 ISNULL(oneCheck.OneCheckPassFilm,0) AS OneCheckPassFilm, --一次检测合格片子数 CONVERT(NVARCHAR(10),(CAST((CASE ISNULL(oneCheck.OneCheckTotalFilm,0) WHEN 0 THEN 0 ELSE 100.0 * ISNULL(oneCheck.OneCheckPassFilm,0)/(1.0 * oneCheck.OneCheckTotalFilm) END) AS DECIMAL(8,1))))+'%' AS passfilmrate ---RT合格率(片数) FROM SitePerson_Person AS welder LEFT JOIN dbo.Base_Unit unit ON unit.UnitId = welder.UnitId --本期总达因值 --本期总焊口 LEFT JOIN (SELECT SUM(jot.Size) AS nowtotal_din ,COUNT(*) AS nowtotal_jot ,jot.CoverWelderId FROM dbo.HJGL_WeldJoint jot LEFT JOIN dbo.HJGL_Pipeline pipe ON pipe.PipelineId = jot.PipelineId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN WBS_UnitWork area ON area.UnitWorkId = pipe.UnitWorkId LEFT JOIN dbo.Base_Material AS mat ON mat.MaterialId=pipe.MaterialId WHERE jot.WeldingDailyId IS NOT NULL AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) AND (pipe.UnitWorkId=@UnitWork OR @UnitWork IS NULL) --单位工程 AND (mat.MaterialCode like @MaterialCode OR @MaterialCode IS NULL) --材质 And (pipe.SingleName like @SingleName OR @SingleName IS NULL) --外径 GROUP BY jot.CoverWelderId) AS nowtotal ON nowtotal.CoverWelderId = welder.PersonId --本期检测焊口数 LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS OneCheckJotNum, --一次检测焊口数 SUM(ISNULL(ndeItem.TotalFilm,0)) AS OneCheckTotalFilm, --一次检测总片子数 SUM(ISNULL(ndeItem.PassFilm,0)) AS OneCheckPassFilm --一次检测合格片子数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId LEFT JOIN Base_WeldType AS WeldType ON WeldType.WeldTypeId=jot.WeldTypeId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND (point.DetectionTypeId=@detectionTypeId OR @detectionTypeId IS NULL) --表示检测类型 AND (jot.Thickness like @Thickness OR @Thickness IS NULL) --壁厚 AND (jot.Specification like @Specification OR @Specification IS NULL) --规格 AND (WeldType.WeldTypeCode like @WeldTypeCode OR @WeldTypeCode IS NULL) --焊缝类型 AND (jot.JointAttribute = @JointAttribute OR @JointAttribute IS NULL) --焊缝属性 AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY jot.CoverWelderId) AS oneCheck ON oneCheck.CoverWelderId = welder.PersonId LEFT JOIN (SELECT jot.CoverWelderId,COUNT(ndeItem.NDEItemID) AS OneCheckRepairJotNum --一次检测返修焊口数 FROM dbo.HJGL_Batch_NDEItem ndeItem LEFT JOIN dbo.HJGL_Batch_BatchTrustItem trustItem ON trustItem.TrustBatchItemId = ndeItem.TrustBatchItemId LEFT JOIN dbo.HJGL_WeldJoint jot ON jot.WeldJointId = trustItem.WeldJointId LEFT JOIN dbo.HJGL_WeldingDaily daily ON daily.WeldingDailyId = jot.WeldingDailyId LEFT JOIN dbo.HJGL_Batch_PointBatchItem pointItem ON pointItem.PointBatchItemId = trustItem.PointBatchItemId LEFT JOIN dbo.HJGL_Batch_PointBatch point ON point.PointBatchId = pointItem.PointBatchId WHERE pointItem.PointDate IS NOT NULL AND pointItem.PointState=1 AND trustItem.RepairRecordId IS NULL AND ndeItem.CheckResult='2' AND (point.DetectionTypeId=@detectionTypeId OR @detectionTypeId IS NULL) --表示检测类型 AND (daily.WeldingDate >= @date1 OR @date1 IS NULL) AND (daily.WeldingDate <= @date2 OR @date2 IS NULL) GROUP BY jot.CoverWelderId) AS oneCheckRepair ON oneCheckRepair.CoverWelderId = welder.PersonId WHERE (welder.WelderCode IS NOT NULL AND welder.WelderCode!='') AND (welder.ProjectId = @projectId OR @projectId IS NULL) AND (welder.UnitId=@unitcode OR @unitcode IS NULL) AND (welder.PersonName like @PersonName OR @PersonName IS NULL) --焊工名称 AND (welder.WorkPostId='19B8F2A9-28D3-4F20-867A-1B2237C2E228') ORDER BY welder.WelderCode GO ALTER PROCEDURE [dbo].[HJGL_rpt_CheckDefects] ( @projectId NVARCHAR(50), @unitcode NVARCHAR(50) = NULL, --单位名称 @UnitWork NVARCHAR(50) = NULL, -- @MaterialCode NVARCHAR(50) = NULL, --材质 @SingleName NVARCHAR(50) = NULL, --口径 @Thickness NVARCHAR(50) = NULL, --壁厚 @Specification NVARCHAR(50) = NULL, --规格 @WeldTypeCode NVARCHAR(50) = NULL, --焊缝类型 @JointAttribute NVARCHAR(50) = NULL, --焊缝属性 @PersonName NVARCHAR(50) = NULL --焊工名称 ) AS SELECT n.*,UnitWork.UnitWorkName,UnitWork.UnitWorkCode FROM (SELECT m.ProjectId,m.UnitWorkId,SUM(Defect1) AS Defect1,SUM(Defect2) AS Defect2,SUM(Defect3) AS Defect3, SUM(Defect4) AS Defect4,SUM(Defect5) AS Defect5,SUM(Defect6) AS Defect6,SUM(Defect7) AS Defect7, SUM(Defect8) AS Defect8,SUM(Defect9) AS Defect9,SUM(Defect10) AS Defect10,SUM(Defect11) AS Defect11, SUM(Defect12) AS Defect12,SUM(Defect13) AS Defect13,SUM(Defect14) AS Defect14,SUM(Defect15) AS Defect15, SUM(Defect16) AS Defect16,SUM(Defect17) AS Defect17,SUM(Defect18) AS Defect18, SUM(Defect19) AS Defect19,SUM(Defect20) AS Defect20,SUM(Defect21) AS Defect21 FROM (SELECT t.ProjectId,t.UnitWorkId, (SELECT COUNT(*) WHERE CHARINDEX('横裂纹',t.DefectsName)>0) AS 'Defect1', (SELECT COUNT(*) WHERE CHARINDEX('纵裂纹',t.DefectsName)>0) AS 'Defect2', (SELECT COUNT(*) WHERE CHARINDEX('弧坑裂纹',t.DefectsName)>0) AS 'Defect3', (SELECT COUNT(*) WHERE CHARINDEX('未焊透',t.DefectsName)>0) AS 'Defect4', (SELECT COUNT(*) WHERE CHARINDEX('未熔合',t.DefectsName)>0) AS 'Defect5', (SELECT COUNT(*) WHERE CHARINDEX('条渣',t.DefectsName)>0) AS 'Defect6', (SELECT COUNT(*) WHERE CHARINDEX('点渣',t.DefectsName)>0) AS 'Defect7', (SELECT COUNT(*) WHERE CHARINDEX('夹钨',t.DefectsName)>0) AS 'Defect8', (SELECT COUNT(*) WHERE CHARINDEX('气孔',t.DefectsName)>0) AS 'Defect9', (SELECT COUNT(*) WHERE CHARINDEX('条孔',t.DefectsName)>0) AS 'Defect10', (SELECT COUNT(*) WHERE CHARINDEX('焊瘤',t.DefectsName)>0) AS 'Defect11', (SELECT COUNT(*) WHERE CHARINDEX('内凹',t.DefectsName)>0) AS 'Defect12', (SELECT COUNT(*) WHERE CHARINDEX('根部咬边',t.DefectsName)>0) AS 'Defect13', (SELECT COUNT(*) WHERE CHARINDEX('错口',t.DefectsName)>0) AS 'Defect14', (SELECT COUNT(*) WHERE CHARINDEX('表面沟槽',t.DefectsName)>0) AS 'Defect15', (SELECT COUNT(*) WHERE CHARINDEX('根部氧化',t.DefectsName)>0) AS 'Defect16', (SELECT COUNT(*) WHERE CHARINDEX('深孔',t.DefectsName)>0) AS 'Defect17', (SELECT COUNT(*) WHERE CHARINDEX('间隙超过1~3mm',t.DefectsName)>0) AS 'Defect18', (SELECT COUNT(*) WHERE CHARINDEX('原材料',t.DefectsName)>0) AS 'Defect19', (SELECT COUNT(*) WHERE CHARINDEX('焊缝',t.DefectsName)>0) AS 'Defect20', (SELECT COUNT(*) WHERE CHARINDEX('其它',t.DefectsName)>0) AS 'Defect21' FROM (SELECT dbo.HJGL_Fun_CheckDefects(item.CheckDefects) AS DefectsName, nde.ProjectId ,nde.UnitWorkId FROM dbo.HJGL_Batch_NDEItem item LEFT JOIN dbo.HJGL_Batch_NDE nde ON nde.NDEID = item.NDEID left join View_Batch_NDEItem vbn on vbn.NDEID=item.NDEID left join View_HJGL_Pipeline pipe on pipe.PipelineCode=vbn.PipelineCode left join View_HJGL_WeldJoint jot on jot.WeldJointId=vbn.WeldJointId left join SitePerson_Person person on person.WelderCode =vbn.WelderCode WHERE (item.CheckDefects IS NOT NULL ) AND (item.CheckDefects!='') AND (pipe.UnitWorkId=@UnitWork OR @UnitWork IS NULL) --单位工程 AND (pipe.MaterialCode like @MaterialCode OR @MaterialCode IS NULL) --材质 And (pipe.SingleName like @SingleName OR @SingleName IS NULL) --外径 AND (jot.Thickness like @Thickness OR @Thickness IS NULL) --壁厚 AND (jot.Specification like @Specification OR @Specification IS NULL) --规格 AND (jot.WeldTypeCode like @WeldTypeCode OR @WeldTypeCode IS NULL) --焊缝类型 AND (jot.JointAttribute = @JointAttribute OR @JointAttribute IS NULL) --焊缝属性 AND (person.PersonName like @PersonName OR @PersonName IS NULL) --焊工名称 ) t ) m GROUP BY m.ProjectId,m.UnitWorkId ) n LEFT JOIN dbo.WBS_UnitWork UnitWork ON UnitWork.UnitWorkId = n.UnitWorkId WHERE n.ProjectId = @projectId GO