zoukankan      html  css  js  c++  java
  • 半成品收发数量流程管控

    USE [RossERP_R7]
    GO
    /****** Object: StoredProcedure [dbo].[SP_frmWWInBillEx_Pre_submit] Script Date: 2020-09-01 17:26:47 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER procedure [dbo].[SP_frmWWInBillEx_Pre_submit]
    @billno varchar(50)
    as
    --begin
    --declare @result bit ----0为false ,1为true
    --declare @CheckDes varchar(50) ----检查信息
    --set @result=1
    --if @result=1 ----结果为1返回信息 否则 返回空
    --begin
    --set @CheckDes=''
    --end
    --else
    --begin
    --set @checkDes=''
    --end
    --select @checkDes as checkdes,@result as result ----此为返回结果,不能删除,
    --end
    begin
    if exists (select 1 from sysobjects where id=object_id('tempwwinQty2019') and type='U')
    begin
    drop table tempwwinQty2019
    end

    if exists (select 1 from sysobjects where id=object_id('tempResult') and type='U')
    begin
    drop table tempResult
    end

    begin
    declare @mpsid varchar(50),@mpsmatid varchar(50)

    create table tempResult(checkdes varchar(200))

    create table tempwwinQty2019(matioid varchar(50),mpsid varchar(50),mpsmatid varchar(50),wpid varchar(20),
    wwQty int,--外发数量
    wwid VARCHAR(30),---外发加工单
    CutQty int,--已裁数量
    CJQty int,--裁剪入库数量
    CJFHQty int,--裁剪发货登记数量
    CHQty int,--车花入库数量
    CHFHQty int,--车花发货数登记数量
    YHQty int ,--印花入库数量
    YHFHQty int ,--印花发货登记数量
    CFQty int,--车缝入库数量
    CFFHQty int,--车缝发货数登记数量
    CPYHQty int,--成品印花入库数量
    CPYHFHQty int,--成品印花发货登记数量
    CPCHQty int,--成品车花入库数量
    CPCHFHQty int,--成品车花发货登记数量
    BZQty int,--包装入库数量
    BZFHQty INT--包装发货登记数量


    )

    insert into tempwwinQty2019(matioid,mpsid,mpsmatid,wpid,wwQty,wwid)
    select wwinlist.matioid,wwinlist.MPSID,wwinlist.MatID,WWInList.WPID,isnull(wwlist.qty,0) wwQty,WWInList.wwid from WWList(nolock)
    left join WWInList(nolock) on WWList.matioid=WWInList.WWID and WWList.Lsh=WWInList.WWListLsh and wwlist.Wpid=WWInList.WPID and WWList.mpsid=WWInList.MPSID and wwlist.mpsmatid=WWInList.MatID
    INNER JOIN wwin(NOLOCK) ON WWIn.MatIOID = WWInList.matioid AND wwin.ChannelID<>'111'
    where WWInList.matioid=@billno and WWInList.MPSID not in
    ('1H765810=BDS',
    '1I793810=BD1',
    '1I793810=BD4',
    '1I793810=BD6',
    '1I793810=BD8',
    '2I218010=T',
    'AEF1303W0B=P',
    '126G775A-ISR=BD1',
    '126G775A-ISR=BD2',
    '126G775A-ISR=BD3',
    '126G775A-ISR=BD4',
    '126G775A-ISR=BD5',
    '126G776F19IY=BD2',
    'BYSPF1226=R3',
    'BYSPF1226=R4',
    '17638610I=BD2',
    '17638610I=BD5',
    '17638610I=BD4',
    '1H324110-CAD=BD'
    )

    --更新已裁数量
    update tempwwinQty2019 set CutQty=isnull(b.TotalQty,0)+isnull(c.CP016Des3,0)
    from tempwwinQty2019 a
    left join (
    select cut.mpsid,cut.matid,sum(isnull(cut.TotalQty,0))TotalQty --CP016Des3
    from cut(nolock)
    where cut.state='已审核' AND cut.IsNotMatchCut='No' -------and cut.Part='主身'
    group by cut.mpsid,cut.matid) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid
    left join mpsplanallnew(nolock) c on a.mpsid=c.mpsid
    end


    ---裁剪入库时更新裁剪入库总数量
    if(select top 1 wpid from tempwwinQty2019 )='003'
    begin
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.wwid=a.wwid
    end


    --车花入库时更新车花入库数量和已入账裁剪总数量
    if(select top 1 wpid from tempwwinQty2019 )='001'
    --已入账裁剪总数
    begin
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='001'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.Matioid=a.wwid
    --更新车花合同入库数量
    update tempwwinQty2019 set CHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='001'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end


    --印花入库时更新印花入库数量和已入账裁剪总数量
    if(select top 1 wpid from tempwwinQty2019 )='002'
    --已入账裁剪总数
    begin
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set YHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='002'
    group by WWWPOutList.matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新车花合同入库数量
    update tempwwinQty2019 set YHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='002'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end


    --车缝入库时更新已入账裁剪入库总数和车缝入库总数
    if(select top 1 wpid from tempwwinQty2019 )='004'

    begin
    --更新车花
    update tempwwinQty2019 set CHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='001'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='001'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.Matioid=a.wwid
    --更新印花
    update tempwwinQty2019 set YHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='002'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --印花发货登记总数
    update tempwwinQty2019 set YHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='002'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新裁剪
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车缝发货登记总数
    update tempwwinQty2019 set CFFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='004'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新车缝合同入库数量
    update tempwwinQty2019 set CFQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    INNER join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='004'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end

    if(select top 1 wpid from tempwwinQty2019 )='007'
    begin
    --更新车花
    update tempwwinQty2019 set CHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='001'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='001'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新印花
    update tempwwinQty2019 set YHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='002'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --印花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='002'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新裁剪合同入库数量
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --更新车缝合同入库数量
    update tempwwinQty2019 set CFQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='004'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车缝发货登记总数
    update tempwwinQty2019 set CFFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='004'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新成品印花合同入库数量
    update tempwwinQty2019 set CPYHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='007'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end

    if(select top 1 wpid from tempwwinQty2019 )='008'
    begin
    --更新车花
    update tempwwinQty2019 set CHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='001'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='001'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新印花
    update tempwwinQty2019 set YHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='002'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --印花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='002'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新裁剪合同入库数量
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --更新车缝合同入库数量
    update tempwwinQty2019 set CFQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='004'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车缝发货登记总数
    update tempwwinQty2019 set CFFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='004'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新成品车花合同入库数量
    update tempwwinQty2019 set CPCHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='008'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end


    if(select top 1 wpid from tempwwinQty2019 )='005'
    begin
    --更新车花
    update tempwwinQty2019 set CHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='001'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='001'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新印花
    update tempwwinQty2019 set YHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='002'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --印花发货登记总数
    update tempwwinQty2019 set CHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='002'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新裁剪合同入库数量
    update tempwwinQty2019 set CJQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='003'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --更新车缝合同入库数量
    update tempwwinQty2019 set CFQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    inner join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐' and a.WPID='004'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --车缝发货登记总数
    update tempwwinQty2019 set CFFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='004'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新成品印花合同入库数量
    update tempwwinQty2019 set CPCHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐'and a.WPID='007'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --成品印花发货登记总数
    update tempwwinQty2019 set CPYHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='007'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新成品车花合同入库数量
    update tempwwinQty2019 set CPYHQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where c.State='已入帐'and a.WPID='008'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    --成品车花发货登记总数
    update tempwwinQty2019 set CPCHFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.State='已审核' and WWWPOutList.WPID='008'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --包装发货登记总数
    update tempwwinQty2019 set BZFHQty=b.qty
    from tempwwinQty2019 a
    left join
    (
    select WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid,sum(WWWPOutList.Qty)qty
    from WWWPOutList(NOLOCK)
    where WWWPOutList.WPID='005'
    group by WWWPOutList.Matioid,WWWPOutList.MPSID,WWWPOutList.MPSMatid
    )b on a.mpsid=b.mpsid and a.mpsmatid=b.MPSMatid AND b.matioid=a.wwid
    --更新包装合同入库数量
    update tempwwinQty2019 set BZQty=b.qty
    from tempwwinQty2019 a
    left join(
    select a.wwid,a.MPSID,a.MatID,sum(isnull(a.GoodQty,0))qty from WWInList(nolock) a
    left join wwin(nolock) c on a.MatIOID=c.MatIOID
    where a.WPID='005'
    group by a.wwid,a.MPSID,a.MatID) b on a.mpsid=b.mpsid and a.mpsmatid=b.matid AND b.WWID=a.wwid
    end

    declare @result bit /*--0为false ,1为true */
    declare @CheckDes varchar(50) /*--检查信息*/
    declare @wpid varchar(10)
    declare @wwid varchar(30)

    DECLARE y_curr CURSOR FOR --申明游标
    SELECT wwinlist.MPSID,wwinlist.MatID,WPID,WWInList.WWID from WWInList(nolock) where WWInList.matioid=@billno
    OPEN y_curr --打开游标
    FETCH NEXT FROM y_curr INTO @mpsid,@mpsmatid,@wpid,@wwid ----开始循环游标变量
    WHILE(@@fetch_status=0)---返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
    BEGIN
    ------------------------------------------------------------------------------------------------
    --裁剪合同判断
    if(@wpid='003')
    begin
    if not exists (select 1 from tempwwinQty2019 where isnull(CJQty,0)-isnull(CutQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='003' AND wwid=@wwid)
    begin
    set @CheckDes=''
    end

    if exists (select 1 from tempwwinQty2019 where isnull(CJQty,0)-isnull(CutQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='003'AND wwid=@wwid)
    begin
    set @CheckDes=@mpsid+'裁剪入库数大于已裁数'+char(13)+'不能提交'
    end
    end

    ------------------------------------------------------------------------------------------------
    --车花合同判断
    if(@wpid='001')
    begin
    if not exists (select 1 from tempwwinQty2019 where isnull(CHQty,0)-isnull(CHFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='001' AND wwid=@wwid)
    begin
    set @CheckDes=''
    end

    if exists (select 1 from tempwwinQty2019 where isnull(CHQty,0)-isnull(CHFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='001'AND wwid=@wwid)
    begin
    set @CheckDes=@mpsid+'车花入库数大于车花发货数'+char(13)+'不能提交'
    end
    end

    ------------------------------------------------------------------------------------------------
    --印花合同判断
    if(@wpid='002')
    begin
    if not exists (select 1 from tempwwinQty2019 where isnull(YHQty,0)-isnull(YHFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='002' AND wwid=@wwid )
    begin
    set @CheckDes=''
    end

    if exists (select 1 from tempwwinQty2019 where isnull(YHQty,0)-isnull(YHFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='002' AND wwid=@wwid)
    begin
    set @CheckDes=@mpsid+'印花入库数大于印花发货数'+char(13)+'不能提交'
    end

    end

    ------------------------------------------------------------------------------------------------
    --车缝合同判断
    if(@wpid='004')

    begin
    if not exists (select 1 from tempwwinQty2019 where isnull(CFQty,0)-isnull(CFFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='004' AND wwid=@wwid)
    begin
    set @CheckDes=''
    end

    if exists (select 1 from tempwwinQty2019 where isnull(CFQty,0)-isnull(CFFHQty,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='004' AND wwid=@wwid)
    begin
    set @CheckDes=@mpsid+'车缝入库数大于车缝发货数'+char(13)+'不能提交'
    end
    end

    --包装合同判断
    if(@wpid='005')
    if not exists (select 1 from tempwwinQty2019 LEFT JOIN mpsplanallnew(NOLOCK) ON tempwwinQty2019.mpsid=MPSPlanAllnew.MPSID AND tempwwinQty2019.mpsmatid=MPSPlanAllnew.Matid WHERE isnull(BZQty,0)-isnull(BZFHQty,0)-ISNULL(CP016Des3,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='005' AND wwid=@wwid)
    begin
    set @CheckDes=''
    end

    if exists (select 1 from tempwwinQty2019 LEFT JOIN mpsplanallnew(NOLOCK) ON tempwwinQty2019.mpsid=MPSPlanAllnew.MPSID AND tempwwinQty2019.mpsmatid=MPSPlanAllnew.Matid WHERE isnull(BZQty,0)-isnull(BZFHQty,0)-ISNULL(CP016Des3,0)>0 and tempwwinQty2019.mpsid=@mpsid and tempwwinQty2019.mpsmatid=@mpsmatid and wpid='005' AND wwid=@wwid)
    begin
    set @CheckDes=@mpsid+'入库数大于包装发货数'+char(13)+'不能提交'
    end


    --判断是否录入重量
    if ((select sum(case when isnull(WWInListSize.Des2,'')<>'' and PATINDEX('%[^0-9|.|]%', WWInListSize.Des2)<>1 then (convert(decimal(12,2),isnull(rtrim(ltrim(WWInListSize.Des2)),0))) else 0 end)
    from WWInListSize(nolock) where WWInListSize.Matioid=@billno and WWInListSize.Type='B' and (WWInListSize.WPID='001' or WWInListSize.WPID='002') and isnull(WWInListSize.Des2,'')<>'.' AND isnull(WWInListSize.des2,'') not like '%p%'
    group by WWInListSize.Matioid)<=0)
    begin
    set @CheckDes='没有录入重量,不能提交!!!'
    end


    --判断是否录入币种单价
    if exists(select 1 from wwinlist(nolock) left join wwin(nolock) on wwinlist.MatIOID=WWIn.MatIOID where WWIn.BillType='01' and (wwinlist.WPID='001' or wwinlist.WPID='002') and wwin.MatIOID=@billno and isnull(wwinlist.CurrPrice,0)<=0)
    begin
    set @CheckDes='请录入单价!!!'
    end

    insert into tempResult(checkdes)
    select @checkDes

    FETCH NEXT FROM y_curr INTO @mpsid,@mpsmatid,@wpid,@wwid
    END
    CLOSE y_curr--关闭游标
    DEALLOCATE y_curr --释放游标

    ---------------------------------------------------------------------------------------------

    if exists (select 1 from tempResult where isnull(CheckDes,'')<>'')
    begin
    select @CheckDes=checkdes from tempResult where isnull(CheckDes,'')<>''
    set @result=0
    end

    else
    begin
    set @CheckDes=''
    set @result=1
    end

    select @checkDes as checkdes,@result as result /*--此为返回结果,不能删除,*/
    end

  • 相关阅读:
    当上微软MVP了
    关于南京四校联合程序设计大赛
    毕业生的商业软件开发之路初入职场
    开源XDesigner ORM 框架设计
    中国计算机软件行业分析3软件倾销
    中国计算机软件行业分析6软件外包的缺陷
    搜狐首页出现一个硕大的错别字
    中国计算机软件行业分析4外企的商业贿赂
    大家快来玩转盘抽奖游戏(走在网页游戏开发的路上(七))
    走在网页游戏开发的路上(四)
  • 原文地址:https://www.cnblogs.com/wwwlzp/p/13597399.html
Copyright © 2011-2022 走看看