zoukankan      html  css  js  c++  java
  • 存储过程

    USE [ChangHong_612]
    GO
    /****** Object: StoredProcedure [dbo].[st_MES_CheckInspect] Script Date: 09/28/2015 09:25:42 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:cj
    -- Create date: 20130710
    -- Description: 检验结果
    -- st_MES_CheckInspect 'MS-OQC-SL2-2015-09-001',''
    -- =============================================
    ALTER PROCEDURE [dbo].[st_MES_CheckInspect] (
    @BillNo varchar(50),
    @CheckMan varchar(20)
    )
    AS
    BEGIN

    declare @checktype int
    select @checktype=checktype from MES_Inspect where billno=@BillNo
    if (@checktype=1)
    begin
    update i set checkresult=case when (Appearance='OK' or Appearance='') and Structure='OK' and ([Assembly]='OK' or [Assembly]='')
    and (PerformanceTest3='OK' or PerformanceTest3='') and (PerformanceTest2='OK' or PerformanceTest2='')
    and (PerformanceTest4='OK' or PerformanceTest4='') and (PerformanceTest8='OK' or PerformanceTest8='') and DeformationResult='OK' and GaugeResult='OK'
    then 'OK' else 'NG' end from MES_Inspect i join (select c.billno, Appearance,Structure,[Assembly],PerformanceTest3,PerformanceTest2,PerformanceTest4,PerformanceTest8,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK') and isnull(g.LongMiddleDeformationResult,'OK')='OK'
    and isnull(g.LongDownDeformationResult,'OK')='OK' and isnull(g.WidthUpDeformationResult,'OK')='OK'
    and isnull(g.WidthMiddleDeformationResult,'OK')='OK' and isnull(g.WidthDownDeformationResult,'OK')='OK' then 'OK' else 'NG' end DeformationResult
    ,case when isnull(g.LongUpGaugeResult,'OK')='OK' and isnull(g.LongMiddleGaugeResult,'OK')='OK' and isnull(g.LongDownGaugeResult,'OK')='OK' and isnull(g.WidthUpGaugeResult,'OK')='OK'
    and isnull(g.WidthMiddleGaugeResult,'OK')='OK' and isnull(g.WidthDownGaugeResult,'OK')='OK' and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN '1' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Appearance',
    max(CASE ItemCode WHEN '2' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Structure',
    max(CASE ItemCode WHEN '3' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Assembly',
    max(CASE ItemCode WHEN '6' THEN case when ItemValue='不合格' then 'NG' else 'OK' end END) AS 'PerformanceTest3',
    max(CASE ItemCode WHEN '5' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest2',
    max(CASE ItemCode WHEN '7' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest4',
    max(CASE ItemCode WHEN '8' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest8'
    from MES_InspectSingle group by billno) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=1) a on i.billno=a.billno where i.billno=@BillNo
    end
    else if (@checktype=2)
    begin
    update i set checkresult=case when (Appearance='OK' or Appearance='') and Structure='OK' and ([Assembly]='OK' or [Assembly]='') and (Packing='OK' or Packing='')
    and (PerformanceTest3='OK' or PerformanceTest3='') and (PerformanceTest2='OK' or PerformanceTest2='')
    and (PerformanceTest4='OK' or PerformanceTest4='') and (PerformanceTest8='OK' or PerformanceTest8='') and DeformationResult='OK' and GaugeResult='OK'
    then 'OK' else 'NG' end from MES_Inspect i join(select c.billno, Appearance,Structure,[Assembly],Packing,PerformanceTest3,PerformanceTest2,PerformanceTest4,PerformanceTest8,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK' or g.LongUpDeformationResult='') and (isnull(g.LongMiddleDeformationResult,'OK')='OK' or g.LongMiddleDeformationResult='') and (isnull(g.LongDownDeformationResult,'OK')='OK' or g.LongDownDeformationResult='') and
    (isnull(g.WidthUpDeformationResult,'OK')='OK' or g.WidthUpDeformationResult='') and (isnull(g.WidthMiddleDeformationResult,'OK')='OK' or g.WidthMiddleDeformationResult='') and (isnull(g.WidthDownDeformationResult,'OK')='OK' or g.WidthDownDeformationResult='') then 'OK' else 'NG' end DeformationResult
    ,case when (isnull(g.LongUpGaugeResult,'OK')='OK' or g.LongUpGaugeResult='') and (isnull(g.LongMiddleGaugeResult,'OK')='OK' or g.LongMiddleGaugeResult='') and (isnull(g.LongDownGaugeResult,'OK')='OK' or g.LongDownGaugeResult='')
    and (isnull(g.WidthUpGaugeResult,'OK')='OK' or g.WidthUpGaugeResult='') and (isnull(g.WidthMiddleGaugeResult,'OK')='OK' or g.WidthMiddleGaugeResult='') and (isnull(g.WidthDownGaugeResult,'OK')='OK' or g.WidthDownGaugeResult='') and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN '1' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Appearance',
    max(CASE ItemCode WHEN '2' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Structure',
    max(CASE ItemCode WHEN '3' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Assembly',
    max(CASE ItemCode WHEN '4' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Packing',
    max(CASE ItemCode WHEN '6' THEN case when ItemValue='不合格' then 'NG' else 'OK' end END) AS 'PerformanceTest3',
    max(CASE ItemCode WHEN '5' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest2',
    max(CASE ItemCode WHEN '7' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest4',
    max(CASE ItemCode WHEN '8' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest8'
    from MES_InspectSingle group by billno) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=2) a on i.billno=a.billno where i.billno=@BillNo
    end
    else if (@checktype=3)
    begin
    update i set checkresult=case when (Appearance='OK' or Appearance='') and (Structure='OK' or Structure='') and ([Assembly]='OK' or [Assembly]='') and (Packing='OK' or Packing='')
    and (DeviceIsNormal='OK' or DeviceIsNormal='') and (ParamIsNormal='OK' or ParamIsNormal='')
    and (ToolingIsNormal='OK' or ToolingIsNormal='') and (OperationIsNormal='OK' or OperationIsNormal='')
    and (PerformanceTest3='OK' or PerformanceTest3='') and DeformationResult='OK' and GaugeResult='OK'
    then 'OK' else 'NG' end from MES_Inspect i join (select c.billno, Appearance,Structure,[Assembly],Packing,DeviceIsNormal,ParamIsNormal,ToolingIsNormal,OperationIsNormal,PerformanceTest3,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK' or g.LongUpDeformationResult='') and (isnull(g.LongMiddleDeformationResult,'OK')='OK' or g.LongMiddleDeformationResult='') and (isnull(g.LongDownDeformationResult,'OK')='OK' or g.LongDownDeformationResult='') and
    (isnull(g.WidthUpDeformationResult,'OK')='OK' or g.WidthUpDeformationResult='') and (isnull(g.WidthMiddleDeformationResult,'OK')='OK' or g.WidthMiddleDeformationResult='') and (isnull(g.WidthDownDeformationResult,'OK')='OK' or g.WidthDownDeformationResult='') then 'OK' else 'NG' end DeformationResult
    ,case when (isnull(g.LongUpGaugeResult,'OK')='OK' or g.LongUpGaugeResult='') and (isnull(g.LongMiddleGaugeResult,'OK')='OK' or g.LongMiddleGaugeResult='') and (isnull(g.LongDownGaugeResult,'OK')='OK' or g.LongDownGaugeResult='')
    and (isnull(g.WidthUpGaugeResult,'OK')='OK' or g.WidthUpGaugeResult='') and (isnull(g.WidthMiddleGaugeResult,'OK')='OK' or g.WidthMiddleGaugeResult='') and (isnull(g.WidthDownGaugeResult,'OK')='OK' or g.WidthDownGaugeResult='') and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN '1' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Appearance',
    max(CASE ItemCode WHEN '2' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Structure',
    max(CASE ItemCode WHEN '3' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Assembly',
    max(CASE ItemCode WHEN '4' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Packing',
    max(CASE ItemCode WHEN '9' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'DeviceIsNormal',
    max(CASE ItemCode WHEN '11' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'ParamIsNormal',
    max(CASE ItemCode WHEN '10' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'ToolingIsNormal',
    max(CASE ItemCode WHEN '12' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'OperationIsNormal',
    max(CASE ItemCode WHEN '13' THEN case when ItemValue='不合格' then 'NG' else 'OK' end END) AS 'PerformanceTest3'
    from MES_InspectSingle group by billno) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=3) a on i.billno=a.billno where i.billno=@BillNo
    end
    else if (@checktype=4)
    begin
    update i set checkresult=case when (Appearance='OK' or Appearance='') and (Structure='OK' or Structure='') and ([Assembly]='OK' or [Assembly]='') and (Packing='OK' or Packing='')
    and (PerformanceTest3='OK' or PerformanceTest3='') and (PerformanceTest2='OK' or PerformanceTest2='')
    and (PerformanceTest4='OK' or PerformanceTest4='') and (PerformanceTest8='OK' or PerformanceTest8='') and DeformationResult='OK' and GaugeResult='OK'
    then 'OK' else 'NG' end from MES_Inspect i join (select c.billno, Appearance,Structure,[Assembly],Packing,PerformanceTest3,PerformanceTest2,PerformanceTest4,PerformanceTest8,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK' or g.LongUpDeformationResult='') and (isnull(g.LongMiddleDeformationResult,'OK')='OK' or g.LongMiddleDeformationResult='') and (isnull(g.LongDownDeformationResult,'OK')='OK' or g.LongDownDeformationResult='') and
    (isnull(g.WidthUpDeformationResult,'OK')='OK' or g.WidthUpDeformationResult='') and (isnull(g.WidthMiddleDeformationResult,'OK')='OK' or g.WidthMiddleDeformationResult='') and (isnull(g.WidthDownDeformationResult,'OK')='OK' or g.WidthDownDeformationResult='') then 'OK' else 'NG' end DeformationResult
    ,case when (isnull(g.LongUpGaugeResult,'OK')='OK' or g.LongUpGaugeResult='') and (isnull(g.LongMiddleGaugeResult,'OK')='OK' or g.LongMiddleGaugeResult='') and (isnull(g.LongDownGaugeResult,'OK')='OK' or g.LongDownGaugeResult='')
    and (isnull(g.WidthUpGaugeResult,'OK')='OK' or g.WidthUpGaugeResult='') and (isnull(g.WidthMiddleGaugeResult,'OK')='OK' or g.WidthMiddleGaugeResult='') and (isnull(g.WidthDownGaugeResult,'OK')='OK' or g.WidthDownGaugeResult='') and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN '1' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Appearance',
    max(CASE ItemCode WHEN '2' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Structure',
    max(CASE ItemCode WHEN '3' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Assembly',
    max(CASE ItemCode WHEN '4' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Packing',
    max(CASE ItemCode WHEN '6' THEN case when ItemValue='不合格' then 'NG' else 'OK' end END) AS 'PerformanceTest3',
    max(CASE ItemCode WHEN '5' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest2',
    max(CASE ItemCode WHEN '7' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest4',
    max(CASE ItemCode WHEN '8' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'PerformanceTest8'
    from MES_InspectSingle group by billno ) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=4) a on i.billno=a.billno where i.billno=@BillNo
    end
    else if (@checktype=5)
    begin
    update i set checkresult=case when (Appearance='OK' or Appearance='') and (Structure='OK' or Structure='') and ([Assembly]='OK' or [Assembly]='') and (Packing='OK' or Packing='')
    and DeformationResult='OK' and GaugeResult='OK' and (OtherProperties='OK' or OtherProperties='') and (RoHSConfirm='OK' or RoHSConfirm='') and (TearFilm='OK' or TearFilm='')
    and (Adhesion='OK' or Adhesion='') and i.InkHardness<>'不合格'
    then 'OK' else 'NG' end from MES_Inspect i join (select c.billno, Appearance,Structure,[Assembly],Packing,
    isnull(OtherProperties,'OK') OtherProperties,isnull(RoHSConfirm,'OK') RoHSConfirm,isnull(TearFilm,'OK') TearFilm,isnull(Adhesion,'OK') Adhesion,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK' or g.LongUpDeformationResult='') and (isnull(g.LongMiddleDeformationResult,'OK')='OK' or g.LongMiddleDeformationResult='') and (isnull(g.LongDownDeformationResult,'OK')='OK' or g.LongDownDeformationResult='') and
    (isnull(g.WidthUpDeformationResult,'OK')='OK' or g.WidthUpDeformationResult='') and (isnull(g.WidthMiddleDeformationResult,'OK')='OK' or g.WidthMiddleDeformationResult='') and (isnull(g.WidthDownDeformationResult,'OK')='OK' or g.WidthDownDeformationResult='') then 'OK' else 'NG' end DeformationResult
    ,case when (isnull(g.LongUpGaugeResult,'OK')='OK' or g.LongUpGaugeResult='') and (isnull(g.LongMiddleGaugeResult,'OK')='OK' or g.LongMiddleGaugeResult='') and (isnull(g.LongDownGaugeResult,'OK')='OK' or g.LongDownGaugeResult='')
    and (isnull(g.WidthUpGaugeResult,'OK')='OK' or g.WidthUpGaugeResult='') and (isnull(g.WidthMiddleGaugeResult,'OK')='OK' or g.WidthMiddleGaugeResult='') and (isnull(g.WidthDownGaugeResult,'OK')='OK' or g.WidthDownGaugeResult='') and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN 'Appearance' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Appearance',
    max(CASE ItemCode WHEN 'Structure' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Structure',
    max(CASE ItemCode WHEN 'Assembly' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Assembly',
    max(CASE ItemCode WHEN 'Packing' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Packing',
    max(CASE ItemCode WHEN 'OtherProperties' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'OtherProperties',
    max(CASE ItemCode WHEN 'RoHSConfirm' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'RoHSConfirm',
    max(CASE ItemCode WHEN 'TearFilm' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'TearFilm',
    max(CASE ItemCode WHEN 'Adhesion' THEN case when ItemValue='' then 'OK' else ItemValue end END) AS 'Adhesion'
    from MES_InspectSingle group by billno) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=5) a on i.billno=a.billno where i.billno=@BillNo
    end
    else if (@checktype=6)
    begin
    update i set checkresult=case when (PerformanceTest1='OK' or PerformanceTest1='') and (PerformanceTest2='OK' or PerformanceTest2='') and (PerformanceTest3='OK' or PerformanceTest3='') and (PerformanceTest4='OK' or PerformanceTest4='')
    and (PerformanceTest5='OK' or PerformanceTest5='') and (PerformanceTest6='OK' or PerformanceTest6='') and (PerformanceTest7='OK' or PerformanceTest7='') and (PerformanceTest8='OK' or PerformanceTest8='') and (PerformanceTest9='OK' or PerformanceTest9='')
    and (PerformanceTest10='OK' or PerformanceTest10='') and (PerformanceTest11='OK' or PerformanceTest11='') and (PackagingProject1='OK' or PackagingProject1='') and (PackagingProject2='OK' or PackagingProject2='') and (PackagingProject3='OK' or PackagingProject3='') and
    (PackagingProject4='OK' or PackagingProject4='') and (VisualInspection1='OK' or VisualInspection1='') and (VisualInspection2='OK' or VisualInspection2='') and (VisualInspection3='OK' or VisualInspection3='') and (VisualInspection4='OK' or VisualInspection4='')
    and (VisualInspection5='OK' or VisualInspection5='') and (VisualInspection6='OK' or VisualInspection6='') and DeformationResult='OK' and GaugeResult='OK' and i.InkHardness<>'不合格'
    then 'OK' else 'NG' end from MES_Inspect i join (select c.billno, PerformanceTest1,PerformanceTest2,PerformanceTest3,PerformanceTest4,PerformanceTest5,PerformanceTest6,PerformanceTest7,PerformanceTest8,
    PerformanceTest9,PerformanceTest10,PerformanceTest11,PackagingProject1,PackagingProject2,PackagingProject3,PackagingProject4,VisualInspection1,VisualInspection2,VisualInspection3,VisualInspection4,
    VisualInspection5,VisualInspection6,
    case when (isnull(g.LongUpDeformationResult,'OK')='OK' or g.LongUpDeformationResult='') and (isnull(g.LongMiddleDeformationResult,'OK')='OK' or g.LongMiddleDeformationResult='') and (isnull(g.LongDownDeformationResult,'OK')='OK' or g.LongDownDeformationResult='') and
    (isnull(g.WidthUpDeformationResult,'OK')='OK' or g.WidthUpDeformationResult='') and (isnull(g.WidthMiddleDeformationResult,'OK')='OK' or g.WidthMiddleDeformationResult='') and (isnull(g.WidthDownDeformationResult,'OK')='OK' or g.WidthDownDeformationResult='') then 'OK' else 'NG' end DeformationResult
    ,case when (isnull(g.LongUpGaugeResult,'OK')='OK' or g.LongUpGaugeResult='') and (isnull(g.LongMiddleGaugeResult,'OK')='OK' or g.LongMiddleGaugeResult='') and (isnull(g.LongDownGaugeResult,'OK')='OK' or g.LongDownGaugeResult='')
    and (isnull(g.WidthUpGaugeResult,'OK')='OK' or g.WidthUpGaugeResult='') and (isnull(g.WidthMiddleGaugeResult,'OK')='OK' or g.WidthMiddleGaugeResult='') and (isnull(g.WidthDownGaugeResult,'OK')='OK' or g.WidthDownGaugeResult='') and isnull(g.WeightResult,'OK')='OK' then 'OK' else 'NG' end GaugeResult from MES_Inspect c
    left join
    (select billno,
    max(CASE ItemCode WHEN 'PerformanceTest1' THEN ItemValue END) AS 'PerformanceTest1',
    max(CASE ItemCode WHEN 'PerformanceTest2' THEN ItemValue END) AS 'PerformanceTest2',
    max(CASE ItemCode WHEN 'PerformanceTest3' THEN ItemValue END) AS 'PerformanceTest3',
    max(CASE ItemCode WHEN 'PerformanceTest4' THEN ItemValue END) AS 'PerformanceTest4',
    max(CASE ItemCode WHEN 'PerformanceTest5' THEN ItemValue END) AS 'PerformanceTest5',
    max(CASE ItemCode WHEN 'PerformanceTest6' THEN ItemValue END) AS 'PerformanceTest6',
    max(CASE ItemCode WHEN 'PerformanceTest7' THEN ItemValue END) AS 'PerformanceTest7',
    max(CASE ItemCode WHEN 'PerformanceTest8' THEN ItemValue END) AS 'PerformanceTest8',
    max(CASE ItemCode WHEN 'PerformanceTest9' THEN ItemValue END) AS 'PerformanceTest9',
    max(CASE ItemCode WHEN 'PerformanceTest10' THEN ItemValue END) AS 'PerformanceTest10',
    max(CASE ItemCode WHEN 'PerformanceTest11' THEN ItemValue END) AS 'PerformanceTest11',
    max(CASE ItemCode WHEN 'PackagingProject1' THEN ItemValue END) AS 'PackagingProject1',
    max(CASE ItemCode WHEN 'PackagingProject2' THEN ItemValue END) AS 'PackagingProject2',
    max(CASE ItemCode WHEN 'PackagingProject3' THEN ItemValue END) AS 'PackagingProject3',
    max(CASE ItemCode WHEN 'PackagingProject4' THEN ItemValue END) AS 'PackagingProject4',
    max(CASE ItemCode WHEN 'VisualInspection1' THEN ItemValue END) AS 'VisualInspection1',
    max(CASE ItemCode WHEN 'VisualInspection2' THEN ItemValue END) AS 'VisualInspection2',
    max(CASE ItemCode WHEN 'VisualInspection3' THEN ItemValue END) AS 'VisualInspection3',
    max(CASE ItemCode WHEN 'VisualInspection4' THEN ItemValue END) AS 'VisualInspection4',
    max(CASE ItemCode WHEN 'VisualInspection5' THEN ItemValue END) AS 'VisualInspection5',
    max(CASE ItemCode WHEN 'VisualInspection6' THEN ItemValue END) AS 'VisualInspection6'
    from MES_InspectSingle group by billno) s on c.BillNO=s.BillNO left join
    (select billno,
    max(CASE when ItemType=3 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownGaugeResult',
    max(CASE when ItemType=3 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpGaugeResult',
    max(CASE when ItemType=3 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleGaugeResult',
    max(CASE when ItemType=3 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownGaugeResult',
    max(CASE when ItemType=5 and ItemCode='上长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='下长' and Position='长' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'LongDownDeformationResult',
    max(CASE when ItemType=5 and ItemCode='左宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthUpDeformationResult',
    max(CASE when ItemType=5 and ItemCode='中宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthMiddleDeformationResult',
    max(CASE when ItemType=5 and ItemCode='右宽' and Position='宽' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WidthDownDeformationResult',
    max(CASE when ItemType=1 and ItemCode='重量' and Position='重量' THEN case when CheckResult='' then 'OK' else CheckResult end END) AS 'WeightResult'
    from MES_InspectGauge group by billno) g on g.BillNO=s.BillNO where checktype=6) a on i.billno=a.billno where i.billno=@BillNo
    end
    END

  • 相关阅读:
    linux配置静态ip
    hadoop伪分布式搭建
    flume安装
    远程shell脚本执行工具类
    NextCloud 修改数据存储位置(以CentOS 8(apache)为例)
    CP2K入门教程转载分享
    Origin 2019b 合法获取与使用介绍——正版软件&最新最实用教程分享 (Origin下载)
    Internet Download Manager:IDM 6.3.29破解版——最快的下载工具
    关于通过IPv6地址远程登录服务器的操作说明
    安装python的第一个曲折
  • 原文地址:https://www.cnblogs.com/chengjun/p/4845467.html
Copyright © 2011-2022 走看看