CREATE PROC[dbo].[CGRUP_CB_GetMoveInInMgm]
(
@projectcode VARCHAR(8),
@materialType VARCHAR(13),
@itemno VARCHAR(13),
@MoveRqstno VARCHAR(13),
@InQty int,
@LocName varchar(40),
@InDate datetime,
@Note varchar(400)
)
AS
--해당내역이 저장되지 않은채로 입고처리 버튼을 누를시에 입고처리 되지 않음
IF EXISTS(select 1 from cgrtb_inmgm where ProjectCode = @projectcode and itemno = @itemno and MoveRqstNo = @MoveRqstNo and isnull(InYN,'N') = 'N')
BEGIN
update cgrtb_inmgm
set InQty = @InQty,
LocName = @LocName,
InDate = @InDate,
Note = @Note,
InYN = 'Y' --위 4개의 데이타는 화면상에서 받아오는 데이타이므로 실제로 데이타 동기화 위해 UPDATE처리한다.
where ProjectCode = @ ProjectCode and itemno = @itemno and MoveRqstNo = @MoveRqstNo and isnull(InYN,'N') = 'N'
update cgrtb_moveoutreq
set MoveInProcYN = 'Y'
where ProjectCode = @ ProjectCode and itemno = @itemno and MoveRqstNo = @MoveRqstNo
declare @recordCnt int -- 기존에 이동요청메인테이블의 LineItem을 저장하는 변수
declare @realCnt int --실제 입고완료된 아이템의 LineITem을 저장하는 변수
select @recordCnt = LineItem from cgrtb_movewaitinglist
where ProjectCode = @projectcode and MoveRqstNo = @MoveRqstNo
select @realCnt = count(*) from cgrtb_inmgm
where ProjectCode = @projectcode and MoveRqstNo = @MoveRqstNo
and InYN = 'Y'
and ItemNo IN (
select b.Itemno from cgrtb_movewaitinglist a
inner join cgrtb_moveoutreq b
on a.projectcode = b.projectcode
and a.MoveRqstNo = b.MoveRqstNo
where ProjectCode = @ProjectCode and MoveRqstNo = @MoveRqstNo
)
IF(@realCnt = @recordCnt)
begin
update cgrtb_movewaitinglist
set InEndYN = 'Y'
where ProjectCode = @projectcode and MoveRqstNo = @MoveRqstNo
end
END
|