MSSQL ์ ์ฅ ํ๋ก์์ ์๋ณธ โ ์ ์ + ํ๊ตญ์ด ์ฃผ์
์ญํ : ์ฐธ์กฐ (์๋ณธ ์์ค) ๋์ ๋ ์: ์ด์ยท๋ถ์ ๋ด๋น ์ ํ ์กฐ๊ฑด: ์ํคํ ์ฒ ยท ์ ์ฅ ํ๋ก์์ ์นดํ๋ก๊ทธ
์ด 96๊ฐ ์ฌ์ฉ์ ์ ์ ์ ์ฅ ํ๋ก์์ ์ ์๋ณธ T-SQL ์ ๊ทธ๋๋ก ์๋ก. ๊ฐ ํ๋ก์์ ์์ ๋ชฉ์ ์์ฝ, ์์ค ์์๋ ๊ตฌ์กฐ์ ์ง์ ๋ง๋ค -- [๋ถ๊ธฐ], -- [์ปค์ ์ ์ธ], -- [์๊ฒฉ ์กฐํ], -- [์ญ์ ], -- [์ ์ฌ] ๋ฑ ํ๊ตญ์ด ํ๊ทธ ์ฃผ์์ ์ฃผ์
ํ๋ค. ์๋ณธ ์ฃผ์์ ๊ทธ๋๋ก ์ ์ง.
์์ค๋ ๊ธฐ๋ณธ ์ ํ. <details> ํผ์น๋ฉด ์ ์ฒด ์ฝ๋ ์ด๋. ๋ฐ์ดํฐ ์ถ์ฒ โ erp-relay-gateway/scripts/output/barcode-metadata-raw.json (์ถ์ถ์ผ: 2026-04-22T11:43:06.758Z).
๊ณต๊ธ๋ด์ญ๋ณด๊ณ
์ฌํ์ ๊ณต๊ธ๋ด์ญ๋ณด๊ณ ์์ฑยท์กฐํ. Oracle UNION_ERP ์ ์ฐ๊ณ.
SP_SUPPLY_REPORT
๋ชฉ์ โ ๊ณต๊ธ๋ด์ญ๋ณด๊ณ ๋ฐ์ดํฐ๋ฅผ Oracle UNION_ERP ์์ ๊ฐ์ ธ์ ๋ก์ปฌ SUPPLY_REPORT ์ ์ ์ฌยท์กฐํํ๋ค. @GUBUN=ERP ๋ ๋๊ธฐํ, @GUBUN=S ๋ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(20) | IN |
@search_date | nvarchar(20) | IN |
@message | nvarchar(1000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
-- =============================================
-- Author: ๊น์ ์
-- Create date: 2016.5.27
-- Description: ์ค์ ๋ณด๊ณ ์กฐํ์ฉ
-- =============================================
CREATE PROCEDURE [dbo].[SP_SUPPLY_REPORT]
-- Add the parameters for the stored procedure here
@GUBUN NVARCHAR(10) = ''
,@search_date NVARCHAR(10) = ''
,@message NVARCHAR(500) output
AS
SET NOCOUNT ON;
DECLARE @query nvarchar(2000)
,@IN_ORDER_NO nvarchar(20) --์ ์๋ฒํธ
,@IN_ORDER_SEQ int --์ ์์๋ฒ
,@IN_SUPPLY_GUBUN nvarchar(1)
,@Serial_cnt int = 0
,@NoSerial_cnt int = 0
SET @search_date = REPLACE(@search_date,'-','')
-- [๋ถ๊ธฐ] @GUBUN = 'ERP' ์ธ ๊ฒฝ์ฐ
IF(@GUBUN='ERP')
BEGIN
IF object_id('tempdb..#SUPPLY_REPORT_TEMP') is not null
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #SUPPLY_REPORT_TEMP
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #SUPPLY_REPORT_TEMP(
[ROW_NO] [decimal](6, 0) NULL,
[SUPPLIER_BISNO] [nvarchar](10) NULL,
[SUPPLIER_TYPE] [nvarchar](1) NULL,
[CONTRACT_TYPE] [nvarchar](1) NULL,
[SUPPLY_GUBUN] [nvarchar](1) NULL,
[SUPPLY_TYPE] [nvarchar](1) NULL,
[SALES_NAME] [nvarchar](100) NULL,
[SALES_BISNO] [nvarchar](10) NULL,
[PHARMACY_NO] [nvarchar](8) NULL,
[ITEM_NAME] [nvarchar](300) NULL,
[ITEM_STD_CODE] [nvarchar](13) NULL,
[BOX_QTY] [nvarchar](8) NULL,
[TAX_QTY] [nvarchar](8) NULL,
[DELIV_DATE] [nvarchar](8) NULL,
[TAX_AMT] [decimal](12, 0) NULL,
[ITEM_PRICE] [decimal](10, 2) NULL,
[RECEIPT_NO] [nvarchar](14) NULL,
[RETURN_CD] [nvarchar](12) NULL,
[LOT_NO] [nvarchar](20) NULL,
[EXPIRE_DT] [nvarchar](6) NULL,
[SERIAL_GUBUN] [nvarchar](1) NULL,
[REMARK] [nvarchar](200) NULL,
[ORDER_NO] [nvarchar](20) NULL,
[ORDER_SEQ] [int] NULL,
[CUST_CD] [nvarchar](20) NULL,
[ITEM_CD] [nvarchar](20) NULL
) ON [PRIMARY]
-- declare @query nvarchar(2000)
SET @query ='INSERT INTO #SUPPLY_REPORT_TEMP (ROW_NO,SUPPLIER_BISNO,SUPPLIER_TYPE,CONTRACT_TYPE,SUPPLY_GUBUN,SUPPLY_TYPE,SALES_NAME,
SALES_BISNO,PHARMACY_NO,ITEM_NAME,ITEM_STD_CODE,BOX_QTY,TAX_QTY,DELIV_DATE,TAX_AMT,
ITEM_PRICE,LOT_NO,EXPIRE_DT,ORDER_NO,ORDER_SEQ,CUST_CD,ITEM_CD)
SELECT ROW_NO,SUPPLIER_BISNO,SUPPLIER_TYPE,CONTRACT_TYPE,SUPPLY_GUBUN,SUPPLY_TYPE,SALES_NAME,
SALES_BISNO,PHARMACY_NO,ITEM_NAME,ITEM_STD_CODE,BOX_QTY,TAX_QTY,DELIV_DATE,TAX_AMT,
ITEM_PRICE,LOT_NO,EXPIRE_DT,ORDER_NO,ORDER_SEQ,SALES_CODE,ITEM_CODE
-- [์๊ฒฉ ์กฐํ] linked server UNION_ERP (Oracle UNION_ERP)
FROM OPENQUERY(UNION_ERP, ''SELECT ROW_NUMBER() OVER (ORDER BY ORDER_NO,ORDER_SEQ) AS ROW_NO,
SUPPLIER_BISNO,SUPPLIER_TYPE,CONTRACT_TYPE,SUPPLY_GUBUN,SUPPLY_TYPE,SALES_NAME,
SALES_BISNO,PHARMACY_NO,ITEM_NAME,ITEM_STD_CODE,BOX_QTY,TAX_QTY,DELIV_DATE,TAX_AMT,
ITEM_PRICE,LOT_NO,EXPIRE_DT,ORDER_NO,ORDER_SEQ,SALES_CODE,ITEM_CODE
FROM SUPPLY_REPORT
WHERE DELIV_DATE = ''''' + @search_date + '''''
'') '
--์ฟผ๋ฆฌ ์คํ
-- [๋์ ์ฟผ๋ฆฌ ์คํ]
EXEC (@query)
UPDATE #SUPPLY_REPORT_TEMP
SET ORDER_NO = REPLACE(ORDER_NO,'-','*')
WHERE SUPPLY_GUBUN='2'
--์ผ๋ จ๋ฒํธ ๊ตฌ์ UPDATE
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT ORDER_NO
, ORDER_SEQ
, SUPPLY_GUBUN
FROM #SUPPLY_REPORT_TEMP
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_SUPPLY_GUBUN
WHILE (@@FETCH_STATUS=0)
BEGIN
IF @IN_SUPPLY_GUBUN='1'
BEGIN
SELECT @Serial_cnt = count(*)
FROM GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID=(SELECT ITEM_ISSUE_ID FROM GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@IN_ORDER_NO and ORDER_SEQ=@IN_ORDER_SEQ)
AND BARCODE like '%โจGSโฉ21%'
SELECT @NoSerial_cnt = count(*)
FROM GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID=(SELECT ITEM_ISSUE_ID FROM GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@IN_ORDER_NO and ORDER_SEQ=@IN_ORDER_SEQ)
AND BARCODE not like '%โจGSโฉ21%'
IF @Serial_cnt < 1
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='0' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
ELSE IF @NoSerial_cnt < 1
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='1' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
ELSE
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='2' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
END
ELSE IF @IN_SUPPLY_GUBUN='2'
BEGIN
SELECT @Serial_cnt = count(*)
FROM RETURN_GOODS
WHERE ITEM_ISSUE_ID=(SELECT ITEM_ISSUE_ID FROM GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@IN_ORDER_NO and ORDER_SEQ=@IN_ORDER_SEQ)
AND BARCODE like '%โจGSโฉ21%'
SELECT @NoSerial_cnt = count(*)
FROM RETURN_GOODS
WHERE ITEM_ISSUE_ID=(SELECT ITEM_ISSUE_ID FROM GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@IN_ORDER_NO and ORDER_SEQ=@IN_ORDER_SEQ)
AND BARCODE not like '%โจGSโฉ21%'
IF @Serial_cnt < 1
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='0' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
ELSE IF @NoSerial_cnt < 1
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='1' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
ELSE
UPDATE #SUPPLY_REPORT_TEMP SET SERIAL_GUBUN='2' WHERE ORDER_NO = @IN_ORDER_NO and ORDER_SEQ = @IN_ORDER_SEQ
END
Fetch Next From MYCUR Into @IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_SUPPLY_GUBUN
END
CLOSE MYCUR
DEALLOCATE MYCUR
-- [์ญ์ ] SUPPLY_REPORT
DELETE SUPPLY_REPORT where DELIV_DATE=@search_date
-----๊ณต๊ธ๋ด์ญ๋ณด๊ณ ์กด์ฌ์ Update
--UPDATE A SET A.ROW_NO = B.ROW_NO
-- ,A.SUPPLIER_BISNO = B.SUPPLIER_BISNO
-- ,A.SUPPLIER_TYPE = B.SUPPLIER_TYPE
-- ,A.CONTRACT_TYPE = B.CONTRACT_TYPE
-- ,A.SUPPLY_GUBUN = B.SUPPLY_GUBUN
-- ,A.SUPPLY_TYPE = B.SUPPLY_TYPE
-- ,A.SALES_NAME = B.SALES_NAME
-- ,A.SALES_BISNO = B.SALES_BISNO
-- ,A.PHARMACY_NO = B.PHARMACY_NO
-- ,A.ITEM_NAME = B.ITEM_NAME
-- ,A.ITEM_STD_CODE = B.ITEM_STD_CODE
-- ,A.BOX_QTY = B.BOX_QTY
-- ,A.TAX_QTY = B.TAX_QTY
-- ,A.DELIV_DATE = B.DELIV_DATE
-- ,A.TAX_AMT = B.TAX_AMT
-- ,A.ITEM_PRICE = B.ITEM_PRICE
-- --,''
-- ,A.LOT_NO = B.LOT_NO
-- ,A.EXPIRE_DT = B.EXPIRE_DT
-- --,''
-- --,''
-- ,A.ORDER_NO = B.ORDER_NO
-- ,A.ORDER_SEQ = B.ORDER_SEQ
-- ,A.CUST_CD = B.CUST_CD
-- ,A.ITEM_CD = B.ITEM_CD
-- FROM SUPPLY_REPORT A
--INNER JOIN #SUPPLY_REPORT_TEMP B ON (A.ORDER_NO=B.ORDER_NO AND A.ORDER_SEQ=B.ORDER_SEQ)
--์ ๊ท
-- [์ ์ฌ] SUPPLY_REPORT
INSERT INTO SUPPLY_REPORT
SELECT * FROM #SUPPLY_REPORT_TEMP A
--WHERE NOT EXISTS ( SELECT 1 FROM SUPPLY_REPORT B WHERE A.ORDER_NO=B.ORDER_NO AND A.ORDER_SEQ=B.ORDER_SEQ )
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
DROP TABLE #SUPPLY_REPORT_TEMP
SET @message = '์ฑ๊ณต_ERP'
END
ELSE IF(@GUBUN='S')
BEGIN
SELECT ROW_NO
,SUPPLIER_BISNO
,SUPPLIER_TYPE
,CONTRACT_TYPE
,SUPPLY_GUBUN
,SUPPLY_TYPE
,SALES_NAME
,SALES_BISNO
,PHARMACY_NO
,ITEM_NAME
,ITEM_STD_CODE
,BOX_QTY
,TAX_QTY
,DELIV_DATE
,TAX_AMT
,ITEM_PRICE
,'' AS RECEIPT_NO
,'' AS RETURN_CD
,LOT_NO
,EXPIRE_DT
,SERIAL_GUBUN
,'' AS REMARK
FROM SUPPLY_REPORT
WHERE DELIV_DATE = @search_date
ORDER BY ROW_NO
SELECT AA.ROW_NO
,RTRIM(SUBSTRING(BB.BARCODE,CHARINDEX('โจGSโฉ21',BB.BARCODE)+3,20)) AS SERIAL_NO
--,CASE WHEN isnull(DD.MAPPING_GS1_BARCODE,'')='' THEN '(00)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,18)
-- ELSE '(00)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,18) + '/' + '(00)'+ SUBSTRING(DD.MAPPING_GS1_BARCODE,3,18) END AS PACKING_NO
,CASE WHEN SUBSTRING(CC.MAPPING_GS1_BARCODE,1,2)='00' THEN
CASE WHEN isnull(DD.MAPPING_GS1_BARCODE,'')='' THEN '(00)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,18)
ELSE '(00)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,18) + '/' + '(00)'+ SUBSTRING(DD.MAPPING_GS1_BARCODE,3,18) END
WHEN SUBSTRING(CC.MAPPING_GS1_BARCODE,1,2)='01' THEN
CASE WHEN isnull(DD.MAPPING_GS1_BARCODE,'')='' THEN '(01)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,14)+'(21)'+SUBSTRING(CC.MAPPING_GS1_BARCODE,19,len(CC.MAPPING_GS1_BARCODE)-18)
ELSE '(01)'+ SUBSTRING(CC.MAPPING_GS1_BARCODE,3,14)+'(21)'+SUBSTRING(CC.MAPPING_GS1_BARCODE,19,len(CC.MAPPING_GS1_BARCODE)-18) + '/' + '(01)'+ SUBSTRING(DD.MAPPING_GS1_BARCODE,3,14)+'(21)'+SUBSTRING(DD.MAPPING_GS1_BARCODE,19,len(DD.MAPPING_GS1_BARCODE)-18) END
END AS PACKING_NO
,'' AS RFID_CODE
,'' AS REMARK
,BB.DESPATCH_ORDER_NO
,BB.ORDER_SEQ
FROM SUPPLY_REPORT AA
INNER JOIN (SELECT DESPATCH_ORDER_NO, ORDER_SEQ, BARCODE
FROM GD_ITEM_ISSUE A INNER JOIN GD_ITEM_ISSUE_HISTORY B on A.ITEM_ISSUE_ID=B.ITEM_ISSUE_ID
WHERE B.BARCODE like '%โจGSโฉ21%'
UNION ALL
SELECT DESPATCH_ORDER_NO, ORDER_SEQ, BARCODE
FROM GD_ITEM_ISSUE A INNER JOIN RETURN_GOODS B on A.ITEM_ISSUE_ID=B.ITEM_ISSUE_ID
WHERE B.BARCODE like '%โจGSโฉ21%'
) BB on AA.ORDER_NO = BB.DESPATCH_ORDER_NO and AA.ORDER_SEQ=BB.ORDER_SEQ
LEFT JOIN GD_PACKING_RESULT_ITEM CC on BB.BARCODE = CC.GS1_BOX_BARCODE_NO
LEFT JOIN GD_PACKING_RESULT_PACK DD on CC.MAPPING_GS1_BARCODE = DD.GS1_BOX_BARCODE_NO
WHERE AA.DELIV_DATE = @search_date --and len(DD.GS1_BOX_BARCODE_NO)=20
ORDER BY ROW_NO--BB.DESPATCH_ORDER_NO,BB.ORDER_SEQ
SET @message = '์ฑ๊ณต_S'
END
์ถ๊ณ
๊ฑฐ๋์ฒ ์ถ๊ณ ยท๋ฐฐ์ก ์ง์. ์ฌ๊ณ ์ฐจ๊ฐ๊ณผ ๋ฐ์ฝ๋ ์ด๋ ฅ ๊ธฐ๋ก.
SP_DespatchManage2D
๋ชฉ์ โ 2D ์ค์บ๋ ๊ธฐ๋ฐ ์ถ๊ณ (๋ฐ์ก) ๊ด๋ฆฌ ํ๋ฉด ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_cust_cd | nvarchar(100) | IN |
@s_issue_gb | nvarchar(100) | IN |
@s_issue_status | nvarchar(100) | IN |
@s_issue_work_Seq | nvarchar(20) | IN |
@despatch_no | nvarchar(100) | IN |
@issue_gb2 | nvarchar(10) | IN |
@issue_date | nvarchar(20) | IN |
@issue_status | nvarchar(10) | IN |
@cust_cd | nvarchar(100) | IN |
@pass_cust_cd | nvarchar(100) | IN |
@issue_dps | nvarchar(10) | IN |
@issue_detail_date | nvarchar(20) | IN |
@receipt_date | nvarchar(20) | IN |
@item_cd | nvarchar(100) | IN |
@issue_qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@lot_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@item_issue_id | int(4) | IN |
@issue_trans_gb | nvarchar(10) | IN |
@issue_trans_cust_cd | nvarchar(100) | IN |
@issue_work_date | nvarchar(20) | IN |
@issue_work_seq | int(4) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@order_seq | nvarchar(20) | IN |
@search_ck | nvarchar(10) | IN |
@s_Despatch_no | nvarchar(20) | IN |
@e_Despatch_no | nvarchar(20) | IN |
@temp | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@order_date | nvarchar(16) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
--์ถ๊ณ ์ ํ๋ฑ๋ก
--๋ฐ์์ฉ(09.10.12)
CREATE PROC [dbo].[SP_DespatchManage2D]
@GUBUN nvarchar(50) = '',
@s_sdate nvarchar(10) = '', --์์์ผ์(์กฐํ)
@s_edate nvarchar(10) = '', --์ข
๋ฃ์ผ์(์กฐํ)
@s_cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋(์กฐํ)
@s_issue_gb nvarchar(50) = '', --์ถ๊ณ ๊ตฌ๋ถ(์กฐํ)
@s_issue_status nvarchar(50) = '', --์ถ๊ณ ์ง์์ํ(์กฐํ)
@s_issue_work_Seq nvarchar(10) = '', --์์
์ฐจ์(์กฐํ์กฐ๊ฑด)
@despatch_no nvarchar(50) = '', --์ ํ๋ฒํธ
--@issue_gb nvarchar(5) = '', --์ถ๊ณ ๊ตฌ๋ถ
@issue_gb2 nvarchar(5) = '', --์ถ๊ณ ๊ตฌ๋ถ
@issue_date nvarchar(10) = '', --์ถ๊ณ ์ผ์
@issue_status nvarchar(5) = '', --์ถ๊ณ ์ง์์ํ
@cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ
@pass_cust_cd nvarchar(50) = '', --๊ฐ๋ฉ์ฒ
@issue_dps nvarchar(5) = '', --dps์ฒดํฌ
@issue_detail_date nvarchar(10) = '', --์ถ๊ณ ์ผ์(์์ธ)
@receipt_date nvarchar(10) = '', --์ ์์ผ์
@item_cd nvarchar(50) = '', --์ ํ์ฝ๋
@issue_qty decimal(15,4) = 0, --์ถ๊ณ ์ง์์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@lot_date nvarchar(10) = '', --์ ์กฐ์ผ์
@end_date nvarchar(10) = '', --์ ํจ์ผ์
@item_issue_id int = 0, --์ ํ์ถ๊ณ ์ผ๋ จ๋ฒํธ
@issue_trans_gb nvarchar(5) = '', --๋ฐฐ์ก์ฒ๊ตฌ๋ถ
@issue_trans_cust_cd nvarchar(50) = '', --๋ฐฐ์ก์ฒ์ฝ๋
@issue_work_date nvarchar(10) = '', --์์
์ผ์
@issue_work_seq int = 0, --์์
์ฐจ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@order_seq nvarchar(10) = '',
@search_ck nvarchar(5) = '',
@s_Despatch_no nvarchar(10) = '',
@e_Despatch_no nvarchar(10) = '',
@temp nvarchar(50) = '',
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@sys_emp_cd nvarchar(50) = '',
@order_date nvarchar(8) = '',
@message NVARCHAR(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #AUDIT_TEMP(audittrail_id varchar(10))
DECLARE @intErrorCode int
SET @intErrorCode = 0
DECLARE @issue_count int
SET @issue_count = ( select count(*) from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID = @item_issue_id) --์ถ๊ณ ์ ์ธํ
--์ ํ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
SELECT A.RECEIPT_DATE
, A.DESPATCH_ORDER_NO
, a.CUST_CD --๊ฑฐ๋์ฒ์ฝ๋
, c.CUST_NM --๊ฑฐ๋์ฒ๋ช
, c.CUST_AD1 --๊ฑฐ๋์ฒ์ฃผ์1
, c.CUST_AD2 --๊ฑฐ๋์ฒ์ฃผ์2
, a.PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
, d.CUST_NM as PASS_CUST_NM --๊ฐ๋ฉ์ฒ๋ช
, d.CUST_AD1 as PASS_CUST_AD1 --๊ฐ๋ฉ์ฒ์ฃผ์1
, d.CUST_AD2 as PASS_CUST_AD2 --๊ฐ๋ฉ์ฒ์ฃผ์2
,ISNULL(ISSUE_TRANS_CUST_CD,'') AS ISSUE_TRANS_CUST_CD --๋ฐฐ์ก์ฒ์ฝ๋
,ISNULL(ISSUE_TRANS_GB ,'') AS ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ
,ISNULL(f.COMMON_PART_NM,'') AS issue_trans_gb_nm --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ๋ช
,CASE WHEN ISSUE_TRANS_GB = '1' THEN c.CUST_NM WHEN ISSUE_TRANS_GB = '2' THEN d.CUST_NM ELSE '' END AS issue_trans_cust_nm --๋ฐฐ์ก์ฒ ๋ช
, A.ISSUE_GB2 as ISSUE_GB_CD --์ถ๊ณ ๊ตฌ๋ถ(์ฝ๋) ์ ๋์จ ๊ณตํต์ฝ๋
, b.COMMON_PART_NM as ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ - ์ง์ ์ถ๊ณ
, e.issue_ck_cd -- ์ ํ ์๋ฃ์ธ์ง ๋ฏธ์๋ฃ์ธ์ง 0(๋ฏธ์๋ฃ), 2(์๋ฃ)
FROM
GD_CUST_ISSUE A
LEFT OUTER JOIN common b ON (a.issue_gb = b.common_part_cd AND b.common_cd = 'GD401') -- ์์ ํ ์ถ๊ณ ๊ตฌ๋ถ(GD401)
LEFT OUTER JOIN MA_CUSTOMER c ON (a.CUST_CD = c.CUST_CD) --๊ฑฐ๋์ฒ์ฝ๋
LEFT OUTER JOIN MA_CUSTOMER d ON (a.PASS_CUST_CD = d.CUST_CD) --๊ฐ๋ฉ์ฒ์ฝ๋
LEFT OUTER JOIN common f ON (a.ISSUE_TRANS_GB = f.common_part_cd AND f.common_cd = 'GD403') -- ๋ฐฐ์ก์ฒ ๊ตฌ๋ถ(GD403)
LEFT OUTER JOIN (SELECT distinct a1.DESPATCH_ORDER_NO,case when ISNULL(b1.ISSUE_YN,'Y')='Y' then '2' ELSE '0' END AS issue_ck_cd
FROM GD_CUST_ISSUE a1 LEFT join
(Select DESPATCH_ORDER_NO, ISSUE_YN from GD_ITEM_ISSUE where ISSUE_YN = 'N') b1 ON (a1.DESPATCH_ORDER_NO=b1.DESPATCH_ORDER_NO)) e On (a.DESPATCH_ORDER_NO = e.DESPATCH_ORDER_NO)
WHERE
A.RECEIPT_DATE BETWEEN @s_sdate AND @s_edate
AND (a.CUST_CD LIKE '%' + @s_cust_cd + '%' OR d.CUST_NM LIKE '%' + @s_cust_cd + '%') -- 2012.12.06 ์ ํ๊ฐ. ๊ฑฐ๋์ฒ ์กฐํ ์กฐ๊ฑด ๋ณ๊ฒฝ
AND (e.issue_ck_cd LIKE @s_issue_status)
AND a.ISSUE_GB2 LIKE @s_issue_gb
ORDER BY a.RECEIPT_DATE, a.DESPATCH_ORDER_NO
/*
SELECT
a.ORDER_DATE + a.DESPATCH_ORDER_NO AS DESPATCH_ORDER_NO --์ ํ๋ฒํธ
a.ISSUE_GB2 as ISSUE_GB_CD --์ถ๊ณ ๊ตฌ๋ถ(์ฝ๋)
,b.COMMON_PART_NM as ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ
,LEFT(a.ORDER_DATE,4) + '-' + SUBSTRING(a.ORDER_DATE,5,2) + '-' + RIGHT(a.ORDER_DATE,2) as ISSUE_DATE -- ํด์ฌ์ผ์ --์ถ๊ณ ์ผ์
,a.CUST_CD --๊ฑฐ๋์ฒ์ฝ๋
,c.CUST_NM --๊ฑฐ๋์ฒ๋ช
,c.CUST_AD1 --๊ฑฐ๋์ฒ์ฃผ์1
,c.CUST_AD2 --๊ฑฐ๋์ฒ์ฃผ์2
,a.PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,d.CUST_NM as PASS_CUST_NM --๊ฐ๋ฉ์ฒ๋ช
,d.CUST_AD1 as PASS_CUST_AD1 --๊ฐ๋ฉ์ฒ์ฃผ์1
,d.CUST_AD2 as PASS_CUST_AD2 --๊ฐ๋ฉ์ฒ์ฃผ์2
,a.ISSUE_CK as issue_ck_cd
,e.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,'N' AS issue_chk --์ํ์ฒดํฌ
,ISNULL(ISSUE_TRANS_CUST_CD,'') AS ISSUE_TRANS_CUST_CD --๋ฐฐ์ก์ฒ์ฝ๋
,ISNULL(ISSUE_TRANS_GB ,'') AS ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ
,ISNULL(f.COMMON_PART_NM,'') AS issue_trans_gb_nm --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ๋ช
,CASE WHEN ISSUE_TRANS_GB = '1' THEN c.CUST_NM
WHEN ISSUE_TRANS_GB = '2' THEN d.CUST_NM
ELSE '' END AS issue_trans_cust_nm --๋ฐฐ์ก์ฒ ๋ช
--,g.issue_dps_down_ck as ISSUE_DPS_DOWN_CK --DPS์ฒดํฌ
FROM
GD_CUST_ISSUE a
LEFT OUTER JOIN common b ON (a.issue_gb = b.common_part_cd AND b.common_cd = 'GD401') -- ์์ ํ ์ถ๊ณ ๊ตฌ๋ถ(GD401)
LEFT OUTER JOIN MA_CUSTOMER c ON (a.CUST_CD = c.CUST_CD) --๊ฑฐ๋์ฒ์ฝ๋
LEFT OUTER JOIN MA_CUSTOMER d ON (a.PASS_CUST_CD = d.CUST_CD) --๊ฐ๋ฉ์ฒ์ฝ๋
LEFT OUTER JOIN common e ON (a.issue_ck = e.common_part_cd AND e.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN common f ON (a.ISSUE_TRANS_GB = f.common_part_cd AND f.common_cd = 'GD403') -- ๋ฐฐ์ก์ฒ ๊ตฌ๋ถ(GD403)
WHERE (a.CUST_CD LIKE '%' + @s_cust_cd + '%' OR d.CUST_NM LIKE '%' + @s_cust_cd + '%') -- 2012.12.06 ์ ํ๊ฐ. ๊ฑฐ๋์ฒ ์กฐํ ์กฐ๊ฑด ๋ณ๊ฒฝ
AND (a.ISSUE_GB2 LIKE @s_issue_gb)
AND (a.ISSUE_CK LIKE @s_issue_status)
--AND ((@search_ck = '0' AND a.ISSUE_DATE BETWEEN @s_sdate AND @s_edate)
AND ((@search_ck = '0' AND LEFT(a.ORDER_DATE,4) + '-' + SUBSTRING(a.ORDER_DATE,5,2) + '-' + RIGHT(a.ORDER_DATE,2) BETWEEN @s_sdate AND @s_edate)
OR (@search_ck = '1' AND a.ISSUE_WORK_DATE = @s_sdate)
-- OR (@search_ck = '2' AND a.ISSUE_WORK_DATE = @s_sdate AND isnull(a.ISSUE_WORK_SEQ,'0') LIKE '%' + @s_issue_work_Seq + '%')
OR (@search_ck = '3' AND a.DESPATCH_ORDER_NO >=convert(nvarchar(10),convert(datetime,@s_sdate),111)+'-'+RIGHT('0000'+@s_Despatch_no,4)
and a.DESPATCH_ORDER_NO <=convert(nvarchar(10),convert(datetime,@s_sdate),111)+'-'+RIGHT('0000'+@e_Despatch_no,4))
)
GROUP BY
a.ORDER_DATE + a.DESPATCH_ORDER_NO --์ ํ๋ฒํธ
,a.ISSUE_GB2 --์ถ๊ณ ๊ตฌ๋ถ(์ฝ๋)
,b.COMMON_PART_NM --์ถ๊ณ ๊ตฌ๋ถ
,LEFT(a.ORDER_DATE,4) + '-' + SUBSTRING(a.ORDER_DATE,5,2) + '-' + RIGHT(a.ORDER_DATE,2) --์ถ๊ณ ์ผ์
,a.CUST_CD --๊ฑฐ๋์ฒ์ฝ๋
,c.CUST_NM --๊ฑฐ๋์ฒ๋ช
,c.CUST_AD1 --๊ฑฐ๋์ฒ์ฃผ์1
,c.CUST_AD2 --๊ฑฐ๋์ฒ์ฃผ์2
,a.PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,d.CUST_NM --๊ฐ๋ฉ์ฒ๋ช
,d.CUST_AD1 --๊ฐ๋ฉ์ฒ์ฃผ์1
,d.CUST_AD2 --๊ฐ๋ฉ์ฒ์ฃผ์2
,a.ISSUE_CK
,e.COMMON_PART_NM --์ถ๊ณ ์ง์์ํ
--,'N' --์ํ์ฒดํฌ
,ISNULL(ISSUE_TRANS_CUST_CD,'') --๋ฐฐ์ก์ฒ์ฝ๋
,ISNULL(ISSUE_TRANS_GB ,'') --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ
,ISNULL(f.COMMON_PART_NM,'') --๋ฐฐ์ก์ฒ ๊ตฌ๋ถ๋ช
,CASE WHEN ISSUE_TRANS_GB = '1' THEN c.CUST_NM
WHEN ISSUE_TRANS_GB = '2' THEN d.CUST_NM
ELSE '' END --๋ฐฐ์ก์ฒ ๋ช
--,g.issue_dps_down_ck as ISSUE_DPS_DOWN_CK --DPS์ฒดํฌ
,a.issue_work_date
--and a.ISSUE_CK not in ('3','4')
ORDER BY a.ORDER_DATE + a.DESPATCH_ORDER_NO*/
SELECT @intErrorCode = @@ERROR
END
--์ ํ์์ธ ์กฐํ
ELSE IF (@gubun = 'S2')
BEGIN
SELECT
a.ITEM_ISSUE_ID --์ ํ์ถ๊ณ ์ผ๋ จ๋ฒํธ
,a.ORDER_SEQ
,a.RECEIPT_DATE
,a.ISSUE_DATE --์ถ๊ณ ์ผ์
,a.ITEM_CD --์ ํ์ฝ๋
,b.ITEM_NM --์ ํ๋ช
,dbo.fn_Pack_unit_size(a.ITEM_CD) as ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,isnull(a.ISSUE_QTY,0) as ISSUE_QTY --์ถ๊ณ ์ง์์๋
,a.LOT_NO --์ ์กฐ๋ฒํธ
,a.ITEM_STATE
FROM
GD_ITEM_ISSUE a
LEFT OUTER JOIN item_standard b ON (a.item_cd = b.item_cd)
WHERE
a.DESPATCH_ORDER_NO = @despatch_no
ORDER BY
a.ORDER_SEQ
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'I') -- ํ๊ธฐ ์
๋ ฅ
BEGIN
--์ ํ์
๋ ฅ
INSERT INTO
GD_CUST_ISSUE(
DESPATCH_ORDER_NO
,ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ
,ISSUE_GB2 --์ถ๊ณ ๊ตฌ๋ถ2
,RECEIPT_DATE --์ถ๊ณ ์ผ์
,CUST_CD --๊ฑฐ๋์ฒ์ฝ๋
,PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,issue_trans_gb --๋ฐฐ์ก์ฒ๊ตฌ๋ถ
,issue_trans_cust_cd --๋ฐฐ์ก์ฒ์ฝ๋
,ISSUE_CK --์ถ๊ณ ์ง์์ํ
,insert_user_cd
,insert_time
)
VALUES
(
@despatch_no
, 1 -- ์ง์ ์ถ๊ณ
,@issue_gb2
,@issue_date
,@cust_cd
,@pass_cust_cd
,@issue_trans_gb
,@issue_trans_cust_cd
,@issue_status
,@insert_user_cd
,getdate()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'DI') -- ํ๊ธฐ์์ธ ์
๋ ฅ
BEGIN
--์ ํ์์ธ์
๋ ฅ
INSERT INTO
GD_ITEM_ISSUE(
ORDER_SEQ
,ITEM_CD --์ ํ์ฝ๋
,ISSUE_QTY --์ถ๊ณ ์๋
,LOT_NO --์ ์กฐ๋ฒํธ
,DESPATCH_ORDER_NO
,RECEIPT_DATE
,ISSUE_YN
,ITEM_STATE
,insert_user_cd
,insert_time
)
VALUES
(
@order_seq
,@item_cd
,@issue_qty
,@lot_no
,@despatch_no
,@receipt_date
,'N'
,'SUCCESS'
,@insert_user_cd
,getdate()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE where ITEM_ISSUE_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ์ ํ ์์
ELSE IF(@gubun = 'U')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
update
GD_ITEM_ISSUE
set
--ISSUE_DPS_DOWN_CK = 'N'
UPDATE_USER_CD = @update_user_cd
,update_time = getdate()
where
DESPATCH_ORDER_NO = @despatch_no
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_ITEM_ISSUE where DESPATCH_ORDER_NO = @despatch_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
begin
UPDATE
GD_CUST_ISSUE
SET
ISSUE_GB = 1 --์ถ๊ณ ๊ตฌ๋ถ(์ง์ ์ถ๊ณ ๊ณ ์ )
,ISSUE_GB2 = @issue_gb2 --์ถ๊ณ ๊ตฌ๋ถ
,RECEIPT_DATE = @issue_date --์ถ๊ณ ์ผ์
,CUST_CD = @cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,PASS_CUST_CD = @pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,issue_trans_gb =@issue_trans_gb --๋ฐฐ์ก์ฒ๊ตฌ๋ถ
,issue_trans_cust_cd =@issue_trans_cust_cd--๋ฐฐ์ก์ฒ์ฝ๋
,ISSUE_CK = @issue_status --์ถ๊ณ ์ง์์ํ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
DESPATCH_ORDER_NO = @despatch_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
end
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
SELECT @intErrorCode = @@ERROR
END
-- ์ ํ์์ธ ์์
ELSE IF(@gubun = 'DU')
BEGIN
--select * from GD_ITEM_ISSUE
if(@issue_count > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
UPDATE
GD_ITEM_ISSUE
SET
ORDER_SEQ=@order_seq
,ITEM_CD = @item_cd --์ ํ์ฝ๋
,LOT_NO = @lot_no --์ ์กฐ๋ฒํธ
,ISSUE_QTY = @issue_qty --์ถ๊ณ ์๋
,DESPATCH_ORDER_NO = @despatch_no
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE where ITEM_ISSUE_ID = @item_issue_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
SELECT @intErrorCode = @@ERROR
END
-- ์ ํ ์ญ์
ELSE IF(@gubun = 'D')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์ฒ๋ฆฌ
DECLARE @issue_num int
set @issue_num = (SELECT count(*)
FROM GD_ITEM_ISSUE_HISTORY A JOIN GD_ITEM_ISSUE B ON A.item_issue_id = b.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_no)
IF(@issue_num > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
IF(@intErrorCode = 0) BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@despatch_no
-- [์ญ์ ] GD_ITEM_ISSUE
DELETE GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@despatch_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_CUST_ISSUE
DELETE GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO = @despatch_no
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--update t1 set ttt=@intErrorCode
END
IF @intErrorCode = 0 AND @@trancount > 0 -- COMMIT, ROLLBACK ์ฌ๋ถ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
RAISERROR('์ญ์ ์คํจ-์ถ๊ณ ๊ฐ ์๋ฃ๋์๊ฑฐ๋ ์งํ์ค์
๋๋ค.',16,1)
END
END
--์ ํ์์ธ ์ญ์
ELSE IF(@gubun = 'DD') -- ํ๊ธฐ์์ธ ์ญ์
BEGIN
if(@issue_count > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE where ITEM_ISSUE_ID = @item_issue_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_ITEM_ISSUE
DELETE GD_ITEM_ISSUE
WHERE ITEM_ISSUE_ID = @item_issue_id
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ERP_CUST_ISSUE
๋ชฉ์ โ ERP ๊ฑฐ๋์ฒ๋ณ ์ถ๊ณ ์ด๋ ฅ ์กฐํยท์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(40) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@emp_cd | nvarchar(40) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_ERP_CUST_ISSUE]
@gubun nvarchar(20) = '', --๋ฐ๋์ ์์ด์ผ ํจ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@emp_cd nvarchar(20) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
with recompile
AS
SET XACT_ABORT ON
DECLARE @intErrorCode int
declare @audittrail_id int, @row int
--SELECT @message = '์ ์', @intErrorCode = @@error
-- ERP ์ถ๊ณ ํ๋ก์์ ธ ํธ์ถ ํ๋ผ๋ฏธํฐ--
Declare
@IN_ORDER_DATE nvarchar(8) --์ ์์ผ์
,@IN_ORDER_NO int --์ ์๋ฒํธ
,@IN_ORDER_SEQ int --์ ์์๋ฒ
,@IN_DELIV_DATE nvarchar(8) --์ถ๊ณ ์ผ์
,@IN_PRCSEQ int --์ฐจ์
,@IN_EMP_NO nvarchar(6) --์ฌ์๋ฒํธ
,@IN_LOT_NO nvarchar(10) --์ ์กฐ๋ฒํธ
,@OUT_ERROR nvarchar(2000) --OUTPUT ํ๋ผ๋ฏธํฐ
--,@TOT_NO nvarchar(2000) --์ ์๋ฒํธ(์ ํ์ํ ์
๋ฐ์ดํธ์ฉ)
--์์ ํ
์ด๋ธ ์์ฑ
--์ถ๊ณ ๋ง์คํฐ
IF object_id('tempdb..#CUST_ISSUE_TEMP') is not null
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #CUST_ISSUE_TEMP
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #CUST_ISSUE_TEMP (
primary key(DESPATCH_ORDER_NO)
,DESPATCH_ORDER_NO nvarchar(50) --์ฃผ๋ฌธ๋ฒํธ 20141230-0008(order_date-order_no) ํ์
,ISSUE_GB2 nvarchar(5) --์ถ๊ณ ๊ตฌ๋ถ(์ ๋์จ์ ์ฝ ๊ธฐ์ค)
,RECEIPT_DATE nvarchar(10) --์ ์์ผ์
,CUST_CD nvarchar(50) --๊ฑฐ๋์ฒ์ฝ๋
,ISSUE_TRANS_GB nvarchar(5) --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,ISSUE_TRANS_CUST_CD nvarchar(50) --๋ฐฐ์ก์ฒ์ฝ๋
,PASS_CUST_CD nvarchar(50) --๊ฐ๋ฉ์ฒ์ฝ๋
)
--์ถ๊ณ ์ ํ์์ธ
IF object_id('tempdb..#CUST_ITEM_TEMP') is not null
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #CUST_ITEM_TEMP
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #CUST_ITEM_TEMP (
primary key(DESPATCH_ORDER_NO, ORDER_SEQ,LOT_NO)
,DESPATCH_ORDER_NO nvarchar(50) --์ฃผ๋ฌธ๋ฒํธ
,ORDER_SEQ int --ํ๋ชฉ์๋ฒ
,RECEIPT_DATE nvarchar(10) --์ ์์ผ์/ ์ํ,๋ฐํ์์๋ ์ฃผ๋ฌธ์ผ์๊ฐ ๋ค์ด๊ฐ
,ITEM_CD nvarchar(50) --์ ํ์ฝ๋
,LOT_NO nvarchar(50) --์ ์กฐ๋ฒํธ
,ISSUE_QTY decimal(15,4) --์ถ๊ณ ์๋
,LOT_YM nvarchar(6) --์ฐจ์
)
-- ์ถ๊ณ ์ค๋๋ค์ด(=์ถ๊ณ ์ฒ๋ฆฌ) ์ธํฐํ์ด์ค
IF @GUBUN='DW'
BEGIN
INSERT INTO #CUST_ISSUE_TEMP
SELECT
A.ORDER_DATE + '-' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,A.SLIP_GUBUN --์ถ๊ณ ๊ตฌ๋ถ(์ ๋์จ์ ์ฝ 16๊ฐ ๊ฐ์ง ์ถ๊ณ ์ ํ)
,convert(varchar,convert(datetime,A.RCALL_PRINT_DATE),23) AS RECEIPT_DATE --์ ์์ผ์
,case when A.SLIP_GUBUN = '15' then A.CUST_EMP else A.SALES_CODE end AS SALES_CODE --๊ฑฐ๋์ฒ์ฝ๋
,'1' AS ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,case when A.SLIP_GUBUN = '15' then A.CUST_EMP else A.SALES_CODE end AS ISSUE_TRANS_CODE --๋ฐฐ์ก์ฒ์ฝ๋
,'' AS RSALES_CODE --๊ฐ๋ฉ์ฒ์ฝ๋
FROM UNION_ERP..KUP.SALES_ORDER A
WHERE
--A.RCALL_PRINT_DATE BETWEEN '20141201' AND '20150211'
A.RCALL_PRINT_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND A.SLIP_GUBUN in ('11','15','41','51') -- ์์๋๋ก ์ ์๋งค์ถ,์ฌ์ํ๋งค,์๊ณตํ,๊ตํ
AND A.OK_YN = '1'
INSERT INTO #CUST_ITEM_TEMP
SELECT
A.ORDER_DATE + '-' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,A.ORDER_SEQ --ํ๋ชฉ์๋ฒ
,convert(varchar,convert(datetime,A.RCALL_PRINT_DATE),23) AS RECEIPT_DATE --์ ์์ผ์
,A.ITEM_CODE --์ ํ์ฝ๋
--,SUBSTRING(A.LOT_NO,5,6) AS LOT_NO
,isnull(LOT_NO,'')
,A.TAX_QTY + A.ADD_QTY AS ISSUE_QTY --์ถ๊ณ ์๋
,A.LOT_YM --์ฐจ์
FROM UNION_ERP..KUP.SALES_ITEM A
WHERE
--A.RCALL_PRINT_DATE BETWEEN '20141201' AND '20141226'
A.RCALL_PRINT_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND A.SLIP_GUBUN in ('11','15','41','51') -- ์์๋๋ก ์ ์๋งค์ถ,์ฌ์ํ๋งค,์๊ณตํ,๊ตํ
AND A.DELETE_YN = 'N' -- ERP์์ ์ถ๊ณ ๋์ง ์์ ํ๋ชฉ๋ง ๊ฐ์ ธ์ด
AND ISNULL(A.RCALL_PRINT_YN, 'N') = 'Y'
--DECLARE @intErrorCode int
--BEGIN TRANSACTION
-- BEGIN
UPDATE a
SET
a.ISSUE_GB2 = b.ISSUE_GB2
,a.RECEIPT_DATE = b.RECEIPT_DATE
, a.cust_cd=b.cust_cd
, a.ISSUE_TRANS_GB=b.ISSUE_TRANS_GB
, a.ISSUE_TRANS_CUST_CD=b.ISSUE_TRANS_CUST_CD
, a.PASS_CUST_CD = b.PASS_CUST_CD
, a.UPDATE_TIME =getdate()
, a.OUTER_INTERFACE='E'
FROM GD_CUST_ISSUE a
JOIN #CUST_ISSUE_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO
--select * from GD_CUST_ISSUE select * from #CUST_ISSUE_TEMP where TOT_NO='20141216-0008'
-- [์ ์ฌ] GD_CUST_ISSUE
INSERT INTO GD_CUST_ISSUE(
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE --์ ์์ผ์
,ISSUE_GB2 --๊ตฌ๋ถ2
,ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ(GD401) ์ํ 1
,CUST_CD --๊ฑฐ๋์ฒ ์ฝ๋
,PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,ISSUE_TRANS_CUST_CD--๋ฐฐ์ก์ฒ์ฝ๋
,ISSUE_CK --์ถ๊ณ ์๋ฃ์ฌ๋ถ
,INSERT_TIME --์
๋ ฅ์ผ์
,OUTER_INTERFACE --ERP์ฐ๋
)
SELECT
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE
,ISSUE_GB2
,'1'--์ง์ ์ถ๊ณ
,cust_cd
,PASS_CUST_CD
,ISSUE_TRANS_GB
,ISSUE_TRANS_CUST_CD
,'0'
,getdate()
,'E'
FROM #CUST_ISSUE_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_CUST_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO)
AND EXISTS ( SELECT 1 FROM #CUST_ITEM_TEMP c WHERE a.DESPATCH_ORDER_NO=c.DESPATCH_ORDER_NO)
UPDATE a
SET a.RECEIPT_DATE = b.RECEIPT_DATE
, a.item_cd=b.item_cd
, a.issue_qty=b.issue_qty
, a.lot_no=b.lot_no
, a.LOT_YM = b.LOT_YM
, a.UPDATE_TIME=getdate()
FROM GD_ITEM_ISSUE a JOIN #CUST_ITEM_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ
where ISSUE_YN != 'Y'
-- [์ ์ฌ] GD_ITEM_ISSUE
INSERT INTO GD_ITEM_ISSUE(DESPATCH_ORDER_NO, ORDER_SEQ, RECEIPT_DATE, ITEM_CD, ISSUE_QTY, LOT_NO, LOT_YM, ISSUE_YN, INSERT_TIME)
SELECT
DESPATCH_ORDER_NO
,ORDER_SEQ --์๋ฒ
,RECEIPT_DATE --์ ์์ผ์
,ITEM_CD --์ ํ์ฝ๋
,ISSUE_QTY --์ถ๊ณ ์๋
,LOT_NO --์ ์กฐ๋ฒํธ
,LOT_YM --์ฐจ์
,'N'
,getdate() --์
๋ ฅ์ผ์
FROM #CUST_ITEM_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_ITEM_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ)
--EXECUTE ( 'DBMS_OUTPUT.ENABLE(1000000)') AT UNION_ERP
--DBMS_OUTPUT.ENABLE(1000000);
-- END
--IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
--ELSE IF @@trancount > 0 ROLLBACK TRANSACTION
--DECLARE @intErrorCode int
--BEGIN DISTRIBUTED TRANSACTION
-- BEGIN
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT LEFT(A.DESPATCH_ORDER_NO,8) --์ ํ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --์ ํ๋ฒํธ
, A.ORDER_SEQ --์ ํ์๋ฒ
, convert(varchar,GETDATE(),112)
, A.LOT_YM --์ฐจ์(์ผ๋จ 1๊ณ ์ )
, @emp_cd --์ฌ์๋ฒํธ(INSERT)
, A.LOT_NO --์ ์กฐ๋ฒํธ
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
FROM GD_ITEM_ISSUE A
WHERE --A.RECEIPT_DATE BETWEEN '20141201' AND '20141226'
A.RECEIPT_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND A.ISSUE_YN = 'N'
AND substring(A.DESPATCH_ORDER_NO,9,1) = '-' --๋ฐํ์ ์ธ
AND isnull(A.LOT_NO,'') != '' -- ์ ์กฐ๋ฒํธ์๋๊ฑด ๋์ค์ STOCKOUT๋ก updateํจ
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_DELIVERY_CHECK(
?
,?
,?
,?
,?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@IN_DELIV_DATE
,@IN_PRCSEQ
,@IN_EMP_NO
,@IN_LOT_NO
,@OUT_ERROR output
) AT UNION_ERP
--ํ์ฌ ์ ํ์ํ๊ฒฐ๊ณผ ๋ฆฌํด
UPDATE GD_ITEM_ISSUE
SET ITEM_STATE = @OUT_ERROR
,UPDATE_TIME = GETDATE()
WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '-' + (REPLICATE('0',4 - LEN(@IN_ORDER_NO)) + Convert(nvarchar(4),@IN_ORDER_NO))
AND ORDER_SEQ = @IN_ORDER_SEQ
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
UPDATE GD_ITEM_ISSUE
SET ITEM_STATE = 'STOCKOUT', UPDATE_TIME = GETDATE()
WHERE isnull(LOT_NO,'')=''
--END
--IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
--ELSE IF @@trancount > 0 BEGIN ROLLBACK TRANSACTION
-- SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
--END
END
-- ์ํ์ฒ๋ฆฌ ์ฃผ๋ฌธ ์ธํฐํ์ด์ค
ELSE IF @GUBUN='DW_SUTAK'
BEGIN
INSERT INTO #CUST_ISSUE_TEMP
SELECT
A.ORDER_DATE + '~' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,'18' --์ถ๊ณ ๊ตฌ๋ถ(์ ๋์จ์ ์ฝ 16๊ฐ ๊ฐ์ง ์ถ๊ณ ์ ํ)
,''--LEFT(A.ORDER_DATE,4) + '-' + SUBSTRING(A.ORDER_DATE,5,2) + '-' + RIGHT(A.ORDER_DATE,2) AS ORDER_DATE --์ฃผ๋ฌธ์ผ์
,A.SALES_CODE --๊ฑฐ๋์ฒ์ฝ๋
,'1' AS ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,A.SALES_CODE AS ISSUE_TRANS_CODE --๋ฐฐ์ก์ฒ์ฝ๋
,'' AS RSALES_CODE --๊ฐ๋ฉ์ฒ์ฝ๋
FROM UNION_ERP..KUP.SALES_ORDER_EXP A
WHERE
A.SLIP_GUBUN = '18' -- ์ํ ๊ตฌ๋ถ๊ฐ
--AND A.ORDER_DATE BETWEEN '20141201' AND '20141226'
AND A.ORDER_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND A.ACC_YN = 'N'
INSERT INTO #CUST_ITEM_TEMP
SELECT
A.ORDER_DATE + '~' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,A.ORDER_SEQ --ํ๋ชฉ์๋ฒ
,'' AS RECEIPT_DATE --์ ์์ผ์
,A.ITEM_CODE --์ ํ์ฝ๋
--,SUBSTRING(A.LOT_NO,5,6) AS LOT_NO
,isnull(LOT_NO,'')
,QTY + isnull(A.EXTRA_QTY,0) AS ISSUE_QTY --์ถ๊ณ ์๋
,'' AS LOT_YM --์ฐจ์
FROM UNION_ERP..KUP.SALES_ITEM_EXP A
WHERE
A.SLIP_GUBUN = '18' -- ์ํ ๊ตฌ๋ถ๊ฐ
--AND A.ORDER_DATE BETWEEN '20141201' AND '20151226'
AND A.ORDER_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND A.DELIV_YN = 'N' -- ERP์์ ์ถ๊ณ ๋์ง ์์ ํ๋ชฉ๋ง ๊ฐ์ ธ์ด
UPDATE a
SET
a.ISSUE_GB2 = b.ISSUE_GB2
,a.RECEIPT_DATE = b.RECEIPT_DATE
, a.cust_cd=b.cust_cd
, a.ISSUE_TRANS_GB=b.ISSUE_TRANS_GB
, a.ISSUE_TRANS_CUST_CD=b.ISSUE_TRANS_CUST_CD
, a.PASS_CUST_CD = b.PASS_CUST_CD
, a.UPDATE_TIME =getdate()
, a.OUTER_INTERFACE='E'
FROM GD_CUST_ISSUE a
JOIN #CUST_ISSUE_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO
--select * from GD_CUST_ISSUE select * from #CUST_ISSUE_TEMP where TOT_NO='20141216-0008'
-- [์ ์ฌ] GD_CUST_ISSUE
INSERT INTO GD_CUST_ISSUE(
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE --์ ์์ผ์
,ISSUE_GB2 --๊ตฌ๋ถ2
,ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ(GD401) ์ํ 1
,CUST_CD --๊ฑฐ๋์ฒ ์ฝ๋
,PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,ISSUE_TRANS_CUST_CD--๋ฐฐ์ก์ฒ์ฝ๋
,ISSUE_CK --์ถ๊ณ ์๋ฃ์ฌ๋ถ
,INSERT_TIME --์
๋ ฅ์ผ์
,OUTER_INTERFACE --ERP์ฐ๋
)
SELECT
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE
,ISSUE_GB2
,'1'--์ง์ ์ถ๊ณ
,cust_cd
,PASS_CUST_CD
,ISSUE_TRANS_GB
,ISSUE_TRANS_CUST_CD
,'0'
,getdate()
,'E'
FROM #CUST_ISSUE_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_CUST_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO)
AND EXISTS ( SELECT 1 FROM #CUST_ITEM_TEMP c WHERE a.DESPATCH_ORDER_NO=c.DESPATCH_ORDER_NO)
UPDATE a
SET a.RECEIPT_DATE = b.RECEIPT_DATE
, a.item_cd=b.item_cd
, a.issue_qty=b.issue_qty
, a.lot_no=b.lot_no
, a.LOT_YM = b.LOT_YM
, a.UPDATE_TIME=getdate()
FROM GD_ITEM_ISSUE a JOIN #CUST_ITEM_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ
where ISSUE_YN != 'Y'
-- [์ ์ฌ] GD_ITEM_ISSUE
INSERT INTO GD_ITEM_ISSUE(DESPATCH_ORDER_NO, ORDER_SEQ, RECEIPT_DATE, ITEM_CD, ISSUE_QTY, LOT_NO, LOT_YM, ISSUE_YN, INSERT_TIME)
SELECT
DESPATCH_ORDER_NO
,ORDER_SEQ --์๋ฒ
,RECEIPT_DATE --์ ์์ผ์
,ITEM_CD --์ ํ์ฝ๋
,ISSUE_QTY --์ถ๊ณ ์๋
,LOT_NO --์ ์กฐ๋ฒํธ
,LOT_YM --์ฐจ์
,'N'
,getdate() --์
๋ ฅ์ผ์
FROM #CUST_ITEM_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_ITEM_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ)
END
-- ๋ฐํ์ฒ๋ฆฌ ์ฃผ๋ฌธ ์ธํฐํ์ด์ค
ELSE IF @GUBUN='DB'
BEGIN
INSERT INTO #CUST_ISSUE_TEMP
SELECT
A.ORDER_DATE + '*' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,'21' --์ถ๊ณ ๊ตฌ๋ถ(์ ๋์จ์ ์ฝ 16๊ฐ ๊ฐ์ง ์ถ๊ณ ์ ํ)
,''--LEFT(A.ORDER_DATE,4) + '-' + SUBSTRING(A.ORDER_DATE,5,2) + '-' + RIGHT(A.ORDER_DATE,2) AS ORDER_DATE --์ฃผ๋ฌธ์ผ์
,A.SALES_CODE --๊ฑฐ๋์ฒ์ฝ๋
,'1' AS ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,A.SALES_CODE AS ISSUE_TRANS_CODE --๋ฐฐ์ก์ฒ์ฝ๋
,'' AS RSALES_CODE --๊ฐ๋ฉ์ฒ์ฝ๋
FROM UNION_ERP..KUP.SALES_ORDER A
--INNER JOIN (SELECT ORDER_DATE, ORDER_NO FROM UNION_ERP..KUP.SALES_ITEM WHERE SALES_QTY > 0 and BULK_QTY = 0 GROUP BY ORDER_DATE, ORDER_NO) B ON A.ORDER_DATE=B.ORDER_DATE and A.ORDER_NO=B.ORDER_NO
WHERE
A.SLIP_GUBUN = '21' -- ๋ฐํ ๊ตฌ๋ถ๊ฐ
--AND A.ORDER_DATE BETWEEN '20141205' AND '20141231'
AND A.ORDER_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND NOT A.RETRN_REASON = '10'
AND A.OK_YN = '1'
AND isnull(A.QC_STATUS,'1') = '1'
AND DELETE_YN = 'N'
INSERT INTO #CUST_ITEM_TEMP
SELECT
A.ORDER_DATE + '*' + (REPLICATE('0',4 - LEN(A.ORDER_NO)) + Convert(nvarchar(4),A.ORDER_NO)) --์ฃผ๋ฌธ๋ฒํธ
,A.ORDER_SEQ --ํ๋ชฉ์๋ฒ
,'' AS RECEIPT_DATE --์ ์์ผ์
,A.ITEM_CODE --์ ํ์ฝ๋
--,SUBSTRING(A.LOT_NO,5,6) AS LOT_NO
,isnull(B.QC_LOT,'') AS LOT_NO
,B.RETRN_QTY AS ISSUE_QTY --์ถ๊ณ ์๋
,A.LOT_YM --์ฐจ์
FROM UNION_ERP..KUP.SALES_ITEM A
INNER JOIN UNION_ERP..KUP.QC_LOT B ON A.ORDER_DATE=B.QC_DATE and A.ORDER_NO=B.QC_NO and A.ORDER_SEQ=B.QC_SEQ
WHERE
A.SLIP_GUBUN = '21'
--AND A.ORDER_DATE BETWEEN '20121205' AND '20141231'
AND A.ORDER_DATE BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
and A.SALES_QTY > 0 --and A.BULK_QTY = 0 --BULK_QTY(๋ฑ์์๋) ์กด์ฌํ๋ ๋ฐํ์ ์ผ๋ จ๋ฒํธ ์ ์ธ
UPDATE a
SET
a.ISSUE_GB2 = b.ISSUE_GB2
,a.RECEIPT_DATE = b.RECEIPT_DATE
, a.cust_cd=b.cust_cd
, a.ISSUE_TRANS_GB=b.ISSUE_TRANS_GB
, a.ISSUE_TRANS_CUST_CD=b.ISSUE_TRANS_CUST_CD
, a.PASS_CUST_CD = b.PASS_CUST_CD
, a.UPDATE_TIME =getdate()
, a.OUTER_INTERFACE='E'
FROM GD_CUST_ISSUE a
JOIN #CUST_ISSUE_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO
--select * from GD_CUST_ISSUE select * from #CUST_ISSUE_TEMP where TOT_NO='20141216-0008'
-- [์ ์ฌ] GD_CUST_ISSUE
INSERT INTO GD_CUST_ISSUE(
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE --์ ์์ผ์
,ISSUE_GB2 --๊ตฌ๋ถ2
,ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ(GD401) ์ํ 1
,CUST_CD --๊ฑฐ๋์ฒ ์ฝ๋
,PASS_CUST_CD --๊ฐ๋ฉ์ฒ์ฝ๋
,ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ(GD401)1
,ISSUE_TRANS_CUST_CD--๋ฐฐ์ก์ฒ์ฝ๋
,ISSUE_CK --์ถ๊ณ ์๋ฃ์ฌ๋ถ
,INSERT_TIME --์
๋ ฅ์ผ์
,OUTER_INTERFACE --ERP์ฐ๋
)
SELECT
DESPATCH_ORDER_NO --์ฃผ๋ฌธ๋ฒํธ
,RECEIPT_DATE
,ISSUE_GB2
,'1'--์ง์ ์ถ๊ณ
,cust_cd
,PASS_CUST_CD
,ISSUE_TRANS_GB
,ISSUE_TRANS_CUST_CD
,'0'
,getdate()
,'E'
FROM #CUST_ISSUE_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_CUST_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO)
AND EXISTS ( SELECT 1 FROM #CUST_ITEM_TEMP c WHERE a.DESPATCH_ORDER_NO=c.DESPATCH_ORDER_NO)
UPDATE a
SET a.RECEIPT_DATE = b.RECEIPT_DATE
, a.item_cd=b.item_cd
, a.issue_qty=b.issue_qty
, a.lot_no=b.lot_no
, a.LOT_YM = b.LOT_YM
, a.UPDATE_TIME=getdate()
FROM GD_ITEM_ISSUE a JOIN #CUST_ITEM_TEMP b on a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ
where ISSUE_YN != 'Y'
-- [์ ์ฌ] GD_ITEM_ISSUE
INSERT INTO GD_ITEM_ISSUE(DESPATCH_ORDER_NO, ORDER_SEQ, RECEIPT_DATE, ITEM_CD, ISSUE_QTY, LOT_NO, LOT_YM, ISSUE_YN, INSERT_TIME)
SELECT
DESPATCH_ORDER_NO
,ORDER_SEQ --์๋ฒ
,RECEIPT_DATE --์ ์์ผ์
,ITEM_CD --์ ํ์ฝ๋
,ISSUE_QTY --์ถ๊ณ ์๋
,LOT_NO --์ ์กฐ๋ฒํธ
,LOT_YM --์ฐจ์
,'N'
,getdate() --์
๋ ฅ์ผ์
FROM #CUST_ITEM_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM GD_ITEM_ISSUE b WHERE a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO and a.ORDER_SEQ = b.ORDER_SEQ)
END
SP_IssueExtra
๋ชฉ์ โ ์ถ๊ณ ๋ถ๊ฐ ์ ๋ณด(์ถ๊ฐ ํ๋ยท์์ธ ์ผ์ด์ค) ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@out_date | nvarchar(20) | IN |
@item_cd | nvarchar(60) | IN |
@out_type | nvarchar(10) | IN |
@gs1_barcode | nvarchar(120) | IN |
@box_type | nvarchar(10) | IN |
@cust_cd | nvarchar(60) | IN |
@gtin13 | nvarchar(40) | IN |
@lot_no | nvarchar(40) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
@identity | nvarchar(100) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
์ ์ ์ :
SP ๋ช
: SP_IssueExtra
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๊ธฐํ์ถ๊ณ
์ฌ ์ฉ ์ฒ : IssueExtra.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_IssueExtra]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@out_date NVARCHAR(10) = ''
,@item_cd NVARCHAR(30) = ''
,@out_type NVARCHAR(5) = ''
,@gs1_barcode NVARCHAR(60) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(5) = ''
,@cust_cd NVARCHAR(30) = ''
,@gtin13 NVARCHAR(20) = ''
,@lot_no NVARCHAR(20) = ''
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@sys_emp_cd nvarchar(50) = ''
,@message NVARCHAR(2000) output
,@identity nvarchar(50) = '' output
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๊ธฐํ์ถ๊ณ ์ ๋ณด ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
IF(@box_type = 0)
BEGIN
SELECT
OUT_DATE
,OUT_ITEM_CD AS ITEM_CD
,B.ITEM_NM AS ITEM_NM
,dbo.fn_Pack_unit_size(OUT_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,GS1_BARCODE
,OUT_TYPE
,OUT_CUST_CD AS CUST_CD
,C.CUST_NM
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
LEFT JOIN ITEM_STANDARD B ON A.OUT_ITEM_CD = B.ITEM_CD
LEFT JOIN MA_CUSTOMER C ON A.OUT_CUST_CD = C.CUST_CD
WHERE 1=1
AND A.OUT_DATE between @s_sdate and @s_edate
AND A.OUT_ITEM_CD like @item_cd
AND A.OUT_TYPE like @out_type AND A.OUT_TYPE != 5 -- ์ํ๋ฑ๋ก ์ ์ธ
AND GS1_BARCODE like @gs1_barcode
ORDER BY
OUT_DATE, GS1_BARCODE
END
ELSE if (@box_type = 1)
BEGIN
SELECT
OUT_DATE
,OUT_ITEM_CD AS ITEM_CD
,B.ITEM_NM AS ITEM_NM
,dbo.fn_Pack_unit_size(OUT_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,GS1_BARCODE
,OUT_TYPE
,OUT_CUST_CD AS CUST_CD
,C.CUST_NM
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
LEFT JOIN ITEM_STANDARD B ON A.OUT_ITEM_CD = B.ITEM_CD
LEFT JOIN MA_CUSTOMER C ON A.OUT_CUST_CD = C.CUST_CD
WHERE 1=1
AND A.OUT_DATE between @s_sdate and @s_edate
AND A.OUT_ITEM_CD like @item_cd
AND A.OUT_TYPE like @out_type AND A.OUT_TYPE != 5 -- ์ํ๋ฑ๋ก ์ ์ธ
AND BOX_BARCODE_NO = (SELECT GS1_BOX_BARCODE_NO FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode)
AND B.ITEM_CD = @item_cd
ORDER BY
OUT_DATE, GS1_BARCODE
END
ELSE if (@box_type = 2)
BEGIN
SELECT
OUT_DATE
,OUT_ITEM_CD AS ITEM_CD
,B.ITEM_CD AS ITEM_NM
,dbo.fn_Pack_unit_size(OUT_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,GS1_BARCODE
,OUT_TYPE
,OUT_CUST_CD AS CUST_CD
,C.CUST_NM
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
LEFT JOIN ITEM_STANDARD B ON A.OUT_ITEM_CD = B.ITEM_CD
LEFT JOIN MA_CUSTOMER C ON A.OUT_CUST_CD = C.CUST_CD
WHERE 1=1
AND A.OUT_DATE between @s_sdate and @s_edate
AND A.OUT_ITEM_CD like @item_cd
AND A.OUT_TYPE like @out_type AND A.OUT_TYPE != 5 -- ์ํ๋ฑ๋ก ์ ์ธ
AND BOX_BARCODE_NO in (select GS1_BOX_BARCODE_NO from GD_PACKING_RESULT_PACK where MAPPING_GS1_BARCODE = @gs1_barcode)
ORDER BY
OUT_DATE, GS1_BARCODE
END
ELSE
BEGIN
RAISERROR ('์๋ฌ๋ฐ์(#101)' , 16, 1);
END
END
-- ๊ธฐํ์ถ๊ณ ํ ๋ฐ์ฝ๋ ์กฐํ(์.์ค.๋๋ฐ์ค) [์กฐ๊ฑด : ์
๊ณ ์๋ฃ๋๊ฒ]
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
IF(@box_type = 0)
BEGIN
SELECT
OUT_DATE = @out_date
,b.ITEM_CD AS ITEM_CD
,C.ITEM_NM AS ITEM_NM
,dbo.fn_Pack_unit_size(B.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,GS1_BOX_BARCODE_NO AS GS1_BARCODE
,OUT_TYPE = @out_type
,CUST_CD = @cust_cd
,D.CUST_NM
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
LEFT JOIN ITEM_STANDARD C ON B.ITEM_CD = C.ITEM_CD
LEFT JOIN MA_CUSTOMER D ON D.CUST_CD = @cust_cd
WHERE 1=1
AND A.GS1_BOX_BARCODE_NO = @gs1_barcode
-- AND C.ITEM_PACK_BARCODE = @gtin13
AND B.RECEIPT_STATUS = 'Y'
AND A.STOCK_QTY = 1
END
ELSE if (@box_type = 1)
BEGIN
SELECT
OUT_DATE = @out_date
,B.ITEM_CD AS ITEM_CD
,C.ITEM_NM
,dbo.fn_Pack_unit_size(B.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,A.GS1_BOX_BARCODE_NO AS GS1_BARCODE
,OUT_TYPE = @out_type
,CUST_CD = @cust_cd
,D.CUST_NM
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
LEFT JOIN ITEM_STANDARD C ON B.ITEM_CD = C.ITEM_CD
LEFT JOIN MA_CUSTOMER D ON D.CUST_CD = @cust_cd
WHERE 1=1
AND A.MAPPING_GS1_BARCODE = @gs1_barcode
-- AND C.ITEM_PACK_BARCODE = @gtin13
AND B.RECEIPT_STATUS = 'Y'
AND A.STOCK_QTY = 1
END
ELSE if (@box_type = 2)
BEGIN
SELECT
OUT_DATE = @out_date
,C.ITEM_CD AS ITEM_CD
,C.ITEM_NM
,dbo.fn_Pack_unit_size(D.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,A.GS1_BOX_BARCODE_NO AS GS1_BARCODE
,OUT_TYPE = @out_type
,CUST_CD = @cust_cd
,F.CUST_NM
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
LEFT JOIN GD_ITEM_STOCK D ON A.ITEM_STOCK_ID = D.ITEM_STOCK_ID
LEFT JOIN ITEM_STANDARD C ON D.ITEM_CD = C.ITEM_CD
LEFT JOIN MA_CUSTOMER F ON F.CUST_CD = @cust_cd
WHERE 1=1
AND B.MAPPING_GS1_BARCODE = @gs1_barcode
-- AND C.ITEM_PACK_BARCODE = @gtin13
AND D.RECEIPT_STATUS = 'Y'
AND A.STOCK_QTY = 1
END
ELSE
BEGIN
RAISERROR ('์๋ฌ๋ฐ์(#102)' , 16, 1);
END
END
-- ๊ธฐํ์ถ๊ณ ์ ๋ณด ๋ฑ๋ก
-- [๋ถ๊ธฐ] @gubun = 'Insert' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Insert') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
DECLARE @box_barcode_no nvarchar(20) = ''
SELECT @box_barcode_no = MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
INSERT GD_PACKING_RESULT_PACK_OUT_HISTORY (
GS1_BARCODE
,BOX_BARCODE_NO
,OUT_ITEM_CD
,OUT_LOT_NO
,OUT_TYPE
,OUT_QTY
,OUT_DATE
,OUT_CUST_CD
,INSERT_USER_CD
,INSERT_TIME
)
VALUES (
@gs1_barcode
,@box_barcode_no
,@item_cd
,@lot_no
,@out_type
,1
,@out_date
,@cust_cd
,@insert_user_cd
,GETDATE()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK_OUT_HISTORY where PACKING_RESULT_PACK_OUT_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK_OUT_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK
SET STOCK_QTY = STOCK_QTY - 1
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ๊ธฐํ์ถ๊ณ ์ ๋ณด ์ญ์
-- [๋ถ๊ธฐ] @gubun = 'Delete' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Delete') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_PACKING_RESULT_ITEM set STOCK_QTY = STOCK_QTY + 1 WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK
set STOCK_QTY = STOCK_QTY + 1
WHERE GS1_BOX_BARCODE_NO = (select MAPPING_GS1_BARCODE from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = (select MAPPING_GS1_BARCODE from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK_OUT_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_PACK_OUT_HISTORY
DELETE GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE = @gs1_barcode
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemDespatchList
๋ชฉ์ โ ํ๋ชฉ ์ถ๊ณ ๋ชฉ๋ก ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@gubun2 | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | int(4) | IN |
@box_barcode_no | char(10) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@s_issue_gb | nvarchar(100) | IN |
@issue_qty | decimal(9) | IN |
@issue_order_qty | decimal(9) | IN |
@stock_qty | decimal(9) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@issue_date | nvarchar(20) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@item_issue_status | nvarchar(100) | IN |
@detail_stock_id | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@default_barcode | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
(2014.05.30)
์ ์ ์ :
SP ๋ช
: SP_ItemDespatchList
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ๋ด์ญ์กฐํ
์ฌ ์ฉ ์ฒ : ItemDespatchList.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemDespatchList]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@gubun2 nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id int = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no char(10) = '', --์งํจ๋ฐ์ฝ๋
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@s_issue_gb nvarchar(50) = '', --์ถ๊ณ ๊ตฌ๋ถ(์กฐํ)
@issue_qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@issue_order_qty decimal(15,4) = 0, --์ถ๊ณ ์ง์๋
@stock_qty decimal(15,4) = 0, --์ฌ๊ณ ์๋
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@issue_date nvarchar(10) = '',
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@item_issue_status nvarchar(50) = '', --์ ํ ์ถ๊ณ ์ํ
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@packing_order_no nvarchar(50) ='',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@default_barcode nvarchar(50) = '', --ํ์ค๋ฐ์ฝ๋ (20130708 ์ถ๊ฐ)
@cust_cd nvarchar(50) = '',
@plant_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = ''
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @plant_nm NVARCHAR(50)
DECLARE @plant_busin_no NVARCHAR(50)
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT d.COMMON_PART_NM as GUBUN2 --๊ตฌ๋ถ(์ ์ํ๋งค, ๋ฐํ ๊ตฌ๋ถ)
,a.ISSUE_GB2 --์ ๊ตฌ๋ถ ์ฝ๋๊ฐ
,a.despatch_order_no --์ ํ๋ฒํธ
,e.issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,b.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,a.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,b.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
--,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,e.ITEM_ISSUE_ID --์ ํ์์ธ ์ผ๋ จ๋ฒํธ
,f.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(e.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,e.LOT_NO
,case when a.ISSUE_GB2='21' then e.ISSUE_QTY * -1 else e.ISSUE_QTY end AS ISSUE_QTY
FROM
gd_cust_issue a
RIGHT JOIN GD_ITEM_ISSUE e ON (a.DESPATCH_ORDER_NO=e.DESPATCH_ORDER_NO)
LEFT JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT JOIN common d ON (a.ISSUE_GB2 = d.common_part_cd AND d.common_cd = 'GD301')
LEFT JOIN ITEM_STANDARD f ON (e.ITEM_CD = f.ITEM_CD)
WHERE
e.issue_date BETWEEN @sdate AND @edate
AND a.cust_cd like @cust_cd
and e.ISSUE_YN = 'Y'
AND a.ISSUE_GB2 LIKE @s_issue_gb
ORDER BY
e.issue_date, a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
SELECT @gubun2 = ISSUE_GB2 from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no
SELECT @plant_nm = plant_nm
,@plant_busin_no = plant_busin_no
FROM MA_PLANT
WHERE PLANT_CD = 'PC001'
--IF (@gubun2 <> '7' AND @gubun2 <> '8') BEGIN
IF (@gubun2 <> '21') BEGIN /*์ ์๋ฐํ=21*/
SELECT @plant_nm AS PLANT_NM
,@plant_busin_no AS PLANT_BUSIN_NO
,A.ITEM_ISSUE_ID
,A.ITEM_CD
,B.ITEM_NM
,A.LOT_NO
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,C.ISSUE_QTY AS OUT_QTY
,case when d.PROD_QTY = 1 then '1' else a.ISSUE_QTY end as ISSUE_QTY
--,case when f.SERIAL_YN = 'Y' then '1' else A.ISSUE_QTY end AS ISSUE_QTY
,B.ITEM_PACK_BARCODE --ํ์ค์ฝ๋
,C.BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
,E.GS1_BOX_BARCODE_NO --์ค๋ฐ์ค ์ ๋ณด
,E.MAPPING_GS1_BARCODE --๋๋ฐ์ค ์ ๋ณด
,C.END_DATE --์ ํจ๊ธฐํ
FROM GD_ITEM_ISSUE A
LEFT JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
RIGHT JOIN GD_ITEM_ISSUE_HISTORY C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
LEFT JOIN GD_PACKING_RESULT_ITEM D ON (C.DETAIL_STOCK_ID = D.DETAIL_STOCK_ID)
LEFT JOIN GD_PACKING_RESULT_PACK E ON (D.MAPPING_GS1_BARCODE = E.GS1_BOX_BARCODE_NO)
WHERE A.DESPATCH_ORDER_NO = @despatch_order_no
and a.ISSUE_YN = 'Y'
and a.issue_date = @issue_date
order by B.ITEM_NM, c.BARCODE
END
ELSE BEGIN
SELECT @plant_nm AS PLANT_NM
,@plant_busin_no AS PLANT_BUSIN_NO
,A.ITEM_ISSUE_ID
,A.ITEM_CD
,B.ITEM_NM
,A.LOT_NO
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,C.QTY * -1 AS OUT_QTY
,C.QTY * -1 AS ISSUE_QTY
,B.ITEM_PACK_BARCODE --ํ์ค์ฝ๋
,C.BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
,E.GS1_BOX_BARCODE_NO --์ค๋ฐ์ค ์ ๋ณด
,E.MAPPING_GS1_BARCODE --๋๋ฐ์ค ์ ๋ณด
--,F.END_DATE AS END_DATE --์ฌ์ฉ๊ธฐํ
,'20' + SUBSTRING(C.BARCODE,17,2) +'-'+ SUBSTRING(C.BARCODE,19,2) +'-' + SUBSTRING(C.BARCODE,21,2) AS END_DATE -- 01088066550176371712121210ABSTR005
FROM GD_ITEM_ISSUE A
LEFT JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT JOIN RETURN_GOODS C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
LEFT JOIN GD_PACKING_RESULT_ITEM D ON (C.BARCODE = D.GS1_BOX_BARCODE_NO)
LEFT JOIN GD_PACKING_RESULT_PACK E ON (D.MAPPING_GS1_BARCODE = E.GS1_BOX_BARCODE_NO)
LEFT JOIN GD_ITEM_STOCK F ON (E.ITEM_STOCK_ID=F.ITEM_STOCK_ID)
WHERE A.DESPATCH_ORDER_NO = @despatch_order_no
order by B.ITEM_NM, c.BARCODE
END
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋์ฒ ์ด๋ฉ์ผ ์กฐํ
ELSE IF (@gubun = 'CUST_EMAIL') BEGIN
SELECT CUST_EMAIL_AD
FROM MA_CUSTOMER
WHERE CUST_CD = @cust_cd
SELECT @intErrorCode = @@ERROR
END
-- ๋ฐ์ ์ ์ด๋ฉ์ผ ์กฐํ
ELSE IF (@gubun = 'PLANT_EMAIL') BEGIN
SELECT PLANT_EMAIL_AD, PLANT_EMAIL_PASS
FROM MA_PLANT
WHERE PLANT_CD = @plant_cd
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'DEL_NORMAL') BEGIN --ํ ์ ์์ฃผ๋ฌธ์์ ํ ํ๋ชฉ๋ง ์ญ์
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
update B
set stock_qty = STOCK_QTY + a.ISSUE_QTY
from GD_ITEM_ISSUE_HISTORY a
inner join GD_PACKING_RESULT_ITEM b on a.BARCODE = b.GS1_BOX_BARCODE_NO
inner join GD_ITEM_ISSUE c on a.ITEM_ISSUE_ID = c.ITEM_ISSUE_ID
where c.ITEM_ISSUE_ID = @item_issue_id
update b
set stock_qty = stock_qty + a.ISSUE_QTY
from (select sum(a.ISSUE_QTY) ISSUE_QTY,c.BOX_BARCODE_NO
from GD_ITEM_ISSUE_HISTORY a
inner join GD_PACKING_RESULT_ITEM b on a.BARCODE = b.GS1_BOX_BARCODE_NO
inner join GD_PACKING_RESULT_PACK c on b.MAPPING_GS1_BARCODE = c.GS1_BOX_BARCODE_NO
inner join GD_ITEM_ISSUE d on a.ITEM_ISSUE_ID = d.ITEM_ISSUE_ID
where d.ITEM_ISSUE_ID = @item_issue_id
group by c.BOX_BARCODE_NO) a
inner join GD_PACKING_RESULT_PACK b on a.BOX_BARCODE_NO = b.BOX_BARCODE_NO
-- [์ญ์ ] A
DELETE A
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID=B.ITEM_ISSUE_ID
WHERE B.ITEM_ISSUE_ID=@item_issue_id
UPDATE GD_ITEM_ISSUE SET ISSUE_YN='N', ISSUE_DATE='' where ITEM_ISSUE_ID=@item_issue_id
SELECT @intErrorCode = @@ERROR --select * from GD_ITEM_ISSUE where DESPATCH_ORDER_NO like '20150216%'
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
ELSE IF (@gubun = 'DEL_SUTAK') BEGIN --์ํ์ฃผ๋ฌธ ์ ์ฒด ์ญ์
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
update GD_PACKING_RESULT_ITEM
set stock_qty = STOCK_QTY + a.ISSUE_QTY
from GD_ITEM_ISSUE_HISTORY a
inner join GD_PACKING_RESULT_ITEM b on a.BARCODE = b.GS1_BOX_BARCODE_NO
inner join GD_ITEM_ISSUE c on a.ITEM_ISSUE_ID = c.ITEM_ISSUE_ID
where c.DESPATCH_ORDER_NO = @despatch_order_no
update b
set stock_qty = stock_qty + a.ISSUE_QTY
from (select sum(a.ISSUE_QTY) ISSUE_QTY,c.BOX_BARCODE_NO
from GD_ITEM_ISSUE_HISTORY a
inner join GD_PACKING_RESULT_ITEM b on a.BARCODE = b.GS1_BOX_BARCODE_NO
inner join GD_PACKING_RESULT_PACK c on b.MAPPING_GS1_BARCODE = c.GS1_BOX_BARCODE_NO
inner join GD_ITEM_ISSUE d on a.ITEM_ISSUE_ID = d.ITEM_ISSUE_ID
where d.DESPATCH_ORDER_NO = @despatch_order_no
group by c.BOX_BARCODE_NO) a
inner join GD_PACKING_RESULT_PACK b on a.BOX_BARCODE_NO = b.BOX_BARCODE_NO
-- [์ญ์ ] A
DELETE A
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID=B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO=@despatch_order_no
UPDATE GD_ITEM_ISSUE SET ISSUE_YN='N', ISSUE_DATE='' where DESPATCH_ORDER_NO=@despatch_order_no
UPDATE GD_CUST_ISSUE SET ISSUE_CK='0' where DESPATCH_ORDER_NO=@despatch_order_no
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
ELSE IF (@gubun = 'DEL_RETURN') BEGIN --๋ฐํ์ฃผ๋ฌธ ์ ์ฒด ์ญ์
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- [์ญ์ ] A
DELETE A
FROM RETURN_GOODS A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID=B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO=@despatch_order_no
UPDATE GD_ITEM_ISSUE SET ISSUE_YN='N', ISSUE_DATE='' where DESPATCH_ORDER_NO=@despatch_order_no
UPDATE GD_CUST_ISSUE SET ISSUE_CK='0' where DESPATCH_ORDER_NO=@despatch_order_no
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)SP_ProductDespatchList
๋ชฉ์ โ ์ ํ ์ถ๊ณ ๋ชฉ๋ก ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | int(4) | IN |
@box_barcode_no | char(10) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@issue_qty | decimal(9) | IN |
@issue_order_qty | decimal(9) | IN |
@stock_qty | decimal(9) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@item_issue_status | nvarchar(100) | IN |
@detail_stock_id | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
@s_cust_cd | nvarchar(40) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@default_barcode | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.08.05)
์ ์ ์ :
SP ๋ช
: SP_ProductDespatchList
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ๋ด์ญ์กฐํ
์ฌ ์ฉ ์ฒ : ProductDespatchList.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ProductDespatchList]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id int = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no char(10) = '', --์งํจ๋ฐ์ฝ๋
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@issue_qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@issue_order_qty decimal(15,4) = 0, --์ถ๊ณ ์ง์๋
@stock_qty decimal(15,4) = 0, --์ฌ๊ณ ์๋
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@item_issue_status nvarchar(50) = '', --์ ํ ์ถ๊ณ ์ํ
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@packing_order_no nvarchar(50) ='',
@s_item_cd nvarchar(20) ='',
@s_cust_cd nvarchar(20) ='',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@default_barcode nvarchar(50) = '', --ํ์ค๋ฐ์ฝ๋ (20130708 ์ถ๊ฐ)
@cust_cd nvarchar(50) = ''
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
--DECLARE @issue_qty_sum int
--SET @issue_qty_sum = ( select SUM(ISSUE_QTY) from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id) --์ถ๊ณ ๋์ ํฉ์ ๊ตฌํ๋ค.
DECLARE @plant_nm NVARCHAR(50)
DECLARE @plant_busin_no NVARCHAR(50)
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT @plant_nm = plant_nm
,@plant_busin_no = plant_busin_no
FROM MA_PLANT
WHERE PLANT_CD = 'PC001'
--์ ์๋งค์ถ,์ํ
SELECT
@plant_nm AS PLANT_NM
,@plant_busin_no AS PLANT_BUSIN_NO
,a.despatch_order_no --์ ํ๋ฒํธ
,d.ISSUE_DATE as issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,b.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,a.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,b.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,d.ITEM_CD
,d.ITEM_ISSUE_ID
,e.ITEM_NM
,d.LOT_NO AS LOT_NO
,DBO.FN_PACK_UNIT_SIZE(d.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,d.DESPATCH_ORDER_NO
,f.ISSUE_QTY AS OUT_QTY
,d.ISSUE_QTY
,e.ITEM_PACK_BARCODE --ํ์ค์ฝ๋
,f.BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
,g.COMMON_PART_NM as order_gb -- ์ฃผ๋ฌธ ๊ตฌ๋ถ
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN GD_ITEM_ISSUE d on (a.DESPATCH_ORDER_NO = d.DESPATCH_ORDER_NO)
LEFT OUTER JOIN ITEM_STANDARD e ON (d.ITEM_CD = e.ITEM_CD)
LEFT OUTER JOIN GD_ITEM_ISSUE_HISTORY f ON (d.ITEM_ISSUE_ID = f.ITEM_ISSUE_ID)
LEFT OUTER JOIN common g ON (a.ISSUE_GB2 = g.common_part_cd AND g.common_cd = 'GD301') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
WHERE
d.ISSUE_DATE BETWEEN @sdate AND @edate
and d.ITEM_CD = @s_item_cd
and a.CUST_CD like @cust_cd
and d.LOT_NO like @lot_no
and a.ISSUE_GB2<>'21'
UNION ALL
--์ ์๋ฐํ
SELECT
@plant_nm AS PLANT_NM
,@plant_busin_no AS PLANT_BUSIN_NO
,a.despatch_order_no --์ ํ๋ฒํธ
,d.ISSUE_DATE as issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,b.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,a.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,b.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,d.ITEM_CD
,d.ITEM_ISSUE_ID
,e.ITEM_NM
,d.LOT_NO AS LOT_NO
,DBO.FN_PACK_UNIT_SIZE(d.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,d.DESPATCH_ORDER_NO
,-1*f.QTY AS OUT_QTY
,d.ISSUE_QTY
,e.ITEM_PACK_BARCODE --ํ์ค์ฝ๋
,f.BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
,g.COMMON_PART_NM as order_gb -- ์ฃผ๋ฌธ ๊ตฌ๋ถ
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN GD_ITEM_ISSUE d on (a.DESPATCH_ORDER_NO = d.DESPATCH_ORDER_NO)
LEFT OUTER JOIN ITEM_STANDARD e ON (d.ITEM_CD = e.ITEM_CD)
LEFT OUTER JOIN RETURN_GOODS f ON (d.ITEM_ISSUE_ID = f.ITEM_ISSUE_ID)
LEFT OUTER JOIN common g ON (a.ISSUE_GB2 = g.common_part_cd AND g.common_cd = 'GD301') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
WHERE
d.ISSUE_DATE BETWEEN @sdate AND @edate
and d.ITEM_CD = @s_item_cd
and a.CUST_CD like @cust_cd
and d.LOT_NO like @lot_no
and a.ISSUE_GB2='21'
ORDER BY
d.ISSUE_DATE, a.DESPATCH_ORDER_NO, f.BARCODE
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
๋ฐํ
์ถ๊ณ ๋ถ ๋ฐํ ์ ์์ ์ฌ๊ณ ๋ณต์.
SP_ItemReturn
๋ชฉ์ โ ๋ฐํ ๋ฑ๋กยท์ฌ๊ณ ๋ณต์.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@gubun2 | nvarchar(100) | IN |
@barcode | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@order_date | nvarchar(100) | IN |
@order_no | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_ck | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@box_type | nvarchar(30) | IN |
@issue_date | nvarchar(20) | IN |
@item_issue_id | nvarchar(100) | IN |
@gs1_barcode | nvarchar(200) | IN |
@return_gubun | nvarchar(10) | IN |
@cust_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@LOT_NO | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@STOCK_QTY | int(4) | IN |
@update_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@box_type_insert | nvarchar(30) | IN |
@issue_qty | int(4) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
(14.05.27)
์ ์ ์ :
SP ๋ช
: SP_ItemReturn
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐํ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemReturn.cs
ํ
์ด ๋ธ : GD_CUST_ISSUE, GD_ITEM_ISSUE, RETURN_GOODS, GD_PACKING_RESULT_PACK, GD_PACKING_RESULT_ITEM
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemReturn]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@gubun2 nvarchar(50) = '', --๊ตฌ๋ถ์2
@barcode nvarchar(50) = '',
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@order_date nvarchar(50) = '',
@order_no nvarchar(50) = '',
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_ck nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@box_type nvarchar(15) = '',
@issue_date nvarchar(10) = '',
@item_issue_id nvarchar(50) = '', --์ ํ์ถ๊ณ ์์ธ์ผ๋ จ๋ฒํธ
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@return_gubun nvarchar(5) = '',
@cust_cd nvarchar(50) = '', --์ถ๊ณ ๊ฑฐ๋์ฒ ์ฝ๋
@insert_user_cd nvarchar(50) = '',
@LOT_NO NVARCHAR(50) = '',
@item_cd NVARCHAR(50) = '',
@STOCK_QTY INT = 0,
@update_user_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@box_type_insert nvarchar(15) = '',
@issue_qty int =0, --์ถ๊ณ ์๋ ๋ณ์์ถ๊ฐ
@message nvarchar(2000) output
AS
SET XACT_ABORT ON
SET NOCOUNT ON
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ERP ์ถ๊ณ ํ๋ก์์ ธ ํธ์ถ ํ๋ผ๋ฏธํฐ--
Declare
@IN_ORDER_DATE nvarchar(8) --์ ์์ผ์
,@IN_ORDER_NO nvarchar(4) --์ ์๋ฒํธ
,@IN_ORDER_SEQ int --์ ์์๋ฒ
,@IN_DELIV_DATE nvarchar(8) --์ถ๊ณ ์ผ์
,@IN_PRCSEQ int --์ฐจ์
,@IN_EMP_NO nvarchar(10) --์ฌ์์ฝ๋
,@IN_DEPT_NO nvarchar(10) --๋ถ์์ฝ๋
,@IN_LOT_NO nvarchar(10) --์ ์กฐ๋ฒํธ
,@OUT_ERROR nvarchar(2000) --OUTPUT ํ๋ผ๋ฏธํฐ
-- ์ถ๊ณ ์ ํ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.despatch_order_no
,LEFT(a.DESPATCH_ORDER_NO,4) + '-'+ SUBSTRING(a.DESPATCH_ORDER_NO,5,2) + '-' + SUBSTRING(a.DESPATCH_ORDER_NO,7,2) as issue_date
,a.cust_cd
,b.cust_nm
,a.pass_cust_cd
,b.cust_nm as pass_cust_nm
,c.issue_ck_cd as issue_ck --๊ตฌ๋ถ : ์ง์,๋๊ธฐ,์๋ฃ(GD402)
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN (SELECT distinct a1.DESPATCH_ORDER_NO,case when ISNULL(b1.ISSUE_YN,'Y')='Y' then '2' ELSE '0' END AS issue_ck_cd
FROM GD_CUST_ISSUE a1
LEFT join (Select DESPATCH_ORDER_NO, ISSUE_YN from GD_ITEM_ISSUE where ISSUE_YN = 'N') b1 ON (a1.DESPATCH_ORDER_NO = b1.DESPATCH_ORDER_NO)) c On (a.DESPATCH_ORDER_NO = c.DESPATCH_ORDER_NO)
WHERE
LEFT(A.DESPATCH_ORDER_NO,8) BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND a.despatch_order_no like @despatch_order_no
AND a.ISSUE_GB2='21' -- ๋ฐํ, ๋งค์ถ์ทจ์
AND a.CUST_CD like @cust_cd
AND a.ISSUE_CK like @s_issue_ck -- ์ ์ฒด,์ง์,๋๊ธฐ,์๋ฃ
ORDER BY
a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
BEGIN TRY
BEGIN DISTRIBUTED TRANSACTION
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT LEFT(A.DESPATCH_ORDER_NO,8) --์ ํ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --convert(int,A.ORDER_NO) --์ ํ๋ฒํธ
, A.ORDER_SEQ --์ ํ์๋ฒ
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
FROM GD_ITEM_ISSUE A
WHERE A.DESPATCH_ORDER_NO = @despatch_order_no
AND A.ISSUE_YN = 'N'
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_RETURN_BAR_CHECK_PART(
?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@OUT_ERROR output
) AT UNION_ERP
--ํ์ฌ ์ ํ์ํ๊ฒฐ๊ณผ ๋ฆฌํด
UPDATE GD_ITEM_ISSUE
SET ITEM_STATE = @OUT_ERROR
,UPDATE_TIME = GETDATE()
WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '*' + @IN_ORDER_NO
AND ORDER_SEQ = @IN_ORDER_SEQ
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR('ํ๋ชฉ ์ ๋ณด ์
๋ฐ์ดํธ ์คํจ' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END CATCH
select a.ITEM_ISSUE_ID
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,A.LOT_NO
,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
--,isnull((SELECT top 1 x.gubun FROM RETURN_GOODS x WHERE x.item_issue_id = a.item_issue_id),'') as RESULT
--,isnull(ISSUE_STATUS,'1') AS RESULT --1:๋ฐํ๋๊ธฐ,2:๋ฐํ์
๊ณ ,3:๋ฐํํ๊ธฐ(GD502)
--,isnull(ISSUE_STATUS,'1') AS RESULT_CK --1:๋ฐํ๋๊ธฐ,2:๋ฐํ์
๊ณ ,3:๋ฐํํ๊ธฐ(GD502)
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(QTY),0) AS OUT_QTY
FROM RETURN_GOODS
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
WHERE A.despatch_order_no = @despatch_order_no
and A.ISSUE_YN='N'
and A.ITEM_STATE = 'Y'
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ(๋)
ELSE IF (@gubun = 'S3') BEGIN
SELECT BARCODE AS PUBLISH_GS1_128, QTY
FROM RETURN_GOODS
WHERE ITEM_ISSUE_ID = @item_issue_id
ORDER BY PUBLISH_GS1_128
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
--SELECT ITEM_CD, A.LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT @gs1_barcode AS PUBLISH_GS1_128
/* SELECT
A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY = 0 --์ฌ๊ณ ๊ฐ ์๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR*/
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY = 0 --์ฌ๊ณ ๊ฐ ์๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY = 0 --์ฌ๊ณ ๊ฐ ์๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
-- ์ถ๊ณ /๋ฐํ๋ฌผํ ์ด๊ธฐํ
ELSE IF(@gubun = 'ITEM_CLEAR')
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from RETURN_GOODS where ITEM_ISSUE_ID=@item_issue_id
-- [์ญ์ ] RETURN_GOODS
DELETE RETURN_GOODS
WHERE ITEM_ISSUE_ID=@item_issue_id
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ๋ฐํ์ ํ ๋ฐ์ฝ๋ ์ ์ฅ
ELSE IF(@gubun = 'SAVE_ITEM')
BEGIN
-- [์ ์ฌ] RETURN_GOODS
INSERT INTO RETURN_GOODS(
ITEM_ISSUE_ID
,BARCODE
,BOX_BARCODE
,ISSUE_GB
,QTY
,CONFIRM_DATE
,INSERT_USER_CD
,INSERT_TIME
,STATUS
,GUBUN
)
VALUES
(
@item_issue_id
,@gs1_barcode
,(select MAPPING_GS1_BARCODE from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
,(select issue_gb2 from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no)
,isnull(@issue_qty,0)
,@issue_date
,@insert_user_cd
,GETDATE()
,'1' --'๋๊ธฐ'
,'3' --'ํ๊ธฐ'
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from RETURN_GOODS where RETURN_GOODS_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'RETURN_GOODS', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'FOR_SAVE')
BEGIN
UPDATE GD_ITEM_ISSUE SET ITEM_STATE='NOT ENOUGH' WHERE ITEM_ISSUE_ID = @item_issue_id
SELECT @intErrorCode = @@ERROR
END
--์ถ๊ณ ๋๊ธฐ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'RETURN_END')
BEGIN
BEGIN TRY
BEGIN DISTRIBUTED TRANSACTION
declare @lot_ym_tp int
declare @issue_date8 nvarchar(8)
select @issue_date8 = replace(@issue_date, '-', '')
EXECUTE ( 'begin SP_DELIVERY_CHASU(?,?,?); end;'
,@issue_date8
,@lot_ym_tp output
,@OUT_ERROR output
) AT UNION_ERP
declare @MSG2 nvarchar(1000)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
select
LEFT(A.DESPATCH_ORDER_NO,8) --์ฃผ๋ฌธ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --์ฃผ๋ฌธ๋ฒํธ
, A.ORDER_SEQ --์ฃผ๋ฌธ์๋ฒ
, replace(@issue_date, '-', '') --๋ฐํ์ผ์
, @lot_ym_tp
, (Select top 1 DEPT_CD from MA_EMPLOYEE WHERE EMP_CD=@update_user_cd)
, @update_user_cd --์ฌ์๋ฒํธ(INSERT)
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
from GD_ITEM_ISSUE A
WHERE A.DESPATCH_ORDER_NO = @despatch_order_no
AND A.ISSUE_YN = 'N'
AND A.ITEM_STATE = 'Y'
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ, @IN_DEPT_NO, @IN_EMP_NO, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_RETURN_BAR_PART(
?
,?
,?
,?
,?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@IN_DELIV_DATE
,@IN_PRCSEQ
,@IN_DEPT_NO
,@IN_EMP_NO
,@OUT_ERROR output
) AT UNION_ERP
IF @OUT_ERROR!='SUCCESS' BEGIN
SET @MSG2 = 'ERP SPํธ์ถ์คํจ๋ก ๋ฐํ์ฒ๋ฆฌ ์ทจ์(' + @OUT_ERROR + ')'
RAISERROR(@MSG2 , 16, 1);
BREAK
END
EXECUTE ( 'begin sp_delivery_yn(?,?,?,?,?); end;',
@IN_ORDER_DATE,@IN_ORDER_NO,@IN_ORDER_SEQ,@IN_DELIV_DATE,@OUT_ERROR output
) AT UNION_ERP
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE, @IN_PRCSEQ, @IN_DEPT_NO, @IN_EMP_NO, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
UPDATE GD_ITEM_ISSUE
SET ISSUE_YN = 'Y'
,ISSUE_DATE = @issue_date
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = getdate()
WHERE DESPATCH_ORDER_NO = @despatch_order_no
AND ISSUE_YN = 'N'
AND ITEM_STATE = 'Y'
IF((SELECT count(*) FROM GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@despatch_order_no and ITEM_STATE='NOT ENOUGH') = 0)
BEGIN
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE despatch_order_no = @despatch_order_no
END
UPDATE A SET
A.STATUS = '2'-- ์ง์, ๋๊ธฐ, ์๋ฃ ์ค์ ๋๊ธฐ(1) or ์๋ฃ(2)
FROM RETURN_GOODS A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
----AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@MSG2 , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
ELSE IF(@gubun ='BOX_TYPE')
BEGIN
SELECT BOX_TYPE
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋๋ช
์ธ์ ์ถ๊ฐ 2014-12-29
ELSE IF(@gubun = 'TransDetail')
BEGIN
--head---------------------------------------------------------------------------------------------------------
SELECT
@issue_date AS DELIV_DATE -- ๊ฑฐ๋์ผ์
,LEFT(B.TAX_NO,3) + '-' + SUBSTRING(B.TAX_NO,4,2) + '-' + RIGHT(B.TAX_NO,5) AS TAX_NO -- ๋ฑ๋ก๋ฒํธ
--,A.EMP_NO AS EMP_NO
,B.TRADE_NAME + '-'+ C.KORNAME AS TRADE_NAME -- ์ํธ
,B.MANAGER_NAME AS MANAGER_NAME -- ์ฑ๋ช
,B.COMPANY_ADDR1 AS ADDR1 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์1)
,B.COMPANY_ADDR2 AS ADDR2 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์2)
INTO #gd_cust_issue_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A -- ์ฃผ๋ฌธ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.SALES_1 B ON (A.SALES_CODE = B.SALES_CODE) -- ๊ฑฐ๋์ฒ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.PER_MAST C ON (A.EMP_NO = C.EMPCD) -- ํ๋งค์
WHERE
A.ORDER_DATE = LEFT(@despatch_order_no,8) and A.ORDER_NO = RIGHT(@despatch_order_no,4)
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
SELECT
DELIV_DATE
, TAX_NO
, TRADE_NAME
, MANAGER_NAME
, ADDR1
, ADDR2
FROM #gd_cust_issue_temp
------------------------------------------------------------------------------------------------------------
declare @max_lot_ym int
SELECT @max_lot_ym = MAX(convert(int,A.LOT_YM))
FROM UNION_ERP..KUP.DELIVERY_ITEM A
WHERE A.ORDER_DATE=LEFT(@despatch_order_no,8) and A.ORDER_NO=RIGHT(@despatch_order_no,4) and A.DELIV_DATE=replace(@issue_date,'-','')
--detail, ํฉ๊ณ์์ @max_lot_ym ๋ชจ๋ ์ฌ์ฉ
--Detail---------------------------------------------------------------------------------------------------------
SELECT identity(int, 1, 1) AS 'Seq'
,B.ITEM_CODE + ' ' + C.ITEM_HNAME AS ITEM_NAME -- ํ๋ช
,CONVERT(VARCHAR(6),C.ITEM_BOX_QTY) + C.ITEM_HFGOOD_TYPE AS PACKUNIT -- ํฌ์ฅ๋จ์
,(-1) * B.TAX_QTY AS TAX_QTY -- ์๋
,B.ORDER_AMT AS CONTRACT_AMT -- ๋จ๊ฐ
,(-1) * (B.SUPPLY_AMT + B.SUPPLY_VAT) AS SUPPLY_SUM --๊ธ์ก
,D.QC_LOT + ' ' + D.MANUFAC_DATE AS EXPIRE_DATE
INTO #gd_item_issue_temp --drop table #gd_item_issue_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A
LEFT JOIN UNION_ERP..KUP.DELIVERY_ITEM B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO
LEFT JOIN GD_ITEM_ISSUE B2 ON B.ORDER_DATE = LEFT(B2.DESPATCH_ORDER_NO,8) AND B.ORDER_NO = RIGHT(B2.DESPATCH_ORDER_NO,4) and B.ORDER_SEQ = B2.ORDER_SEQ
LEFT JOIN UNION_ERP..KUP.ITEM_1 C ON B.ITEM_CODE = C.ITEM_CODE
LEFT JOIN UNION_ERP..KUP.QC_LOT D ON A.ORDER_DATE=D.QC_DATE and A.ORDER_NO=D.QC_NO and B.ORDER_SEQ = D.QC_SEQ
WHERE
A.ORDER_DATE=LEFT(@despatch_order_no,8) and A.ORDER_NO=RIGHT(@despatch_order_no,4)
AND B.DELIV_DATE= replace(@issue_date,'-','') and B.LOT_YM = @max_lot_ym
and B2.ITEM_STATE='Y'
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
SELECT (Seq-1)/15 + 1 AS 'page_no' --ํ์ด์ง๋ฒํธ
, ITEM_NAME
, PACKUNIT
, TAX_QTY
, CONTRACT_AMT
, SUPPLY_SUM
, EXPIRE_DATE
--, SALES_CODE
FROM #gd_item_issue_temp
--order by ITEM_NAME
--ํฉ๊ณ---------------------------------------------------------------------------------------------------------
SELECT
identity(int, 1, 1) AS 'Seq'
,ISNULL(B.SUPPLY_AMT, 0)*-1 AS SUPPLY_AMT -- ๊ณต๊ธ๊ฐ์ก
,ISNULL(B.SUPPLY_VAT, 0)*-1 AS SUPPLY_VAT -- ์ธ์ก
,ISNULL(B.SUPPLY_AMT + B.SUPPLY_VAT, 0)*-1 AS SUM_AMT-- ํฉ๊ณ๊ธ์ก
INTO #gd_sum_total_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A
LEFT JOIN UNION_ERP..KUP.DELIVERY_ITEM B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO
LEFT JOIN GD_ITEM_ISSUE B2 ON B.ORDER_DATE = LEFT(B2.DESPATCH_ORDER_NO,8) AND B.ORDER_NO = RIGHT(B2.DESPATCH_ORDER_NO,4) and B.ORDER_SEQ = B2.ORDER_SEQ
WHERE
A.ORDER_DATE=LEFT(@despatch_order_no,8) and A.ORDER_NO=RIGHT(@despatch_order_no,4)
AND B.DELIV_DATE= replace(@issue_date,'-','') and B.LOT_YM = @max_lot_ym
and B2.ITEM_STATE='Y'
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
--ํฉ๊ณ(ํ์ด์ง๋ณ)
SELECT (Seq-1)/15 + 1 AS 'page_no'
,ISNULL(sum(SUPPLY_AMT),0) AS SUPPLY_AMT
,ISNULL(sum(SUPPLY_VAT),0) AS SUPPLY_VAT
,ISNULL(sum(SUM_AMT),0) AS SUM_AMT
FROM #gd_sum_total_temp
GROUP BY (Seq-1)/15 + 1
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'D_ITEM')
BEGIN
-- [์ญ์ ] RETURN_GOODS
DELETE RETURN_GOODS WHERE ITEM_ISSUE_ID = @item_issue_id and BARCODE = @BARCODE
SELECT @intErrorCode = @@ERROR
END
-- ์ ํ ์ญ์
ELSE IF(@gubun = 'D')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์ฒ๋ฆฌ
DECLARE @issue_num int
set @issue_num = (SELECT count(*)
FROM RETURN_GOODS A JOIN GD_ITEM_ISSUE B ON A.item_issue_id = b.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no)
IF(@issue_num > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
IF(@intErrorCode = 0) BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@despatch_order_no
-- [์ญ์ ] GD_ITEM_ISSUE
DELETE GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_CUST_ISSUE
DELETE GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO = @despatch_order_no
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--update t1 set ttt=@intErrorCode
END
IF @intErrorCode = 0 AND @@trancount > 0 -- COMMIT, ROLLBACK ์ฌ๋ถ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
RAISERROR('์ญ์ ์คํจ-์ถ๊ณ ๊ฐ ์๋ฃ๋์๊ฑฐ๋ ์งํ์ค์
๋๋ค.',16,1)
END
END
/*
ELSE IF(@gubun = 'ERP_DONE')
BEGIN
BEGIN TRY
EXECUTE ( 'begin SP_RETURN_BAR_CHECK(
?
,?
,?
); end;',
@order_date
,@order_no
,@OUT_ERROR output
) AT UNION_ERP
END TRY
BEGIN CATCH
END CATCH
-- [๋ถ๊ธฐ] @OUT_ERROR = 'N' ์ธ ๊ฒฝ์ฐ
IF(@OUT_ERROR='N')
BEGIN
UPDATE GD_ITEM_ISSUE
SET ISSUE_YN = 'Y'
--,ISSUE_DATE = @issue_date
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = getdate()
WHERE DESPATCH_ORDER_NO = @despatch_order_no
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
,ISSUE_TRANS_GB='2' --ERP์์ ์๋ฃํ๊ฒ ๊ตฌ๋ถ ์ํด
WHERE despatch_order_no = @despatch_order_no
SELECT @message='Y'
END
ELSE IF(@OUT_ERROR='Z')
BEGIN
SELECT @message='Z'
END
ELSE
BEGIN
SELECT @message='N'
END
RETURN 0
END
*/
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
ํฌ์ฅยท๋งํน
ํฌ์ฅ ๋จ์ ์์ฑยท๋ฐ์ฝ๋ ๋งํนยท์ฌํฌ์ฅ ์ฒ๋ฆฌ.
SP_ERP_PACKING_ORDER
๋ชฉ์ โ ERP ํฌ์ฅ ์ง์์ ์กฐํยท๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(8) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_ERP_PACKING_ORDER]
@GUBUN nvarchar(4) = '', --๋ฐ๋์ ์์ด์ผ ํจ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
with recompile
AS
declare @audittrail_id int, @row int
DECLARE @intErrorCode int
SELECT @message = '์ ์', @intErrorCode = @@error
--์ธ๋ถ์๋ฃ๋ฅผ๊ฐ์ ธ์จ๋ค.(ํฌ์ฅ์ง์)
IF @GUBUN='DW'
BEGIN
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #PACKING_ORDER_TEMP (
PACKING_ORDER_NO nvarchar(50) primary key --ํฌ์ฅ์ง์๋ฒํธ
,SALE_ITEM_CD nvarchar(50) --ํ๋ชฉ์ฝ๋
,PACKING_ORDER_DATE nvarchar(10) --์
๋ ฅ์ผ์
,PACKING_WORDER_DATE nvarchar(10) --์ง์์ผ์
,PACKING_ORDER_QTY decimal(15,4) --์ง์์๋
,LOT_NO nvarchar(50) --์ ์กฐ๋ฒํธ
,LOT_DATE nvarchar(10) --์ ์กฐ์ผ์
,VALID_DATE nvarchar(10)
)
IF(@intErrorCode = 0)
BEGIN
--ํฌ์ฅ์ง์(ERP_๋ฐ์ดํฐ)
INSERT INTO #PACKING_ORDER_TEMP
SELECT
ORDER_YEAR + ORDER_MONTH
+ (REPLICATE('0',4 - LEN(ORDER_SEQ)) + Convert(nvarchar(4),ORDER_SEQ))
+(REPLICATE('0',2 - LEN(ORDER_SER)) + Convert(nvarchar(2),ORDER_SER)) AS PACKING_NO --ํฌ์ฅ์ง์๋ฒํธ
, A.ITEM_CODE
, CONVERT(VARCHAR(10),LASTYMD,120) AS LASTYMD
, CONVERT(VARCHAR(10),WORDER_DATE,120) AS WORDER_DATE
, THEORY_QTY
--, LOT_NO
, SUBSTRING(LOT_NO, 5, 6) AS LOT_NO
, CONVERT(VARCHAR(10),MANUFAC_DATE,120) AS MANUFAC_DATE
, CONVERT(VARCHAR(10),dateadd(day,-1, dateadd(month, EXPIRE_MM , MANUFAC_DATE) ),120) AS EXPIRE_DT
-- , CONVERT(VARCHAR(10),dateadd(month, EXPIRE_MM , MANUFAC_DATE)-1 ,120) AS EXPIRE_DT
--,EXPIRE_MM
--CONVERT(VARCHAR(10),GETDATE(),120) -> 2003-01-23
FROM UNION_ERP..KUP.PRD_ORDER1 A
,(SELECT ITEM_CODE,
(SELECT ISNULL(USING_Y,0)*12 + ISNULL(USING_M,0)
FROM UNION_ERP..KUP.PRD_HFGOOD_PERMISSION
WHERE HFGOOD_CODE = ITEM_HFGOOD_CODE) EXPIRE_MM
FROM UNION_ERP..KUP.ITEM_1) B
WHERE ORDER_TYPE = '2'
AND A.ITEM_CODE = B.ITEM_CODE
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN TRANSACTION
IF(@intErrorCode = 0)
BEGIN
UPDATE a
SET a.SALE_ITEM_CD=b.sale_item_cd
, a.PACKING_ORDER_DATE=b.packing_order_date
, a.packing_order_work_date = b.PACKING_WORDER_DATE
, a.PACKING_ORDER_QTY=b.packing_order_qty
, a.LOT_NO=b.lot_no
, a.LOT_DATE=b.lot_date
, a.VALID_DATE=b.valid_date
, SERIAL_YN='Y'
, UPDATE_TIME=getdate()
, a.OUTER_INTERFACE='E'
FROM PACKING_ORDER a JOIN #PACKING_ORDER_TEMP b on a.PACKING_ORDER_NO=b.PACKING_ORDER_NO
WHERE a.packing_order_status=1
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] PACKING_ORDER
INSERT INTO PACKING_ORDER(PACKING_ORDER_NO
,SALE_ITEM_CD
,PACKING_ORDER_DATE
,PACKING_ORDER_WORK_DATE
,PACKING_ORDER_QTY
,LOT_NO
,LOT_DATE
,VALID_DATE
,SERIAL_YN
,PACKING_ORDER_STATUS
,INSERT_TIME
,OUTER_INTERFACE
,WORK_STATE)
SELECT PACKING_ORDER_NO
,SALE_ITEM_CD
,PACKING_ORDER_DATE
,PACKING_WORDER_DATE
,PACKING_ORDER_QTY
,LOT_NO
,LOT_DATE
,VALID_DATE
--,convert(varchar,LOT_DATE,23)
--,convert(varchar,VALID_DATE,23)
,'Y'
,1
,GETDATE()
,'E'
,'01'
FROM #PACKING_ORDER_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM PACKING_ORDER b WHERE a.PACKING_ORDER_NO=b.PACKING_ORDER_NO)
SELECT @intErrorCode = @@error
END
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #PACKING_ORDER_TEMP
IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
ELSE BEGIN
IF @@trancount > 0 ROLLBACK TRANSACTION
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
END
SP_ItemReMarking
๋ชฉ์ โ ํ๋ชฉ ์ฌ๋งํน(๋ผ๋ฒจ ์ฌ๋ถ์ฐฉ) ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@PUBLISH_TYPE | nvarchar(100) | IN |
@OUTER_INTERFACE | nvarchar(100) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@UPDATE_USER_CD | nvarchar(100) | IN |
@PUBLISH_QTY | decimal(9) | IN |
@MARKING_YN | nvarchar(100) | IN |
@MARKING_ORDER_ID | int(4) | IN |
@SERIAL_YN | nvarchar(100) | IN |
@SERIAL_NO | nvarchar(100) | IN |
@Len | int(4) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_ItemReMarking]
@GUBUN nvarchar(50) = '' --๋ฐ๋์ ์์ด์ผ ํจ
/* ์กฐํ์กฐ๊ฑด */
,@s_sdate nvarchar(10) = ''
,@s_edate nvarchar(10) = ''
,@s_item_cd nvarchar(50) = ''
/* ์
๋ ฅํญ๋ชฉ */
,@PACKING_ORDER_NO nvarchar(50) = '' --์ง์๋ฒํธ
,@PUBLISH_TYPE nvarchar(50) = '' --๋ฐํํ์
,@OUTER_INTERFACE nvarchar(50) = '' --์ธํฐํ์ด์ค ํ์
,@INSERT_USER_CD nvarchar(50) = ''
,@UPDATE_USER_CD nvarchar(50) = ''
,@PUBLISH_QTY DECIMAL(15,4)= 0 -- ๋ฐํ์๋
,@MARKING_YN nvarchar(50) = ''
,@MARKING_ORDER_ID int = 0 --๋ผ๋ฒจ๋ฐํ์ง์
,@SERIAL_YN nvarchar(50) = '' --์๋ฆฌ์ผ๋ฒํธ ํฌํจ, ๋ฏธํฌํจ ๊ตฌ๋ถ
,@SERIAL_NO nvarchar(50) = '' --์ฌ๋ฐํ์ ์์ ์๋ฆฌ์ผ ๋ฒํธ
,@Len int = 0
,@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S1 : ํฌ์ฅ์ง์์ ๋ณด ์กฐํ
--------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT a.packing_order_no --์ง์๋ฒํธ
,a.sale_item_cd as sale_item_cd --ํฌ์ฅ์ ํ์ฝ๋
,b.item_nm as sale_item_nm --ํฌ์ฅ์ ํ๋ช
,[dbo].fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,CASE WHEN a.LOT_NO <> '' THEN a.LOT_NO ELSE a.ETC_NO END LOT_NO --์ ์กฐ๋ฒํธ
,a.packing_order_date --์
๋ ฅ์ผ์
,a.packing_order_work_date --์ง์์ผ์
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์์๋
,a.outer_interface --์ธํฐํ์ด์ค
,d.common_part_nm as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.SERIAL_YN
,a.VALID_DATE
,b.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,CASE WHEN ISNULL(b.MARKING_IMAGE_NM, '' ) = '' THEN f.PARAMETER_VALUE ELSE b.MARKING_IMAGE_NM END AS MARKING_IMAGE_NM-- ๋งํน์ด๋ฏธ์ง ํ์ผ๋ช
์ถ๊ฐ
FROM packing_order a
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN common d ON (a.packing_order_status = d.common_part_cd AND d.common_cd = 'RT027') --ํฌ์ฅ์ง์์ํ
LEFT OUTER JOIN CM_PARAMETER f ON PARAMETER_CODE = CASE WHEN a.SERIAL_YN = 'Y' THEN 'DOMINO_LABEL_NM_SERIAL' ELSE 'DOMINO_LABEL_NM_NOSERIAL' END --์ถ๋ ฅ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ์ด๋ฏธ์ง
WHERE (a.packing_order_work_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
ORDER BY a.PACKING_ORDER_WORK_DATE desc, a.packing_order_no desc, a.LOT_NO desc
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S2 : ์ฌ๋ฐํ ์ฒดํฌ๋ฅผ ์ํด ์ฌ์ฉ.(๋ฐํ๋์๋ ๋ด์ญ์ด ์๋์ง ํ์ธ)
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'S2')
BEGIN
SELECT PUBLISH_GTIN_CODE
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S21 : ์ฌ๋ฐํ ์ค๋ณต ๋ฐ์ดํฐ ์ฒดํฌ๋ฅผ ์ํด์ ์ฌ์ฉ.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'S21')
BEGIN
--DECLARE @COUNT INT
--SELECT @COUNT = COUNT(PUBLISH_GTIN_CODE)
--FROM MARKING_ORDER
--WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
-- AND SERIAL_NO BETWEEN @SERIAL_NO AND (@SERIAL_NO + CONVERT(INT,@PUBLISH_QTY)-1)
SELECT a.CNT FROM (
SELECT COUNT(PUBLISH_GTIN_CODE) AS CNT
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND Isnull(MARKING_YN,'N') = 'Y'
AND ISNULL(SERIAL_YN,'N') = 'Y'
AND SERIAL_NO BETWEEN @SERIAL_NO AND (@SERIAL_NO + CONVERT(INT,@PUBLISH_QTY)-1)) a
where a.CNT > 0
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S3 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ, ์คํจํ ๊ฒ)
--------------------------------------------------------------------
ELSE IF(@gubun = 'S3')
BEGIN
SELECT -- ๋ผ๋ฒจ ๋ฐํ์ฉ ํ๋ผ๋ฏธํฐ ๋ฐ์ดํฐ
ROW_NUMBER() OVER (order by publish_serial_no) as ROWNUM,
dbo.fn_GetGS1Barcode('0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','','') AS GSCODEF
,dbo.fn_GetGS1Barcode('0' + A.PUBLISH_GTIN_CODE
,''
,'','','(',')') AS BTMGS
,dbo.fn_GetGS1Barcode('',CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','(',')') AS TOPGS
,A.PUBLISH_GTIN_CODE AS GTIN
-- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
,A.MARKING_ORDER_ID
,A.PUBLISH_TYPE
,B.COMMON_PART_NM AS PUBLISH_TYPE_NM
,A.PUBLISH_GS1_128 AS PUBLISH_BARCODE
-- ,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
-- ,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
-- ,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.PUBLISH_LOT_NO AS LOT
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),2) AS 'EXP'
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
,CASE WHEN MARKING_YN = 'N' THEN 'Y' ELSE 'N' END AS check_yn
FROM MARKING_ORDER A
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND (
( A.PUBLISH_TYPE = '1' AND A.MARKING_YN ='Y') -- ๋ฐํํ์
์ด "์ ์", ๋งํน์ฌ๋ถ๊ฐ "๋ฐํ", ๋น์ ๊ฒฐ๊ณผ๊ฐ "์คํจ" ์ด๊ฑฐ๋,
OR ( A.PUBLISH_TYPE = '2') -- ๋ฐํํ์
์ด "์ฌ๋ฐํ"์ธ ๊ฒฝ์ฐ๋ง ํ์
)
-- AND A.VISION_YN = 'N' -- ๋น์ ผ ์คํจ์ธ ๊ฒฝ์ฐ๋ง ์กฐํ
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S4 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ํฌํจ, ์คํจํ ๊ฒ)
--------------------------------------------------------------------
ELSE IF(@gubun = 'S4')
BEGIN
SELECT @Len = parameter_value FROM cm_parameter WHERE parameter_code ='LotNo_Maxlen'
-- ์
๋ฐ์ดํธ ๋์ง ์์ ๋น์ ๊ฒฐ๊ณผ ๊ฐ์ ๋ณด์ฌ์ฃผ๊ธฐ
SELECT -- ๋ผ๋ฒจ ๋ฐํ์ฉ ํ๋ผ๋ฏธํฐ ๋ฐ์ดํฐ
ROW_NUMBER() OVER (order by publish_serial_no) as ROWNUM,
[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','','') AS GSCODEF
,[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,''
,'','','(',')') AS BTMGS
,[dbo].[fn_GetGS1Barcode]('',CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','(',')') AS TOPGS
,A.PUBLISH_LOT_NO AS LOT
--,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),2) AS 'EXP'
,A.PUBLISH_SERIAL_NO AS SEQ
,A.PUBLISH_GTIN_CODE AS GTIN
-- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
,A.MARKING_ORDER_ID
,A.PUBLISH_TYPE
,B.COMMON_PART_NM AS PUBLISH_TYPE_NM
,A.PUBLISH_GS1_128 AS PUBLISH_BARCODE
--,A.PUBLISH_LOT_NO AS LOT
,CASE WHEN Isnull(@Len,0) > 0 THEN REPLACE(A.PUBLISH_LOT_NO+SPACE(@Len - len(A.PUBLISH_LOT_NO)),' ','0') ELSE A.PUBLISH_LOT_NO END AS LOT1
-- ,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
-- ,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
-- ,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
-- ,A.PUBLISH_LOT_NO AS LOT
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12) AS 'EXP'
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
,CASE WHEN MARKING_YN = 'N' THEN 'Y' ELSE 'N' END AS check_yn
FROM MARKING_ORDER A
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND (
( A.PUBLISH_TYPE = '1' AND A.VISION_YN = 'N') -- AND A.MARKING_YN ='Y') -- ๋ฐํํ์
์ด "์ ์", ๋งํน์ฌ๋ถ๊ฐ "๋ฐํ", ๋น์ ๊ฒฐ๊ณผ๊ฐ "์คํจ" ์ด๊ฑฐ๋,
OR ( A.PUBLISH_TYPE = '2') -- ๋ฐํํ์
์ด "์ฌ๋ฐํ"์ธ ๊ฒฝ์ฐ๋ง ํ์
)
ORDER BY A.PUBLISH_TYPE, A.PUBLISH_SERIAL_NO
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S4 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ํฌํจ, ์คํจํ ๊ฒ)
--------------------------------------------------------------------
ELSE IF(@gubun = 'S5')
BEGIN
SELECT @Len = parameter_value FROM cm_parameter WHERE parameter_code ='LotNo_Maxlen'
-- ์
๋ฐ์ดํธ ๋์ง ์์ ๋น์ ๊ฒฐ๊ณผ ๊ฐ์ ๋ณด์ฌ์ฃผ๊ธฐ
SELECT -- ๋ผ๋ฒจ ๋ฐํ์ฉ ํ๋ผ๋ฏธํฐ ๋ฐ์ดํฐ
ROW_NUMBER() OVER (order by publish_serial_no) as ROWNUM,
[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','','') AS GSCODEF
,[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,''
,'','','(',')') AS BTMGS
,[dbo].[fn_GetGS1Barcode]('',CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','(',')') AS TOPGS
,A.PUBLISH_LOT_NO AS LOT
--,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),2) AS 'EXP'
,A.PUBLISH_SERIAL_NO AS SEQ
,A.PUBLISH_GTIN_CODE AS GTIN
-- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
,A.MARKING_ORDER_ID
,A.PUBLISH_TYPE
,B.COMMON_PART_NM AS PUBLISH_TYPE_NM
,A.PUBLISH_GS1_128 AS PUBLISH_BARCODE
--,A.PUBLISH_LOT_NO AS LOT
,CASE WHEN Isnull(@Len,0) > 0 THEN REPLACE(A.PUBLISH_LOT_NO+SPACE(@Len - len(A.PUBLISH_LOT_NO)),' ','0') ELSE A.PUBLISH_LOT_NO END AS LOT1
-- ,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
-- ,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
-- ,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
-- ,A.PUBLISH_LOT_NO AS LOT
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12) AS 'EXP'
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
,CASE WHEN MARKING_YN = 'N' THEN 'Y' ELSE 'N' END AS check_yn
FROM MARKING_ORDER A
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.PUBLISH_TYPE = '2' -- ๋ฐํํ์
์ด "์ฌ๋ฐํ"์ธ ๊ฒฝ์ฐ๋ง ํ์
ORDER BY A.PUBLISH_TYPE, A.PUBLISH_SERIAL_NO
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ I : ๋ฐ์ฝ๋๋ฅผ ์ฌ์์ฑ(์ฌ๋ฐํ)ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'I')
BEGIN
DECLARE @DCOUNT INT
SET @DCOUNT = 0
--์ค๋ณต ์๋ฆฌ์ผ๋ฒํธ ์๋์ง ์๋์ง ํ์ธ
SELECT @DCOUNT = COUNT(PUBLISH_GTIN_CODE)
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND SERIAL_NO = @SERIAL_NO
--์ค๋ณต ์ผ๋ จ๋ฒํธ ์์ ๊ฒฝ์ฐ, [๋๊ธฐ] ์ํ๋ก ์ด๊ธฐํ
IF (@DCOUNT > 0)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'N',
VISION_YN = 'N'
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND SERIAL_NO = @SERIAL_NO
END
IF (@DCOUNT = 0)
BEGIN
-- ์ฌ๋ฐํํ ๋ผ๋ฒจ์ ๋งํน์ฌ๋ถ์ ์ํ๊ฐ์ "๋ฐํ"-> "์ทจ์"์ผ๋ก ๊ฐฑ์ ํ๋ค.
UPDATE MARKING_ORDER SET
MARKING_YN = 'R'
,MARKING_TIME = GETDATE()
WHERE MARKING_ORDER_ID = @MARKING_ORDER_ID
AND MARKING_YN = 'Y' and VISION_YN = 'N'
EXEC SP_Generate_GS1BarCode
'I' --๊ตฌ๋ถ์
,@PACKING_ORDER_NO -- ํฌ์ฅ์ง์๋ฒํธ
,@PUBLISH_QTY -- ํฌ์ฅ์ง์์๋
,@PUBLISH_TYPE -- 1:์ ์2:์ฌ๋ฐํ
,@INSERT_USER_CD -- ๋ก๊ทธ์ธ์ ์ ์์ด๋
END
SELECT @intErrorCode = @@ERROR;
END
--------------------------------------------------------------------
--๊ตฌ๋ถ์ I2 ์ฌ๋ฐํ์ MAX ์๋ฆฌ์ผ ๋ฒํธ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'I2')
BEGIN
SELECT MAX(PUBLISH_SERIAL_NO) AS SERIAL_NO
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U')
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = @MARKING_YN
WHERE 1 = 1
AND MARKING_ORDER_ID = @MARKING_ORDER_ID
SELECT @intErrorCode = @@ERROR;
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U1 : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U1')
BEGIN
DECLARE @maxserial_no int
SET @maxserial_no = 0
SELECT @maxserial_no = MAX(serial_no) FROM MARKING_ORDER WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO AND MARKING_YN = 'Y'
IF(@maxserial_no > 0)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'Y'
,MARKING_TIME = GETDATE()
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND PUBLISH_TYPE = '2'
AND MARKING_YN <> 'Y'
AND serial_no <= @maxserial_no
END
SELECT @maxserial_no = MAX(serial_no) FROM MARKING_ORDER WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @maxserial_no
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ D : ๋ฐ์ฝ๋๋ฅผ ์ญ์ ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'D')
BEGIN
DELETE
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND SERIAL_NO BETWEEN @SERIAL_NO AND (@SERIAL_NO + CONVERT(INT,@PUBLISH_QTY)-1)
SELECT @intErrorCode = @@ERROR;
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.[dbo].sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemVisionList
๋ชฉ์ โ ๋น์ ๊ฒ์ฆ ๋์ ํ๋ชฉ ๋ชฉ๋ก ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@BUTTON_CHECK | nvarchar(20) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@PUBLISH_TYPE | nvarchar(100) | IN |
@OUTER_INTERFACE | nvarchar(100) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@UPDATE_USER_CD | nvarchar(100) | IN |
@PUBLISH_QTY | decimal(9) | IN |
@MARKING_YN | nvarchar(100) | IN |
@MARKING_ORDER_ID | int(4) | IN |
@SERIAL_YN | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_ItemVisionList]
@GUBUN nvarchar(50) = '' --๋ฐ๋์ ์์ด์ผ ํจ
/* ์กฐํ์กฐ๊ฑด */
,@s_sdate nvarchar(10) = ''
,@s_edate nvarchar(10) = ''
,@s_item_cd nvarchar(50) = ''
,@BUTTON_CHECK nvarchar(10) = ''
/* ์
๋ ฅํญ๋ชฉ */
,@PACKING_ORDER_NO nvarchar(50) = '' --์ง์๋ฒํธ
,@PUBLISH_TYPE nvarchar(50) = '' --๋ฐํํ์
,@OUTER_INTERFACE nvarchar(50) = '' --์ธํฐํ์ด์ค ํ์
,@INSERT_USER_CD nvarchar(50) = ''
,@UPDATE_USER_CD nvarchar(50) = ''
,@PUBLISH_QTY DECIMAL(15,4)= 0 -- ๋ฐํ์๋
,@MARKING_YN nvarchar(50) = '' -- ๋ฐํ์ ๋ฌด
,@MARKING_ORDER_ID int = 0 --๋ผ๋ฒจ๋ฐํ์ง์
,@SERIAL_YN nvarchar(50) = '' --์๋ฆฌ์ผ๋ฒํธ ํฌํจ, ๋ฏธํฌํจ ๊ตฌ๋ถ
,@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S1 : ํฌ์ฅ์ง์์ ๋ณด ์กฐํ
--------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT a.packing_order_no --์ง์๋ฒํธ
,a.sale_item_cd as sale_item_cd --ํฌ์ฅ์ ํ์ฝ๋
,b.item_nm as sale_item_nm --ํฌ์ฅ์ ํ๋ช
,[dbo].fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,CASE WHEN a.LOT_NO <> '' THEN a.LOT_NO ELSE a.ETC_NO END LOT_NO --์ ์กฐ๋ฒํธ
,a.packing_order_date --์
๋ ฅ์ผ์
,a.packing_order_work_date --์ง์์ผ์
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์์๋
,a.outer_interface --์ธํฐํ์ด์ค
,d.common_part_nm as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.SERIAL_YN
,a.VALID_DATE
,b.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,CASE WHEN ISNULL(b.MARKING_IMAGE_NM, '' ) = '' THEN f.PARAMETER_VALUE ELSE b.MARKING_IMAGE_NM END AS MARKING_IMAGE_NM-- ๋งํน์ด๋ฏธ์ง ํ์ผ๋ช
์ถ๊ฐ
FROM packing_order a
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN common d ON (a.packing_order_status = d.common_part_cd AND d.common_cd = 'RT027') --ํฌ์ฅ์ง์์ํ
LEFT OUTER JOIN CM_PARAMETER f ON PARAMETER_CODE = CASE WHEN a.SERIAL_YN = 'Y' THEN 'DOMINO_LABEL_NM_SERIAL' ELSE 'DOMINO_LABEL_NM_NOSERIAL' END --์ถ๋ ฅ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ์ด๋ฏธ์ง
WHERE (a.packing_order_work_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
ORDER BY a.PACKING_ORDER_WORK_DATE desc, a.packing_order_no desc, a.LOT_NO desc
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S2 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ, ์คํจํ ๊ฒ)
-- ๊ตฌ๋ถ์ @BUTTON_CHECK : A=์ ์ฒด, T=์ฑ๊ณต, F=์คํจ
--------------------------------------------------------------------
ELSE IF(@gubun = 'S2')
BEGIN
-- [๋ถ๊ธฐ] @BUTTON_CHECK = 'A' ์ธ ๊ฒฝ์ฐ
IF(@BUTTON_CHECK = 'A')
BEGIN
SELECT -- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
END
ELSE IF(@BUTTON_CHECK = 'T')
BEGIN
SELECT -- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.VISION_YN = 'Y'
END
ELSE IF(@BUTTON_CHECK = 'F')
BEGIN
SELECT -- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.VISION_YN = 'N'
END
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S3 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ํฌํจ, ์คํจํ ๊ฒ)
-- ๊ตฌ๋ถ์ @BUTTON_CHECK : A=์ ์ฒด, T=์ฑ๊ณต, F=์คํจ
--------------------------------------------------------------------
ELSE IF(@gubun = 'S3')
BEGIN
-- [๋ถ๊ธฐ] @BUTTON_CHECK = 'A' ์ธ ๊ฒฝ์ฐ
IF(@BUTTON_CHECK = 'A') -- ํ๋ฉด ํ์ : ์ฑ๊ณต + ์คํจ = ์ ์ฒด
BEGIN
SELECT -- ํ๋ฉด ํ์ : ์คํจ์ธ ๊ฒ
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE 1=1
AND A.PACKING_ORDER_NO = @PACKING_ORDER_NO
END
ELSE IF(@BUTTON_CHECK = 'T') -- ํ๋ฉด ํ์ : ์ฑ๊ณต์ธ ๊ฒ
BEGIN
SELECT
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.VISION_YN = 'Y'
END
ELSE IF(@BUTTON_CHECK = 'F') -- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ - ์คํจ์ธ ๊ฒ
BEGIN
SELECT
A.PUBLISH_TYPE
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.VISION_YN
,A.ORDER_QTY
FROM MARKING_ORDER A
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.VISION_YN = 'N'
END
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.[dbo].sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_PACKING_ITEM
๋ชฉ์ โ ํฌ์ฅ ํ๋ชฉ ๋จ์ ๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@item_gb | nvarchar(10) | IN |
@item_nm | nvarchar(200) | IN |
@item_s_nm | nvarchar(200) | IN |
@item_enm | nvarchar(200) | IN |
@item_type1 | nvarchar(10) | IN |
@item_type2 | nvarchar(10) | IN |
@prod_end | nvarchar(2) | IN |
@prod2_end | nvarchar(2) | IN |
@repr_code_ck | nvarchar(2) | IN |
@item_keep_condition | nvarchar(10) | IN |
@item_keep_temperature | nvarchar(10) | IN |
@item_license_storage | nvarchar(1000) | IN |
@standard_hr | decimal(9) | IN |
@item_packunit2 | nvarchar(100) | IN |
@second_pack_type | nvarchar(10) | IN |
@second_pack_qt | int(4) | IN |
@second_pack_m_qt | int(4) | IN |
@valid_period | int(4) | IN |
@item_pack_barcode | nvarchar(100) | IN |
@date_class | nvarchar(100) | IN |
@in_out_ck | nvarchar(2) | IN |
@item_safety_stock | decimal(9) | IN |
@item_spec | nvarchar(100) | IN |
@MARKING_IMAGE_NM | nvarchar(200) | IN |
@serial_yn | nvarchar(2) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@s_item_pack_barcode | nvarchar(100) | IN |
@item_pack_qty | nvarchar(16) | IN |
@item_barcode | nvarchar(600) | IN |
@re_yn | nvarchar(2) | IN |
@serial_gb | nvarchar(2) | IN |
@stock_manage | nvarchar(2) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_PACKING_ITEM]
@GUBUN NVARCHAR(50) =NULL,
@item_cd NVARCHAR(50) ='',
@item_gb NVARCHAR(5) = '',
@item_nm NVARCHAR(100) ='',
@item_s_nm NVARCHAR(100) ='',
@item_enm NVARCHAR(100) ='',
@item_type1 NVARCHAR(5) ='',
@item_type2 NVARCHAR(5) ='',
@prod_end NVARCHAR(1) ='',
@prod2_end NVARCHAR(1) ='',
@repr_code_ck NVARCHAR(1) ='',
@item_keep_condition NVARCHAR(5) = '',
@item_keep_temperature NVARCHAR(5) = '',
@item_license_storage NVARCHAR(500) = '',
@standard_hr DECIMAL(15,4) =0,
@item_packunit2 NVARCHAR(50) ='',
@second_pack_type NVARCHAR(5) ='',
@second_pack_qt INT = 0,
@second_pack_m_qt INT = 0,
@valid_period INT = 0,
@item_pack_barcode NVARCHAR(50) ='',
@date_class NVARCHAR(50) ='',
@in_out_ck NVARCHAR(1) ='',
@item_safety_stock decimal(15,4) = 0,
@item_spec NVARCHAR(50) ='',
@MARKING_IMAGE_NM nvarchar(100) = '',
@serial_yn NVARCHAR(1) ='',
@sys_emp_cd nvarchar(50) = '',
@s_item_pack_barcode NVARCHAR(50) ='',
@item_pack_qty NVARCHAR(8) ='',
@item_barcode NVARCHAR(300) ='',
@re_yn NVARCHAR(1) ='',
@serial_gb NVARCHAR(1) ='',
@stock_manage NVARCHAR(1) ='',
@message NVARCHAR(2000) output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @GUBUN = 'S' ์ธ ๊ฒฝ์ฐ
IF(@GUBUN='S')
BEGIN
SELECT a.item_cd
,a.item_gb
,a.item_nm
,a.item_s_nm
,a.item_enm
,a.item_type1
,a.item_type2
,a.prod_end
,a.prod2_end
,a.REPR_CODE_CK
,a.item_keep_condition
,a.item_keep_temperature
,a.item_license_storage
,a.standard_hr
,a.second_pack_type
,a.second_pack_qt
,a.second_pack_m_qt
,a.item_pack_barcode
,a.in_out_ck
,a.valid_period
,a.item_packunit2
,a.item_safety_stock
,a.item_spec
,a.MARKING_IMAGE_NM
,a.date_class
,ISNULL(a.OUTER_INTERFACE,'') AS outer_interface
,isnull(serial_yn,'N') as serial_yn
,a.item_pack_qty
,a.item_barcode
,ISNULL(a.re_yn,'N') AS re_yn
,a.serial_gb
,a.STOCK_MANAGE
FROM item_standard a
WHERE a.item_cd LIKE '%' +@item_cd+'%' AND isnull(A.PROD2_END,'Y') LIKE @prod_end AND isnull(A.ITEM_PACK_BARCODE,'') like @s_item_pack_barcode
END
ELSE IF(@GUBUN='I')
BEGIN
-- [์ ์ฌ] item_standard
INSERT INTO item_standard
(a.item_cd,a.item_gb,a.item_nm,a.item_s_nm,a.item_enm,a.item_type1,a.item_type2,a.prod_end,a.prod2_end
,a.item_keep_condition, a.item_keep_temperature,a.item_license_storage,a.standard_hr
,a.second_pack_type,a.second_pack_qt,a.second_pack_m_qt ,a.item_pack_barcode,a.in_out_ck,a.valid_period
,a.item_packunit2,a.item_safety_stock,a.item_spec,a.MARKING_IMAGE_NM,a.date_class,a.repr_code_ck,serial_yn
,a.item_pack_qty, a.item_barcode, a.re_yn, a.serial_gb, STOCK_MANAGE )
VALUES
(@item_cd ,@item_gb ,@item_nm ,@item_s_nm
,@item_enm ,@item_type1 ,@item_type2 ,@prod_end ,@prod2_end
,@item_keep_condition, @item_keep_temperature ,@item_license_storage
,@standard_hr ,@second_pack_type ,@second_pack_qt, @second_pack_m_qt
,@item_pack_barcode, @in_out_ck, @valid_period
,@item_packunit2 ,@item_safety_stock
,@item_spec ,@MARKING_IMAGE_NM ,@date_class, @repr_code_ck,@serial_yn
,@item_pack_qty ,@item_barcode ,@re_yn, @serial_gb, @stock_manage
)
SET @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from item_standard where ITEM_CD = @item_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'item_standard', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@GUBUN='U')
BEGIN
UPDATE item_standard
SET item_gb=@item_gb
,item_nm=@item_nm
,item_s_nm=@item_s_nm
,item_enm=@item_enm
,item_type1=@item_type1
,item_type2=@item_type2
,prod_end=@prod_end
,prod2_end=@prod2_end
,item_keep_condition=@item_keep_condition
,item_keep_temperature=@item_keep_temperature
,item_license_storage=@item_license_storage
,standard_hr=@standard_hr
,second_pack_type=@second_pack_type
,second_pack_qt=@second_pack_qt
,second_pack_m_qt=@second_pack_m_qt
,item_pack_barcode=@item_pack_barcode
,in_out_ck=@in_out_ck
,valid_period=@valid_period
,item_packunit2=@item_packunit2
,item_safety_stock=@item_safety_stock
,item_spec=@item_spec
,MARKING_IMAGE_NM=@MARKING_IMAGE_NM
,date_class=@date_class
,REPR_CODE_CK=@repr_code_ck
,serial_yn=@serial_yn
,item_pack_qty = @item_pack_qty
,item_barcode = @item_barcode
,re_yn = @re_yn
,SERIAL_gb = @serial_gb
,STOCK_MANAGE = @stock_manage
WHERE item_cd=@item_cd
SET @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from item_standard where ITEM_CD = @item_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'item_standard', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@GUBUN='D')
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from item_standard where ITEM_CD = @item_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'item_standard', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] item_standard
DELETE item_standard
WHERE item_cd=@item_cd
SET @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์ญ์ ๋์์ต๋๋ค'
END
ELSE IF(@GUBUN='S_DATECLASS')
BEGIN
SELECT isnull(DATE_CLASS,'1') as DATE_CLASS
,isnull(REPR_CODE_CK,'Y') as REPR_CODE_CK
from ITEM_STANDARD
WHERE ITEM_CD = @item_cd
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
SP_PackingOrder2
๋ชฉ์ โ ํฌ์ฅ ์ง์ v2 โ ์์ ์ง์ ์์ฑยท๋ณ๊ฒฝ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@s_order_status | nvarchar(10) | IN |
@order_no | nvarchar(100) | IN |
@order_issue_seq | int(4) | IN |
@packing_order_no | nvarchar(100) | IN |
@packing_order_id | int(4) | IN |
@sale_item_cd | nvarchar(100) | IN |
@material_item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@lot_date | nvarchar(20) | IN |
@lot_no2 | nvarchar(100) | IN |
@test_no | nvarchar(100) | IN |
@packing_order_date | nvarchar(20) | IN |
@valid_date | nvarchar(20) | IN |
@packing_order_work_date | nvarchar(20) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@issue_emp_cd | nvarchar(100) | IN |
@issue_emp_time | nvarchar(100) | IN |
@packing_order_qty | decimal(9) | IN |
@order_qty | decimal(9) | IN |
@use_qty | decimal(9) | IN |
@SERIAL_YN | nvarchar(20) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_PackingOrder2]
@GUBUN nvarchar(50) = '', --๋ฐ๋์ ์์ด์ผ ํจ
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@s_item_cd nvarchar(50) = '',
@s_order_status nvarchar(5) = '%', -- ์ง์ ์ํ๋ณ ์กฐํ๋ฅผ ์ํด ์ถ๊ฐ 2009๋
11์ 05์ผ ์์ฑ์ ๋ฐํจ์ง
@order_no nvarchar(50) = '',
@order_issue_seq int = 0,
@packing_order_no nvarchar(50) = '',
@packing_order_id int = 0,
@sale_item_cd nvarchar(50) = '',
@material_item_cd nvarchar(50) = '',
@lot_no nvarchar(50) = '',
@lot_date nvarchar(10) = '',
@lot_no2 nvarchar(50) = '', --์์ฒญ์ ์กฐ๋ฒํธ : ์ํ
@test_no nvarchar(50) = '',
@packing_order_date nvarchar(10) = '',
@valid_date nvarchar(10) = '',
@packing_order_work_date nvarchar(10) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@issue_emp_cd nvarchar(50) = '',
@issue_emp_time nvarchar(50) = '',
@packing_order_qty decimal(15, 4) = 0,
@order_qty decimal(15, 4) = 0,
@use_qty decimal(15, 4) = 0,
@SERIAL_YN nvarchar(10) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
DECLARE @item_stock_id int
SET @intErrorCode = 0
SET @item_stock_id = 0
DECLARE @order_count int
SET @order_count = (select count(*) from gd_item_stock where ITEM_CD = @sale_item_cd AND LOT_NO = @LOT_NO) --์ง์์ ์ธํ
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT
a.packing_order_no --์ง์๋ฒํธ
,a.sale_item_cd --ํฌ์ฅ์ ํ์ฝ๋
,b.item_nm as sale_item_nm --ํฌ์ฅ์ ํ๋ช
,dbo.fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,a.lot_no --์ ์กฐ๋ฒํธ
,a.lot_date --์ ์กฐ์ผ์
,a.packing_order_date --์
๋ ฅ์ผ์
,a.packing_order_work_date --์ง์์ผ์
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์์๋
,a.outer_interface --์ธํฐํ์ด์ค
,d.common_part_nm as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.SERIAL_YN
,case
--when a.valid_date is null then f.valid_date
when a.valid_date is not null then a.valid_date
end valid_date--์ ํจ๊ธฐ๊ฐ
,a.etc_no as lot_no2 --์์ฒญ์ ์กฐ๋ฒํธ 20130812 ๊น์ฌ์ ์ถ๊ฐ
,b.ITEM_GB
--,a.WORK_STATE
,E.COMMON_PART_NM as WORK_STATE
FROM
packing_order a
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN common d ON (a.packing_order_status = d.common_part_cd AND d.common_cd = 'RT027') --ํฌ์ฅ์ง์์ํ
LEFT OUTER JOIN COMMON E ON (A.WORK_STATE = E.COMMON_PART_CD AND E.COMMON_CD = 'PS001')
WHERE
--a.order_no = f.order_no
(a.packing_order_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
and (a.PACKING_ORDER_STATUS LIKE @s_order_status) -- ์ง์ ์ํ๋ณ ์กฐํ๋ฅผ ์ํด ์ถ๊ฐ 2009๋
11์ 05์ผ ์์ฑ์ ๋ฐํจ
SELECT @intErrorCode = @@ERROR
END
/*
ELSE IF(@gubun = 'S2')
BEGIN
--ํฌ์ฅ์์ฌ ๋ถ์ถ ์ง์ ์กฐํ
SELECT
a.order_issue_seq --ํฌ์
๋ฒํธ
,a.material_item_cd --์์ฌ์ฝ๋
,b.item_nm as material_item_nm --์์ฌ๋ช
,a.item_bom_batch_unit --๋จ์
,a.test_no --์ํ๋ฒํธ
,isnull(a.order_qty,0) as order_qty --๊ธฐ์ค๋(์ง์๋)
,dbo.fn_format_string(isnull(a.use_qty,0), 'S') as use_qty --๋ถ์ถ๋(์๋ฆฌ์ ๊ด๋ฆฌ๋ฅผ ์ํ์ฌ ๋ถ์ถ๋์ ์คํธ๋ง๊ฐ์ผ๋ก ๋ฐ์์จ๋ค.)
FROM
packing_material a
INNER JOIN item_standard b ON (a.material_item_cd = b.item_cd) -- ํ๋ชฉ๋ง์คํฐ
WHERE
a.packing_order_no = @packing_order_no
SELECT @intErrorCode = @@ERROR
END
*/
ELSE IF(@gubun = 'I') -- ๋ฐ์ดํฐ ์
๋ ฅ๋ถ๋ถ
BEGIN
INSERT INTO
packing_order(
packing_order_no --ํฌ์ฅ์ง์๋ฒํธ
,sale_item_cd --ํฌ์ฅ์ ํ
,lot_no
,lot_date
,packing_order_date --์
๋ ฅ์ผ์
,packing_order_work_date --์ง์์ผ์
,packing_order_qty --์ง์์๋
,insert_user_cd
,insert_time
,SERIAL_YN
,PACKING_ORDER_STATUS
,valid_date
,etc_no --์์ฒญ์ ์กฐ ๋ฒํธ ์ ์ฅ ํ๋
,WORK_STATE
)
VALUES
(
@packing_order_no
,@sale_item_cd
,@lot_no
,@lot_date
,@packing_order_work_date --์
๋ ฅ์ผ์ ์ง์์ผ์ ์
๋ ฅ์ผ๊ฒฝ์ฐ๋ง.๋์ผ
,@packing_order_work_date
,@packing_order_qty
,@insert_user_cd
,getdate()
,@SERIAL_YN
,'1' -- ํฌ์ฅ์ง์
,@valid_date
,@lot_no2
,'01' -- ํฌ์ฅ์ง์๋๊ธฐ
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_order where PACKING_ORDER_NO = @packing_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_order', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'U') -- ๋ฐ์ดํฐ ์์ ๋ถ๋ถ
BEGIN
if(@order_count > 0) --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
UPDATE
packing_order
SET
sale_item_cd = @sale_item_cd
,packing_order_date = @packing_order_date
,LOT_NO = @lot_no
,LOT_DATE = @lot_date
,packing_order_work_date = @packing_order_work_date
,packing_order_qty = @packing_order_qty
,update_user_cd = @update_user_cd
,update_time = getdate()
,SERIAL_YN = @SERIAL_YN
,valid_date = @valid_date
,etc_no = @lot_no2
WHERE
packing_order_no = @packing_order_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_order where PACKING_ORDER_NO = @packing_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_order', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
END
ELSE IF(@GUBUN = 'U1')
BEGIN
--SELECT Isnull(MAX(MARKING_YN),'N') as SERIAL_YN
SELECT CASE WHEN Isnull(count(MARKING_ORDER_ID),0) > 0 THEN 'Y' ELSE 'N' END as SERIAL_YN
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @packing_order_no
SELECT @intErrorCode = @@ERROR;
END
ELSE IF(@gubun = 'D') -- ์ญ์
BEGIN
if(@order_count > 0) --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_order where PACKING_ORDER_NO = @packing_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_order', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] packing_order
DELETE packing_order
WHERE packing_order_no = @packing_order_no
SELECT @intErrorCode = @@ERROR
END
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ D1 : ์ญ์ ์ ์ ์ผ๋ จ๋ฒํธ ๋ฐํ์ฌ๋ถ ์ฒดํฌํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'D1')
BEGIN
--SELECT Isnull(MAX(MARKING_YN),'N') as SERIAL_YN
SELECT CASE WHEN Isnull(count(MARKING_ORDER_ID),0) > 0 THEN 'Y' ELSE 'N' END as SERIAL_YN
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND ISNULL(MARKING_YN,'N') = 'Y'
--AND ISNULL(SERIAL_YN,'N') = 'Y'
SELECT @intErrorCode = @@ERROR;
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ D2 : ์ญ์ ์ ์ ์๋ฒ์ ์ก(๋ง๊ฐ) ์ฌ๋ถ ์ฒดํฌํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'D2')
BEGIN
--SELECT Isnull(MAX(MARKING_YN),'N') as SERIAL_YN
SELECT CASE WHEN Isnull(count(DETAIL_STOCK_ID),0) > 0 THEN 'Y' ELSE 'N' END as SERIAL_YN
FROM GD_PACKING_RESULT_ITEM
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND ISNULL(CHECK_YN,'N') = 'Y'
SELECT @intErrorCode = @@ERROR;
END
ELSE IF(@gubun = 'DD') -- ์ญ์
BEGIN
if(@order_count > 0) --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
SELECT @item_stock_id = ITEM_STOCK_ID,
@s_item_cd = ITEM_CD,
@lot_no = LOT_NO
FROM gd_item_stock
WHERE packing_order_no = @packing_order_no
AND item_cd = @s_item_cd
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE OUT_ITEM_CD = @s_item_cd AND OUT_LOT_NO = @lot_no AND OUT_TYPE = '5'
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK_OUT_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_PACK_OUT_HISTORY
DELETE FROM GD_PACKING_RESULT_PACK_OUT_HISTORY
WHERE OUT_ITEM_CD = @s_item_cd
AND OUT_LOT_NO = @lot_no
AND OUT_TYPE = '5'
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where ITEM_STOCK_ID = @item_stock_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_packing_result_item
DELETE FROM gd_packing_result_item
WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID = @item_stock_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_packing_result_pack
DELETE FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = @item_stock_id
-- AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_item_stock
DELETE FROM gd_item_stock
WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_order where PACKING_ORDER_NO = @packing_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_order', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] MARKING_ORDER
DELETE MARKING_ORDER
WHERE packing_order_no = @packing_order_no
-- [์ญ์ ] packing_order
DELETE packing_order
WHERE packing_order_no = @packing_order_no
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
-- IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
-- ELSE ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'S_ValidPeriod')
BEGIN
SELECT isnull(VALID_PERIOD,'') FROM ITEM_STANDARD WHERE ITEM_CD = @sale_item_cd
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_PackingResultError
๋ชฉ์ โ ํฌ์ฅ ๊ฒฐ๊ณผ ์ค๋ฅ ์์งยท์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@lot_no | nvarchar(100) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@item_issue_status | nvarchar(100) | IN |
@detail_stock_id | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@scan_gubun | nvarchar(20) | IN |
@s_item_cd | nvarchar(40) | IN |
@s_cust_cd | nvarchar(40) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@default_barcode | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.08.05)
์ ์ ์ :
SP ๋ช
: SP_PackingResultError
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ๋ด์ญ์กฐํ
์ฌ ์ฉ ์ฒ : PackingResultError.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_PackingResultError]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@item_issue_status nvarchar(50) = '', --์ ํ ์ถ๊ณ ์ํ
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@packing_order_no nvarchar(50) ='',
@scan_gubun nvarchar(10) = '',
@s_item_cd nvarchar(20) ='',
@s_cust_cd nvarchar(20) ='',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@default_barcode nvarchar(50) = '', --ํ์ค๋ฐ์ฝ๋ (20130708 ์ถ๊ฐ)
@cust_cd nvarchar(50) = ''
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT PACKING_ORDER_NO
,ITEM_CD
,LOT_NO
,GS1_BARCODE_NO
,MAC_ADDR
,ERROR_MSG
,B.COMMON_PART_NM AS SCAN_GUBUN
,PACKING_DATE
FROM gd_packing_result_error A
LEFT OUTER JOIN COMMON B ON (A.SCAN_GUBUN = B.COMMON_PART_CD AND COMMON_CD='SC002')
WHERE ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
AND lot_no like '%' + RTRIM(@lot_no) + '%'
AND scan_gubun like '%' + RTRIM(@scan_gubun) + '%'
AND packing_date BETWEEN @sdate AND @edate
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_PackingResult_Edit
๋ชฉ์ โ ํฌ์ฅ ๊ฒฐ๊ณผ ์์ (๊ด๋ฆฌ์).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@s_lot_no | nvarchar(100) | IN |
@s_order_status | nvarchar(2) | IN |
@order_proc_make_status | nvarchar(2) | IN |
@packing_order_no | nvarchar(100) | IN |
@packing_result_id | int(4) | IN |
@receive_qty | decimal(9) | IN |
@bulk_use_qty | decimal(9) | IN |
@packing_qty | decimal(9) | IN |
@test_sample_qty | decimal(9) | IN |
@deposit_sample_qty | decimal(9) | IN |
@remain_qty | decimal(9) | IN |
@disuse_qty | decimal(9) | IN |
@order_no | nvarchar(100) | IN |
@order_proc_id | int(4) | IN |
@lot_no | nvarchar(100) | IN |
@lot_date | nvarchar(20) | IN |
@receipt_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@receipt_qty | nvarchar(100) | IN |
@test_type | nvarchar(10) | IN |
@start_date | nvarchar(20) | IN |
@start_no | nvarchar(100) | IN |
@receive_date | nvarchar(20) | IN |
@picking_date | nvarchar(20) | IN |
@picking_emp_cd | nvarchar(100) | IN |
@picking_method | nvarchar(510) | IN |
@testcontrol_id | int(4) | IN |
@item_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@packing_date | nvarchar(20) | IN |
@result_emp | nvarchar(100) | IN |
@prod_qty | int(4) | IN |
@box_barcode_no | nvarchar(100) | IN |
@pre_label_issue_yn | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
--ํฌ์ฅ์ค์ ๋ฑ๋ก
--๋ฐ์์ฉ(09.09.25)
CREATE PROC [dbo].[SP_PackingResult_Edit]
@GUBUN nvarchar(50) = '',
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@s_item_cd nvarchar(50) = '',
@s_lot_no nvarchar(50) = '',
@s_order_status nvarchar(1) = '',
@order_proc_make_status nvarchar(1) = '',
@packing_order_no nvarchar(50) = '',
@packing_result_id int = 0,
@receive_qty decimal(15,4) = 0,
@bulk_use_qty decimal(15,4) = 0,
@packing_qty decimal(15,4) = 0,
@test_sample_qty decimal(15,4) = 0,
@deposit_sample_qty decimal(15,4) = 0,
@remain_qty decimal(15,4) = 0,
@disuse_qty decimal(15,4) = 0,
@order_no nvarchar(50)='',
@order_proc_id int=0,
@lot_no nvarchar(50)='',
@lot_date nvarchar(10)='',
@receipt_date nvarchar(10)='',
@end_date nvarchar(10)='',
@receipt_qty nvarchar(50)='',
@test_type nvarchar(5)='',
@start_date nvarchar(10)='',
@start_no nvarchar(50)='',
@receive_date nvarchar(10)='',
@picking_date nvarchar(10)='',
@picking_emp_cd nvarchar(50)='',
@picking_method nvarchar(255)='',
@testcontrol_id int=null,
@item_cd nvarchar(50) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@packing_date nvarchar(10) = '',
@result_emp nvarchar(50)='',
@prod_qty int=0,
@box_barcode_no nvarchar(50)='',
@pre_label_issue_yn nvarchar(50)='Y', --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ (2013.04.18 ํฉ์๋ก)
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @result_count int
SET @result_count = (SELECT COUNT(*)
FROM GD_PACKING_RESULT_PACK a
LEFT OUTER JOIN GD_ITEM_STOCK b ON (a.ITEM_STOCK_ID = b.ITEM_STOCK_ID)
LEFT OUTER JOIN PACKING_RESULT c ON (b.PACKING_RESULT_ID = c.PACKING_RESULT_ID)
WHERE c.PACKING_RESULT_ID = @packing_result_id) --์งํจ์์ฑํ์
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
SELECT
a.packing_order_work_date --์ง์์ผ์
,a.sale_item_cd --์ ํ์ฝ๋
,b.item_nm as sale_item_nm --์ ํ๋ช
,dbo.fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,a.lot_no --์ ์กฐ๋ฒํธ
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์๋
,sum(isnull(c.packing_qty,0)) as packing_qty --์์ฐ๋
,d.COMMON_PART_NM as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.packing_order_no --ํฌ์ฅ์ง์๋ฒํธ
,a.LOT_DATE --์ ์กฐ์ผ์
,a.VALID_DATE --์ ํจ์ผ์
,a.OUTER_INTERFACE --์ธํฐํ์ด์ค
,ord = case a.PACKING_ORDER_STATUS when '2' then 0 when '3' then 1 when '1' then 2 when '4' then 3 end
,e.PUBLISH_COUNT -- ์ ์ ๋ฐํ๋๊ณ ๋น์ ๊น์ง ์ฒดํฌ๋ ํฌ์ฅ์ค์
,a.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ํฌํจ์ฌ๋ถ
FROM
packing_order a --ํฌ์ฅ์ง์
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN packing_result c ON (a.packing_order_no = pack_order_no) --ํฌ์ฅ์ค์
LEFT OUTER JOIN COMMON d ON (a.PACKING_ORDER_STATUS = d.COMMON_PART_CD AND d.COMMON_CD = 'RT027') --ํฌ์ฅ์ง์ํ์
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, COUNT(*) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN ='Y' AND VISION_YN='Y'
GROUP BY PACKING_ORDER_NO) e
ON a.PACKING_ORDER_NO = e.PACKING_ORDER_NO -- ์ ์ ๋ฐํ๋๊ณ ๋น์ ๊น์ง ์ฒดํฌ๋ ํฌ์ฅ์ค์ ์ ํ์ธ์ฉ์ผ๋ก ์กฐํํ๋ค.
WHERE
(a.packing_order_work_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
AND (isnull(a.LOT_NO,'') LIKE '%' + @s_lot_no + '%')
AND (a.PACKING_ORDER_STATUS LIKE @s_order_status)
GROUP BY
a.packing_order_work_date --์ง์์ผ์
,a.sale_item_cd --์ ํ์ฝ๋
,b.item_nm --์ ํ๋ช
,dbo.fn_Pack_unit_size(a.sale_item_cd) --ํฌ์ฅ๋จ์
,a.lot_no --์ ์กฐ๋ฒํธ
,a.etc_no
,a.packing_order_qty --์ง์๋
,d.COMMON_PART_NM --ํฌ์ฅ์ง์์ํ
,a.packing_order_no --ํฌ์ฅ์ง์๋ฒํธ
,a.LOT_DATE --์ ์กฐ์ผ์
,a.VALID_DATE --์ ํจ์ผ์
,a.outer_interface --์ธํฐํ์ด์ค
,a.PACKING_ORDER_STATUS
,d.COMMON_PART_CD
,e.PUBLISH_COUNT -- ์ ์ ๋ฐํ๋๊ณ ๋น์ ๊น์ง ์ฒดํฌ๋ ํฌ์ฅ์ค์
,a.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ํฌํจ์ฌ๋ถ
ORDER BY a.packing_order_no asc, a.PACKING_ORDER_WORK_DATE asc, b.ITEM_NM asc, a.LOT_NO asc, ord asc
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S2')
BEGIN
SELECT
a.packing_result_id
,a.packing_date
,isnull(a.packing_qty,0) as packing_qty
,isnull(a.PACKING_RESULT_TEST_SAMPLE_QTY,0) as test_sample_qty
,isnull(a.PACKING_RESULT_DEPOSIT_SAMPLE_QTY,0) as deposit_sample_qty
,isnull(a.PACKING_RESULT_RECEIVE_QTY,0) as receive_qty
,isnull(a.PACKING_RESULT_BULK_USE_QTY,0) as bulk_use_qty
,isnull(a.remain_qty,0) as remain_qty
,isnull(a.disuse_qty,0) as disuse_qty
,a.result_emp as result_emp_cd
,c.emp_nm as result_emp_nm
,a.pack_order_no
,b.lot_date
,b.end_date
,a.END_TESTCONTROL_ID
,d.TEST_STATUS
,isnull(e.COMMON_PART_NM,'---') as TEST_STATUS_NM
FROM
packing_result a
LEFT OUTER JOIN gd_item_stock b ON (a.packing_result_id = b.packing_result_id)
LEFT OUTER JOIN (SELECT emp_cd, emp_nm FROM MA_EMPLOYEE
UNION
SELECT emp_cd, emp_nm FROM MA_EXTRAEMPLOYEE
) c ON (a.result_emp = c.emp_cd) --v_employee
LEFT OUTER JOIN TESTCONTROL d ON (a.END_TESTCONTROL_ID = d.TESTCONTROL_ID)
LEFT OUTER JOIN COMMON e ON (e.COMMON_CD = 'QC007' and e.COMMON_PART_CD = d.TEST_STATUS) --์งํ์ํ
WHERE
a.pack_order_no = @packing_order_no
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'I') -- ๋ฐ์ดํฐ ์
๋ ฅ๋ถ๋ถ(ํฌ์ฅ์ค์ ์
๋ ฅ ํ ์ ํ์
๊ณ ์
๋ ฅ)
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
declare @end_testcontrol_id int
set @end_testcontrol_id =(select distinct END_TESTCONTROL_ID
FROM PACKING_RESULT
where PACK_ORDER_NO = @packing_order_no)
--ํฌ์ฅ์ค์ ์
๋ ฅ
INSERT INTO
packing_result(
pack_order_no --ํฌ์ฅ์ง์๋ฒํธ
,packing_date --ํฌ์ฅ์ผ์
,item_cd --์ ํ์ฝ๋
,packing_qty --์์ฐ๋
,PACKING_RESULT_RECEIVE_QTY --์ ๊ณต์ ์ธ๊ณ์๋
,PACKING_RESULT_BULK_USE_QTY --ํฌ์ฅ์ฌ๋ฃ์ฌ์ฉ๋
,PACKING_RESULT_TEST_SAMPLE_QTY --์ํ๊ฒ์ฒด์๋
,PACKING_RESULT_DEPOSIT_SAMPLE_QTY --๋ณด๊ด๊ฒ์ฒด์๋
,remain_qty --์๋
,disuse_qty --ํ๊ธฐ๋
,result_emp --์์
์
,result_time
,END_TESTCONTROL_ID --์ํ์๋ขฐID
,ISSUE_STATUS
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@packing_order_no
,@packing_date
,@item_cd
,@packing_qty
,@receive_qty
,@bulk_use_qty
,@test_sample_qty
,@deposit_sample_qty
,@remain_qty
,@disuse_qty
,@result_emp
,getdate()
,@end_testcontrol_id --์๋ธ์ฟผ๋ฆฌ๋ฅผ ๋ฐ์ผ๋ก ๋ถ๋ฆฌ ์ํด
, '1'
,@insert_user_cd
,getdate()
)
DECLARE @PACKING_RESULT_ID2 INT
SET @PACKING_RESULT_ID2 =@@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_result where PACKING_RESULT_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_result', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--ํฌ์ฅ์ค์ ์ผ๋ จ๋ฒํธ๋ฅผ ์
๋ ฅํ๊ธฐ ์ํด ๋ณ์์ ํฌ์ฅ์ค์ ์ผ๋ จ๋ฒํธ๋ฅผ ์
๋ ฅํ ํ ์ ํ์
๊ณ ์ ์
๋ ฅํ๋ค.
declare @result_id int
----- 2014.02.25 ์ด๋ณ์ฐฝ ์์
--set @result_id = (select top 1 packing_result_id from packing_result order by packing_result_id desc)
set @result_id = SCOPE_IDENTITY() -- packing_result_id๊ฐ ๊ฐ์ ธ์ค๊ธฐ
--์ ํ์
๊ณ ์
๋ ฅ
INSERT INTO
gd_item_stock(
packing_result_id --ํฌ์ฅ์ค์ ์ผ๋ จ๋ฒํธ
,prod_return_ck --์ ํ์
๊ณ ๊ตฌ๋ถ 1:์์ฐ 2:๋ฐํ
,item_cd --์ ํ์ฝ๋
,lot_no --์ ์กฐ๋ฒํธ
,lot_date --์ ์กฐ์ผ์
,receipt_date --์
๊ณ ์ผ์
,receipt_qty --์
๊ณ ์๋
,RECEIPT_STATUS
,end_date --์ ํจ๊ธฐ๊ฐ
,insert_user_cd
,insert_time
,pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
)
VALUES
(
@result_id
,'1' --1:์์ฐ
,@item_cd
,@lot_no
,@lot_date
,@packing_date
,@packing_qty
, 'N'
,@end_date
,@insert_user_cd
,getdate()
,@pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
)
DECLARE @item_stock_id2 INT
SET @item_stock_id2 = @@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where ITEM_STOCK_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'U' OR @gubun = 'U1') -- ๋ฐ์ดํฐ ์์ ๋ถ๋ถ --2013.04.19 ํฉ์๋ก, ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ค์ ์ด ์
๋ ฅ๋์ด๋ ์์ ๋ ์ ์๋๋ก ํ๊ธฐ ์ํด ๊ตฌ๋ถ์ 'U1' ์ถ๊ฐ
BEGIN
if(@result_count > 0 AND @gubun <> 'U1') --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--ํฌ์ฅ์ค์ ์์
UPDATE
packing_result
SET
packing_date = @packing_date --ํฌ์ฅ์ผ์
,packing_qty = packing_qty + @packing_qty--์์ฐ๋
,PACKING_RESULT_RECEIVE_QTY = PACKING_RESULT_RECEIVE_QTY + @receive_qty --์ ๊ณต์ ์ธ๊ณ์๋
,PACKING_RESULT_BULK_USE_QTY = PACKING_RESULT_BULK_USE_QTY + @bulk_use_qty --ํฌ์ฅ์ฌ๋ฃ์ฌ์ฉ๋
,PACKING_RESULT_TEST_SAMPLE_QTY = PACKING_RESULT_TEST_SAMPLE_QTY + @test_sample_qty --์ํ๊ฒ์ฒด์๋
,PACKING_RESULT_DEPOSIT_SAMPLE_QTY = PACKING_RESULT_DEPOSIT_SAMPLE_QTY + @deposit_sample_qty --๋ณด๊ด๊ฒ์ฒด์๋
,remain_qty = remain_qty + @remain_qty --์๋
,disuse_qty = disuse_qty + @disuse_qty --ํ๊ธฐ๋
,result_emp = @result_emp --์์
์
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
packing_result_id = @packing_result_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_result where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_result', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
select @intErrorCode
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--์ ํ์
๊ณ ์์
UPDATE
gd_item_stock
SET
lot_date = @lot_date --์ ์กฐ์ผ์
,receipt_date = @packing_date --์
๊ณ ์ผ์
,receipt_qty = receipt_qty + @packing_qty --์
๊ณ ์๋(์๋)
,end_date = @end_date --์ ํจ๊ธฐ๊ฐ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
packing_result_id = @packing_result_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'U2') -- ๋ฐ์ดํฐ ์์ ๋ถ๋ถ --2014.03.11 ํฌ์ฅ์ค์ ์์ ์ ์๋์ ๊ธฐ์กด์๋ ๋ฌด์ํ๊ณ ์์ ํ ์๋์ผ๋ก ์ ์ฉ
BEGIN
if(@result_count > 0 ) --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--ํฌ์ฅ์ค์ ์์
UPDATE
packing_result
SET
packing_date = @packing_date --ํฌ์ฅ์ผ์
,packing_qty = @packing_qty--์์ฐ๋
,PACKING_RESULT_RECEIVE_QTY = @receive_qty --์ ๊ณต์ ์ธ๊ณ์๋
,PACKING_RESULT_BULK_USE_QTY = @bulk_use_qty --ํฌ์ฅ์ฌ๋ฃ์ฌ์ฉ๋
,PACKING_RESULT_TEST_SAMPLE_QTY = @test_sample_qty --์ํ๊ฒ์ฒด์๋
,PACKING_RESULT_DEPOSIT_SAMPLE_QTY = @deposit_sample_qty --๋ณด๊ด๊ฒ์ฒด์๋
,remain_qty = @remain_qty --์๋
,disuse_qty = @disuse_qty --ํ๊ธฐ๋
,result_emp = @result_emp --์์
์
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
packing_result_id = @packing_result_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_result where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_result', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
select @intErrorCode
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--์ ํ์
๊ณ ์์
UPDATE
gd_item_stock
SET
lot_date = @lot_date --์ ์กฐ์ผ์
,receipt_date = @packing_date --์
๊ณ ์ผ์
,receipt_qty = @packing_qty --์
๊ณ ์๋(์๋)
,end_date = @end_date --์ ํจ๊ธฐ๊ฐ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
packing_result_id = @packing_result_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'D') -- ์ญ์
BEGIN
if(@result_count > 0) --์ค์ ์ด ์
๋ ฅ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--์ ํ์
๊ณ ์ญ์
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_item_stock
DELETE gd_item_stock
WHERE packing_result_id = @packing_result_id
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_result where packing_result_id = @packing_result_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_result', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--ํฌ์ฅ์ค์ ์ญ์
-- [์ญ์ ] packing_result
DELETE packing_result
WHERE packing_result_id = @packing_result_id
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
END
/*
ELSE IF(@gubun = 'TestReg') --์ํ์ ์ ๋ฑ๋ก
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
INSERT INTO
TESTCONTROL(
TEST_TYPE --์ํ๊ตฌ๋ถ
,ITEM_CD --์ ํ์ฝ๋
,START_DATE --์ ์กฐ(๊ด๋ฆฌ)์ผ์
,START_NO --์ ์กฐ(๊ด๋ฆฌ)๋ฒํธ
,RECEIVE_DATE --์ํ์ ์์ผ์
,PICKING_DATE --์ฑ์ทจ์ผ์
,PICKING_EMP_CD --์ฑ์ทจ์
,TEST_SAMPLE_QTY--์ํ๊ฒ์ฒด์๋
,DEPOSIT_SAMPLE_QTY --๋ณด๊ด๊ฒ์ฒด์๋
,PICKING_METHOD --์ฑ์ทจ๋ฐฉ๋ฒ
,TEST_STATUS --์งํ์ํ
,SAMPLE_STATUS --์๋ฃ์ํ
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@test_type
,@item_cd
,@start_date
,@start_no
,@receive_date
,@picking_date
,@picking_emp_cd
,@test_sample_qty
,@deposit_sample_qty
,@picking_method
,'2' --์ ์
,'0' -- '---'
,@insert_user_cd
,getdate()
)
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.101001 ๋ฐ๋ฏผ์ค====
DECLARE @TESTCONTROL_ID2 INT
SET @TESTCONTROL_ID2 =@@IDENTITY
SELECT @audittrail_id = audittrail_id FROM TESTCONTROL WHERE TESTCONTROL_ID =@TESTCONTROL_ID2
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'PACKING_RESULT', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
, @audit_gubun = 'I', @audit_emp_cd = @update_user_cd, @audit_Remark = ''
, @audit_log_io_gb = 'I', @audit_log_user = @log_user_id
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--๊ฐ์ฅ ์ต์ ์ ์ํ๊ด๋ฆฌ์ผ๋ จ๋ฒํธ๋ฅผ ๊ตฌํ๋ค.
declare @result_testcontrol_id int
--set @result_testcontrol_id = (select top 1 TESTCONTROL_ID from TESTCONTROL order by TESTCONTROL_ID desc)
set @result_testcontrol_id = SCOPE_IDENTITY() -- TESTCONTROL_ID๊ฐ ๊ฐ์ ธ์ค๊ธฐ
--ํฌ์ฅ์ค์ ์ ์ํ๊ด๋ฆฌ์ผ๋ จ๋ฒํธ๋ฅผ ๋ฃ์ด์ค
UPDATE PACKING_RESULT
SET END_TESTCONTROL_ID = @result_testcontrol_id
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE PACK_ORDER_NO = @packing_order_no
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0) --์๋ฌ๊ฐ ์๋ค๋ฉด
BEGIN
--ํฌ์ฅ์ง์์ํ ๋ณ๊ฒฝ
UPDATE PACKING_ORDER
SET PACKING_ORDER_STATUS = '3' --์ํ์ค
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE PACKING_ORDER_NO = @packing_order_no
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
SELECT @audittrail_id = audittrail_id FROM PACKING_ORDER WHERE PACKING_ORDER_NO = @packing_order_no
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'PACKING_ORDER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
, @audit_gubun = 'I', @audit_emp_cd = @update_user_cd, @audit_Remark = ''
, @audit_log_io_gb = 'I', @audit_log_user = @log_user_id
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
*/
-- 2013.04.15 ํฉ์๋ก ์ถ๊ฐ
ELSE IF(@gubun = 'S3') -- ๋ฑ๋ก๋ ์
๊ณ ID ์ทจ๋
BEGIN
SELECT A.PACKING_RESULT_ID, B.ITEM_STOCK_ID
FROM PACKING_RESULT A
INNER JOIN GD_ITEM_STOCK B
ON A.PACKING_RESULT_ID = B.PACKING_RESULT_ID
WHERE A.PACK_ORDER_NO= @packing_order_no
AND B.RECEIPT_STATUS = 'N'
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_Packing_manage
๋ชฉ์ โ ํฌ์ฅ ์ ๋ฐ ๊ด๋ฆฌ(์์ฑยท์ํยท์ ์ ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(10) | IN |
@group_text | nvarchar(100) | IN |
@emp_text | nvarchar(100) | IN |
@use_yn_S | nvarchar(20) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@emp_group_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@MACADDRESS | nvarchar(100) | IN |
@sys_plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@WORK_STATE | nvarchar(100) | IN |
@DIST_CD | nvarchar(4) | IN |
@FINISH_YN | nvarchar(4) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@UPDATE_USER_CD | nvarchar(100) | IN |
@s_receipt_status | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์ด์ธ๋ฏผ
์์ ์ :
SP๋ช
: SP_Packing_manage
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ์ฌ์/๊ทธ๋ฃน์ค์
์ฌ์ฉ์ฒ : Packing_manage
ํ
์ด๋ธ : emp_group, employee, emp_group_set
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_Packing_manage]
@gubun nvarchar(5) = '',
@group_text nvarchar(50) = '',
@emp_text nvarchar(50) = '',
@use_yn_S nvarchar(10) = '',
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@s_item_cd nvarchar(50) = '',
@emp_group_cd nvarchar(50) = '',
@emp_cd nvarchar(50) = '',
@MACADDRESS nvarchar(50) = '',
@sys_plant_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@PACKING_ORDER_NO nvarchar(50) = '',
@WORK_STATE nvarchar(50) = '',
@DIST_CD nvarchar(2) = '',
@FINISH_YN nvarchar(2) = '',
@INSERT_USER_CD nvarchar(50) = '',
@UPDATE_USER_CD nvarchar(50) = '',
@s_receipt_status nvarchar(50) = '',
@message nvarchar(1000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
declare @CPC nvarchar(50)
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT a.packing_order_no --์ง์๋ฒํธ
,a.sale_item_cd --ํฌ์ฅ์ ํ์ฝ๋
,b.item_nm as sale_item_nm --ํฌ์ฅ์ ํ๋ช
,[dbo].fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,CASE WHEN a.LOT_NO <> '' THEN a.LOT_NO ELSE a.ETC_NO END lot_no --์ ์กฐ๋ฒํธ
,a.packing_order_date --์
๋ ฅ์ผ์
,a.packing_order_work_date --์ง์์ผ์
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์์๋
,a.outer_interface --์ธํฐํ์ด์ค
,d.common_part_nm as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.SERIAL_YN
,a.VALID_DATE
,b.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,CASE WHEN ISNULL(b.MARKING_IMAGE_NM, '' ) = '' THEN f.PARAMETER_VALUE ELSE b.MARKING_IMAGE_NM END AS MARKING_IMAGE_NM-- ๋งํน์ด๋ฏธ์ง ํ์ผ๋ช
์ถ๊ฐ
FROM packing_order a
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN common d ON (a.packing_order_status = d.common_part_cd AND d.common_cd = 'RT027') --ํฌ์ฅ์ง์์ํ
LEFT OUTER JOIN CM_PARAMETER f ON PARAMETER_CODE = CASE WHEN a.SERIAL_YN = 'Y' THEN 'DOMINO_LABEL_NM_SERIAL' ELSE 'DOMINO_LABEL_NM_NOSERIAL' END --์ถ๋ ฅ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ์ด๋ฏธ์ง
WHERE (a.packing_order_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
AND (ISNULL(a.PACKING_ORDER_STATUS,'N') LIKE @s_receipt_status)
ORDER BY a.PACKING_ORDER_WORK_DATE desc, a.packing_order_no desc, a.LOT_NO desc
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@GUBUN='S2')
BEGIN
SELECT C.COMPUTERNM
,b.COMMON_PART_NM AS Work_State
,a.PACKING_ORDER_NO
,A.FINISH_YN
,a.MACADDRESS
FROM MAPPING_HISTORY a
LEFT OUTER JOIN common b ON (a.WORK_STATE = b.common_part_cd AND b.common_cd = 'PS001')
LEFT OUTER JOIN ExecutionComputer C ON (A.MACADDRESS = C.MACADDRESS)
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
END
ELSE IF(@GUBUN = 'I')
BEGIN
-- [์ ์ฌ] MAPPING_HISTORY
INSERT INTO MAPPING_HISTORY
(
MACADDRESS
,PACKING_ORDER_NO
,WORK_STATE
,DIST_CD
,FINISH_YN
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@MACADDRESS
,@PACKING_ORDER_NO
,@WORK_STATE
,(SELECT DIST_CD FROM ExecutionComputer WHERE MACADDRESS = @MACADDRESS)
,'N'
,@INSERT_USER_CD
,GETDATE()
)
UPDATE PACKING_ORDER SET
WORK_STATE = @WORK_STATE
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@GUBUN = 'U')
BEGIN
select @CPC = COMMON_PART_CD FROM COMMON WHERE COMMON_CD = 'PS001' AND COMMON_PART_NM = @WORK_STATE
IF (SELECT FINISH_YN FROM MAPPING_HISTORY WHERE MACADDRESS=@MACADDRESS and PACKING_ORDER_NO = @PACKING_ORDER_NO and WORK_STATE=@CPC) = 'Y'
BEGIN
RAISERROR ('์ด๋ฏธ ์๋ฃ๋ ์์
์
๋๋ค.' , 16, 1);
END
ELSE
BEGIN
update MAPPING_HISTORY set
MACADDRESS = @MACADDRESS
,WORK_STATE = @WORK_STATE
,UPDATE_USER_CD = @UPDATE_USER_CD
,UPDATE_TIME = GETDATE()
where PACKING_ORDER_NO = @PACKING_ORDER_NO
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'D') -- ์ญ์
BEGIN
select @CPC = COMMON_PART_CD FROM COMMON WHERE COMMON_CD = 'PS001' AND COMMON_PART_NM = @WORK_STATE
IF (SELECT FINISH_YN FROM MAPPING_HISTORY WHERE MACADDRESS=@MACADDRESS and PACKING_ORDER_NO = @PACKING_ORDER_NO and WORK_STATE=@CPC) = 'Y'
BEGIN
RAISERROR ('์ด๋ฏธ ์๋ฃ๋ ์์
์
๋๋ค.' , 16, 1);
END
ELSE
BEGIN
-- [์ญ์ ] MAPPING_HISTORY
delete from MAPPING_HISTORY where MACADDRESS=@MACADDRESS and WORK_STATE=@CPC and PACKING_ORDER_NO=@PACKING_ORDER_NO --AND FINISH_YN='N'
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'C')
BEGIN
(SELECT COUNT(*) FROM MAPPING_HISTORY WHERE WORK_STATE = @WORK_STATE and PACKING_ORDER_NO=@PACKING_ORDER_NO)
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_RePacking
๋ชฉ์ โ ์ฌํฌ์ฅ ์ฒ๋ฆฌ โ ๊ธฐ์กด ๋ฐ์ฝ๋ ๋ฌดํจํ + ์ ๊ท ์์ฑ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@mapping_gs1_barcode | nvarchar(800) | IN |
@mapping_box_type | nvarchar(200) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@stock_qty | decimal(9) | IN |
@prod_qty | decimal(9) | IN |
@extension_cd | char(1) | IN |
@message | nvarchar(4000) | OUTPUT |
@identity | nvarchar(100) | OUTPUT |
@packing_order_no | nvarchar(100) | IN |
@item_stock_id | int(4) | IN |
@item_pack_barcode | nvarchar(100) | IN |
@item_cd | nvarchar(60) | IN |
@lot_no | nvarchar(40) | IN |
@packing_date | nvarchar(20) | IN |
@packing_qty | decimal(9) | IN |
@end_date | nvarchar(20) | IN |
@_item_stock_id | nvarchar(30) | IN |
@macaddress | nvarchar(100) | IN |
@gs1_box_barcode_no | nvarchar(800) | IN |
@box_barcode_no | char(15) | IN |
@serial_no | nvarchar(24) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ์ด์ ๋ฏธ
์ ์ ์ :
SP ๋ช
: SP_RePacking
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ค ์ฌํฌ์ฅ
์ฌ ์ฉ ์ฒ : RePacking.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_RePacking]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@gs1_barcode NVARCHAR(400) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(100) = '' --๋ฐ์ค ํ์
,@mapping_gs1_barcode NVARCHAR(400) = '' --๋งตํํ ๋ฐ์ฝ๋
,@mapping_box_type NVARCHAR(100) = '' --๋งตํํ ๋ฐ์ฝ๋์ ๋ฐ์คํ์
\
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@stock_qty DECIMAL(15,4) = 0 --์
๊ณ ๋
,@prod_qty decimal(15,4) = 0
,@extension_cd char(1) = ''
,@message NVARCHAR(2000) output
,@identity nvarchar(50) = '' output
,@packing_order_no NVARCHAR(50) = ''
,@item_stock_id int =0
,@item_pack_barcode NVARCHAR(50) = ''
,@item_cd NVARCHAR(30) = ''
,@lot_no NVARCHAR(20) = ''
,@packing_date nvarchar(10) = ''
,@packing_qty decimal(15,4) = 0
,@end_date nvarchar(10)=''
,@_item_stock_id nvarchar(15) = ''
,@macaddress nvarchar(50) =''
,@gs1_box_barcode_no nvarchar(400) = ''
,@box_barcode_no char(15) =''
,@serial_no nvarchar(12) = ''
,@sys_emp_cd nvarchar(50) = ''
,@s_item_cd NVARCHAR(20) = ''
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๋ฐ์ฝ๋ ์ ๋ณด
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT A.ITEM_CD AS ITEM_CD
,A.ITEM_NM
,A.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,A.SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,A.SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,A.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
FROM ITEM_STANDARD A
WHERE 1=1
AND A.ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
--AND A.ITEM_GB = 1
END
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S1') BEGIN
SELECT *
FROM gd_packing_result_item
WHERE GS1_BOX_BARCODE_NO=@gs1_barcode
END
-- ๊ฐ๋ณํฌ์ฅ ์ ํจ์ฑ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
-- ๋งตํ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF NOT EXISTS (Select 1 from gd_packing_result_item where GS1_BOX_BARCODE_NO=@gs1_barcode)
BEGIN
RAISERROR ('ํฌ์ฅ ๋์ง ์์ ์ ํ์
๋๋ค.' , 16, 1);
END
IF EXISTS (select 1
from gd_packing_result_item a
LEFT OUTER JOIN gd_item_stock b ON(a.ITEM_STOCK_ID = b.ITEM_STOCK_ID)
where GS1_BOX_BARCODE_NO = @gs1_barcode and b.RECEIPT_STATUS ='Y' AND a.STOCK_QTY = 0)
BEGIN
RAISERROR ('์ถ๊ณ ๋ ์ ํ์
๋๋ค.', 16, 1);
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋ฐํ์ฌ๋ถ
-- [๋ถ๊ธฐ] @gubun = 'S3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S3') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode) = 0
BEGIN
RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)' , 16, 1);
END
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
RAISERROR ('์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
END
DECLARE @box_barcode CHAR(15) --์งํจ๋ฒํธ :๋ฐ์ค์ผ๋ จ๋ฒํธ ์๋ฆฟ์ ์ฆ๊ฐ๋ก ์ธํ ๋ฌธ์์ด ์ฆ๊ฐ 10 -> 15
--,@item_stock_id INT --์
๊ณ ์ผ๋ จ๋ฒํธ
,@temp_DETAIL_STOCK_ID INT --Auditํ
์ด๋ธ์ ๋ฃ๊ธฐ ์ํ id
-- ๊ฐ๋ณํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U1') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
/*SELECT @box_barcode = BOX_BARCODE_NO
,@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
--2014.03.07 ์ด๋ณ์ฐฝ ์์
--SELECT @temp_detail_stock_id = MAX(DETAIL_STOCK_ID)
--FROM GD_PACKING_RESULT_ITEM
set @temp_detail_stock_id = ident_current('GD_PACKING_RESULT_ITEM')
IF (@box_barcode IS NOT NULL) BEGIN */
update a
set a.STOCK_QTY = CASE WHEN a.STOCK_QTY = 0 then a.STOCK_QTY else a.STOCK_QTY - 1 end
,a.PROD_QTY = a.PROD_QTY - 1
from gd_packing_result_pack a
LEFT OUTER JOIN gd_packing_result_item b ON (a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
WHERE b.GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = a.audittrail_id from gd_packing_result_pack a
LEFT OUTER JOIN gd_packing_result_item b ON (a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
WHERE b.GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
update GD_PACKING_RESULT_PACK
set STOCK_QTY = CASE WHEN STOCK_QTY = 0 then STOCK_QTY else STOCK_QTY - 1 end
,PROD_QTY = PROD_QTY - 1
where GS1_BOX_BARCODE_NO = (
select MAPPING_GS1_BARCODE
from gd_packing_result_pack
where gs1_box_barcode_no = (
select a.MAPPING_GS1_BARCODE
from GD_PACKING_RESULT_ITEM a
LEFT OUTER JOIN GD_PACKING_RESULT_PACK b ON (a.MAPPING_GS1_BARCODE = b.GS1_BOX_BARCODE_NO)
where a.GS1_BOX_BARCODE_NO = @gs1_barcode
)
)
update GD_PACKING_RESULT_ITEM set
box_barcode_no = @box_barcode_no
,MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,MAPPING_BOX_TYPE = '1'
,ITEM_STOCK_ID = @item_stock_id
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
update GD_PACKING_RESULT_PACK
set STOCK_QTY = (
select sum(stock_qty)
from GD_PACKING_RESULT_ITEM
where mapping_gs1_barcode = @mapping_gs1_barcode
)
where GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
--
--END
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U2') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
UPDATE A SET
A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,A.MAPPING_BOX_TYPE = @mapping_box_type
,A.UPDATE_TIME = GETDATE()
,A.UPDATE_USER_CD = @update_user_cd
FROM GD_PACKING_RESULT_PACK A
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND ISNULL(MAPPING_GS1_BARCODE,'') = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'INSERT_STOCK') -- ๋ฐ์ดํฐ ์
๋ ฅ๋ถ๋ถ(์ ํ์
๊ณ ์
๋ ฅ)
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์
๋ ฅ
INSERT INTO
gd_item_stock(
--packing_result_id --ํฌ์ฅ์ค์ ์ผ๋ จ๋ฒํธ
prod_return_ck --์ ํ์
๊ณ ๊ตฌ๋ถ 1:์์ฐ 2:๋ฐํ
,item_cd --์ ํ์ฝ๋
,lot_no --์ ์กฐ๋ฒํธ
,receipt_date --์
๊ณ ์ผ์
,receipt_qty --์
๊ณ ์๋
,RECEIPT_STATUS
,end_date --์ ํจ๊ธฐ๊ฐ
,insert_user_cd
,insert_time
,pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
)
VALUES
(
--0
'1' --1:์์ฐ
,@item_cd
,@lot_no
,@packing_date
,@packing_qty
,(select top 1 RECEIPT_STATUS from GD_ITEM_STOCK where ITEM_CD=@item_cd AND LOT_NO=@lot_no order by INSERT_TIME desc)-- 'N'
,@end_date
,@insert_user_cd
,getdate()
,'N' --์ฌ์ ๋ฐํ์ฌ๋ถ
)
Select @@IDENTITY
DECLARE @item_stock_id2 INT
SET @item_stock_id2 = @@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock WHERE ITEM_STOCK_ID = @item_stock_id2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
--ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'UPDATE_STOCK') --
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์์
UPDATE
gd_item_stock
SET
receipt_date = @packing_date --์
๊ณ ์ผ์
,receipt_qty = receipt_qty + @packing_qty
,end_date = @end_date --์ ํจ๊ธฐ๊ฐ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
ITEM_STOCK_ID = @_item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock WHERE ITEM_STOCK_ID = @_item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
--ELSE ROLLBACK TRANSACTION
END
ELSE IF (@GUBUN='INSERT_PACK')
BEGIN
--ํ๋ผ๋ฏธํฐ XGD7 ๊ฐ์ด ๊ธธ์ด์ง๋ฉด ๋ณ๊ฒฝํ์ ๊ธฐ๋ณธ : NVARCHAR(10)
DECLARE @BARCODE_NO NVARCHAR(50)
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@macaddress)
DECLARE @REPR_CODE_CK CHAR(1) = ''
SELECT @REPR_CODE_CK = ISNULL(REPR_CODE_CK,'Y') FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @item_pack_barcode
IF (@box_type = '1' AND @REPR_CODE_CK = 'N') BEGIN
SET @extension_cd = '0'
END
ELSE BEGIN
SET @extension_cd = @box_type
END
SET @BARCODE_NO=DBO.FN_GETSSCC(@extension_cd,@macaddress)
BEGIN TRY
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,CHECK_YN
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' AND @BOX_TYPE <> '2' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,CASE WHEN @BOX_TYPE = '2' THEN NULL
WHEN RECEIPT_STATUS='Y' THEN 'Y' ELSE 'N' END
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO
--INSERT INTO MAX_BOX_BARCODE_NO (BOX_BARCODE_NO) VALUES (@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO=LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID=@ITEM_STOCK_ID
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END TRY
BEGIN CATCH
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@macaddress)
SET @BARCODE_NO=DBO.FN_GETSSCC(@extension_cd,@macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,CHECK_YN
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' AND @BOX_TYPE <> '2' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,CASE WHEN @BOX_TYPE = '2' THEN NULL
WHEN RECEIPT_STATUS='Y' THEN 'Y' ELSE 'N' END
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO
--INSERT INTO MAX_BOX_BARCODE_NO (BOX_BARCODE_NO) VALUES (@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO=LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID=@ITEM_STOCK_ID
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END CATCH
SET @IDENTITY = Rtrim(@BARCODE_NO);
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='UPDATE_PACK'
BEGIN
UPDATE gd_packing_result_pack
SET
GS1_BOX_BARCODE_NO = @gs1_box_barcode_no
,update_user_cd = @insert_user_cd
,update_time = getdate()
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND item_stock_id = @item_stock_id
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where @gs1_box_barcode_no = @box_barcode_no AND item_stock_id = @item_stock_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='S_MAKELOTNO'
BEGIN
SELECT b.LOT_NO
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN PACKING_ORDER B ON a.PACKING_ORDER_NO=b.PACKING_ORDER_NO
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_RePacking2
๋ชฉ์ โ ์ฌํฌ์ฅ v2 โ ์ผ์ด์ค ๋จ์ ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@mapping_gs1_barcode | nvarchar(800) | IN |
@mapping_box_type | nvarchar(200) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@stock_qty | decimal(9) | IN |
@message | nvarchar(4000) | OUTPUT |
@packing_order_no | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
@sys_emp_cd | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ์ด์ ๋ฏธ
์ ์ ์ :
SP ๋ช
: SP_RePacking2
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ค ์ฌํฌ์ฅ
์ฌ ์ฉ ์ฒ : RePacking.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_RePacking2]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@gs1_barcode NVARCHAR(400) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(100) = '' --
,@mapping_gs1_barcode NVARCHAR(400) = '' --๋งตํํ ๋ฐ์ฝ๋
,@mapping_box_type NVARCHAR(100) = '' --๋งตํํ ๋ฐ์ฝ๋์ ๋ฐ์คํ์
\
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@stock_qty DECIMAL(15,4) = 0 --์
๊ณ ๋
,@message NVARCHAR(2000) output
,@packing_order_no NVARCHAR(50) = ''
,@s_item_cd NVARCHAR(20) = ''
,@sys_emp_cd nvarchar(50) = ''
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๋ฐ์ฝ๋ ์ ๋ณด
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT A.ITEM_CD AS ITEM_CD
,A.ITEM_NM
,A.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,A.SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,A.SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,A.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
FROM ITEM_STANDARD A
WHERE 1=1
AND A.ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
--AND A.ITEM_GB = 1
END
-- ๋ฐ์ฝ๋ ์ ๋ณด
ELSE IF (@gubun = 'S1') BEGIN
--์ํฌ์ฅ์ ๊ฒฝ์ฐ
-- [๋ถ๊ธฐ] @box_type = '0' ์ธ ๊ฒฝ์ฐ
if (@box_type = '0') BEGIN
SELECT A.PACKING_ORDER_NO
,CASE WHEN B.LOT_NO <> '' THEN B.LOT_NO ELSE B.ETC_NO END LOT_NO
,B.VALID_DATE
,B.LOT_DATE
,B.SALE_ITEM_CD AS ITEM_CD
,C.ITEM_NM
,B.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,C.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,ISNULL(F.SECOND_PACK_TYPE, C.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,ISNULL(F.SECOND_PACK_QT, C.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,ISNULL(F.SECOND_PACK_M_QT, C.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,ISNULL(F.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(B.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,0 AS PROD_QTY
,0 AS STOCK_QTY
,'' AS BOX_NO
,'' AS MAPPING_YN
FROM MARKING_ORDER A
LEFT OUTER JOIN PACKING_ORDER B ON A.PACKING_ORDER_NO = B.PACKING_ORDER_NO
INNER JOIN ITEM_STANDARD C ON B.SALE_ITEM_CD = C.ITEM_CD
--LEFT OUTER JOIN PACKING_RESULT E ON B.PACKING_ORDER_NO = E.PACK_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK F ON b.sale_item_cd = f.ITEM_CD and b.LOT_NO = f.lot_no
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
WHERE 1 = 1
AND A.PUBLISH_GS1_128 = @gs1_barcode
AND A.PACKING_ORDER_NO = @packing_order_no
END
ELSE BEGIN
SELECT D.PACKING_ORDER_NO
,CASE WHEN D.LOT_NO <> '' THEN D.LOT_NO ELSE D.ETC_NO END LOT_NO
,D.VALID_DATE
,D.LOT_DATE
,D.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,D.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,B.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,ISNULL(A.SECOND_PACK_TYPE, B.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,ISNULL(A.SECOND_PACK_QT, B.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,ISNULL(A.SECOND_PACK_M_QT, B.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,ISNULL(F.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,CONVERT(int,H.PROD_QTY) AS PROD_QTY
,CONVERT(int,I.STOCK_QTY) AS STOCK_QTY
,H.BOX_BARCODE_NO AS BOX_NO
,CASE WHEN H.MAPPING_GS1_BARCODE IS NULL AND H.MAPPING_BOX_TYPE IS NULL THEN 'N' ELSE 'Y' END AS MAPPING_YN
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT OUTER JOIN PACKING_ORDER D ON A.PACKING_ORDER_NO = D.PACKING_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK F ON A.PACKING_ORDER_NO = F.PACKING_ORDER_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
INNER JOIN GD_PACKING_RESULT_PACK H ON A.ITEM_STOCK_ID = H.ITEM_STOCK_ID
LEFT OUTER JOIN (SELECT ITEM_STOCK_ID, SUM(PROD_QTY) AS STOCK_QTY
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @gs1_barcode
GROUP BY ITEM_STOCK_ID) I ON A.ITEM_STOCK_ID = I.ITEM_STOCK_ID
WHERE H.GS1_BOX_BARCODE_NO = @gs1_barcode
--AND D.PACKING_ORDER_NO = @packing_order_no
END
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ณํฌ์ฅ ์ ํจ์ฑ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
-- ์ผ๋ จ๋ฒํธ๊ฐ ์์ ๊ฒฝ์ฐ ๋๋ฌธ์ ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋ ๊ฐฏ์ ์ถ๊ฐ
DECLARE @PUBLISH_CNT INT,@MAPPING_CNT INT
SELECT @PUBLISH_CNT = SUM(ORDER_QTY)
FROM MARKING_ORDER
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y' AND VISION_YN = 'Y'
SELECT @MAPPING_CNT = SUM(PROD_QTY)
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (@PUBLISH_CNT = 0)
BEGIN
RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(๊ฐ๋ณํฌ์ฅ)' , 16, 1);
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ (๋งตํ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋๊ฐ ์๊ณ , ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋๊ฐ ์์ ๋
IF (ISNULL(@MAPPING_CNT,0) > 0 AND ISNULL(@PUBLISH_CNT,0) = ISNULL(@MAPPING_CNT,0))
BEGIN
RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋ฐํ์ฌ๋ถ
-- [๋ถ๊ธฐ] @gubun = 'S3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S3') BEGIN
IF (select COUNT(*)
from gd_packing_result_pack a
LEFT OUTER JOIN gd_item_stock b ON(a.ITEM_STOCK_ID = b.ITEM_STOCK_ID)
where a.GS1_BOX_BARCODE_NO = @gs1_barcode and b.RECEIPT_STATUS ='Y' AND a.STOCK_QTY = 0) <> 0
BEGIN
RAISERROR ('์ถ๊ณ ๋ ์ ํ์
๋๋ค.', 16, 1);
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode) = 0
BEGIN
RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)' , 16, 1);
END
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
--IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
-- WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
-- AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
--BEGIN
-- RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
--END
-- ๋ผ๋ฒจ ์ ๋ฐํ์ธ ๊ฒฝ์ฐ, ์
๊ณ ์๋ง๋ค ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
DECLARE @_prod_qty DECIMAL(15,4)
,@_pre_issued NVARCHAR(10)
SELECT @_prod_qty = ISNULL(PROD_QTY,0)
,@_pre_issued = B.PRE_LABEL_ISSUE_YN
FROM GD_PACKING_RESULT_PACK A
INNER JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
IF (@_pre_issued = 'Y' AND @_prod_qty < @stock_qty )
BEGIN
RAISERROR ('์
๊ณ ๊ฐ๋ฅ์๋์ ์ด๊ณผํ์์ต๋๋ค.', 16, 1);
END
END
-- ๋ฌผ๋ฅํฌ์ฅ ์ ํจ์ฑ ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S4' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S4') BEGIN
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
ELSE
SET @message = 'N';
-- ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @message = 'Y';
END
ELSE
SET @message = 'N';
END
-- ํ์ฌ ์ ํ์ ์
๊ณ ๋ 1์ฐจ์งํจ์ ์๋์ ํ์
-- [๋ถ๊ธฐ] @gubun = 'S5' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S5') BEGIN
--SELECT COUNT(*) AS CNT ,Isnull(sum(PROD_QTY),0)
-- FROM GD_PACKING_RESULT_PACK a
-- LEFT JOIN (SELECT PACKING_ORDER_NO,BOX_BARCODE_NO
-- FROM GD_PACKING_RESULT_ITEM
-- WHERE PACKING_ORDER_NO = @packing_order_no
-- GROUP BY PACKING_ORDER_NO,BOX_BARCODE_NO) b On(a.BOX_BARCODE_NO = b.BOX_BARCODE_NO)
-- WHERE BOX_TYPE = '2'
SELECT COUNT(*) AS CNT ,Isnull(sum(PROD_QTY),0)
FROM GD_PACKING_RESULT_PACK a
LEFT JOIN (SELECT PACKING_ORDER_NO,MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE PACKING_ORDER_NO = @packing_order_no
GROUP BY PACKING_ORDER_NO,MAPPING_GS1_BARCODE) b On(a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
WHERE BOX_TYPE = '1' AND MAPPING_BOX_TYPE = '2'
END
DECLARE @box_barcode CHAR(10) --์งํจ๋ฒํธ
,@item_stock_id INT --์
๊ณ ์ผ๋ จ๋ฒํธ
,@temp_DETAIL_STOCK_ID INT --Auditํ
์ด๋ธ์ ๋ฃ๊ธฐ ์ํ id
-- ๊ฐ๋ณํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U1') BEGIN
SELECT @box_barcode = BOX_BARCODE_NO
,@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
SELECT @temp_detail_stock_id = MAX(DETAIL_STOCK_ID)
FROM GD_PACKING_RESULT_ITEM
IF (@box_barcode IS NOT NULL) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
REFER_TYPE -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,REFER_ID
,ITEM_STOCK_ID
,PACKING_ORDER_NO
,PROD_QTY
,STOCK_QTY
,GS1_BOX_BARCODE_NO
,BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,LOT_NO
,VALID_DATE
,SERIAL_NO
,INSERT_USER_CD
,INSERT_TIME
)
SELECT '0' -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,MARKING_ORDER_ID
,@item_stock_id
,PACKING_ORDER_NO
,@stock_qty
,0
,PUBLISH_GS1_128
,@box_barcode
,@mapping_gs1_barcode
,@mapping_box_type
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,PUBLISH_SERIAL_NO
,@insert_user_cd
,GETDATE()
FROM MARKING_ORDER
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y'
AND VISION_YN = 'Y'
--์ผ๋ จ๋ฒํธ๊ฐ ์๋ ๊ฒฝ์ฐ๋, GS1๋ฐ์ฝ๋๊ฐ ์ค๋ณต์ผ๋ก ์กด์ฌํ๋ฏ๋ก, ์๋์ ๊ฐ์ด ์ถ๊ฐํจ
AND MARKING_ORDER_ID = (SELECT MIN(MARKING_ORDER_ID)
FROM MARKING_ORDER A
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y'
AND VISION_YN = 'Y'
AND NOT EXISTS (SELECT *
FROM GD_PACKING_RESULT_ITEM B
WHERE 1=1
AND A.MARKING_ORDER_ID = B.REFER_ID
AND B.REFER_TYPE = '0') )
SELECT @intErrorCode = @@ERROR
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_ITEM WHERE DETAIL_STOCK_ID > @temp_detail_stock_id
AND DETAIL_STOCK_ID <= @@IDENTITY
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U2') BEGIN
UPDATE GD_PACKING_RESULT_PACK SET
PROD_QTY = PROD_QTY - (SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode)
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode)
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
UPDATE A SET
A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,A.MAPPING_BOX_TYPE = @mapping_box_type
,A.UPDATE_TIME = GETDATE()
,A.UPDATE_USER_CD = @update_user_cd
FROM GD_PACKING_RESULT_PACK A
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--AND ISNULL(MAPPING_GS1_BARCODE,'') = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ MES์์ ๊ฐ์ ธ์์ ๋ฐํ์๋ ์
๋ฐ์ดํธ
-- [๋ถ๊ธฐ] @gubun = 'U3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U3') BEGIN
--๊ธฐ์กด ๋ฐ์ดํฐ ์ญ์
IF(@intErrorCode = 0)
BEGIN
-- [์ญ์ ] RTEGMS_CHODANG_TEMP
DELETE FROM RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
SELECT @intErrorCode = @@error
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] RTEGMS_CHODANG_TEMP
INSERT INTO RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
(
pack_order_no,
item_nm,
item_cd,
packing_date,
packing_qty,
receipt_status,
item_make_nm,
lot_no,
start_date,
test_no,
doc_no,
order_no,
order_proc_id,
packing_result_id,
receiver_time
)
SELECT a.pack_order_no,
b.item_nm,
b.item_cd,
a.packing_date,
a.packing_qty,
a.receipt_status,
e.item_nm as item_make_nm,
c.lot_no,
isnull(c.start_date, c.planned_date) as start_date,
f.test_no,
a.doc_no,
a.order_no,
a.order_proc_id,
a.packing_result_id,
convert(char(10), a.receiver_time, 121) as receiver_time
FROM RTEPMS_CHODANG.DBO.packing_result a
join RTEPMS_CHODANG.DBO.v_item_standard b on a.item_cd = b.item_cd
left outer join RTEPMS_CHODANG.DBO.work_order c on a.order_no = c.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard e on c.item_cd = e.item_cd
left outer join RTEPMS_CHODANG.DBO.testcontrol f on a.end_testcontrol_id = f.testcontrol_id
WHERE receipt_status = 1
AND a.issue_time2 between @s_sdate and convert(datetime, @S_edate) + 1
ORDER BY a.issue_time2
END
--๋ฏธํฌํจ์ธ ๊ฒฝ์ฐ๋ง ๋ํ๋ผ๋ฒจ์
๊ณ (ํฌ์ฅ์ง์ ํญ) ๋ฐํ์๋ ์
๋ฐ์ดํธ
IF(@intErrorCode = 0)
BEGIN
UPDATE A SET
A.ORDER_QTY = B.PACKING_QTY
FROM MARKING_ORDER A, RTEGMS_CHODANG_TEMP.DBO.ERP_PACKING_RESULT B
WHERE A.PACKING_ORDER_NO = B.PACK_ORDER_NO
AND A.SERIAL_YN = 'N'
--NOT EXISTS ( SELECT 1 FROM ma_department b WHERE a.dept_cd = b.dept_cd)
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'STOCK_S') -- ๋ฑ๋ก๋ ์
๊ณ ID ์ทจ๋
BEGIN
--SELECT ITEM_STOCK_ID
--FROM GD_ITEM_STOCK B
--WHERE PACKING_ORDER_NO = @packing_order_no
-- AND RECEIPT_STATUS = 'N'
SELECT ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
END
ELSE IF @GUBUN='S_ITEM'
BEGIN
SELECT top 1 substring(replace(b.VALID_DATE,'-',''),3,6) as VALID_DATE
, isnull(B.ETC_NO,B.LOT_NO) AS MAKE_LOT_NO
, B.VALID_DATE AS VALID_DATE_LONG
, B.LOT_NO AS LOT_NO
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN PACKING_ORDER B ON a.PACKING_ORDER_NO=b.PACKING_ORDER_NO
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
๋ฐ์ฝ๋ยท์ผ๋ จ๋ฒํธ
GS1 ๋ฐ์ฝ๋ ์์ฑยท๊ฒ์ฆยท์ด๋ ฅ ์ถ์ .
SP_Generate_GS1BarCode
๋ชฉ์ โ GS1 ํ์ค ๋ฐ์ฝ๋ ์ผ๊ด ์์ฑ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@PUBLISH_QTY | decimal(9) | IN |
@PUBLISH_TYPE | nvarchar(200) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ํฉ์๋ก
S P ๋ช
: SP_Generate_GS1BarCode
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: GS1-DataMatrix์ฉ ๋ฐ์ฝ๋ ์์ฑ ํ๋ก์์
ํ
์ด๋ธ : PACKING_ORDER / MARKIN_ORDER / ITEM_STANDARD / PARAMETER / serialdata
๋น ๊ณ :
EXEC SP_Generate_GS1BarCode @GUBUN='I', @PACKING_ORDER_NO='dfsfsf', @PUBLISH_QTY=200,@PUBLISH_TYPE ='Y',@INSERT_USER_CD='RTE'
select * from marking_order
********************************************************************/
CREATE PROCEDURE [dbo].[SP_Generate_GS1BarCode]
@GUBUN NVARCHAR(50) = '' -- ๋ฐ๋์ ์์ด์ผ ํจ
,@PACKING_ORDER_NO NVARCHAR(50) = '' -- ํฌ์ฅ์ง์๋ฒํธ
,@PUBLISH_QTY DECIMAL(15,4) -- ๋ฐํ์๋
,@PUBLISH_TYPE NVARCHAR(100) -- ๋ฐํ๊ตฌ๋ถ(RT040)
,@INSERT_USER_CD nvarchar(50) = ''
AS
DECLARE @PREFIX VARCHAR(10) -- ์์ ๊ณ ์ ๋ฌธ์์ด
,@MIDFIX NVARCHAR(20) -- ์ค๊ฐ ๊ณ ์ ๋ฌธ์์ด
,@SERIAL_WIDTH INT -- ์ผ๋ จ๋ฒํธ์ ์๋ฆฟ์
,@BODY_TYPE NVARCHAR(10) -- ์ผ๋ จ๋ฒํธ ๋ฐํํ์
,@MAX_SERIAL INT -- ๋ฐํ๋ ์ต๋ ์ผ๋ จ๋ฒํธ
,@DATETIME DATETIME -- ํ์ฌ์๊ฐ
,@SALE_ITEM_CD NVARCHAR(100) -- ํ๋งค์ ํ์ฝ๋
,@VALID_DATE NVARCHAR(20) -- ์ ํจ๊ธฐํ
,@LOT_NO NVARCHAR(100) -- ์์ฒญ๋กํธ๋ฒํธ
,@ORG_LOT_NO NVARCHAR(100) -- ์ ์กฐ๋กํธ๋ฒํธ
,@SERIAL_YN NVARCHAR(100) -- ์๋ฆฌ์ผ ํฌํจ์ฌ๋ถ
,@TEMP NVARCHAR(100) -- ์์๋ณ์
,@GTIN_CODE NVARCHAR(20) -- GTIN_CODE
,@GS1_VALID_DATE NVARCHAR(8) -- GS1-128ํ๊ธฐ ์ ํต์ผ์
,@GS1_CODE NVARCHAR(100) --
,@PACKING_ORDER_REC INT
,@PACKING_ORDER_TYPE NVARCHAR(10)
IF @GUBUN = 'I'
BEGIN
/******************************************************************
#1.ํ์์ ๋ณด ์์ง
******************************************************************/
--์ฌ์ฉ๊ธฐํ, ๋กํธ๋ฒํธ, ์ ํ์ฝ๋ ์์ง
SELECT @SALE_ITEM_CD = A.SALE_ITEM_CD
,@VALID_DATE = A.VALID_DATE
,@LOT_NO = CASE WHEN Isnull(B.ITEM_GB,'1') = '2' THEN A.ETC_NO ELSE A.LOT_NO END
,@ORG_LOT_NO = A.LOT_NO
,@SERIAL_YN = A.SERIAL_YN
FROM PACKING_ORDER A, ITEM_STANDARD B
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.SALE_ITEM_CD = B.ITEM_CD
SELECT @GS1_VALID_DATE = CONVERT(NVARCHAR(8),CONVERT(DATETIME,@VALID_DATE),12)
-- ํ์ฌ ๋ ์ง ์
ํ
SET @DATETIME = GETDATE()
--์ ํ์ฝ๋/๋กํธ๋ฒํธ/์ ํจ๊ธฐํ ๋์ผํ ๋ผ๋ฒจ๋ฐํ์ ๋ณด์ MAX๊ฐ ์ถ์ถ
SELECT @MAX_SERIAL = ISNULL(MAX(SERIAL_NO),0)
FROM MARKING_ORDER
WHERE 1=1
AND SALE_ITEM_CD = @SALE_ITEM_CD
--AND PUBLISH_LOT_NO = @LOT_NO
AND LOT_NO = @LOT_NO
AND PUBLISH_VALID_DATE = @VALID_DATE
--GTIN-13 ์์ง
SELECT @GTIN_CODE = ITEM_PACK_BARCODE
FROM ITEM_STANDARD
WHERE 1=1
AND ITEM_CD = @SALE_ITEM_CD
--AND ITEM_GB = 1
--------------------------------------------
--์ ํจ์ฑ ๊ฒ์ฆ
--------------------------------------------
--ํฌ์ฅ์ง์์๋์ด ์ ํจํ์ง ์์ต๋๋ค.
IF @PUBLISH_QTY = 0
RAISERROR ('์ง์์๋์ด ์ ํจํ์ง ์์ต๋๋ค.' , 16, 1);
--GTIN_CODE ์ค์ ์ฌ๋ถ
IF @GTIN_CODE IS NULL OR @GTIN_CODE = '' OR LEN(@GTIN_CODE) <> 13
RAISERROR ('ํฌ์ฅ์ ํ์ ํ์ค ๋ฐ์ฝ๋๊ฐ ์ ํจํ์ง ์์ต๋๋ค. ' , 16, 1);
--์ต๋์ ํต์ผ์
IF LEN(@GS1_VALID_DATE) <> 6
RAISERROR ('์ฌ์ฉ๊ธฐํ(๋๋ ์ ํจ๊ธฐํ)์ ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.' , 16, 1);
--๋กํธ๋ฒํธ
IF LEN(@LOT_NO) > 20 OR LEN(@LOT_NO) =0
RAISERROR ('์ ์กฐ๋ฒํธ๊ฐ ์ ํจํ์ง ์์ต๋๋ค.' , 16, 1);
/******************************************************************
#2.๋ฐ์ฝ๋ ์์ฑ
******************************************************************/
--===============================================
--1. ์ผ๋ จ๋ฒํธ ํฌํจ์ธ ๋ฐ์ฝ๋์ธ ๊ฒฝ์ฐ์ ์์ฑ๋ก์ง
--===============================================
-- [๋ถ๊ธฐ] @SERIAL_YN = 'Y' ์ธ ๊ฒฝ์ฐ
IF (@SERIAL_YN = 'Y') BEGIN
--------------------------------------------
--์ ๋ณด ์์ง
--------------------------------------------
--ํ๋ผ๋ฏธํฐ์์ prefix ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.(๋ฌธ์๊ด๋ฆฌ๋ฒํธ)
SELECT @TEMP = parameter_value
FROM cm_parameter
WHERE parameter_code = 'GS1-128_SERIAL_FORM'
--์ผ๋ จ๋ฒํธ์ ์์๊ณ ์ ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.
SELECT @PREFIX = SUBSTRING(@TEMP,0,CHARINDEX('_',@TEMP))
--์ผ๋ จ๋ฒํธ์ BODYํ์
์ ๊ฐ์ ธ์จ๋ค.
SELECT @body_type = SUBSTRING(@TEMP, LEN(@PREFIX) + 2,LEN(@TEMP))
-- ์ผ๋ จ๋ฒํธ์ BODYํ์
๋ณ๋ก ์ค๊ฐ ๊ณ ์ ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.
-- Bํ์
yyyyMMdd, Cํ์
yyyyMM, Dํ์
yyMM , ๊ทธ์ธ ๊ณต๋ฐฑ
SELECT @MIDFIX = CASE WHEN @body_type like 'B%' THEN convert(VARCHAR(8), @datetime, 112)
WHEN @body_type like 'C%' THEN convert(varchar(6), @datetime, 112)
WHEN @body_type like 'D%' THEN substring(convert(varchar(6), @datetime, 112),3,2) + right(convert(varchar(6), @datetime, 112),2)
ELSE '' END
-- ์ผ๋ จ๋ฒํธ ๋ฐ์ดํฐ ๊ธธ์ด๋ฅผ ๊ฐ์ ธ์จ๋ค.
SELECT @SERIAL_WIDTH = CASE WHEN ISNUMERIC(SUBSTRING(@body_type,2,LEN(@body_type))) = 1 THEN SUBSTRING(@body_type,2,LEN(@body_type))
ELSE 20-LEN(@PREFIX + @MIDFIX) END
--------------------------------------------
--์ ํจ์ฑ ๊ฒ์ฆ
--------------------------------------------
--Prefix, midfix๋ฅผ ํฌํจํ ์ผ๋ จ๋ฒํธ์ ์์ ์๋ฆฟ์๊ฐ 20์๋ฆฌ๋ฅผ ๋์ ๊ฒฝ์ฐ, ์ผ๋ จ๋ฒํธ ์์ฑํ ์ ์์์ ๋ฆฌํดํ๋ค.
IF @serial_width > (20 - LEN(@PREFIX + @MIDFIX))
RAISERROR ('์ผ๋ จ๋ฒํธ ์ต๋์๋ฆฟ์์ ์ค์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ธ์.' , 16, 1);
--๋์ผํ ์ ํ์ฝ๋ + ์ง์์๋์ด, ์ต๋๊ฐ์ ๋๊ธธ ๊ฒฝ์ฐ, ์ค๋ฅ๋ฅผ ๋ฆฌํดํ๋ค.
IF CONVERT(DECIMAL(20,0),@MAX_SERIAL + @PUBLISH_QTY) > CONVERT(DECIMAL(20,0),REPLICATE('9',@SERIAL_WIDTH))
RAISERROR ('์ผ๋ จ๋ฒํธ ์ต๋๊ฐ์ ๋๊ฒผ์ต๋๋ค.' , 16, 1);
--------------------------------------------
--์ ๋ณด ์์ง
--------------------------------------------
-- ์ ํ์ฝ๋/๋กํธ๋ฒํธ/์ ํจ๊ธฐํ์ด ๋์ผํ ํ์ค๋ฐ์ฝ๋์ MAX ์ผ๋ จ๋ฒํธ๋ฅผ ์ถ์ถํ๋ค.
DECLARE @Len int = 0
,@FixLotNo nvarchar(20) = ''
,@LOT_NO1 nvarchar(20) = ''
SELECT @Len = parameter_value FROM cm_parameter WHERE parameter_code ='LotNo_Maxlen'
IF (Isnull(@Len,0) > 0) BEGIN
SET @LOT_NO1 = SUBSTRING(@LOT_NO,1,@Len)
SET @FixLotNo = REPLACE(@LOT_NO1+SPACE(@Len - len(@LOT_NO1)),' ','0')
END
ELSE BEGIN
SET @FixLotNo = @LOT_NO
END
-- [์ ์ฌ] MARKING_ORDER
INSERT INTO MARKING_ORDER
(
PACKING_ORDER_NO
,PUBLISH_TYPE
,SERIAL_YN
,VISION_YN
,MARKING_YN
,PUBLISH_GS1_128
,PUBLISH_SERIAL_NO
,SALE_ITEM_CD
,PUBLISH_GTIN_CODE
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,SERIAL_NO
,ORDER_QTY
,REMAIN_QTY
,OUTER_INTERFACE
,INSERT_USER_CD
,INSERT_TIME
,LOT_NO )
SELECT @PACKING_ORDER_NO AS PACKING_ORDER_NO
,@PUBLISH_TYPE AS PUBLISH_TYPE
,@SERIAL_YN AS SERIAL_YN
,'N' AS VISION_YN
,'N' AS MARKING_YN
,dbo.[fn_GetGS1Barcode]('0'+ @GTIN_CODE,@GS1_VALID_DATE,@LOT_NO,REPLICATE('0',@SERIAL_WIDTH - LEN(id + @MAX_SERIAL)) + CONVERT(nvarchar(max),id + @MAX_SERIAL),'','') AS PUBLISH_GS1_128
,@FixLotNo+REPLICATE('0',@SERIAL_WIDTH - LEN(id + @MAX_SERIAL)) + CONVERT(nvarchar(max),id + @MAX_SERIAL) AS GS1_128_SEQ
,@SALE_ITEM_CD AS SALE_ITEM_CD
,@GTIN_CODE AS GTIN_CODE
,@LOT_NO AS LOT_NO
,@VALID_DATE AS VALID_DATE
,id + @MAX_SERIAL AS SERIAL_NO
,1 AS ORDER_QTY
,0 AS REMAIN_QTY
,'' AS OUTER_INTERFACE
,@INSERT_USER_CD
,GETDATE()
,@ORG_LOT_NO
FROM serialdata
WHERE id <= @PUBLISH_QTY
END
--===============================================
--2. ์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ์ธ ๋ฐ์ฝ๋์ธ ๊ฒฝ์ฐ์ ์์ฑ๋ก์ง
--===============================================
ELSE
BEGIN
-- [์ ์ฌ] MARKING_ORDER
INSERT INTO MARKING_ORDER
( PACKING_ORDER_NO
,PUBLISH_TYPE
,SERIAL_YN
,VISION_YN
,MARKING_YN
,PUBLISH_GS1_128
,SALE_ITEM_CD
,PUBLISH_GTIN_CODE
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,SERIAL_NO
,ORDER_QTY
,REMAIN_QTY
,OUTER_INTERFACE
,INSERT_USER_CD
,INSERT_TIME
,LOT_NO )
SELECT @PACKING_ORDER_NO AS PACKING_ORDER_NO
,@PUBLISH_TYPE AS PUBLISH_TYPE
,@SERIAL_YN AS SERIAL_YN
,'N' AS VISION_YN
,'N' AS MARKING_YN
,dbo.[fn_GetGS1Barcode]('0'+ @GTIN_CODE,@GS1_VALID_DATE,@LOT_NO,'','','') AS PUBLISH_GS1_128
,@SALE_ITEM_CD AS SALE_ITEM_CD
,@GTIN_CODE AS GTIN_CODE
,@LOT_NO AS LOT_NO
,@VALID_DATE AS VALID_DATE
,@MAX_SERIAL + 1
,@PUBLISH_QTY AS ORDER_QTY
,0 AS REMAIN_QTY
,'' AS OUTER_INTERFACE
,@INSERT_USER_CD
,GETDATE()
,@ORG_LOT_NO
END
END
SP_Generate_GS1BarCode_ReMark
๋ชฉ์ โ ์ฌ๋งํน์ฉ GS1 ๋ฐ์ฝ๋ ์์ฑ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@PUBLISH_QTY | decimal(9) | IN |
@PUBLISH_TYPE | nvarchar(200) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@SERIAL_NO | int(4) | IN |
@MARKING_ORDER_ID | int(4) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ๊น์ฌ์
S P ๋ช
: SP_Generate_GS1BarCode_ReMark
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ๋ฐ์ฝ๋ ์ฌ์์ฑ ํ๋ก์์
ํ
์ด๋ธ : PACKING_ORDER / MARKIN_ORDER / ITEM_STANDARD / PARAMETER / serialdata
๋น ๊ณ :
EXEC SP_Generate_GS1BarCode @GUBUN='I', @PACKING_ORDER_NO='dfsfsf', @PUBLISH_QTY=200,@PUBLISH_TYPE ='Y',@INSERT_USER_CD='RTE'
select * from marking_order
********************************************************************/
CREATE PROCEDURE [dbo].[SP_Generate_GS1BarCode_ReMark]
@GUBUN NVARCHAR(50) = '' -- ๋ฐ๋์ ์์ด์ผ ํจ
,@PACKING_ORDER_NO NVARCHAR(50) = '' -- ํฌ์ฅ์ง์๋ฒํธ
,@PUBLISH_QTY DECIMAL(15,4) -- ๋ฐํ์๋
,@PUBLISH_TYPE NVARCHAR(100) -- ๋ฐํ๊ตฌ๋ถ(RT040)
,@INSERT_USER_CD nvarchar(50) = '' -- ์
๋ ฅ ์ฌ์ฉ์
,@SERIAL_NO INT = 0 -- ๋ฐํ ์ผ๋ จ๋ฒํธ
,@MARKING_ORDER_ID int = 0 -- ๋ผ๋ฒจ๋ฐํ์ง์
,@message NVARCHAR(2000) output --์๋ฌ ๋ฉ์์ง ์ฒดํฌ
AS
DECLARE @PREFIX VARCHAR(10) -- ์์ ๊ณ ์ ๋ฌธ์์ด
,@MIDFIX NVARCHAR(20) -- ์ค๊ฐ ๊ณ ์ ๋ฌธ์์ด
,@SERIAL_WIDTH INT -- ์ผ๋ จ๋ฒํธ์ ์๋ฆฟ์
,@BODY_TYPE NVARCHAR(10) -- ์ผ๋ จ๋ฒํธ ๋ฐํํ์
,@MAX_SERIAL INT -- ๋ฐํ๋ ์ต๋ ์ผ๋ จ๋ฒํธ
,@DATETIME DATETIME -- ํ์ฌ์๊ฐ
,@SALE_ITEM_CD NVARCHAR(100) -- ํ๋งค์ ํ์ฝ๋
,@VALID_DATE NVARCHAR(20) -- ์ ํจ๊ธฐํ
,@LOT_NO NVARCHAR(100) -- ๋กํธ๋ฒํธ
,@ORG_LOT_NO NVARCHAR(100) -- ์ ์กฐ๋กํธ๋ฒํธ
,@SERIAL_YN NVARCHAR(100) -- ์๋ฆฌ์ผ ํฌํจ์ฌ๋ถ
,@TEMP NVARCHAR(100) -- ์์๋ณ์
,@GTIN_CODE NVARCHAR(20) -- GTIN_CODE
,@GS1_VALID_DATE NVARCHAR(8) -- GS1-128ํ๊ธฐ ์ ํต์ผ์
,@GS1_CODE NVARCHAR(100) --
,@PACKING_ORDER_REC INT
,@PACKING_ORDER_TYPE NVARCHAR(10)
IF @GUBUN = 'U'
BEGIN
DECLARE @DCOUNT INT
SET @DCOUNT = 0
--์ค๋ณต ์๋ฆฌ์ผ๋ฒํธ ์๋์ง ์๋์ง ํ์ธ
SELECT @DCOUNT = COUNT(PUBLISH_GTIN_CODE)
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND SERIAL_NO = @SERIAL_NO
--์ค๋ณต ์ผ๋ จ๋ฒํธ ์์ ๊ฒฝ์ฐ, [๋๊ธฐ] ์ํ๋ก ์ด๊ธฐํ
IF (@DCOUNT > 0)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'N',
VISION_YN = 'N'
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND SERIAL_NO = @SERIAL_NO
END
-- ์ฌ๋ฐํํ ๋ผ๋ฒจ์ ๋งํน์ฌ๋ถ์ ์ํ๊ฐ์ "๋ฐํ"-> "์ทจ์"์ผ๋ก ๊ฐฑ์ ํ๋ค.
ELSE IF (@DCOUNT = 0)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'R'
,MARKING_TIME = GETDATE()
WHERE MARKING_ORDER_ID = @MARKING_ORDER_ID
AND MARKING_YN = 'Y' and VISION_YN = 'N'
END
END
IF @GUBUN = 'I'
BEGIN
/******************************************************************
#1.ํ์์ ๋ณด ์์ง
******************************************************************/
--์ฌ์ฉ๊ธฐํ, ๋กํธ๋ฒํธ, ์ ํ์ฝ๋ ์์ง
SELECT @SALE_ITEM_CD = A.SALE_ITEM_CD
,@VALID_DATE = A.VALID_DATE
,@LOT_NO = CASE WHEN Isnull(B.ITEM_GB,'1') = '2' THEN A.ETC_NO ELSE A.LOT_NO END
,@ORG_LOT_NO = A.LOT_NO
,@SERIAL_YN = A.SERIAL_YN
FROM PACKING_ORDER A, ITEM_STANDARD B
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.SALE_ITEM_CD = B.ITEM_CD
SELECT @GS1_VALID_DATE = CONVERT(NVARCHAR(8),CONVERT(DATETIME,@VALID_DATE),12)
-- ํ์ฌ ๋ ์ง ์
ํ
SET @DATETIME = GETDATE()
--์ ํ์ฝ๋/๋กํธ๋ฒํธ/์ ํจ๊ธฐํ ๋์ผํ ๋ผ๋ฒจ๋ฐํ์ ๋ณด์ MAX๊ฐ ์ถ์ถ
--์ฌ๋ฐํ์ ์ํ๋ ๋ฒํธ๋ถํฐ ์๋๋งํผ ๋ฐํ์ผ๋ก ๋ณ๊ฒฝ -2013.11.15 ๊น์ฌ์
--SELECT @MAX_SERIAL = ISNULL(MAX(SERIAL_NO),0)
--FROM MARKING_ORDER
--WHERE 1=1
-- AND SALE_ITEM_CD = @SALE_ITEM_CD
-- AND PUBLISH_LOT_NO = @LOT_NO
-- AND PUBLISH_VALID_DATE = @VALID_DATE
--GTIN-13 ์์ง
SELECT @GTIN_CODE = ITEM_PACK_BARCODE
FROM ITEM_STANDARD
WHERE 1=1
AND ITEM_CD = @SALE_ITEM_CD
--AND ITEM_GB = 1
--------------------------------------------
--์ ํจ์ฑ ๊ฒ์ฆ
--------------------------------------------
--ํฌ์ฅ์ง์์๋์ด ์ ํจํ์ง ์์ต๋๋ค.
IF @PUBLISH_QTY = 0
RAISERROR ('์ง์์๋์ด ์ ํจํ์ง ์์ต๋๋ค.' , 16, 1);
--GTIN_CODE ์ค์ ์ฌ๋ถ
IF @GTIN_CODE IS NULL OR @GTIN_CODE = '' OR LEN(@GTIN_CODE) <> 13
RAISERROR ('ํฌ์ฅ์ ํ์ ํ์ค ๋ฐ์ฝ๋๊ฐ ์ ํจํ์ง ์์ต๋๋ค. ' , 16, 1);
--์ต๋์ ํต์ผ์
IF LEN(@GS1_VALID_DATE) <> 6
RAISERROR ('์ฌ์ฉ๊ธฐํ(๋๋ ์ ํจ๊ธฐํ)์ ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค.' , 16, 1);
--๋กํธ๋ฒํธ
IF LEN(@LOT_NO) > 20 OR LEN(@LOT_NO) =0
RAISERROR ('์ ์กฐ๋ฒํธ๊ฐ ์ ํจํ์ง ์์ต๋๋ค.' , 16, 1);
/******************************************************************
#2.๋ฐ์ฝ๋ ์์ฑ
******************************************************************/
--===============================================
--1. ์ผ๋ จ๋ฒํธ ํฌํจ์ธ ๋ฐ์ฝ๋์ธ ๊ฒฝ์ฐ์ ์์ฑ๋ก์ง
--===============================================
-- [๋ถ๊ธฐ] @SERIAL_YN = 'Y' ์ธ ๊ฒฝ์ฐ
IF (@SERIAL_YN = 'Y') BEGIN
--------------------------------------------
--์ ๋ณด ์์ง
--------------------------------------------
--ํ๋ผ๋ฏธํฐ์์ prefix ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.(๋ฌธ์๊ด๋ฆฌ๋ฒํธ)
SELECT @TEMP = parameter_value
FROM cm_parameter
WHERE parameter_code = 'GS1-128_SERIAL_FORM'
--์ผ๋ จ๋ฒํธ์ ์์๊ณ ์ ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.
SELECT @PREFIX = SUBSTRING(@TEMP,0,CHARINDEX('_',@TEMP))
--์ผ๋ จ๋ฒํธ์ BODYํ์
์ ๊ฐ์ ธ์จ๋ค.
SELECT @body_type = SUBSTRING(@TEMP, LEN(@PREFIX) + 2,LEN(@TEMP))
-- ์ผ๋ จ๋ฒํธ์ BODYํ์
๋ณ๋ก ์ค๊ฐ ๊ณ ์ ๋ฌธ์์ด์ ๊ฐ์ ธ์จ๋ค.
-- Bํ์
yyyyMMdd, Cํ์
yyyyMM, Dํ์
yyMM , ๊ทธ์ธ ๊ณต๋ฐฑ
SELECT @MIDFIX = CASE WHEN @body_type like 'B%' THEN convert(VARCHAR(8), @datetime, 112)
WHEN @body_type like 'C%' THEN convert(varchar(6), @datetime, 112)
WHEN @body_type like 'D%' THEN substring(convert(varchar(6), @datetime, 112),3,2) + right(convert(varchar(6), @datetime, 112),2)
ELSE '' END
-- ์ผ๋ จ๋ฒํธ ๋ฐ์ดํฐ ๊ธธ์ด๋ฅผ ๊ฐ์ ธ์จ๋ค.
SELECT @SERIAL_WIDTH = CASE WHEN ISNUMERIC(SUBSTRING(@body_type,2,LEN(@body_type))) = 1 THEN SUBSTRING(@body_type,2,LEN(@body_type))
ELSE 20-LEN(@PREFIX + @MIDFIX) END
--------------------------------------------
--์ ํจ์ฑ ๊ฒ์ฆ
--------------------------------------------
--Prefix, midfix๋ฅผ ํฌํจํ ์ผ๋ จ๋ฒํธ์ ์์ ์๋ฆฟ์๊ฐ 20์๋ฆฌ๋ฅผ ๋์ ๊ฒฝ์ฐ, ์ผ๋ จ๋ฒํธ ์์ฑํ ์ ์์์ ๋ฆฌํดํ๋ค.
IF @serial_width > (20 - LEN(@PREFIX + @MIDFIX))
RAISERROR ('์ผ๋ จ๋ฒํธ ์ต๋์๋ฆฟ์์ ์ค์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ์ธ์.' , 16, 1);
--๋์ผํ ์ ํ์ฝ๋ + ์ง์์๋์ด, ์ต๋๊ฐ์ ๋๊ธธ ๊ฒฝ์ฐ, ์ค๋ฅ๋ฅผ ๋ฆฌํดํ๋ค.
IF CONVERT(DECIMAL(20,0),@SERIAL_NO + @PUBLISH_QTY) > CONVERT(DECIMAL(20,0),REPLICATE('9',@SERIAL_WIDTH))
RAISERROR ('์ผ๋ จ๋ฒํธ ์ต๋๊ฐ์ ๋๊ฒผ์ต๋๋ค.' , 16, 1);
--------------------------------------------
--์ ๋ณด ์์ง
--------------------------------------------
-- ์ ํ์ฝ๋/๋กํธ๋ฒํธ/์ ํจ๊ธฐํ์ด ๋์ผํ ํ์ค๋ฐ์ฝ๋์ MAX ์ผ๋ จ๋ฒํธ๋ฅผ ์ถ์ถํ๋ค.
DECLARE @Len int = 0
,@FixLotNo nvarchar(20) = ''
,@LOT_NO1 nvarchar(20) = ''
SELECT @Len = parameter_value FROM cm_parameter WHERE parameter_code ='LotNo_Maxlen'
IF (Isnull(@Len,0) > 0) BEGIN
SET @LOT_NO1 = SUBSTRING(@LOT_NO,1,@Len)
SET @FixLotNo = REPLACE(@LOT_NO1+SPACE(@Len - len(@LOT_NO1)),' ','0')
END
ELSE BEGIN
SET @FixLotNo = @LOT_NO
END
-- [์ ์ฌ] MARKING_ORDER
INSERT INTO MARKING_ORDER
(
PACKING_ORDER_NO
,PUBLISH_TYPE
,SERIAL_YN
,VISION_YN
,MARKING_YN
,PUBLISH_GS1_128
,PUBLISH_SERIAL_NO
,SALE_ITEM_CD
,PUBLISH_GTIN_CODE
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,SERIAL_NO
,ORDER_QTY
,REMAIN_QTY
,OUTER_INTERFACE
,INSERT_USER_CD
,INSERT_TIME
,LOT_NO )
SELECT @PACKING_ORDER_NO AS PACKING_ORDER_NO
,@PUBLISH_TYPE AS PUBLISH_TYPE
,@SERIAL_YN AS SERIAL_YN
,'N' AS VISION_YN
,'N' AS MARKING_YN
,dbo.[fn_GetGS1Barcode]('0'+ @GTIN_CODE,@GS1_VALID_DATE,@LOT_NO,REPLICATE('0',@SERIAL_WIDTH - LEN(id + @SERIAL_NO)) + CONVERT(nvarchar(max),id + @SERIAL_NO),'','') AS PUBLISH_GS1_128
,@FixLotNo+REPLICATE('0',@SERIAL_WIDTH - LEN(id + @SERIAL_NO)) + CONVERT(nvarchar(max),id + @SERIAL_NO) AS GS1_128_SEQ
,@SALE_ITEM_CD AS ITEM_CD
,@GTIN_CODE AS GTIN_CODE
,@LOT_NO AS LOT_NO
,@VALID_DATE AS VALID_DATE
,id + @SERIAL_NO AS SERIAL_NO
,1 AS ORDER_QTY
,0 AS REMAIN_QTY
,'' AS OUTER_INTERFACE
,@INSERT_USER_CD
,GETDATE()
,@ORG_LOT_NO
FROM serialdata
WHERE id <= @PUBLISH_QTY
END
--===============================================
--2. ์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ์ธ ๋ฐ์ฝ๋์ธ ๊ฒฝ์ฐ์ ์์ฑ๋ก์ง
--===============================================
ELSE
BEGIN
-- [์ ์ฌ] MARKING_ORDER
INSERT INTO MARKING_ORDER
( PACKING_ORDER_NO
,PUBLISH_TYPE
,SERIAL_YN
,VISION_YN
,MARKING_YN
,PUBLISH_GS1_128
,SALE_ITEM_CD
,PUBLISH_GTIN_CODE
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,SERIAL_NO
,ORDER_QTY
,REMAIN_QTY
,OUTER_INTERFACE
,INSERT_USER_CD
,INSERT_TIME
,LOT_NO)
SELECT @PACKING_ORDER_NO AS PACKING_ORDER_NO
,@PUBLISH_TYPE AS PUBLISH_TYPE
,@SERIAL_YN AS SERIAL_YN
,'N' AS VISION_YN
,'N' AS MARKING_YN
,dbo.[fn_GetGS1Barcode]('0'+ @GTIN_CODE,@GS1_VALID_DATE,@LOT_NO,'','','') AS PUBLISH_GS1_128
,@SALE_ITEM_CD AS ITEM_CD
,@GTIN_CODE AS GTIN_CODE
,@LOT_NO AS LOT_NO
,@VALID_DATE AS VALID_DATE
,@SERIAL_NO + 1
,@PUBLISH_QTY AS ORDER_QTY
,0 AS REMAIN_QTY
,'' AS OUTER_INTERFACE
,@INSERT_USER_CD
,GETDATE()
,@ORG_LOT_NO
END
END
SP_ItemBarcodeCheck
๋ชฉ์ โ ๋ฐ์ฝ๋ ์ ํจ์ฑยท์ค๋ณตยท์ผ๋ จ๋ฒํธ ๊ฒ์ฆ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(20) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.11.15)
์ ์ ์ : ๊น์ ์
(2014.07.11)
SP ๋ช
: SP_ItemBarcodeCheck
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ฝ๋ ์ ๋ณด ์กฐํ
์ฌ ์ฉ ์ฒ : ItemBarcodeCheck.cs
ํ
์ด ๋ธ : marking_order, ITEM_STANDARD, GD_ITEM_STOCK, GD_PACKING_RESULT_ITEM, GD_PACKING_RESULT_PACK
๋น ๊ณ : ๋ฐ์ฝ๋ ์ ๋ณด๋ฅผ ์กฐํํ์ฌ ์ ์์ ์ผ๋ก ๋ฐํ๋ ๋ด์ญ์ธ์ง ํ์ธ.
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemBarcodeCheck]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@box_type nvarchar(10) = '', --๋ฐ์คํ์
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ๋ฐ์ฝ๋์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์กฐํ - 13,14์๋ฆฌ ๋ฐ์ฝ๋ ์ ์ธํ ๋ฐ์ฝ๋ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
IF(@box_type=0) BEGIN
SELECT top 1 A.ITEM_NM + ' ' + A.ITEM_PACKUNIT2 AS ITEM_NM
,A.ITEM_PACK_BARCODE
,B.PUBLISH_VALID_DATE as VALID_DATE
,CASE WHEN Isnull(A.ITEM_GB,'') = '2' THEN B.PUBLISH_LOT_NO ELSE B.LOT_NO END AS LOT_NO
,isnull(B.PUBLISH_SERIAL_NO,'') AS SERIAL_NO
,PUBLISH_GS1_128 AS GS128
FROM ITEM_STANDARD A LEFT JOIN MARKING_ORDER B ON A.ITEM_PACK_BARCODE = B.PUBLISH_GTIN_CODE
WHERE B.PUBLISH_GS1_128 = @gs1_barcode
--SELECT A.ITEM_NM + ' ' + A.ITEM_PACKUNIT2 AS ITEM_NM
-- ,A.ITEM_PACK_BARCODE
-- ,C.VALID_DATE
-- ,C.LOT_NO
-- ,C.SERIAL_NO
--FROM ITEM_STANDARD A LEFT JOIN GD_ITEM_STOCK B ON a.ITEM_CD=b.ITEM_CD
-- LEFT JOIN GD_PACKING_RESULT_ITEM C ON B.ITEM_STOCK_ID = C.ITEM_STOCK_ID
--WHERE C.GS1_BOX_BARCODE_NO = @gs1_barcode
--WHERE C.GS1_BOX_BARCODE_NO = '0108806707001225171406301014007โจGSโฉ2114007000025' OR D.PUBLISH_GS1_128 = '0108806707001225171406301014007โจGSโฉ2114007000025'
-- select * from marking_order
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@box_type=1) BEGIN
SELECT TOP 1 A.ITEM_NM + ' ' + A.ITEM_PACKUNIT2 AS ITEM_NM
,A.ITEM_PACK_BARCODE
,C.VALID_DATE
,CASE WHEN Isnull(A.ITEM_GB,'') = '2' THEN D.ETC_NO ELSE C.LOT_NO END AS LOT_NO
,'' AS SERIAL_NO
FROM ITEM_STANDARD A
INNER JOIN GD_ITEM_STOCK B ON a.ITEM_CD=b.ITEM_CD
INNER JOIN GD_PACKING_RESULT_ITEM C ON B.ITEM_STOCK_ID = C.ITEM_STOCK_ID
INNER JOIN PACKING_ORDER D ON D.PACKING_ORDER_NO = C.PACKING_ORDER_NO
WHERE C.MAPPING_GS1_BARCODE = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@box_type=2) BEGIN
SELECT TOP 1 A.ITEM_NM + ' ' + A.ITEM_PACKUNIT2 AS ITEM_NM
,A.ITEM_PACK_BARCODE
,C.VALID_DATE
,CASE WHEN Isnull(A.ITEM_GB,'') = '2' THEN E.ETC_NO ELSE C.LOT_NO END AS LOT_NO
,'' AS SERIAL_NO
FROM ITEM_STANDARD A INNER JOIN GD_ITEM_STOCK B ON a.ITEM_CD=b.ITEM_CD
INNER JOIN GD_PACKING_RESULT_ITEM C ON B.ITEM_STOCK_ID = C.ITEM_STOCK_ID
INNER JOIN GD_PACKING_RESULT_PACK D ON C.MAPPING_GS1_BARCODE = D.GS1_BOX_BARCODE_NO
INNER JOIN PACKING_ORDER E ON E.PACKING_ORDER_NO = C.PACKING_ORDER_NO
WHERE D.MAPPING_GS1_BARCODE = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
END
-- ๋ฐ์ฝ๋์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์กฐํ - 13,14์๋ฆฌ ๋ฐ์ฝ๋ ์กฐํ์ฉ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
SELECT top 1 A.ITEM_NM + ' ' + A.ITEM_PACKUNIT2 AS ITEM_NM
,A.ITEM_PACK_BARCODE
FROM ITEM_STANDARD A
WHERE A.ITEM_PACK_BARCODE = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemBarcodeTrace
๋ชฉ์ โ ๋ฐ์ฝ๋ ์ด๋ ฅ ์ถ์ (์์ฑโํฌ์ฅโ์ถ๊ณ โ๋ฐํ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@gtin13 | nvarchar(40) | IN |
@packing_order_no | nvarchar(100) | IN |
@default_barcode | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ์ด์ ๋ฏธ(2014.06.05)
์ ์ ์ :
SP ๋ช
: SP_ItemBarcodeTrace
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ฝ๋ ์ ๋ณด ์กฐํ
์ฌ ์ฉ ์ฒ : ItemBarcodeCheck.cs
ํ
์ด ๋ธ : marking_order
๋น ๊ณ : ๋ฐ์ฝ๋ ์ ๋ณด๋ฅผ ์กฐํํ์ฌ ์ ์์ ์ผ๋ก ๋ฐํ๋ ๋ด์ญ์ธ์ง ํ์ธ.
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemBarcodeTrace]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@gtin13 nvarchar(20)= '', --ํ์ค๋ฐ์ฝ๋
@packing_order_no nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@default_barcode nvarchar(50) = '', --ํ์ค๋ฐ์ฝ๋ (20130708 ์ถ๊ฐ)
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ๋ฐ์ฝ๋์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT *
FROM
(SELECT '์ ์กฐ' as state_ck
,b.lot_date as date_two --์ ์กฐ์ผ์
--,case when c.KEEPING_ZONE_CD = '2' then '์ํ' else '' end as detailgubun
, '' as detailgubun
,a.packing_order_no as despatch_order_no
,'' as cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,'' as cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,b.INSERT_TIME as insert_time
,b.UPDATE_TIME as update_time
FROM marking_order a
LEFT OUTER JOIN packing_order b ON (a.packing_order_no = b.packing_order_no)
--LEFT OUTER JOIN ITEM_STANDARD c ON (b.SALE_ITEM_CD = c.ITEM_CD)
WHERE a.publish_gs1_128 = @gs1_barcode -- like '%' + @gs1_barcode + '%'
--AND ISNULL(a.PACKING_ORDER_NO,'') <> ''
UNION ALL
SELECT case when b.REFER_TYPE='0' then '์
๊ณ '
when b.REFER_TYPE='9' then '๊ธฐํ์
๊ณ '
else '' end as state_ck
,isnull(c.receipt_date, '') as date_two
,case when d.ITEM_GB = '3' then '์ํ' else '' end as detailgubun
--, '' as detailgubun
,case when b.REFER_TYPE='0' then a.packing_order_no
when b.REFER_TYPE='9' then convert(varchar,c.item_stock_id)
else '' end as despatch_order_no
,'' as cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,'' as cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,c.INSERT_TIME as insert_time
,c.UPDATE_TIME as update_time
FROM marking_order a
RIGHT OUTER JOIN gd_packing_result_item b ON (a.publish_gs1_128 = b.gs1_box_barcode_no)
LEFT OUTER JOIN gd_item_stock c ON(b.ITEM_STOCK_ID = c.ITEM_STOCK_ID)
LEFT OUTER JOIN ITEM_STANDARD d ON (c.ITEM_CD = d.ITEM_CD)
WHERE b.GS1_BOX_BARCODE_NO = @gs1_barcode -- like '%' + @gs1_barcode + '%'
AND c.RECEIPT_STATUS = 'Y'
and b.PROD_QTY <> '0'
UNION ALL
SELECT '์ถ๊ณ ' as state_ck
, b.ISSUE_DATE as date_two
, common_part_nm as detailgubun
, a.DESPATCH_ORDER_NO AS DESPATCH_ORDER_NO
, a.CUST_CD
, e.cust_nm
, c.INSERT_TIME as insert_time
, c.UPDATE_TIME as update_time
FROM GD_CUST_ISSUE a
LEFT JOIN GD_ITEM_ISSUE b ON a.DESPATCH_ORDER_NO=b.DESPATCH_ORDER_NO
LEFT JOIN GD_ITEM_ISSUE_HISTORY c ON b.ITEM_ISSUE_ID = c.ITEM_ISSUE_ID
LEFT JOIN common d ON (a.ISSUE_GB2 = d.common_part_cd AND d.common_cd = 'GD301')
LEFT JOIN MA_CUSTOMER e ON (a.CUST_CD = e.CUST_CD)
WHERE c.BARCODE = @gs1_barcode
UNION ALL
SELECT '๊ธฐํ์ถ๊ณ ' as state_ck
, OUT_DATE as date_two
--, '' as detailgubun
, b.COMMON_PART_NM as detailgubun
, '' as despatch_order_no
, OUT_CUST_CD as cust_cd
, c.cust_nm
, a.INSERT_TIME as insert_time
, a.UPDATE_TIME as update_time
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY a
LEFT JOIN common b ON (a.OUT_TYPE = b.common_part_cd AND b.common_cd = 'GD301')
LEFT JOIN MA_CUSTOMER c ON (a.OUT_CUST_CD = c.CUST_CD)
WHERE GS1_BARCODE = @gs1_barcode
UNION ALL
SELECT d.common_part_nm as state_ck
, CAST(a.receipt_date as date) as date_two
--, case when a.GUBUN = '1' then '๋ฐํ๋๊ธฐ'
-- when a.GUBUN = '2' then '๋ฐํ์
๊ณ '
-- when a.GUBUN = '3' then '๋ฐํํ๊ธฐ'
-- else '' end as detailgubun
,e.COMMON_PART_NM as detailgubun
, c.DESPATCH_ORDER_NO as despatch_order_no
, c.cust_cd
, f.cust_nm
, a.INSERT_TIME as insert_time
, a.UPDATE_TIME as update_time
FROM RETURN_GOODS a
LEFT OUTER JOIN GD_ITEM_ISSUE b ON (a.ITEM_ISSUE_ID = b.ITEM_ISSUE_ID)
LEFT OUTER JOIN GD_CUST_ISSUE c ON (b.DESPATCH_ORDER_NO=c.DESPATCH_ORDER_NO)
LEFT JOIN common d ON (c.ISSUE_GB2 = d.common_part_cd AND d.common_cd = 'GD301')
LEFT JOIN common e ON (a.GUBUN = e.common_part_cd AND e.common_cd = 'GD502')
LEFT JOIN MA_CUSTOMER f ON (c.CUST_CD = f.CUST_CD)
where a.BARCODE = @gs1_barcode
) z
ORDER BY ISNULL(z.update_time, z.insert_time)
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S2') BEGIN
SELECT a.ITEM_CD, a.ITEM_NM
FROM ITEM_STANDARD a
WHERE a.ITEM_PACK_BARCODE = @gtin13
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
์ฌ๊ณ ยท์ ๊ณ
์ ๊ณ ๋ฑ๋กยท์ฌ๊ณ ์กฐํยท์ยท์ํ ์ ์ถ๊ณ .
SP_ItemConsignIn
๋ชฉ์ โ ์ํ ์ ๊ณ (ํ์ฌ ์ํ) ๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@plant_nm | nvarchar(100) | IN |
@plant_busin_no | nvarchar(100) | IN |
@item_nm | nvarchar(100) | IN |
@item_pack_size | nvarchar(100) | IN |
@issue_qty | int(4) | IN |
@lot_no | nvarchar(40) | IN |
@item_pack_barcode | nvarchar(40) | IN |
@barcode | nvarchar(200) | IN |
@medium_barcode | nvarchar(200) | IN |
@large_barcode | nvarchar(200) | IN |
@valid_date | nvarchar(20) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@receipt_date | nvarchar(20) | IN |
@macaddress | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@id01id17id10 | nvarchar(100) | IN |
@insert_user_cd | nvarchar(40) | IN |
@update_user_cd | nvarchar(40) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.08.05)
์ ์ ์ :
SP ๋ช
: SP_ItemConsignIn
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ํ์ ์ฅ
์ฌ ์ฉ ์ฒ : ItemConsignIn.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemConsignIn]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@plant_nm nvarchar(50) = '', --ํ์ฌ๋ช
@plant_busin_no nvarchar(50) = '', --์ฌ์
์๋ฑ๋ก๋ฒํธ
@item_nm nvarchar(50) = '', --ํ๋ชฉ์ด๋ฆ
@item_pack_size nvarchar(50) = '', --ํ๋ชฉ๋จ์
@issue_qty int = 0, --์๋
@lot_no nvarchar(20) = '', --์ ์กฐ๋ฒํธ
@item_pack_barcode nvarchar(20) = '', --ํ์ค์ฝ๋
@barcode nvarchar(100) = '', --๊ฐ๋ณ ๋ฐ์ฝ๋
@medium_barcode nvarchar(100) = '', --์ค๋ฐ์ค ๋ฐ์ฝ๋
@large_barcode nvarchar(100) = '', --๋ฐ๋ฐ์ค ๋ฐ์ฝ๋
@valid_date nvarchar(10) = '', --์ฌ์ฉ๊ธฐํ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@receipt_date nvarchar(10) = '',
@macaddress nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@item_cd nvarchar(50) = '',
@id01id17id10 nvarchar(50) = '',
@insert_user_cd nvarchar(20) = '',
@update_user_cd nvarchar(20) = '',
@message nvarchar(2000) output
AS
SET NOCOUNT ON
--audittrail์ฉ ๋ณ์
declare @audittrail_id int , @row int
DECLARE @intErrorCode int
SET @intErrorCode = 0
Declare @error_msg nvarchar(200) = ''
-- ์ํ ๋ฐ์ดํฐ : ์์ ํ
์ด๋ธ ์ ์ฅ
-- [๋ถ๊ธฐ] @gubun = 'I' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'I')
BEGIN
-- [์ ์ฌ] GD_ITEM_CONSIGN_IN
INSERT INTO GD_ITEM_CONSIGN_IN
(
BARCODE
,MEDIUM_BARCODE
,LARGE_BARCODE
)
VALUES
(
@barcode
,@medium_barcode
,@large_barcode
)
SELECT @intErrorCode = @@ERROR
END
--์ํ ๋ฐ์ดํฐ : ์์ ํ
์ด๋ธ ์ญ์
ELSE IF (@gubun = 'D')
BEGIN
-- [์ญ์ ] GD_ITEM_CONSIGN_IN
DELETE FROM GD_ITEM_CONSIGN_IN
END
ElSE IF (@gubun = 'C_STOCK')
BEGIN
IF EXISTS (Select gs1_box_barcode_no from GD_PACKING_RESULT_ITEM where gs1_box_barcode_no like @id01id17id10+'%')
select @message = 'EXIST'
ELSE
select @message = 'NOEXIST'
SELECT @intErrorCode = @@ERROR
END
ElSE IF (@gubun = 'C')
BEGIN
-- ์ ์ฅ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF EXISTS (Select gs1_box_barcode_no from gd_packing_result_item where gs1_box_barcode_no = @barcode)
select 'EXIST'
ELSE select 'NOEXIST'
SELECT @intErrorCode = @@ERROR
END
--์ํ ๋ฐ์ดํฐ ์
๊ณ ๋จ๊ณ ์ ์ฅ
ELSE IF (@gubun = 'R')
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
SELECT @item_cd = ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE=(SELECT TOP 1 substring(BARCODE,4,13) FROM GD_ITEM_CONSIGN_IN)
SELECT TOP 1 @lot_no = substring(BARCODE,27,charindex('โจGSโฉ21',BARCODE)-27) FROM GD_ITEM_CONSIGN_IN
SELECT TOP 1 @valid_date = '20'+substring(BARCODE,19,2)+'-'+substring(BARCODE,21,2)+'-'+substring(BARCODE,23,2) FROM GD_ITEM_CONSIGN_IN
--SET @lot_no = (SELECT TOP 1 substring(BARCODE,27,charindex('โจGSโฉ21',BARCODE)-27) FROM GD_ITEM_CONSIGN_IN)
--SET @valid_date = (SELECT TOP 1 '20'+substring(BARCODE,19,2)+'-'+substring(BARCODE,21,2)+'-'+substring(BARCODE,23,2) FROM GD_ITEM_CONSIGN_IN)
-- [๋ถ๊ธฐ] @item_cd = '' ์ธ ๊ฒฝ์ฐ
IF(@item_cd='')
BEGIN
SET @error_msg = 'ํ๋ชฉ์ ๋ณด๊ฐ ๋ฑ๋ก๋์ง ์์์ต๋๋ค. ์ ํ์ ๋ฑ๋กํ์ธ์'
RAISERROR(@error_msg, 16, 1);
END
--GD_ITEM_STOCK
declare @item_stock_id int
IF NOT EXISTS (SELECT * FROM GD_ITEM_STOCK WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO)
BEGIN
-- [์ ์ฌ] gd_item_stock
INSERT INTO gd_item_stock
(
item_cd
,prod_return_ck
,lot_no
,receipt_date
,receipt_qty
,receipt_status
,end_date
,insert_user_cd
,insert_time
,pre_label_issue_yn
,refer_type
)
SELECT
@item_cd,
'1',
@lot_no,
@receipt_date,
count(barcode),
'N',
@valid_date,
@insert_user_cd,
getdate(),
'N',
'9'
FROM GD_ITEM_CONSIGN_IN A
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM gd_item_stock
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ํ'
SELECT @item_stock_id = IDENT_CURRENT('gd_item_stock')
END
ELSE
BEGIN
UPDATE gd_item_stock
SET receipt_qty = receipt_qty + (SELECT COUNT(*) FROM GD_ITEM_CONSIGN_IN)
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO
SELECT @item_stock_id = ITEM_STOCK_ID FROM GD_ITEM_STOCK WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO
END
--์ค๋ฐ์ค๊ฐ ์์ ๋
--GD_PACKING_RESULT_PACK
IF (SELECT TOP 1 isnull(rtrim(MEDIUM_BARCODE),'') FROM GD_ITEM_CONSIGN_IN)=''
BEGIN
DECLARE @SSCC_CODE nvarchar(50)
SELECT @SSCC_CODE = DBO.fn_GetSSCC('4',@macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK
(
GS1_BOX_BARCODE_NO --์ค๋ฐ์ค์ฝ๋
,BOX_BARCODE_NO --๋ฐ์ค์ฝ๋
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
)
SELECT
@SSCC_CODE AS GS1_BOX_BARCODE_NO
,LEFT(RIGHT(rtrim(@SSCC_CODE), 10),9) AS BOX_BARCODE_NO
,@item_stock_id
,count(*)
,'0'
,@insert_user_cd
,getdate()
,'1' --BOX_TYPE
,NULL AS MAPPING_GS1_BARCODE
,NULL AS MAPPING_GS1_BARCODE
FROM GD_ITEM_CONSIGN_IN A
GROUP BY A.MEDIUM_BARCODE, A.LARGE_BARCODE
IF LEFT(RIGHT(rtrim(@SSCC_CODE), 10),9) > 0
BEGIN
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO= LEFT(RIGHT(rtrim(@SSCC_CODE), 10),9) WHERE EXTENSION_CD = '4'
SELECT @intErrorCode = @@ERROR;
END
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_PACK
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--GD_PACKING_RESULT_ITEM ๋ฑ๋ก
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM
(
REFER_TYPE
,BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,LOT_NO
,SERIAL_NO
,VALID_DATE
,GS1_BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,INSERT_USER_CD
,INSERT_TIME
)
SELECT
'9'
,LEFT(RIGHT(rtrim(@SSCC_CODE), 10),9) AS BOX_BARCODE_NO
,@item_stock_id
,'1'
,'0'
,@lot_no
,RIGHT(A.BARCODE,LEN(a.barcode)-charindex('โจGSโฉ21',a.BARCODE)-2) as serial_no
,@valid_date
,A.barcode
,@SSCC_CODE AS GS1_BOX_BARCODE_NO
,'1'
,@insert_user_cd
,getdate()
FROM GD_ITEM_CONSIGN_IN A
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_ITEM
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE
BEGIN
--GD_PACKING_RESULT_PACK ๋ฑ๋ก
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK
(
GS1_BOX_BARCODE_NO --์ค๋ฐ์ค์ฝ๋
,BOX_BARCODE_NO --๋ฐ์ค์ฝ๋
,MAPPING_GS1_BARCODE --๋๋ฐ์ค์ฝ๋
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,MAPPING_BOX_TYPE
)
SELECT
A.MEDIUM_BARCODE
,LEFT(RIGHT(A.medium_barcode, 10),9) --๋ฐ์ค์ฝ๋
,CASE WHEN A.LARGE_BARCODE='' THEN null ELSE A.large_barcode END AS MAPPING_GS1_BARCODE
,@item_stock_id
,count(*)
,'0'
,@insert_user_cd
,getdate()
,'1' --BOX_TYPE
,CASE WHEN A.large_barcode='' THEN null ELSE '2' END AS MAPPING_BOX_TYPE
FROM GD_ITEM_CONSIGN_IN A
GROUP BY A.medium_barcode, A.large_barcode
UNION ALL
SELECT
A.large_barcode
,LEFT(RIGHT(A.large_barcode, 10),9) AS BOX_BARCODE_NO
,NULL
,@item_stock_id
,count(*)
,0
,@insert_user_cd
,getdate()
,'2' --BOX_TYPE
,NULL
FROM GD_ITEM_CONSIGN_IN A
WHERE A.LARGE_BARCODE <> ''
GROUP BY A.large_barcode
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_PACK
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--GD_PACKING_RESULT_ITEM ๋ฑ๋ก
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM
(
REFER_TYPE
,BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,LOT_NO
,SERIAL_NO
,VALID_DATE
,GS1_BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,INSERT_USER_CD
,INSERT_TIME
)
SELECT
'9'
,LEFT(RIGHT(A.medium_barcode, 10),9)
,@item_stock_id
,'1'
,'0'
,@lot_no
,RIGHT(a.BARCODE,LEN(a.barcode)-charindex('โจGSโฉ21',a.BARCODE)-2) as serial_no
,@valid_date
,A.barcode
,A.medium_barcode
,'1'
,@insert_user_cd
,getdate()
FROM GD_ITEM_CONSIGN_IN A
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_ITEM
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
IF @error_msg = ''
SELECT @error_msg = ERROR_MESSAGE()
RAISERROR(@error_msg,16,1)
END CATCH
END
ELSE IF (@gubun = 'S1') BEGIN
SELECT d.ITEM_nm as PRODUCT_NAME
,DBO.FN_PACK_UNIT_SIZE(d.ITEM_CD) AS PACKING_UNIT
,a.prod_qty as OUT_QTY
,a.LOT_NO as LOT_NUMBER
,a.VALID_DATE as VALID_DATE
,d.ITEM_PACK_BARCODE as STANDARD_BARCODE
,a.GS1_BOX_BARCODE_NO as GS1_128_BARCODE
,a.MAPPING_GS1_BARCODE as MEDIUM_BARCODE
,b.MAPPING_GS1_BARCODE as LARGE_BARCODE
,c.RECEIPT_STATUS as BARCODE_CHECK_YN
,d.ITEM_GB
,'N' as chk_select
FROM gd_packing_result_item a
LEFT JOIN gd_packing_result_pack b ON (a.MAPPING_GS1_BARCODE = b.GS1_BOX_BARCODE_NO)
LEFT OUTER JOIN gd_item_stock c ON (a.item_stock_id = c.item_stock_id)
LEFT OUTER JOIN ITEM_STANDARD d ON (c.ITEM_CD = d.ITEM_CD)
WHERE c.RECEIPT_DATE BETWEEN @sdate AND @edate
and d.ITEM_GB = '3'
and a.LOT_NO LIKE @lot_no
and c.ITEM_CD LIKE @item_cd
ORDER BY
c.RECEIPT_DATE
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'DEL') BEGIN โจGSโฉ
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @item_stock_id_temp int
update GD_PACKING_RESULT_PACK
set stock_qty = CASE WHEN stock_qty = 0 THEN 0 ELSE STOCK_QTY - 1 END
,PROD_QTY = PROD_QTY - 1
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @BARCODE)
UPDATE GD_PACKING_RESULT_PACK
SET PROD_QTY = PROD_QTY - 1
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @BARCODE))
IF(SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE))) = 0
BEGIN
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE))
END
IF(SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE)) = 0
BEGIN
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE)
END
set @item_stock_id_temp = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE)
UPDATE GD_ITEM_STOCK
SET RECEIPT_QTY = RECEIPT_QTY - 1
WHERE ITEM_STOCK_ID = @item_stock_id_temp
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE
IF(SELECT receipt_qty FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @item_stock_id_temp) = 0
BEGIN
-- [์ญ์ ] GD_ITEM_STOCK
DELETE FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @item_stock_id_temp
END
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
END
--IF (@intErrorCode = 0) BEGIN
-- SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
--END
--ELSE BEGIN
-- SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
--END
RETURN (@intErrorCode)
SP_ItemConsignOut
๋ชฉ์ โ ์ํ ์ถ๊ณ ๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | int(4) | IN |
@box_barcode_no | char(10) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@issue_qty | decimal(9) | IN |
@issue_order_qty | decimal(9) | IN |
@stock_qty | decimal(9) | IN |
@cust_cd | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gs1_barcode | nvarchar(800) | IN |
@item_issue_status | nvarchar(100) | IN |
@detail_stock_id | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@default_barcode | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.08.05)
์ ์ ์ :
SP ๋ช
: SP_ItemConsignOut
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ํ์กฐํ
์ฌ ์ฉ ์ฒ : ItemConsignOut.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemConsignOut]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id int = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no char(10) = '', --์งํจ๋ฐ์ฝ๋
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@issue_qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@issue_order_qty decimal(15,4) = 0, --์ถ๊ณ ์ง์๋
@stock_qty decimal(15,4) = 0, --์ฌ๊ณ ์๋
@cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gs1_barcode nvarchar(400)= '', --gs1 ๋ฐ์ฝ๋
@item_issue_status nvarchar(50) = '', --์ ํ ์ถ๊ณ ์ํ
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@packing_order_no nvarchar(50) ='',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@default_barcode nvarchar(50) = '' --ํ์ค๋ฐ์ฝ๋ (20130708 ์ถ๊ฐ)
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ์ํ์กฐํ : ์ถ๊ณ ์ ํ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.DESPATCH_ORDER_NO as despatch_order_no --์ฃผ๋ฌธ๋ฒํธ
,a.RECEIPT_DATE as issue_date --์ ์์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,b.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
WHERE a.RECEIPT_DATE BETWEEN @sdate AND @edate
AND a.cust_cd LIKE '%' + @cust_cd + '%'
AND EXISTS ( SELECT d.ITEM_ISSUE_ID
FROM GD_ITEM_ISSUE d
LEFT OUTER JOIN ITEM_STANDARD e on (d.ITEM_CD=e.ITEM_CD)
WHERE a.DESPATCH_ORDER_NO=d.DESPATCH_ORDER_NO AND e.ITEM_GB='2') --1:์ผ๋ฐ 2:์ํ 3:์ํ
ORDER BY a.RECEIPT_DATE, a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
--14.03.27 ๊น์ ์
๋ฐฑ์
--SELECT
-- a.despatch_order_no --์ ํ๋ฒํธ
-- ,a.issue_date --์ถ๊ณ ์ผ์
-- ,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
-- ,b.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
-- ,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
-- ,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
--FROM
-- gd_cust_issue a
-- LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
-- LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
--WHERE a.issue_date BETWEEN @sdate AND @edate
-- AND a.cust_cd LIKE '%' + @cust_cd + '%'
--ORDER BY a.issue_date, a.despatch_order_no
--SELECT @intErrorCode = @@ERROR
END
-- ์ํ์กฐํ : ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
DECLARE @plant_nm NVARCHAR(50)
DECLARE @plant_busin_no NVARCHAR(50)
SELECT @plant_nm = plant_nm
,@plant_busin_no = plant_busin_no
FROM MA_PLANT
WHERE PLANT_CD = 'PC001'
SELECT @plant_nm AS PLANT_NM
,@plant_busin_no AS PLANT_BUSIN_NO
,A.ITEM_ISSUE_ID
,A.ITEM_CD
,B.ITEM_NM
,F.PUBLISH_LOT_NO AS LOT_NO
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
,A.DESPATCH_ORDER_NO AS DESPATCH_ORDER_NO
,C.ISSUE_QTY AS OUT_QTY
,case when f.SERIAL_YN = 'Y' then '1' else A.ISSUE_QTY end AS ISSUE_QTY
,B.ITEM_PACK_BARCODE --ํ์ค์ฝ๋
,C.BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
,E.GS1_BOX_BARCODE_NO --์ค๋ฐ์ค ์ ๋ณด
,E.MAPPING_GS1_BARCODE --๋๋ฐ์ค ์ ๋ณด
,F.PUBLISH_VALID_DATE AS END_DATE --์ฌ์ฉ๊ธฐํ
FROM GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN GD_ITEM_ISSUE_HISTORY C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
LEFT OUTER JOIN GD_PACKING_RESULT_ITEM D ON (C.DETAIL_STOCK_ID = D.DETAIL_STOCK_ID)
LEFT OUTER JOIN GD_PACKING_RESULT_PACK E ON (D.BOX_BARCODE_NO = E.BOX_BARCODE_NO)
LEFT OUTER JOIN MARKING_ORDER F ON (C.BARCODE = f.PUBLISH_GS1_128)
WHERE a.DESPATCH_ORDER_NO = @despatch_order_no
AND b.ITEM_GB='2' --ํ๋ชฉ์ด ์ํ์ ํ์ธ๊ฒ๋ง
order by B.ITEM_NM, c.BARCODE
SELECT @intErrorCode = @@ERROR
--14.03.27 ๊น์ ์
๋ฐฑ์
--DECLARE @plant_nm NVARCHAR(50)
--DECLARE @plant_busin_no NVARCHAR(50)
--SELECT @plant_nm = plant_nm
-- ,@plant_busin_no = plant_busin_no
--FROM MA_PLANT
--WHERE PLANT_CD = 'PC001'
--SELECT
-- @plant_nm AS PLANT_NM
-- ,@plant_busin_no AS PLANT_BUSIN_NO
-- ,ITEM_ISSUE_ID
-- ,ITEM_CD
-- ,ITEM_NM
-- ,ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
-- ,DESPATCH_ORDER_NO
-- ,ISSUE_QTY
-- ,LOT_NO
-- ,ITEM_PACK_BARCODE --ํ์ค์ฝ๋
-- ,BARCODE --๋ฐ์ฝ๋ ์ ๋ณด
-- ,GS1_BOX_BARCODE_NO --์ค๋ฐ์ค ์ ๋ณด
-- ,MAPPING_GS1_BARCODE --๋๋ฐ์ค ์ ๋ณด
-- ,END_DATE --์ฌ์ฉ๊ธฐํ
--FROM
-- (SELECT A.ITEM_ISSUE_ID
-- ,A.ITEM_CD
-- ,B.ITEM_NM
-- ,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE --ํฌ์ฅ๋จ์
-- ,A.DESPATCH_ORDER_NO
-- ,C.ISSUE_QTY
-- ,A.LOT_NO
-- ,B.ITEM_PACK_BARCODE
-- ,C.BARCODE
-- ,F.GS1_BOX_BARCODE_NO
-- ,F.MAPPING_GS1_BARCODE
-- ,D.END_DATE
-- FROM GD_ITEM_ISSUE A
-- LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
-- LEFT OUTER JOIN GD_ITEM_ISSUE_HISTORY C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
-- ,GD_ITEM_STOCK D
-- LEFT OUTER JOIN GD_PACKING_RESULT_ITEM E ON (D.ITEM_STOCK_ID = E.ITEM_STOCK_ID)
-- LEFT OUTER JOIN GD_PACKING_RESULT_PACK F ON (D.ITEM_STOCK_ID = F.ITEM_STOCK_ID)
-- WHERE A.DESPATCH_ORDER_NO = @despatch_order_no
-- AND C.BARCODE = E.GS1_BOX_BARCODE_NO
-- AND E.BOX_BARCODE_NO = F.BOX_BARCODE_NO
-- AND A.ITEM_CD = D.ITEM_CD
-- AND A.LOT_NO = E.LOT_NO
-- ) AA
--WHERE AA.item_cd LIKE '%' + @item_cd + '%'
-- AND AA.lot_no LIKE '%' + @lot_no + '%'
--ORDER BY AA.ITEM_NM, AA.LOT_NO
--SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemInDistribution
๋ชฉ์ โ ์ ํตยทํ๋งค ์ ๊ณ ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@start_date_s | nvarchar(20) | IN |
@end_date_s | nvarchar(20) | IN |
@item | nvarchar(100) | IN |
@item_stock_id | int(4) | IN |
@packing_result_id | int(4) | IN |
@prod_return_ck | nvarchar(10) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@lot_date | nvarchar(20) | IN |
@receipt_date | nvarchar(20) | IN |
@receipt_qty | decimal(9) | IN |
@end_date | nvarchar(20) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@box_barcode_no | char(15) | IN |
@prod_qty | decimal(9) | IN |
@stock_qty | decimal(9) | IN |
@workroom_cd | nvarchar(100) | IN |
@zone_cd | char(10) | IN |
@cell_cd | char(10) | IN |
@pallet_cd | char(10) | IN |
@add | int(4) | IN |
@log_user_id | nvarchar(100) | IN |
@gs1_box_barcode_no | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@second_pack_type | nvarchar(20) | IN |
@second_pack_qty | decimal(9) | IN |
@second_pack_m_qty | decimal(9) | IN |
@macaddress | nvarchar(100) | IN |
@pre_label_issue_yn | nvarchar(20) | IN |
@extension_cd | char(1) | IN |
@company_cd | char(4) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*
์์ฑ์ผ์:2009-09-24
์์ฑ์:์ ๋ฏผ์ฒ
*/
CREATE PROCEDURE [dbo].[SP_ItemInDistribution]
@gubun varchar(50) = null,
@start_date_s nvarchar(10) ='',
@end_date_s nvarchar(10) ='',
@item nvarchar(50) ='',
@item_stock_id int =0,
@packing_result_id int =null,
@prod_return_ck nvarchar(5) ='',
@item_cd nvarchar(50) ='',
@lot_no nvarchar(50) ='',
@lot_date nvarchar(10) ='',
@receipt_date nvarchar(10) ='',
@receipt_qty decimal(15,4) =0,
@end_date nvarchar(10) ='',
@insert_user_cd nvarchar(50) ='',
@update_user_cd nvarchar(50) ='',
@box_barcode_no char(15) ='',
@prod_qty decimal(15,4) =0,
@stock_qty decimal(15,4) =0,
@workroom_cd nvarchar(50) ='',
@zone_cd char(10) ='',
@cell_cd char(10) ='',
@pallet_cd char(10) ='',
@add int =0,
@log_user_id nvarchar(50) ='',
@gs1_box_barcode_no nvarchar(400) = '',
@box_type nvarchar(100) = '',
@second_pack_type nvarchar(10) = '',
@second_pack_qty decimal(15,4) =0,
@second_pack_m_qty decimal(15,4) =0,
@macaddress nvarchar(50) ='',
@pre_label_issue_yn nvarchar(10) = 'N', --2013.04.17 ํฉ์๋ก ์ถ๊ฐ ( ๋ผ๋ฒจ์ฌ์ ๋ฐํ์ฌ๋ถ)
@extension_cd char(1) = '',
@company_cd char(4) = '',
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
DECLARE @REPR_CODE_CK CHAR(1) = ''
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
SET NOCOUNT ON
IF @GUBUN='Select'
BEGIN
SELECT a.item_stock_id
,a.packing_result_id
,a.prod_return_ck
,a.item_cd
,b.item_nm
,isnull(dbo.fn_pack_unit_size(a.item_cd),'') 'item_unit'
,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE D.ETC_NO END LOT_NO
,a.lot_date
,a.receipt_date
,a.receipt_qty
,a.end_date
,isnull(a.second_pack_qt, b.second_pack_qt) as second_pack_qty -- ์งํจ์ ์ฌ๋(1์ฐจ)
,d.serial_yn -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,b.item_pack_barcode -- ํ์ค๋ฐ์ฝ๋
,isnull(a.second_pack_type, b.second_pack_type) as second_pack_type -- ์งํจ์ข
๋ฅ
,isnull(a.second_pack_m_qt, b.second_pack_m_qt) as second_pack_m_qty -- ์งํจ์ ์ฌ๋(2์ฐจ)
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT JOIN PACKING_RESULT C ON A.PACKING_RESULT_ID = C.PACKING_RESULT_ID
LEFT OUTER JOIN PACKING_ORDER D ON C.PACK_ORDER_NO = D.PACKING_ORDER_NO
WHERE A.RECEIPT_DATE BETWEEN @START_DATE_S AND @END_DATE_S
AND (A.ITEM_CD LIKE '%'+@ITEM+'%' OR B.ITEM_NM LIKE '%'+@ITEM+'%')
ORDER BY A.RECEIPT_DATE, A.LOT_NO, B.ITEM_NM
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='SelectBox'
BEGIN
SELECT box_barcode_no
,item_stock_id
,dbo.fn_format_string(prod_qty, 's0') as prod_qty
,dbo.fn_format_string(stock_qty, 's0') as stock_qty
--,isnull(pallet_cd, '') as pallet_cd
,'n' as select_ck
,gs1_box_barcode_no
,box_type
,gs1_box_barcode_no as gs1_box_barcode_no_display
FROM GD_PACKING_RESULT_PACK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
ORDER BY gs1_box_barcode_no
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Insert'
BEGIN
-- [์ ์ฌ] GD_ITEM_STOCK
INSERT INTO GD_ITEM_STOCK (
-- PACKING_RESULT_ID
PROD_RETURN_CK
,ITEM_CD
,LOT_NO
,LOT_DATE
,RECEIPT_DATE
,RECEIPT_QTY
,RECEIPT_STATUS
,END_DATE
,INSERT_USER_CD
,INSERT_TIME
,SECOND_PACK_TYPE --์งํจ์ข
๋ฅ ์ถ๊ฐ
,SECOND_PACK_QT --์งํจ์ ์ฌ๋ 1์ฐจ
,SECOND_PACK_M_QT --์งํจ์ ์ฌ๋ 2์ฐจ
,PRE_LABEL_ISSUE_YN --2013.04.17 ํฉ์๋ก ์ถ๊ฐ ( ๋ผ๋ฒจ์ฌ์ ๋ฐํ์ฌ๋ถ)
)
VALUES (
-- @PACKING_RESULT_ID
@PROD_RETURN_CK
,@ITEM_CD
,@LOT_NO
,@LOT_DATE
,@RECEIPT_DATE
,@RECEIPT_QTY
, 'N'
,@END_DATE
,@INSERT_USER_CD
,GETDATE()
,@second_pack_type --์งํจ์ข
๋ฅ ์ถ๊ฐ
,@second_pack_qty --์งํจ์ ์ฌ๋ 1์ฐจ
,@second_pack_m_qty --์งํจ์ ์ฌ๋ 2์ฐจ
,@pre_label_issue_yn --2013.04.17 ํฉ์๋ก ์ถ๊ฐ ( ๋ผ๋ฒจ์ฌ์ ๋ฐํ์ฌ๋ถ)
)
SELECT @intErrorCode = @@error
SET @IDENTITY = CONVERT(int, @@identity)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF @GUBUN='BoxInsert'
BEGIN
--ํ๋ผ๋ฏธํฐ XGD7 ๊ฐ์ด ๊ธธ์ด์ง๋ฉด ๋ณ๊ฒฝํ์ ๊ธฐ๋ณธ : NVARCHAR(10)
DECLARE @BARCODE_NO NVARCHAR(50) = ''
BEGIN TRY
SELECT @REPR_CODE_CK = isnull(REPR_CODE_CK,'Y') FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
IF (@box_type = '1' AND @REPR_CODE_CK = 'N') BEGIN
SET @extension_cd = '0'
END
ELSE BEGIN
SET @extension_cd = @box_type
END
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@extension_cd, @macaddress)
SET @BARCODE_NO=DBO.fn_GetSSCC(@extension_cd, @macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO= LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @BARCODE_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END TRY
BEGIN CATCH
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@extension_cd, @macaddress)
SET @BARCODE_NO=DBO.fn_GetSSCC(@extension_cd, @macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
--INSERT INTO MAX_BOX_BARCODE_NO (EXTENSION_CD, BOX_BARCODE_NO) VALUES (@extension_cd,@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO= LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @BARCODE_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = 'CATCH'
END CATCH
SET @IDENTITY = Rtrim(@BARCODE_NO);
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='ReBoxInsert'
BEGIN
--ํ๋ผ๋ฏธํฐ XGD7 ๊ฐ์ด ๊ธธ์ด์ง๋ฉด ๋ณ๊ฒฝํ์ ๊ธฐ๋ณธ : NVARCHAR(10)
DECLARE @BARCODE_NO1 NVARCHAR(50)
SET @extension_cd = '2'
BEGIN TRY
SELECT @REPR_CODE_CK = isnull(REPR_CODE_CK,'Y') FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
IF (@box_type = '1' AND @REPR_CODE_CK = 'N') BEGIN
SET @extension_cd = '0'
END
ELSE BEGIN
SET @extension_cd = @box_type
END
--SET @BARCODE_NO1=DBO.FN_GETBOXBARCODENO(@extension_cd,@macaddress)
SET @BARCODE_NO1=DBO.fn_GetSSCC(@extension_cd, @macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
,@STOCK_QTY
--,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO1
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
--INSERT INTO MAX_BOX_BARCODE_NO (EXTENSION_CD, BOX_BARCODE_NO) VALUES (@extension_cd,@BARCODE_NO1)
IF LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO= LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9) WHERE EXTENSION_CD = @extension_cd
END --AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @BARCODE_NO1
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END TRY
BEGIN CATCH
--SET @BARCODE_NO1=DBO.FN_GETBOXBARCODENO(@extension_cd, @macaddress)
SET @BARCODE_NO1=DBO.fn_GetSSCC(@extension_cd, @macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
,@STOCK_QTY
--,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO1
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
--INSERT INTO MAX_BOX_BARCODE_NO (EXTENSION_CD, BOX_BARCODE_NO) VALUES (@extension_cd,@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO= LEFT(RIGHT(rtrim(@BARCODE_NO1), 10),9) WHERE EXTENSION_CD = @extension_cd
END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @BARCODE_NO1
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END CATCH
SET @IDENTITY = Rtrim(@BARCODE_NO1);
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Update'
BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE GD_ITEM_STOCK
SET
--PACKING_RESULT_ID=@PACKING_RESULT_ID
PROD_RETURN_CK=@PROD_RETURN_CK
,ITEM_CD=@ITEM_CD
,LOT_NO=@LOT_NO
,LOT_DATE=@LOT_DATE
,RECEIPT_DATE=@RECEIPT_DATE
,RECEIPT_QTY=RECEIPT_QTY + @RECEIPT_QTY
,END_DATE=@END_DATE
,UPDATE_USER_CD=@UPDATE_USER_CD
,UPDATE_TIME=GETDATE()
,SECOND_PACK_TYPE = @second_pack_type --์งํจ์ข
๋ฅ ์ถ๊ฐ
,SECOND_PACK_QT = @second_pack_qty --์งํจ์ ์ฌ๋ 1์ฐจ
,SECOND_PACK_M_QT = @second_pack_m_qty --์งํจ์ ์ฌ๋ 2์ฐจ
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF @GUBUN='BoxUpdate'
BEGIN
UPDATE gd_packing_result_pack
SET
prod_qty = prod_qty + @prod_qty
,stock_qty = stock_qty + @stock_qty
--,PALLET_CD = @pallet_cd
,update_user_cd = @insert_user_cd
,update_time = getdate()
WHERE box_barcode_no = @box_barcode_no
AND item_stock_id = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no = @box_barcode_no
AND item_stock_id = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='BoxGS1Update'
BEGIN
UPDATE gd_packing_result_pack
SET
GS1_BOX_BARCODE_NO = @gs1_box_barcode_no
,update_user_cd = @insert_user_cd
,update_time = getdate()
WHERE box_barcode_no = @box_barcode_no
AND item_stock_id = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no = @box_barcode_no
AND item_stock_id = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Delete'
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where item_stock_id=@item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_item_stock
DELETE gd_item_stock
WHERE item_stock_id=@item_stock_id
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='BoxDelete'
BEGIN
DECLARE @intInCount INT
DECLARE @intOutCount INT
--SELECT @intInCount = COUNT(*) FROM gd_packing_result_pack_in_history WHERE box_barcode_no=@box_barcode_no
SELECT @intInCount = 0
SELECT @intOutCount = COUNT(*) FROM GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE box_barcode_no=@box_barcode_no
IF(@intInCount > 0 )BEGIN
SELECT @intErrorCode = -11
END
ELSE IF(@intOutCount > 0 )BEGIN
SELECT @intErrorCode = -11
END
ELSE IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no=@box_barcode_no
AND item_stock_id=@item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gd_packing_result_pack
DELETE gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no
AND item_stock_id=@item_stock_id
SELECT @intErrorCode = @@ERROR
END
END
ELSE IF @GUBUN='BoxReport'
BEGIN
select c.item_nm as item_nm--์ ํ๋ช
,isnull(c.item_spec,'===========') as item_size--๊ท๊ฒฉ
,dbo.fn_format_string(c.item_pack_size, 'S')+isnull(c.ITEM_PACKUNIT,'') as item_pack_size--ํฌ์ฅ๋จ์
,b.lot_no as lot_no--์ ์กฐ๋ฒํธ
,b.lot_date as lot_date--์ ์กฐ์ผ์
,isnull(b.end_date,e.valid_date) as valid_period--์ฌ์ฉ๊ธฐํ
,dbo.fn_format_string(a.PROD_QTY, 'S') + 'EA' as prod_qty--์ด์๋
,isnull(f.EMP_NM,'===========') as result_emp--์์
์
,a.box_barcode_no as box_barcode_no--๋ฐ์ฝ๋
--2013.03.21 ํฉ์๋ก ์ถ๊ฐ
,a.gs1_box_barcode_no
,a.box_type
from GD_PACKING_RESULT_PACK a
join GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
join ITEM_STANDARD c on b.ITEM_CD=c.ITEM_CD
left outer join PACKING_RESULT d on b.PACKING_RESULT_ID=d.PACKING_RESULT_ID
left outer join PACKING_ORDER e on d.PACK_ORDER_NO=e.PACKING_ORDER_NO
left outer join MA_EMPLOYEE f on d.RESULT_EMP=f.EMP_CD
WHERE a.BOX_BARCODE_NO like '%'+rtrim(@box_barcode_no)
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='PalletExistCheck'
BEGIN
SELECT pallet_cd
FROM WA_PALLET
WHERE PALLET_CD =@PALLET_CD
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Printer'
BEGIN
SELECT parameter_value
FROM CM_PARAMETER WHERE PARAMETER_CODE = 'LABEL_PRINTER'
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Trans_Stock'
BEGIN
UPDATE a
SET STOCK_QTY = case when b.RECEIPT_STATUS='Y' then a.STOCK_QTY else a.PROD_QTY end
FROM GD_PACKING_RESULT_PACK a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
INSERT INTO #AUDIT_TEMP
SELECT A.audittrail_id
FROM GD_PACKING_RESULT_PACK A
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
EXEC SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = ''
, @audit_log_io_gb = 'U', @audit_log_user = @log_user_id
--audittrail ์์ฑ 2012.06.12 by ๊น์
UPDATE GD_ITEM_STOCK
SET RECEIPT_STATUS = 'Y'
WHERE ITEM_STOCK_ID = @item_stock_id
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
SELECT @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID=@ITEM_STOCK_ID
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
, @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = ''
, @audit_log_io_gb = 'U', @audit_log_user = @log_user_id
SELECT @intErrorCode = @@ERROR
END
--[rValue, msg ๋ฆฌํด๊ฐ ์ค์ ๋ถ๋ถ]
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemInManage2D
๋ชฉ์ โ 2D ์ค์บ๋ ๊ธฐ๋ฐ ์ ๊ณ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@packing_result_pack_in_history_id | int(4) | IN |
@box_barcode_no | nvarchar(100) | IN |
@in_type | nvarchar(10) | IN |
@in_qty | decimal(9) | IN |
@in_date | nvarchar(20) | IN |
@in_remark | nvarchar(510) | IN |
@insert_user_cd | nvarchar(100) | IN |
@insert_time | datetime(8) | IN |
@update_user_cd | nvarchar(100) | IN |
@update_time | datetime(8) | IN |
@start_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@valid_date | nvarchar(20) | IN |
@item | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@past_stock_qty | decimal(9) | IN |
@past_in_qty | decimal(9) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ItemInManage2D]
@gubun VARCHAR(50) = NULL,
@packing_result_pack_in_history_id int =0,
@box_barcode_no nvarchar(50) ='',
@in_type nvarchar(5) ='',
@in_qty decimal(15,4) =0,
@in_date nvarchar(10) ='',
@in_remark nvarchar(255) ='',
@insert_user_cd nvarchar(50) ='',
@insert_time datetime =null,
@update_user_cd nvarchar(50) ='',
@update_time datetime =null,
@start_date nvarchar(10) ='',
@end_date nvarchar(10) ='',
@valid_date nvarchar(10) ='',
@item nvarchar(50) ='',
@item_cd nvarchar(50) ='',
@lot_no nvarchar(50) ='',
@past_stock_qty decimal(15,4) =0,
@past_in_qty decimal(15,4) =0,
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message NVARCHAR(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @packing_result_pack_in_history_id2 INT
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
SET NOCOUNT ON
IF (len(@valid_date) > 10)
BEGIN
set @valid_date = Substring(@valid_date,1,10)
END
IF @GUBUN='Select'
BEGIN
-- 2014.02.10 ์ด๋ณ์ฐฝ ์์ ์์
--SELECT a.packing_result_pack_in_history_id
-- ,b.item_stock_id
-- ,a.in_date
-- ,c.item_cd
-- ,d.item_nm
-- ,c.lot_no
-- ,isnull(dbo.fn_Pack_unit_size(c.item_cd),'') AS item_unit
-- ,c.packing_result_id
-- ,a.box_barcode_no
-- ,b.prod_qty
-- , isnull(g.issue_qty,0)+ isnull(f.out_qty,0) as delivery_qty
-- ,b.stock_qty
-- ,a.in_type
-- ,a.in_qty
-- ,a.in_remark
-- ,valid_date
-- FROM gd_packing_result_pack_in_history a
-- INNER JOIN gd_packing_result_pack b ON a.box_barcode_no=b.box_barcode_no
-- INNER JOIN gd_item_stock c ON b.item_stock_id=c.item_stock_id
-- INNER JOIN item_standard d ON c.item_cd=d.item_cd
-- LEFT OUTER JOIN (SELECT sum(in_qty) as in_qty, box_barcode_no FROM gd_packing_result_pack_in_history GROUP BY box_barcode_no)e ON a.box_barcode_no= e.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(out_qty) as out_qty, box_barcode_no FROM gd_packing_result_pack_out_history GROUP BY box_barcode_no)f ON a.box_barcode_no= f.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(issue_qty) as issue_qty, box_barcode_no FROM gd_box_issue GROUP BY box_barcode_no)g ON a.box_barcode_no=g.box_barcode_no
-- LEFT OUTER JOIN (SELECT distinct(valid_date), box_barcode_no FROM gd_packing_result_item ) h ON a.box_barcode_no = h.box_barcode_no
-- WHERE a.in_date BETWEEN @start_date AND @end_date
-- AND (d.item_cd like '%'+@item+'%' OR d.item_nm like '%'+@item+'%')
-- ORDER BY a.in_date, d.item_nm, c.lot_no, a.box_barcode_no
-- 2014.02.10 ์ด๋ณ์ฐฝ 1์ฐจ ์์ ์
--SELECT '' as packing_result_pack_in_history_id -- a.packing_result_pack_in_history_id
-- ,'' as item_stock_id -- ,b.item_stock_id
-- ,'' as in_date -- ,a.in_date
-- ,c.item_cd
-- ,d.item_nm
-- ,c.lot_no
-- ,isnull(dbo.fn_Pack_unit_size(c.item_cd),'') AS item_unit
-- ,c.packing_result_id
-- ,a.box_barcode_no
-- ,b.prod_qty
-- , isnull(g.issue_qty,0)+ isnull(f.out_qty,0) as delivery_qty
-- ,h.stock_qty
-- ,'' as in_type -- a.in_type
-- ,a.in_qty
-- ,'' as in_remark -- a.in_remark
-- ,'' as valid_date --valid_date
-- FROM ( select box_barcode_no, sum(isnull(in_qty,0)) in_qty FROM gd_packing_result_pack_in_history WHERE in_date BETWEEN @start_date AND @end_date GROUP BY box_barcode_no) a
-- INNER JOIN (select box_barcode_no, sum(isnull(prod_qty,0)) prod_qty, MAX(item_stock_id) item_stock_id FROM gd_packing_result_pack GROUP BY box_barcode_no) b ON a.box_barcode_no=b.box_barcode_no
-- INNER JOIN gd_item_stock c ON b.item_stock_id=c.item_stock_id
-- INNER JOIN item_standard d ON c.item_cd=d.item_cd
-- LEFT OUTER JOIN (SELECT sum(in_qty) as in_qty, box_barcode_no FROM gd_packing_result_pack_in_history GROUP BY box_barcode_no)e ON a.box_barcode_no= e.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(out_qty) as out_qty, box_barcode_no FROM gd_packing_result_pack_out_history GROUP BY box_barcode_no)f ON a.box_barcode_no= f.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(issue_qty) as issue_qty, box_barcode_no FROM gd_box_issue GROUP BY box_barcode_no)g ON a.box_barcode_no=g.box_barcode_no
-- LEFT OUTER JOIN gd_packing_result_pack h ON b.item_stock_id = h.item_stock_id
-- WHERE d.item_cd like '%'+@item+'%' OR d.item_nm like '%'+@item+'%'
-- ORDER BY d.item_nm, c.lot_no, a.box_barcode_no
-- 2014.02.10 ์ด๋ณ์ฐฝ 2์ฐจ ์์ ์
SELECT a.packing_result_pack_in_history_id
,b.item_stock_id
,a.in_date
,c.item_cd
,d.item_nm
,c.lot_no
,isnull(dbo.fn_Pack_unit_size(c.item_cd),'') AS item_unit
,c.packing_result_id
,a.box_barcode_no
--,b.prod_qty
--, isnull(g.issue_qty,0)+ isnull(f.out_qty,0) as delivery_qty
--,b.stock_qty
,a.in_type
,a.in_qty
--,a.in_remark
,a.valid_date
FROM gd_packing_result_pack_in_history a
LEFT OUTER JOIN (select box_barcode_no, sum(isnull(prod_qty,0)) prod_qty, MAX(item_stock_id) item_stock_id FROM gd_packing_result_pack GROUP BY box_barcode_no) b ON a.box_barcode_no=b.box_barcode_no
LEFT OUTER JOIN gd_item_stock c ON b.item_stock_id=c.item_stock_id
LEFT OUTER JOIN item_standard d ON c.item_cd=d.item_cd
LEFT OUTER JOIN (SELECT sum(in_qty) as in_qty, box_barcode_no FROM gd_packing_result_pack_in_history GROUP BY box_barcode_no)e ON a.box_barcode_no= e.box_barcode_no
LEFT OUTER JOIN (SELECT sum(out_qty) as out_qty, box_barcode_no FROM gd_packing_result_pack_out_history GROUP BY box_barcode_no)f ON a.box_barcode_no= f.box_barcode_no
LEFT OUTER JOIN (SELECT sum(issue_qty) as issue_qty, box_barcode_no FROM gd_box_issue GROUP BY box_barcode_no)g ON a.box_barcode_no=g.box_barcode_no
--LEFT OUTER JOIN (SELECT distinct(valid_date), box_barcode_no, item_stock_id FROM gd_packing_result_item ) h ON (a.box_barcode_no = h.box_barcode_no and b.item_stock_id = h.item_stock_id)
WHERE a.in_date BETWEEN @start_date AND @end_date
AND (Isnull(d.item_cd,'') like '%'+@item+'%' OR Isnull(d.item_nm,'') like '%'+@item+'%')
-- 2014.02.10 ์ด๋ณ์ฐฝ ์์ ๋
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Select2'
BEGIN
SELECT A.date
,A.inouttype
,A.type
,A.in_qty
,A.out_qty
,A.remark
FROM(
SELECT a.in_date as date
,'๊ธฐํ ์
๊ณ ' as inouttype
,b.common_part_nm as type
,a.in_qty as in_qty
,null as out_qty
,a.in_remark as remark
FROM gd_packing_result_pack_in_history a
LEFT OUTER JOIN common b on a.in_type=b.common_part_cd AND b.common_cd='GD201'
WHERE box_barcode_no=@box_barcode_no
UNION ALL
SELECT a.out_date as date
,'๊ธฐํ ์ถ๊ณ ' as inouttype
,b.common_part_nm as type
,null as in_qty
,a.out_qty as out_qty
,a.out_remark as remark
FROM gd_packing_result_pack_out_history a
LEFT OUTER JOIN common b on a.out_type=b.common_part_cd AND b.common_cd='GD301'
WHERE box_barcode_no=@box_barcode_no
UNION ALL
SELECT b.issue_date as date
,'์ ์ ์ถ๊ณ ' as inouttype
,'' as type
,null as in_qty
,a.issue_qty as out_qty
,null as remark
FROM gd_box_issue a
inner join gd_item_issue b ON a.item_issue_id=b.item_issue_id
WHERE box_barcode_no=@box_barcode_no
)A
ORDER BY A.date
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Insert'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @past_stock_qty_insert int
--SET @past_stock_qty_insert=( SELECT stock_qty
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @past_stock_qty_insert=( SELECT stock_qty
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (select MAX(ITEM_STOCK_ID) FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
--if(@past_stock_qty+@in_qty<0)
-- begin
-- SELECT @intErrorCode = -111
-- end
--else
-- begin
IF (@intErrorCode = 0)
BEGIN
-- ์งํจ๋ฐ์ฝ๋์ ์ ๋ณด์ ๊ธฐํ์
๊ณ ๋์ ์
๋ฐ์ดํธ
UPDATE gd_packing_result_pack
SET stock_qty=@past_stock_qty_insert+@in_qty
,UPDATE_USER_CD = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no=@box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
SELECT @intErrorCode = @@ERROR
--end
END
IF (@intErrorCode = 0)
BEGIN
-- ๊ธฐํ์
์ถ๊ณ ํ์คํ ๋ฆฌ ์ ์ฅ
INSERT gd_packing_result_pack_in_history (
box_barcode_no
,in_type
,in_qty
,in_date
,valid_date
,in_remark
,insert_user_cd
,insert_time
,update_user_cd
,update_time
) VALUES (
@box_barcode_no
,@in_type
,@in_qty
,@in_date
,@valid_date
,@in_remark
,@insert_user_cd
,getdate()
,@update_user_cd
,getdate()
)
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
SET @packing_result_pack_in_history_id2 = @@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack_in_history where packing_result_pack_in_history_id=@packing_result_pack_in_history_id2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack_in_history', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
SELECT @intErrorCode = @@error
--SET @identity = CONVERT(int, @@identity)
SET @identity = @packing_result_pack_in_history_id2
END
ELSE IF @GUBUN='Insert2'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @item_stock_id int
declare @barcode nvarchar(50)
declare @item_result_pack_barcode nvarchar(100)
declare @detail_stock_id int
SET @item_stock_id = 0;
SET @barcode = ''
SET @item_result_pack_barcode = ''
SET @detail_stock_id = 0;
-- SELECT @item_stock_id = ITEM_STOCK_ID
-- FROM gd_item_stock
-- WHERE ITEM_CD = @item_cd
-- AND LOT_NO = @lot_no
-- IF (@item_stock_id > 0)
-- BEGIN
-- -- ์งํจ๋ฐ์ฝ๋์ ์ ๋ณด์ ๊ธฐํ์
๊ณ ๋์ ์
๋ฐ์ดํธ
-- UPDATE GD_ITEM_STOCK
-- SET RECEIPT_QTY=RECEIPT_QTY+@in_qty
-- ,UPDATE_USER_CD = @update_user_cd
-- ,update_time = getdate()
-- WHERE ITEM_STOCK_ID=@item_stock_id
-- --==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
-- SELECT @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID=@item_stock_id
-- EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
-- , @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
-- , @audit_log_io_gb = 'U', @audit_log_user = @log_user_id
-- SELECT @intErrorCode = @@ERROR
-- END
--ELSE
-- BEGIN
-- --gd_item_stock ์
๋ ฅ
-- insert into gd_item_stock
-- (
-- prod_return_ck
-- ,item_cd
-- ,lot_no
-- ,receipt_date
-- ,receipt_qty
-- ,receipt_status
-- ,end_date
-- ,insert_user_cd
-- ,insert_time
-- ,pre_label_issue_yn
-- )
-- values
-- (
-- '1',
-- @item_cd,
-- @lot_no,
-- CONVERT(VARCHAR, getdate(),23),
-- @in_qty,
-- 'Y',
-- @valid_date,
-- 'RTE',
-- CONVERT(VARCHAR, getdate(),23),
-- 'N'
-- )
-- --์ฌ๊ณ id, ํ์ค๋ฐ์ฝ๋์ ๋ณด, ์งํจ๋ฐ์ฝ๋์ ๋ณด
-- SET @item_stock_id = @@IDENTITY
-- --set @barcode = (select item_pack_barcode from item_standard where item_cd = @item_cd )
-- --set @item_result_pack_barcode = (SELECT dbo.[fn_GetGS1Barcode]('1'+@barcode,@valid_date,@lot_no,@box_barcode_no,'',''))
-- --==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
-- SELECT @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID=@item_stock_id
-- EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
-- , @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
-- , @audit_log_io_gb = 'U', @audit_log_user = @log_user_id
--END
--GD_PACKING_RESULT_PACK
--๋ฐ์ค๋ณ๋ก ๊ตฌ๋ถ๋๋ ๋ฐ์ฝ๋์ ๋ณด
IF (@intErrorCode = 0)
BEGIN
SELECT @barcode = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_PACK
WHERE BOX_BARCODE_NO = @box_barcode_no
--AND ITEM_STOCK_ID like '%' + rtrim(@item_stock_id) + '%'
IF (LEN(rtrim(@barcode)) > 0)
BEGIN
-- ์งํจ๋ฐ์ฝ๋์ ์ ๋ณด์ ๊ธฐํ์
๊ณ ๋์ ์
๋ฐ์ดํธ
UPDATE GD_PACKING_RESULT_PACK
SET STOCK_QTY=STOCK_QTY+@in_qty
,UPDATE_USER_CD = @update_user_cd
,update_time = getdate()
WHERE BOX_BARCODE_NO=@box_barcode_no
--AND ITEM_STOCK_ID like '%' + rtrim(@item_stock_id) + '%'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where BOX_BARCODE_NO=@box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
SELECT @intErrorCode = @@ERROR
END
ELSE
BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
VALUES
( @box_barcode_no
,@item_stock_id
,@in_qty
,@insert_user_cd
,getdate()
,'1'
,@item_result_pack_barcode
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where box_barcode_no = @box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
SELECT @intErrorCode = @@ERROR
--end
END
END
--gd_packing_result_item ๋ฑ๋ก
--๊ฐ ํ๋ชฉ๋ณ ๋ฐ์ฝ๋์ ๋ณด
--์ฌ์ฉ๊ธฐํ ๋ณ๊ฒฝ - valid_date
declare @valid_date_barcode nvarchar(10)
select @valid_date_barcode = substring(replace(CONVERT(NVARCHAR(10), @valid_date, 112), '-', ''), 3, 7)
--IF (@intErrorCode = 0)
--BEGIN
-- SELECT @detail_stock_id = detail_stock_id
-- FROM GD_PACKING_RESULT_ITEM
-- WHERE BOX_BARCODE_NO = @box_barcode_no
-- AND SERIAL_NO IS NULL
-- IF (LEN(rtrim(@detail_stock_id)) > 0)
-- BEGIN
-- -- ์งํจ๋ฐ์ฝ๋์ ์ ๋ณด์ ๊ธฐํ์
๊ณ ๋์ ์
๋ฐ์ดํธ
-- UPDATE GD_PACKING_RESULT_ITEM
-- SET STOCK_QTY=STOCK_QTY+@in_qty
-- ,UPDATE_USER_CD = @update_user_cd
-- ,update_time = getdate()
-- WHERE detail_stock_id=@detail_stock_id
-- --==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
-- SELECT @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where detail_stock_id=@detail_stock_id
-- EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
-- , @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
-- , @audit_log_io_gb = 'U', @audit_log_user = @log_user_id
-- END
-- ELSE
-- BEGIN
-- INSERT INTO GD_PACKING_RESULT_ITEM
-- (
-- BOX_BARCODE_NO,
-- ITEM_STOCK_ID,
-- --PACKING_ORDER_NO,
-- PROD_QTY,
-- STOCK_QTY,
-- LOT_NO,
-- VALID_DATE,
-- GS1_BOX_BARCODE_NO,
-- MAPPING_GS1_BARCODE,
-- MAPPING_BOX_TYPE,
-- INSERT_USER_CD,
-- INSERT_TIME
-- )
-- VALUES
-- (
-- @box_barcode_no,
-- @item_stock_id,
-- --@pack_order_no,
-- 0,
-- @in_qty,
-- @lot_no,
-- @valid_date,
-- (dbo.[fn_GetGS1Barcode]('0'+@barcode, @valid_date_barcode, @lot_no, '','','')),
-- (dbo.[fn_GetGS1Barcode]('1'+@barcode, @valid_date_barcode, @lot_no, @box_barcode_no,'','')),
-- '1',
-- @insert_user_cd,
-- getdate()
-- )
-- SET @detail_stock_id = @@IDENTITY
-- SELECT @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where detail_stock_id=@detail_stock_id
-- EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id
-- , @audit_gubun = 'I', @audit_emp_cd = @update_user_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
-- , @audit_log_io_gb = 'I', @audit_log_user = @log_user_id
-- END
-- SELECT @intErrorCode = @@ERROR
--END
--gd_packing_result_pack_in_history ๋ฑ๋ก
--๊ธฐํ์
๊ณ ํ์คํ ๋ฆฌ ์ ์ฅ
IF (@intErrorCode = 0)
BEGIN
INSERT gd_packing_result_pack_in_history (
box_barcode_no
,in_type
,in_qty
,in_date
,valid_date
,in_remark
,insert_user_cd
,insert_time
,update_user_cd
,update_time
) VALUES (
@box_barcode_no
,@in_type
,@in_qty
,@in_date
,@valid_date
,@in_remark
,@insert_user_cd
,getdate()
,@update_user_cd
,getdate()
)
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.
SET @packing_result_pack_in_history_id2 = @@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack_in_history where packing_result_pack_in_history_id=@packing_result_pack_in_history_id2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack_in_history', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ๋ฑ๋ก'
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
SELECT @intErrorCode = @@error
--SET @identity = CONVERT(int, @@identity)
SET @identity = @packing_result_pack_in_history_id2
END
ELSE IF @GUBUN='Update'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @past_in_qty_update int
-- 2014.02.10 ์ด๋ณ์ฐฝ ์์
--SET @past_stock_qty=( SELECT isnull(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no)
SET @past_stock_qty=( SELECT isnull(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (select MAX(ITEM_STOCK_ID) FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
SET @past_in_qty_update=( SELECT isnull(in_qty,0)
FROM gd_packing_result_pack_in_history
WHERE box_barcode_no=@box_barcode_no AND packing_result_pack_in_history_id=@packing_result_pack_in_history_id)
--if(@past_stock_qty-@past_in_qty+@in_qty<0)
-- begin
-- SELECT @intErrorCode = -111
-- end
--else
-- begin
IF (@intErrorCode = 0) BEGIN
UPDATE gd_packing_result_pack
SET stock_qty=@past_stock_qty-@past_in_qty_update+@in_qty
,UPDATE_USER_CD = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no = @box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ์์ '
SELECT @intErrorCode = @@ERROR
--end
END
IF (@intErrorCode = 0)
BEGIN
UPDATE gd_packing_result_pack_in_history
SET
in_type=@in_type
,in_qty=@in_qty
,in_date=@in_date
,valid_date=@valid_date
,in_remark=@in_remark
,update_user_cd=@update_user_cd
,update_time=getdate()
WHERE packing_result_pack_in_history_id=@packing_result_pack_in_history_id
AND box_barcode_no=@box_barcode_no
select @valid_date
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack_in_history where packing_result_pack_in_history_id=@packing_result_pack_in_history_id
AND box_barcode_no=@box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack_in_history', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ์์ '
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
--SET @identity = ( SELECT ISNULL(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @identity = ( SELECT ISNULL(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (SELECT MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
END
ELSE IF @GUBUN='Delete'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--SET @past_stock_qty=( SELECT isnull(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @past_stock_qty=( SELECT isnull(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (SELECT MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
SET @past_in_qty=( SELECT isnull(in_qty,0)
FROM gd_packing_result_pack_in_history
WHERE box_barcode_no=@box_barcode_no AND packing_result_pack_in_history_id=@packing_result_pack_in_history_id)
IF (@intErrorCode = 0) BEGIN
UPDATE gd_packing_result_pack
SET stock_qty=@past_stock_qty-@past_in_qty
,UPDATE_USER_CD = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where box_barcode_no=@box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ์ญ์ '
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK_IN_HISTORY where packing_result_pack_in_history_id=@packing_result_pack_in_history_id
AND box_barcode_no=@box_barcode_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK_IN_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '๊ธฐํ์
๊ณ ์ญ์ '
-- [์ญ์ ] gd_packing_result_pack_in_history
DELETE gd_packing_result_pack_in_history
WHERE packing_result_pack_in_history_id=@packing_result_pack_in_history_id
AND box_barcode_no=@box_barcode_no
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemStockSearch
๋ชฉ์ โ ์ฌ๊ณ ์กฐํ(์กฐ๊ฑดยท๊ธฐ๊ฐ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@box_barcode_no | char(100) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@box_gubun | nvarchar(100) | IN |
@stock_id | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ :
SP ๋ช
: SP_ItemOut
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์์ ํ ์ถ๊ณ
์ฌ ์ฉ ์ฒ : ItemOut.cs
ํ
์ด ๋ธ : gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemStockSearch]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@packing_order_no nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no char(100) = '', --์งํจ๋ฐ์ฝ๋
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@box_gubun nvarchar(50) = '',
@stock_id nvarchar(50) = ''
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
-- [๋ถ๊ธฐ] @box_gubun = '0' ์ธ ๊ฒฝ์ฐ
IF (@box_gubun = '0')
BEGIN
SELECT A.PACKING_ORDER_NO
,A.LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
,C.ITEM_STOCK_ID
FROM (SELECT PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE, SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
UNION ALL (SELECT '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
FROM GD_ITEM_STOCK
WHERE REFER_TYPE = '9' )) A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = A.LOT_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' -- AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
WHERE 1=1
AND EXISTS (SELECT PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM SUB_B
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
)
END
ELSE IF (@box_gubun = '1' OR @box_gubun = '2')
BEGIN
SELECT A.PACKING_ORDER_NO
,A.LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
,C.ITEM_STOCK_ID
FROM (SELECT PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE, SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
UNION ALL (SELECT '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
FROM GD_ITEM_STOCK
WHERE REFER_TYPE = '9' )) A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = A.LOT_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' -- AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
WHERE 1=1
AND EXISTS (SELECT ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK SUB_A
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_A.ITEM_STOCK_ID
)
END
ELSE
BEGIN
SELECT A.PACKING_ORDER_NO
,A.LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
,C.ITEM_STOCK_ID
FROM ( SELECT PACKING_ORDER_WORK_DATE, PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE, SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
UNION ALL (SELECT RECEIPT_DATE AS PACKING_ORDER_WORK_DATE, '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
FROM GD_ITEM_STOCK
WHERE REFER_TYPE = '9' )) A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = A.LOT_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' -- AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
WHERE 1=1
-- AND (A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate)
END
--SELECT A.PACKING_ORDER_NO
-- ,A.LOT_NO
-- ,A.VALID_DATE
-- ,A.LOT_DATE
-- ,A.SALE_ITEM_CD AS ITEM_CD
-- ,B.ITEM_NM
-- ,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
-- ,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
-- ,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
-- ,G.PUBLISH_COUNT AS PUBLISH_COUNT
-- ,CONVERT(INT, D.RECEIPT_QTY) AS RECEIPT_QTY
-- ,D.RECEIPT_STATUS
--FROM PACKING_ORDER A
-- INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
-- LEFT OUTER JOIN PACKING_RESULT C ON A.PACKING_ORDER_NO = C.PACK_ORDER_NO
-- LEFT OUTER JOIN GD_ITEM_STOCK D ON C.PACKING_RESULT_ID = D.PACKING_RESULT_ID
-- LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
-- FROM MARKING_ORDER
-- WHERE MARKING_YN = 'Y' -- AND VISION_YN = 'Y'
-- GROUP BY PACKING_ORDER_NO ) G on a.PACKING_ORDER_NO = g.PACKING_ORDER_NO
--WHERE 1=1
-- AND ( @box_barcode_no = ''
-- OR (
-- EXISTS (SELECT ITEM_STOCK_ID
-- FROM GD_PACKING_RESULT_PACK SUB_A
-- WHERE (MAPPING_GS1_BARCODE = @box_barcode_no
-- OR GS1_BOX_BARCODE_NO = @box_barcode_no
-- OR BOX_BARCODE_NO = @box_barcode_no)
-- AND D.ITEM_STOCK_ID = SUB_A.ITEM_STOCK_ID
-- )
-- OR EXISTS (SELECT PACKING_ORDER_NO
-- FROM GD_PACKING_RESULT_ITEM SUB_B
-- WHERE MAPPING_GS1_BARCODE = @box_barcode_no
-- AND D.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
-- )
-- OR EXISTS (SELECT PACKING_ORDER_NO
-- FROM GD_PACKING_RESULT_ITEM SUB_B
-- WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
-- AND D.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
-- )
-- )
-- )
END
-- ์ถ๊ณ ์กฐํ
ELSE IF (@gubun = 'S2') BEGIN
IF (@box_gubun = '0' OR @box_gubun = '1' OR @box_gubun = '2')
BEGIN
SELECT
AA.DETAIL_STOCK_ID,
AA.PACKING_ORDER_NO,
AA.PUBLISH_GS1_128,
AA.LOT_NO,
AA.SERIAL_NO,
AA.VALID_DATE,
AA.MAPPING_GS1_BARCODE,
AA.MAPPING_BOX_TYPE,
AA.BOX_BARCODE_NO,
AA.RECEIPT_STATUS,
AA.RECEIPT_DATE,
AA.PROD_QTY,
AA.STOCK_QTY
FROM(
SELECT A.DETAIL_STOCK_ID
,A.PACKING_ORDER_NO
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.LOT_NO AS LOT_NO
, CASE WHEN A.SERIAL_NO IS NOT NULL THEN A.SERIAL_NO
ELSE CONVERT(NVARCHAR,ROW_NUMBER() OVER( PARTITION BY A.LOT_NO ORDER BY A.DETAIL_STOCK_ID ASC )) END AS SERIAL_NO
, A.VALID_DATE AS VALID_DATE
, CASE WHEN B.MAPPING_GS1_BARCODE IS NOT NULL THEN B.MAPPING_GS1_BARCODE ELSE C.MAPPING_GS1_BARCODE END MAPPING_GS1_BARCODE
, CASE WHEN B.MAPPING_BOX_TYPE IS NOT NULL THEN B.MAPPING_BOX_TYPE ELSE C.MAPPING_BOX_TYPE END MAPPING_BOX_TYPE
, CASE WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO ELSE C.BOX_BARCODE_NO END BOX_BARCODE_NO
,E.RECEIPT_STATUS
,E.RECEIPT_DATE
,A.PROD_QTY AS PROD_QTY
,A.STOCK_QTY AS STOCK_QTY
FROM GD_PACKING_RESULT_ITEM A
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '1') B
ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
AND A.MAPPING_BOX_TYPE = B.BOX_TYPE
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '2') C
ON B.MAPPING_GS1_BARCODE = C.GS1_BOX_BARCODE_NO
AND B.MAPPING_BOX_TYPE = C.BOX_TYPE
LEFT OUTER JOIN GD_ITEM_STOCK E ON A.ITEM_STOCK_ID = E.ITEM_STOCK_ID
WHERE A.GS1_BOX_BARCODE_NO = @box_barcode_no
OR A.MAPPING_GS1_BARCODE = @box_barcode_no
OR B.MAPPING_GS1_BARCODE = @box_barcode_no
OR B.GS1_BOX_BARCODE_NO = @box_barcode_no
OR C.GS1_BOX_BARCODE_NO = @box_barcode_no
--OR A.PACKING_ORDER_NO = @packing_order_no
) AA
--WHERE AA.STOCK_QTY > 0
END
ELSE
BEGIN
SELECT
AA.DETAIL_STOCK_ID,
AA.PACKING_ORDER_NO,
AA.PUBLISH_GS1_128,
AA.LOT_NO,
AA.SERIAL_NO,
AA.VALID_DATE,
AA.MAPPING_GS1_BARCODE,
AA.MAPPING_BOX_TYPE,
AA.BOX_BARCODE_NO,
AA.RECEIPT_STATUS,
AA.RECEIPT_DATE,
AA.PROD_QTY,
AA.STOCK_QTY
FROM(
SELECT A.DETAIL_STOCK_ID
,A.PACKING_ORDER_NO
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.LOT_NO AS LOT_NO
, CASE WHEN A.SERIAL_NO IS NOT NULL THEN A.SERIAL_NO
ELSE CONVERT(NVARCHAR,ROW_NUMBER() OVER( PARTITION BY A.LOT_NO ORDER BY A.DETAIL_STOCK_ID ASC )) END AS SERIAL_NO
, A.VALID_DATE AS VALID_DATE
, CASE WHEN B.MAPPING_GS1_BARCODE IS NOT NULL THEN B.MAPPING_GS1_BARCODE ELSE C.MAPPING_GS1_BARCODE END MAPPING_GS1_BARCODE
, CASE WHEN B.MAPPING_BOX_TYPE IS NOT NULL THEN B.MAPPING_BOX_TYPE ELSE C.MAPPING_BOX_TYPE END MAPPING_BOX_TYPE
, CASE WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO ELSE C.BOX_BARCODE_NO END BOX_BARCODE_NO
,E.RECEIPT_STATUS
,E.RECEIPT_DATE
,A.PROD_QTY AS PROD_QTY
,A.STOCK_QTY AS STOCK_QTY
FROM GD_PACKING_RESULT_ITEM A
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '1') B
ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
AND A.MAPPING_BOX_TYPE = B.BOX_TYPE
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '2') C
ON B.MAPPING_GS1_BARCODE = C.GS1_BOX_BARCODE_NO
AND B.MAPPING_BOX_TYPE = C.BOX_TYPE
LEFT OUTER JOIN GD_ITEM_STOCK E ON A.ITEM_STOCK_ID = E.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @stock_id --A.PACKING_ORDER_NO = @packing_order_no
) AA
--WHERE AA.STOCK_QTY > 0
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemStockStatus2D
๋ชฉ์ โ 2D ์ฌ๊ณ ํํฉ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@s_item | nvarchar(100) | IN |
@s_lot_no | nvarchar(100) | IN |
@item_stock_id | nvarchar(100) | IN |
@box_barcode_no | nvarchar(100) | IN |
@box_barcode_no3 | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ItemStockStatus2D]
@gubun VARCHAR(50) = '',
@s_item NVARCHAR(50) ='', --ํ๋ชฉ(์กฐํ)
@s_lot_no NVARCHAR(50) ='', --์ ์กฐ๋ฒํธ(์กฐํ)
@item_stock_id NVARCHAR(50) ='', --์ ํ์ฌ๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no NVARCHAR(50) ='', --์งํจ๋ฐ์ฝ๋๋ฒํธ
@box_barcode_no3 NVARCHAR(50) ='', --Full๋ฐ์ฝ๋๋ฒํธ
@message NVARCHAR(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
SET NOCOUNT ON
--์์ ํ ์ฌ๊ณ ๋ ์กฐํ
IF @GUBUN='T1S' BEGIN
SELECT a.item_cd
,b.item_nm --ํ๋ชฉ๋ช
,dbo.fn_Pack_unit_size(a.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,ISNULL(SUM(a.prod_qty_sum),0) as prod_qty_sum --์์ฐ๋
,ISNULL(SUM(a.etc_in_qty_sum),0) as etc_in_qty_sum --์ด ๊ธฐํ ์
๊ณ ๋
,ISNULL(SUM(C.issue_qty_sum),0) as issue_qty_sum --์ด ์ถ๊ณ ๋
,ISNULL(SUM(a.etc_out_qty_sum),0) as etc_out_qty_sum --์ด ๊ธฐํ ์ถ๊ณ ๋
,ISNULL(SUM(a.theory_qty),0) as theory_qty--์ด๋ก ์ฌ๊ณ ๋
,ISNULL(SUM(a.stock_qty_sum),0) as stock_qty_sum --์ฌ๊ณ ๋
--์ฌ๊ณ ๋ + ์
๊ณ ์์ ์ด ์ด๋ก ์ฌ๊ณ ๋๊ณผ ๊ฐ์ง ์๋ค๋ฉด ํ์
--,CASE WHEN SUM(a.stock_qty_sum) + SUM(a.prod_qty_plan ) <> SUM(a.theory_qty) - SUM(C.issue_qty_sum) THEN 0
,CASE WHEN ISNULL(SUM(a.prod_qty_sum),0) + SUM(a.prod_qty_plan) + ISNULL(SUM(a.etc_in_qty_sum),0) <> ISNULL(SUM(C.issue_qty_sum),0) + ISNULL(SUM(a.etc_out_qty_sum),0) + ISNULL(SUM(a.stock_qty_sum),0) THEN 0
ELSE 1 END AS stock_qty_chk
,SUM(prod_qty_plan) AS prod_qty_plan --์
๊ณ ์์ ๋
FROM ( SELECT a.item_cd, A.REFER_TYPE
,CASE WHEN A.REFER_TYPE !='9' THEN SUM(b.PROD_QTY) ELSE 0 END as prod_qty_sum
,SUM(b.STOCK_QTY) as stock_qty_sum
,SUM(isnull(c.etc_in_qty_sum,0)) + SUM(isnull(f.qty,0)) AS etc_in_qty_sum
--,SUM(d.issue_qty_sum) AS issue_qty_sum
,SUM(e.etc_out_qty_sum) AS etc_out_qty_sum
--,CASE WHEN a.RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(b.PROD_QTY,0)) + SUM(ISNULL(c.etc_in_qty_sum,0)))
-- - ( SUM(ISNULL(d.issue_qty_sum,0))+SUM(ISNULL(e.etc_out_qty_sum,0)) )
,CASE WHEN a.RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(b.PROD_QTY,0)) + SUM(ISNULL(c.etc_in_qty_sum,0)))
+SUM(ISNULL(e.etc_out_qty_sum,0))
WHEN a.RECEIPT_STATUS ='N' THEN SUM(b.PROD_QTY)
END AS theory_qty --์ด๋ก ์ฌ๊ณ ๋
,CASE WHEN RECEIPT_STATUS ='N' THEN SUM(b.PROD_QTY) ELSE 0 END AS prod_qty_plan
,RECEIPT_STATUS
FROM GD_ITEM_STOCK a
JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID AND B.CHECK_YN='Y'
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE, SUM(PROD_QTY) AS ETC_IN_QTY_SUM FROM GD_PACKING_RESULT_ITEM WHERE REFER_TYPE='9' GROUP BY MAPPING_GS1_BARCODE) C
ON B.GS1_BOX_BARCODE_NO=C.MAPPING_GS1_BARCODE
-- LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(ISSUE_QTY) AS ISSUE_QTY_SUM FROM GD_BOX_ISSUE GROUP BY BOX_BARCODE_NO) D
--ON B.BOX_BARCODE_NO=D.BOX_BARCODE_NO
LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(OUT_QTY) AS ETC_OUT_QTY_SUM FROM GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE OUT_TYPE !='5' GROUP BY BOX_BARCODE_NO) E
ON B.GS1_BOX_BARCODE_NO=E.BOX_BARCODE_NO
--LEFT JOIN RETURN_GOODS f on b.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
LEFT JOIN (SELECT BOX_BARCODE, SUM(QTY) AS QTY , GUBUN FROM RETURN_GOODS GROUP BY BOX_BARCODE, GUBUN) f on b.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
WHERE 1=1
AND B.BOX_TYPE = '1'
GROUP BY A.ITEM_CD,A.RECEIPT_STATUS,A.REFER_TYPE ) A
INNER JOIN item_standard b ON (a.item_cd=b.item_cd)
Left OUTER JOIN (SELECT b.ITEM_CD, SUM(a.issue_qty) AS ISSUE_QTY_SUM FROM gd_item_issue_history a INNER JOIN gd_item_issue b on (a.ITEM_ISSUE_ID = b.ITEM_ISSUE_ID AND LEN(a.LOT_NO) >0 ) GROUP BY b.ITEM_CD) C ON (A.ITEM_CD = C.ITEM_CD)
WHERE (a.item_cd like '%'+@s_item+'%' OR b.item_nm like '%'+@s_item+'%')
GROUP BY a.item_cd, b.item_nm
ORDER BY b.item_nm
SELECT @intErrorCode = @@ERROR
END
--์ ์กฐ๋ฒํธ๋ณ ์ฌ๊ณ ๋ ์กฐํ
ELSE IF( @GUBUN='T3S' ) BEGIN
SELECT item_stock_id
,b.item_cd
,c.item_nm --ํ๋ชฉ๋ช
,dbo.fn_Pack_unit_size(b.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,b.lot_no --์ ์กฐ๋ฒํธ
--,b.lot_date --์ ์กฐ์ผ์
,SUM(prod_qty_sum) as prod_qty_sum --์์ฐ๋
,SUM(etc_in_qty_sum)as etc_in_qty_sum --์ด ๊ธฐํ ์
๊ณ ๋
,SUM(d.ISSUE_QTY_SUM)as issue_qty_sum --์ด ์ถ๊ณ ๋
,SUM(etc_out_qty_sum)as etc_out_qty_sum --์ด ๊ธฐํ ์ถ๊ณ ๋
--,SUM(theory_qty) AS theory_qty --์ด๋ก ์ฌ๊ณ ๋
--,SUM(prod_qty_plan) AS prod_qty_plan--์
๊ณ ์์ ๋
,SUM(stock_qty_sum) as stock_qty_sum --์ฌ๊ณ ๋
--,ISSUE_STATUS
, 'Y' AS item_move --์ถํ์น์ธ์ํ
FROM ( SELECT ITEM_STOCK_ID
,A.ITEM_CD
,LOT_NO
--,LOT_DATE
,SUM(PROD_QTY_SUM) AS PROD_QTY_SUM
,SUM(STOCK_QTY_SUM) AS STOCK_QTY_SUM
,SUM(ETC_IN_QTY_SUM) AS ETC_IN_QTY_SUM
--,SUM(ISSUE_QTY_SUM) AS ISSUE_QTY_SUM
,SUM(ETC_OUT_QTY_SUM) AS ETC_OUT_QTY_SUM
-- --,CASE WHEN RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(PROD_QTY_SUM,0)) + SUM(ISNULL(ETC_IN_QTY_SUM,0)))
-- -- - ( SUM(ISNULL(ISSUE_QTY_SUM,0))+SUM(ISNULL(ETC_OUT_QTY_SUM,0)) )
-- ,CASE WHEN RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(PROD_QTY_SUM,0)) + SUM(ISNULL(ETC_IN_QTY_SUM,0)))
-- +SUM(ISNULL(ETC_OUT_QTY_SUM,0))
-- WHEN RECEIPT_STATUS ='N' THEN SUM(STOCK_QTY_SUM) + SUM(PROD_QTY_SUM)
-- END AS THEORY_QTY --์ด๋ก ์ฌ๊ณ ๋
--,CASE WHEN RECEIPT_STATUS ='N' THEN SUM(PROD_QTY_SUM) ELSE 0 END AS PROD_QTY_PLAN
--,RECEIPT_STATUS
FROM ( SELECT A.ITEM_STOCK_ID
, A.ITEM_CD
, B.BOX_BARCODE_NO
, LOT_NO
, LOT_DATE
, A.RECEIPT_STATUS
,CASE WHEN A.REFER_TYPE !='9' THEN SUM(B.PROD_QTY)-SUM(ISNULL(D.IN_QTY,0)) - SUM(ISNULL(g.QTY,0)) ELSE 0 END AS PROD_QTY_SUM
--, MAX(B.STOCK_QTY) AS STOCK_QTY_SUM
, SUM(B.STOCK_QTY) AS STOCK_QTY_SUM
, SUM(ISNULL(D.IN_QTY,0)) + SUM(ISNULL(g.QTY,0)) AS ETC_IN_QTY_SUM
--, SUM(ISNULL(E.ISSUE_QTY,0)) AS ISSUE_QTY_SUM
, SUM(ISNULL(F.OUT_QTY,0)) AS ETC_OUT_QTY_SUM
FROM GD_ITEM_STOCK A
JOIN GD_PACKING_RESULT_PACK B ON(A.ITEM_STOCK_ID =B.ITEM_STOCK_ID AND B.CHECK_YN='Y')
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE, SUM(PROD_QTY) AS IN_QTY FROM GD_PACKING_RESULT_ITEM WHERE REFER_TYPE=9 GROUP BY MAPPING_GS1_BARCODE) D ON (B.GS1_BOX_BARCODE_NO = D.MAPPING_GS1_BARCODE)
--LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(ISSUE_QTY) AS ISSUE_QTY FROM GD_BOX_ISSUE GROUP BY BOX_BARCODE_NO) E ON (B.BOX_BARCODE_NO = E.BOX_BARCODE_NO)
LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(OUT_QTY) AS OUT_QTY FROM GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE OUT_TYPE !='5' GROUP BY BOX_BARCODE_NO) F ON (B.GS1_BOX_BARCODE_NO = F.BOX_BARCODE_NO)
LEFT JOIN RETURN_GOODS g on b.GS1_BOX_BARCODE_NO=g.BOX_BARCODE AND g.GUBUN = '2'
WHERE 1=1
AND B.BOX_TYPE = '1' -- ์งํจ1์ฐจ์ ์ ๋ณด๋ง ์ทจ๋ํ๋ค.
GROUP BY A.ITEM_CD ,B.BOX_BARCODE_NO , LOT_NO , LOT_DATE , A.ITEM_STOCK_ID , A.RECEIPT_STATUS, A.REFER_TYPE
)A GROUP BY A.ITEM_CD ,LOT_NO, ITEM_STOCK_ID -- ,RECEIPT_STATUS , ETC_IN_QTY_SUM ,ETC_OUT_QTY_SUM, LOT_DATE
)B
INNER JOIN item_standard c ON (b.item_cd=c.item_cd)
Left OUTER JOIN (SELECT b.ITEM_CD,a.LOT_NO, SUM(a.issue_qty) AS ISSUE_QTY_SUM FROM gd_item_issue_history a INNER JOIN gd_item_issue b on (a.ITEM_ISSUE_ID = b.ITEM_ISSUE_ID) GROUP BY b.ITEM_CD,a.LOT_NO) D ON (b.item_cd = D.ITEM_CD AND B.LOT_NO = D.LOT_NO)
WHERE (b.item_cd LIKE '%'+@s_item+'%' OR c.item_nm like '%'+@s_item+'%')
AND b.LOT_NO LIKE '%'+ @s_lot_no+'%'
GROUP BY b.item_cd, c.item_nm , b.lot_no, item_stock_id -- , lot_date, RECEIPT_STATUS
ORDER BY c.item_nm ,lot_no -- DESC ,lot_date
SELECT @intErrorCode = @@ERROR
END
--์งํจ๋ณ ์ฌ๊ณ ๋ ์กฐํ(gv_Item)
ELSE IF @GUBUN='T2S'
BEGIN
SELECT distinct a.item_cd
,b.item_nm
,dbo.fn_Pack_unit_size(a.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,a.lot_date
,a.lot_no
,a.item_stock_id
,a.item_stock_id
FROM
gd_item_stock a
LEFT OUTER JOIN item_standard b ON (a.item_cd=b.item_cd)
LEFT OUTER JOIN gd_packing_result_pack c ON (a.ITEM_STOCK_ID = c.ITEM_STOCK_ID AND c.CHECK_YN='Y')
WHERE (a.item_cd like '%' + @s_item + '%')
AND a.lot_no like '%' + @s_lot_no + '%'
AND C.BOX_TYPE = '1' -- 1์ฐจ ์งํจ๋ง ์กฐํํ๋ค.
ORDER BY item_nm ,lot_no DESC ,a.lot_date
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='T2S2'
BEGIN
DECLARE @box_type nvarchar
select @box_type = second_pack_type
from item_standard
where item_cd = @s_item
select large_box_no, box_barcode_no, prod_qty, etc_in_qty, issue_qty, SUM(etc_out_qty)as etc_out_qty, stock_qty, box_barcode_no3
from(
select e.BOX_BARCODE_NO as large_box_no,
a.BOX_BARCODE_NO as box_barcode_no,
CASE WHEN c.REFER_TYPE !='9' THEN ISNULL(a.prod_qty,0) ELSE 0 END AS prod_qty,
(CASE WHEN c.REFER_TYPE='9' THEN ISNULL(a.prod_qty,0) ELSE 0 END) + isnull(f.QTY,0) AS etc_in_qty,
--ISNULL(c.PROD_QTY,0) as etc_in_qty,
isnull(b.ISSUE_QTY,0) as issue_qty,
isnull(d.OUT_QTY,0) as etc_out_qty,
isnull(a.STOCK_QTY,0) as stock_qty,
a.GS1_BOX_BARCODE_NO as box_barcode_no3
from GD_PACKING_RESULT_PACK a
LEFT JOIN (select b.MAPPING_GS1_BARCODE, sum(isnull(ISSUE_QTY,0)) as ISSUE_QTY from gd_item_issue_history a left join gd_packing_result_item b ON (a.BARCODE = b.GS1_BOX_BARCODE_NO) group by b.MAPPING_GS1_BARCODE) b on a.GS1_BOX_BARCODE_NO =b.MAPPING_GS1_BARCODE
LEFT join gd_item_stock c on a.ITEM_STOCK_ID=c.ITEM_STOCK_ID
LEFT JOIN GD_PACKING_RESULT_PACK_OUT_HISTORY d on a.GS1_BOX_BARCODE_NO=d.BOX_BARCODE_NO AND d.OUT_TYPE != '5'
LEFT JOIN GD_PACKING_RESULT_PACK e on a.MAPPING_GS1_BARCODE=e.GS1_BOX_BARCODE_NO
--LEFT JOIN RETURN_GOODS f on a.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
LEFT JOIN (SELECT BOX_BARCODE, SUM(QTY) AS QTY , GUBUN FROM RETURN_GOODS GROUP BY BOX_BARCODE, GUBUN) f on a.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
where a.BOX_TYPE='1'
AND a.ITEM_STOCK_ID = @item_stock_id
AND a.CHECK_YN='Y'
) f
group by large_box_no, box_barcode_no, prod_qty, etc_in_qty, issue_qty, stock_qty,box_barcode_no3
SELECT @intErrorCode = @@ERROR
END
--์งํจ๋ณ ์ฌ๊ณ ๋ ์กฐํ(gv_PackDetail)
ELSE IF @GUBUN='T2S3'
BEGIN
SELECT
a.in_out_date
,a.in_out_type
,a.in_out_type_detail
--,isnull(a.in_qty,0) as in_qty
,isnull(sum(a.in_qty),0) as in_qty
--,isnull(a.out_qty,0) as out_qty
,SUM(a.out_qty) as out_qty
,a.remark
,a.seq
FROM
(
SELECT
b.RECEIPT_DATE as in_out_date
,'์
๊ณ ' as in_out_type
,CASE WHEN b.REFER_TYPE !='9' THEN '์์ฐ์
๊ณ ' WHEN b.REFER_TYPE='9' THEN '๊ธฐํ์
๊ณ 'END as in_out_type_detail
,isnull(a.PROD_QTY,0) as in_qty
,0 as out_qty
,'' as remark
,1 as seq
FROM gd_packing_result_pack a
LEFT OUTER JOIN gd_item_stock b ON (a.item_stock_id = b.item_stock_id)
WHERE a.GS1_BOX_BARCODE_NO = @box_barcode_no3
AND a.CHECK_YN='Y'
UNION ALL
--์งํจ์ถ๊ณ
SELECT
--b.issue_date as in_out_date
Convert(datetime,a.ISSUE_DATE) as in_out_date
,'์ ํ์ถ๊ณ ' as in_out_type
,'์ ํ์ถ๊ณ ' as in_out_type_detail
,0 as in_qty
,isnull(a.issue_qty,0) as out_qty
,CASE WHEN A.ISSUE_QTY < 0 THEN '์ถ๊ณ ์ทจ์' ELSE '' END as remark
,2 as seq
FROM (select b.MAPPING_GS1_BARCODE,a.ISSUE_DATE, a.item_issue_id, isnull(ISSUE_QTY,0) as issue_qty from gd_item_issue_history a left join gd_packing_result_item b ON (a.BARCODE = b.GS1_BOX_BARCODE_NO)) a
--LEFT OUTER JOIN gd_item_issue b ON (a.item_issue_id = b.item_issue_id)
WHERE
a.MAPPING_GS1_BARCODE = @box_barcode_no3
UNION ALL
--๊ธฐํ์ถ๊ณ
SELECT
a.out_date as in_out_date
,'๊ธฐํ์ถ๊ณ ' as in_out_type
,b.common_part_nm as in_out_type_detail
,0 as in_qty
,isnull(a.out_qty,0) as out_qty
,a.out_remark as remark
,3 as seq
FROM gd_packing_result_pack_out_history a
LEFT OUTER JOIN common b on a.out_type=b.common_part_cd AND b.common_cd='GD301'
WHERE a.box_barcode_no = @box_barcode_no3
AND a.OUT_TYPE != '5'
--๋ฐํ์
๊ณ
UNION ALL
SELECT
a.CONFIRM_DATE as in_out_date
,CASE WHEN a.GUBUN = '2' THEN '์
๊ณ ' ELSE '๋ฐํ'END as in_out_type
,CASE WHEN a.GUBUN = '2' THEN '๋ฐํ์
๊ณ ' WHEN a.GUBUN = '3' THEN '๋ฐํํ๊ธฐ' ELSE '๋ฐํ๋๊ธฐ'END as in_out_type_detail
,isnull(a.QTY,0) as in_qty
,0 as out_qty
,'' as remark
,4 as seq
FROM RETURN_GOODS a
WHERE a.BOX_BARCODE = @box_barcode_no3
) a
group by in_out_date, in_out_type, in_out_type_detail, in_qty, remark, a.seq
ORDER BY
a.in_out_date,a.seq
SELECT @intErrorCode = @@ERROR
END
--ํ๋ชฉ๋ณ ์ผ๋ จ๋ฒํธ ์ฌ๊ณ ๋ ์กฐํ(gv_PackDetail)
ELSE IF @GUBUN='T2S4'
BEGIN
DECLARE @stock_status nvarchar(1)
SELECT @stock_status = RECEIPT_STATUS
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID LIKE '%'+ @item_stock_id+'%'
-- ''์๋ CHAR(29) ๊ฐ ์กด์ฌ
SELECT REPLACE(GS1_BOX_BARCODE_NO, 'โจGSโฉ', '<GS>') AS GS1_BOX_BARCODE_NO
,CASE WHEN @stock_status = 'N' THEN '์
๊ณ ๋๊ธฐ'
ELSE '์
๊ณ ์๋ฃ' END AS RECEIPT_STATUS
,CASE WHEN @stock_status = 'N' THEN ''
WHEN @stock_status = 'Y' AND STOCK_QTY = 0 THEN '์ถ๊ณ '
WHEN @stock_status = 'Y' AND STOCK_QTY >= 1 THEN '๋๊ธฐ'
END AS STOCK_STATUS
FROM GD_PACKING_RESULT_ITEM
WHERE ITEM_STOCK_ID LIKE '%'+ @item_stock_id+'%'
ORDER BY SERIAL_NO ASC
SELECT @intErrorCode = @@ERROR
END
RETURN (@intErrorCode)
SP_ItemStockStatus2D_bakup
๋ชฉ์ โ 2D ์ฌ๊ณ ํํฉ (๋ฐฑ์ ๋ณธ, ๋ง์ด๊ทธ๋ ์ด์ ์ ์ธ ๋์).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@s_item | nvarchar(100) | IN |
@s_lot_no | nvarchar(100) | IN |
@item_stock_id | nvarchar(100) | IN |
@box_barcode_no | nvarchar(100) | IN |
@box_barcode_no3 | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
create PROCEDURE [dbo].[SP_ItemStockStatus2D_bakup]
@gubun VARCHAR(50) = '',
@s_item NVARCHAR(50) ='', --ํ๋ชฉ(์กฐํ)
@s_lot_no NVARCHAR(50) ='', --์ ์กฐ๋ฒํธ(์กฐํ)
@item_stock_id NVARCHAR(50) ='', --์ ํ์ฌ๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no NVARCHAR(50) ='', --์งํจ๋ฐ์ฝ๋๋ฒํธ
@box_barcode_no3 NVARCHAR(50) ='', --Full๋ฐ์ฝ๋๋ฒํธ
@message NVARCHAR(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
SET NOCOUNT ON
--์์ ํ ์ฌ๊ณ ๋ ์กฐํ
IF @GUBUN='T1S' BEGIN
SELECT a.item_cd
,b.item_nm --ํ๋ชฉ๋ช
,dbo.fn_Pack_unit_size(a.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,ISNULL(SUM(a.prod_qty_sum),0) as prod_qty_sum --์์ฐ๋
,ISNULL(SUM(a.etc_in_qty_sum),0) as etc_in_qty_sum --์ด ๊ธฐํ ์
๊ณ ๋
,ISNULL(SUM(C.issue_qty_sum),0) as issue_qty_sum --์ด ์ถ๊ณ ๋
,ISNULL(SUM(a.etc_out_qty_sum),0) as etc_out_qty_sum --์ด ๊ธฐํ ์ถ๊ณ ๋
,ISNULL(SUM(a.theory_qty),0) as theory_qty--์ด๋ก ์ฌ๊ณ ๋
,ISNULL(SUM(a.stock_qty_sum),0) as stock_qty_sum --์ฌ๊ณ ๋
--์ฌ๊ณ ๋ + ์
๊ณ ์์ ์ด ์ด๋ก ์ฌ๊ณ ๋๊ณผ ๊ฐ์ง ์๋ค๋ฉด ํ์
--,CASE WHEN SUM(a.stock_qty_sum) + SUM(a.prod_qty_plan ) <> SUM(a.theory_qty) - SUM(C.issue_qty_sum) THEN 0
,CASE WHEN SUM(a.prod_qty_sum) + SUM(a.prod_qty_plan) + SUM(a.etc_in_qty_sum) <> SUM(C.issue_qty_sum) + SUM(a.etc_out_qty_sum) + SUM(a.stock_qty_sum) THEN 0
ELSE 1 END AS stock_qty_chk
,SUM(prod_qty_plan) AS prod_qty_plan --์
๊ณ ์์ ๋
FROM ( SELECT a.item_cd, A.REFER_TYPE
,CASE WHEN A.REFER_TYPE !='9' THEN SUM(b.PROD_QTY) ELSE 0 END as prod_qty_sum
,SUM(b.STOCK_QTY) as stock_qty_sum
,SUM(isnull(c.etc_in_qty_sum,0)) + SUM(isnull(f.qty,0)) AS etc_in_qty_sum
--,SUM(d.issue_qty_sum) AS issue_qty_sum
,SUM(e.etc_out_qty_sum) AS etc_out_qty_sum
--,CASE WHEN a.RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(b.PROD_QTY,0)) + SUM(ISNULL(c.etc_in_qty_sum,0)))
-- - ( SUM(ISNULL(d.issue_qty_sum,0))+SUM(ISNULL(e.etc_out_qty_sum,0)) )
,CASE WHEN a.RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(b.PROD_QTY,0)) + SUM(ISNULL(c.etc_in_qty_sum,0)))
+SUM(ISNULL(e.etc_out_qty_sum,0))
WHEN a.RECEIPT_STATUS ='N' THEN SUM(b.PROD_QTY)
END AS theory_qty --์ด๋ก ์ฌ๊ณ ๋
,CASE WHEN RECEIPT_STATUS ='N' THEN SUM(b.PROD_QTY) ELSE 0 END AS prod_qty_plan
,RECEIPT_STATUS
FROM GD_ITEM_STOCK a
JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID AND B.CHECK_YN='Y'
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE, SUM(PROD_QTY) AS ETC_IN_QTY_SUM FROM GD_PACKING_RESULT_ITEM WHERE REFER_TYPE='9' GROUP BY MAPPING_GS1_BARCODE) C
ON B.GS1_BOX_BARCODE_NO=C.MAPPING_GS1_BARCODE
-- LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(ISSUE_QTY) AS ISSUE_QTY_SUM FROM GD_BOX_ISSUE GROUP BY BOX_BARCODE_NO) D
--ON B.BOX_BARCODE_NO=D.BOX_BARCODE_NO
LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(OUT_QTY) AS ETC_OUT_QTY_SUM FROM GD_PACKING_RESULT_PACK_OUT_HISTORY GROUP BY BOX_BARCODE_NO) E
ON B.GS1_BOX_BARCODE_NO=E.BOX_BARCODE_NO
--LEFT JOIN RETURN_GOODS f on b.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
LEFT JOIN (SELECT BOX_BARCODE, SUM(QTY) AS QTY , GUBUN FROM RETURN_GOODS GROUP BY BOX_BARCODE, GUBUN) f on b.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
WHERE 1=1
AND B.BOX_TYPE = '1'
GROUP BY A.ITEM_CD,A.RECEIPT_STATUS,A.REFER_TYPE ) A
INNER JOIN item_standard b ON (a.item_cd=b.item_cd)
Left OUTER JOIN (SELECT b.ITEM_CD, SUM(a.issue_qty) AS ISSUE_QTY_SUM FROM gd_item_issue_history a INNER JOIN gd_item_issue b on (a.ITEM_ISSUE_ID = b.ITEM_ISSUE_ID AND LEN(a.LOT_NO) >0 ) GROUP BY b.ITEM_CD) C ON (A.ITEM_CD = C.ITEM_CD)
WHERE (a.item_cd like '%'+@s_item+'%' OR b.item_nm like '%'+@s_item+'%')
GROUP BY a.item_cd, b.item_nm
ORDER BY b.item_nm
SELECT @intErrorCode = @@ERROR
END
--์ ์กฐ๋ฒํธ๋ณ ์ฌ๊ณ ๋ ์กฐํ
ELSE IF( @GUBUN='T3S' ) BEGIN
SELECT item_stock_id
,b.item_cd
,c.item_nm --ํ๋ชฉ๋ช
,dbo.fn_Pack_unit_size(b.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,b.lot_no --์ ์กฐ๋ฒํธ
--,b.lot_date --์ ์กฐ์ผ์
,SUM(prod_qty_sum) as prod_qty_sum --์์ฐ๋
,SUM(etc_in_qty_sum)as etc_in_qty_sum --์ด ๊ธฐํ ์
๊ณ ๋
,SUM(d.ISSUE_QTY_SUM)as issue_qty_sum --์ด ์ถ๊ณ ๋
,SUM(etc_out_qty_sum)as etc_out_qty_sum --์ด ๊ธฐํ ์ถ๊ณ ๋
--,SUM(theory_qty) AS theory_qty --์ด๋ก ์ฌ๊ณ ๋
--,SUM(prod_qty_plan) AS prod_qty_plan--์
๊ณ ์์ ๋
,SUM(stock_qty_sum) as stock_qty_sum --์ฌ๊ณ ๋
--,ISSUE_STATUS
, 'Y' AS item_move --์ถํ์น์ธ์ํ
FROM ( SELECT ITEM_STOCK_ID
,A.ITEM_CD
,LOT_NO
--,LOT_DATE
,SUM(PROD_QTY_SUM) AS PROD_QTY_SUM
,SUM(STOCK_QTY_SUM) AS STOCK_QTY_SUM
,SUM(ETC_IN_QTY_SUM) AS ETC_IN_QTY_SUM
--,SUM(ISSUE_QTY_SUM) AS ISSUE_QTY_SUM
,SUM(ETC_OUT_QTY_SUM) AS ETC_OUT_QTY_SUM
-- --,CASE WHEN RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(PROD_QTY_SUM,0)) + SUM(ISNULL(ETC_IN_QTY_SUM,0)))
-- -- - ( SUM(ISNULL(ISSUE_QTY_SUM,0))+SUM(ISNULL(ETC_OUT_QTY_SUM,0)) )
-- ,CASE WHEN RECEIPT_STATUS ='Y' THEN (SUM(ISNULL(PROD_QTY_SUM,0)) + SUM(ISNULL(ETC_IN_QTY_SUM,0)))
-- +SUM(ISNULL(ETC_OUT_QTY_SUM,0))
-- WHEN RECEIPT_STATUS ='N' THEN SUM(STOCK_QTY_SUM) + SUM(PROD_QTY_SUM)
-- END AS THEORY_QTY --์ด๋ก ์ฌ๊ณ ๋
--,CASE WHEN RECEIPT_STATUS ='N' THEN SUM(PROD_QTY_SUM) ELSE 0 END AS PROD_QTY_PLAN
--,RECEIPT_STATUS
FROM ( SELECT A.ITEM_STOCK_ID
, A.ITEM_CD
, B.BOX_BARCODE_NO
, LOT_NO
, LOT_DATE
, A.RECEIPT_STATUS
,CASE WHEN A.REFER_TYPE !='9' THEN MAX(B.PROD_QTY) ELSE 0 END AS PROD_QTY_SUM
, MAX(B.STOCK_QTY) AS STOCK_QTY_SUM
, SUM(ISNULL(D.IN_QTY,0)) + SUM(ISNULL(g.QTY,0)) AS ETC_IN_QTY_SUM
--, SUM(ISNULL(E.ISSUE_QTY,0)) AS ISSUE_QTY_SUM
, SUM(ISNULL(F.OUT_QTY,0)) AS ETC_OUT_QTY_SUM
FROM GD_ITEM_STOCK A
JOIN GD_PACKING_RESULT_PACK B ON(A.ITEM_STOCK_ID =B.ITEM_STOCK_ID AND B.CHECK_YN='Y')
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE, SUM(PROD_QTY) AS IN_QTY FROM GD_PACKING_RESULT_ITEM WHERE REFER_TYPE=9 GROUP BY MAPPING_GS1_BARCODE) D ON (B.GS1_BOX_BARCODE_NO = D.MAPPING_GS1_BARCODE)
--LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(ISSUE_QTY) AS ISSUE_QTY FROM GD_BOX_ISSUE GROUP BY BOX_BARCODE_NO) E ON (B.BOX_BARCODE_NO = E.BOX_BARCODE_NO)
LEFT OUTER JOIN (SELECT BOX_BARCODE_NO, SUM(OUT_QTY) AS OUT_QTY FROM GD_PACKING_RESULT_PACK_OUT_HISTORY GROUP BY BOX_BARCODE_NO) F ON (B.GS1_BOX_BARCODE_NO = F.BOX_BARCODE_NO)
LEFT JOIN RETURN_GOODS g on b.GS1_BOX_BARCODE_NO=g.BOX_BARCODE AND g.GUBUN = '2'
WHERE 1=1
AND B.BOX_TYPE = '1' -- ์งํจ1์ฐจ์ ์ ๋ณด๋ง ์ทจ๋ํ๋ค.
GROUP BY A.ITEM_CD ,B.BOX_BARCODE_NO , LOT_NO , LOT_DATE , A.ITEM_STOCK_ID , A.RECEIPT_STATUS, A.REFER_TYPE
)A GROUP BY A.ITEM_CD ,LOT_NO, ITEM_STOCK_ID -- ,RECEIPT_STATUS , ETC_IN_QTY_SUM ,ETC_OUT_QTY_SUM, LOT_DATE
)B
INNER JOIN item_standard c ON (b.item_cd=c.item_cd)
Left OUTER JOIN (SELECT b.ITEM_CD,a.LOT_NO, SUM(a.issue_qty) AS ISSUE_QTY_SUM FROM gd_item_issue_history a INNER JOIN gd_item_issue b on (a.ITEM_ISSUE_ID = b.ITEM_ISSUE_ID) GROUP BY b.ITEM_CD,a.LOT_NO) D ON (b.item_cd = D.ITEM_CD AND B.LOT_NO = D.LOT_NO)
WHERE (b.item_cd LIKE '%'+@s_item+'%' OR c.item_nm like '%'+@s_item+'%')
AND b.LOT_NO LIKE '%'+ @s_lot_no+'%'
GROUP BY b.item_cd, c.item_nm , b.lot_no, item_stock_id -- , lot_date, RECEIPT_STATUS
ORDER BY c.item_nm ,lot_no -- DESC ,lot_date
SELECT @intErrorCode = @@ERROR
END
--์งํจ๋ณ ์ฌ๊ณ ๋ ์กฐํ(gv_Item)
ELSE IF @GUBUN='T2S'
BEGIN
SELECT distinct a.item_cd
,b.item_nm
,dbo.fn_Pack_unit_size(a.item_cd) as item_lot_size --ํฌ์ฅ๋จ์
,a.lot_date
,a.lot_no
,a.item_stock_id
,a.item_stock_id
FROM
gd_item_stock a
LEFT OUTER JOIN item_standard b ON (a.item_cd=b.item_cd)
LEFT OUTER JOIN gd_packing_result_pack c ON (a.ITEM_STOCK_ID = c.ITEM_STOCK_ID AND c.CHECK_YN='Y')
WHERE (a.item_cd like '%' + @s_item + '%')
AND a.lot_no like '%' + @s_lot_no + '%'
AND C.BOX_TYPE = '1' -- 1์ฐจ ์งํจ๋ง ์กฐํํ๋ค.
ORDER BY item_nm ,lot_no DESC ,a.lot_date
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='T2S2'
BEGIN
DECLARE @box_type nvarchar
select @box_type = second_pack_type
from item_standard
where item_cd = @s_item
select large_box_no, box_barcode_no, prod_qty, etc_in_qty, issue_qty, SUM(etc_out_qty)as etc_out_qty, stock_qty, box_barcode_no3
from(
select e.BOX_BARCODE_NO as large_box_no,
a.BOX_BARCODE_NO as box_barcode_no,
CASE WHEN c.REFER_TYPE !='9' THEN ISNULL(a.prod_qty,0) ELSE 0 END AS prod_qty,
(CASE WHEN c.REFER_TYPE='9' THEN ISNULL(a.prod_qty,0) ELSE 0 END) + isnull(f.QTY,0) AS etc_in_qty,
--ISNULL(c.PROD_QTY,0) as etc_in_qty,
isnull(b.ISSUE_QTY,0) as issue_qty,
isnull(d.OUT_QTY,0) as etc_out_qty,
isnull(a.STOCK_QTY,0) as stock_qty,
a.GS1_BOX_BARCODE_NO as box_barcode_no3
from GD_PACKING_RESULT_PACK a
LEFT JOIN (select b.MAPPING_GS1_BARCODE, sum(isnull(ISSUE_QTY,0)) as ISSUE_QTY from gd_item_issue_history a left join gd_packing_result_item b ON (a.BARCODE = b.GS1_BOX_BARCODE_NO) group by b.MAPPING_GS1_BARCODE) b on a.BOX_BARCODE_NO =b.MAPPING_GS1_BARCODE
LEFT join gd_item_stock c on a.ITEM_STOCK_ID=c.ITEM_STOCK_ID
LEFT JOIN GD_PACKING_RESULT_PACK_OUT_HISTORY d on a.GS1_BOX_BARCODE_NO=d.BOX_BARCODE_NO
LEFT JOIN GD_PACKING_RESULT_PACK e on a.MAPPING_GS1_BARCODE=e.GS1_BOX_BARCODE_NO
--LEFT JOIN RETURN_GOODS f on a.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
LEFT JOIN (SELECT BOX_BARCODE, SUM(QTY) AS QTY , GUBUN FROM RETURN_GOODS GROUP BY BOX_BARCODE, GUBUN) f on a.GS1_BOX_BARCODE_NO=f.BOX_BARCODE AND f.GUBUN = '2'
where a.BOX_TYPE='1'
AND a.ITEM_STOCK_ID = @item_stock_id
AND a.CHECK_YN='Y'
) f
group by large_box_no, box_barcode_no, prod_qty, etc_in_qty, issue_qty, stock_qty,box_barcode_no3
SELECT @intErrorCode = @@ERROR
END
--์งํจ๋ณ ์ฌ๊ณ ๋ ์กฐํ(gv_PackDetail)
ELSE IF @GUBUN='T2S3'
BEGIN
SELECT
a.in_out_date
,a.in_out_type
,a.in_out_type_detail
--,isnull(a.in_qty,0) as in_qty
,isnull(sum(a.in_qty),0) as in_qty
--,isnull(a.out_qty,0) as out_qty
,SUM(a.out_qty) as out_qty
,a.remark
,a.seq
FROM
(
SELECT
b.RECEIPT_DATE as in_out_date
,'์
๊ณ ' as in_out_type
,CASE WHEN b.REFER_TYPE !='9' THEN '์์ฐ์
๊ณ ' WHEN b.REFER_TYPE='9' THEN '๊ธฐํ์
๊ณ 'END as in_out_type_detail
,isnull(a.PROD_QTY,0) as in_qty
,0 as out_qty
,'' as remark
,1 as seq
FROM gd_packing_result_pack a
LEFT OUTER JOIN gd_item_stock b ON (a.item_stock_id = b.item_stock_id)
WHERE a.GS1_BOX_BARCODE_NO = @box_barcode_no3
AND a.CHECK_YN='Y'
UNION ALL
--์งํจ์ถ๊ณ
SELECT
--b.issue_date as in_out_date
Convert(datetime,a.ISSUE_DATE) as in_out_date
,'์ ํ์ถ๊ณ ' as in_out_type
,'์ ํ์ถ๊ณ ' as in_out_type_detail
,0 as in_qty
,isnull(a.issue_qty,0) as out_qty
,CASE WHEN A.ISSUE_QTY < 0 THEN '์ถ๊ณ ์ทจ์' ELSE '' END as remark
,2 as seq
FROM (select b.MAPPING_GS1_BARCODE,a.ISSUE_DATE, a.item_issue_id, isnull(ISSUE_QTY,0) as issue_qty from gd_item_issue_history a left join gd_packing_result_item b ON (a.BARCODE = b.GS1_BOX_BARCODE_NO)) a
--LEFT OUTER JOIN gd_item_issue b ON (a.item_issue_id = b.item_issue_id)
WHERE
a.MAPPING_GS1_BARCODE = @box_barcode_no3
UNION ALL
--๊ธฐํ์ถ๊ณ
SELECT
a.out_date as in_out_date
,'๊ธฐํ์ถ๊ณ ' as in_out_type
,b.common_part_nm as in_out_type_detail
,0 as in_qty
,isnull(a.out_qty,0) as out_qty
,a.out_remark as remark
,3 as seq
FROM gd_packing_result_pack_out_history a
LEFT OUTER JOIN common b on a.out_type=b.common_part_cd AND b.common_cd='GD301'
WHERE
a.box_barcode_no = @box_barcode_no3
--๋ฐํ์
๊ณ
UNION ALL
SELECT
a.CONFIRM_DATE as in_out_date
,CASE WHEN a.GUBUN = '2' THEN '์
๊ณ ' ELSE '๋ฐํ'END as in_out_type
,CASE WHEN a.GUBUN = '2' THEN '๋ฐํ์
๊ณ ' WHEN a.GUBUN = '3' THEN '๋ฐํํ๊ธฐ' ELSE '๋ฐํ๋๊ธฐ'END as in_out_type_detail
,isnull(a.QTY,0) as in_qty
,0 as out_qty
,'' as remark
,4 as seq
FROM RETURN_GOODS a
WHERE a.BOX_BARCODE = @box_barcode_no3
) a
group by in_out_date, in_out_type, in_out_type_detail, in_qty, remark, a.seq
ORDER BY
a.in_out_date,a.seq
SELECT @intErrorCode = @@ERROR
END
--ํ๋ชฉ๋ณ ์ผ๋ จ๋ฒํธ ์ฌ๊ณ ๋ ์กฐํ(gv_PackDetail)
ELSE IF @GUBUN='T2S4'
BEGIN
DECLARE @stock_status nvarchar(1)
SELECT @stock_status = RECEIPT_STATUS
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID LIKE '%'+ @item_stock_id+'%'
-- ''์๋ CHAR(29) ๊ฐ ์กด์ฌ
SELECT REPLACE(GS1_BOX_BARCODE_NO, 'โจGSโฉ', '<GS>') AS GS1_BOX_BARCODE_NO
,CASE WHEN @stock_status = 'N' THEN '์
๊ณ ๋๊ธฐ'
ELSE '์
๊ณ ์๋ฃ' END AS RECEIPT_STATUS
,CASE WHEN @stock_status = 'N' THEN ''
WHEN @stock_status = 'Y' AND STOCK_QTY = 0 THEN '์ถ๊ณ '
WHEN @stock_status = 'Y' AND STOCK_QTY >= 1 THEN '๋๊ธฐ'
END AS STOCK_STATUS
FROM GD_PACKING_RESULT_ITEM
WHERE ITEM_STOCK_ID LIKE '%'+ @item_stock_id+'%'
ORDER BY SERIAL_NO ASC
SELECT @intErrorCode = @@ERROR
END
RETURN (@intErrorCode)
SP_StockExtra
๋ชฉ์ โ ์ฌ๊ณ ๋ถ๊ฐ ์ ๋ณด(๊ฒฝ์ยท์ ํต๊ธฐํ ๋ฑ) ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@mapping_gs1_barcode | nvarchar(800) | IN |
@mapping_box_type | nvarchar(200) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@stock_qty | decimal(9) | IN |
@prod_qty | decimal(9) | IN |
@extension_cd | char(1) | IN |
@message | nvarchar(4000) | OUTPUT |
@identity | nvarchar(100) | OUTPUT |
@packing_order_no | nvarchar(100) | IN |
@item_stock_id | int(4) | IN |
@item_pack_barcode | nvarchar(100) | IN |
@item_cd | nvarchar(60) | IN |
@lot_no | nvarchar(40) | IN |
@packing_date | nvarchar(20) | IN |
@packing_qty | decimal(9) | IN |
@end_date | nvarchar(20) | IN |
@_item_stock_id | nvarchar(30) | IN |
@macaddress | nvarchar(100) | IN |
@gs1_box_barcode_no | nvarchar(800) | IN |
@box_barcode_no | char(15) | IN |
@serial_no | nvarchar(24) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
์ ์ ์ :
SP ๋ช
: SP_StockExtra
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๊ธฐํ์
๊ณ (2D)
์ฌ ์ฉ ์ฒ : StockExtra.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_StockExtra]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@gs1_barcode NVARCHAR(400) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(100) = '' --๋ฐ์ค ํ์
,@mapping_gs1_barcode NVARCHAR(400) = '' --๋งตํํ ๋ฐ์ฝ๋
,@mapping_box_type NVARCHAR(100) = '' --๋งตํํ ๋ฐ์ฝ๋์ ๋ฐ์คํ์
\
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@stock_qty DECIMAL(15,4) = 0 --์
๊ณ ๋
,@prod_qty decimal(15,4) = 0
,@extension_cd char(1) = ''
,@message NVARCHAR(2000) output
,@identity nvarchar(50) = '' output
,@packing_order_no NVARCHAR(50) = ''
,@item_stock_id int =0
,@item_pack_barcode NVARCHAR(50) = ''
,@item_cd NVARCHAR(30) = ''
,@lot_no NVARCHAR(20) = ''
,@packing_date nvarchar(10) = ''
,@packing_qty decimal(15,4) = 0
,@end_date nvarchar(10)=''
,@_item_stock_id nvarchar(15) = ''
,@macaddress nvarchar(50) =''
,@gs1_box_barcode_no nvarchar(400) = ''
,@box_barcode_no char(15) =''
,@serial_no nvarchar(12) = ''
,@sys_emp_cd nvarchar(50) = ''
,@s_item_cd NVARCHAR(20) = ''
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๋ฐ์ฝ๋ ์ ๋ณด
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT A.ITEM_CD AS ITEM_CD
,A.ITEM_NM
,A.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,A.SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,A.SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,A.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
FROM ITEM_STANDARD A
WHERE 1=1
AND A.ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
--AND A.ITEM_GB = 1
END
-- ๊ฐ๋ณํฌ์ฅ ์ ํจ์ฑ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
-- ๋งตํ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF EXISTS (Select 1 from gd_packing_result_item where GS1_BOX_BARCODE_NO=@gs1_barcode)
BEGIN
RAISERROR ('์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋ฐํ์ฌ๋ถ
-- [๋ถ๊ธฐ] @gubun = 'S3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S3') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode) = 0
BEGIN
RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)' , 16, 1);
END
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
RAISERROR ('์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
END
-- gd_item_stock ์กด์ฌ์ฌ๋ถ ์ฒดํฌ
-- [๋ถ๊ธฐ] @gubun = 'S4' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S4') BEGIN
SELECT ITEM_STOCK_ID FROM gd_item_stock
WHERE ITEM_CD = @item_cd AND LOT_NO = @lot_no
END
DECLARE @box_barcode CHAR(15) --์งํจ๋ฒํธ :๋ฐ์ค์ผ๋ จ๋ฒํธ ์๋ฆฟ์ ์ฆ๊ฐ๋ก ์ธํ ๋ฌธ์์ด ์ฆ๊ฐ 10 -> 15
--,@item_stock_id INT --์
๊ณ ์ผ๋ จ๋ฒํธ
,@temp_DETAIL_STOCK_ID INT --Auditํ
์ด๋ธ์ ๋ฃ๊ธฐ ์ํ id
-- ๊ฐ๋ณํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U1') BEGIN
SELECT @box_barcode = BOX_BARCODE_NO
,@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
--2014.03.07 ์ด๋ณ์ฐฝ ์์
--SELECT @temp_detail_stock_id = MAX(DETAIL_STOCK_ID)
--FROM GD_PACKING_RESULT_ITEM
set @temp_detail_stock_id = ident_current('GD_PACKING_RESULT_ITEM')
IF (@box_barcode IS NOT NULL) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
REFER_TYPE -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,GS1_BOX_BARCODE_NO
,BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,LOT_NO
,VALID_DATE
,SERIAL_NO
,INSERT_USER_CD
,INSERT_TIME
)
Values ('9'
,@item_stock_id
,@stock_qty
,0.000
,@gs1_barcode
,@box_barcode
,@mapping_gs1_barcode
,@mapping_box_type
,@lot_no
,@end_date
,@serial_no
,@insert_user_cd
,GETDATE()
)
SELECT @intErrorCode = @@ERROR
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U2') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
UPDATE A SET
A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,A.MAPPING_BOX_TYPE = @mapping_box_type
,A.UPDATE_TIME = GETDATE()
,A.UPDATE_USER_CD = @update_user_cd
FROM GD_PACKING_RESULT_PACK A
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND ISNULL(MAPPING_GS1_BARCODE,'') = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'INSERT_STOCK') -- ๋ฐ์ดํฐ ์
๋ ฅ๋ถ๋ถ(์ ํ์
๊ณ ์
๋ ฅ)
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์
๋ ฅ
INSERT INTO
gd_item_stock(
--packing_result_id --ํฌ์ฅ์ค์ ์ผ๋ จ๋ฒํธ
prod_return_ck --์ ํ์
๊ณ ๊ตฌ๋ถ 1:์์ฐ 2:๋ฐํ
,item_cd --์ ํ์ฝ๋
,lot_no --์ ์กฐ๋ฒํธ
,receipt_date --์
๊ณ ์ผ์
,receipt_qty --์
๊ณ ์๋
,RECEIPT_STATUS
,end_date --์ ํจ๊ธฐ๊ฐ
,insert_user_cd
,insert_time
,pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
,refer_type
)
VALUES
(
--0
'1' --1:์์ฐ
,@item_cd
,@lot_no
,@packing_date
,@packing_qty
, 'N'
,@end_date
,@insert_user_cd
,getdate()
,'N' --์ฌ์ ๋ฐํ์ฌ๋ถ
,'9'
)
Select @@IDENTITY
DECLARE @item_stock_id2 INT
SET @item_stock_id2 = @@IDENTITY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock WHERE ITEM_STOCK_ID = @item_stock_id2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'UPDATE_STOCK') --
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์์
UPDATE
gd_item_stock
SET
receipt_date = @packing_date --์
๊ณ ์ผ์
,receipt_qty = receipt_qty + @packing_qty --์
๊ณ ์๋(์๋)
,end_date = @end_date --์ ํจ๊ธฐ๊ฐ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
ITEM_STOCK_ID = @_item_stock_id
select 1
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock WHERE ITEM_STOCK_ID = @_item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
ELSE ROLLBACK TRANSACTION
END
ELSE IF (@GUBUN='INSERT_PACK')
BEGIN
--ํ๋ผ๋ฏธํฐ XGD7 ๊ฐ์ด ๊ธธ์ด์ง๋ฉด ๋ณ๊ฒฝํ์ ๊ธฐ๋ณธ : NVARCHAR(10)
DECLARE @BARCODE_NO NVARCHAR(50)
DECLARE @REPR_CODE_CK CHAR(1) = ''
SELECT @REPR_CODE_CK = ISNULL(REPLACE(REPR_CODE_CK,'',NULL),'Y') FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @item_pack_barcode
IF (@box_type = '1' AND @REPR_CODE_CK = 'N') BEGIN
SET @extension_cd = '0'
END
ELSE BEGIN
SET @extension_cd = @box_type
END
BEGIN TRY
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@macaddress)
SET @BARCODE_NO=DBO.FN_GETSSCC(@extension_cd,@macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO
--INSERT INTO MAX_BOX_BARCODE_NO (BOX_BARCODE_NO) VALUES (@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO=LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID=@ITEM_STOCK_ID
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END TRY
BEGIN CATCH
--SET @BARCODE_NO=DBO.FN_GETBOXBARCODENO(@macaddress)
SET @BARCODE_NO=DBO.FN_GETSSCC(@extension_cd,@macaddress)
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9)
,@ITEM_STOCK_ID
,@PROD_QTY
--,@STOCK_QTY
,CASE WHEN RECEIPT_STATUS='Y' THEN @PROD_QTY ELSE @STOCK_QTY END -- ์ํ์๋ขฐ ์ํ๊ฐ ์น์ธ์ด ์๋๋ผ๋ ์ฌ๊ณ ๋์ ํฌ์ฅ๋์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ์ํด ํ์ฌ ํฌ์ฅ๋์ ์ฌ๊ณ ๋์ผ๋ก ๋ฃ๊ณ ์ฌ๊ณ ๋์ ์ฃผ์์ฒ๋ฆฌ๋ฅผ ํ์
,@INSERT_USER_CD
,GETDATE()
,@BOX_TYPE
,@BARCODE_NO
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID=@ITEM_STOCK_ID
--DELETE MAX_BOX_BARCODE_NO
--INSERT INTO MAX_BOX_BARCODE_NO (BOX_BARCODE_NO) VALUES (@BARCODE_NO)
IF LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO=LEFT(RIGHT(rtrim(@BARCODE_NO), 10),9) WHERE EXTENSION_CD = @extension_cd
END
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID=@ITEM_STOCK_ID
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END CATCH
SET @IDENTITY = @BARCODE_NO;
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='UPDATE_PACK'
BEGIN
UPDATE gd_packing_result_pack
SET
GS1_BOX_BARCODE_NO = @gs1_box_barcode_no
,update_user_cd = @insert_user_cd
,update_time = getdate()
WHERE box_barcode_no = @box_barcode_no
AND item_stock_id = @item_stock_id
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_PACKING_RESULT_PACK where box_barcode_no = @box_barcode_no AND item_stock_id = @item_stock_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
์์ ์คยทํฌ์ฅ์ง์
์์ ์ค๋ณ ํฌ์ฅ ์ง์ ๊ด๋ฆฌ.
SP_WorkRoom
๋ชฉ์ โ ์์ ์ค๋ณ ํฌ์ฅ ์ง์ ๊ด๋ฆฌ. OPENQUERY ์ฌ์ฉ โ UNION_ERP ์ฐ๊ณ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(4) | IN |
@s_workroom_cd | nvarchar(100) | IN |
@s_workroom_nm | nvarchar(100) | IN |
@workroom_cd | nvarchar(20) | IN |
@workroom_nm | nvarchar(100) | IN |
@workroom_address | nvarchar(100) | IN |
@workroom_mcd | nvarchar(100) | IN |
@be_scode | nvarchar(100) | IN |
@te_sname | nvarchar(100) | IN |
@cleanness_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@workroom_volume | int(4) | IN |
@workroom_bottomtype | nvarchar(100) | IN |
@workroom_walltype | nvarchar(100) | IN |
@workroom_toptype | nvarchar(100) | IN |
@workroom_type | nvarchar(10) | IN |
@temp_min | nvarchar(100) | IN |
@temp_max | nvarchar(100) | IN |
@hum_min | nvarchar(100) | IN |
@hum_max | nvarchar(100) | IN |
@warehouse_type | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_WorkRoom]
@Gubun nvarchar(2) = '',
@s_workroom_cd nvarchar(50) = '',
@s_workroom_nm nvarchar(50) = '',
@workroom_cd nvarchar(10) = '',
@workroom_nm nvarchar(50) = '',
@workroom_address nvarchar(50) = '', --์ถ๊ฐ
@workroom_mcd nvarchar(50) = '',
@be_scode nvarchar(50) = '',
@te_sname nvarchar(50) = '',
@cleanness_cd nvarchar(50) = '',
@plant_cd nvarchar(50) = '',
@workroom_volume int = 0,
@workroom_bottomtype nvarchar(50) = '',
@workroom_walltype nvarchar(50) = '',
@workroom_toptype nvarchar(50) = '',
@workroom_type nvarchar(5) = '',
@temp_min nvarchar(50) = '',
@temp_max nvarchar(50) = '',
@hum_min nvarchar(50) = '',
@hum_max nvarchar(50) = '',
@warehouse_type nvarchar(5) = '',
@insert_user_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
IF @Gubun = 'I'
BEGIN
--2013.02.12 ์์
์ค ๋ํ์ฝ๋ ์ง์ ์๋์ด ์๋ ๊ฒฝ์ฐ, ์๊ธฐ์ ์์
์ค ์ฝ๋๋ฅผ ๊ฐ๋๋ก ์์
IF @workroom_mcd = ''
SET @workroom_mcd = @workroom_cd
-- [์ ์ฌ] workroom
insert into workroom( workroom_cd, workroom_nm, workroom_status,
workroom_mcd, cleanness_cd, plant_cd,
workroom_volume, workroom_bottomtype, workroom_walltype, workroom_toptype, workroom_type, warehouse_type,
temp_min, temp_max, hum_min, hum_max, insert_user_cd, insert_time)
values ( @workroom_cd, @workroom_nm, @workroom_address,
@workroom_mcd, @cleanness_cd, @plant_cd,
@workroom_volume, @workroom_bottomtype, @workroom_walltype, @workroom_toptype, @workroom_type, @warehouse_type,
@temp_min, @temp_max, @hum_min, @hum_max, @insert_user_cd, getdate())
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค.'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from workroom where WORKROOM_CD = @workroom_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'workroom', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--2013.02.12 Position ๋ฑ๋กํ๋๋ก ์์
--insert into position (POSITION_NO, OBJ_TYPE, OBJ_CD, PROGRAM_ID)
--values (@workroom_cd, @workroom_type, @workroom_cd ,'1')
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from position where POSITION_NO = @workroom_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'position', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF (@Gubun='S')
BEGIN
select a.workroom_cd, substring(a.workroom_cd,2,2) as workroom_scd, a.workroom_nm, a.workroom_status,
a.workroom_mcd, a.cleanness_cd, a.plant_cd,
a.workroom_volume, a.workroom_bottomtype, a.workroom_walltype, a.workroom_toptype, a.workroom_type,
b.common_part_nm as workroom_type_nm, a.warehouse_type, d.common_part_nm as warehouse_type_nm,
c.workroom_nm as workroom_mcd_nm, a.outer_interface, a.temp_min, a.temp_max, a.hum_min, a.hum_max
,'N' 'select_check'
from workroom a
left join common b on b.common_cd = 'SC012' and a.workroom_type = b.common_part_cd
left join workroom c on a.workroom_mcd = c.workroom_cd
left join common d on d.common_cd = 'WR013' AND a.warehouse_type = d.common_part_cd
where a.workroom_cd like '%'+@s_workroom_cd + '%' OR a.WORKROOM_NM like '%'+@s_workroom_cd + '%'
order by a.workroom_cd
END
ELSE IF(@Gubun='U')
BEGIN
--2013.02.12 ์์
์ค ๋ํ์ฝ๋ ์ง์ ์๋์ด ์๋ ๊ฒฝ์ฐ, ์๊ธฐ์ ์์
์ค ์ฝ๋๋ฅผ ๊ฐ๋๋ก ์์
IF @workroom_mcd = ''
SET @workroom_mcd = @workroom_cd
UPDATE workroom
SET workroom_nm = @workroom_nm,
workroom_status = @workroom_address, --์ถ๊ฐ
workroom_mcd = @workroom_mcd,
cleanness_cd = @cleanness_cd,
plant_cd = @plant_cd,
workroom_volume = @workroom_volume,
workroom_bottomtype = @workroom_bottomtype,
workroom_walltype = @workroom_walltype,
workroom_toptype = @workroom_toptype,
workroom_type = @workroom_type,
warehouse_type = @warehouse_type,
temp_min = @temp_min,
temp_max = @temp_max,
hum_min = @hum_min,
hum_max = @hum_max,
update_user_cd = @insert_user_cd,
update_time = getdate()
WHERE workroom_cd = @workroom_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from workroom where workroom_cd = @workroom_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'workroom', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์์ ๋์์ต๋๋ค.'
--2013.02.12 Position ๋ฑ๋กํ๋๋ก ์์
--UPDATE position SET
-- OBJ_TYPE = @workroom_type
--WHERE POSITION_NO = @workroom_cd
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from position where POSITION_NO = @workroom_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'position', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF (@Gubun='D')
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from workroom where workroom_cd = @workroom_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'workroom', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] workroom
DELETE FROM workroom
WHERE workroom_cd = @workroom_cd
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from position where POSITION_NO = @workroom_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'position', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
----2013.02.12 Position ์ญ์ ํ๋๋ก ์์
--DELETE FROM POSITION
--WHERE POSITION_NO = @workroom_cd
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์ญ์ ๋์์ต๋๋ค.'
END
ELSE IF(@Gubun='P')
BEGIN
SELECT convert(char(10),A.WorkRoom_cd), A.WorkRoom_nm, A.WorkRoom_volume, A.WorkRoom_bottomtype, A.WorkRoom_walltype, A.WorkRoom_toptype, A.cleanness_cd as WorkRoom_cleanness_cd
FROM workroom A
WHERE A.WorkRoom_cd LIKE @be_scode + '%' and A.WorkRoom_nm LIKE @te_sname + '%'
END
ELSE IF(@Gubun='L1')
BEGIN
SELECT convert(char(10),A.workroom_nm) 'workroom_nm', A.cleanness_cd, A.workroom_cd, B.common_part_nm as warehouse_type_nm
FROM workroom A
LEFT JOIN common B on B.common_cd = 'WR013' AND A.warehouse_type = B.common_part_cd
WHERE A.workroom_cd = @workroom_cd
END
-----[์์
์ค๋ฑ๋ก, ์์
์ค๋์ฅ(๋ฏธ๋ฆฌ๋ณด๊ธฐ)-----[08.12.02 ์ ๋ฏผ์ฒ ]
ELSE IF(@Gubun='R')
BEGIN
select row_number() over(order by a.workroom_cd) as tempno,-- ์กฐํ๋ ์ด์ ์๋ฒ์ ์ฃผ๊ธฐ ์ํจ [08.12.03 ์ ๋ฏผ์ฒ ]
a.workroom_cd,
a.workroom_nm,
a.workroom_mcd,
c.workroom_nm as workroom_mcd_nm,
isnull(b.common_part_nm,'') as workroom_type_nm,
isnull(c.cleanness_cd,'') as cleanness,
b1.plant_full_image
from workroom a
left join common b on b.common_cd = 'SC012' and a.workroom_type = b.common_part_cd
left join workroom c on a.workroom_mcd = c.workroom_cd
left join common d on d.common_cd = 'WR013' AND a.warehouse_type = d.common_part_cd
left outer join
(
select b.plant_full_image
from cm_parameter a
left outer join ma_plant b on a.parameter_value = b.plant_cd
where a.parameter_code = 'imagePlant'
) b1 on 1 = 1
where a.workroom_cd like @s_workroom_cd + '%'
and a.workroom_nm like @s_workroom_nm + '%'
order by a.workroom_cd
END
--
----์ธ๋ถ์๋ฃ๋ฅผ๊ฐ์ ธ์จ๋ค.
--ELSE IF @GUBUN='DW'
-- BEGIN
--
-- --1. ์ธ๋ถ์๋ฃ๋ฅผ์์ํ
์ด๋ธ์์ ์ฅํ๋ค.
-- select *
-- into #temp
-- [์๊ฒฉ ์กฐํ] linked server ERPDATABASE (Oracle UNION_ERP)
-- from OPENQUERY(ERPDATABASE, '
-- select rtrim(iwmcu) as workroom_cd --์์
์ค์ฝ๋
-- ,rtrim(mcdc) as workroom_nm --์์
์ค๋ช
-- ,rtrim(iwmmcu) as plant_cd --์ฌ์
์ฅ์ฝ๋
-- from v30006')
--
-- --2. ๊ธฐ์กด์๋ฃ๋ฅผ์์ ํ๋ค.
-- update workroom
-- set workroom_nm = b.workroom_nm
-- ,plant_cd = rtrim(ltrim(b.plant_cd))
-- ,outer_interface = 'E'
-- from workroom a
-- join #temp b on a.workroom_cd = ltrim(rtrim(b.workroom_cd))
--
--
-- --3. ์ ๊ท์๋ฃ๋ฅผ๋ฑ๋กํ๋ค.
-- insert into workroom(workroom_cd, workroom_nm, plant_cd, workroom_mcd, outer_interface)
-- select ltrim(rtrim(a.workroom_cd)), a.workroom_nm, a.plant_cd, ltrim(rtrim(a.workroom_cd)), 'E'
-- from #temp a
-- left outer join workroom b on ltrim(rtrim(a.workroom_cd)) = b.workroom_cd
-- where b.workroom_cd is null
--
-- --4. ์์ํ
์ด๋ธ์์ ๊ฑฐํ๋ค.
-- drop table #temp
-- END
ํ๋ชฉยท์์ฐ
ํ๋ชฉ ๋งคํยท์์ฐยท์ด๋ยท์ถ๊ณ ๋ฑ ํ๋ชฉ ์ค์ฌ ์ด์ ํธ๋์ญ์ .
SP_ItemMappingList
๋ชฉ์ โ ํ๋ชฉ ๋งคํ ๋ชฉ๋ก ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@mapping_gs1_barcode | nvarchar(800) | IN |
@mapping_box_type | nvarchar(200) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@stock_qty | decimal(9) | IN |
@message | nvarchar(4000) | OUTPUT |
@packing_order_no | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@fre_barcode | nvarchar(100) | IN |
@error_msg | nvarchar(200) | IN |
@macaddr | nvarchar(40) | IN |
@scan_gubun | char(1) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@lot_date | nvarchar(20) | IN |
@packing_date | nvarchar(20) | IN |
@packing_qty | decimal(9) | IN |
@end_date | nvarchar(20) | IN |
@pre_label_issue_yn | nvarchar(100) | IN |
@serial_no | nvarchar(60) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ํฉ์๋ก
์ ์ ์ :
SP ๋ช
: SP_ItemMappingList
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
:
์ฌ ์ฉ ์ฒ : ItemMappingList.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemMappingList]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@gs1_barcode NVARCHAR(400) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(100) = '' --๋ฐ์ค ํ์
,@mapping_gs1_barcode NVARCHAR(400) = '' --๋งตํํ ๋ฐ์ฝ๋
,@mapping_box_type NVARCHAR(100) = '' --๋งตํํ ๋ฐ์ฝ๋์ ๋ฐ์คํ์
\
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@stock_qty DECIMAL(15,4) = 0 --์
๊ณ ๋
,@message NVARCHAR(2000) output
,@packing_order_no NVARCHAR(50) = ''
,@s_item_cd NVARCHAR(20) = ''
,@sys_emp_cd nvarchar(50) = ''
,@fre_barcode nvarchar(50) = ''
,@error_msg nvarchar(100) = ''
,@macaddr nvarchar(20) = ''
,@scan_gubun char(1) = ''
,@item_cd nvarchar(50) = ''
,@lot_no nvarchar(50)=''
,@lot_date nvarchar(10)=''
,@packing_date nvarchar(10) = ''
,@packing_qty decimal(15,4) = 0
,@end_date nvarchar(10)=''
,@pre_label_issue_yn nvarchar(50)='Y'
,@serial_no nvarchar(30) = ''
AS
DECLARE @ErrMsg varchar(300) = ''
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๋ฐ์ฝ๋ ์ ๋ณด
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT A.PACKING_ORDER_NO
--,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
,A.LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.sale_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,B.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
-- 2015.06.29 ๊น์ ์
์์
--,ISNULL(D.SECOND_PACK_TYPE, B.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(D.SECOND_PACK_QT, B.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(D.SECOND_PACK_M_QT, B.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(D.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,B.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,B.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,B.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.sale_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,A.ETC_NO
,B.ITEM_GB
FROM PACKING_ORDER A
INNER JOIN ITEM_STANDARD B ON A.sale_ITEM_CD = B.ITEM_CD
--LEFT OUTER JOIN PACKING_RESULT C ON A.PACKING_ORDER_NO = C.PACK_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK D ON a.packing_order_no=d.packing_order_no
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE 1=1
AND MARKING_YN = 'Y' --AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
WHERE 1=1
AND ISNULL(D.RECEIPT_STATUS,'N') = 'N'
AND (A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate)
AND A.sale_ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
END
-- ๋ฐ์ฝ๋ ์ ๋ณด
ELSE IF (@gubun = 'S1') BEGIN
--์ํฌ์ฅ์ ๊ฒฝ์ฐ
-- [๋ถ๊ธฐ] @box_type = '0' ์ธ ๊ฒฝ์ฐ
if (@box_type = '0') BEGIN
SELECT A.PACKING_ORDER_NO
--,CASE WHEN B.LOT_NO <> '' THEN B.LOT_NO ELSE B.ETC_NO END LOT_NO
,B.LOT_NO
,B.VALID_DATE
,B.LOT_DATE
,B.sale_ITEM_CD AS ITEM_CD
,C.ITEM_NM
,B.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,C.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
--,ISNULL(F.SECOND_PACK_TYPE, C.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(F.SECOND_PACK_QT, C.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(F.SECOND_PACK_M_QT, C.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(F.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,C.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,C.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,C.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(B.sale_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT q
,0 AS PROD_QTY
,0 AS STOCK_QTY
,'' AS BOX_NO
,'' AS MAPPING_YN
,B.ETC_NO
,C.item_gb
FROM MARKING_ORDER A
LEFT OUTER JOIN PACKING_ORDER B ON A.PACKING_ORDER_NO = B.PACKING_ORDER_NO
INNER JOIN ITEM_STANDARD C ON B.sale_ITEM_CD = C.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK F ON a.packing_order_no = f.packing_order_no
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE 1=1
-- AND MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
WHERE 1 = 1
AND A.PUBLISH_GS1_128 = @gs1_barcode
AND A.PACKING_ORDER_NO = @packing_order_no
END
ELSE BEGIN
SELECT D.PACKING_ORDER_NO
--,CASE WHEN D.LOT_NO <> '' THEN D.LOT_NO ELSE D.ETC_NO END LOT_NO
,D.LOT_NO
,D.VALID_DATE
,D.LOT_DATE
,D.sale_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,D.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,B.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
--,ISNULL(A.SECOND_PACK_TYPE, B.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(A.SECOND_PACK_QT, B.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(A.SECOND_PACK_M_QT, B.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(a.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,B.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,B.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,B.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,CONVERT(int,H.PROD_QTY) AS PROD_QTY
,CONVERT(int,I.STOCK_QTY) AS STOCK_QTY
,H.BOX_BARCODE_NO AS BOX_NO
,CASE WHEN H.MAPPING_GS1_BARCODE IS NULL AND H.MAPPING_BOX_TYPE IS NULL THEN 'N' ELSE 'Y' END AS MAPPING_YN ,D.ETC_NO
,D.ETC_NO
,B.item_gb
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT OUTER JOIN PACKING_ORDER D ON a.packing_order_no=d.packing_order_no
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE 1=1
-- AND MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON D.PACKING_ORDER_NO = G.PACKING_ORDER_NO
INNER JOIN GD_PACKING_RESULT_PACK H ON A.ITEM_STOCK_ID = H.ITEM_STOCK_ID
LEFT OUTER JOIN (SELECT ITEM_STOCK_ID, SUM(PROD_QTY) AS STOCK_QTY
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @gs1_barcode
GROUP BY ITEM_STOCK_ID) I ON A.ITEM_STOCK_ID = I.ITEM_STOCK_ID
WHERE H.GS1_BOX_BARCODE_NO = @gs1_barcode
AND D.PACKING_ORDER_NO = @packing_order_no
END
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ณํฌ์ฅ ์ ํจ์ฑ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
--==================== 2014.07.25 ์ด๋ณ์ฐฝ ๋ฐํ์ฒดํฌ ๊ธฐ๋ฅ ์ ์ธ ========================
---- ์ผ๋ จ๋ฒํธ๊ฐ ์์ ๊ฒฝ์ฐ ๋๋ฌธ์ ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋ ๊ฐฏ์ ์ถ๊ฐ
--DECLARE @PUBLISH_CNT INT,@MAPPING_CNT INT
--SELECT @PUBLISH_CNT = SUM(ORDER_QTY)
--FROM MARKING_ORDER
--WHERE PUBLISH_GS1_128 = @gs1_barcode
-- --AND MARKING_YN ='Y' --AND VISION_YN = 'Y'
--SELECT @MAPPING_CNT = SUM(PROD_QTY)
--FROM GD_PACKING_RESULT_ITEM
--WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
---- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
--IF (@PUBLISH_CNT = 0)
--BEGIN
-- RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(๊ฐ๋ณํฌ์ฅ)' , 16, 1);
--END
---- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ (๋งตํ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋๊ฐ ์๊ณ , ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋๊ฐ ์์ ๋
--IF (ISNULL(@MAPPING_CNT,0) > 0 AND ISNULL(@PUBLISH_CNT,0) = ISNULL(@MAPPING_CNT,0))
--BEGIN
-- RAISERROR ('์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
--END
--SELECT @intErrorCode = @@ERROR
DECLARE @MAPPING_CNT INT
SELECT @MAPPING_CNT = COUNT(*)
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (@MAPPING_CNT > 0)
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋ฐํ์ฌ๋ถ
-- [๋ถ๊ธฐ] @gubun = 'S3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S3') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode) = 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR (@gs1_barcode + '๋ฐ์ฝ๋๋ ์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)' , 16, 1);
END
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR (@gs1_barcode + '๋ฐ์ฝ๋๋ ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
--==================== 2014.07.25 ์ด๋ณ์ฐฝ ์ ๋ฐํ ๊ธฐ๋ฅ ์ ์ธ ========================
---- ๋ผ๋ฒจ ์ ๋ฐํ์ธ ๊ฒฝ์ฐ, ์
๊ณ ์๋ง๋ค ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
--DECLARE @_prod_qty DECIMAL(15,4)
-- ,@_pre_issued NVARCHAR(10)
--SELECT @_prod_qty = ISNULL(PROD_QTY,0)
-- ,@_pre_issued = B.PRE_LABEL_ISSUE_YN
--FROM GD_PACKING_RESULT_PACK A
-- INNER JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--IF (@_pre_issued = 'Y' AND @_prod_qty < @stock_qty )
--BEGIN
-- RAISERROR ('์
๊ณ ๊ฐ๋ฅ์๋์ ์ด๊ณผํ์์ต๋๋ค.', 16, 1);
--END
END
-- ๋ฌผ๋ฅํฌ์ฅ ์ ํจ์ฑ ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S4' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S4') BEGIN
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR (@gs1_barcode + '๋ฐ์ฝ๋๋ ์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
ELSE
SET @message = 'N';
-- ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @message = 'Y';
END
ELSE
SET @message = 'N';
END
-- ํ์ฌ ์ ํ์ ์
๊ณ ๋ ์ ํ์ ์๋์ ํ์
-- [๋ถ๊ธฐ] @gubun = 'S5' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S5') BEGIN
SELECT COUNT(SERIAL_NO)
FROM GD_PACKING_RESULT_ITEM
WHERE PACKING_ORDER_NO = @packing_order_no
END
-- [๋ถ๊ธฐ] @gubun = 'S6' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S6') BEGIN -- ์ค๋ฐ์ค ์กฐํ
SELECT GS1_BOX_BARCODE_NO, PROD_QTY
FROM GD_PACKING_RESULT_PACK a
Inner JOIN (SELECT PACKING_ORDER_NO,MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE PACKING_ORDER_NO = @packing_order_no
GROUP BY PACKING_ORDER_NO,MAPPING_GS1_BARCODE) b On(a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
WHERE BOX_TYPE = '1' AND MAPPING_BOX_TYPE is null
AND INSERT_USER_CD = @insert_user_cd
END
-- [๋ถ๊ธฐ] @gubun = 'S7' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S7') BEGIN -- ๋๋ฐ์ค ์กฐํ
SELECT c.GS1_BOX_BARCODE_NO, max(c.PROD_QTY) PROD_QTY
FROM GD_PACKING_RESULT_PACK a
Inner JOIN GD_PACKING_RESULT_ITEM b On(a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
Inner join GD_PACKING_RESULT_PACK c On(a.MAPPING_GS1_BARCODE = c.GS1_BOX_BARCODE_NO)
WHERE b.PACKING_ORDER_NO = @packing_order_no and c.BOX_TYPE = '2'
AND c.INSERT_USER_CD = @insert_user_cd
GROUP BY c.GS1_BOX_BARCODE_NO
END
DECLARE @box_barcode NVARCHAR(15) --์งํจ๋ฒํธ :๋ฐ์ค์ผ๋ จ๋ฒํธ ์๋ฆฟ์ ์ฆ๊ฐ๋ก ์ธํ ๋ฌธ์์ด ์ฆ๊ฐ 10 -> 15
,@item_stock_id INT --์
๊ณ ์ผ๋ จ๋ฒํธ
,@temp_DETAIL_STOCK_ID INT --Auditํ
์ด๋ธ์ ๋ฃ๊ธฐ ์ํ id
-- ๊ฐ๋ณํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U1') BEGIN
-- 2014.08.04 ๊น์ ์
- ๋งตํ์์
์ marking_order ํ
์ด๋ธ ์ฐธ์กฐ์ํ๋ ๋ฐฉ์์ผ๋ก ๋ณ๊ฒฝ
SELECT @box_barcode = BOX_BARCODE_NO
,@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
IF (@box_barcode IS NOT NULL) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
REFER_TYPE -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,ITEM_STOCK_ID
,PACKING_ORDER_NO
,PROD_QTY
,STOCK_QTY
,GS1_BOX_BARCODE_NO
,BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,LOT_NO
,VALID_DATE
,SERIAL_NO
,INSERT_USER_CD
,INSERT_TIME
)
values ( '0' -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,@item_stock_id
,@packing_order_no
,@stock_qty
,0.000
,@gs1_barcode
,@box_barcode
,@mapping_gs1_barcode
,@mapping_box_type
,@lot_no
,@end_date
,@serial_no
,@insert_user_cd
,GETDATE()
)
END
SELECT @intErrorCode = @@ERROR
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @@IDENTITY
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U2') BEGIN
UPDATE A SET
A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,A.MAPPING_BOX_TYPE = @mapping_box_type
,A.UPDATE_TIME = GETDATE()
,A.UPDATE_USER_CD = @update_user_cd
FROM GD_PACKING_RESULT_PACK A
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND ISNULL(MAPPING_GS1_BARCODE,'') = ''
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ MES์์ ๊ฐ์ ธ์์ ๋ฐํ์๋ ์
๋ฐ์ดํธ
-- [๋ถ๊ธฐ] @gubun = 'U3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U3') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--๊ธฐ์กด ๋ฐ์ดํฐ ์ญ์
IF(@intErrorCode = 0)
BEGIN
-- [์ญ์ ] RTEGMS_CHODANG_TEMP
DELETE FROM RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
SELECT @intErrorCode = @@error
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] RTEGMS_CHODANG_TEMP
INSERT INTO RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
(
pack_order_no,
item_nm,
item_cd,
packing_date,
packing_qty,
receipt_status,
item_make_nm,
lot_no,
start_date,
test_no,
doc_no,
order_no,
order_proc_id,
packing_result_id,
receiver_time
)
SELECT a.pack_order_no,
b.item_nm,
b.item_cd,
a.packing_date,
a.packing_qty,
a.receipt_status,
e.item_nm as item_make_nm,
c.lot_no,
isnull(c.start_date, c.planned_date) as start_date,
f.test_no,
a.doc_no,
a.order_no,
a.order_proc_id,
a.packing_result_id,
convert(char(10), a.receiver_time, 121) as receiver_time
FROM RTEPMS_CHODANG.DBO.packing_result a
join RTEPMS_CHODANG.DBO.v_item_standard b on a.item_cd = b.item_cd
left outer join RTEPMS_CHODANG.DBO.work_order c on a.order_no = c.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard e on c.item_cd = e.item_cd
left outer join RTEPMS_CHODANG.DBO.testcontrol f on a.end_testcontrol_id = f.testcontrol_id
WHERE receipt_status = 1
AND a.issue_time2 between @s_sdate and convert(datetime, @S_edate) + 1
ORDER BY a.issue_time2
END
--๋ฏธํฌํจ์ธ ๊ฒฝ์ฐ๋ง ๋ํ๋ผ๋ฒจ์
๊ณ (ํฌ์ฅ์ง์ ํญ) ๋ฐํ์๋ ์
๋ฐ์ดํธ
IF(@intErrorCode = 0)
BEGIN
UPDATE A SET
A.ORDER_QTY = B.PACKING_QTY
FROM MARKING_ORDER A, RTEGMS_CHODANG_TEMP.DBO.ERP_PACKING_RESULT B
WHERE A.PACKING_ORDER_NO = B.PACK_ORDER_NO
AND A.SERIAL_YN = 'N'
--NOT EXISTS ( SELECT 1 FROM ma_department b WHERE a.dept_cd = b.dept_cd)
END
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
END
-- [๋ถ๊ธฐ] @gubun = 'ERROR_INSERT' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'ERROR_INSERT') BEGIN
--2014.07.28 ์ด๋ณ์ฐฝ ์ถ๊ฐ
IF (@gs1_barcode IS NOT NULL) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ERROR
INSERT INTO GD_PACKING_RESULT_ERROR (
PACKING_ORDER_NO
,ITEM_CD
,LOT_NO
,GS1_BARCODE_NO
,GS1_PRE_BARCODE_NO
,MAC_ADDR
,ERROR_MSG
--,BOX_BARCODE_NO
--,BOX_TYPE
,BOX_STATUS
,SCAN_GUBUN
,PACKING_DATE
,INSERT_USER_CD
,INSERT_TIME
)
VALUES( @packing_order_no
,@s_item_cd
,@lot_no
,@gs1_barcode
,@fre_barcode
,@macaddr
,@error_msg
--,@mapping_gs1_barcode
--,@mapping_box_type
,'N'
,@scan_gubun
,CONVERT(VARCHAR, GETDATE(), 23)
,@insert_user_cd
,GETDATE()
)
SELECT @intErrorCode = @@ERROR
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'STOCK_S') -- ๋ฑ๋ก๋ ์
๊ณ ID ์ทจ๋
BEGIN
SELECT ITEM_STOCK_ID
FROM GD_ITEM_STOCK B
WHERE ITEM_CD = @item_cd AND LOT_NO = @lot_no
--PACKING_ORDER_NO = @packing_order_no
--AND RECEIPT_STATUS = 'N'
END
ELSE IF(@gubun = 'STOCK_I') -- ์ ํ์
๊ณ ์ ๋ณด ์์ฑ
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์
๋ ฅ
INSERT INTO
gd_item_stock(
PACKING_ORDER_NO --ํฌ์ฅ์ง์๋ฒํธ
,prod_return_ck --์ ํ์
๊ณ ๊ตฌ๋ถ 1:์์ฐ 2:๋ฐํ
,item_cd --์ ํ์ฝ๋
,lot_no --์ ์กฐ๋ฒํธ
,lot_date --์ ์กฐ์ผ์
,receipt_date --์
๊ณ ์ผ์
,receipt_qty --์
๊ณ ์๋
,RECEIPT_STATUS
,end_date --์ ํจ๊ธฐ๊ฐ
,insert_user_cd
,insert_time
,pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
)
VALUES
(
@packing_order_no
,'1' --1:์์ฐ
,@item_cd
,@lot_no
,@lot_date
,@packing_date
,@packing_qty
, 'N'
,@end_date
,@insert_user_cd
,getdate()
,@pre_label_issue_yn --์ฌ์ ๋ฐํ์ฌ๋ถ ์ถ๊ฐ
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where ITEM_STOCK_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
--ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'STOCK_U') -- ๋ฑ๋ก๋ ์
๊ณ ์ ๋ณด ์์
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์์
--์ ํ์
๊ณ ์์
UPDATE
gd_item_stock
SET
PACKING_ORDER_NO = @packing_order_no
,REFER_TYPE = '0'
,lot_date = @lot_date --์ ์กฐ์ผ์
,receipt_date = @packing_date --์
๊ณ ์ผ์
,receipt_qty = receipt_qty + @packing_qty --์
๊ณ ์๋(์๋)
,end_date = @end_date --์ ํจ๊ธฐ๊ฐ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE
--PACKING_ORDER_NO = @packing_order_no
ITEM_CD = @item_cd AND LOT_NO = @lot_no
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from gd_item_stock where PACKING_ORDER_NO = @packing_order_no
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION --์ด์์ด ์๋ค๋ฉด COMMIT, ์๋ค๋ฉด ROLLBACK
--ELSE ROLLBACK TRANSACTION
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemMappingList2
๋ชฉ์ โ ํ๋ชฉ ๋งคํ ๋ชฉ๋ก v2.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(800) | IN |
@box_type | nvarchar(200) | IN |
@mapping_gs1_barcode | nvarchar(800) | IN |
@mapping_box_type | nvarchar(200) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@stock_qty | decimal(9) | IN |
@message | nvarchar(4000) | OUTPUT |
@packing_order_no | nvarchar(100) | IN |
@s_item_cd | nvarchar(40) | IN |
@item_cd | nvarchar(40) | IN |
@lot_no | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์
์ ์ ์ :
SP ๋ช
: SP_ItemMappingList2
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
:
์ฌ ์ฉ ์ฒ : ItemMappingList2.cs
ํ
์ด ๋ธ :
๋น ๊ณ : ์ค๋ฐ์ค๋ฅผ ๋๋ฐ์ค์ ๋งตํํ๋ ํ๋ก์์
์ ์ :
********************************************************************/
/*
UPDATE MARKING_ORDER SET
MAPPING_GS1_BARCODE = 'ddd'
WHERE PUBLISH_GS1_128 like '01088012345678901715123110120001โจGSโฉ21000000000000000002'
select *
from MARKING_ORDER
WHERE PUBLISH_GS1_128 like '01088012345678901715123110120001โจGSโฉ21000000000000000002'
declare @message nvarchar(100)
exec [SP_ItemMappingList] @gubun='S1',@gs1_barcode= '0118806431100491171304301017001โจGSโฉ21g130400030โจGSโฉ',@box_type='1',@packing_order_no = '17001', @message = @message output
*/
CREATE PROCEDURE [dbo].[SP_ItemMappingList2]
@gubun NVARCHAR(50) = '' --๊ตฌ๋ถ์
,@s_sdate NVARCHAR(10) = ''
,@s_edate NVARCHAR(10) = ''
,@gs1_barcode NVARCHAR(400) = '' --๊ฒ์ฆํ ๋ฐ์ฝ๋
,@box_type NVARCHAR(100) = '' --
,@mapping_gs1_barcode NVARCHAR(400) = '' --๋งตํํ ๋ฐ์ฝ๋
,@mapping_box_type NVARCHAR(100) = '' --๋งตํํ ๋ฐ์ฝ๋์ ๋ฐ์คํ์
\
,@insert_user_cd NVARCHAR(50) = ''
,@update_user_cd NVARCHAR(50) = ''
,@log_user_id NVARCHAR(50) = '' --AUDIT TRAIL
,@stock_qty DECIMAL(15,4) = 0 --์
๊ณ ๋
,@message NVARCHAR(2000) output
,@packing_order_no NVARCHAR(50) = ''
,@s_item_cd NVARCHAR(20) = ''
,@item_cd NVARCHAR(20) = ''
,@lot_no nvarchar(50)=''
,@sys_emp_cd nvarchar(50) = ''
AS
DECLARE @ErrMsg varchar(300) = ''
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ๋ฐ์ฝ๋ ์ ๋ณด
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT A.PACKING_ORDER_NO
,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,B.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
--2015.06.29 ๊น์ ์
์์
--,ISNULL(D.SECOND_PACK_TYPE, B.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(D.SECOND_PACK_QT, B.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(D.SECOND_PACK_M_QT, B.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(D.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,B.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,B.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,B.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,A.ETC_NO
,B.ITEM_GB
FROM PACKING_ORDER A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
--LEFT OUTER JOIN PACKING_RESULT C ON A.PACKING_ORDER_NO = C.PACK_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK D ON a.sale_item_cd = d.ITEM_CD and a.LOT_NO = d.LOT_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE 1=1--MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
WHERE 1=1
AND ISNULL(D.RECEIPT_STATUS,'N') = 'N'
AND (A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate)
AND A.SALE_ITEM_CD like '%' + RTRIM(@s_item_cd) + '%'
END
-- ๋ฐ์ฝ๋ ์ ๋ณด
ELSE IF (@gubun = 'S1') BEGIN
--์ํฌ์ฅ์ ๊ฒฝ์ฐ
-- [๋ถ๊ธฐ] @box_type = '0' ์ธ ๊ฒฝ์ฐ
if (@box_type = '0') BEGIN
SELECT A.PACKING_ORDER_NO
,CASE WHEN B.LOT_NO <> '' THEN B.LOT_NO ELSE B.ETC_NO END LOT_NO
,B.VALID_DATE
,B.LOT_DATE
,B.SALE_ITEM_CD AS ITEM_CD
,C.ITEM_NM
,B.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,C.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
--,ISNULL(F.SECOND_PACK_TYPE, C.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(F.SECOND_PACK_QT, C.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(F.SECOND_PACK_M_QT, C.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(F.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,C.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,C.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,C.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(B.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,0 AS PROD_QTY
,0 AS STOCK_QTY
,'' AS BOX_NO
,'' AS MAPPING_YN
FROM MARKING_ORDER A
LEFT OUTER JOIN PACKING_ORDER B ON A.PACKING_ORDER_NO = B.PACKING_ORDER_NO
INNER JOIN ITEM_STANDARD C ON B.SALE_ITEM_CD = C.ITEM_CD
--LEFT OUTER JOIN PACKING_RESULT E ON B.PACKING_ORDER_NO = E.PACK_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK F ON b.sale_item_cd = f.ITEM_CD and b.LOT_NO = f.lot_no
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
WHERE 1 = 1
AND A.PUBLISH_GS1_128 = @gs1_barcode
AND A.PACKING_ORDER_NO = @packing_order_no
END
ELSE BEGIN
SELECT D.PACKING_ORDER_NO
,CASE WHEN D.LOT_NO <> '' THEN D.LOT_NO ELSE D.ETC_NO END LOT_NO
,D.VALID_DATE
,D.LOT_DATE
,D.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,D.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,B.ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
--,ISNULL(A.SECOND_PACK_TYPE, B.SECOND_PACK_TYPE) AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
--,ISNULL(A.SECOND_PACK_QT, B.SECOND_PACK_QT) AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
--,ISNULL(A.SECOND_PACK_M_QT, B.SECOND_PACK_M_QT) AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
--,ISNULL(F.PRE_LABEL_ISSUE_YN,'N') AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,B.SECOND_PACK_TYPE AS SECOND_PACK_TYPE -- ์งํจ์ข
๋ฅ
,B.SECOND_PACK_QT AS SECOND_PACK_QT -- ์งํจ์ ์ฌ๋(1์ฐจ)
,B.SECOND_PACK_M_QT AS SECOND_PACK_M_QTY -- ์งํจ์ ์ฌ๋(2์ฐจ)
,'N' AS PRE_LABEL_ISSUE_YN -- ์งํจ๋ผ๋ฒจ ์ ๋ฐํ ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,G.PUBLISH_COUNT
,CONVERT(int,H.PROD_QTY) AS PROD_QTY
,CONVERT(int,I.STOCK_QTY) AS STOCK_QTY
,H.BOX_BARCODE_NO AS BOX_NO
,CASE WHEN H.MAPPING_GS1_BARCODE IS NULL AND H.MAPPING_BOX_TYPE IS NULL THEN 'N' ELSE 'Y' END AS MAPPING_YN
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT OUTER JOIN PACKING_ORDER D ON A.PACKING_ORDER_NO = D.PACKING_ORDER_NO
LEFT OUTER JOIN GD_ITEM_STOCK F ON A.PACKING_ORDER_NO = F.PACKING_ORDER_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G
ON A.PACKING_ORDER_NO = G.PACKING_ORDER_NO
INNER JOIN GD_PACKING_RESULT_PACK H ON A.ITEM_STOCK_ID = H.ITEM_STOCK_ID
LEFT OUTER JOIN (SELECT ITEM_STOCK_ID, SUM(PROD_QTY) AS STOCK_QTY
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @gs1_barcode
GROUP BY ITEM_STOCK_ID) I ON A.ITEM_STOCK_ID = I.ITEM_STOCK_ID
WHERE H.GS1_BOX_BARCODE_NO = @gs1_barcode
AND D.PACKING_ORDER_NO = @packing_order_no
END
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ณํฌ์ฅ ์ ํจ์ฑ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S2') BEGIN
-- ์ผ๋ จ๋ฒํธ๊ฐ ์์ ๊ฒฝ์ฐ ๋๋ฌธ์ ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋ ๊ฐฏ์ ์ถ๊ฐ
DECLARE @PUBLISH_CNT INT,@MAPPING_CNT INT
SELECT @PUBLISH_CNT = SUM(ORDER_QTY)
FROM MARKING_ORDER
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y' AND VISION_YN = 'Y'
SELECT @MAPPING_CNT = SUM(PROD_QTY)
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (@PUBLISH_CNT = 0)
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(๊ฐ๋ณํฌ์ฅ)'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(๊ฐ๋ณํฌ์ฅ)' , 16, 1);
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ (๋งตํ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋๊ฐ ์๊ณ , ๋งตํ๋์ง ์์ ๋ฐ์ฝ๋๊ฐ ์์ ๋
IF (ISNULL(@MAPPING_CNT,0) > 0 AND ISNULL(@PUBLISH_CNT,0) = ISNULL(@MAPPING_CNT,0))
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋ฐํ์ฌ๋ถ
-- [๋ถ๊ธฐ] @gubun = 'S3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S3') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode) = 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(๊ฐ๋ณํฌ์ฅ)'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR ('์ ํจํ์ง ์์ ๋ฐ์ฝ๋ ์
๋๋ค.(์งํจํฌ์ฅ)' , 16, 1);
END
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
-- ๋ผ๋ฒจ ์ ๋ฐํ์ธ ๊ฒฝ์ฐ, ์
๊ณ ์๋ง๋ค ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
DECLARE @_prod_qty DECIMAL(15,4)
,@_pre_issued NVARCHAR(10)
SELECT @_prod_qty = ISNULL(PROD_QTY,0)
,@_pre_issued = B.PRE_LABEL_ISSUE_YN
FROM GD_PACKING_RESULT_PACK A
INNER JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
IF (@_pre_issued = 'Y' AND @_prod_qty < @stock_qty )
BEGIN
RAISERROR ('์
๊ณ ๊ฐ๋ฅ์๋์ ์ด๊ณผํ์์ต๋๋ค.', 16, 1);
END
END
-- ๋ฌผ๋ฅํฌ์ฅ ์ ํจ์ฑ ๊ฒ์ฆ
-- [๋ถ๊ธฐ] @gubun = 'S4' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S4') BEGIN
-- ๋งตํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @ErrMsg = @gs1_barcode + ' ์ด๋ฏธ ๋งตํ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.'
RAISERROR (@ErrMsg, 16, 1);
--RAISERROR ('์ด๋ฏธ ๋งตํ๋ ์ฒ๋ฆฌ๋ ๋ฐ์ฝ๋ ์
๋๋ค.' , 16, 1);
END
ELSE
SET @message = 'N';
-- ์
๊ณ ๊ฐ๋ฅ ์๋ ํ์ธ
IF (SELECT COUNT(*) FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND (ISNULL(MAPPING_GS1_BARCODE,'') <> '') ) <> 0
BEGIN
SET @message = 'Y';
END
ELSE
SET @message = 'N';
END
-- ํ์ฌ ์ ํ์ ์
๊ณ ๋ 1์ฐจ์งํจ์ ์๋์ ํ์
-- [๋ถ๊ธฐ] @gubun = 'S5' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S5') BEGIN
--SELECT COUNT(*) AS CNT ,Isnull(sum(PROD_QTY),0)
-- FROM GD_PACKING_RESULT_PACK a
-- LEFT JOIN (SELECT PACKING_ORDER_NO,BOX_BARCODE_NO
-- FROM GD_PACKING_RESULT_ITEM
-- WHERE PACKING_ORDER_NO = @packing_order_no
-- GROUP BY PACKING_ORDER_NO,BOX_BARCODE_NO) b On(a.BOX_BARCODE_NO = b.BOX_BARCODE_NO)
-- WHERE BOX_TYPE = '2'
SELECT COUNT(*) AS CNT ,Isnull(sum(PROD_QTY),0)
FROM GD_PACKING_RESULT_PACK a
LEFT JOIN (SELECT PACKING_ORDER_NO,MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE PACKING_ORDER_NO = @packing_order_no
GROUP BY PACKING_ORDER_NO,MAPPING_GS1_BARCODE) b On(a.GS1_BOX_BARCODE_NO = b.MAPPING_GS1_BARCODE)
WHERE BOX_TYPE = '1' AND MAPPING_BOX_TYPE = '2'
END
DECLARE @box_barcode CHAR(10) --์งํจ๋ฒํธ
,@item_stock_id INT --์
๊ณ ์ผ๋ จ๋ฒํธ
,@temp_DETAIL_STOCK_ID INT --Auditํ
์ด๋ธ์ ๋ฃ๊ธฐ ์ํ id
-- ๊ฐ๋ณํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U1') BEGIN
SELECT @box_barcode = BOX_BARCODE_NO
,@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @mapping_gs1_barcode
SELECT @temp_detail_stock_id = MAX(DETAIL_STOCK_ID)
FROM GD_PACKING_RESULT_ITEM
IF (@box_barcode IS NOT NULL) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
REFER_TYPE -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,REFER_ID
,ITEM_STOCK_ID
,PACKING_ORDER_NO
,PROD_QTY
,STOCK_QTY
,GS1_BOX_BARCODE_NO
,BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,LOT_NO
,VALID_DATE
,SERIAL_NO
,INSERT_USER_CD
,INSERT_TIME
)
SELECT '0' -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,MARKING_ORDER_ID
,@item_stock_id
,PACKING_ORDER_NO
,@stock_qty
,0
,PUBLISH_GS1_128
,@box_barcode
,@mapping_gs1_barcode
,@mapping_box_type
,PUBLISH_LOT_NO
,PUBLISH_VALID_DATE
,PUBLISH_SERIAL_NO
,@insert_user_cd
,GETDATE()
FROM MARKING_ORDER
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y'
AND VISION_YN = 'Y'
--์ผ๋ จ๋ฒํธ๊ฐ ์๋ ๊ฒฝ์ฐ๋, GS1๋ฐ์ฝ๋๊ฐ ์ค๋ณต์ผ๋ก ์กด์ฌํ๋ฏ๋ก, ์๋์ ๊ฐ์ด ์ถ๊ฐํจ
AND MARKING_ORDER_ID = (SELECT MIN(MARKING_ORDER_ID)
FROM MARKING_ORDER A
WHERE PUBLISH_GS1_128 = @gs1_barcode
AND MARKING_YN ='Y'
AND VISION_YN = 'Y'
AND NOT EXISTS (SELECT *
FROM GD_PACKING_RESULT_ITEM B
WHERE 1=1
AND A.MARKING_ORDER_ID = B.REFER_ID
AND B.REFER_TYPE = '0') )
SELECT @intErrorCode = @@ERROR
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_ITEM WHERE DETAIL_STOCK_ID > @temp_detail_stock_id
AND DETAIL_STOCK_ID <= @@IDENTITY
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฌผ๋ฅํฌ์ฅ ๋งตํ
-- [๋ถ๊ธฐ] @gubun = 'U2' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U2') BEGIN
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
UPDATE A SET
A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
,A.MAPPING_BOX_TYPE = @mapping_box_type
,A.UPDATE_TIME = GETDATE()
,A.UPDATE_USER_CD = @update_user_cd
FROM GD_PACKING_RESULT_PACK A
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND ISNULL(MAPPING_GS1_BARCODE,'') = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ MES์์ ๊ฐ์ ธ์์ ๋ฐํ์๋ ์
๋ฐ์ดํธ
-- [๋ถ๊ธฐ] @gubun = 'U3' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U3') BEGIN
--๊ธฐ์กด ๋ฐ์ดํฐ ์ญ์
IF(@intErrorCode = 0)
BEGIN
-- [์ญ์ ] RTEGMS_CHODANG_TEMP
DELETE FROM RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
SELECT @intErrorCode = @@error
END
-- ๋ฐํ๋ ๋ฐ์ฝ๋์ธ์ง ํ์ธ
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] RTEGMS_CHODANG_TEMP
INSERT INTO RTEGMS_CHODANG_TEMP.dbo.ERP_PACKING_RESULT
(
pack_order_no,
item_nm,
item_cd,
packing_date,
packing_qty,
receipt_status,
item_make_nm,
lot_no,
start_date,
test_no,
doc_no,
order_no,
order_proc_id,
packing_result_id,
receiver_time
)
SELECT a.pack_order_no,
b.item_nm,
b.item_cd,
a.packing_date,
a.packing_qty,
a.receipt_status,
e.item_nm as item_make_nm,
c.lot_no,
isnull(c.start_date, c.planned_date) as start_date,
f.test_no,
a.doc_no,
a.order_no,
a.order_proc_id,
a.packing_result_id,
convert(char(10), a.receiver_time, 121) as receiver_time
FROM RTEPMS_CHODANG.DBO.packing_result a
join RTEPMS_CHODANG.DBO.v_item_standard b on a.item_cd = b.item_cd
left outer join RTEPMS_CHODANG.DBO.work_order c on a.order_no = c.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard e on c.item_cd = e.item_cd
left outer join RTEPMS_CHODANG.DBO.testcontrol f on a.end_testcontrol_id = f.testcontrol_id
WHERE receipt_status = 1
AND a.issue_time2 between @s_sdate and convert(datetime, @S_edate) + 1
ORDER BY a.issue_time2
END
--๋ฏธํฌํจ์ธ ๊ฒฝ์ฐ๋ง ๋ํ๋ผ๋ฒจ์
๊ณ (ํฌ์ฅ์ง์ ํญ) ๋ฐํ์๋ ์
๋ฐ์ดํธ
IF(@intErrorCode = 0)
BEGIN
UPDATE A SET
A.ORDER_QTY = B.PACKING_QTY
FROM MARKING_ORDER A, RTEGMS_CHODANG_TEMP.DBO.ERP_PACKING_RESULT B
WHERE A.PACKING_ORDER_NO = B.PACK_ORDER_NO
AND A.SERIAL_YN = 'N'
--NOT EXISTS ( SELECT 1 FROM ma_department b WHERE a.dept_cd = b.dept_cd)
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'STOCK_S') -- ๋ฑ๋ก๋ ์
๊ณ ID ์ทจ๋
BEGIN
SELECT ITEM_STOCK_ID
FROM GD_ITEM_STOCK B
WHERE ITEM_CD = @item_cd AND LOT_NO = @lot_no
--PACKING_ORDER_NO = @packing_order_no
--AND RECEIPT_STATUS = 'N'
END
-- [๋ถ๊ธฐ] @gubun = 'S_GTIN13' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S_GTIN13') BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemMappingSearch
๋ชฉ์ โ ํ๋ชฉ ๋งคํ ๊ฒ์(์กฐ๊ฑด).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@packing_order_no | nvarchar(100) | IN |
@box_barcode_no | nvarchar(200) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_receipt_status | nvarchar(100) | IN |
@gs1_barcode | nvarchar(300) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@temp | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@serial_yn | nvarchar(10) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
@box_gubun | nvarchar(100) | IN |
@packing_order_no_ck | nvarchar(100) | IN |
@stock_id | nvarchar(100) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ :
SP ๋ช
: SP_ItemMappingSearch
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์์ ํ ์
๊ณ ์กฐํ
์ฌ ์ฉ ์ฒ : ItemMappingSearch.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemMappingSearch]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@packing_order_no nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@box_barcode_no nvarchar(100) = '', --์งํจ๋ฐ์ฝ๋
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@s_receipt_status nvarchar(50) = '',
@gs1_barcode nvarchar(150)= '',
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@temp nvarchar(50) = '', --์์๋งค๊ฐ๋ณ์
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@serial_yn nvarchar(5) = '',
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output,
@box_gubun nvarchar(50) = '',
@packing_order_no_ck nvarchar(50) = '',
@stock_id nvarchar(50) = ''
AS
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
-- [๋ถ๊ธฐ] @box_gubun = '0' ์ธ ๊ฒฝ์ฐ
IF (@box_gubun = '0')
BEGIN
SELECT A.PACKING_ORDER_NO
-- 2015.6.11 ๊น์ ์
์์
--,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
,CASE WHEN isnull(A.ETC_NO,'') <> '' THEN A.ETC_NO ELSE A.LOT_NO END LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
--,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,CONVERT(INT, E.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
,C.ITEM_STOCK_ID
FROM (SELECT PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE,SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
UNION ALL (SELECT '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
FROM GD_ITEM_STOCK
WHERE REFER_TYPE = '9' )) A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = (CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END)
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' --AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, SUM(isnull(prod_qty,0)) AS RECEIPT_QTY from gd_packing_result_item group by PACKING_ORDER_NO) E ON E.PACKING_ORDER_NO = A.PACKING_ORDER_NO
WHERE 1=1
AND EXISTS (SELECT PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM SUB_B
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
)
END
ELSE IF (@box_gubun = '1' OR @box_gubun = '2')
BEGIN
SELECT A.PACKING_ORDER_NO
-- 2015.6.11 ๊น์ ์
์์
--,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
,CASE WHEN isnull(A.ETC_NO,'') <> '' THEN A.ETC_NO ELSE A.LOT_NO END LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
--,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,CONVERT(INT, E.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
,C.ITEM_STOCK_ID
FROM (SELECT PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE, SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
UNION ALL (SELECT '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
FROM GD_ITEM_STOCK
WHERE REFER_TYPE = '9' )) A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = (CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END)
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' --AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, SUM(isnull(prod_qty,0)) AS RECEIPT_QTY from gd_packing_result_item group by PACKING_ORDER_NO) E ON E.PACKING_ORDER_NO = A.PACKING_ORDER_NO
WHERE 1=1
AND EXISTS (SELECT ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK SUB_A
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_A.ITEM_STOCK_ID
)
END
ELSE
BEGIN
SELECT A.PACKING_ORDER_NO
,CASE WHEN isnull(A.ETC_NO,'') <> '' THEN A.ETC_NO ELSE B.LOT_NO END LOT_NO
,B.END_DATE AS VALID_DATE
,B.LOT_DATE
,B.ITEM_CD
,C.ITEM_NM
,isnull(A.SERIAL_YN,'Y') AS SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,C.ITEM_PACKUNIT2 AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT AS PUBLISH_COUNT
,CONVERT(INT, B.RECEIPT_QTY ) AS RECEIPT_QTY
,B.RECEIPT_STATUS
,B.ITEM_STOCK_ID
FROM PACKING_ORDER A
RIGHT JOIN GD_ITEM_STOCK B ON A.PACKING_ORDER_NO=B.PACKING_ORDER_NO
LEFT JOIN ITEM_STANDARD C ON B.ITEM_CD=C.ITEM_CD
LEFT JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) D on A.PACKING_ORDER_NO = D.PACKING_ORDER_NO
WHERE 1=1
AND ((A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate) OR (B.RECEIPT_DATE BETWEEN @s_sdate AND @s_edate))
AND (ISNULL(B.RECEIPT_STATUS,'N') LIKE @s_receipt_status)
--SELECT A.PACKING_ORDER_NO
-- -- 2015.6.11 ๊น์ ์
์์
-- --,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
-- ,CASE WHEN isnull(A.ETC_NO,'') <> '' THEN A.ETC_NO ELSE A.LOT_NO END LOT_NO
-- ,A.VALID_DATE
-- ,A.LOT_DATE
-- ,A.SALE_ITEM_CD AS ITEM_CD
-- ,B.ITEM_NM
-- ,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
-- ,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
-- ,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
-- ,D.PUBLISH_COUNT AS PUBLISH_COUNT
-- --,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
-- ,CONVERT(INT, E.RECEIPT_QTY) AS RECEIPT_QTY
-- ,C.RECEIPT_STATUS
-- ,C.ITEM_STOCK_ID
-- FROM (SELECT PACKING_ORDER_WORK_DATE, PACKING_ORDER_NO, LOT_NO, ETC_NO, VALID_DATE, LOT_DATE, SALE_ITEM_CD , SERIAL_YN, PACKING_ORDER_QTY FROM PACKING_ORDER
-- UNION ALL (SELECT RECEIPT_DATE AS PACKING_ORDER_WORK_DATE, '' As PACKING_ORDER_NO, LOT_NO, '' AS ETC_NO, END_DATE AS VALID_DATE, LOT_DATE, ITEM_CD AS SALE_ITEM_CD, 'Y' AS SERIAL_YN, RECEIPT_QTY
-- FROM GD_ITEM_STOCK
-- WHERE REFER_TYPE = '9' )) A
-- INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
-- LEFT OUTER JOIN GD_ITEM_STOCK C ON C.ITEM_CD = A.SALE_ITEM_CD AND C.LOT_NO = (CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END)
-- LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
-- FROM MARKING_ORDER
-- WHERE MARKING_YN = 'Y' --AND VISION_YN = 'Y'
-- GROUP BY PACKING_ORDER_NO ) D on a.PACKING_ORDER_NO = D.PACKING_ORDER_NO
-- LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, SUM(isnull(prod_qty,0)) AS RECEIPT_QTY from gd_packing_result_item group by PACKING_ORDER_NO) E ON E.PACKING_ORDER_NO = A.PACKING_ORDER_NO
-- WHERE 1=1
-- AND (A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate)
-- AND (ISNULL(C.RECEIPT_STATUS,'N') LIKE @s_receipt_status)
END
END
-- ์
๊ณ ์กฐํ
ELSE IF (@gubun = 'S2') BEGIN
--๋ฐ์คํ์
์ ๋ฐ๋ฅธ ์ค.๋๋ฐ์ค ์กฐํ ํ๋ฉด ๋ณด์ฌ์ฃผ๊ธฐ
DECLARE @box_type nvarchar
select @box_type = second_pack_type
from item_standard
where item_cd = @item_cd
IF (@box_gubun = '0' Or @box_gubun = '1' Or @box_gubun = '2')
BEGIN
SELECT A.DETAIL_STOCK_ID
,A.PACKING_ORDER_NO
,A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
,A.LOT_NO AS LOT_NO
,CASE WHEN A.SERIAL_NO IS NOT NULL THEN A.SERIAL_NO
ELSE CONVERT(NVARCHAR,ROW_NUMBER() OVER( PARTITION BY A.LOT_NO ORDER BY A.DETAIL_STOCK_ID ASC )) END AS SERIAL_NO
,A.VALID_DATE AS VALID_DATE
,CASE WHEN B.MAPPING_GS1_BARCODE IS NOT NULL THEN B.MAPPING_GS1_BARCODE ELSE C.MAPPING_GS1_BARCODE END MAPPING_GS1_BARCODE
,CASE WHEN B.MAPPING_BOX_TYPE IS NOT NULL THEN B.MAPPING_BOX_TYPE ELSE C.MAPPING_BOX_TYPE END MAPPING_BOX_TYPE
--,CASE WHEN @box_type = 0 THEN NULL
-- ELSE CASE WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO
-- ELSE C.BOX_BARCODE_NO END
-- END BOX_BARCODE_NO
,CASE WHEN a.SERIAL_NO is null THEN ''
WHEN B.GS1_BOX_BARCODE_NO IS NOT NULL THEN B.GS1_BOX_BARCODE_NO
ELSE C.GS1_BOX_BARCODE_NO END As BOX_BARCODE_NO
--,CASE WHEN a.SERIAL_NO is null THEN ''
-- WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO
-- ELSE C.BOX_BARCODE_NO END As BOX_BARCODE_NO
,C.GS1_BOX_BARCODE_NO AS LARGE_BOX_NO
,E.RECEIPT_STATUS
,E.RECEIPT_DATE
,Isnull(A.PROD_QTY,0) AS PROD_QTY
,Isnull(A.STOCK_QTY,0) AS STOCK_QTY
--,0 AS SAMPLE_QTY
,CASE WHEN Isnull(A.PROD_QTY,0) = 0 THEN 1 ELSE 0 END AS SAMPLE_QTY
,E.ITEM_CD
FROM GD_PACKING_RESULT_ITEM A
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '1') B
ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
AND A.MAPPING_BOX_TYPE = BOX_TYPE
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '2') C
ON B.MAPPING_GS1_BARCODE = C.GS1_BOX_BARCODE_NO
AND B.MAPPING_BOX_TYPE = C.BOX_TYPE
LEFT OUTER JOIN GD_ITEM_STOCK E ON A.ITEM_STOCK_ID = E.ITEM_STOCK_ID
WHERE (A.GS1_BOX_BARCODE_NO = @box_barcode_no
OR A.MAPPING_GS1_BARCODE = @box_barcode_no
OR B.MAPPING_GS1_BARCODE = @box_barcode_no
OR B.GS1_BOX_BARCODE_NO = @box_barcode_no
OR C.GS1_BOX_BARCODE_NO = @box_barcode_no ) AND A.CHECK_YN !='Y'
--OR A.PACKING_ORDER_NO = @packing_order_no
ORDER BY LARGE_BOX_NO,BOX_BARCODE_NO,A.DETAIL_STOCK_ID
END
ELSE --๋ฐ์ฝ๋ ์ค์ผ์๋๋
BEGIN
SELECT A.DETAIL_STOCK_ID
,A.PACKING_ORDER_NO
,A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
,A.LOT_NO AS LOT_NO
,CASE WHEN A.SERIAL_NO IS NOT NULL THEN A.SERIAL_NO
ELSE CONVERT(NVARCHAR,ROW_NUMBER() OVER( PARTITION BY A.LOT_NO ORDER BY A.DETAIL_STOCK_ID ASC )) END AS SERIAL_NO
,A.VALID_DATE AS VALID_DATE
,CASE WHEN B.MAPPING_GS1_BARCODE IS NOT NULL THEN B.MAPPING_GS1_BARCODE ELSE C.MAPPING_GS1_BARCODE END MAPPING_GS1_BARCODE
,CASE WHEN B.MAPPING_BOX_TYPE IS NOT NULL THEN B.MAPPING_BOX_TYPE ELSE C.MAPPING_BOX_TYPE END MAPPING_BOX_TYPE
--,CASE WHEN @box_type = 0 THEN NULL
--ELSE CASE WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO
-- ELSE C.BOX_BARCODE_NO END
--END BOX_BARCODE_NO
,CASE WHEN a.SERIAL_NO is null THEN ''
WHEN B.GS1_BOX_BARCODE_NO IS NOT NULL THEN B.GS1_BOX_BARCODE_NO
ELSE C.GS1_BOX_BARCODE_NO END As BOX_BARCODE_NO
--,CASE WHEN a.SERIAL_NO is null THEN ''
-- WHEN B.BOX_BARCODE_NO IS NOT NULL THEN B.BOX_BARCODE_NO
-- ELSE C.BOX_BARCODE_NO END As BOX_BARCODE_NO
,C.GS1_BOX_BARCODE_NO AS LARGE_BOX_NO
,E.RECEIPT_STATUS
,E.RECEIPT_DATE
,Isnull(A.PROD_QTY,0) AS PROD_QTY
,Isnull(A.STOCK_QTY,0) AS STOCK_QTY
--,0 AS SAMPLE_QTY
--,CASE WHEN ((SELECT TOP 1 SERIAL_NO FROM GD_PACKING_RESULT_ITEM WHERE PACKING_ORDER_NO=@packing_order_no)='')
-- THEN (SELECT OUT_QTY FROM GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE OUT_LOT_NO=@packing_order_no)
-- ELSE (CASE WHEN Isnull(A.PROD_QTY,0) = 0 THEN 1 ELSE 0 END) END AS SAMPLE_QTY
,CASE WHEN Isnull(A.PROD_QTY,0) = 0 THEN 1 ELSE 0 END AS SAMPLE_QTY
,E.ITEM_CD
FROM GD_PACKING_RESULT_ITEM A
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '1') B
ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
AND A.MAPPING_BOX_TYPE = BOX_TYPE
LEFT OUTER JOIN (SELECT MAPPING_GS1_BARCODE,MAPPING_BOX_TYPE,BOX_BARCODE_NO,GS1_BOX_BARCODE_NO,BOX_TYPE FROM GD_PACKING_RESULT_PACK WHERE BOX_TYPE = '2') C
ON B.MAPPING_GS1_BARCODE = C.GS1_BOX_BARCODE_NO
AND B.MAPPING_BOX_TYPE = C.BOX_TYPE
LEFT OUTER JOIN GD_ITEM_STOCK E ON A.ITEM_STOCK_ID = E.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @stock_id --A.PACKING_ORDER_NO = @packing_order_no
ORDER BY LARGE_BOX_NO,BOX_BARCODE_NO,A.DETAIL_STOCK_ID
END
END
ELSE IF (@gubun = 'S3') BEGIN
--BOX_BARCODE_NO ๊ฐ์, BOX_BARCODE_NO ๊ฐ ์ ์
DECLARE @box_count decimal(15,4)
DECLARE @box_all_count decimal(15,4)
DECLARE @box_barcode char(10)
declare @item_stock_id int
--์ค์บํ ๋ฐ์ฝ๋์ ๋ฐ์ค ๊ตฌํ๊ธฐ
SELECT @box_barcode = MAPPING_GS1_BARCODE,
@item_stock_id = ITEM_STOCK_ID
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
--๋ฐ์ค์ฝ๋, ๋ฐ์ค์์ ๊ฐฏ์ ๊ฐ์ ธ์ค๊ธฐ
SELECT @box_count = COUNT(MAPPING_GS1_BARCODE)-1
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @box_barcode
--๋ชจ๋ ๋ฐ์ฝ๋ ๊ฐ์ ๊ฐ์ ธ์ค๊ธฐ
SELECT @box_all_count = COUNT(MAPPING_GS1_BARCODE)
FROM GD_PACKING_RESULT_ITEM
WHERE item_stock_id = @item_stock_id
--์ ํ์ด๊ด : ๋ฐ์ค ๋ณ ์๋ ์
๋ฐ์ดํธ
UPDATE GD_PACKING_RESULT_PACK
SET PROD_QTY = @box_count
WHERE GS1_BOX_BARCODE_NO = @box_barcode
update GD_ITEM_STOCK
SET RECEIPT_QTY = @box_all_count - 1
WHERE ITEM_STOCK_ID = @item_stock_id
--์ค์บํ ๋ฐ์ฝ๋ ์ ๋ณด ์ญ์
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
--์ค์บํ ํ๋ชฉ ์กฐํ
SELECT A.PACKING_ORDER_NO
,CASE WHEN A.LOT_NO <> '' THEN A.LOT_NO ELSE A.ETC_NO END LOT_NO
,A.VALID_DATE
,A.LOT_DATE
,A.SALE_ITEM_CD AS ITEM_CD
,B.ITEM_NM
,A.SERIAL_YN -- ์ผ๋ จ๋ฒํธ ์ฌ์ฉ์ฌ๋ถ
,dbo.fn_Pack_unit_size(A.SALE_ITEM_CD) AS ITEM_PACK_SIZE -- ํฌ์ฅ๋จ์
,CONVERT(INT, A.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,G.PUBLISH_COUNT AS PUBLISH_COUNT
,CONVERT(INT, C.RECEIPT_QTY) AS RECEIPT_QTY
,C.RECEIPT_STATUS
FROM PACKING_ORDER A
INNER JOIN ITEM_STANDARD B ON A.SALE_ITEM_CD = B.ITEM_CD
LEFT OUTER JOIN GD_ITEM_STOCK C ON A.LOT_NO = C.LOT_NO AND A.SALE_ITEM_CD = C.ITEM_CD
--LEFT OUTER JOIN PACKING_RESULT C ON A.PACKING_ORDER_NO = C.PACK_ORDER_NO
--LEFT OUTER JOIN GD_ITEM_STOCK D ON C.PACKING_RESULT_ID = D.PACKING_RESULT_ID
LEFT OUTER JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y' --AND VISION_YN = 'Y'
GROUP BY PACKING_ORDER_NO ) G on a.PACKING_ORDER_NO = g.PACKING_ORDER_NO
WHERE 1=1
AND (A.PACKING_ORDER_WORK_DATE BETWEEN @s_sdate AND @s_edate)
AND (ISNULL(C.RECEIPT_STATUS,'N') LIKE @s_receipt_status)
AND ( @box_barcode_no = ''
OR (
EXISTS (SELECT ITEM_STOCK_ID
FROM GD_PACKING_RESULT_PACK SUB_A
WHERE (MAPPING_GS1_BARCODE = @box_barcode_no
OR GS1_BOX_BARCODE_NO = @box_barcode_no)
AND C.ITEM_STOCK_ID = SUB_A.ITEM_STOCK_ID
)
OR EXISTS (SELECT PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM SUB_B
WHERE MAPPING_GS1_BARCODE = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
)
OR EXISTS (SELECT PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM SUB_B
WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
AND C.ITEM_STOCK_ID = SUB_B.ITEM_STOCK_ID
)
)
)
END
ELSE IF(@gubun = 'BOX_QTY') BEGIN
--IF (LEN(@box_barcode_no) > 15) BEGIN
-- SELECT prod_qty, GS1_BOX_BARCODE_NO, BOX_TYPE from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO=@box_barcode_no
--END
--ELSE BEGIN
-- SELECT prod_qty, GS1_BOX_BARCODE_NO, BOX_TYPE from GD_PACKING_RESULT_PACK where BOX_BARCODE_NO=@box_barcode_no
--END
SELECT prod_qty, GS1_BOX_BARCODE_NO, BOX_TYPE from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO=@box_barcode_no
END
-- 14.04.01 ๊น์ ์
์ถ๊ฐ 15.06.22 ๊น์ ์
์ฃผ์์ฒ๋ฆฌ 'DEL'๊ตฌ๋ถ์ ๊ธฐ๋ฅ ํก์
/*
ELSE IF(@gubun = 'DEL_ITEM') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
DECLARE @MEDIUM_BOX_BARCODE nvarchar(100)
DECLARE @LARGE_BOX_BARCODE nvarchar(100)
DECLARE @PACKING_RESULT_ID nvarchar(100)
select @ITEM_STOCK_ID = ITEM_STOCK_ID from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @PACKING_RESULT_ID = A.PACKING_ORDER_NO from GD_ITEM_STOCK A LEFT OUTER JOIN PACKING_ORDER B ON A.ITEM_CD=B.SALE_ITEM_CD AND A.LOT_NO = B.LOT_NO where A.ITEM_STOCK_ID = @item_stock_id
-- GD_PACKING_RESULT_ITEM, GD_PACKING_RESULT_PACK ๋ณ๊ฒฝ
-- [๋ถ๊ธฐ] @serial_yn = 'Y' ์ธ ๊ฒฝ์ฐ
IF(@serial_yn = 'Y')
BEGIN
SELECT @MEDIUM_BOX_BARCODE = isnull(MAPPING_GS1_BARCODE, '') FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @LARGE_BOX_BARCODE = isnull(MAPPING_GS1_BARCODE, '') FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
UPDATE GD_PACKING_RESULT_PACK set PROD_QTY = PROD_QTY - 1 where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK set PROD_QTY = PROD_QTY - 1 where GS1_BOX_BARCODE_NO = @LARGE_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @LARGE_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--------------------------------------------------
--2015.06.22 ๊น์ ์
์ฃผ์ ํด์
IF NOT EXISTS (SELECT 1 FROM GD_PACKING_RESULT_ITEM WHERE MAPPING_GS1_BARCODE=@MEDIUM_BOX_BARCODE)
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO=@MEDIUM_BOX_BARCODE
END
IF NOT EXISTS (SELECT 1 FROM GD_PACKING_RESULT_PACK WHERE MAPPING_GS1_BARCODE=@LARGE_BOX_BARCODE)
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @LARGE_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO=@LARGE_BOX_BARCODE
END
----------------------------------------------------
END
ELSE
BEGIN
SELECT @MEDIUM_BOX_BARCODE = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
UPDATE GD_PACKING_RESULT_ITEM set PROD_QTY = PROD_QTY - 1 where GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK set PROD_QTY = PROD_QTY - 1 where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
IF (select PROD_QTY from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode) < 1
and not exists (select 1 from GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE = @gs1_barcode)
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MEDIUM_BOX_BARCODE
END
END
-- GD_ITEM_STOCK ๋ณ๊ฒฝ
UPDATE GD_ITEM_STOCK set RECEIPT_QTY = RECEIPT_QTY - 1
where ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
IF NOT EXISTS (Select 1 from GD_PACKING_RESULT_ITEM where ITEM_STOCK_ID = @item_stock_id)
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_ITEM_STOCK
DELETE GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
END
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
--IF (@intErrorCode = 0) BEGIN
-- SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- COMMIT TRANSACTION
--END
--ELSE BEGIN
-- ROLLBACK TRANSACTION
--END
END
*/
-- 15.02.09 ์ด๋ณ์ฐฝ ์ถ๊ฐ
--ELSE IF(@gubun = 'DEL_LAST') BEGIN
-- BEGIN TRANSACTION
-- DECLARE @ITEM_QTY int
-- DECLARE @PACK_QTY int
-- DECLARE @STOCK_QTY int
-- SET @ITEM_QTY = 0
-- SET @PACK_QTY = 0
-- SET @STOCK_QTY = 0
-- SET @intErrorCode = 0
-- SELECT @ITEM_QTY = SUM(ISNULL(PROD_QTY,0)) FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
-- SELECT @PACK_QTY = SUM(ISNULL(PROD_QTY,0)) FROM GD_PACKING_RESULT_PACK WHERE ITEM_STOCK_ID = @stock_id GROUP BY ITEM_STOCK_ID
-- SELECT @STOCK_QTY = SUM(ISNULL(RECEIPT_QTY,0)) FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id GROUP BY ITEM_STOCK_ID
-- -- GD_PACKING_RESULT_ITEM, GD_PACKING_RESULT_PACK ๋ณ๊ฒฝ
-- --IF(@intErrorCode = 0 AND @PACK_QTY < 2 AND @ITEM_QTY > 0)
-- IF(@intErrorCode = 0)
-- BEGIN
-- --AuditTrail ์์ฑ
-- select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where ITEM_STOCK_ID = @stock_id
-- exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- DELETE FROM GD_PACKING_RESULT_PACK WHERE ITEM_STOCK_ID = @stock_id
-- END
-- SELECT @intErrorCode = @@ERROR
-- IF(@intErrorCode = 0 AND @ITEM_QTY > 0)
-- BEGIN
-- --AuditTrail ์์ฑ
-- select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
-- exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- DELETE GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
-- END
-- SELECT @intErrorCode = @@ERROR
-- IF(@intErrorCode = 0 AND @STOCK_QTY < 2 AND @ITEM_QTY > 0)
-- BEGIN
-- --AuditTrail ์์ฑ
-- select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
-- exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- DELETE FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id
-- END
-- SELECT @intErrorCode = @@ERROR
-- IF (@intErrorCode = 0) BEGIN
-- SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- COMMIT TRANSACTION
-- END
-- ELSE BEGIN
-- ROLLBACK TRANSACTION
-- END
--END
ELSE IF(@gubun = 'DEL') BEGIN
DECLARE @check_cnt int
DECLARE @SSCC1 nvarchar(100)
DECLARE @SSCC2 nvarchar(100)
DECLARE @ERR_MSG nvarchar(200)
-- [๋ถ๊ธฐ] @box_gubun = 'Small' ์ธ ๊ฒฝ์ฐ
IF(@box_gubun = 'Small') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
----------------------------------------------------------------------------
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY
WHERE GS1_BARCODE = @gs1_barcode
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์ํ๋ก ๋ฑ๋ก๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_ITEM
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND CHECK_YN = 'Y'
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์
๊ณ ๊ฐ ์๋ฃ๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
SELECT @SSCC1 = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @SSCC2 = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC1
--GD_PACKING_RESULT_ITEM
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--GD_PACKING_RESULT_PACK 1์ฐจ
UPDATE GD_PACKING_RESULT_PACK SET PROD_QTY = PROD_QTY - 1 WHERE GS1_BOX_BARCODE_NO = @SSCC1
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC1
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC1) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC1
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC1
END
--GD_PACKING_RESULT_PACK 2์ฐจ
IF(isnull(@SSCC2,'')!='')
BEGIN
UPDATE GD_PACKING_RESULT_PACK SET PROD_QTY = PROD_QTY - 1 WHERE GS1_BOX_BARCODE_NO = @SSCC2
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC2) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC2
END
END
--GD_ITEM_STOCK
UPDATE GD_ITEM_STOCK SET RECEIPT_QTY = RECEIPT_QTY - 1 WHERE ITEM_STOCK_ID = @stock_id
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT RECEIPT_QTY FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_ITEM_STOCK
DELETE GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id
END
----------------------------------------------------------------------------
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@ERR_MSG , 16, 1)
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
--RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
END
ELSE IF(@box_gubun = 'Medium') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
----------------------------------------------------------------------------
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์ํ๋ก ๋ฑ๋ก๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @gs1_barcode
AND CHECK_YN = 'Y'
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์
๊ณ ๊ฐ ์๋ฃ๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
SELECT @SSCC2 = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--GD_PACKING_RESULT_ITEM
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE GD_PACKING_RESULT_ITEM WHERE MAPPING_GS1_BARCODE = @gs1_barcode
--GD_PACKING_RESULT_PACK 1์ฐจ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--GD_PACKING_RESULT_PACK 2์ฐจ
IF(isnull(@SSCC2,'')!='')
BEGIN
UPDATE GD_PACKING_RESULT_PACK SET PROD_QTY = (SELECT isnull(SUM(PROD_QTY),0) FROM GD_PACKING_RESULT_PACK WHERE MAPPING_GS1_BARCODE = @SSCC2) WHERE GS1_BOX_BARCODE_NO = @SSCC2
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT PROD_QTY FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC2) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @SSCC2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @SSCC2
END
END
--GD_ITEM_STOCK
UPDATE GD_ITEM_STOCK SET RECEIPT_QTY = (SELECT isnull(SUM(PROD_QTY),0) FROM GD_PACKING_RESULT_ITEM WHERE ITEM_STOCK_ID = @stock_id) WHERE ITEM_STOCK_ID = @stock_id
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT RECEIPT_QTY FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_ITEM_STOCK
DELETE GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id
END
----------------------------------------------------------------------------
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@ERR_MSG , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
--RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
END
ELSE IF(@box_gubun = 'Large') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
----------------------------------------------------------------------------
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.GS1_BARCODE=B.GS1_BOX_BARCODE_NO
INNER JOIN GD_PACKING_RESULT_PACK C ON B.MAPPING_GS1_BARCODE=C.GS1_BOX_BARCODE_NO
WHERE C.MAPPING_GS1_BARCODE = @gs1_barcode
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์ํ๋ก ๋ฑ๋ก๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
SET @check_cnt = 0
SELECT @check_cnt = Count(*)
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
AND CHECK_YN = 'Y'
IF(@check_cnt>0)
BEGIN
SELECT @ERR_MSG = '์
๊ณ ๊ฐ ์๋ฃ๋์ด ์ญ์ ํ ์ ์์ต๋๋ค.'
RAISERROR('', 16, 1)
END
--GD_PACKING_RESULT_ITEM
-- [์ญ์ ] A
DELETE A
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
--GD_PACKING_RESULT_PACK 1์ฐจ
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE MAPPING_GS1_BARCODE = @gs1_barcode
--GD_PACKING_RESULT_PACK 2์ฐจ
IF(isnull(@gs1_barcode,'')!='')
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
END
--GD_ITEM_STOCK
UPDATE GD_ITEM_STOCK SET RECEIPT_QTY = (SELECT isnull(SUM(PROD_QTY),0) FROM GD_PACKING_RESULT_ITEM WHERE ITEM_STOCK_ID = @stock_id) WHERE ITEM_STOCK_ID = @stock_id
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
IF((SELECT RECEIPT_QTY FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id) < 1)
BEGIN
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์
๊ณ ๊ด๋ฆฌ'
-- [์ญ์ ] GD_ITEM_STOCK
DELETE GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @stock_id
END
----------------------------------------------------------------------------
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@ERR_MSG , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
--RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
END
END
ELSE IF (@gubun = 'S_GTINnLOTNO') BEGIN
IF((SELECT B.REFER_TYPE FROM GD_PACKING_RESULT_PACK A LEFT OUTER JOIN GD_ITEM_STOCK B ON(A.ITEM_STOCK_ID = B.ITEM_STOCK_ID) WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode ) = '9')
BEGIN
SELECT top 1 D.ITEM_PACK_BARCODE, B.LOT_NO
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
LEFT JOIN ITEM_STANDARD D ON B.ITEM_CD=D.ITEM_CD
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
END
ELSE
BEGIN
SELECT top 1 D.ITEM_PACK_BARCODE, case when d.ITEM_GB='2' then C.ETC_NO else c.LOT_NO end as LOT_NO
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN GD_ITEM_STOCK B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
LEFT JOIN PACKING_ORDER C ON B.ITEM_CD=C.SALE_ITEM_CD AND B.LOT_NO=C.LOT_NO
LEFT JOIN ITEM_STANDARD D ON C.SALE_ITEM_CD=D.ITEM_CD
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
END
END
---- '์กฐํ' ๋ฒํผ ๋๋ฅผ ๊ฒฝ์ฐ
--ELSE IF (@gubun = 'S3') BEGIN
-- IF (@box_gubun = 0)
-- BEGIN
-- SELECT B.PUBLISH_SERIAL_NO AS SERIAL_NO
-- ,B.PUBLISH_LOT_NO AS LOT_NO
-- ,B.PUBLISH_VALID_DATE AS VALID_DATE
-- ,A.GS1_BOX_BARCODE_NO
-- FROM GD_PACKING_RESULT_ITEM A
-- INNER JOIN MARKING_ORDER B ON A.MARKING_ORDER_ID = B.MARKING_ORDER_ID
-- WHERE BOX_BARCODE_NO = @box_barcode_no
-- END
-- ELSE IF(@box_gubun = 1)
-- BEGIN
-- SELECT A.GS1_BOX_BARCODE_NO
-- ,B.PUBLISH_GS1_128
-- FROM GD_PACKING_RESULT_PACK A
-- LEFT JOIN MARKING_ORDER B ON @box_barcode_no = B.MAPPING_GS1_BARCODE
-- END
-- ELSE IF(@box_gubun = 2)
-- BEGIN
-- SELECT A.MAPPING_GS1_BARCODE
-- ,A.GS1_BOX_BARCODE_NO
-- ,C.PUBLISH_GS1_128
-- FROM GD_PACKING_RESULT_PACK a
-- INNER JOIN GD_PACKING_RESULT_PACK b ON @box_barcode_no = b.GS1_BOX_BARCODE_NO
-- LEFT JOIN MARKING_ORDER C ON A.GS1_BOX_BARCODE_NO = C.MAPPING_GS1_BARCODE
-- END
--END
---- ์ค์บ๋๋ก ์ฝ์ ๊ฒฝ์ฐ
--ELSE IF (@gubun = 'S4') BEGIN
-- IF (@box_gubun = 0)
-- BEGIN
-- SELECT PUBLISH_SERIAL_NO AS SERIAL_NO
-- ,PUBLISH_LOT_NO AS LOT_NO
-- ,PUBLISH_VALID_DATE AS VALID_DATE
-- ,PUBLISH_GS1_128
-- FROM MARKING_ORDER
-- WHERE PUBLISH_GS1_128 = @box_barcode_no
-- END
-- ELSE IF(@box_gubun = 1)
-- BEGIN
-- SELECT DISTINCT(A.PUBLISH_LOT_NO) AS LOT_NO
-- ,A.PUBLISH_VALID_DATE AS VALID_DATE
-- ,'' AS SERIAL_NO
-- ,A.MAPPING_GS1_BARCODE AS PUBLISH_GS1_128
-- ,B.BOX_BARCODE_NO AS BOX_BAROCDE_NO
-- FROM MARKING_ORDER A, GD_PACKING_RESULT_PACK B
-- WHERE A.MAPPING_GS1_BARCODE = @box_barcode_no
-- AND A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
-- UNION ALL
-- SELECT DISTINCT(PUBLISH_LOT_NO) AS LOT_NO
-- ,PUBLISH_VALID_DATE AS VALID_DATE
-- ,PUBLISH_SERIAL_NO AS SERIAL_NO
-- ,B.PUBLISH_GS1_128 AS PUBLISH_GS1_128
-- ,'' AS BOX_BARCODE_NO
-- FROM GD_PACKING_RESULT_PACK A
-- LEFT JOIN MARKING_ORDER B ON @box_barcode_no = B.MAPPING_GS1_BARCODE
-- END
-- ELSE IF(@box_gubun = 2)
-- BEGIN
-- SELECT '' AS LOT_NO
-- ,'' AS VALID_DATE
-- ,'' AS SERIAL_NO
-- ,GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
-- ,BOX_BARCODE_NO
-- FROM GD_PACKING_RESULT_PACK
-- WHERE GS1_BOX_BARCODE_NO = @box_barcode_no
-- UNION ALL
-- SELECT DISTINCT(A.PUBLISH_LOT_NO) AS LOT_NO
-- ,A.PUBLISH_VALID_DATE AS VALID_DATE
-- ,'' AS SERIAL_NO
-- ,A.MAPPING_GS1_BARCODE AS PUBLISH_GS1_128
-- ,B.BOX_BARCODE_NO AS BOX_BAROCDE_NO
-- FROM MARKING_ORDER A, GD_PACKING_RESULT_PACK B
-- WHERE B.MAPPING_GS1_BARCODE = @box_barcode_no
-- AND A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
-- UNION ALL
-- SELECT DISTINCT(PUBLISH_LOT_NO) AS LOT_NO
-- ,PUBLISH_VALID_DATE AS VALID_DATE
-- ,PUBLISH_SERIAL_NO AS SERIAL_NO
-- ,B.PUBLISH_GS1_128 AS PUBLISH_GS1_128
-- ,'' AS BOX_BARCODE_NO
-- --,C.ITEM_NM
-- FROM GD_PACKING_RESULT_PACK A, MARKING_ORDER B, ITEM_STANDARD C
-- WHERE A.MAPPING_GS1_BARCODE = @box_barcode_no
-- AND A.GS1_BOX_BARCODE_NO = B.MAPPING_GS1_BARCODE
-- END
--END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOut
๋ชฉ์ โ ํ๋ชฉ ์ถ๊ณ ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(40) | IN |
@gs1_barcode | nvarchar(160) | IN |
@gtin_barcode | nvarchar(40) | IN |
@end_date | nvarchar(40) | IN |
@lot_no | nvarchar(40) | IN |
@serial_no | nvarchar(60) | IN |
@s_issue_status | nvarchar(100) | IN |
@box_barcode | nvarchar(100) | IN |
@item_issue_id | int(4) | IN |
@issue_qty | decimal(9) | IN |
@issue_order_qty | decimal(9) | IN |
@detail_stock_id | nvarchar(100) | IN |
@item_issue_status | nvarchar(100) | IN |
@issue_gb2 | nvarchar(10) | IN |
@lot_date | nvarchar(40) | IN |
@item_cd | nvarchar(30) | IN |
@packing_order_no | nvarchar(100) | IN |
@qty | int(4) | IN |
@despatch_order_no | nvarchar(100) | IN |
@despatch_date | nvarchar(20) | IN |
@despatch_work_date | nvarchar(20) | IN |
@cust_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
(14.2.18)
์ ์ ์ :
SP ๋ช
: SP_ItemOut
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ฝ๋์ค์บ์ผ๋ก ์ถ๊ณ ์ฒ๋ฆฌ(์๋ฃ) ์๋ํ
์ฌ ์ฉ ์ฒ : ItemOut.cs
ํ
์ด ๋ธ : gd_cust_issue, gd_item_issue, gd_packing_result_pack, gd_packing_result_item
gd_box_issue, gd_item_issue_history
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROC [dbo].[SP_ItemOut]
@gubun nvarchar(20) = '', --๋ฐ๋์ ์์ด์ผ ํจ
@gs1_barcode nvarchar(80) = '', --2D ๊ฐ๋ณ ๋ฐ์ฝ๋ --์ฌ์ฉ
@gtin_barcode nvarchar(20) = '', -- ํ์ค์ฝ๋ --์ฌ์ฉ
@end_date nvarchar(20) = '', -- ์ ํต๊ธฐํ --์ฌ์ฉ
@lot_no nvarchar(20) = '', -- ์ ์กฐ๋ฒํธ --์ฌ์ฉ
@serial_no nvarchar(30) = '', -- ์ผ๋ จ๋ฒํธ --์ฌ์ฉ
@s_issue_status nvarchar(50) = '',
@box_barcode nvarchar(50) = '',
@item_issue_id int = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@issue_qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@issue_order_qty decimal(15,4) = 0, --์ถ๊ณ ์ง์๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@item_issue_status nvarchar(50) = '', --์ ํ ์ถ๊ณ ์ํ
@issue_gb2 nvarchar(5) = '', -- ์ถ๊ณ ๊ตฌ๋ถ(GD301)
@lot_date nvarchar(20) = '', -- ์ ์กฐ์ผ์
@item_cd nvarchar(15) = '', -- ํ๋ชฉ์ฝ๋
@packing_order_no nvarchar(50) ='',
@qty int = 0, -- ์ถ๊ณ ๋
@despatch_order_no nvarchar(50) = '', -- ์ ํ๋ฒํธ
@despatch_date nvarchar(10) = '', -- ์ถ๊ณ ์ผ์
@despatch_work_date nvarchar(10) = '', -- ์์
์ผ์
@cust_cd nvarchar(50) = '', -- ๊ฑฐ๋์ฒ ์ฝ๋
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ ์ฝ๋
@update_user_cd nvarchar(50) = '', -- ์์ ์ ์ฝ๋
@log_user_id nvarchar(50) = '', -- AUDIT TRAIL
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @PACKING_REMAIN DECIMAL(15,4)
,@EXIST_ISSUE INT
,@SUM_REMAIN DECIMAL(15,4)
,@MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
,@TEMP_STOCK DECIMAL(15,4)
,@TEMP_REMAIN DECIMAL(15,4)
,@SUM_ISSUE DECIMAL(15,4)
--- ํ๋ชฉ ์ฝ๋ ๊ฒ์
-- [๋ถ๊ธฐ] @gubun = 'S_ITEM' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_ITEM')
BEGIN
SELECT ITEM_CD, ITEM_NM, ITEM_PACKUNIT2
FROM ITEM_STANDARD
WHERE ITEM_PACK_BARCODE = @gtin_barcode
--select ITEM_CD, ITEM_NM, ITEM_PACKUNIT2, cast(isnull(STOCK_QTY,0) as int) as STOCK_QTY
--from gd_packing_result_item, ITEM_STANDARD
--where GS1_BOX_BARCODE_NO=@gs1_barcode and ITEM_PACK_BARCODE = @gtin_barcode
SELECT @intErrorCode = @@ERROR
END
-- [๋ถ๊ธฐ] @gubun = 'S_ITEM2' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_ITEM2')
BEGIN
SELECT 1
FROM MARKING_ORDER
WHERE PUBLISH_GS1_128 = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
-- [๋ถ๊ธฐ] @gubun = 'S_ITEM3' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_ITEM3')
BEGIN
select ITEM_CD, ITEM_NM, ITEM_PACKUNIT2, cast(isnull(STOCK_QTY,0) as int) as STOCK_QTY
from gd_packing_result_item, ITEM_STANDARD
where GS1_BOX_BARCODE_NO=@gs1_barcode and ITEM_PACK_BARCODE = @gtin_barcode
SELECT @intErrorCode = @@ERROR
END
--- ํ๋ชฉ ์ฝ๋ + ์ค๋ฐ์ค ์๋ ๊ฒ์
-- [๋ถ๊ธฐ] @gubun = 'S_MPACKQTY' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_MPACKQTY')
BEGIN
SELECT A.ITEM_CD, ITEM_NM, ITEM_PACKUNIT2, cast(stock_qty as int) as STOCK_QTY, C.ITEM_PACK_BARCODE
FROM GD_ITEM_STOCK A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
INNER JOIN ITEM_STANDARD C ON A.ITEM_CD = C.ITEM_CD
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode AND B.STOCK_QTY = 1
SELECT @intErrorCode = @@ERROR
END
--- ํ๋ชฉ ์ฝ๋ + ๋๋ฐ์ค ์๋ ๊ฒ์
-- [๋ถ๊ธฐ] @gubun = 'S_LPACKQTY' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_LPACKQTY')
BEGIN
select MAX(D.ITEM_CD) as ITEM_CD, MAX(D.ITEM_NM) as ITEM_NM, MAX(d.ITEM_PACKUNIT2) as ITEM_PACKUNIT2, SUM(b.STOCK_QTY) as STOCK_QTY
,MAX(D.ITEM_PACK_BARCODE) as ITEM_PACK_BARCODE
from GD_ITEM_STOCK a
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
INNER JOIN GD_PACKING_RESULT_PACK C ON B.MAPPING_GS1_BARCODE = C.GS1_BOX_BARCODE_NO
INNER JOIN ITEM_STANDARD D ON A.ITEM_CD = D.ITEM_CD
WHERE C.MAPPING_GS1_BARCODE = @gs1_barcode
group by C.MAPPING_GS1_BARCODE
SELECT @intErrorCode = @@ERROR
END
--- ์ค๋ฐ์ค ์ ๊ฐ๋ณํฌ์ฅ ๋์ด
-- [๋ถ๊ธฐ] @gubun = 'S_MPACKDETAIL' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_MPACKDETAIL')
BEGIN
SELECT GS1_BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE MAPPING_GS1_BARCODE = @gs1_barcode and cast(STOCK_QTY as int) = 1
SELECT @intErrorCode = @@ERROR
END
--- ๋๋ฐ์ค ์ ๊ฐ๋ณํฌ์ฅ ๋์ด
-- [๋ถ๊ธฐ] @gubun = 'S_LPACKDETAIL' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S_LPACKDETAIL')
BEGIN
SELECT A.GS1_BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode and cast(a.stock_qty as int) = 1
SELECT @intErrorCode = @@ERROR
END
--- ์ถ๊ณ ์ ํ ์ค๋ณต๊ฒ์ฌ
-- [๋ถ๊ธฐ] @gubun = 'V' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'V')
BEGIN
SELECT count(DESPATCH_ORDER_NO)
FROM GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO = @despatch_order_no
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ๋ฑ๋ก
ELSE IF(@gubun = 'SAVE1') --1ํ
BEGIN
INSERT INTO
GD_CUST_ISSUE(
DESPATCH_ORDER_NO --์ ํ๋ฒํธ
,ISSUE_GB --์ถ๊ณ ๊ตฌ๋ถ(GD401) 1:์ง์ ์ถ๊ณ ๊ณ ์
,ISSUE_GB2 --์ถ๊ณ ๊ตฌ๋ถ(GD301)
,ISSUE_DATE --์ถ๊ณ ์ผ์
,ISSUE_WORK_DATE --์์
์ผ์
,CUST_CD --๊ฑฐ๋์ฒ ์ฝ๋
,PASS_CUST_CD --๊ฐ๋ฉ์ฒ ์ฝ๋
,ISSUE_TRANS_GB --๋ฐฐ์ก์ฒ๊ตฌ๋ถ 1๋ก ๊ณ ์
,ISSUE_TRANS_CUST_CD --๋ฐฐ์ก์ฒ ์ฝ๋ ๊ฑฐ๋์ฒ๋ ๋์ผ
,ISSUE_CK --์ถ๊ณ ์๋ฃ์ฌ๋ถ(GD402) 2(์๋ฃ)๋ก ๊ณ ์
,INSERT_USER_CD --์
๋ ฅ์ ์ฝ๋
,INSERT_TIME --์
๋ ฅ ์๊ฐ
)
VALUES (
@despatch_order_no
,'1'
,@issue_gb2
,@despatch_date
,@despatch_date
,@cust_cd
,''
,'1'
,@cust_cd
,'2' -- ์ถ๊ณ ์๋ฃ 0:์ง์ 1:ํ์ 2:์๋ฃ ๊ธฐํ๋ฑ๋ฑ
,@insert_user_cd
,GETDATE()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ์์ธ ๋ฑ๋ก
ELSE IF(@gubun = 'SAVE2') --์ ํ๋ณ
BEGIN
--์ ํ์์ธ์
๋ ฅ
INSERT INTO
GD_ITEM_ISSUE(
ISSUE_DATE --์ถ๊ณ ์ผ์(์์ธ)
,ITEM_CD --์ ํ์ฝ๋
,ISSUE_QTY --์ถ๊ณ ์๋
,LOT_NO --์ ์กฐ๋ฒํธ
--,LOT_DATE --์ ์กฐ์ผ์
--,END_DATE --์ ํจ์ผ์
,DESPATCH_ORDER_NO --์ ํ๋ฒํธ
--,ISSUE_DPS_DOWN_CK
,INSERT_USER_CD
,INSERT_TIME
--,ISSUE_STATUS
)
VALUES
(
@despatch_date
,@item_cd
,@qty
,@lot_no
--,'' --@lot_date --์ ์กฐ์ผ์ ์ผ๋จ ๋ณด๋ฅ@lot_date --
--,'' --@end_date
,@despatch_order_no
--,'N'
,@insert_user_cd
,GETDATE()
--,'2'
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE where ITEM_ISSUE_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
--- ์ ํ์ถ๊ณ ๋ฑ๋ก - ์ผ๋ จ๋ฒํธ์๋๊ฒ
-- [๋ถ๊ธฐ] @gubun = 'ItemIssue_SEQ' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'ItemIssue_SEQ')
BEGIN
SELECT @item_issue_id = A.ITEM_ISSUE_ID
from GD_ITEM_ISSUE A LEFT OUTER JOIN MARKING_ORDER B ON A.ITEM_CD=B.SALE_ITEM_CD --and A.LOT_NO=B.PUBLISH_LOT_NO
where B.PUBLISH_GS1_128 = @gs1_barcode and a.DESPATCH_ORDER_NO = @despatch_order_no
SELECT @detail_stock_id = DETAIL_STOCK_ID from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
--๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๊ฐ ์๊ณ , ์ถ๊ณ ์ ๋ณด๊ฐ ์์๋ ์ ๊ท๋ฑ๋ก ์์๊ฒฝ์ฐ, ์์
--SET @EXIST_ISSUE = (SELECT COUNT(*)
-- FROM GD_ITEM_ISSUE_HISTORY
-- WHERE DETAIL_STOCK_ID = @detail_stock_id
-- AND ITEM_ISSUE_ID = @item_issue_id)
--IF (ISNULL(@EXIST_ISSUE,0) = 0) BEGIN
---์ถ๊ณ ์
๋ ฅ
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,DETAIL_STOCK_ID
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,ISSUE_STATUS
--,PACKING_ORDER_NO
,BARCODE
)
VALUES
(
@item_issue_id
,GETDATE()
,@detail_stock_id
,@issue_qty
,@insert_user_cd
,GETDATE()
,'1'
--,@packing_order_no
,@gs1_barcode
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--END
--๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๊ฐฑ์
IF (@intErrorCode = 0) BEGIN
-- ์งํจ1์ฐจ์ ๋ฐ์ฝ๋๋ฅผ ์ทจ๋ํ๋ค.
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
,@MAPPING_BOX_BARCODE = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
SELECT @TEMP_STOCK = SUM(CASE WHEN ISSUE_STATUS = '0' THEN 0 ELSE ISSUE_QTY END)---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
FROM GD_ITEM_ISSUE_HISTORY
WHERE 1=1
AND DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_ITEM SET
STOCK_QTY = CASE WHEN @TEMP_STOCK > 0 THEN 0 ELSE 1 END
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE 1=1
AND DETAIL_STOCK_ID = @detail_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @detail_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
--๊ฐ๋ณํฌ์ฅ์ด ์ ์ฌ๋ 1์ฐจ์งํจ์ ์ฌ๊ณ ๋ฅผ ๊ฐฑ์
IF (@intErrorCode = 0) BEGIN
SELECT @TEMP_REMAIN = SUM(STOCK_QTY)
FROM GD_PACKING_RESULT_ITEM A
WHERE 1=1
AND A.MAPPING_GS1_BARCODE = @mapping_gs1_barcode
UPDATE GD_PACKING_RESULT_PACK SET
stock_qty = ISNULL(@TEMP_REMAIN,0)
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE 1=1
AND GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (@intErrorCode = 0) BEGIN
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0 BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id from GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
END
--- ์ ํ์ถ๊ณ ๋ฑ๋ก - ์ผ๋ จ๋ฒํธ์๋๊ฒ
-- [๋ถ๊ธฐ] @gubun = 'ItemIssue_NOSEQ' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'ItemIssue_NOSEQ')
BEGIN
select @box_barcode = BOX_BARCODE_NO from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @item_issue_id = A.ITEM_ISSUE_ID
from GD_ITEM_ISSUE A LEFT OUTER JOIN MARKING_ORDER B ON A.ITEM_CD=B.SALE_ITEM_CD --and A.LOT_NO=B.PUBLISH_LOT_NO
where B.PUBLISH_GS1_128 = @gs1_barcode and a.DESPATCH_ORDER_NO = @despatch_order_no
--์ถ๊ณ ์ ๋ณด ์ ์ฅ
INSERT INTO
GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,ISSUE_STATUS
,BARCODE
)
values
(
@item_issue_id
,GETDATE()
,@ISSUE_QTY
,@update_user_cd
,GETDATE()
,'1'
,@gs1_barcode
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
update GD_ITEM_ISSUE_HISTORY
set DETAIL_STOCK_ID=(select DETAIL_STOCK_ID from GD_PACKING_RESULT_ITEM where BOX_BARCODE_NO=@box_barcode)
where BARCODE=@gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where BARCODE=@gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๊ฐฑ์
IF (@intErrorCode = 0) BEGIN
-- ์ถ๊ณ ํ์คํ ๋ฆฌ๊ฐ ์์ผ๋ฉด 0 ์์ผ๋ฉด, 1
UPDATE A SET
STOCK_QTY = STOCK_QTY - B.ISSUE_QTY
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
FROM GD_PACKING_RESULT_ITEM A
LEFT OUTER JOIN GD_ITEM_ISSUE_HISTORY B
ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.BOX_BARCODE_NO = @box_barcode
--AND A.PACKING_ORDER_NO = @packing_order_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
--๊ฐ๋ณํฌ์ฅ์ด ์ ์ฌ๋ 1์ฐจ์งํจ์ ์ฌ๊ณ ๋ฅผ ๊ฐฑ์
IF (@intErrorCode = 0) BEGIN
SELECT @TEMP_REMAIN = SUM(A.STOCK_QTY)
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN GD_PACKING_RESULT_PACK B ON A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
WHERE A.BOX_BARCODE_NO = @box_barcode
UPDATE GD_PACKING_RESULT_PACK SET
stock_qty = ISNULL(@TEMP_REMAIN,0)
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE 1=1
AND BOX_BARCODE_NO = @box_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (@intErrorCode = 0) BEGIN
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @box_barcode) > 0 BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @box_barcode
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id from GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @box_barcode
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @box_barcode
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
END
--- ์ ํ์ถ๊ณ ๋ฑ๋ก - ์ผ๋ฐ์์ฝํ
-- [๋ถ๊ธฐ] @gubun = 'ItemIssue_GENERAL' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'ItemIssue_GENERAL')
BEGIN
SELECT @item_issue_id = A.ITEM_ISSUE_ID
from GD_ITEM_ISSUE A LEFT OUTER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD --and A.LOT_NO=B.PUBLISH_LOT_NO
where B.ITEM_PACK_BARCODE = @gs1_barcode and a.DESPATCH_ORDER_NO = @despatch_order_no
--์ถ๊ณ ์ ๋ณด ์ ์ฅ
INSERT INTO
GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,ISSUE_STATUS
,BARCODE
)
values
(
@item_issue_id
,GETDATE()
,@ISSUE_QTY
,@update_user_cd
,GETDATE()
,'1'
,@gs1_barcode
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
--- ์ ํ์ถ๊ณ ์๋ฃ
-- [๋ถ๊ธฐ] @gubun = 'DespatchOrderEnd' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'DespatchOrderEnd')
BEGIN
UPDATE A SET
A.ISSUE_STATUS = '2'
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
AND A.ISSUE_STATUS = '1'
--AuditTrail์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT A.audittrail_id from GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE_HISTORY', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ์๋ฃ ์ฒ๋ฆฌ'
SELECT @intErrorCode = @@ERROR
IF (@intErrorCode = 0)
BEGIN
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE despatch_order_no = @despatch_order_no
END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
------------------------------------------------------ ๋ ------------------------------------------------------
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOut2D
๋ชฉ์ โ 2D ์ค์บ๋ ๊ธฐ๋ฐ ํ๋ชฉ ์ถ๊ณ โ ์ต์ ์์ ๋ณธ(2024-03).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@sdate2 | nvarchar(20) | IN |
@edate2 | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@s_gubun | nvarchar(100) | IN |
@box_type | nvarchar(10) | IN |
@cust_cd | nvarchar(100) | IN |
@qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@end_date | nvarchar(20) | IN |
@packing_order_no | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@gs1_barcode | nvarchar(200) | IN |
@detail_stock_id | nvarchar(100) | IN |
@issue_date | nvarchar(20) | IN |
@issue_date2 | nvarchar(20) | IN |
@order_date | nvarchar(20) | IN |
@TOT_NO | nvarchar(40) | IN |
@ComputerTotal | nvarchar(100) | IN |
@ComputerNumber | nvarchar(100) | IN |
@BARCODE | nvarchar(200) | IN |
@item_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ : ๊น์ ์
(14.07.14)
SP ๋ช
: SP_ItemOut2D
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemOut2D.cs
ํ
์ด ๋ธ : gd_box_issue, gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemOut2D]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
--์ ์์ผ์
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
--์ฃผ๋ฌธ์ผ์
@sdate2 nvarchar(10) = '',
@edate2 nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@s_gubun nvarchar(50) = '',
@box_type nvarchar(5) = '',
@cust_cd nvarchar(50) = '',
@qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@end_date nvarchar(10) = '',
@packing_order_no nvarchar(50) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@issue_date nvarchar(10) = '',
@issue_date2 nvarchar(10) = '',
@order_date nvarchar(10) = '',
@TOT_NO nvarchar(20) = '',
@ComputerTotal nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@ComputerNumber nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@BARCODE nvarchar(100) ='',
@item_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
SET XACT_ABORT ON
SET NOCOUNT ON
set transaction isolation level read uncommitted
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
-- ERP ์ถ๊ณ ํ๋ก์์ ธ ํธ์ถ ํ๋ผ๋ฏธํฐ--
Declare
@IN_ORDER_DATE nvarchar(8) --์ ์์ผ์
,@IN_ORDER_NO nvarchar(4) --์ ์๋ฒํธ
,@IN_ORDER_SEQ int --์ ์์๋ฒ
,@IN_DELIV_DATE nvarchar(8) --์ถ๊ณ ์ผ์
,@IN_PRCSEQ int --์ฐจ์
,@IN_EMP_NO nvarchar(6) --์ฌ์๋ฒํธ
,@IN_LOT_NO nvarchar(10) --์ ์กฐ๋ฒํธ
,@OUT_ERROR nvarchar(2000) --OUTPUT ํ๋ผ๋ฏธํฐ
-- ์ถ๊ณ ์ ํ
-- ๋
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.DESPATCH_ORDER_NO as totNo
,a.receipt_date
,a.cust_cd
--,b.cust_nm
,case when a.ISSUE_GB2='15' then (select EMP_NM from MA_EMPLOYEE where EMP_CD=a.cust_cd) else b.cust_nm end as cust_nm
,a.pass_cust_cd
,b.cust_nm as pass_cust_nm
--,a.ISSUE_CK as issue_ck_cd
,c.issue_ck_cd
,d.COMMON_PART_NM as issue_ck
,e.gubun_cd
,f.COMMON_PART_NM as gubun
,g.COMMON_PART_NM as issue_gb
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN (SELECT distinct a1.DESPATCH_ORDER_NO,case when ISNULL(b1.ISSUE_YN,'Y')='Y' then '2' ELSE '0' END AS issue_ck_cd
FROM GD_CUST_ISSUE a1 LEFT join
(Select DESPATCH_ORDER_NO, ISSUE_YN from GD_ITEM_ISSUE where ISSUE_YN = 'N') b1 ON (a1.DESPATCH_ORDER_NO = b1.DESPATCH_ORDER_NO)) c On (a.DESPATCH_ORDER_NO = c.DESPATCH_ORDER_NO)
LEFT OUTER JOIN common d ON (c.issue_ck_cd = d.common_part_cd AND d.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a2.DESPATCH_ORDER_NO,case when ISNULL(b2.ITEM_STATE,'SUCCESS')='SUCCESS' then '0'/*์ ์*/ ELSE '1' /*๋น์ ์*/ END AS gubun_cd
FROM GD_CUST_ISSUE a2 LEFT join
(Select DESPATCH_ORDER_NO, ITEM_STATE from GD_ITEM_ISSUE where ITEM_STATE != 'SUCCESS') b2 ON (a2.DESPATCH_ORDER_NO = b2.DESPATCH_ORDER_NO)) e On (a.DESPATCH_ORDER_NO = e.DESPATCH_ORDER_NO)
LEFT OUTER JOIN common f ON (e.gubun_cd = f.common_part_cd AND f.common_cd = 'GD406') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD403)
LEFT OUTER JOIN common g ON (a.ISSUE_GB2 = g.common_part_cd AND g.common_cd = 'GD301') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD403)
WHERE
--convert(varchar,convert(datetime,A.RECEIPT_DATE),23) BETWEEN @sdate AND @edate
A.RECEIPT_DATE BETWEEN @sdate AND @edate
AND LEFT(A.DESPATCH_ORDER_NO,8) BETWEEN replace(@sdate2,'-','') and replace(@edate2,'-','')
AND a.CUST_CD like @cust_cd
AND (c.ISSUE_CK_CD like @s_issue_status)
AND (e.gubun_cd like @s_gubun)
AND A.ISSUE_GB2 in ('11','15','41','51')
ORDER BY
a.RECEIPT_DATE, a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
-- ๋
ELSE IF (@gubun = 'S2') BEGIN
BEGIN TRY
BEGIN DISTRIBUTED TRANSACTION
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT LEFT(A.DESPATCH_ORDER_NO,8) --์ ํ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --convert(int,A.ORDER_NO) --์ ํ๋ฒํธ
, A.ORDER_SEQ --์ ํ์๋ฒ
, REPLACE(@issue_date,'-','')--convert(varchar,GETDATE(),112)
, convert(int,A.LOT_YM) --์ฐจ์
, @update_user_cd --์ฌ์๋ฒํธ(INSERT) --'031201'
--, left(A.ITEM_CD, 4) + A.LOT_NO AS LOT_NO --์ ์กฐ๋ฒํธ
, LOT_NO --์ ์กฐ๋ฒํธ
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
FROM GD_ITEM_ISSUE A
WHERE A.DESPATCH_ORDER_NO = @TOT_NO
AND A.ISSUE_YN = 'N'
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_DELIVERY_CHECK(
?
,?
,?
,?
,?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@IN_DELIV_DATE
,@IN_PRCSEQ
,@IN_EMP_NO
,@IN_LOT_NO
,@OUT_ERROR output
) AT UNION_ERP
--ํ์ฌ ์ ํ์ํ๊ฒฐ๊ณผ ๋ฆฌํด
UPDATE GD_ITEM_ISSUE
SET ITEM_STATE = case when isnull(lot_no,'')='' then 'STOCKOUT'
when @OUT_ERROR like 'ORA-01403%' then 'STOCKOUT'
ELSE @OUT_ERROR END
,UPDATE_TIME = GETDATE()
--WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '-' + (REPLICATE('0',4 - LEN(@IN_ORDER_NO)) + Convert(nvarchar(4),@IN_ORDER_NO))
WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '-' + @IN_ORDER_NO
AND ORDER_SEQ = @IN_ORDER_SEQ
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR('ํ๋ชฉ ์ ๋ณด ์
๋ฐ์ดํธ ์คํจ' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END CATCH
select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,A.LOT_NO
,CASE A.ITEM_STATE WHEN 'SUCCESS' THEN ISNULL(CONVERT(INT,A.ISSUE_QTY),0)
ELSE 0 END AS ISSUE_QTY
--WHEN 'STOCKOUT' THEN 0
--WHEN 'UNBALANACE' THEN 0
--WHEN 'ORA-01403: no data found-COUNT STOCK' THEN 0
--ELSE ISNULL(CONVERT(INT,A.ISSUE_QTY),0) END AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
--,'Y' AS SERIAL_YN
, B.SERIAL_YN
,CASE A.ITEM_STATE WHEN 'SUCCESS' THEN ''
WHEN 'UNBALANACE' THEN '์ฌ๊ณ ๋ถ์ผ์น'
WHEN 'STOCKOUT' THEN 'ํ์ '
WHEN '' THEN 'ํ์ '
--WHEN 'ORA-01403: no data found-COUNT STOCK' THEN 'ํ์ '
ELSE A.ITEM_STATE END AS ITEM_STATE
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
WHERE A.DESPATCH_ORDER_NO = @TOT_NO
AND A.ISSUE_YN = 'N'
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ(๋)
ELSE IF (@gubun = 'S3') BEGIN
SELECT BARCODE AS PUBLISH_GS1_128, convert(int,ISSUE_QTY) AS QTY, DETAIL_STOCK_ID, LOT_NO, END_DATE,PACKING_ORDER_NO
FROM GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID = @item_issue_id
ORDER BY PUBLISH_GS1_128
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = '188')
BEGIN
SELECT ITEM_PACK_BARCODE
FROM GENERAL_REGISTER
WHERE BARCODE = @gtin13_code
--select * from general_register
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
--SELECT ITEM_CD, A.LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
ELSE IF(@gubun = 'ITEM_CD')
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- , '' AS ISSUE_STATUS ---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
ELSE IF(@gubun = 'NOSEQ+')
BEGIN
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
-- ,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,DETAIL_STOCK_ID
,PACKING_ORDER_NO
)
VALUES
(
@item_issue_id
-- ,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,ISNULL(@detail_stock_id, '')
,@packing_order_no
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ+') BEGIN
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
-- ,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,DETAIL_STOCK_ID
,PACKING_ORDER_NO
)
VALUES
(
@item_issue_id
-- ,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,ISNULL(@detail_stock_id, '')
,@packing_order_no
)
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_PACK
SET stock_qty = stock_qty-1 --(select isnull(SUM(STOCK_QTY),0) from GD_PACKING_RESULT_ITEM where MAPPING_GS1_BARCODE = @MAPPING_GS1_BARCODE)
,update_user_cd = @update_user_cd
,update_time = GETDATE()
WHERE GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ '
END TRY
BEGIN CATCH
RAISERROR('์ฌ๊ณ ์กฐ์ ์คํจ(SEQ+)' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
declare @remark nvarchar(20)
select @remark='์ถ๊ณ ์คํจ'+convert(nvarchar(10),@@ERROR)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = @remark
END CATCH
--AuditTrail ์์ฑ
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ํ๊ฐ๋น ์ง'
END
ELSE IF(@gubun = 'NOSEQ-')
BEGIN
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY WHERE ITEM_ISSUE_ID = @item_issue_id and BARCODE = @BARCODE
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ-') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
update GD_PACKING_RESULT_ITEM
set STOCK_QTY = 1
WHERE GS1_BOX_BARCODE_NO = @barcode
update GD_PACKING_RESULT_PACK
set STOCK_QTY = STOCK_QTY + 1
WHERE GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode
from gd_packing_result_item
where gs1_box_barcode_no = @BARCODE)
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE BARCODE=@barcode and ITEM_ISSUE_ID=@item_issue_id
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR('์ฌ๊ณ ์กฐ์ (SEQ-) ์คํจ' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END CATCH
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ์ทจ์'
END
ELSE IF(@gubun = 'CHECK_DATE')
BEGIN
declare @ITEM_NM nvarchar(20), @RECEIPT_DATE nvarchar(20), @RECEIPT_STATUS nvarchar(20), @MSG nvarchar(100)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT C.ITEM_NM,B.RECEIPT_DATE,B.RECEIPT_STATUS
FROM GD_ITEM_ISSUE A
INNER JOIN GD_ITEM_STOCK B ON (A.ITEM_CD=B.ITEM_CD and RIGHT(A.LOT_NO,4)=B.LOT_NO)
LEFT JOIN ITEM_STANDARD C ON (A.ITEM_CD = C.ITEM_CD)
WHERE
A.DESPATCH_ORDER_NO = @TOT_NO
--AND C.SERIAL_YN='Y'
OPEN MYCUR
Fetch Next From MYCUR Into @ITEM_NM, @RECEIPT_DATE ,@RECEIPT_STATUS
WHILE (@@FETCH_STATUS=0)
BEGIN
IF @RECEIPT_DATE is null OR @RECEIPT_DATE>@issue_date BEGIN
SET @MSG = '์ถ๊ณ ์ผ์๊ฐ ์
๊ณ ์ผ์๋ณด๋ค ๋น ๋ฆ
๋๋ค.(' + @ITEM_NM + ')'
RAISERROR(@MSG , 16, 1);
BREAK
END
IF isnull(@RECEIPT_STATUS,'N')='N' BEGIN
SET @MSG = '๋ฏธ์
๊ณ ์ํ์
๋๋ค.(' + @ITEM_NM + ')'
RAISERROR(@MSG , 16, 1);
BREAK
END
Fetch Next From MYCUR Into @ITEM_NM, @RECEIPT_DATE ,@RECEIPT_STATUS
END
CLOSE MYCUR
DEALLOCATE MYCUR
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'FOR_SAVE')
BEGIN
UPDATE GD_ITEM_ISSUE SET ITEM_STATE='STOCKOUT' WHERE ITEM_ISSUE_ID = @item_issue_id
SELECT @intErrorCode = @@ERROR
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'DespatchOrderEnd')
BEGIN
BEGIN TRY
BEGIN DISTRIBUTED TRANSACTION
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE DESPATCH_ORDER_NO = @TOT_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @TOT_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-----------------------------------------------------------------------------------------------------------------
declare @lot_ym_tp int
declare @issue_date8 nvarchar(8)
select @issue_date8 = replace(@issue_date, '-', '')
EXECUTE ( 'begin SP_DELIVERY_CHASU(?,?,?); end;'
,@issue_date8
,@lot_ym_tp output
,@OUT_ERROR output
) AT UNION_ERP
declare @MSG2 nvarchar(100)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
select
LEFT(A.DESPATCH_ORDER_NO,8) --์ฃผ๋ฌธ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --convert(int,RIGHT(A.DESPATCH_ORDER_NO,4)) --์ฃผ๋ฌธ๋ฒํธ
, A.ORDER_SEQ --์ฃผ๋ฌธ์๋ฒ
, replace(@issue_date, '-', '') --์ถ๊ณ ์ผ์
, @lot_ym_tp
--, convert(int,A.LOT_YM) --์ฐจ์(์ผ๋จ 1๊ณ ์ )
, @update_user_cd --์ฌ์๋ฒํธ(INSERT)
,A.LOT_NO
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
from GD_ITEM_ISSUE A
WHERE A.DESPATCH_ORDER_NO = @TOT_NO
AND A.ISSUE_YN = 'N'
AND A.ITEM_STATE = 'SUCCESS' --CSV ํ
์คํธ ๋๋ฌธ์ ์ฃผ์์ฒ๋ฆฌ
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_DELIVERY_1BY1(
?
,?
,?
,?
,?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@IN_DELIV_DATE
,@IN_PRCSEQ
,@IN_EMP_NO
,@IN_LOT_NO
,@OUT_ERROR output
) AT UNION_ERP
IF @OUT_ERROR != 'SUCCESS' BEGIN
--SET @MSG2 = '์ ํ ์ฌ๊ณ ์ด์์ผ๋ก ์ถ๊ณ ์ฒ๋ฆฌ ์ทจ์(' + @IN_LOT_NO + ')'
SET @MSG2 = '์ ํ ์ฌ๊ณ ์ด์์ผ๋ก ์ถ๊ณ ์ฒ๋ฆฌ ์ทจ์(' + @IN_LOT_NO + ')'
RAISERROR(@MSG2 , 16, 1);
BREAK
END
UPDATE GD_ITEM_ISSUE
SET ISSUE_YN = 'Y', ISSUE_DATE = @issue_date
--WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '-' + (REPLICATE('0',4 - LEN(@IN_ORDER_NO)) + Convert(nvarchar(4),@IN_ORDER_NO))
WHERE DESPATCH_ORDER_NO = @IN_ORDER_DATE + '-' + @IN_ORDER_NO
AND ORDER_SEQ = @IN_ORDER_SEQ
EXECUTE ( 'begin sp_delivery_yn(?,?,?,?,?); end;',
@IN_ORDER_DATE,@IN_ORDER_NO,@IN_ORDER_SEQ,@IN_DELIV_DATE,@OUT_ERROR output
) AT UNION_ERP
/*UPDATE UNION_ERP..KUP.DELIVERY_ITEM
SET PRINT_YN='Y',PRINT_DATE = @IN_DELIV_DATE
WHERE ORDER_DATE=@IN_ORDER_DATE and ORDER_NO=@IN_ORDER_NO and ORDER_SEQ=@IN_ORDER_SEQ*/
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_PRCSEQ , @IN_EMP_NO, @IN_LOT_NO, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@MSG2 , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ์ ํ ์ญ์
ELSE IF(@gubun = 'D')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์ฒ๋ฆฌ
DECLARE @issue_num int
set @issue_num = (SELECT count(*)
FROM GD_ITEM_ISSUE_HISTORY A JOIN GD_ITEM_ISSUE B ON A.item_issue_id = b.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no)
IF(@issue_num > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
IF(@intErrorCode = 0) BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@despatch_order_no
-- [์ญ์ ] GD_ITEM_ISSUE
DELETE GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_CUST_ISSUE
DELETE GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO = @despatch_order_no
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--update t1 set ttt=@intErrorCode
END
IF @intErrorCode = 0 AND @@trancount > 0 -- COMMIT, ROLLBACK ์ฌ๋ถ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
RAISERROR('์ญ์ ์คํจ-์ถ๊ณ ๊ฐ ์๋ฃ๋์๊ฑฐ๋ ์งํ์ค์
๋๋ค.',16,1)
END
END
ELSE IF(@gubun = 'BOX_TYPE')
BEGIN
SELECT BOX_TYPE
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋๋ช
์ธ์ ์ถ๊ฐ 2014-12-29
ELSE IF(@gubun = 'TransDetail')
BEGIN
--head---------------------------------------------------------------------------------------------------------
SELECT
@issue_date AS DELIV_DATE -- ๊ฑฐ๋์ผ์
,LEFT(B.TAX_NO,3) + '-' + SUBSTRING(B.TAX_NO,4,2) + '-' + RIGHT(B.TAX_NO,5) AS TAX_NO -- ๋ฑ๋ก๋ฒํธ
,B.TRADE_NAME + '-'+ C.KORNAME AS TRADE_NAME -- ์ํธ
,B.MANAGER_NAME AS MANAGER_NAME -- ์ฑ๋ช
,B.COMPANY_ADDR1 AS ADDR1 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์1)
,B.COMPANY_ADDR2 AS ADDR2 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์2)
INTO #gd_cust_issue_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A -- ์ฃผ๋ฌธ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.SALES_1 B ON (A.SALES_CODE = B.SALES_CODE) -- ๊ฑฐ๋์ฒ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.PER_MAST C ON (A.EMP_NO = C.EMPCD) -- ํ๋งค์
WHERE
A.ORDER_DATE = LEFT(@TOT_NO,8) and A.ORDER_NO = RIGHT(@TOT_NO,4)
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
SELECT
DELIV_DATE
, TAX_NO
, TRADE_NAME
, MANAGER_NAME
, ADDR1
, ADDR2
FROM #gd_cust_issue_temp
-----------------------------------------------------------------------------------------------------------------
declare @max_lot_ym int
SELECT @max_lot_ym = MAX(convert(int,A.LOT_YM))
FROM UNION_ERP..KUP.DELIVERY_ITEM A
WHERE A.ORDER_DATE=LEFT(@TOT_NO,8) and A.ORDER_NO=RIGHT(@TOT_NO,4) and A.DELIV_DATE=replace(@issue_date,'-','')
--WHERE A.ORDER_DATE=LEFT('20150211-0117',8) and A.ORDER_NO=RIGHT('20150211-0117',4)
--Detail---------------------------------------------------------------------------------------------------------
SELECT identity(int, 1, 1) AS 'Seq'
,B.ITEM_CODE + ' ' + C.ITEM_HNAME AS ITEM_NAME -- ํ๋ช
,CONVERT(VARCHAR(6),C.ITEM_BOX_QTY) + C.ITEM_HFGOOD_TYPE AS PACKUNIT -- ํฌ์ฅ๋จ์
,B.TAX_QTY AS TAX_QTY -- ์๋
,B.ORDER_AMT AS CONTRACT_AMT -- ๋จ๊ฐ
,B.SUPPLY_AMT + B.SUPPLY_VAT AS SUPPLY_SUM --๊ธ์ก
,B.LOT_NO + ' ' + CONVERT(VARCHAR(10),D.EXPIRE_DATE,120) AS EXPIRE_DATE -- ์ ์กฐ๋ฒํธ-์ฌ์ฉ๊ธฐํ
INTO #gd_item_issue_temp --drop table #gd_item_issue_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A
INNER JOIN UNION_ERP..KUP.DELIVERY_ITEM B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO
INNER JOIN GD_ITEM_ISSUE B2 ON B.ORDER_DATE = LEFT(B2.DESPATCH_ORDER_NO,8) AND B.ORDER_NO = RIGHT(B2.DESPATCH_ORDER_NO,4) and B.ORDER_SEQ = B2.ORDER_SEQ
INNER JOIN UNION_ERP..KUP.ITEM_1 C ON B.ITEM_CODE = C.ITEM_CODE
INNER JOIN (SELECT ITEM_CODE, LOT_NO,MAX(USING_DATE) AS EXPIRE_DATE
FROM UNION_ERP..KUP.STOCK_LOT
GROUP BY ITEM_CODE, LOT_NO) D ON (B.ITEM_CODE = D.ITEM_CODE) AND (B.LOT_NO = D.LOT_NO)
WHERE
A.ORDER_DATE=LEFT(@TOT_NO,8) and A.ORDER_NO=RIGHT(@TOT_NO,4)
AND B.DELIV_DATE= replace(@issue_date,'-','') and B.LOT_YM = @max_lot_ym
AND B2.ITEM_STATE='SUCCESS'
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
SELECT (Seq-1)/15 + 1 AS 'page_no' --ํ์ด์ง๋ฒํธ
, ITEM_NAME
, PACKUNIT
, TAX_QTY
, CONTRACT_AMT
, SUPPLY_SUM
, EXPIRE_DATE
--, SALES_CODE
FROM #gd_item_issue_temp
--order by ITEM_NAME
--ํฉ๊ณ---------------------------------------------------------------------------------------------------------
SELECT
identity(int, 1, 1) AS 'Seq'
,ISNULL(B.SUPPLY_AMT, 0) AS SUPPLY_AMT -- ๊ณต๊ธ๊ฐ์ก
,ISNULL(B.SUPPLY_VAT, 0) AS SUPPLY_VAT -- ์ธ์ก
,ISNULL(B.SUPPLY_AMT + B.SUPPLY_VAT, 0) AS SUM_AMT-- ํฉ๊ณ๊ธ์ก
INTO #gd_sum_total_temp
FROM UNION_ERP..KUP.DELIVERY_ORDER A
LEFT JOIN UNION_ERP..KUP.DELIVERY_ITEM B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO
LEFT JOIN GD_ITEM_ISSUE B2 ON B.ORDER_DATE = LEFT(B2.DESPATCH_ORDER_NO,8) AND B.ORDER_NO = RIGHT(B2.DESPATCH_ORDER_NO,4) and B.ORDER_SEQ = B2.ORDER_SEQ
WHERE
A.ORDER_DATE=LEFT(@TOT_NO,8) and A.ORDER_NO=RIGHT(@TOT_NO,4)
AND B.DELIV_DATE= replace(@issue_date,'-','') and B.LOT_YM = @max_lot_ym
and B2.ITEM_STATE='SUCCESS'
--A.ORDER_DATE='20140116' and A.ORDER_NO='0013' --ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
--ํฉ๊ณ(ํ์ด์ง๋ณ)
SELECT (Seq-1)/15 + 1 AS 'page_no'
,ISNULL(sum(SUPPLY_AMT),0) AS SUPPLY_AMT
,ISNULL(sum(SUPPLY_VAT),0) AS SUPPLY_VAT
,ISNULL(sum(SUM_AMT),0) AS SUM_AMT
FROM #gd_sum_total_temp
GROUP BY (Seq-1)/15 + 1
SELECT @intErrorCode = @@ERROR
END
SP_ItemOut2DSuTak
๋ชฉ์ โ 2D ๊ธฐ๋ฐ ์ํ ์ถ๊ณ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@box_type | nvarchar(10) | IN |
@cust_cd | nvarchar(100) | IN |
@qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@end_date | nvarchar(20) | IN |
@packing_order_no | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@gs1_barcode | nvarchar(200) | IN |
@detail_stock_id | nvarchar(100) | IN |
@issue_date | nvarchar(20) | IN |
@issue_date2 | nvarchar(20) | IN |
@order_date | nvarchar(20) | IN |
@TOT_NO | nvarchar(40) | IN |
@ComputerTotal | nvarchar(100) | IN |
@ComputerNumber | nvarchar(100) | IN |
@BARCODE | nvarchar(200) | IN |
@item_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ : ๊น์ ์
(14.07.14)
SP ๋ช
: SP_ItemOut2D
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemOut2D.cs
ํ
์ด ๋ธ : gd_box_issue, gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemOut2DSuTak]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
-- @s_gubun nvarchar(50) = '',
@box_type nvarchar(5) = '',
@cust_cd nvarchar(50) = '',
@qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@end_date nvarchar(10) = '',
@packing_order_no nvarchar(50) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@issue_date nvarchar(10) = '',
@issue_date2 nvarchar(10) = '',
@order_date nvarchar(10) = '',
@TOT_NO nvarchar(20) = '',
@ComputerTotal nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@ComputerNumber nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@BARCODE nvarchar(100) ='',
@item_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
SET XACT_ABORT ON
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
-- ERP ์ถ๊ณ ํ๋ก์์ ธ ํธ์ถ ํ๋ผ๋ฏธํฐ--
Declare
@IN_ORDER_DATE nvarchar(8) --์ ์์ผ์
,@IN_ORDER_NO nvarchar(4) --์ ์๋ฒํธ
,@IN_ORDER_SEQ int --์ ์์๋ฒ
,@IN_DELIV_DATE nvarchar(8) --์ถ๊ณ ์ผ์
,@IN_PRCSEQ int --์ฐจ์
,@IN_EMP_NO nvarchar(6) --์ฌ์๋ฒํธ
,@IN_LOT_NO nvarchar(10) --์ ์กฐ๋ฒํธ
,@OUT_ERROR nvarchar(2000) --OUTPUT ํ๋ผ๋ฏธํฐ
-- ์ถ๊ณ ์ ํ
-- ๋
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.DESPATCH_ORDER_NO as totNo
,LEFT(a.DESPATCH_ORDER_NO,4) + '-'+ SUBSTRING(a.DESPATCH_ORDER_NO,5,2) + '-' + SUBSTRING(a.DESPATCH_ORDER_NO,7,2) as order_date
,a.cust_cd
,b.cust_nm
,a.pass_cust_cd
,b.cust_nm as pass_cust_nm
--,a.ISSUE_CK as issue_ck_cd
,c.issue_ck_cd
,d.COMMON_PART_NM as issue_ck
,g.COMMON_PART_NM as issue_gb
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN (SELECT distinct a1.DESPATCH_ORDER_NO,case when ISNULL(b1.ISSUE_YN,'Y')='Y' then '2' ELSE '0' END AS issue_ck_cd
FROM GD_CUST_ISSUE a1 LEFT join
(Select DESPATCH_ORDER_NO, ISSUE_YN from GD_ITEM_ISSUE where ISSUE_YN = 'N') b1 ON (a1.DESPATCH_ORDER_NO = b1.DESPATCH_ORDER_NO)) c On (a.DESPATCH_ORDER_NO = c.DESPATCH_ORDER_NO)
LEFT OUTER JOIN common d ON (c.issue_ck_cd = d.common_part_cd AND d.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN common g ON (a.ISSUE_GB2 = g.common_part_cd AND g.common_cd = 'GD301') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD403)
WHERE
--convert(varchar,convert(datetime,LEFT(A.DESPATCH_ORDER_NO,8)),23) BETWEEN @sdate AND @edate
LEFT(A.DESPATCH_ORDER_NO,8) BETWEEN replace(@sdate,'-','') AND replace(@edate,'-','')
AND a.CUST_CD like @cust_cd
AND (c.ISSUE_CK_CD like @s_issue_status)
--AND (e.gubun_cd like @s_gubun)
AND A.ISSUE_GB2='18' --์ํ
ORDER BY
a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
-- ๋
ELSE IF (@gubun = 'S2') BEGIN
select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,A.LOT_NO
,A.ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
--,'Y' AS SERIAL_YN
, B.SERIAL_YN
,''AS ITEM_STATE
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
WHERE A.DESPATCH_ORDER_NO = @TOT_NO
AND A.ISSUE_YN = 'N'
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ(๋)
ELSE IF (@gubun = 'S3') BEGIN
SELECT BARCODE AS PUBLISH_GS1_128, convert(int,ISSUE_QTY) AS QTY, DETAIL_STOCK_ID, LOT_NO, END_DATE,PACKING_ORDER_NO
FROM GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID = @item_issue_id
ORDER BY PUBLISH_GS1_128
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = '188')
BEGIN
SELECT ITEM_PACK_BARCODE
FROM GENERAL_REGISTER
WHERE BARCODE = @gtin13_code
--select * from general_register
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--INNER JOIN PACKING_ORDER C ON A.ITEM_CD=C.SALE_ITEM_CD and a.LOT_NO=c.LOT_NO
WHERE B.GS1_BOX_BARCODE_NO = @gs1_barcode
--SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
--SELECT ITEM_CD, A.LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, LOT_NO
FROM GD_ITEM_STOCK A
INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--INNER JOIN PACKING_ORDER C ON A.ITEM_CD=C.SALE_ITEM_CD and a.LOT_NO=c.LOT_NO
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
--SELECT ITEM_CD, A.LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
ELSE IF(@gubun = 'S_LOTNO')
BEGIN
SELECT LOT_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@gubun = 'ITEM_CD')
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- , '' AS ISSUE_STATUS ---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(A.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
ELSE IF(@gubun = 'NOSEQ+')
BEGIN
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
-- ,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,DETAIL_STOCK_ID
,PACKING_ORDER_NO
)
VALUES
(
@item_issue_id
-- ,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,ISNULL(@detail_stock_id, '')
,@packing_order_no
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ+') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
-- ,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,DETAIL_STOCK_ID
,PACKING_ORDER_NO
)
VALUES
(
@item_issue_id
-- ,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,ISNULL(@detail_stock_id, '')
,@packing_order_no
)
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE DETAIL_STOCK_ID = @detail_stock_id
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
,@MAPPING_BOX_BARCODE = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_PACK
SET stock_qty = (select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM where MAPPING_GS1_BARCODE = @MAPPING_GS1_BARCODE)
,update_user_cd = @update_user_cd
,update_time = GETDATE()
WHERE GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR('์ฌ๊ณ ์กฐ์ ์คํจ(SEQ+)' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END CATCH
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @detail_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@gubun = 'NOSEQ-')
BEGIN
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY WHERE ITEM_ISSUE_ID = @item_issue_id and BARCODE = @BARCODE
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ-') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
update GD_PACKING_RESULT_ITEM
set STOCK_QTY = 1
WHERE GS1_BOX_BARCODE_NO = @barcode
update GD_PACKING_RESULT_PACK
set STOCK_QTY = STOCK_QTY + 1
WHERE GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode
from gd_packing_result_item
where gs1_box_barcode_no = @BARCODE)
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE BARCODE=@barcode and ITEM_ISSUE_ID=@item_issue_id
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR('์ฌ๊ณ ์กฐ์ (SEQ-) ์คํจ' , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END CATCH
END
ELSE IF(@gubun = 'CHECK_DATE')
BEGIN
declare @ITEM_NM nvarchar(20), @RECEIPT_DATE nvarchar(20), @RECEIPT_STATUS nvarchar(20), @MSG nvarchar(100)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
SELECT C.ITEM_NM,B.RECEIPT_DATE,B.RECEIPT_STATUS
FROM GD_ITEM_ISSUE A
INNER JOIN GD_ITEM_STOCK B ON (A.ITEM_CD=B.ITEM_CD and A.LOT_NO=B.LOT_NO)
LEFT JOIN ITEM_STANDARD C ON (A.ITEM_CD = C.ITEM_CD)
WHERE
A.DESPATCH_ORDER_NO = @TOT_NO
--AND C.SERIAL_YN='Y'
OPEN MYCUR
Fetch Next From MYCUR Into @ITEM_NM, @RECEIPT_DATE ,@RECEIPT_STATUS
WHILE (@@FETCH_STATUS=0)
BEGIN
IF @RECEIPT_DATE is null OR @RECEIPT_DATE>@issue_date BEGIN
SET @MSG = '์ถ๊ณ ์ผ์๊ฐ ์
๊ณ ์ผ์๋ณด๋ค ๋น ๋ฆ
๋๋ค.(' + @ITEM_NM + ')'
RAISERROR(@MSG , 16, 1);
BREAK
END
IF isnull(@RECEIPT_STATUS,'N')='N' BEGIN
SET @MSG = '๋ฏธ์
๊ณ ์ํ์
๋๋ค.(' + @ITEM_NM + ')'
RAISERROR(@MSG , 16, 1);
BREAK
END
Fetch Next From MYCUR Into @ITEM_NM, @RECEIPT_DATE ,@RECEIPT_STATUS
END
CLOSE MYCUR
DEALLOCATE MYCUR
SELECT @intErrorCode = @@ERROR
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'DespatchOrderEnd')
BEGIN
BEGIN TRY
BEGIN DISTRIBUTED TRANSACTION
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE DESPATCH_ORDER_NO = @TOT_NO
UPDATE GD_ITEM_ISSUE
SET ISSUE_YN = 'Y', ISSUE_DATE = @issue_date
WHERE DESPATCH_ORDER_NO = @TOT_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @TOT_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
----ERP์ถ๊ณ ํ๋ก์์ ธ ํธ์ถ
----14.11.13 ์ ์ํฌ ์ถ๊ฐ--------------------------------------------------------------------
declare @MSG2 nvarchar(1000)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
DECLARE MYCUR CURSOR FOR
select
LEFT(A.DESPATCH_ORDER_NO,8) --์ฃผ๋ฌธ์ผ์
, RIGHT(A.DESPATCH_ORDER_NO,4) --์ฃผ๋ฌธ๋ฒํธ
, A.ORDER_SEQ --์ฃผ๋ฌธ์๋ฒ
, replace(@issue_date, '-', '') --์ถ๊ณ ์ผ์
, @update_user_cd --์ฌ์๋ฒํธ(INSERT)
, 'N' --OUTPUT ํ๋ผ๋ฏธํฐ
from GD_ITEM_ISSUE A
WHERE A.DESPATCH_ORDER_NO = @TOT_NO
AND A.ISSUE_YN = 'N'
OPEN MYCUR
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE , @IN_EMP_NO, @OUT_ERROR
WHILE (@@FETCH_STATUS=0)
BEGIN
EXECUTE ( 'begin SP_DELIVERY_SUTAK(
?
,?
,?
,?
,?
,?
); end;',
@IN_ORDER_DATE
,@IN_ORDER_NO
,@IN_ORDER_SEQ
,@IN_DELIV_DATE
,@IN_EMP_NO
,@OUT_ERROR output
) AT UNION_ERP
IF @OUT_ERROR!='SUCCESS' BEGIN
SET @MSG2 = 'ERP SPํธ์ถ์คํจ๋ก ์ํ์ฒ๋ฆฌ ์ทจ์(' + @IN_ORDER_DATE +','+ @IN_ORDER_NO + ',' + @IN_ORDER_SEQ + ')'
RAISERROR(@MSG2 , 16, 1);
BREAK
END
Fetch Next From MYCUR Into @IN_ORDER_DATE ,@IN_ORDER_NO ,@IN_ORDER_SEQ, @IN_DELIV_DATE, @IN_EMP_NO, @OUT_ERROR
END
CLOSE MYCUR
DEALLOCATE MYCUR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
RAISERROR(@MSG2 , 16, 1);
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ๊ฑฐ๋๋ช
์ธ์ ์ถ๊ฐ 2014-12-29
ELSE IF(@gubun = 'TransDetail')
BEGIN
--head---------------------------------------------------------------------------------------------------------
SELECT
--convert(VARCHAR(10),@issue_date) AS DELIV_DATE -- ๊ฑฐ๋์ผ์
@issue_date AS DELIV_DATE -- ๊ฑฐ๋์ผ์
,LEFT(B.TAX_NO,3) + '-' + SUBSTRING(B.TAX_NO,4,2) + '-' + RIGHT(B.TAX_NO,5) AS TAX_NO -- ๋ฑ๋ก๋ฒํธ
,B.TRADE_NAME + '-'+ C.KORNAME AS TRADE_NAME -- ์ํธ
,B.MANAGER_NAME AS MANAGER_NAME -- ์ฑ๋ช
,B.COMPANY_ADDR1 AS ADDR1 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์1)
,B.COMPANY_ADDR2 AS ADDR2 -- ๊ณต๊ธ๋ฐ๋์(์ฃผ์2)
INTO #gd_cust_issue_temp
FROM UNION_ERP..KUP.SALES_ORDER_EXP A -- ์ฃผ๋ฌธ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.SALES_1 B ON (A.SALES_CODE = B.SALES_CODE) -- ๊ฑฐ๋์ฒ ๋ง์คํฐ
LEFT JOIN UNION_ERP..KUP.PER_MAST C ON (A.EMP_NO = C.EMPCD) -- ํ๋งค์
WHERE
--A.ORDER_DATE = LEFT(@TOT_NO,8) and A.ORDER_NO = convert(int,RIGHT(@TOT_NO,4))
A.ORDER_DATE = LEFT(@despatch_order_no,8) and A.ORDER_NO = RIGHT(@despatch_order_no,4)
AND A.SLIP_GUBUN = '18'
--A.ORDER_DATE = LEFT('20141208~0001',8) and A.ORDER_NO = RIGHT('20141208~0001',4) --ํ
์คํธ์ฉ
SELECT
DELIV_DATE
, TAX_NO
, TRADE_NAME
, MANAGER_NAME
, ADDR1
, ADDR2
FROM #gd_cust_issue_temp
--Detail---------------------------------------------------------------------------------------------------------
SELECT identity(int, 1, 1) AS 'Seq'
,B.ITEM_CODE + ' ' + C.ITEM_HNAME AS ITEM_NAME -- ํ๋ช
,CONVERT(VARCHAR(6),C.ITEM_BOX_QTY) + C.ITEM_HFGOOD_TYPE AS PACKUNIT -- ํฌ์ฅ๋จ์
,B.QTY AS TAX_QTY -- ์๋
,convert(int,B.PRICE) AS CONTRACT_AMT -- ๋จ๊ฐ
,(B.AMOUNT + B.TAXES) AS SUPPLY_SUM --๊ธ์ก
,B.LOT_NO + ' ' + CONVERT(VARCHAR(10),D.EXPIRE_DATE,120) AS EXPIRE_DATE -- ์ ์กฐ๋ฒํธ-์ฌ์ฉ๊ธฐํ
INTO #gd_item_issue_temp --drop table #gd_item_issue_temp
FROM UNION_ERP..KUP.SALES_ORDER_EXP A
LEFT JOIN UNION_ERP..KUP.SALES_ITEM_EXP B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO AND A.SLIP_GUBUN = B.SLIP_GUBUN
LEFT JOIN UNION_ERP..KUP.ITEM_1 C ON B.ITEM_CODE = C.ITEM_CODE
LEFT JOIN (SELECT ITEM_CODE, LOT_NO,MAX(USING_DATE) AS EXPIRE_DATE
FROM UNION_ERP..KUP.STOCK_LOT
GROUP BY ITEM_CODE, LOT_NO) D ON (B.ITEM_CODE = D.ITEM_CODE) AND (B.LOT_NO = D.LOT_NO)
WHERE
A.ORDER_DATE=LEFT(@despatch_order_no,8) and A.ORDER_NO=RIGHT(@despatch_order_no,4)
AND A.SLIP_GUBUN = '18'
--A.ORDER_DATE=LEFT('20141208~0001',8) and A.ORDER_NO=RIGHT('20141208~0001',4) -- ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
SELECT (Seq-1)/15 + 1 AS 'page_no' --ํ์ด์ง๋ฒํธ
, ITEM_NAME
, PACKUNIT
, TAX_QTY
, CONTRACT_AMT
, SUPPLY_SUM
, EXPIRE_DATE
--, SALES_CODE
FROM #gd_item_issue_temp
--order by ITEM_NAME
--ํฉ๊ณ---------------------------------------------------------------------------------------------------------
SELECT
identity(int, 1, 1) AS 'Seq'
,ISNULL(B.AMOUNT, 0) AS SUPPLY_AMT -- ๊ณต๊ธ๊ฐ์ก
,ISNULL(B.TAXES, 0) AS SUPPLY_VAT -- ์ธ์ก
,ISNULL(B.AMOUNT + B.TAXES, 0) AS SUM_AMT-- ํฉ๊ณ๊ธ์ก
INTO #gd_sum_total_temp
FROM UNION_ERP..KUP.SALES_ORDER_EXP A
LEFT JOIN UNION_ERP..KUP.SALES_ITEM_EXP B ON A.ORDER_DATE = B.ORDER_DATE and A.ORDER_NO = B.ORDER_NO AND A.SLIP_GUBUN = B.SLIP_GUBUN
WHERE
A.ORDER_DATE=LEFT(@despatch_order_no,8) and A.ORDER_NO=RIGHT(@despatch_order_no,4)
AND A.SLIP_GUBUN = '18'
--A.ORDER_DATE=LEFT('20141208~0001',8) and A.ORDER_NO=RIGHT('20141208~0001',4) -- ํ
์คํธ์ฉ
ORDER BY B.ORDER_SEQ
--ํฉ๊ณ(ํ์ด์ง๋ณ)
SELECT (Seq-1)/15 + 1 AS 'page_no'
,ISNULL(sum(SUPPLY_AMT),0) AS SUPPLY_AMT
,ISNULL(sum(SUPPLY_VAT),0) AS SUPPLY_VAT
,ISNULL(sum(SUM_AMT),0) AS SUM_AMT
FROM #gd_sum_total_temp
GROUP BY (Seq-1)/15 + 1
SELECT @intErrorCode = @@ERROR
END
-- ์ ํ ์ญ์
ELSE IF(@gubun = 'D')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION --ํธ๋์ญ์
์ฒ๋ฆฌ
DECLARE @issue_num int
set @issue_num = (SELECT count(*)
FROM GD_ITEM_ISSUE_HISTORY A JOIN GD_ITEM_ISSUE B ON A.item_issue_id = b.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no)
IF(@issue_num > 0) --์ถ๊ณ ๋์์ผ๋ฉด
BEGIN
SELECT @intErrorCode = '-11' -- ๊ฒฝ๊ณ ๊ฐ์ ๋ฃ์ด์ค๋ค.
END
ELSE
IF(@intErrorCode = 0) BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@despatch_order_no
-- [์ญ์ ] GD_ITEM_ISSUE
DELETE GD_ITEM_ISSUE WHERE DESPATCH_ORDER_NO=@despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_CUST_ISSUE
DELETE GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO = @despatch_order_no
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
--update t1 set ttt=@intErrorCode
END
IF @intErrorCode = 0 AND @@trancount > 0 -- COMMIT, ROLLBACK ์ฌ๋ถ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
RAISERROR('์ญ์ ์คํจ-์ถ๊ณ ๊ฐ ์๋ฃ๋์๊ฑฐ๋ ์งํ์ค์
๋๋ค.',16,1)
END
END
ELSE IF(@gubun = 'BOX_TYPE')
BEGIN
SELECT BOX_TYPE
FROM GD_PACKING_RESULT_PACK
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOut2D_PDA
๋ชฉ์ โ PDA ๊ธฐ๋ฐ ์ถ๊ณ ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@totNo | nvarchar(100) | IN |
@item_issue_id | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@box_type | nvarchar(10) | IN |
@qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@end_date | nvarchar(20) | IN |
@item_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@gs1_barcode | nvarchar(200) | IN |
@detail_stock_id | nvarchar(100) | IN |
@remark | nvarchar(200) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
(14.09.03)
์ ์ ์ :
SP ๋ช
: SP_ItemOut2D_PDA
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ์ฒ๋ฆฌ(PDA)
์ฌ ์ฉ ์ฒ : PDA
ํ
์ด ๋ธ : gd_box_issue, gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemOut2D_PDA]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@totNo nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
--@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@box_type nvarchar(5) = '',
@qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@end_date nvarchar(10) = '',
@item_cd nvarchar(50) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@remark NVARCHAR(100) = '',
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
-- [๋ถ๊ธฐ] @remark = '์ ์ฒด' ์ธ ๊ฒฝ์ฐ
IF(@remark = '์ ์ฒด')BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
--,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
--LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
FROM GD_ITEM_ISSUE a1
inner join (Select ITEM_CD,SERIAL_YN
from ITEM_STANDARD
where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.totNo LIKE '%' + @totNo + '%')
AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
AND Isnull(d.SERIAL_YN,'N') = 'Y'
GROUP BY
a.totNo, a.issue_date, b.cust_nm
ORDER BY
b.cust_nm-- a.issue_date, a.totNo
END
ELSE IF(@remark = 'NULL')BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
--,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
--LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
FROM GD_ITEM_ISSUE a1
inner join (Select ITEM_CD,SERIAL_YN
from ITEM_STANDARD
where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.totNo LIKE '%' + @totNo + '%')
AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
AND a.remark is null
AND Isnull(d.SERIAL_YN,'N') = 'Y'
GROUP BY
a.totNo, a.issue_date, b.cust_nm
ORDER BY
b.cust_nm-- a.issue_date, a.totNo
END
ELSE BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
--,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
--LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
FROM GD_ITEM_ISSUE a1
inner join (Select ITEM_CD,SERIAL_YN
from ITEM_STANDARD
where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.totNo LIKE '%' + @despatch_order_no + '%')
AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
AND a.remark = @remark
AND Isnull(d.SERIAL_YN,'N') = 'Y'
GROUP BY
a.totNo, a.issue_date, b.cust_nm
ORDER BY
b.cust_nm-- a.issue_date, a.totNo
END
SELECT @intErrorCode = @@ERROR
END
---- ์ถ๊ณ ์ ํ
--IF (@gubun = 'S') BEGIN
-- IF(@remark = '์ ์ฒด')BEGIN
-- SELECT
-- DISTINCT a.totNo
-- ,a.issue_date
-- ,a.cust_cd
-- ,b.cust_nm
-- --,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
-- ,d.SERIAL_YN
-- FROM
-- gd_cust_issue a
-- LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
-- --LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
-- LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
-- FROM GD_ITEM_ISSUE a1
-- inner join (Select ITEM_CD,SERIAL_YN
-- from ITEM_STANDARD
-- where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
-- On (a.despatch_order_no = d.despatch_order_no)
-- WHERE
-- a.issue_date BETWEEN @sdate AND @edate
-- AND (a.totNo LIKE '%' + @totNo + '%')
-- AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
-- AND a.ISSUE_GB2<>'2'
-- AND a.ISSUE_GB2<>'7'
-- AND a.ISSUE_GB2<>'8'
-- ORDER BY
-- b.cust_nm-- a.issue_date, a.totNo
-- END
-- ELSE IF(@remark = 'NULL')BEGIN
-- SELECT
-- DISTINCT a.totNo
-- ,a.issue_date
-- ,a.cust_cd
-- ,b.cust_nm
-- --,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
-- ,d.SERIAL_YN
-- FROM
-- gd_cust_issue a
-- LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
-- --LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
-- LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
-- FROM GD_ITEM_ISSUE a1
-- inner join (Select ITEM_CD,SERIAL_YN
-- from ITEM_STANDARD
-- where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
-- On (a.despatch_order_no = d.despatch_order_no)
-- WHERE
-- a.issue_date BETWEEN @sdate AND @edate
-- AND (a.totNo LIKE '%' + @totNo + '%')
-- AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
-- AND a.ISSUE_GB2<>'2'
-- AND a.ISSUE_GB2<>'7'
-- AND a.ISSUE_GB2<>'8'
-- AND a.remark is null
-- ORDER BY
-- b.cust_nm-- a.issue_date, a.totNo
-- END
-- ELSE BEGIN
-- SELECT
-- DISTINCT a.totNo
-- ,a.issue_date
-- ,a.cust_cd
-- ,b.cust_nm
-- --,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
-- ,d.SERIAL_YN
-- FROM
-- gd_cust_issue a
-- LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
-- --LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
-- LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN
-- FROM GD_ITEM_ISSUE a1
-- inner join (Select ITEM_CD,SERIAL_YN
-- from ITEM_STANDARD
-- where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d
-- On (a.despatch_order_no = d.despatch_order_no)
-- WHERE
-- a.issue_date BETWEEN @sdate AND @edate
-- --AND (a.totNo LIKE '%' + @despatch_order_no + '%')
-- AND a.ISSUE_CK = 0 --์ถ๊ณ ๋๊ธฐ์ธ๊ฒ๋ง
-- AND a.ISSUE_GB2<>'2'
-- AND a.ISSUE_GB2<>'7'
-- AND a.ISSUE_GB2<>'8'
-- AND a.remark = @remark
-- ORDER BY
-- b.cust_nm-- a.issue_date, a.totNo
-- END
-- SELECT @intErrorCode = @@ERROR
--END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
,a.ITEM_CD
,b.ITEM_NM
,isnull(DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD),'') AS ITEM_PACK_SIZE
,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
,A.LOT_NO
--,'Y' AS SERIAL_YN
,ISnull(SERIAL_YN,'N') AS SERIAL_YN
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
left outer join GD_CUST_ISSUE d on (a.DESPATCH_ORDER_NO = d.DESPATCH_ORDER_NO)
WHERE D.totNo = @totNo
SELECT @intErrorCode = @@ERROR
END
--ELSE IF (@gubun = 'S2') BEGIN
-- select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
-- ,a.ITEM_CD
-- ,b.ITEM_NM
-- ,isnull(DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD),'') AS ITEM_PACK_SIZE
-- ,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
-- ,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
-- ,A.LOT_NO
-- ,'Y' AS SERIAL_YN
-- from GD_CUST_ISSUE D
-- INNER JOIN GD_ITEM_ISSUE A ON d.despatch_order_no=a.despatch_order_no
-- LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
-- LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
-- FROM GD_ITEM_ISSUE_HISTORY
-- GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
-- WHERE D.totNo = @totNo
-- SELECT @intErrorCode = @@ERROR
--END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ
ELSE IF (@gubun = 'S3') BEGIN
SELECT BARCODE AS PUBLISH_GS1_128, convert(int,A.ISSUE_QTY) AS QTY, DETAIL_STOCK_ID, A.LOT_NO, END_DATE
FROM GD_ITEM_ISSUE_HISTORY A
WHERE A.ITEM_ISSUE_ID = @item_issue_id
ORDER BY DETAIL_STOCK_ID
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = '188')
BEGIN
IF EXISTS (SELECT * FROM GENERAL_REGISTER WHERE BARCODE=@gtin13_code)
BEGIN
SELECT ITEM_PACK_BARCODE FROM GENERAL_REGISTER where BARCODE=@gtin13_code
END
ELSE
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD where ITEM_PACK_BARCODE=@gtin13_code
END
--SELECT case when isnull(B.ITEM_PACK_BARCODE,'')!='' then B.ITEM_PACK_BARCODE else A.ITEM_PACK_BARCODE end
--FROM ITEM_STANDARD A LEFT JOIN GENERAL_REGISTER B ON A.ITEM_PACK_BARCODE=B.ITEM_PACK_BARCODE
--WHERE B.BARCODE = @gtin13_code
----select * from general_register
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD,ITEM_GB FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
--SELECT ITEM_CD, LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
ELSE IF(@gubun = 'ITEM_CD')
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
--SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- , '' AS ISSUE_STATUS ---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
--ELSE IF(@gubun = 'CHECK_VALID')
--BEGIN
-- SELECT 1
-- FROM GD_CUST_ISSUE
-- WHERE DESPATCH_ORDER_NO=@despatch_order_no and ISSUE_CK = 2
-- SELECT @intErrorCode = @@ERROR
--END
ELSE IF(@gubun = 'ITEM_CLEAR')
BEGIN
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID=@item_issue_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID=@item_issue_id
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'SAVE_TEMP')
BEGIN
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,ISSUE_STATUS
,DETAIL_STOCK_ID
)
VALUES
(
@item_issue_id
,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,'1'
,ISNULL(@detail_stock_id, '')
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE DETAIL_STOCK_ID = @detail_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @detail_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
,@MAPPING_BOX_BARCODE = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_PACK
SET stock_qty = (select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM where MAPPING_GS1_BARCODE = @MAPPING_GS1_BARCODE)
,update_user_cd = @update_user_cd
,update_time = GETDATE()
WHERE GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0 BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF (@gubun = 'NoSeq') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
IF EXISTS (SELECT * from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode)
BEGIN
select @MAPPING_BOX_BARCODE = BOX_BARCODE_NO,
@detail_stock_id = DETAIL_STOCK_ID
from GD_PACKING_RESULT_ITEM
where GS1_BOX_BARCODE_NO = @gs1_barcode
update GD_ITEM_ISSUE_HISTORY
SET DETAIL_STOCK_ID = @detail_stock_id
WHERE BARCODE=@gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where BARCODE=@gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A
SET A.STOCK_QTY = A.STOCK_QTY - B.ISSUE_QTY
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE
B.DETAIL_STOCK_ID = @detail_stock_id
and b.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id
from GD_PACKING_RESULT_ITEM A INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE B.DETAIL_STOCK_ID = @detail_stock_id and b.ITEM_ISSUE_ID = @item_issue_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK
SET STOCK_QTY = (select SUM(stock_qty) from GD_PACKING_RESULT_ITEM where BOX_BARCODE_NO = @MAPPING_BOX_BARCODE)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id from GD_PACKING_RESULT_PACK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE A.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0
BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'DespatchOrderEnd')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--์ถ๊ณ ์์ ๋ด์ญ์ ํ์ ์ํจ๋ค.
UPDATE A SET
A.ISSUE_STATUS = '2'
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
INNER JOIN GD_CUST_ISSUE C ON B.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO
WHERE C.totNo = @totNo
AND A.ISSUE_STATUS = '1'
--AuditTrail์์ฑ
--INSERT INTO #AUDIT_TEMP
--SELECT A.audittrail_id from GD_ITEM_ISSUE_HISTORY A
-- INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
--WHERE B.DESPATCH_ORDER_NO = @totNo
--exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE_HISTORY', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ์๋ฃ ์ฒ๋ฆฌ'
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE totNo = @totNo
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_CUST_ISSUE where totNo = @totNo
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'S_COMBO')
BEGIN
SELECT '์ ์ฒด' AS REMARK
UNION ALL
SELECT REMARK FROM (SELECT distinct top 100 case when REMARK = '' then '๊ณต๋' when REMARK is null then 'NULL' else REMARK END AS REMARK
FROM GD_CUST_ISSUE
--WHERE issue_date > '2010-10-29'
WHERE issue_date between @sdate and @edate
ORDER BY REMARK) A
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOutBox
๋ชฉ์ โ ๋ฐ์ค ๋จ์ ์ถ๊ณ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@box_type | nvarchar(10) | IN |
@MACADDR | nvarchar(100) | IN |
@MAPPING_BARCODE | nvarchar(200) | IN |
@BARCODE | nvarchar(200) | IN |
@qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@end_date | nvarchar(20) | IN |
@BOX_BARCODE_NO | nvarchar(30) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@gs1_barcode | nvarchar(200) | IN |
@detail_stock_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ : ๊น์ ์
(14.07.14)
SP ๋ช
: SP_ItemOutBox
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemOut2D.cs
ํ
์ด ๋ธ : gd_box_issue, gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemOutBox]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@box_type nvarchar(5) = '',
@MACADDR nvarchar(50) ='',
@MAPPING_BARCODE nvarchar(100) ='',
@BARCODE nvarchar(100) ='',
@qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@end_date nvarchar(10) = '',
@BOX_BARCODE_NO NVARCHAR(15) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@sys_emp_cd nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.despatch_order_no
,a.issue_date
,a.cust_cd
,b.cust_nm
,a.pass_cust_cd
,b.cust_nm as pass_cust_nm
,a.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,c.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,'N' as chk_select
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.despatch_order_no LIKE '%' + @despatch_order_no + '%')
AND a.despatch_order_no like @despatch_order_no
AND (a.ISSUE_CK like @s_issue_status)
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
ORDER BY
a.issue_date, a.despatch_order_no
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
,A.LOT_NO
,'Y' AS SERIAL_YN
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
WHERE A.despatch_order_no = @despatch_order_no
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ
ELSE IF (@gubun = 'S3') BEGIN
--SELECT BARCODE AS PUBLISH_GS1_128,
-- convert(int,ISSUE_QTY) AS QTY,
-- DETAIL_STOCK_ID,
-- LOT_NO,
-- END_DATE,
-- 'N' as ISSUE_YN
--FROM GD_ITEM_ISSUE_HISTORY
SELECT A.BARCODE AS PUBLISH_GS1_128,
convert(int,A.ISSUE_QTY) AS QTY,
A.DETAIL_STOCK_ID,
A.LOT_NO,
A.END_DATE,
ISNULL(B.ISSUE_YN,'N') AS ISSUE_YN
FROM GD_ITEM_ISSUE_HISTORY A
LEFT JOIN BOX_LABEL B ON(A.BARCODE = B.BARCODE)
WHERE ITEM_ISSUE_ID = @item_issue_id
ORDER BY DETAIL_STOCK_ID
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD,ITEM_GB FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
--SELECT ITEM_CD,ITEM_GB FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
-- , '' AS ISSUE_STATUS ---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
--ELSE IF(@gubun = 'CHECK_VALID')
--BEGIN
-- SELECT 1
-- FROM GD_CUST_ISSUE
-- WHERE DESPATCH_ORDER_NO=@despatch_order_no and ISSUE_CK = 2
-- SELECT @intErrorCode = @@ERROR
--END
ELSE IF(@gubun = 'ITEM_CLEAR')
BEGIN
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID=@item_issue_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--DELETE GD_ITEM_ISSUE_HISTORY
--WHERE ITEM_ISSUE_ID=@item_issue_id
--DELETE BOX_LABEL
--WHERE DESPATCH_ORDER_NO = @despatch_order_no
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE BARCODE=@barcode
-- [์ญ์ ] BOX_LABEL
DELETE BOX_LABEL
WHERE BARCODE=@barcode
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'ITEM_CLEAR1')
BEGIN
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID=@item_issue_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID=@item_issue_id
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'SAVE_TEMP')
BEGIN
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,ISSUE_STATUS
,DETAIL_STOCK_ID
)
VALUES
(
@item_issue_id
,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,'1'
,ISNULL(@detail_stock_id, '')
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE DETAIL_STOCK_ID = @detail_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @detail_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
,@MAPPING_BOX_BARCODE = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_PACK
SET stock_qty = (select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM where MAPPING_GS1_BARCODE = @MAPPING_GS1_BARCODE)
,update_user_cd = @update_user_cd
,update_time = GETDATE()
WHERE GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0 BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF (@gubun = 'NoSeq') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
IF EXISTS (SELECT * from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode)
BEGIN
select @MAPPING_BOX_BARCODE = BOX_BARCODE_NO,
@detail_stock_id = DETAIL_STOCK_ID
from GD_PACKING_RESULT_ITEM
where GS1_BOX_BARCODE_NO = @gs1_barcode
update GD_ITEM_ISSUE_HISTORY
SET DETAIL_STOCK_ID = @detail_stock_id
WHERE BARCODE=@gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where BARCODE=@gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A
SET A.STOCK_QTY = A.STOCK_QTY - B.ISSUE_QTY
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE
B.DETAIL_STOCK_ID = @detail_stock_id
and b.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id
from GD_PACKING_RESULT_ITEM A INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE B.DETAIL_STOCK_ID = @detail_stock_id and b.ITEM_ISSUE_ID = @item_issue_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK
SET STOCK_QTY = (select SUM(stock_qty) from GD_PACKING_RESULT_ITEM where BOX_BARCODE_NO = @MAPPING_BOX_BARCODE)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id from GD_PACKING_RESULT_PACK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE A.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0
BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'DespatchOrderEnd')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--์ถ๊ณ ์์ ๋ด์ญ์ ํ์ ์ํจ๋ค.
UPDATE A SET
A.ISSUE_STATUS = '2'
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
AND A.ISSUE_STATUS = '1'
--AuditTrail์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT A.audittrail_id from GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE_HISTORY', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ์๋ฃ ์ฒ๋ฆฌ'
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE despatch_order_no = @despatch_order_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'box_label')
BEGIN
-- [์ ์ฌ] BOX_LABEL
INSERT INTO BOX_LABEL(
DESPATCH_ORDER_NO
,BOX_BARCODE_NO
,MAPPING_BARCODE
,BARCODE
,ISSUE_YN
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@DESPATCH_ORDER_NO
,@BOX_BARCODE_NO
,@MAPPING_BARCODE
,@BARCODE
,'Y'
,@INSERT_USER_CD
,GETDATE()
)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'GETBARCODE')
BEGIN
DECLARE @serial_no int, @dist_cd nvarchar(2)
SELECT @dist_cd = '0'
--create table #temp1(max_box int)
--insert into #temp1(max_box) (select cast(isnull(MAX(substring(BOX_BARCODE_NO,1+len(@dist_cd),len(box_barcode_no)-len(@dist_cd))),'0')as int)+1 FROM GD_PACKING_RESULT_PACK WHERE substring(BOX_BARCODE_NO,1,LEN(@dist_cd)) = @dist_cd
-- union
-- select cast(isnull(MAX(substring(BOX_BARCODE_NO,1+len(@dist_cd),len(box_barcode_no)-len(@dist_cd))),'0')as int)+1 FROM BOX_LABEL WHERE substring(BOX_BARCODE_NO,1,LEN(@dist_cd)) = @dist_cd)
--select @serial_no = max(max_box) from #temp1
SELECT @serial_no = cast(isnull(MAX(substring(BOX_BARCODE_NO,1+len(@dist_cd),len(box_barcode_no)-len(@dist_cd))),'0')as int)+1 FROM BOX_LABEL WHERE substring(BOX_BARCODE_NO,1,LEN(@dist_cd)) = @dist_cd
SET @BOX_BARCODE_NO = @dist_cd + REPLICATE('0', 9-LEN(@serial_no)-LEN(@dist_cd)) + cast(@serial_no as CHAR )
--SET @BOX_BARCODE_NO=DBO.FN_GETBOXBARCODENO(@MACADDR)
SET @IDENTITY = rtrim(@BOX_BARCODE_NO)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'label_print')
BEGIN
select top 1 MAPPING_BARCODE
from BOX_LABEL
where BOX_BARCODE_NO = @box_barcode_no
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'c')
BEGIN
IF (SELECT COUNT(*) FROM BOX_LABEL
WHERE BARCODE = @BARCODE) > 0
BEGIN
RAISERROR ('๋ฐ์ค๋ผ๋ฒจ์ด ๋ฐํ๋ ๋ฐ์ฝ๋์
๋๋ค.' , 16, 1);
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOutBoxLabel
๋ชฉ์ โ ๋ฐ์ค ๋ผ๋ฒจ ๋ฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@item_issue_id | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_status | nvarchar(100) | IN |
@box_type | nvarchar(10) | IN |
@MACADDR | nvarchar(100) | IN |
@MAPPING_BARCODE | nvarchar(200) | IN |
@BARCODE | nvarchar(200) | IN |
@issue_date | nvarchar(20) | IN |
@qty | decimal(9) | IN |
@lot_no | nvarchar(100) | IN |
@end_date | nvarchar(20) | IN |
@BOX_BARCODE_NO | nvarchar(30) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@Remark | nvarchar(30) | IN |
@gs1_barcode | nvarchar(200) | IN |
@detail_stock_id | nvarchar(100) | IN |
@order_no | int(4) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@totNo | nvarchar(100) | IN |
@ComputerTotal | int(4) | IN |
@ComputerNumber | int(4) | IN |
@item_cd | nvarchar(100) | IN |
@CUST_CODE | nvarchar(100) | IN |
@Serial_YN | nvarchar(10) | IN |
@packing_order_no | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.09.17)
์ ์ ์ : ๊น์ ์
(14.07.14)
SP ๋ช
: SP_ItemOutBoxLabel
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ถ๊ณ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemOut2D.cs
ํ
์ด ๋ธ : gd_box_issue, gd_packing_result_pack, gd_item_issue, gd_cust_issue
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemOutBoxLabel]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@item_issue_id nvarchar(50) = '', --์ ํ์
๊ณ ์ผ๋ จ๋ฒํธ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_status nvarchar(50) = '',
@box_type nvarchar(5) = '',
@MACADDR nvarchar(50) ='',
@MAPPING_BARCODE nvarchar(100) ='',
@BARCODE nvarchar(100) ='',
@issue_date nvarchar(10) = '',
@qty decimal(15,4) = 0, --์ถ๊ณ ์๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@end_date nvarchar(10) = '',
@BOX_BARCODE_NO NVARCHAR(15) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@cust_cd nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@Remark NVARCHAR(15) = '',
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@detail_stock_id nvarchar(50) = '', --๋ผ๋ฒจ๋ฐํ๋ฒํธ
@order_no int = 0,
@sys_emp_cd nvarchar(50) = '',
@totNo nvarchar(50) = '',
@ComputerTotal int = 0,
@ComputerNumber int = 0,
@item_cd nvarchar(50) = '',
@CUST_CODE nvarchar(50) = '',
@Serial_YN nvarchar(5) = '',
@packing_order_no nvarchar(50) = '',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @MAPPING_GS1_BARCODE nvarchar(200)
,@MAPPING_BOX_BARCODE nvarchar(50)
-- ์ถ๊ณ ์ ํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
-- [๋ถ๊ธฐ] @Remark = '%' ์ธ ๊ฒฝ์ฐ
IF(@Remark = '%')BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
,Max(a.pass_cust_cd) AS pass_cust_cd
,b.cust_nm as pass_cust_nm
,Max(a.ISSUE_CK) as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,Max(c.COMMON_PART_NM) as issue_ck --์ถ๊ณ ์ง์์ํ
,'N' as chk_select
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN FROM GD_ITEM_ISSUE a1 inner join (Select ITEM_CD,SERIAL_YN from ITEM_STANDARD where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
and cast(right(a.totNo,1) as int) % @ComputerTotal = @ComputerNumber
AND a.totNo like @despatch_order_no
AND (a.ISSUE_CK like @s_issue_status)
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
and a.cust_cd like @cust_cd
and Isnull(d.SERIAL_YN,'N') like @Serial_YN
GROUP BY a.totNo, a.issue_date, b.cust_nm
ORDER BY
a.issue_date, b.cust_nm, a.totNo
END
ELSE IF(@Remark = 'NULL')BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
,Max(a.pass_cust_cd) AS pass_cust_cd
,b.cust_nm as pass_cust_nm
,Max(a.ISSUE_CK) as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,Max(c.COMMON_PART_NM) as issue_ck --์ถ๊ณ ์ง์์ํ
,'N' as chk_select
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN FROM GD_ITEM_ISSUE a1 inner join (Select ITEM_CD,SERIAL_YN from ITEM_STANDARD where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d On (a.despatch_order_no = d.despatch_order_no)
--LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN FROM GD_ITEM_ISSUE a1 inner join (Select ITEM_CD,SERIAL_YN from ITEM_STANDARD) b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.despatch_order_no LIKE '%' + @despatch_order_no + '%')
AND a.totNo like @despatch_order_no
AND (a.ISSUE_CK like @s_issue_status)
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
and cast(right(a.totNo,1) as int) % @ComputerTotal = @ComputerNumber
and a.remark IS NULL
and a.cust_cd like @cust_cd
and Isnull(d.SERIAL_YN,'N') like @Serial_YN
GROUP BY a.totNo, a.issue_date, b.cust_nm
ORDER BY
a.issue_date, b.cust_nm, a.totNo
END
ELSE BEGIN
SELECT
a.totNo
,a.issue_date
,Max(a.cust_cd) AS cust_cd
,b.cust_nm
,Max(a.pass_cust_cd) AS pass_cust_cd
,b.cust_nm as pass_cust_nm
,Max(a.ISSUE_CK) as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,Max(c.COMMON_PART_NM) as issue_ck --์ถ๊ณ ์ง์์ํ
,'N' as chk_select
,Max(Isnull(d.SERIAL_YN,'N')) AS SERIAL_YN
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
LEFT OUTER JOIN common c ON (a.issue_ck = c.common_part_cd AND c.common_cd = 'GD402') -- ์์ ํ ์ถ๊ณ ์ง์์ํ(GD402)
LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN FROM GD_ITEM_ISSUE a1 inner join (Select ITEM_CD,SERIAL_YN from ITEM_STANDARD where SERIAL_YN = 'Y') b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d On (a.despatch_order_no = d.despatch_order_no)
--LEFT OUTER JOIN (SELECT distinct a1.despatch_order_no,ISNULL(b1.SERIAL_YN,'N') AS SERIAL_YN FROM GD_ITEM_ISSUE a1 inner join (Select ITEM_CD,SERIAL_YN from ITEM_STANDARD) b1 ON (a1.ITEM_CD = b1.ITEM_CD)) d On (a.despatch_order_no = d.despatch_order_no)
WHERE
a.issue_date BETWEEN @sdate AND @edate
--AND (a.despatch_order_no LIKE '%' + @despatch_order_no + '%')
AND a.totNo like @despatch_order_no
AND (a.ISSUE_CK like @s_issue_status)
AND a.ISSUE_GB2<>'7'
AND a.ISSUE_GB2<>'8'
and cast(right(a.totNo,1) as int) % @ComputerTotal = @ComputerNumber
and a.remark = @Remark
and a.cust_cd like @cust_cd
and Isnull(d.SERIAL_YN,'N') like @Serial_YN
GROUP BY a.totNo, a.issue_date, b.cust_nm
ORDER BY
a.issue_date, b.cust_nm, a.totNo
END
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
select a.ITEM_ISSUE_ID --14.03.24 ๊น์ ์
์์ --------------------------------------------------------------------
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
,A.LOT_NO
--,e.serial_yn AS SERIAL_YN
--,'Y' AS SERIAL_YN
,ISnull(SERIAL_YN,'N') AS SERIAL_YN
,A.DESPATCH_ORDER_NO
,Case When (ISNULL(CONVERT(INT,A.ISSUE_QTY),0) = ISNULL(CONVERT(INT,C.OUT_QTY),0)) Then 'Y' Else 'N' End As CHECK_YN
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
left outer join GD_CUST_ISSUE d on (a.DESPATCH_ORDER_NO = d.DESPATCH_ORDER_NO)
WHERE d.issue_date = @issue_date
AND d.CUST_CD = @cust_cd
and d.totNo = @totNo
order by a.DESPATCH_ORDER_NO
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ๋๊ธฐ ์ค์ธ ๋ฌผํ ์กฐํ
ELSE IF (@gubun = 'S3') BEGIN
--SELECT BARCODE AS PUBLISH_GS1_128,
-- convert(int,ISSUE_QTY) AS QTY,
-- DETAIL_STOCK_ID,
-- LOT_NO,
-- END_DATE,
-- 'N' as ISSUE_YN
--FROM GD_ITEM_ISSUE_HISTORY
SELECT A.BARCODE AS PUBLISH_GS1_128,
convert(int,A.ISSUE_QTY) AS QTY,
A.DETAIL_STOCK_ID,
A.LOT_NO,
A.END_DATE,
ISNULL(B.ISSUE_YN,'N') AS ISSUE_YN,
c.DESPATCH_ORDER_NO,
A.PACKING_ORDER_NO
FROM GD_ITEM_ISSUE_HISTORY A
LEFT JOIN BOX_LABEL B ON(A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID and a.BARCODE = b.BARCODE)
LEFT JOIN GD_ITEM_ISSUE c ON(A.ITEM_ISSUE_ID = c.ITEM_ISSUE_ID)
WHERE a.ITEM_ISSUE_ID = @item_issue_id
ORDER BY DETAIL_STOCK_ID
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = '188')
BEGIN
IF EXISTS (SELECT * FROM GENERAL_REGISTER WHERE BARCODE=@gtin13_code)
BEGIN
SELECT ITEM_PACK_BARCODE FROM GENERAL_REGISTER where BARCODE=@gtin13_code
END
ELSE
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD where ITEM_PACK_BARCODE=@gtin13_code
END
--SELECT case when isnull(B.ITEM_PACK_BARCODE,'')!='' then B.ITEM_PACK_BARCODE else A.ITEM_PACK_BARCODE end
--FROM ITEM_STANDARD A LEFT JOIN GENERAL_REGISTER B ON A.ITEM_PACK_BARCODE=B.ITEM_PACK_BARCODE
--WHERE B.BARCODE = @gtin13_code
----select * from general_register
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@gubun = 'S_ITEMCD')
BEGIN
-- [๋ถ๊ธฐ] @box_type = '-1' ์ธ ๊ฒฝ์ฐ
IF(@box_type='-1') --์ผ๋ฐ์์ฝํ
BEGIN
SELECT ITEM_CD,ITEM_GB FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='0') --๊ฐ๋ณํฌ์ฅ
BEGIN
SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @gtin13_code
--SELECT ITEM_CD, LOT_NO
--FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
--WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
ELSE IF(@box_type='1|2') --์ค|๋๋ฐ์ค
BEGIN
SELECT ITEM_CD, A.LOT_NO
FROM GD_ITEM_STOCK A INNER JOIN GD_PACKING_RESULT_PACK B ON A.ITEM_STOCK_ID = B.ITEM_STOCK_ID
WHERE B.GS1_BOX_BARCODE_NO = @gtin13_code
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
END
ELSE IF(@gubun = 'ITEM_CD')
BEGIN
SELECT ITEM_PACK_BARCODE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
-- , '' AS ISSUE_STATUS ---0: ์ทจ์ 1:์ถ๊ณ ์์ 2:์ถ๊ณ ํ์
-- ๊ฐ๋ณํ๋ชฉ๋ค ์กฐํ(๊ฐ๋ณ๋ฐ์ฝ๋(์ผ๋ จ๋ฒํธ), ์ค๋ฐ์ค, ๋๋ฐ์ค ๋ฐ์ฝ๋ ๋ชจ๋ ์ฌ๊ธฐ์ ์กฐํํจ)
ELSE IF (@gubun = 'S4') BEGIN
IF (@box_type = 0)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(a.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 1)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(a.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@box_type = 2)
BEGIN
SELECT A.DETAIL_STOCK_ID
, A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, A.STOCK_QTY AS QTY
, A.LOT_NO
, A.VALID_DATE AS END_DATE
, 'N' as ISSUE_YN
, Isnull(a.PACKING_ORDER_NO,'') AS PACKING_ORDER_NO
FROM GD_PACKING_RESULT_ITEM A INNER JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY > 0 --์ฌ๊ณ ๊ฐ ์กด์ฌํ๋ ๊ฒ๋ง
SELECT @intErrorCode = @@ERROR
END
END
--ELSE IF(@gubun = 'CHECK_VALID')
--BEGIN
-- SELECT 1
-- FROM GD_CUST_ISSUE
-- WHERE DESPATCH_ORDER_NO=@despatch_order_no and ISSUE_CK = 2
-- SELECT @intErrorCode = @@ERROR
--END
ELSE IF(@gubun = 'ITEM_CLEAR')
BEGIN
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID=@item_issue_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--DELETE GD_ITEM_ISSUE_HISTORY
--WHERE ITEM_ISSUE_ID=@item_issue_id
--DELETE BOX_LABEL
--WHERE DESPATCH_ORDER_NO = @despatch_order_no
update GD_PACKING_RESULT_ITEM
set STOCK_QTY = 1
WHERE GS1_BOX_BARCODE_NO = @barcode
update GD_PACKING_RESULT_PACK
set STOCK_QTY = STOCK_QTY + 1
WHERE GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode
from gd_packing_result_item
where gs1_box_barcode_no = @BARCODE)
update gd_box_issue
set ISSUE_QTY = ISSUE_QTY - 1
where ITEM_ISSUE_ID = @item_issue_id
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE BARCODE=@barcode
-- [์ญ์ ] BOX_LABEL
DELETE BOX_LABEL
WHERE BARCODE=@barcode
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'ITEM_CLEAR2')
BEGIN
-- [์ญ์ ] gd_box_issue
delete gd_box_issue
where ITEM_ISSUE_ID = @item_issue_id
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE BARCODE=@barcode AND ITEM_ISSUE_ID = @item_issue_id
-- [์ญ์ ] BOX_LABEL
DELETE BOX_LABEL
WHERE BARCODE=@barcode AND ITEM_ISSUE_ID = @item_issue_id
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'ITEM_CLEAR1')
BEGIN
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_ID=@item_issue_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] GD_ITEM_ISSUE_HISTORY
DELETE GD_ITEM_ISSUE_HISTORY
WHERE ITEM_ISSUE_ID=@item_issue_id
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'SAVE_TEMP')
BEGIN
-- [์ ์ฌ] GD_ITEM_ISSUE_HISTORY
INSERT INTO GD_ITEM_ISSUE_HISTORY(
ITEM_ISSUE_ID
,ISSUE_DATE
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
,BARCODE
,LOT_NO
,END_DATE
,ISSUE_STATUS
,DETAIL_STOCK_ID
,PACKING_ORDER_NO
)
VALUES
(
@item_issue_id
,GETDATE()
,@qty
,@insert_user_cd
,GETDATE()
,@gs1_barcode
,@lot_no
,@end_date
,'2'
,ISNULL(@detail_stock_id, '')
,@packing_order_no
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where ITEM_ISSUE_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'SEQ') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_PACKING_RESULT_ITEM
SET STOCK_QTY = 0
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE DETAIL_STOCK_ID = @detail_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @detail_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @MAPPING_GS1_BARCODE = MAPPING_GS1_BARCODE
,@MAPPING_BOX_BARCODE = BOX_BARCODE_NO
FROM GD_PACKING_RESULT_ITEM
WHERE DETAIL_STOCK_ID = @detail_stock_id
UPDATE GD_PACKING_RESULT_PACK
SET stock_qty = (select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM where MAPPING_GS1_BARCODE = @MAPPING_GS1_BARCODE)
,update_user_cd = @update_user_cd
,update_time = GETDATE()
WHERE GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @MAPPING_GS1_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0 BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF (@gubun = 'NoSeq') BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
IF EXISTS (SELECT * from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode)
BEGIN
select @MAPPING_BOX_BARCODE = BOX_BARCODE_NO,
@detail_stock_id = DETAIL_STOCK_ID
from GD_PACKING_RESULT_ITEM
where GS1_BOX_BARCODE_NO = @gs1_barcode
update GD_ITEM_ISSUE_HISTORY
SET DETAIL_STOCK_ID = @detail_stock_id
WHERE BARCODE=@gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_ISSUE_HISTORY where BARCODE=@gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_ISSUE_HISTORY', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A
SET A.STOCK_QTY = A.STOCK_QTY - B.ISSUE_QTY
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE
B.DETAIL_STOCK_ID = @detail_stock_id
and b.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id
from GD_PACKING_RESULT_ITEM A INNER JOIN GD_ITEM_ISSUE_HISTORY B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE B.DETAIL_STOCK_ID = @detail_stock_id and b.ITEM_ISSUE_ID = @item_issue_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_PACKING_RESULT_PACK
SET STOCK_QTY = (select SUM(stock_qty) from GD_PACKING_RESULT_ITEM where BOX_BARCODE_NO = @MAPPING_BOX_BARCODE)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
--AuditTrail ์์ฑ
select @audittrail_id = A.audittrail_id from GD_PACKING_RESULT_PACK A INNER JOIN GD_PACKING_RESULT_ITEM B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE A.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @MAPPING_BOX_BARCODE) > 0
BEGIN
UPDATE A SET
A.ISSUE_QTY = ISNULL(B.ISSUE_QTY,0)
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
INNER JOIN ( SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF (@gubun = 'NoSeq1')
BEGIN
select @MAPPING_BOX_BARCODE = BOX_BARCODE_NO,
@detail_stock_id = DETAIL_STOCK_ID
from GD_PACKING_RESULT_ITEM
where GS1_BOX_BARCODE_NO = @gs1_barcode
-- ๊ธฐ์กด WMS์ ํ๋ก์ธ์ค๋ฅผ ๋ฐ๋ฅด๊ธฐ ์ํด ์งํจ๋ณ ์ถ๊ณ ๋ด์ญ ๋ฃ๋ ๋ถ๋ถ ์ถ๊ฐ
IF (SELECT COUNT(*) FROM GD_BOX_ISSUE WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @gs1_barcode) > 0
BEGIN
UPDATE A SET
A.ISSUE_QTY = a.ISSUE_QTY + @qty
,A.UPDATE_USER_CD = @update_user_cd
,A.UPDATE_TIME = GETDATE()
FROM GD_BOX_ISSUE A
WHERE ITEM_ISSUE_ID = @item_issue_id AND BOX_BARCODE_NO = @gs1_barcode
-- INNER JOIN ( SELECT A.ITEM_ISSUE_ID
-- ,B.BOX_BARCODE_NO
-- ,SUM(A.ISSUE_QTY) AS ISSUE_QTY
-- FROM GD_ITEM_ISSUE_HISTORY A
-- INNER JOIN GD_PACKING_RESULT_ITEM B ON A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID
-- WHERE A.ITEM_ISSUE_ID = @item_issue_id --AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
-- GROUP BY A.ITEM_ISSUE_ID , B.BOX_BARCODE_NO ) B
--ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID AND A.BOX_BARCODE_NO = B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_BOX_ISSUE where ITEM_ISSUE_ID = @item_issue_id and BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE BEGIN
-- [์ ์ฌ] GD_BOX_ISSUE
INSERT INTO GD_BOX_ISSUE (
ITEM_ISSUE_ID
,BOX_BARCODE_NO
,ISSUE_QTY
,INSERT_USER_CD
,INSERT_TIME
)
SELECT A.ITEM_ISSUE_ID
,B.BOX_BARCODE_NO
,SUM(A.ISSUE_QTY) AS ISSUE_QTY
,@insert_user_cd
,GETDATE()
FROM GD_ITEM_ISSUE_HISTORY A
inner JOIN GD_PACKING_RESULT_ITEM B ON (A.DETAIL_STOCK_ID = B.DETAIL_STOCK_ID)
WHERE A.ITEM_ISSUE_ID = @item_issue_id
AND B.BOX_BARCODE_NO = @MAPPING_BOX_BARCODE
GROUP BY A.ITEM_ISSUE_ID ,B.BOX_BARCODE_NO
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_BOX_ISSUE
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_BOX_ISSUE', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'DespatchOrderEnd')
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--์ถ๊ณ ์์ ๋ด์ญ์ ํ์ ์ํจ๋ค.
UPDATE A SET
A.ISSUE_STATUS = '2'
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON (A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID)
INNER JOIN GD_CUST_ISSUE C ON (B.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO)
WHERE C.totno = @totNo
AND A.ISSUE_STATUS = '1'
--AuditTrail์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT A.audittrail_id from GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON (A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID)
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'GD_ITEM_ISSUE_HISTORY', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = '์ถ๊ณ ์๋ฃ ์ฒ๋ฆฌ'
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='2'
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE totno = @totNo
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END
ELSE BEGIN
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
END
ELSE IF(@gubun = 'box_label')
BEGIN
-- [์ ์ฌ] BOX_LABEL
INSERT INTO BOX_LABEL(
DESPATCH_ORDER_NO
,BOX_BARCODE_NO
,ITEM_ISSUE_ID
,MAPPING_BARCODE
,BARCODE
,ISSUE_YN
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@DESPATCH_ORDER_NO
,@BOX_BARCODE_NO
,@item_issue_id
,@MAPPING_BARCODE
,@BARCODE
,'Y'
,@INSERT_USER_CD
,GETDATE()
)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'GETBARCODE')
BEGIN
DECLARE @serial_no int, @dist_cd nvarchar(2)
SELECT @dist_cd = '0'
SELECT @serial_no = cast(isnull(MAX(substring(BOX_BARCODE_NO,1+len(@dist_cd),len(box_barcode_no)-len(@dist_cd))),'0')as int)+1 FROM BOX_LABEL WHERE substring(BOX_BARCODE_NO,1,LEN(@dist_cd)) = @dist_cd
SET @BOX_BARCODE_NO = @dist_cd + REPLICATE('0', 9-LEN(@serial_no)-LEN(@dist_cd)) + cast(@serial_no as CHAR )
SET @IDENTITY = rtrim(@BOX_BARCODE_NO)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'label_print')
BEGIN
select top 1 MAPPING_BARCODE
from BOX_LABEL
where BOX_BARCODE_NO = @box_barcode_no
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'c')
BEGIN
IF (SELECT COUNT(*) FROM BOX_LABEL
WHERE BARCODE = @BARCODE) > 0
BEGIN
RAISERROR ('๋ฐ์ค๋ผ๋ฒจ์ด ๋ฐํ๋ ๋ฐ์ฝ๋์
๋๋ค.' , 16, 1);
END
END
ELSE IF(@gubun = 'PackingGB')
BEGIN
SELECT '%' as keyfield, '' as displayfield
union all
SELECT distinct remark as keyfield, isnull(remark, 'NULL') as displayfield
FROM gd_cust_issue
where ISSUE_WORK_DATE between @sdate and @edate
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemOutManage2D
๋ชฉ์ โ 2D ์ถ๊ณ ๊ด๋ฆฌ(๊ด๋ฆฌ์ ํ๋ฉด).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@packing_result_pack_out_history_id | int(4) | IN |
@box_barcode_no | nvarchar(100) | IN |
@out_type | nvarchar(10) | IN |
@out_qty | decimal(9) | IN |
@out_date | nvarchar(20) | IN |
@out_remark | nvarchar(510) | IN |
@insert_user_cd | nvarchar(100) | IN |
@insert_time | datetime(8) | IN |
@update_user_cd | nvarchar(100) | IN |
@update_time | datetime(8) | IN |
@start_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@item | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@past_stock_qty | decimal(9) | IN |
@past_out_qty | decimal(9) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ItemOutManage2D]
@gubun VARCHAR(50) = NULL,
@packing_result_pack_out_history_id INT =0,
@box_barcode_no NVARCHAR(50) ='',
@out_type NVARCHAR(5) ='',
@out_qty decimal(15,4) =0,
@out_date NVARCHAR(10) ='',
@out_remark NVARCHAR(255) ='',
@insert_user_cd NVARCHAR(50) ='',
@insert_time DATETIME =null,
@update_user_cd NVARCHAR(50) ='',
@update_time DATETIME =null,
@start_date NVARCHAR(10) ='',
@end_date NVARCHAR(10) ='',
@item NVARCHAR(50) ='',
@item_cd NVARCHAR(50) ='',
@past_stock_qty decimal(15,4) =0,
@past_out_qty decimal(15,4) =0,
@sys_emp_cd nvarchar(50) = '',
@identity NVARCHAR(50) = '' OUTPUT,
@message NVARCHAR(2000) OUTPUT
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
SET NOCOUNT ON
IF @GUBUN='Select'
BEGIN
--SELECT a.packing_result_pack_out_history_id
-- ,b.item_stock_id
-- ,a.out_date
-- ,c.item_cd
-- ,d.item_nm
-- ,c.lot_no
-- ,isnull(dbo.fn_Pack_unit_size(c.item_cd),'') AS item_unit
-- ,c.packing_result_id
-- ,a.box_barcode_no
-- ,b.prod_qty
-- , isnull(g.issue_qty,0)+isnull(f.out_qty,0) as delivery_qty
-- ,b.stock_qty
-- ,a.out_type
-- ,a.out_qty
-- ,a.out_remark
-- FROM gd_packing_result_pack_out_history a
-- INNER JOIN gd_packing_result_pack b ON a.box_barcode_no=b.box_barcode_no
-- INNER JOIN gd_item_stock c ON b.item_stock_id=c.item_stock_id
-- INNER JOIN item_standard d ON c.item_cd=d.item_cd
-- LEFT OUTER JOIN (SELECT sum(in_qty) as in_qty, box_barcode_no FROM gd_packing_result_pack_in_history GROUP BY box_barcode_no)e ON a.box_barcode_no=e.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(out_qty) as out_qty, box_barcode_no FROM gd_packing_result_pack_out_history GROUP BY box_barcode_no)f ON a.box_barcode_no=f.box_barcode_no
-- LEFT OUTER JOIN (SELECT sum(issue_qty) as issue_qty, box_barcode_no FROM gd_box_issue GROUP BY box_barcode_no)g ON a.box_barcode_no=g.box_barcode_no
-- WHERE a.out_date BETWEEN @start_date AND @end_date
-- AND (d.item_cd like '%'+@item+'%' OR d.item_nm like '%'+@item+'%')
-- ORDER BY a.out_date, d.item_nm, c.lot_no, a.box_barcode_no
SELECT a.packing_result_pack_out_history_id
,b.item_stock_id
,a.out_date
,c.item_cd
,d.item_nm
,c.lot_no
,isnull(dbo.fn_Pack_unit_size(c.item_cd),'') AS item_unit
,c.packing_result_id
,a.box_barcode_no
--,b.prod_qty
--, isnull(g.issue_qty,0)+isnull(f.out_qty,0) as delivery_qty
--,b.stock_qty
,a.out_type
,a.out_qty
,a.out_remark
FROM gd_packing_result_pack_out_history a
INNER JOIN (select box_barcode_no, sum(isnull(prod_qty,0)) prod_qty, MAX(item_stock_id) item_stock_id FROM gd_packing_result_pack GROUP BY box_barcode_no) b ON a.box_barcode_no=b.box_barcode_no
INNER JOIN gd_item_stock c ON b.item_stock_id=c.item_stock_id
INNER JOIN item_standard d ON c.item_cd=d.item_cd
LEFT OUTER JOIN (SELECT sum(in_qty) as in_qty, box_barcode_no FROM gd_packing_result_pack_in_history GROUP BY box_barcode_no)e ON a.box_barcode_no= e.box_barcode_no
LEFT OUTER JOIN (SELECT sum(out_qty) as out_qty, box_barcode_no FROM gd_packing_result_pack_out_history GROUP BY box_barcode_no)f ON a.box_barcode_no= f.box_barcode_no
LEFT OUTER JOIN (SELECT sum(issue_qty) as issue_qty, box_barcode_no FROM gd_box_issue GROUP BY box_barcode_no)g ON a.box_barcode_no=g.box_barcode_no
WHERE a.out_date BETWEEN @start_date AND @end_date
AND (d.item_cd like '%'+@item+'%' OR d.item_nm like '%'+@item+'%')
SELECT @intErrorCode = @@ERROR
END
--[๊ธฐํ ์
/์ถ๊ณ ์์ธ ์กฐํ]
ELSE IF @GUBUN='Select2'
BEGIN
SELECT A.date
,A.inouttype
,A.type
,A.in_qty
,A.out_qty
,A.remark
FROM(
SELECT a.in_date AS date
,'๊ธฐํ ์
๊ณ ' AS inouttype
,b.common_part_nm AS type
,a.in_qty AS in_qty
,null AS out_qty
,a.in_remark AS remark
FROM gd_packing_result_pack_in_history a
LEFT OUTER JOIN common b ON a.in_type=b.common_part_cd AND b.common_cd='GD201'
WHERE box_barcode_no=@box_barcode_no
UNION ALL
SELECT a.out_date AS date
,'๊ธฐํ ์ถ๊ณ ' AS inouttype
,b.common_part_nm AS type
,null AS in_qty
,a.out_qty AS out_qty
,a.out_remark AS remark
FROM gd_packing_result_pack_out_history a
LEFT OUTER JOIN common b ON a.out_type=b.common_part_cd AND b.common_cd='GD301'
WHERE box_barcode_no=@box_barcode_no
UNION ALL
SELECT b.issue_date AS date
,'์ ์ ์ถ๊ณ ' AS inouttype
,'' AS type
,null AS in_qty
,a.issue_qty AS out_qty
,null AS remark
FROM gd_box_issue a
inner join gd_item_issue b ON a.item_issue_id=b.item_issue_id
WHERE box_barcode_no=@box_barcode_no
)A
ORDER BY A.date
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Insert'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @past_stock_qty_insert int
--SET @past_stock_qty_insert=( SELECT isnull(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @past_stock_qty_insert=( SELECT isnull(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (select MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
--if(@past_stock_qty-@out_qty<0 or @past_stock_qty2-@out_qty<0)
-- begin
-- SELECT @intErrorCode = -111
-- end
--else
-- begin
IF (@intErrorCode = 0) BEGIN
UPDATE gd_packing_result_pack
SET stock_qty=@past_stock_qty_insert-@out_qty
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
---==== TODO Audit Trail ====
SELECT @intErrorCode = @@ERROR
END
--end
IF (@intErrorCode = 0)
BEGIN
INSERT gd_packing_result_pack_out_history
(
box_barcode_no
,out_type
,out_qty
,out_date
,out_remark
,insert_user_cd
,insert_time
,update_user_cd
,update_time
) VALUES (
@box_barcode_no
,@out_type
,@out_qty
,@out_date
,@out_remark
,@insert_user_cd
,getdate()
,@update_user_cd
,getdate()
)
--==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.101001 ๋ฐ๋ฏผ์ค====
DECLARE @packing_result_pack_out_history_id2 INT
SET @packing_result_pack_out_history_id2 = @@IDENTITY
--==== TODO Audit Trail ====
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
SELECT @intErrorCode = @@error
--SET @identity = CONVERT(int, @@identity)
SET @identity = @packing_result_pack_out_history_id2
END
ELSE IF @GUBUN='Update'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @past_out_qty_update int
--SET @past_stock_qty=( SELECT isnull(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no)
SET @past_stock_qty=( SELECT isnull(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (select MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
SET @past_out_qty_update=( SELECT isnull(out_qty,0)
FROM gd_packing_result_pack_out_history
WHERE box_barcode_no=@box_barcode_no AND packing_result_pack_out_history_id=@packing_result_pack_out_history_id)
--if(@past_stock_qty+@past_out_qty_update-@out_qty<0)
-- begin
-- SELECT @intErrorCode = -111
-- end
--else
-- begin
IF (@intErrorCode = 0) BEGIN
UPDATE gd_packing_result_pack
SET stock_qty=@past_stock_qty + @past_out_qty_update - @out_qty
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
--==== TODO Audit Trail ====
SELECT @intErrorCode = @@ERROR
--end
END
IF (@intErrorCode = 0)
BEGIN
UPDATE gd_packing_result_pack_out_history
SET
out_type=@out_type
,out_qty=@out_qty
,out_date=@out_date
,out_remark=@out_remark
,update_user_cd=@update_user_cd
,update_time=getdate()
WHERE packing_result_pack_out_history_id=@packing_result_pack_out_history_id
AND box_barcode_no=@box_barcode_no
--==== TODO Audit Trail ====
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
--SET @identity = ( SELECT ISNULL(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @identity = ( SELECT ISNULL(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (SELECT MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
END
ELSE IF @GUBUN='Delete'
BEGIN
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--SET @past_stock_qty=( SELECT isnull(stock_qty,0)
-- FROM gd_packing_result_pack
-- WHERE box_barcode_no=@box_barcode_no )
SET @past_stock_qty=( SELECT isnull(stock_qty,0)
FROM gd_packing_result_pack
WHERE ITEM_STOCK_ID = (select MAX(ITEM_STOCK_ID)
FROM gd_packing_result_pack
WHERE box_barcode_no=@box_barcode_no)
AND box_barcode_no=@box_barcode_no)
SET @past_out_qty=( SELECT isnull(out_qty,0)
FROM gd_packing_result_pack_out_history
WHERE box_barcode_no=@box_barcode_no AND packing_result_pack_out_history_id=@packing_result_pack_out_history_id)
--if(@past_stock_qty + @past_out_qty<0)
-- begin
-- SELECT @intErrorCode = -111
-- end
--else
-- begin
IF (@intErrorCode = 0)
BEGIN
UPDATE gd_packing_result_pack
SET stock_qty= @past_stock_qty + @past_out_qty
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE box_barcode_no=@box_barcode_no
--==== TODO Audit Trail ====
SELECT @intErrorCode = @@ERROR
--end
END
IF (@intErrorCode = 0)
BEGIN
--==== TODO Audit Trail ====
-- [์ญ์ ] gd_packing_result_pack_out_history
DELETE gd_packing_result_pack_out_history
WHERE packing_result_pack_out_history_id= @packing_result_pack_out_history_id
AND box_barcode_no=@box_barcode_no
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
ELSE ROLLBACK TRANSACTION
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemParcel
๋ชฉ์ โ ํ๋ฐฐยท์ํฌ ๋จ์ ์ถ๊ณ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@message | nvarchar(4000) | OUTPUT |
@cust_cd | nvarchar(100) | IN |
@issue_count | int(4) | IN |
@CENTER_CODE | nvarchar(100) | IN |
@COURSE_CODE | nvarchar(100) | IN |
@CUST_CODE | nvarchar(100) | IN |
@PRINT_YN | nvarchar(10) | IN |
@POST_NO | nvarchar(20) | IN |
@SIDO | nvarchar(20) | IN |
@GUGUN | nvarchar(20) | IN |
@DONG | nvarchar(100) | IN |
@CENTER_CD | nvarchar(20) | IN |
@COURSE_CD | nvarchar(20) | IN |
@CENTER_NM | nvarchar(20) | IN |
@totNo | nvarchar(100) | IN |
@SHIPPER_CD | nvarchar(20) | IN |
@Remark | nvarchar(30) | IN |
@issue_order_no | int(4) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ์ด์ ๋ฏธ(2014.09.15)
์ ์ ์ :
SP ๋ช
: SP_ItemParcel
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ํ๋ฐฐ๋ผ๋ฒจ์ถ๋ ฅ
์ฌ ์ฉ ์ฒ : ItemParcel.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemParcel]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@message nvarchar(2000) output,
@cust_cd nvarchar(50) = '',
@issue_count int = '',
@CENTER_CODE nvarchar(50) = '',
@COURSE_CODE nvarchar(50) = '',
@CUST_CODE nvarchar(50) = '',
@PRINT_YN nvarchar(5) = '',
@POST_NO nvarchar(10) = '',
@SIDO nvarchar(10) = '',
@GUGUN nvarchar(10) = '',
@DONG nvarchar(50) = '',
@CENTER_CD nvarchar(10) = '',
@COURSE_CD nvarchar(10) = '',
@CENTER_NM nvarchar(10) = '',
@totNo nvarchar(50) = '',
@SHIPPER_CD nvarchar(10) = '',
@Remark NVARCHAR(15) = '',
@issue_order_no int = 0
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
DECLARE @plant_nm NVARCHAR(50)
DECLARE @plant_busin_no NVARCHAR(50)
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
-- [๋ถ๊ธฐ] @Remark = '%' ์ธ ๊ฒฝ์ฐ
IF(@Remark = '%')BEGIN
SELECT DISTINCT a.totNo
,a.issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,c.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,A.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,d.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
,A.ISSUE_TRANS_CUST_CD
,d.CUST_NM as ISSUE_TRANS_CUST_NM
,A.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,e.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,ISNULL(A.SEND_DATA_YN,'N') AS SEND_DATA_YN
FROM GD_CUST_ISSUE a
LEFT JOIN MA_CUSTOMER c on(a.CUST_CD = c.CUST_CD)
LEFT JOIN MA_CUSTOMER d on (A.ISSUE_TRANS_CUST_CD = d.CUST_CD)
LEFT OUTER JOIN common e ON (A.ISSUE_CK = e.common_part_cd AND e.common_cd = 'GD402')
LEFT JOIN LABEL_INFO g ON (a.totNo = g.DESPATCH_ORDER_NO)
WHERE a.ISSUE_DATE BETWEEN @sdate AND @edate
and a.cust_cd like @cust_cd
and a.ISSUE_CK ='2'
--and ((CASE WHEN (SELECT COUNT(*) FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO = @totNo) <> 0 THEN 'Y' ELSE 'N' END) = @PRINT_YN )
and a.totNo like @totNo
and (case when g.issue_count > 0 then 'Y' else 'N' end) Like @PRINT_YN
order by a.ISSUE_DATE, c.cust_nm, a.totNo
END
ELSE IF(@Remark = 'NULL')BEGIN
SELECT DISTINCT a.totNo
,a.issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,c.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,A.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,d.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
,A.ISSUE_TRANS_CUST_CD
,d.CUST_NM as ISSUE_TRANS_CUST_NM
,A.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,e.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,ISNULL(A.SEND_DATA_YN,'N') AS SEND_DATA_YN
FROM GD_CUST_ISSUE a
LEFT JOIN MA_CUSTOMER c on(a.CUST_CD = c.CUST_CD)
LEFT JOIN MA_CUSTOMER d on (A.ISSUE_TRANS_CUST_CD = d.CUST_CD)
LEFT OUTER JOIN common e ON (A.ISSUE_CK = e.common_part_cd AND e.common_cd = 'GD402')
LEFT JOIN LABEL_INFO g ON (a.totNo = g.DESPATCH_ORDER_NO)
WHERE a.ISSUE_DATE BETWEEN @sdate AND @edate
and a.cust_cd like @cust_cd
and a.ISSUE_CK ='2'
--and ((CASE WHEN (SELECT COUNT(*) FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO = @totNo) <> 0 THEN 'Y' ELSE 'N' END) = @PRINT_YN )
and a.totNo like @totNo
and a.remark IS NULL
and (case when g.issue_count > 0 then 'Y' else 'N' end) Like @PRINT_YN
order by a.ISSUE_DATE, c.cust_nm, a.totNo
END
ELSE BEGIN
SELECT DISTINCT a.totNo
,a.issue_date --์ถ๊ณ ์ผ์
,a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,c.cust_nm --๊ฑฐ๋์ฒ์ด๋ฆ
,A.pass_cust_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,d.cust_nm as pass_cust_nm --๊ฐ๋ฉ์ฒ์ด๋ฆ
,A.ISSUE_TRANS_CUST_CD
,d.CUST_NM as ISSUE_TRANS_CUST_NM
,A.ISSUE_CK as issue_ck_cd --์ถ๊ณ ์ง์์ํ ์ฝ๋
,e.COMMON_PART_NM as issue_ck --์ถ๊ณ ์ง์์ํ
,ISNULL(A.SEND_DATA_YN,'N') AS SEND_DATA_YN
FROM GD_CUST_ISSUE a
LEFT JOIN MA_CUSTOMER c on(a.CUST_CD = c.CUST_CD)
LEFT JOIN MA_CUSTOMER d on (A.ISSUE_TRANS_CUST_CD = d.CUST_CD)
LEFT OUTER JOIN common e ON (A.ISSUE_CK = e.common_part_cd AND e.common_cd = 'GD402')
LEFT JOIN LABEL_INFO g ON (a.totNo = g.DESPATCH_ORDER_NO)
WHERE a.ISSUE_DATE BETWEEN @sdate AND @edate
and a.cust_cd like @cust_cd
and a.ISSUE_CK ='2'
--and ((CASE WHEN (SELECT COUNT(*) FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO = @totNo) <> 0 THEN 'Y' ELSE 'N' END) = @PRINT_YN )
and a.totNo like @totNo
and a.remark = @Remark
and (case when g.issue_count > 0 then 'Y' else 'N' end) Like @PRINT_YN
order by a.ISSUE_DATE, c.cust_nm, a.totNo
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S2') BEGIN
SELECT distinct A.totNo,
C.post_no
,C.center_cd
,C.course_cd
,c.center_nm
,ISNULL(D.ISSUE_COUNT,'1') AS issue_count
,CASE WHEN (SELECT COUNT(*) FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO=@totNo) <> 0 THEN 'Y' ELSE 'N' END AS LABEL_YN
,(SELECT SHIPPER_NM FROM SHIPPER_JOA WHERE SHIPPER_CD = (SELECT SHIPPER_CD FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO = @totNo)) AS SHIPPER_NM
FROM GD_CUST_ISSUE A
LEFT JOIN MA_CUSTOMER B ON (A.ISSUE_TRANS_CUST_CD=B.CUST_CD)
--LEFT JOIN ZIPCODE_YM C ON(SUBSTRING(B.CUST_POST_CD,0,4)+SUBSTRING(B.CUST_POST_CD,5,3) = C.POST_NO)
LEFT JOIN ZIPCODE_YM C ON(replace(CUST_POST_CD, '-', '') = C.POST_NO)
--LEFT JOIN ZIPCODE_YM C ON(B.CUST_POST_CD = C.POST_NO)
LEFT JOIN LABEL_INFO D ON (A.totNo = D.DESPATCH_ORDER_NO)
WHERE A.totNo=@totNo
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S21') BEGIN
SELECT B.ITEM_CD, C.ITEM_NM, B.LOT_NO, B.ISSUE_QTY, 'N' As CHECK_YN
FROM GD_CUST_ISSUE A
JOIN GD_ITEM_ISSUE B ON A.DESPATCH_ORDER_NO=B.DESPATCH_ORDER_NO
LEFT JOIN ITEM_STANDARD C ON B.ITEM_CD=C.ITEM_CD
WHERE A.totNo=@totNo
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'U') BEGIN
IF EXISTS (SELECT DESPATCH_ORDER_NO FROM LABEL_INFO WHERE DESPATCH_ORDER_NO = @totNo)
UPDATE LABEL_INFO SET ISSUE_COUNT = @issue_count WHERE DESPATCH_ORDER_NO = @totNo
ELSE
-- [์ ์ฌ] LABEL_INFO
INSERT INTO LABEL_INFO(DESPATCH_ORDER_NO,ISSUE_COUNT)
VALUES (@totNo,@issue_count)
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'I') BEGIN
IF (SELECT COUNT(*) FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO = @totNo) <> 0
BEGIN
RAISERROR ('๋ผ๋ฒจ์ด ๋ฐํ๋ ์ ํ์
๋๋ค.' , 16, 1);
END
ELSE BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
declare @ORDER_NO INT ='',
@receipt_date nvarchar(10) = ''
set @receipt_date = (select CONVERT(VARCHAR,GETDATE(),112)) --'20201105'
--set @ORDER_NO = (SELECT cast(isnull(MAX(ORDER_NO),'0')as int)+1 FROM ITEM_PARCEL where RECEIPT_DATE = @receipt_date)
set @ORDER_NO = Isnull((SELECT max(cast(isnull(ORDER_NO,'0') as int)) + 1 FROM ITEM_PARCEL where RECEIPT_DATE = @receipt_date),1)
IF NOT EXISTS (SELECT DESPATCH_ORDER_NO FROM LABEL_INFO WHERE DESPATCH_ORDER_NO = @totNo)
-- [์ ์ฌ] LABEL_INFO
INSERT INTO LABEL_INFO(DESPATCH_ORDER_NO, issue_count)
VALUES (@totNo, 1)
-- [์ ์ฌ] ITEM_PARCEL
INSERT INTO ITEM_PARCEL(RECEIPT_DATE,
SHIPPER_CD,
ORDER_NO,
DESPATCH_ORDER_NO,
CUST_CD,
CUST_NM,
CUST_TEL_NO,
CUST_PHONE_NO,
CUST_ZIP1,
CUST_ZIP2,
CUST_ADD,
CUST_ADD_DE,
PARCEL_AMT,
BOX_SERIAL,
SHIPPING_DATE,
PARCEL_INFO,
CUST_BUSIN_NO,
ETC1,
ETC2,
LABEL_ISSUE)
VALUES (@receipt_date,
@SHIPPER_CD,
@ORDER_NO,
@totNo,
@CUST_CODE,
(SELECT CUST_NM FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
(SELECT CUST_TEL_NO FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
'',
(SELECT substring(replace(CUST_POST_CD,'-',''),0,4) FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
(SELECT substring(replace(CUST_POST_CD,'-',''),4,3) FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
(SELECT CUST_AD1 FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
(SELECT CUST_AD2 FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
(SELECT ISNULL(issue_count,'1') FROM label_info WHERE DESPATCH_ORDER_NO=@totNo),
'',
'',
'',
(SELECT CUST_BUSIN_NO FROM MA_CUSTOMER WHERE CUST_CD=@CUST_CODE),
'',
'',
'Y')
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
END
ELSE IF (@gubun = 'I2') BEGIN
declare @SHIPPER_BARCODE NVARCHAR(20) ='',
@SERIAL_NO NVARCHAR(20) =''
SET @SERIAL_NO = DBO.fn_GetParcelNo()
select @SHIPPER_BARCODE=(SELECT SHIPPER_BARCODE from SHIPPER_JOA where SHIPPER_CD=@SHIPPER_CD)
DECLARE @DOWN_BARCODE NVARCHAR(50) =''
SELECT @DOWN_BARCODE = @SHIPPER_BARCODE + SUBSTRING(CONVERT(NVARCHAR,GETDATE(),112),3,6) + @SERIAL_NO
-- [์ ์ฌ] PARCEL_BARCODE
INSERT INTO PARCEL_BARCODE(RECEIPT_DATE,
SHIPPER_CD,
ORDER_NO,
BARCODE,
DESPATCH_ORDER_NO,
SERIAL_NO,
UP_BARCODE)
VALUES (CONVERT(VARCHAR,GETDATE(),112),--'20201105',--
@SHIPPER_CD,
(SELECT ORDER_NO FROM ITEM_PARCEL WHERE DESPATCH_ORDER_NO=@totNo),
@DOWN_BARCODE,
@totNo,
@SERIAL_NO,
@CENTER_CODE + '00' + @SHIPPER_BARCODE)
--@CENTER_CODE + @COURSE_CODE + @SHIPPER_CODE)
END
ELSE IF (@gubun = 'label_print') BEGIN
declare @ITEM_NM_LIST NVARCHAR(500) =''
select @ITEM_NM_LIST = stuff((SELECT '/' + X.ITEM_NM + '=' + X.ISSUE_QTY
from (SELECT top 100 C.ITEM_NM, Convert(nvarchar,B.ISSUE_QTY) AS ISSUE_QTY
FROM GD_CUST_ISSUE A
LEFT OUTER JOIN GD_ITEM_ISSUE B ON A.DESPATCH_ORDER_NO = B.DESPATCH_ORDER_NO
LEFT OUTER JOIN ITEM_STANDARD C ON B.ITEM_CD = C.ITEM_CD
WHERE A.totNo = @totNo ORDER BY ITEM_NM) X
FOR XML PATH('')),1,1,'')
SELECT @ITEM_NM_LIST AS ITEM_NM,
a.UP_BARCODE,
a.BARCODE,
b.CUST_ADD + b.CUST_ADD_DE AS CUST_AD,
b.CUST_TEL_NO,
b.CUST_NM,
b.PARCEL_AMT,
E.SHIPPER_CD AS SHIPPER_CD,
E.SHIPPER_NM AS SHIPPER_NM,
E.SHIPPER_BARCODE AS SHIPPER_BARCODE
FROM PARCEL_BARCODE a
LEFT JOIN ITEM_PARCEL b on (a.DESPATCH_ORDER_NO = b.DESPATCH_ORDER_NO)
LEFT JOIN (select top 1 item_cd,DESPATCH_ORDER_NO from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@totNo) c on(a.DESPATCH_ORDER_NO = c.DESPATCH_ORDER_NO)
LEFT JOIN SHIPPER_JOA E ON(B.SHIPPER_CD = E.SHIPPER_CD)
WHERE A.DESPATCH_ORDER_NO = @totNo
--SELECT a.UP_BARCODE,
-- a.BARCODE,
-- b.CUST_ADD + b.CUST_ADD_DE AS CUST_AD,
-- b.CUST_TEL_NO,
-- b.CUST_NM,
-- D.ITEM_NM,
-- b.PARCEL_AMT,
-- E.SHIPPER_CD AS SHIPPER_CD,
-- E.SHIPPER_NM AS SHIPPER_NM,
-- E.SHIPPER_BARCODE AS SHIPPER_BARCODE
--FROM PARCEL_BARCODE a
-- LEFT JOIN ITEM_PARCEL b on (a.DESPATCH_ORDER_NO = b.DESPATCH_ORDER_NO)
-- LEFT JOIN (select top 1 item_cd,DESPATCH_ORDER_NO from GD_ITEM_ISSUE where DESPATCH_ORDER_NO=@totNo) c on(a.DESPATCH_ORDER_NO = c.DESPATCH_ORDER_NO)
-- LEFT JOIN ITEM_STANDARD d on(c.ITEM_CD = d.ITEM_CD)
-- LEFT JOIN SHIPPER_JOA E ON(B.SHIPPER_CD = E.SHIPPER_CD)
--WHERE A.DESPATCH_ORDER_NO = @totNo
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'd1') BEGIN
SELECT A.RECEIPT_DATE,
A.SHIPPER_CD,
A.ORDER_NO,
A.DESPATCH_ORDER_NO,
A.CUST_CD,
A.CUST_NM,
A.CUST_TEL_NO,
A.CUST_PHONE_NO,
A.CUST_ZIP1,
A.CUST_ZIP2,
A.CUST_ADD,
A.CUST_ADD_DE,
A.PARCEL_AMT,
A.BOX_SERIAL,
A.SHIPPING_DATE,
A.PARCEL_INFO,
A.CUST_BUSIN_NO,
A.ETC1,
A.ETC2
FROM ITEM_PARCEL A
LEFT OUTER JOIN GD_CUST_ISSUE B ON(A.DESPATCH_ORDER_NO = B.totNo)
WHERE ISNULL(B.SEND_DATA_YN,'N') = 'N'
AND A.LABEL_ISSUE = 'Y'
AND B.ISSUE_CK = '2'
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'd2') BEGIN
SELECT A.RECEIPT_DATE,
A.SHIPPER_CD,
A.ORDER_NO,
A.BARCODE
FROM PARCEL_BARCODE A
LEFT JOIN GD_CUST_ISSUE B ON(A.DESPATCH_ORDER_NO = B.totNo)
LEFT JOIN ITEM_PARCEL C ON(A.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO)
WHERE B.SEND_DATA_YN = 'N'
AND C.LABEL_ISSUE = 'Y'
AND B.ISSUE_CK = '2'
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'Y') BEGIN
UPDATE GD_CUST_ISSUE SET SEND_DATA_YN='Y'
WHERE DESPATCH_ORDER_NO = @totNo
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemProduction2
๋ชฉ์ โ ์์ฐ v2 โ ์์ ํ ๋ฑ๋กยท์ฌ๊ณ ๋ฐ์.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@s_item_cd | nvarchar(100) | IN |
@PACKING_ORDER_NO | nvarchar(100) | IN |
@PUBLISH_TYPE | nvarchar(100) | IN |
@OUTER_INTERFACE | nvarchar(100) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@UPDATE_USER_CD | nvarchar(100) | IN |
@PUBLISH_QTY | decimal(9) | IN |
@MARKING_YN | nvarchar(100) | IN |
@MARKING_ORDER_ID | int(4) | IN |
@Last_Num | int(4) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@Len | int(4) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
---
/*
declare @message nvarchar(20)
exec SP_ItemProduction2 @GUBUN='D', @s_sdate = '2011-03-01', @s_edate = '2013-03-08', @s_item_cd = '', @message = @message
declare @message nvarchar(20)
exec SP_ItemProduction2 @GUBUN='D', @PACKING_ORDER_NO = 'dfsfsf', @message = @message
select * FROM MARKING_ORDER
*/
CREATE PROC [dbo].[SP_ItemProduction2]
@GUBUN nvarchar(50) = '' --๋ฐ๋์ ์์ด์ผ ํจ
/* ์กฐํ์กฐ๊ฑด */
,@s_sdate nvarchar(10) = ''
,@s_edate nvarchar(10) = ''
,@s_item_cd nvarchar(50) = ''
/* ์
๋ ฅํญ๋ชฉ */
,@PACKING_ORDER_NO nvarchar(50) = '' --์ง์๋ฒํธ
,@PUBLISH_TYPE nvarchar(50) = '' --๋ฐํํ์
,@OUTER_INTERFACE nvarchar(50) = '' --์ธํฐํ์ด์ค ํ์
,@INSERT_USER_CD nvarchar(50) = ''
,@UPDATE_USER_CD nvarchar(50) = ''
,@PUBLISH_QTY DECIMAL(15,4)= 0 -- ๋ฐํ์๋
,@MARKING_YN nvarchar(50) = ''
,@MARKING_ORDER_ID int = 0 --๋ผ๋ฒจ๋ฐํ์ง์
,@Last_Num int = 0
,@sys_emp_cd nvarchar(50) = ''
,@Len int = 0
,@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S1 : ํฌ์ฅ์ง์์ ๋ณด ์กฐํ
--------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT rtrim(a.packing_order_no) as packing_order_no --์ง์๋ฒํธ
,rtrim(a.sale_item_cd) as sale_item_cd --ํฌ์ฅ์ ํ์ฝ๋
,b.item_nm as sale_item_nm --ํฌ์ฅ์ ํ๋ช
,[dbo].fn_Pack_unit_size(a.sale_item_cd) as item_pack_size --ํฌ์ฅ๋จ์
,CASE WHEN a.LOT_NO <> '' THEN rtrim(a.LOT_NO) ELSE rtrim(a.ETC_NO) END lot_no --์ ์กฐ๋ฒํธ
,a.packing_order_date --์
๋ ฅ์ผ์
,a.packing_order_work_date --์ง์์ผ์
,isnull(a.packing_order_qty,0) as packing_order_qty --์ง์์๋
,a.outer_interface --์ธํฐํ์ด์ค
,d.common_part_nm as packing_order_status --ํฌ์ฅ์ง์์ํ
,a.SERIAL_YN
,rtrim(a.VALID_DATE) as VALID_DATE
,rtrim(b.ITEM_PACK_BARCODE) as ITEM_PACK_BARCODE -- ํ์ค๋ฐ์ฝ๋
,CASE WHEN ISNULL(b.MARKING_IMAGE_NM, '' ) = '' THEN f.PARAMETER_VALUE ELSE b.MARKING_IMAGE_NM END AS MARKING_IMAGE_NM-- ๋งํน์ด๋ฏธ์ง ํ์ผ๋ช
์ถ๊ฐ
FROM packing_order a
LEFT OUTER JOIN item_standard b ON (a.sale_item_cd = b.item_cd) --ํ๋ชฉ๋ง์คํฐ
LEFT OUTER JOIN common d ON (a.packing_order_status = d.common_part_cd AND d.common_cd = 'RT027') --ํฌ์ฅ์ง์์ํ
LEFT OUTER JOIN CM_PARAMETER f ON PARAMETER_CODE = CASE WHEN a.SERIAL_YN = 'Y' THEN 'DOMINO_LABEL_NM_SERIAL' ELSE 'DOMINO_LABEL_NM_NOSERIAL' END --์ถ๋ ฅ ํ๋ผ๋ฏธํฐ ๊ธฐ๋ณธ์ด๋ฏธ์ง
WHERE (a.packing_order_work_date BETWEEN @s_sdate AND @s_edate)
AND (a.sale_item_cd LIKE '%' + @s_item_cd + '%' OR b.ITEM_NM LIKE '%' + @s_item_cd + '%')
ORDER BY a.PACKING_ORDER_WORK_DATE desc, a.packing_order_no desc, a.LOT_NO desc
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S3 : ์ถ๋ ฅ๋ ๋ฐ์ฝ๋ ์ ๋ณด๋ฅผ ํ์ํ๋ค.
--------------------------------------------------------------------
/*
ELSE IF(@gubun = 'S2')
BEGIN
SELECT a.PUBLISH_TYPE,b.COMMON_PART_NM as PUBLISH_TYPE_NM
,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.MARKING_YN
,A.ORDER_QTY
,'Y' AS check_yn
FROM MARKING_ORDER AS a
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE a.PACKING_ORDER_NO = @PACKING_ORDER_NO
ORDER BY A.PUBLISH_SERIAL_NO ASC
SELECT @intErrorCode = @@ERROR
END*/
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S3 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ๋ฏธํฌํจ)
--------------------------------------------------------------------
ELSE IF(@gubun = 'S3')
BEGIN
SELECT -- ๋ผ๋ฒจ ๋ฐํ์ฉ ํ๋ผ๋ฏธํฐ ๋ฐ์ดํฐ
ROW_NUMBER() OVER (order by publish_serial_no) as ROWNUM,
dbo.fn_GetGS1Barcode('0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','','') AS GSCODEF
,dbo.fn_GetGS1Barcode('0' + A.PUBLISH_GTIN_CODE
,''
,'','','(',')') AS BTMGS
,dbo.fn_GetGS1Barcode('',CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','(',')') AS TOPGS
,A.PUBLISH_GTIN_CODE AS GTIN
-- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
,A.MARKING_ORDER_ID
,A.PUBLISH_TYPE
,B.COMMON_PART_NM AS PUBLISH_TYPE_NM
--,dbo.fn_GetGS1Barcode ( '0' + A.PUBLISH_GTIN_CODE
-- ,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
-- ,A.PUBLISH_LOT_NO,A.PUBLISH_SERIAL_NO,'(',')' ) AS PUBLISH_BARCODE
,A.PUBLISH_GS1_128 AS PUBLISH_BARCODE
,A.PUBLISH_LOT_NO AS LOT
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12) AS 'EXP'
,A.MARKING_YN
,A.ORDER_QTY
,CASE WHEN MARKING_YN = 'N' AND PUBLISH_TYPE = '1' THEN 'Y' ELSE 'N' END AS check_yn -- ๋๊ธฐ์ค์ธ ์ ์๋ฐํ ๋ฐ์ฝ๋๋ง ์ฒดํฌ
FROM MARKING_ORDER A
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.PUBLISH_TYPE = '1'
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ S4 : ๋ผ๋ฒจ์ถ๋ ฅ์ ์ํ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค. (์ผ๋ จ๋ฒํธ ํฌํจ)
--------------------------------------------------------------------
ELSE IF(@gubun = 'S4')
BEGIN
SELECT @Len = parameter_value FROM cm_parameter WHERE parameter_code ='LotNo_Maxlen'
SELECT -- ๋ผ๋ฒจ ๋ฐํ์ฉ ํ๋ผ๋ฏธํฐ ๋ฐ์ดํฐ
ROW_NUMBER() OVER (order by publish_serial_no) as ROWNUM
,[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','','') AS GSCODEF
,[dbo].[fn_GetGS1Barcode]('0' + A.PUBLISH_GTIN_CODE
,''
,'','','(',')') AS BTMGS
,[dbo].[fn_GetGS1Barcode]('',CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12)
,A.PUBLISH_LOT_NO,'','(',')') AS TOPGS
,A.PUBLISH_LOT_NO AS LOT
,CONVERT(NVARCHAR(8),CONVERT(DATETIME,A.PUBLISH_VALID_DATE),12) AS 'EXP'
,A.PUBLISH_SERIAL_NO AS SEQ
,A.PUBLISH_GTIN_CODE AS GTIN
-- ํ๋ฉด ํ์์ฉ ๋ฐ์ดํฐ
,A.MARKING_ORDER_ID
,A.PUBLISH_TYPE
,B.COMMON_PART_NM AS PUBLISH_TYPE_NM
,A.PUBLISH_GS1_128 AS PUBLISH_BARCODE
,CASE WHEN Isnull(@Len,0) > 0 THEN REPLACE(A.PUBLISH_LOT_NO+SPACE(@Len - len(A.PUBLISH_LOT_NO)),' ','0') ELSE A.PUBLISH_LOT_NO END AS LOT1
,A.MARKING_YN
,A.ORDER_QTY
,CASE WHEN MARKING_YN = 'N' AND PUBLISH_TYPE = '1' THEN 'Y' ELSE 'N' END AS check_yn -- ๋๊ธฐ์ค์ธ ์ ์๋ฐํ ๋ฐ์ฝ๋๋ง ์ฒดํฌ
FROM MARKING_ORDER A
LEFT OUTER JOIN COMMON b ON a.PUBLISH_TYPE = b.COMMON_PART_CD AND b.COMMON_CD = 'RT040'
WHERE A.PACKING_ORDER_NO = @PACKING_ORDER_NO
AND A.PUBLISH_TYPE = '1'
ORDER BY A.PUBLISH_SERIAL_NO ASC
SELECT @intErrorCode = @@ERROR
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ I : ๋ฐ์ฝ๋๋ฅผ ์์ฑํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'I')
BEGIN
BEGIN TRY
EXEC SP_Generate_GS1BarCode
'I' --๊ตฌ๋ถ์
,@PACKING_ORDER_NO -- ํฌ์ฅ์ง์๋ฒํธ
,@PUBLISH_QTY -- ํฌ์ฅ์ง์์๋
,@PUBLISH_TYPE -- 1:์ ์2:์ฌ๋ฐํ
,@INSERT_USER_CD -- ๋ก๊ทธ์ธ์ ์ ์์ด๋
END TRY
BEGIN CATCH
SELECT @intErrorCode = @@ERROR;
-- SELECT @message = ERROR_MESSAGE()
END CATCH
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค. ๋๊ธฐ -> ๋ฐํ, ํฌ์ฅ์ค -> ํฌ์ฅ์๋ฃ
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U')
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = @MARKING_YN
,MARKING_TIME = GETDATE()
,REMAIN_QTY = CASE WHEN @MARKING_YN = 'Y' THEN 1 ELSE 0 END
WHERE 1 = 1
AND MARKING_ORDER_ID = @MARKING_ORDER_ID
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from MARKING_ORDER where MARKING_ORDER_ID = @MARKING_ORDER_ID
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'MARKING_ORDER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
----ํฌ์ฅ์ง์ํํฉ ์
๋ฐ์ดํธ 'ํฌ์ฅ์๋ฃ'
--UPDATE PACKING_ORDER SET
-- PACKING_ORDER_STATUS = '4'
--WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR;
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U1 : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U1')
BEGIN
DECLARE @maxserial_no int
SET @maxserial_no = 0
SELECT @maxserial_no = MAX(serial_no) FROM MARKING_ORDER WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO AND MARKING_YN = 'Y'
IF(@maxserial_no > 0)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'Y'
,MARKING_TIME = GETDATE()
,REMAIN_QTY = CASE WHEN @MARKING_YN = 'Y' THEN 1 ELSE 0 END
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND PUBLISH_TYPE <> '2'
AND MARKING_YN <> 'Y'
AND serial_no <= @maxserial_no
SELECT @intErrorCode = @@ERROR;
END
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U2 : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค. ํฌ์์ง์ -> ํฌ์ฅ์ค
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U2')
BEGIN
--ํฌ์ฅ์ง์ํํฉ ์
๋ฐ์ดํธ 'ํฌ์ฅ์ค'
UPDATE PACKING_ORDER SET
PACKING_ORDER_STATUS = '2'
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from PACKING_ORDER where PACKING_ORDER_NO = @PACKING_ORDER_NO
exec SP_AudiTrail_INSERT_COMMON @tableName = 'PACKING_ORDER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR;
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ U3 : ๋ฐ์ฝ๋ ๋ฐํ์ ๋ณด๋ฅผ ๊ฐฑ์ ํ๋ค(๋ง์ง๋ง ๋ฒํธ ์
๋ ฅํ ์คํ).
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'U3')
BEGIN
IF(@Last_Num > -1 AND @Last_Num < 999999)
BEGIN
UPDATE MARKING_ORDER SET
MARKING_YN = 'Y'
,MARKING_TIME = GETDATE()
,REMAIN_QTY = CASE WHEN @MARKING_YN = 'Y' THEN 1 ELSE 0 END
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
--AND PUBLISH_TYPE <> '2'
AND MARKING_YN <> 'Y'
AND serial_no <= @Last_Num
SELECT @intErrorCode = @@ERROR;
UPDATE MARKING_ORDER SET
MARKING_YN = 'N'
,MARKING_TIME = GETDATE()
,REMAIN_QTY = CASE WHEN @MARKING_YN = 'Y' THEN 1 ELSE 0 END
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
--AND PUBLISH_TYPE <> '2'
AND MARKING_YN = 'Y'
AND serial_no > @Last_Num
SELECT @intErrorCode = @@ERROR;
END
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ D : ๋ฐ์ฝ๋๋ฅผ ์ญ์ ํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'D')
BEGIN
SET @intErrorCode = 0
DELETE
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR;
IF(@intErrorCode = 0)
BEGIN
UPDATE PACKING_ORDER SET PACKING_ORDER_STATUS = '1'
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR;
END
END
--------------------------------------------------------------------
-- ๊ตฌ๋ถ์ D1 : ์ญ์ ์ ์ ์ผ๋ จ๋ฒํธ ๋ฐํ์ฌ๋ถ ์ฒดํฌํ๋ค.
--------------------------------------------------------------------
ELSE IF(@GUBUN = 'D1')
BEGIN
--SELECT Isnull(MAX(MARKING_YN),'N') as SERIAL_YN
SELECT CASE WHEN Isnull(count(MARKING_ORDER_ID),0) > 0 THEN 'Y' ELSE 'N' END as SERIAL_YN
FROM MARKING_ORDER
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
AND ISNULL(MARKING_YN,'N') = 'Y'
--AND ISNULL(SERIAL_YN,'N') = 'Y'
SELECT @intErrorCode = @@ERROR;
END
ELSE IF(@GUBUN = 'state_update')
BEGIN
UPDATE PACKING_ORDER
SET PACKING_ORDER_STATUS = 2
WHERE PACKING_ORDER_NO = @PACKING_ORDER_NO
SELECT @intErrorCode = @@ERROR;
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.[dbo].sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemReMapping
๋ชฉ์ โ ํ๋ชฉ ์ฌ๋งคํ(์๋ชป๋ ๋งคํ ์ ์ ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@barcode | nvarchar(200) | IN |
@box_barcode | nvarchar(200) | IN |
@BOX_BARCODE_NO | nvarchar(30) | IN |
@packing_order_work_date_start_s | nvarchar(20) | IN |
@packing_order_work_date_end_s | nvarchar(20) | IN |
@barcode_max | nvarchar(100) | IN |
@box_Type | nvarchar(20) | IN |
@box_qt | int(4) | IN |
@item_cd_s | nvarchar(100) | IN |
@lot_no_s | nvarchar(100) | IN |
@LOT_NO | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@receipt_status | nvarchar(10) | IN |
@end_date | nvarchar(20) | IN |
@item_barcode | nvarchar(100) | IN |
@serial_no | nvarchar(60) | IN |
@item_pack_barcode | nvarchar(100) | IN |
@item_stock_id | int(4) | IN |
@mapping_yn | nvarchar(10) | IN |
@item_pack_type | nvarchar(100) | IN |
@MACADDR | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@extension_cd | char(1) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ItemReMapping]
@gubun NVARCHAR(50) = '',
@barcode NVARCHAR(100) = '',
@box_barcode NVARCHAR(100) = '',
@BOX_BARCODE_NO NVARCHAR(15) = '',
@packing_order_work_date_start_s NVARCHAR(10) = '',
@packing_order_work_date_end_s NVARCHAR(10) = '',
@barcode_max NVARCHAR(50) = '',
@box_Type NVARCHAR(10) = '',
@box_qt int = 0,
@item_cd_s NVARCHAR(50) = '',
@lot_no_s NVARCHAR(50) = '',
@LOT_NO NVARCHAR(50) = '',
@item_cd NVARCHAR(50) = '',
@receipt_status NVARCHAR(5) = '',
@end_date nvarchar(10)='',
@item_barcode NVARCHAR(50) = '',
@serial_no nvarchar(30) = '',
@item_pack_barcode NVARCHAR(50) = '',
@item_stock_id int = 0,
@mapping_yn NVARCHAR(5) = '',
@item_pack_type NVARCHAR(50) = '',
@MACADDR nvarchar(50) ='',
@insert_user_cd nvarchar(50) ='',
@log_user_id nvarchar(50) ='',
@sys_emp_cd nvarchar(50) = '',
@extension_cd char(1) = '',
@identity nvarchar(50) = '' output,
@message NVARCHAR(1000) OUTPUT
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- [๋ถ๊ธฐ] @gubun = 'Update' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Update') BEGIN --์๋ก์ด ๋ฐ์ค๋ก ์ด๋, ์์๋ฐ์ค์์ ์๋ ๋นผ์ค
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- [๋ถ๊ธฐ] @box_Type = 'SMALL' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'SMALL') BEGIN --๊ฐ๋ณ๋ฐ์ฝ๋
SELECT @ITEM_CD = ITEM_CD, @LOT_NO = LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @BARCODE)
if exists (select * from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode) begin --๊ธฐ์กด๋ฐ์ค๋ก ์ด๋
if((select stock_qty from gd_packing_result_item where gs1_box_barcode_no = @barcode) <> 0) begin --์
๊ณ ์ํ
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty - 1, stock_qty = stock_qty - 1 where gs1_box_barcode_no = (select MAPPING_GS1_BARCODE from gd_packing_result_item where gs1_box_barcode_no=@barcode)
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_item where gs1_box_barcode_no=@barcode))
--END
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty + 1, STOCK_QTY = STOCK_QTY +1 where gs1_box_barcode_no = @box_barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty + 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
else begin --์
๊ณ ๋์ง ์์ ์ํ
if (@mapping_yn <> 'Y') begin
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_item where gs1_box_barcode_no = @barcode)
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_Result_item where gs1_box_barcode_no= @barcode))
--END
end
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty + 1 where gs1_box_barcode_no = @box_barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty + 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_item set MAPPING_GS1_BARCODE = @box_barcode, box_barcode_no = LEFT(RIGHT(rtrim(@box_barcode), 10),9), MAPPING_BOX_TYPE = '1' where gs1_box_barcode_no = @barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
else begin --์ ๊ท๋ฐ์ค๋ก ์ด๋
if((select stock_qty from gd_packing_result_item where gs1_box_barcode_no = @barcode) <> 0) begin --์
๊ณ ์ํ
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty - 1, stock_qty = stock_qty - 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_item where gs1_box_barcode_no = @barcode)
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_Result_item where gs1_box_barcode_no= @barcode))
--END
--IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK
(
BOX_BARCODE_NO --๋ฐ์ค์ฝ๋
,ITEM_STOCK_ID
,GS1_BOX_BARCODE_NO
,BOX_TYPE
,PROD_QTY
,STOCK_QTY
,CHECK_YN
,INSERT_USER_CD
,INSERT_TIME
)
values(
LEFT(RIGHT(rtrim(@box_barcode), 10),9)
,(select item_stock_id from gd_packing_result_item where gs1_box_barcode_no = @barcode)
,@box_barcode
,'1'
,1
,1
,'Y'
,@insert_user_cd
,getdate())
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
else begin --์
๊ณ ๋์ง ์์ ์ํ
--IF(@intErrorCode = 0) BEGIN
if (@mapping_yn <> 'Y') begin
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select MAPPING_GS1_BARCODE from gd_packing_Result_item where GS1_BOX_BARCODE_NO = @barcode)
update gd_packing_result_pack set prod_qty = prod_qty - 1 where gs1_box_barcode_no = (select MAPPING_GS1_BARCODE from gd_packing_result_pack where GS1_BOX_BARCODE_NO = (select mapping_gs1_barcode from gd_packing_Result_item where GS1_BOX_BARCODE_NO = @barcode))
--END
END
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK
(
BOX_BARCODE_NO --๋ฐ์ค์ฝ๋
,ITEM_STOCK_ID
,GS1_BOX_BARCODE_NO
,BOX_TYPE
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
)
values(
LEFT(RIGHT(rtrim(@box_barcode), 10),9)
,(select item_stock_id from gd_packing_result_item where gs1_box_barcode_no = @barcode)
,@box_barcode
,'1'
,1
,0
,@insert_user_cd
,getdate())
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_item set MAPPING_GS1_BARCODE = @box_barcode, box_barcode_no = LEFT(RIGHT(rtrim(@box_barcode), 10),9), MAPPING_BOX_TYPE = '1' where gs1_box_barcode_no = @barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
END
-- [๋ถ๊ธฐ] @box_Type = 'MEDIUM' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'MEDIUM') BEGIN --์ค๋ฐ์ค
SELECT @ITEM_CD = ITEM_CD, @LOT_NO = LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @BARCODE)
set @box_qt = (select convert(int,prod_qty) from gd_packing_result_pack where gs1_box_barcode_no = @barcode)
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty - @box_qt where gs1_box_barcode_no = (select mapping_gs1_barcode from gd_packing_result_pack where gs1_box_barcode_no=@barcode)
--END
if exists (select 1 from gd_packing_result_pack where GS1_BOX_BARCODE_NO = @box_barcode) begin --๊ธฐ์กด๋ฐ์ค๋ก ์ด๋
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set MAPPING_GS1_BARCODE = @box_barcode, MAPPING_BOX_TYPE='2' where gs1_box_barcode_no = @barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--set @box_qt = (select prod_qty from gd_packing_result_pack where gs1_box_barcode_no = @barcode)
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set prod_qty = prod_qty + @box_qt where gs1_box_barcode_no = @box_barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @box_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
else begin --์ ๊ท๋ฐ์ค๋ก ์ด๋
--IF(@intErrorCode = 0) BEGIN
update gd_packing_result_pack set MAPPING_GS1_BARCODE = @box_barcode, MAPPING_BOX_TYPE='2' where gs1_box_barcode_no = @barcode
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK
(
BOX_BARCODE_NO --๋ฐ์ค์ฝ๋
,ITEM_STOCK_ID
,GS1_BOX_BARCODE_NO
,BOX_TYPE
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
)
values(
LEFT(RIGHT(rtrim(@box_barcode), 10),9)
,(select item_stock_id from GD_PACKING_RESULT_PACK where gs1_box_barcode_no = @barcode)
,@box_barcode
,'2'
,@box_qt
,0
,@insert_user_cd
,getdate())
--END
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
end
END
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
--ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'GETBARCODE') --์ ๊ท๋ฐ์ฝ๋ ์์ฑ
BEGIN
DECLARE @REPR_CODE_CK CHAR(1) = ''
SELECT @REPR_CODE_CK = isnull(REPR_CODE_CK,'Y') FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @item_pack_barcode
IF (@box_type = '1' AND @REPR_CODE_CK = 'N') BEGIN
SET @extension_cd = '0'
END
ELSE BEGIN
SET @extension_cd = @box_type
END
--SET @box_barcode=DBO.FN_GETBOXBARCODENO(@box_Type,@MACADDR)
SET @box_barcode=DBO.fn_GetSSCC(@extension_cd, @MACADDR)
IF LEFT(RIGHT(rtrim(@box_barcode), 10),9) > 0
BEGIN
--DELETE MAX_BOX_BARCODE_NO WHERE EXTENSION_CD = @extension_cd
UPDATE MAX_BOX_BARCODE_NO SET BOX_BARCODE_NO = LEFT(RIGHT(rtrim(@box_barcode), 10),9) WHERE EXTENSION_CD = @extension_cd
END
SET @IDENTITY = rtrim(@box_barcode)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'S') --์ ๊ท๋ฐ์ค ๋ผ๋ฒจ๋ฐํํ๊ธฐ์ํ ์ ๋ณด ๊ฐ์ ธ์ค๊ธฐ
BEGIN
-- [๋ถ๊ธฐ] @box_Type = 'SMALL' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'SMALL') BEGIN
SELECT C.ITEM_NM, C.ITEM_CD, B.LOT_NO, B.END_DATE, C.ITEM_PACKUNIT2, C.SECOND_PACK_QT
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN GD_ITEM_STOCK B ON(A.ITEM_STOCK_ID = B.ITEM_STOCK_ID)
LEFT JOIN ITEM_STANDARD C ON(B.ITEM_CD = C.ITEM_CD)
WHERE GS1_BOX_BARCODE_NO = @barcode
END
ELSE IF (@box_Type = 'MEDIUM') BEGIN
SELECT C.ITEM_NM, C.ITEM_CD, B.LOT_NO, B.END_DATE, C.ITEM_PACKUNIT2, C.SECOND_PACK_QT
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN GD_ITEM_STOCK B ON(A.ITEM_STOCK_ID = B.ITEM_STOCK_ID)
LEFT JOIN ITEM_STANDARD C ON(B.ITEM_CD = C.ITEM_CD)
WHERE GS1_BOX_BARCODE_NO = @barcode
END
END
ELSE IF(@gubun = 'CHECK')
BEGIN
-- [๋ถ๊ธฐ] @box_Type = 'SMALL' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'SMALL') BEGIN --๊ฐ๋ณ๋ฐ์ฝ๋
if exists (select 1 from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode) begin --๋ฐ์ค์ด๋๋๋ ์ ํ๊ณผ ๊ธฐ์กด๋ฐ์ค์ ์ ํ์ด ๊ฐ์์ง ํ์ธ.
IF ((select item_cd from gd_item_stock where item_stock_id = (Select item_stock_id from gd_packing_result_item where GS1_BOX_BARCODE_NO=@barcode))<>
(select item_cd from gd_item_stock where item_stock_id = (select item_stock_id from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)))
BEGIN
RAISERROR ('์ ํ์ด ๊ฐ์ง์์ต๋๋ค.' , 16, 1);
END
ELSE --๊ฐ๋ค๋ฉด ๋ช๊ฐ์ ์๋์ด ๋ฐ์ค์ ๋ ๋ค์ด๊ฐ์ ์๋์ง ์ฒดํฌ.
BEGIN
SET @IDENTITY = (select second_pack_qt from item_standard where item_cd = (select item_cd from gd_item_stock where item_stock_id = (Select item_stock_id from gd_packing_result_item where GS1_BOX_BARCODE_NO=@barcode)))
- (select prod_qty from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode)
END
end
else begin --์ ๊ท๋ฐ์ค์ ๋ค์ด๊ฐ์ ์๋ ์๋ ์ฒดํฌ.
SET @IDENTITY = (select second_pack_qt from item_standard where item_cd = (select item_cd from gd_item_stock where item_stock_id = (Select item_stock_id from gd_packing_result_item where GS1_BOX_BARCODE_NO=@barcode)))
end
END
ELSE IF (@box_Type = 'MEDIUM') BEGIN --์ค๋ฐ์ค
IF ((select item_cd from gd_item_stock where item_stock_id = (Select item_stock_id from gd_packing_result_pack where GS1_BOX_BARCODE_NO=@barcode))<>
(select item_cd from gd_item_stock where item_stock_id = (select item_stock_id from gd_packing_result_pack where gs1_box_barcode_no = @box_barcode))) --๋ฐ์ค์ด๋๋๋ ์ ํ๊ณผ ๊ธฐ์กด๋ฐ์ค์ ์ ํ์ด ๊ฐ์์ง ํ์ธ.
BEGIN
RAISERROR ('์ ํ์ด ๊ฐ์ง์์ต๋๋ค.' , 16, 1);
END
ELSE
BEGIN --๋ช๊ฐ์ ์๋์ด ๋ฐ์ค์ ๋ ๋ค์ด๊ฐ์ ์๋์ง ์ฒดํฌ.
SET @IDENTITY = (select second_pack_M_qt from item_standard where item_cd = (select item_cd from gd_item_stock where item_stock_id = (Select item_stock_id from gd_packing_result_pack where GS1_BOX_BARCODE_NO=@barcode)))
- (select COUNT(*) from gd_packing_result_pack where MAPPING_GS1_BARCODE = @box_barcode and prod_qty <> 0)
END
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'EXIST') -- ๋งตํ๋ ์ ํ์ธ์ง ํ์ธํ๊ณ ๋งตํ๋์ง ์์ ์ ํ์ด๋ฉด insertํด์ค
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
set @item_cd = (SELECT ITEM_CD FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @item_barcode)
IF NOT EXISTS (select 1 from gd_packing_result_item where gs1_box_barcode_no = @barcode) BEGIN
--IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
REFER_TYPE -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,ITEM_STOCK_ID
,PACKING_ORDER_NO
,PROD_QTY
,STOCK_QTY
,GS1_BOX_BARCODE_NO
,LOT_NO
,VALID_DATE
,SERIAL_NO
,INSERT_USER_CD
,INSERT_TIME
)
values ( '0' -- 0:์ผ๋ฐ์
๊ณ , 9:๊ธฐํ์
๊ณ
,(SELECT ITEM_STOCK_ID FROM GD_ITEM_STOCK WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO)
,(SELECT PACKING_ORDER_NO FROM GD_ITEM_STOCK WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO)
,1
,0
,@barcode
,@lot_no
,@end_date
,@serial_no
,@insert_user_cd
,GETDATE()
)
--END
--IF(@intErrorCode = 0) BEGIN
UPDATE GD_ITEM_STOCK
SET RECEIPT_QTY = RECEIPT_QTY + 1
WHERE ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO
--END
END
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
RAISERROR('ํธ๋์ญ์
์คํจ',16,1)
END CATCH
--SELECT @intErrorCode = @@ERROR
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
--ELSE ROLLBACK TRANSACTION
END
ELSE IF(@gubun = 'CHECK_RECEIPT')
BEGIN --์ ํ์
๊ณ ์ํ๊ฐ ๋์ผํ์ง ์ฒดํฌ.
declare @SS_STATUS nvarchar(5) = ''
declare @SM_STATUS nvarchar(5) = ''
declare @MM_STATUS nvarchar(5) = ''
declare @ML_STATUS nvarchar(5) = ''
set @SS_STATUS = ISNULL((SELECT CHECK_YN FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @barcode),'N') --(select RECEIPT_STATUS from GD_ITEM_STOCK where ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @barcode))
set @SM_STATUS = ISNULL((SELECT DISTINCT CHECK_YN FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @box_barcode),'N') --ISNULL((SELECT DISTINCT CHECK_YN FROM GD_PACKING_RESULT_ITEM WHERE MAPPING_GS1_BARCODE = @box_barcode),'N') --(SELECT RECEIPT_STATUS FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT Max(ITEM_STOCK_ID) FROM GD_PACKING_RESULT_ITEM WHERE MAPPING_GS1_BARCODE = @box_barcode))
set @MM_STATUS = ISNULL((select CHECK_YN FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @BARCODE),'N') --(select RECEIPT_STATUS from GD_ITEM_STOCK where ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @BARCODE))
set @ML_STATUS = ISNULL((SELECT DISTINCT CHECK_YN FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @box_barcode), 'N') --(SELECT RECEIPT_STATUS FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @box_barcode))
-- [๋ถ๊ธฐ] @box_Type = 'SMALL' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'SMALL') --๊ฐ๋ณ ๋ฐ์ฝ๋
BEGIN
IF (@SS_STATUS <> @SM_STATUS)
BEGIN
RAISERROR ('์ ํ ์
๊ณ ์ํ๊ฐ ๋์ผํ์ง ์์ต๋๋ค.' , 16, 1);
END
ELSE IF (@SS_STATUS = @SM_STATUS and @SM_STATUS = 'N')
BEGIN
IF((SELECT LOT_NO FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO = @barcode) <> (SELECT Max(LOT_NO) FROM GD_PACKING_RESULT_ITEM WHERE MAPPING_GS1_BARCODE = @box_barcode))
BEGIN
RAISERROR ('์ ์กฐ๋ฒํธ๊ฐ ๊ฐ์ ์ ํ์ด ์๋๋๋ค.' , 16, 1);
END
END
END
ELSE IF (@box_Type = 'MEDIUM') --์ค๋ฐ์ค
BEGIN
IF (@MM_STATUS <> @ML_STATUS)
BEGIN
RAISERROR ('์ ํ ์
๊ณ ์ํ๊ฐ ๋์ผํ์ง ์์ต๋๋ค.' , 16, 1);
END
ELSE IF (@MM_STATUS = @ML_STATUS AND @ML_STATUS = 'N')
BEGIN
IF((SELECT LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @barcode)) <> (SELECT LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = (SELECT ITEM_STOCK_ID FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO = @box_barcode)))
BEGIN
RAISERROR ('์ ์กฐ๋ฒํธ๊ฐ ๊ฐ์ ์ ํ์ด ์๋๋๋ค.' , 16, 1);
END
END
END
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'CHECK_CD')
BEGIN
select item_cd, lot_no, end_date from gd_item_stock where item_stock_id = (SELECT item_stock_id FROM gd_packing_result_pack WHERE gs1_box_barcode_no = @box_barcode)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'CHK_AGG')
BEGIN
select 1 from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @barcode
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S_GTIN13') BEGIN
SELECT ITEM_PACK_BARCODE, SECOND_PACK_TYPE FROM ITEM_STANDARD WHERE ITEM_CD = @item_cd
END
ELSE IF (@gubun = 'PACK_TYPE') BEGIN
SELECT SECOND_PACK_TYPE FROM ITEM_STANDARD WHERE ITEM_PACK_BARCODE = @item_pack_type
END
ELSE IF (@gubun = 'BOX_CK') BEGIN
-- [๋ถ๊ธฐ] @BOX_TYPE = 'MEDIUM' ์ธ ๊ฒฝ์ฐ
IF(@BOX_TYPE = 'MEDIUM') begin
SELECT cast(a.PROD_QTY as int) as prod_qty,c.SECOND_PACK_QT,c.SECOND_PACK_M_QT
FROM GD_PACKING_RESULT_PACK a
left outer join gd_item_stock b on(a.ITEM_STOCK_ID=b.ITEM_STOCK_ID)
left outer join item_standard c on(b.item_cd=c.item_cd)
WHERE GS1_BOX_BARCODE_NO = @barcode
END
ELSE IF(@box_Type = 'LARGE') BEGIN
SELECT (select count(*) from gd_packing_result_pack where mapping_gs1_barcode=@barcode) as prod_qty,c.SECOND_PACK_QT,c.SECOND_PACK_M_QT
FROM GD_PACKING_RESULT_PACK a
left outer join gd_item_stock b on(a.ITEM_STOCK_ID=b.ITEM_STOCK_ID)
left outer join item_standard c on(b.item_cd=c.item_cd )
WHERE A.GS1_BOX_BARCODE_NO = @barcode
GROUP BY c.SECOND_PACK_QT,c.SECOND_PACK_M_QT
END
END
ELSE IF (@gubun = 'BOX_CNT') BEGIN
SELECT SECOND_PACK_QT,SECOND_PACK_M_QT
FROM item_standard
WHERE ITEM_PACK_BARCODE = @item_pack_barcode
END
ELSE IF (@gubun = 'CHECK_ISSUE') BEGIN --์ถ๊ณ ๋ ์ ํ์ธ์ง ํ์ธ.
-- [๋ถ๊ธฐ] @box_Type = 'SMALL' ์ธ ๊ฒฝ์ฐ
IF (@box_Type = 'SMALL')
BEGIN
if exists (select * from gd_packing_result_item where gs1_box_barcode_no = @barcode and stock_qty = 0 and check_yn = 'Y') begin
set @identity = '1'
end
else if exists (select * from gd_packing_result_item where gs1_box_barcode_no = @barcode and prod_qty = 0 and isnull(check_yn,'N') = 'N') begin
set @identity = '2'
end
else begin
set @identity = '0'
end
END
ELSE IF (@box_Type = 'MEDIUM')
BEGIN
if exists (select * from gd_packing_result_pack where gs1_box_barcode_no = @barcode and stock_qty = 0 and check_yn = 'Y') begin
set @identity = '1'
end
else if exists (select * from gd_packing_result_pack where gs1_box_barcode_no = @barcode and prod_qty = 0 and isnull(check_yn,'N') = 'N') begin
set @identity = '2'
end
else begin
set @identity = '0'
end
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemReceiveList
๋ชฉ์ โ ์ ๊ณ ๋ชฉ๋ก ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@item_cd | nvarchar(100) | IN |
@lot_no | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(13.10.29)
์ ์ ์ :
SP ๋ช
: SP_ItemReceiveList
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์๋ถ๋ด์ญ ์กฐํ
์ฌ ์ฉ ์ฒ : SP_ItemReceiveList.cs
ํ
์ด ๋ธ : gd_item_stock, gd_item_issue, item_standard
๋น ๊ณ : ์
๊ณ , ์ถ๊ณ , ํ๋ชฉ์ ๋ณด ํ
์ด๋ธ
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemReceiveList]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@item_cd nvarchar(50) = '', --ํฌ์ฅ์ ํ์ฝ๋
@lot_no nvarchar(50) = '', --์ ์กฐ๋ฒํธ
@sdate nvarchar(10) = '', --์์์กฐํ๊ธฐ๊ฐ
@edate nvarchar(10) = '', --๋์กฐํ๊ธฐ๊ฐ
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output --์๋ฌ๋ฉ์์ง
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
--select * from gd_item_stock
--select * from gd_item_issue
--gd_item_stock ์
๊ณ ๋ด์ญ
--select * from gd_item_issue_history ์ถ๊ณ ๋ด์ญ
-- ํ๋ชฉ์ฝ๋, ํ๋ชฉ์ด๋ฆ, ์ ์กฐ๋ฒํธ, ๊ธฐ์ด์ฌ๊ณ , ๊ธฐ๊ฐ์
๊ณ , ๊ธฐ๊ฐ์ถ๊ณ , ๊ธฐ๊ฐ์ฌ๊ณ
SELECT A.ITEM_CD, A.ITEM_NM, A.LOT_NO, A.BASIC_RECEIPT_QTY, B.ISSUE_QTY, B.REMAIN_QTY, B.RECEIPT_QTY
FROM
(SELECT a.ITEM_CD
,b.ITEM_NM
,a.LOT_NO
,FLOOR(a.RECEIPT_QTY) AS BASIC_RECEIPT_QTY --๊ธฐ์ด์ฌ๊ณ
FROM gd_item_stock a
LEFT JOIN item_standard b ON a.item_cd = b.item_cd --ํ๋ชฉ์ด๋ฆ
LEFT JOIN gd_item_issue c ON a.item_cd = c.item_cd
--WHERE a.RECEIPT_DATE < @sdate
) A --ํ์ฌ ๊ธฐ๊ฐ ์ด์ ์ ๊ธฐ์ด์ฌ๊ณ ๋
LEFT OUTER JOIN(SELECT a.ITEM_CD
,b.ITEM_NM
,a.LOT_NO
,FLOOR(c.ISSUE_QTY) AS ISSUE_QTY --๊ธฐ๊ฐ์
๊ณ
,(FLOOR(a.RECEIPT_QTY) - FLOOR(c.ISSUE_QTY)) AS REMAIN_QTY --๊ธฐ๊ฐ์ถ๊ณ
,FLOOR(a.RECEIPT_QTY) AS RECEIPT_QTY --๊ธฐ๊ฐ์ฌ๊ณ
FROM gd_item_stock a
LEFT JOIN item_standard b ON a.item_cd = b.item_cd --ํ๋ชฉ์ด๋ฆ
LEFT JOIN gd_item_issue c ON a.item_cd = c.item_cd
WHERE a.RECEIPT_DATE BETWEEN @sdate AND @edate
) B ON A.ITEM_CD = B.ITEM_CD AND A.LOT_NO = B.LOT_NO --์กฐํ ๊ธฐ๊ฐ ๋์์ ์
,์ถ๊ณ ,์ฌ๊ณ ๋)
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemSaleCancel
๋ชฉ์ โ ํ๋งค ์ทจ์.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@gubun2 | nvarchar(100) | IN |
@despatch_order_no | nvarchar(100) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@s_issue_ck | nvarchar(100) | IN |
@gtin13_code | nvarchar(120) | IN |
@box_type | nvarchar(10) | IN |
@item_issue_id | nvarchar(100) | IN |
@gs1_barcode | nvarchar(200) | IN |
@reason_cd | nvarchar(10) | IN |
@cust_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ ์
(14.05.27)
์ ์ ์ :
SP ๋ช
: SP_ItemSaleCancel
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐํ ์ฒ๋ฆฌ
์ฌ ์ฉ ์ฒ : ItemRestock.cs
ํ
์ด ๋ธ : GD_CUST_ISSUE, GD_ITEM_ISSUE, RETURN_GOODS, GD_PACKING_RESULT_PACK, GD_PACKING_RESULT_ITEM
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ItemSaleCancel]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@gubun2 nvarchar(50) = '', --๊ตฌ๋ถ์2
@despatch_order_no nvarchar(50) = '', --์ ํ๋ฒํธ(์กฐํ์ฉ)
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@s_issue_ck nvarchar(50) = '',
@gtin13_code nvarchar(60) = '',
@box_type nvarchar(5) = '',
@item_issue_id nvarchar(50) = '', --์ ํ์ถ๊ณ ์์ธ์ผ๋ จ๋ฒํธ
@gs1_barcode nvarchar(100)= '', --gs1 ๋ฐ์ฝ๋
@reason_cd nvarchar(5) = '',
@cust_cd nvarchar(50) = '', --์ถ๊ณ ๊ฑฐ๋์ฒ ์ฝ๋
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ์ถ๊ณ ์ ํ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.despatch_order_no
,a.issue_date
,a.cust_cd
,b.cust_nm
,a.pass_cust_cd
,b.cust_nm as pass_cust_nm
,a.ISSUE_CK as issue_ck --๊ตฌ๋ถ : ์ง์,๋๊ธฐ,์๋ฃ(GD402)
FROM
gd_cust_issue a
LEFT OUTER JOIN ma_customer b ON (a.cust_cd = b.cust_cd)
WHERE
a.issue_date BETWEEN @sdate AND @edate
AND a.despatch_order_no like @despatch_order_no
AND (a.ISSUE_GB2=8) -- ๋งค์ถ์ทจ์
AND a.ISSUE_CK like @s_issue_ck -- ์ ์ฒด,์ง์,๋๊ธฐ,์๋ฃ
ORDER BY
a.issue_date, a.despatch_order_no
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ ์ ํ ์์ธ๋ด์ญ
ELSE IF (@gubun = 'S2') BEGIN
select a.ITEM_ISSUE_ID
,a.ITEM_CD
,b.ITEM_NM
,DBO.FN_PACK_UNIT_SIZE(A.ITEM_CD) AS ITEM_PACK_SIZE
,A.LOT_NO
,ISNULL(CONVERT(INT,A.ISSUE_QTY),0) AS ISSUE_QTY --์ถ๊ณ ์ง์๋
,ISNULL(CONVERT(INT,C.OUT_QTY),0) AS OUT_QTY --์ค์ ์ถ๊ณ ๋. ์ถ๊ณ ์ ์ 0, ์ถ๊ณ ํ์ ์ถ๊ณ ์ง์๋๊ณผ ๊ฐ์์ง๋ค.
,isnull(ISSUE_STATUS,'1') AS RESULT --1:๋ฐํ๋๊ธฐ,2:๋ฐํ์
๊ณ ,3:๋ฐํํ๊ธฐ(GD502)
,isnull(ISSUE_STATUS,'1') AS RESULT_CK --1:๋ฐํ๋๊ธฐ,2:๋ฐํ์
๊ณ ,3:๋ฐํํ๊ธฐ(GD502)
from GD_ITEM_ISSUE A
LEFT OUTER JOIN ITEM_STANDARD B ON (A.ITEM_CD = B.ITEM_CD)
LEFT OUTER JOIN (SELECT ITEM_ISSUE_ID, ISNULL(SUM(ISSUE_QTY),0) AS OUT_QTY
FROM GD_ITEM_ISSUE_HISTORY
GROUP BY ITEM_ISSUE_ID ) C ON (A.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID)
WHERE A.despatch_order_no = @despatch_order_no
SELECT @intErrorCode = @@ERROR
END
-- ํ๋ชฉ์ฝ๋ ๊ฒ์
ELSE IF(@gubun = 'S3')
BEGIN
IF(@box_type=0) BEGIN
SELECT B.ITEM_CD, A.LOT_NO, A.BARCODE AS PUBLISH_GS1_128, A.ISSUE_QTY AS QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
INNER JOIN GD_CUST_ISSUE C ON B.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO
WHERE A.BARCODE = @gs1_barcode AND C.CUST_CD = @cust_cd
Union ALL SELECT OUT_ITEM_CD, OUT_LOT_NO, GS1_BARCODE AS PUBLISH_GS1_128, Isnull(OUT_QTY,0) AS QTY
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY
WHERE GS1_BARCODE = @gs1_barcode AND OUT_CUST_CD = @cust_cd AND OUT_TYPE <> '5'
END
ELSE IF(@box_type=1) BEGIN
SELECT B.ITEM_CD, A.LOT_NO, A.BARCODE AS PUBLISH_GS1_128, A.ISSUE_QTY AS QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
INNER JOIN GD_CUST_ISSUE C ON B.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO
INNER JOIN GD_PACKING_RESULT_ITEM D ON A.BARCODE = D.GS1_BOX_BARCODE_NO
WHERE D.MAPPING_GS1_BARCODE =@gs1_barcode AND C.CUST_CD = @cust_cd
Union ALL SELECT OUT_ITEM_CD, OUT_LOT_NO, GS1_BARCODE AS PUBLISH_GS1_128, Isnull(OUT_QTY,0) AS QTY
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM D ON A.GS1_BARCODE = D.GS1_BOX_BARCODE_NO
WHERE D.MAPPING_GS1_BARCODE = @gs1_barcode AND A.OUT_CUST_CD = @cust_cd AND OUT_TYPE <> '5'
END
ELSE IF(@box_type=2) BEGIN
SELECT B.ITEM_CD, A.LOT_NO, A.BARCODE AS PUBLISH_GS1_128, A.ISSUE_QTY AS QTY
FROM GD_ITEM_ISSUE_HISTORY A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
INNER JOIN GD_CUST_ISSUE C ON B.DESPATCH_ORDER_NO = C.DESPATCH_ORDER_NO
INNER JOIN GD_PACKING_RESULT_ITEM D ON A.BARCODE = D.GS1_BOX_BARCODE_NO
INNER JOIN GD_PACKING_RESULT_PACK E ON D.MAPPING_GS1_BARCODE = E.GS1_BOX_BARCODE_NO
WHERE E.MAPPING_GS1_BARCODE = @gs1_barcode AND C.CUST_CD = @cust_cd
Union ALL SELECT OUT_ITEM_CD, OUT_LOT_NO, GS1_BARCODE AS PUBLISH_GS1_128, Isnull(OUT_QTY,0) AS QTY
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM D ON A.GS1_BARCODE = D.GS1_BOX_BARCODE_NO
INNER JOIN GD_PACKING_RESULT_PACK E ON D.MAPPING_GS1_BARCODE = E.GS1_BOX_BARCODE_NO
WHERE D.MAPPING_GS1_BARCODE = @gs1_barcode AND A.OUT_CUST_CD = @cust_cd AND OUT_TYPE <> '5'
END
END
-- ์ด๋ฏธ ๋ฐํ์ฒ๋ฆฌ๋๋์ง ํ์ธ
ELSE IF(@gubun = 'CHECK_VALID')
BEGIN
SELECT 1
FROM GD_CUST_ISSUE
WHERE DESPATCH_ORDER_NO=@despatch_order_no and ISSUE_CK = 2
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ณํ๋ชฉ ์กฐํ
ELSE IF (@gubun = 'S4') BEGIN
-- [๋ถ๊ธฐ] @box_type = '0' ์ธ ๊ฒฝ์ฐ
IF (@box_type = '0') BEGIN
SELECT A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, '1' AS QTY
FROM GD_PACKING_RESULT_ITEM A
WHERE A.GS1_BOX_BARCODE_NO = @gs1_barcode
AND A.STOCK_QTY = 0
AND ( EXISTS(SELECT 1 from GD_ITEM_ISSUE_HISTORY where BARCODE =@gs1_barcode) OR
EXISTS(SELECT 1 from GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE=@gs1_barcode)
)
END
ELSE IF (@box_type = '1') BEGIN
SELECT A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, '1' AS QTY
FROM GD_PACKING_RESULT_ITEM A
WHERE A.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY = 0
AND ( EXISTS(SELECT 1 from GD_ITEM_ISSUE_HISTORY where BARCODE =@gs1_barcode) OR
EXISTS(SELECT 1 from GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE=@gs1_barcode)
)
END
ELSE IF (@box_type = '2') BEGIN
SELECT A.GS1_BOX_BARCODE_NO AS PUBLISH_GS1_128
, '1' AS QTY
FROM GD_PACKING_RESULT_ITEM A
LEFT JOIN GD_PACKING_RESULT_PACK B ON A.MAPPING_GS1_BARCODE = B.GS1_BOX_BARCODE_NO
WHERE B.MAPPING_GS1_BARCODE = @gs1_barcode
AND A.STOCK_QTY = 0
AND ( EXISTS(SELECT 1 from GD_ITEM_ISSUE_HISTORY where BARCODE =@gs1_barcode) OR
EXISTS(SELECT 1 from GD_PACKING_RESULT_PACK_OUT_HISTORY where GS1_BARCODE=@gs1_barcode)
)
END
SELECT @intErrorCode = @@ERROR
END
-- ๋ฐํ์ค์ธ ๋ฐ์ฝ๋ ์ ๋ณด ์ทจ๋
ELSE IF (@gubun = 'S_Load') BEGIN
SELECT BARCODE AS PUBLISH_GS1_128, '1' AS QTY
FROM RETURN_GOODS
WHERE ITEM_ISSUE_ID = @item_issue_id
SELECT @intErrorCode = @@ERROR
END
-- ์ถ๊ณ /๋ฐํ๋ฌผํ ์ด๊ธฐํ
ELSE IF(@gubun = 'ITEM_CLEAR')
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id from RETURN_GOODS where ITEM_ISSUE_ID=@item_issue_id
-- [์ญ์ ] RETURN_GOODS
DELETE RETURN_GOODS
WHERE ITEM_ISSUE_ID=@item_issue_id
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ๋ฐํ์ ํ ๋ฐ์ฝ๋ ์ ์ฅ
ELSE IF(@gubun = 'SAVE_ITEM')
BEGIN
-- [์ ์ฌ] RETURN_GOODS
INSERT INTO RETURN_GOODS(
ITEM_ISSUE_ID
,BARCODE
,BOX_BARCODE
,GUBUN
,ISSUE_GB
,STATUS
,QTY
,RECEIPT_DATE
,INSERT_USER_CD
,INSERT_TIME
)
VALUES
(
@item_issue_id
,@gs1_barcode
,(select MAPPING_GS1_BARCODE from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
,'1' --๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ๋๊ธฐ(1)
,(select issue_gb2 from GD_CUST_ISSUE where DESPATCH_ORDER_NO = @despatch_order_no)
,'1' --์ง์,๋๊ธฐ,์๋ฃ ์ค์ ๋๊ธฐ(1)
, 1
,CONVERT(nvarchar(10),getdate(),121)
,@insert_user_cd
,GETDATE()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from RETURN_GOODS where RETURN_GOODS_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'RETURN_GOODS', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
--์ถ๊ณ ๋๊ธฐ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'SAVE_IDLE')
BEGIN
UPDATE GD_CUST_ISSUE
SET ISSUE_CK='1' -- ์ง์(0)์์ ๋๊ธฐ(1)๋ก ๋ณ๊ฒฝ
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE despatch_order_no = @despatch_order_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
--์ถ๊ณ ์๋ฃ๋ก ๋ณ๊ฒฝ
ELSE IF(@gubun = 'SAVE_END')
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE A SET
A.STATUS = (case when @gubun2 = 'true' then '2' else '1' end) -- ์ง์, ๋๊ธฐ, ์๋ฃ ์ค์ ๋๊ธฐ(1) or ์๋ฃ(2)
FROM RETURN_GOODS A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from RETURN_GOODS A INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.DESPATCH_ORDER_NO = @despatch_order_no
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_CUST_ISSUE
SET ISSUE_CK= (case when @gubun2 = 'true' then '2' else '1' end) -- ์ง์, ๋๊ธฐ, ์๋ฃ ์ค์ ๋๊ธฐ(1) or ์๋ฃ(2)
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE despatch_order_no = @despatch_order_no
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_CUST_ISSUE where despatch_order_no = @despatch_order_no
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_CUST_ISSUE', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ๋ฐํ๋๊ธฐ
ELSE IF(@gubun = 'RETURN_IDLE')
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_ITEM_ISSUE SET
ISSUE_STATUS = '1' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
UPDATE RETURN_GOODS SET
GUBUN = '1' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,CONFIRM_DATE = GETDATE()
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from RETURN_GOODS A INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = 0
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM A INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = (Select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM sub_a where sub_a.MAPPING_GS1_BARCODE = A.GS1_BOX_BARCODE_NO)
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ๋ฐํ์
๊ณ
ELSE IF(@gubun = 'RETURN_RECEIPT')
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
UPDATE GD_ITEM_ISSUE SET
ISSUE_STATUS = '2' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
UPDATE RETURN_GOODS SET
GUBUN = '2' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,CONFIRM_DATE = GETDATE()
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from RETURN_GOODS A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = 1
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM A
INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = (Select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM sub_a where sub_a.MAPPING_GS1_BARCODE = A.GS1_BOX_BARCODE_NO)
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
-- ๋ฐํํ๊ธฐ
ELSE IF(@gubun = 'RETURN_DISPOSE')
BEGIN
UPDATE GD_ITEM_ISSUE SET
ISSUE_STATUS = '3' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
UPDATE RETURN_GOODS SET
GUBUN = '3' -- ๋ฐํ๋๊ธฐ, ๋ฐํ์
๊ณ , ๋ฐํํ๊ธฐ ์ค์ ๋ฐํ์
๊ณ (2)
,CONFIRM_DATE = GETDATE()
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from RETURN_GOODS A
INNER JOIN GD_ITEM_ISSUE B ON A.ITEM_ISSUE_ID = B.ITEM_ISSUE_ID
WHERE B.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'RETURN_GOODS', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = 0
FROM GD_PACKING_RESULT_ITEM A
INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM A
INNER JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BARCODE
INNER JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE A SET
A.STOCK_QTY = (Select SUM(STOCK_QTY) from GD_PACKING_RESULT_ITEM sub_a where sub_a.MAPPING_GS1_BARCODE = A.GS1_BOX_BARCODE_NO)
FROM GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK A
LEFT JOIN RETURN_GOODS B ON A.GS1_BOX_BARCODE_NO = B.BOX_BARCODE
LEFT JOIN GD_ITEM_ISSUE C ON B.ITEM_ISSUE_ID = C.ITEM_ISSUE_ID
WHERE C.ITEM_ISSUE_ID = @item_issue_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR --์๋ฌ์ฒดํฌ
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemSample
๋ชฉ์ โ ์ํ ์ถ๊ณ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@packing_result_pack_out_history_id | int(4) | IN |
@search_barcode | nvarchar(100) | IN |
@gs1_barcode | nvarchar(400) | IN |
@out_type | nvarchar(10) | IN |
@out_qty | decimal(9) | IN |
@out_date | nvarchar(20) | IN |
@out_remark | nvarchar(510) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@box_gubun | nvarchar(100) | IN |
@s_receipt_status | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@insert_time | datetime(8) | IN |
@update_user_cd | nvarchar(100) | IN |
@update_time | datetime(8) | IN |
@start_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@item_cd | nvarchar(100) | IN |
@item_std_barcode | nvarchar(40) | IN |
@lot_no | nvarchar(40) | IN |
@item_stock_id | nvarchar(40) | IN |
@receipt_date | nvarchar(20) | IN |
@past_out_qty | decimal(9) | IN |
@log_user_id | nvarchar(100) | IN |
@item | nvarchar(100) | IN |
@past_stock_qty | decimal(9) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ItemSample]
@gubun VARCHAR(50) = NULL,
@packing_result_pack_out_history_id INT =0,
@search_barcode NVARCHAR(50) ='',
@gs1_barcode NVARCHAR(200) ='',
@out_type NVARCHAR(5) ='',
@out_qty decimal(15,4) =0,
@out_date NVARCHAR(10) ='',
@out_remark NVARCHAR(255) ='',
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@box_gubun nvarchar(50) = '',
@s_receipt_status nvarchar(50) = '',
@insert_user_cd NVARCHAR(50) ='',
@insert_time DATETIME =null,
@update_user_cd NVARCHAR(50) ='',
@update_time DATETIME =null,
@start_date NVARCHAR(10) ='',
@end_date NVARCHAR(10) ='',
@item_cd NVARCHAR(50) ='',
@item_std_barcode NVARCHAR(20) ='',
@lot_no NVARCHAR(20) ='',
@item_stock_id NVARCHAR(20) ='',
@receipt_date NVARCHAR(10) ='',
@past_out_qty decimal(15,4) =0,
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@item nvarchar(50) = '', --AUDIT TRAIL
@past_stock_qty decimal(15,4) =0,
@sys_emp_cd nvarchar(50) = '',
@identity NVARCHAR(50) = '' OUTPUT,
@message NVARCHAR(2000) OUTPUT
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
SET NOCOUNT ON
-- ์ํ ์กฐํ(์๋จ๊ทธ๋ฆฌ๋)
IF @GUBUN='S'
BEGIN
-- [๋ถ๊ธฐ] @box_gubun = '0' ์ธ ๊ฒฝ์ฐ
IF (@box_gubun = '0')
BEGIN
SELECT A.ITEM_CD
,B.ITEM_NM
,B.ITEM_PACKUNIT2 AS ITEM_PACK_SIZE
,A.LOT_NO
,A.END_DATE AS VALID_DATE
,CONVERT(int,C.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT
,CONVERT(int,A.RECEIPT_QTY) AS RECEIPT_QTY
,A.RECEIPT_STATUS
,A.ITEM_STOCK_ID
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT JOIN PACKING_ORDER C ON A.PACKING_ORDER_NO=C.PACKING_ORDER_NO
LEFT JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y'
GROUP BY PACKING_ORDER_NO) D ON A.PACKING_ORDER_NO=D.PACKING_ORDER_NO
WHERE
1=1
AND A.RECEIPT_STATUS LIKE @s_receipt_status
AND EXISTS (SELECT OUT_ITEM_CD, OUT_LOT_NO
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY
WHERE GS1_BARCODE = @search_barcode
and OUT_ITEM_CD=A.ITEM_CD and OUT_LOT_NO=A.LOT_NO
and OUT_TYPE='5')
END
ELSE IF (@box_gubun = '1' OR @box_gubun = '2')
BEGIN
SELECT A.ITEM_CD
,B.ITEM_NM
,B.ITEM_PACKUNIT2 AS ITEM_PACK_SIZE
,A.LOT_NO
,A.END_DATE AS VALID_DATE
,CONVERT(int,C.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT
,CONVERT(int,A.RECEIPT_QTY) AS RECEIPT_QTY
,A.RECEIPT_STATUS
,A.ITEM_STOCK_ID
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT JOIN PACKING_ORDER C ON A.PACKING_ORDER_NO=C.PACKING_ORDER_NO
LEFT JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y'
GROUP BY PACKING_ORDER_NO) D ON A.PACKING_ORDER_NO=D.PACKING_ORDER_NO
WHERE
1=1
AND A.RECEIPT_STATUS LIKE @s_receipt_status
AND EXISTS (SELECT OUT_ITEM_CD, OUT_LOT_NO
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A1
LEFT JOIN GD_PACKING_RESULT_PACK B1 ON A1.BOX_BARCODE_NO=B1.GS1_BOX_BARCODE_NO
WHERE (A1.BOX_BARCODE_NO=@search_barcode OR B1.MAPPING_GS1_BARCODE=@search_barcode)
and A1.OUT_ITEM_CD=A.ITEM_CD and A1.OUT_LOT_NO=A.LOT_NO
and A1.OUT_TYPE='5' )
END
ELSE
BEGIN
SELECT A.ITEM_CD
,B.ITEM_NM
,B.ITEM_PACKUNIT2 AS ITEM_PACK_SIZE
,A.LOT_NO
,A.END_DATE AS VALID_DATE
,CONVERT(int,C.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT
,CONVERT(int,A.RECEIPT_QTY) AS RECEIPT_QTY
,A.RECEIPT_STATUS
,A.ITEM_STOCK_ID
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT JOIN PACKING_ORDER C ON A.PACKING_ORDER_NO=C.PACKING_ORDER_NO
LEFT JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y'
GROUP BY PACKING_ORDER_NO) D ON A.PACKING_ORDER_NO=D.PACKING_ORDER_NO
WHERE
1=1
AND A.RECEIPT_STATUS LIKE @s_receipt_status
AND EXISTS (SELECT OUT_ITEM_CD, OUT_LOT_NO
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY
WHERE OUT_ITEM_CD=A.ITEM_CD and OUT_LOT_NO=A.LOT_NO
and OUT_DATE between @s_sdate and @s_edate
and OUT_TYPE='5')
END
SELECT @intErrorCode = @@ERROR
END
--[์ํ ์์ธ ์กฐํ]
ELSE IF @GUBUN='S2'
BEGIN
-- [๋ถ๊ธฐ] @box_gubun = '0' ์ธ ๊ฒฝ์ฐ
IF (@box_gubun = '0')
BEGIN
SELECT
'์ํ์ถ๊ณ ' AS LARGE_BOX_NO
,A.BOX_BARCODE_NO
,A.GS1_BARCODE AS PUBLISH_GS1_128
,'' AS PROD_QTY
,'' AS STOCK_QTY
,OUT_QTY AS SAMPLE_QTY
,OUT_DATE AS RECEIPT_DATE
,B.CHECK_YN
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE 1=1
AND GS1_BARCODE = @search_barcode
AND A.OUT_TYPE = '5'
END
ELSE IF (@box_gubun = '1' OR @box_gubun = '2')
BEGIN
SELECT
'์ํ์ถ๊ณ ' AS LARGE_BOX_NO
,A.BOX_BARCODE_NO
,A.GS1_BARCODE AS PUBLISH_GS1_128
,'' AS PROD_QTY
,'' AS STOCK_QTY
,OUT_QTY AS SAMPLE_QTY
,OUT_DATE AS RECEIPT_DATE
,B.CHECK_YN
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.GS1_BARCODE = B.GS1_BOX_BARCODE_NO
LEFT JOIN GD_PACKING_RESULT_PACK C ON A.BOX_BARCODE_NO = C.GS1_BOX_BARCODE_NO
WHERE 1=1
AND (A.BOX_BARCODE_NO = @search_barcode OR C.MAPPING_GS1_BARCODE = @search_barcode)
AND A.OUT_TYPE = '5'
END
ELSE
BEGIN
SELECT
'์ํ์ถ๊ณ ' AS LARGE_BOX_NO
,A.BOX_BARCODE_NO
,A.GS1_BARCODE AS PUBLISH_GS1_128
,'' AS PROD_QTY
,'' AS STOCK_QTY
,OUT_QTY AS SAMPLE_QTY
,OUT_DATE AS RECEIPT_DATE
,B.CHECK_YN
FROM GD_PACKING_RESULT_PACK_OUT_HISTORY A
INNER JOIN GD_PACKING_RESULT_ITEM B ON A.GS1_BARCODE=B.GS1_BOX_BARCODE_NO
WHERE 1=1
AND OUT_DATE BETWEEN @s_sdate AND @s_edate
AND OUT_ITEM_CD = @item_cd
AND OUT_LOT_NO = @lot_no
AND A.OUT_TYPE = '5'
END
SELECT @intErrorCode = @@ERROR
END
--[์
๊ณ ์๋ฃ/์๋ฒ์ ์ก ๋๋์ง ์กฐํ]
ELSE IF @GUBUN='S_CHECK_YN'
BEGIN
SELECT * FROM GD_PACKING_RESULT_ITEM WHERE CHECK_YN='Y' and GS1_BOX_BARCODE_NO = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
--[์ด๋ฏธ ์ํ๋ฑ๋ก๋์๋์ง ์กฐํ]
ELSE IF @GUBUN='S_CHECK_YN2'
BEGIN
SELECT * FROM GD_PACKING_RESULT_PACK_OUT_HISTORY WHERE GS1_BARCODE = @gs1_barcode
SELECT @intErrorCode = @@ERROR
END
--[GD_ITEM_STOCK์ฐพ๊ธฐ]
ELSE IF @GUBUN='S_GD_ITEM_STOCK'
BEGIN
DECLARE @Lot_No1 varchar(20) = NULL
SELECT @Lot_No1 = LOT_NO FROM MARKING_ORDER WHERE PUBLISH_GS1_128 = @gs1_barcode
SELECT A.ITEM_CD
,B.ITEM_NM
,B.ITEM_PACKUNIT2 AS ITEM_PACK_SIZE
,A.LOT_NO
,A.END_DATE AS VALID_DATE
,CONVERT(int,C.PACKING_ORDER_QTY) AS PACKING_ORDER_QTY
,D.PUBLISH_COUNT
,CONVERT(int,A.RECEIPT_QTY) AS RECEIPT_QTY
,A.RECEIPT_STATUS
,A.ITEM_STOCK_ID
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD=B.ITEM_CD
LEFT JOIN PACKING_ORDER C ON A.PACKING_ORDER_NO=C.PACKING_ORDER_NO
LEFT JOIN (SELECT PACKING_ORDER_NO, CONVERT(int,SUM(ORDER_QTY)) AS PUBLISH_COUNT
FROM MARKING_ORDER
WHERE MARKING_YN = 'Y'
GROUP BY PACKING_ORDER_NO) D ON A.PACKING_ORDER_NO=D.PACKING_ORDER_NO
WHERE
1=1
AND B.ITEM_PACK_BARCODE = @item_std_barcode
and (A.LOT_NO = @lot_no OR A.LOT_NO = @Lot_No1)
SELECT @intErrorCode = @@ERROR
END
--[์ํ ์ ์ฅ]
ELSE IF @GUBUN='Insert'
BEGIN
Declare @PACK_NAME NVARCHAR(20) = '' -- 1์ฐจ ๋ฐ์ค์ฝ๋
Declare @PACK_NAME1 NVARCHAR(20) = '' -- 2์ฐจ ๋ฐ์ค์ฝ๋
--@item_stock_id @gs1_barcode @receipt_date @insert_user_cd
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- 1.1 ITEMํ
์ด๋ธ์ ์กด์ฌํ์ง ์์ ๋
IF NOT EXISTS (SELECT GS1_BOX_BARCODE_NO FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
BEGIN
SET @PACK_NAME = (SELECT ITEM_CD+LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID=@item_stock_id)
-- ํ๋ชฉ์ฝ๋+์ ์กฐ๋ฒํธ๋ก ๋ง๋ค์ด์ง PACK์ ๋ณด๊ฐ ์กด์ฌํ์ง ์์ ๋ PACK ์์ฑ
IF NOT EXISTS (SELECT GS1_BOX_BARCODE_NO FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO=@PACK_NAME)
BEGIN
--PACK ์์ฑ
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,GS1_BOX_BARCODE_NO
,BOX_TYPE
,PROD_QTY
,STOCK_QTY
,CHECK_YN
,INSERT_USER_CD
,INSERT_TIME
)
VALUES(
@PACK_NAME
,@item_stock_id
,@PACK_NAME
,'1'
,0
,0
,'N'
,@insert_user_cd
,GETDATE()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @PACK_NAME
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
END
--ITEM์์ฑ
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM (
ITEM_STOCK_ID
,REFER_TYPE
,PACKING_ORDER_NO
,BOX_BARCODE_NO
,GS1_BOX_BARCODE_NO
,MAPPING_GS1_BARCODE
,MAPPING_BOX_TYPE
,PROD_QTY
,STOCK_QTY
,LOT_NO
,VALID_DATE
,SERIAL_NO
,CHECK_YN
,INSERT_USER_CD
,INSERT_TIME
)
VALUES(
@item_stock_id
,''
,(SELECT PACKING_ORDER_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID=@item_stock_id)
,@PACK_NAME
,@gs1_barcode
,@PACK_NAME
,'1'
,0
,0
,(SELECT LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID=@item_stock_id)
,(SELECT END_DATE FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID=@item_stock_id)
,substring(@gs1_barcode,charindex('โจGSโฉ',@gs1_barcode)+3,16)
,'N'
,@insert_user_cd
,GETDATE()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
END
-- 1.2 ITEMํ
์ด๋ธ์ ์กด์ฌํ ๋
ELSE
BEGIN
SELECT @PACK_NAME = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM WHERE GS1_BOX_BARCODE_NO=@gs1_barcode
-- GD_ITEM_STOCK ํ
์ด๋ธ ์์ฐ์๋ ์ ์ฉ
UPDATE GD_ITEM_STOCK SET RECEIPT_QTY = RECEIPT_QTY - 1 WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
-- ๋ฐ์ค ํ
์ด๋ธ 1์ฐจ๋ฐ์ค ์์ฐ์๋ ์ ์ฉ
UPDATE GD_PACKING_RESULT_PACK SET PROD_QTY=PROD_QTY-1 WHERE GS1_BOX_BARCODE_NO=@PACK_NAME
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @PACK_NAME
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
-- ๋ฐ์ค ํ
์ด๋ธ 2์ฐจ๋ฐ์ค ์์ฐ์๋ ์ ์ฉ
SELECT @PACK_NAME1 = MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_PACK WHERE GS1_BOX_BARCODE_NO=@PACK_NAME AND MAPPING_BOX_TYPE = '2'
UPDATE GD_PACKING_RESULT_PACK SET PROD_QTY=PROD_QTY-1 WHERE GS1_BOX_BARCODE_NO=@PACK_NAME1 AND BOX_TYPE = '2'
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO=@PACK_NAME1 AND BOX_TYPE = '2'
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
UPDATE GD_PACKING_RESULT_ITEM SET PROD_QTY=0 WHERE GS1_BOX_BARCODE_NO=@gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
END
INSERT gd_packing_result_pack_out_history
(
box_barcode_no
,gs1_barcode
,out_item_cd
,out_lot_no
,out_type
,out_qty
,out_date
,insert_user_cd
,insert_time
)
VALUES (
@PACK_NAME
,@gs1_barcode
,(SELECT ITEM_CD FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @item_stock_id)
,(SELECT LOT_NO FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @item_stock_id)
,'5'
,1
,@receipt_date
,@insert_user_cd
,GETDATE()
)
select * from GD_PACKING_RESULT_PACK_OUT_HISTORY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack_out_history where PACKING_RESULT_PACK_OUT_HISTORY_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack_out_history', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @insert_user_cd, @audit_Remark = '์ํ๋ฑ๋ก'
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
RAISERROR('ํธ๋์ญ์
์ค๋ฅ๋ฐ์',16,1)
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
ELSE IF @GUBUN='Delete'
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
--GD_ITEM_STOCK
UPDATE gd_item_stock
SET receipt_qty = receipt_qty + 1
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE ITEM_STOCK_ID = (select ITEM_STOCK_ID from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_item_stock where ITEM_STOCK_ID = (select ITEM_STOCK_ID from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '์ํ์ถ๊ณ ์ญ์ '
--GD_PACKING_RESULT_PACK 1์ฐจ
UPDATE gd_packing_result_pack
SET prod_qty = prod_qty + 1
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '์ํ์ถ๊ณ ์ญ์ '
--GD_PACKING_RESULT_PACK 2์ฐจ
UPDATE gd_packing_result_pack
SET prod_qty= prod_qty + 1
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE GS1_BOX_BARCODE_NO = (SELECT mapping_gs1_barcode
FROM gd_packing_result_pack
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
AND MAPPING_BOX_TYPE = '2'
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack where GS1_BOX_BARCODE_NO = (SELECT mapping_gs1_barcode
FROM gd_packing_result_pack
WHERE GS1_BOX_BARCODE_NO = (SELECT MAPPING_GS1_BARCODE FROM GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO=@gs1_barcode)
AND MAPPING_BOX_TYPE = '2')
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '์ํ์ถ๊ณ ์ญ์ '
--GD_PACKING_RESULT_ITEM
UPDATE GD_PACKING_RESULT_ITEM
SET prod_qty = 1
,update_user_cd = @update_user_cd
,update_time = getdate()
WHERE GS1_BOX_BARCODE_NO = @gs1_barcode
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @update_user_cd, @audit_Remark = '์ํ์ถ๊ณ ์ญ์ '
--GD_PACKING_RESULT_PACK_OUT_HISTORY
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from gd_packing_result_pack_out_history where GS1_BARCODE = @gs1_barcode and OUT_TYPE = '5'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gd_packing_result_pack_out_history', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @update_user_cd, @audit_Remark = '์ํ์ถ๊ณ ์ญ์ '
-- [์ญ์ ] gd_packing_result_pack_out_history
DELETE gd_packing_result_pack_out_history
WHERE GS1_BARCODE = @gs1_barcode and OUT_TYPE = '5'
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
RAISERROR('ํธ๋์ญ์
์ค๋ฅ๋ฐ์',16,1)
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
IF (@intErrorCode = 0)
BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ItemSutak
๋ชฉ์ โ ์ํ ์ฒ๋ฆฌ(์ ์ถ๊ณ ๊ณตํต).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(40) | IN |
@item_cd | nvarchar(40) | IN |
@lot_no | nvarchar(40) | IN |
@plant_cd | nvarchar(40) | IN |
@cust_cd | nvarchar(40) | IN |
@message | nvarchar(1000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
-- =============================================
-- Author:
-- Create date: 2016.7.27
-- Description: ์ํ์ ํ ์กฐํ&๋ฉ์ผ์ ์ก
-- =============================================
CREATE PROCEDURE [dbo].[SP_ItemSutak]
-- Add the parameters for the stored procedure here
@GUBUN NVARCHAR(20) = '',
@item_cd NVARCHAR(20) = '',
@lot_no NVARCHAR(20) = '',
@plant_cd nvarchar(20) = '',
@cust_cd nvarchar(20) = '',
@message NVARCHAR(500) output
AS
SET NOCOUNT ON;
-- [๋ถ๊ธฐ] @GUBUN = 'S' ์ธ ๊ฒฝ์ฐ
IF(@GUBUN='S')
BEGIN
SELECT C.GS1_BOX_BARCODE_NO AS BARCODE
,D.GS1_BOX_BARCODE_NO AS MEDIUM_BARCODE
,D.MAPPING_GS1_BARCODE AS LARGE_BARCODE
,B.ITEM_NM
,B.ITEM_PACKUNIT2 AS PACKUNIT
,A.LOT_NO
,CASE WHEN C.CHECK_YN='N' THEN '์
๊ณ ๋๊ธฐ' WHEN C.STOCK_QTY = 1 THEN '' WHEN C.STOCK_QTY = 0 THEN '์ถ๊ณ ์๋ฃ' END AS REMARK
FROM GD_ITEM_STOCK A
INNER JOIN ITEM_STANDARD B ON A.ITEM_CD = B.ITEM_CD
INNER JOIN GD_PACKING_RESULT_ITEM C ON A.ITEM_STOCK_ID = C.ITEM_STOCK_ID
INNER JOIN GD_PACKING_RESULT_PACK D ON C.MAPPING_GS1_BARCODE = D.GS1_BOX_BARCODE_NO
LEFT JOIN GD_PACKING_RESULT_PACK_OUT_HISTORY E ON C.GS1_BOX_BARCODE_NO = E.GS1_BARCODE
WHERE A.ITEM_CD = @item_cd and A.LOT_NO like '%'+ @lot_no +'%' and E.GS1_BARCODE is null
SET @message = 'Success_S'
--RETURN 1
END
-- ๋ฐ์ ์ ์ด๋ฉ์ผ ์กฐํ
ELSE IF (@GUBUN = 'PLANT_EMAIL') BEGIN
SELECT PLANT_EMAIL_AD, PLANT_EMAIL_PASS
FROM MA_PLANT
WHERE PLANT_CD = @plant_cd
SET @message = 'Success_PLANT_EMAIL'
--RETURN 2
END
ELSE IF (@gubun = 'CUST_EMAIL') BEGIN
SELECT CUST_EMAIL_AD
FROM MA_CUSTOMER
WHERE CUST_CD = @cust_cd
SET @message = 'Success_CUST_EMAIL'
--RETURN 3
END
SP_ProductResultReport
๋ชฉ์ โ ์์ฐ ์ค์ ๋ณด๊ณ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@start_date | nvarchar(20) | IN |
@end_date | nvarchar(20) | IN |
@item | nvarchar(100) | IN |
@User_plant_nm | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ProductResultReport]
@gubun VARCHAR(50) = NULL,
@start_date nvarchar(10) ='',
@end_date nvarchar(10) ='',
@item nvarchar(50) ='',
@User_plant_nm nvarchar(50) ='',
@message NVARCHAR(2000) output
AS
BEGIN
SET NOCOUNT ON;
SELECT
@User_plant_nm as flant_name --์ ์กฐ์
์ฒด๋ช
,A.ABBREVIATION_CD as item_cd --ํ๋ชฉ๊ธฐ์ค์ฝ๋
,D.PACKING_DATE as prod_date --์์ฐ์
,(SELECT common_part_nm
FROM COMMON
WHERE common_cd = 'GG001'
AND A.APPROVE_YN = common_part_cd
) as approve_yn --ํ๊ฐ/์ ๊ณ
,(SELECT common_part_nm
FROM COMMON
WHERE common_cd = 'GG002'
AND A.ITEM_S_NM = common_part_cd
) as generation_type --์ ๋ฌธ/์ผ๋ฐ
,C.item_class --๋ถ๋ฅ๋ฒํธ
,(SELECT common_part_nm
FROM COMMON
WHERE common_cd = 'CM028'
AND A.item_type2 = common_part_cd
) as medicine_gubun --์ ์ ๊ตฌ๋ถ
,A.item_pack_barcode --ํ์ค์ฝ๋
,A.item_nm --์ ํ๋ช
(๊ตญ๋ฌธ)
,convert(DECIMAL,A.ITEM_PACK_SIZE) as ITEM_PACK_SIZE --์๋
,A.item_spec --๊ท๊ฒฉ
,A.ITEM_PACK_MINI as item_pack_mini --์๋ํฌ์ฅ
,A.item_type1 --ํฌ์ฅํํ
,convert(DECIMAL, PACKING_QTY) as PROD_QTY --์์ฐ๋
,convert(DECIMAL, A.item_basic_price) --์์ฐ๋จ๊ฐ
,convert(DECIMAL,(PACKING_QTY*A.ITEM_BASIC_PRICE/1000)) as prod_price --์์ฐ๊ธ์ก
,(SELECT common_part_nm
FROM COMMON
WHERE common_cd = 'CM046'
AND A.IN_OUT_CK = common_part_cd
) as use_temp --์ ํ ์ฉ๋
,'' as temp --๋น๊ณ
FROM item_standard A
LEFT OUTER JOIN item_standard B ON (A.item_make_cd = B.item_cd)
LEFT OUTER JOIN ITEM_LICENSE C ON (A.ITEM_MAKE_CD = c.ITEM_CD),
(SELECT AA.SALE_ITEM_CD, LEFT(BB.PACKING_DATE, 7) as PACKING_DATE, sum(isnull(BB.PACKING_QTY,0)) as PACKING_QTY
FROM PACKING_ORDER AA, PACKING_RESULT BB
WHERE AA.PACKING_ORDER_NO = BB.PACK_ORDER_NO
AND BB.PACKING_DATE between @start_date AND @end_date
GROUP BY AA.SALE_ITEM_CD, LEFT(BB.PACKING_DATE, 7)
) D
WHERE A.ITEM_CD = D.SALE_ITEM_CD
ORDER BY A.ITEM_CD ASC;
ENDSP_ProductTransfer2D
๋ชฉ์ โ 2D ๊ธฐ๋ฐ ์ ํ ์ด๋(์ฐฝ๊ณ ๊ฐ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@packing_order_work_date_start_s | nvarchar(20) | IN |
@packing_order_work_date_end_s | nvarchar(20) | IN |
@item_cd_s | nvarchar(100) | IN |
@lot_no_s | nvarchar(100) | IN |
@stock_date | nvarchar(20) | IN |
@receipt_status | nvarchar(10) | IN |
@item_stock_id | int(4) | IN |
@ITEM_CD | nvarchar(100) | IN |
@LOT_NO | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ProductTransfer2D]
@gubun NVARCHAR(50) = '',
@packing_order_work_date_start_s NVARCHAR(10) = '',
@packing_order_work_date_end_s NVARCHAR(10) = '',
@item_cd_s NVARCHAR(50) = '',
@lot_no_s NVARCHAR(50) = '',
@stock_date NVARCHAR(10) = '',
@receipt_status NVARCHAR(5) = '',
@item_stock_id int = 0,
@ITEM_CD NVARCHAR(50) = '',
@LOT_NO NVARCHAR(50) = '',
@log_user_id nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(1000) OUTPUT
AS
DECLARE @intErrorCode INT
SET @intErrorCode = 0
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #AUDIT_TEMP (audittrail_id varchar(10))
-- ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
/*SELECT a.packing_order_no ,a.packing_order_type --,e.common_part_nm AS packing_order_type_nm
,a.sale_item_cd as item_cd ,d.item_nm AS item_nm --,d.item_packunit2
,isnull(dbo.fn_Pack_unit_size(a.sale_item_cd),'') item_pack_size
,a.packing_order_qty ,a.order_no
,a.conversion_qty ,a.packing_order_remark
,b.packing_date ,convert(int,b.packing_qty) as packing_qty ,b.sample_qty
,b.remain_qty ,b.disuse_qty
,c.lot_no ,c.end_date
,c.receipt_status ,c.ITEM_STOCK_ID as item_stock_id
FROM packing_order a
INNER JOIN packing_result b ON (a.packing_order_no = b.pack_order_no)
INNER JOIN gd_item_stock c ON (b.packing_result_id = c.packing_result_id)
--RIGHT JOIN gd_item_stock c ON (b.packing_result_id = c.packing_result_id)
LEFT OUTER JOIN item_standard d ON (a.sale_item_cd = d.item_cd AND d.item_gb = '1')
LEFT OUTER JOIN common e ON (a.packing_order_type = e.common_part_cd AND e.common_cd = 'RT027') --RT027 : ํฌ์ฅ์ง์ํ์
WHERE b.packing_date BETWEEN @packing_order_work_date_start_s AND @packing_order_work_date_end_s
AND d.keeping_zone_cd = '1'
AND (ISNULL(a.sale_item_cd,'') LIKE @item_cd_s + '%' OR ISNULL(d.ITEM_NM,'') LIKE @item_cd_s + '%')
AND ISNULL(c.lot_no,'') LIKE @lot_no_s + '%'
AND c.receipt_status LIKE @receipt_status
UNION ALL
SELECT a.packing_order_no ,a.packing_order_type --,e.common_part_nm AS packing_order_type_nm
,a.sale_item_cd as item_cd ,d.item_nm AS item_nm --,d.item_packunit2
,isnull(dbo.fn_Pack_unit_size(a.sale_item_cd),'') item_packunit2
,a.packing_order_qty ,a.order_no
,a.conversion_qty ,a.packing_order_remark
,b.packing_date ,convert(int,b.packing_qty) as packing_qty ,b.sample_qty
,b.remain_qty ,b.disuse_qty
,c.lot_no ,c.end_date
,c.receipt_status ,c.ITEM_STOCK_ID as item_stock_id
FROM packing_order a
INNER JOIN packing_result b ON (a.packing_order_no = b.pack_order_no)
INNER JOIN gd_item_stock c ON (b.packing_result_id = c.packing_result_id)
--RIGHT JOIN gd_item_stock c ON (b.packing_result_id = c.packing_result_id)
LEFT OUTER JOIN item_standard d ON (a.sale_item_cd = d.item_cd AND d.item_gb = '1')
LEFT OUTER JOIN common e ON (a.packing_order_type = e.common_part_cd AND e.common_cd = 'RT027') --RT027 : ํฌ์ฅ์ง์ํ์
WHERE b.packing_date BETWEEN @packing_order_work_date_start_s AND @packing_order_work_date_end_s
AND d.keeping_zone_cd = '2'
AND (ISNULL(a.sale_item_cd,'') LIKE @item_cd_s + '%' OR ISNULL(d.ITEM_NM,'') LIKE @item_cd_s + '%')
AND ISNULL(c.lot_no,'') LIKE @lot_no_s + '%'
AND c.receipt_status LIKE @receipt_status
UNION ALL*/
SELECT a.item_cd as item_cd
,b.item_nm AS item_nm
,isnull(dbo.fn_Pack_unit_size(a.item_cd),'') item_pack_size
,a.receipt_date as packing_date
,convert(int,a.receipt_qty) as packing_qty
,a.lot_no
,a.receipt_status
,a.ITEM_STOCK_ID as item_stock_id
,c.COMMON_PART_NM as item_gb
FROM GD_ITEM_STOCK a
LEFT OUTER JOIN ITEM_STANDARD b ON (a.ITEM_CD = b.ITEM_CD)
LEFT JOIN COMMON C ON (b.ITEM_GB=c.COMMON_PART_CD and COMMON_CD='CM050')
WHERE a.receipt_date BETWEEN @packing_order_work_date_start_s AND @packing_order_work_date_end_s
--AND b.keeping_zone_cd = '3'
AND (ISNULL(a.item_cd,'') LIKE @item_cd_s + '%' OR ISNULL(b.ITEM_NM,'') LIKE @item_cd_s + '%')
AND ISNULL(a.lot_no,'') LIKE @lot_no_s + '%'
AND a.receipt_status LIKE @receipt_status
--ORDER BY b.packing_date, d.ITEM_NM, c.LOT_NO
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='SelectBox'
BEGIN
select b.GS1_BOX_BARCODE_NO as large_box_no,--b.BOX_BARCODE_NO as large_box_no,
a.GS1_BOX_BARCODE_NO as box_barcode_no,--a.BOX_BARCODE_NO as box_barcode_no,
ISNULL(a.prod_qty,0) AS prod_qty,
isnull(a.STOCK_QTY,0) as stock_qty
from GD_PACKING_RESULT_PACK a
LEFT JOIN GD_PACKING_RESULT_PACK b on a.MAPPING_GS1_BARCODE=b.GS1_BOX_BARCODE_NO
where a.BOX_TYPE='1' AND a.ITEM_STOCK_ID = @item_stock_id and a.PROD_QTY <> '0'
order by large_box_no, box_barcode_no
--select large_box_no, box_barcode_no, prod_qty, stock_qty
-- from(
-- select b.GS1_BOX_BARCODE_NO as large_box_no,--b.BOX_BARCODE_NO as large_box_no,
-- a.GS1_BOX_BARCODE_NO as box_barcode_no,--a.BOX_BARCODE_NO as box_barcode_no,
-- ISNULL(a.prod_qty,0) AS prod_qty,
-- isnull(a.STOCK_QTY,0) as stock_qty
-- from GD_PACKING_RESULT_PACK a
-- LEFT JOIN GD_PACKING_RESULT_PACK b on a.MAPPING_GS1_BARCODE=b.GS1_BOX_BARCODE_NO
-- where a.BOX_TYPE='1' AND a.ITEM_STOCK_ID = @item_stock_id and a.PROD_QTY <> '0'
-- ) c
-- group by large_box_no, box_barcode_no, prod_qty, stock_qty
----๋ฐ์คํ์
์ ์
--DECLARE @BOX_PACK_TYPE nvarchar(50)
----ํ์ฌ ์ ํ๋ ์ ํ์ ๋ฐ์คํ์
๊ฐ์ ธ์ค๊ธฐ
--SELECT @BOX_PACK_TYPE = A.SECOND_PACK_TYPE
--FROM ITEM_STANDARD A,
-- (SELECT ITEM_CD FROM GD_ITEM_STOCK WHERE ITEM_STOCK_ID = @item_stock_id) B
--WHERE A.ITEM_CD = B.ITEM_CD
--IF @BOX_PACK_TYPE = '0' OR @BOX_PACK_TYPE = '1' OR @BOX_PACK_TYPE is null
--BEGIN
-- SELECT
-- GS1_BOX_BARCODE_NO as box_barcode_no--box_barcode_no
-- ,item_stock_id
-- ,dbo.fn_format_string(prod_qty, 'S0') AS prod_qty
-- ,dbo.fn_format_string(stock_qty, 'S0') AS stock_qty
-- --,ISNULL(pallet_cd, '') AS pallet_cd
-- ,'N' as select_ck
-- ,box_type
-- FROM gd_packing_result_pack
-- WHERE item_stock_id = @item_stock_id and PROD_QTY <> '0'
-- ORDER BY box_barcode_no
--END
--ELSE IF @BOX_PACK_TYPE = '2'
--BEGIN
-- --SELECT
-- -- a.box_barcode_no as large_box_no
-- -- ,b.box_barcode_no
-- -- ,b.item_stock_id
-- -- ,dbo.fn_format_string(b.prod_qty, 'S0') AS prod_qty
-- -- ,dbo.fn_format_string(b.stock_qty, 'S0') AS stock_qty
-- -- --,ISNULL(b.pallet_cd, '') AS pallet_cd
-- -- ,'N' as select_ck
-- -- ,a.box_type
-- --FROM gd_packing_result_pack a
-- -- inner join gd_packing_result_pack b on a.gs1_box_barcode_no = b.mapping_gs1_barcode
-- --WHERE b.item_stock_id = @item_stock_id and b.PROD_QTY <> '0'
-- --ORDER BY large_box_no, box_barcode_no
-- select large_box_no, box_barcode_no, prod_qty, stock_qty
-- from(
-- select b.GS1_BOX_BARCODE_NO as large_box_no,--b.BOX_BARCODE_NO as large_box_no,
-- a.GS1_BOX_BARCODE_NO as box_barcode_no,--a.BOX_BARCODE_NO as box_barcode_no,
-- ISNULL(a.prod_qty,0) AS prod_qty,
-- isnull(a.STOCK_QTY,0) as stock_qty
-- from GD_PACKING_RESULT_PACK a
-- LEFT JOIN GD_PACKING_RESULT_PACK b on a.MAPPING_GS1_BARCODE=b.GS1_BOX_BARCODE_NO
-- where a.BOX_TYPE='1' AND a.ITEM_STOCK_ID = @item_stock_id and a.PROD_QTY <> '0'
-- ) c
-- group by large_box_no, box_barcode_no, prod_qty, stock_qty
--END
SELECT @intErrorCode = @@ERROR
END
ELSE IF @GUBUN='Trans_Stock'
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- ๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ ์ด๋ ค์ค๋ค.
UPDATE A
SET A.STOCK_QTY = A.PROD_QTY, A.CHECK_YN='Y'
FROM GD_PACKING_RESULT_ITEM A
JOIN GD_ITEM_STOCK B on A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @item_stock_id AND A.CHECK_YN ='N'
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- 1์ฐจ ๋ฐ์คํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ ์ด๋ ค์ค๋ค.
UPDATE A
SET A.STOCK_QTY = A.PROD_QTY, A.CHECK_YN='Y'
FROM GD_PACKING_RESULT_PACK A
JOIN GD_ITEM_STOCK B on A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @item_stock_id AND A.CHECK_YN ='N'
AND A.BOX_TYPE = '1'
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
AND A.BOX_TYPE = '1'
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๋ฐ์คํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ ์ด๋ ค์ค๋ค.
UPDATE A
SET A.CHECK_YN='Y'
FROM GD_PACKING_RESULT_PACK A
JOIN GD_ITEM_STOCK B on A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @item_stock_id AND A.CHECK_YN ='N'
AND A.BOX_TYPE = '2'
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
AND A.BOX_TYPE = '2'
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_ITEM_STOCK
SET RECEIPT_STATUS = 'Y'
,RECEIPT_QTY = (select sum(prod_qty) from GD_PACKING_RESULT_ITEM where ITEM_STOCK_ID=@item_stock_id)
--,RECEIPT_DATE = convert(nvarchar,GETDATE(),23)
,RECEIPT_DATE = @stock_date
WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE PACKING_ORDER
SET PACKING_ORDER_STATUS = 4
WHERE SALE_ITEM_CD = @ITEM_CD AND LOT_NO = @LOT_NO
-- 2014.11.25 ๊น์ ์
์ฃผ์์ฒ๋ฆฌ
---- ๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ ์ด๋ ค์ค๋ค.
--UPDATE a
--SET a.STOCK_QTY = case when b.RECEIPT_STATUS='Y' then a.STOCK_QTY else a.PROD_QTY end
--FROM GD_PACKING_RESULT_ITEM a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
----AuditTrail ์์ฑ
--INSERT INTO #AUDIT_TEMP
--SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
--exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--UPDATE a
--SET STOCK_QTY = case when b.RECEIPT_STATUS='Y' then a.STOCK_QTY else a.PROD_QTY end
--FROM GD_PACKING_RESULT_PACK a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
-- AND A.BOX_TYPE = '1' -- ์งํจ1์ฐจ์ ์ฌ๊ณ ๋ง ์ด๋ ค์ค๋ค. 2์ฐจ๊น์ง ์ด๋ฆฌ๋ฉด ์ฌ๊ณ ์ค๋ณต์ค๋ฅ๋จ
----AuditTrail ์์ฑ
--INSERT INTO #AUDIT_TEMP
--SELECT a.audittrail_id from GD_PACKING_RESULT_PACK a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
-- AND A.BOX_TYPE = '1'
--exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--UPDATE GD_ITEM_STOCK
--SET RECEIPT_STATUS = 'Y'
--WHERE ITEM_STOCK_ID = @item_stock_id
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
RAISERROR('์
๊ณ ์คํจ' , 16, 1);
END CATCH
--2015.05.08 ๊น์ ์
์์
--SELECT @intErrorCode = @@ERROR
--IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
-- ELSE ROLLBACK TRANSACTION
END
ELSE IF @GUBUN='Trans_Delete'
BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- ์
๊ณ ์๋ฃ์ํ๋ฅผ ์ทจ์ํ๋ ค๊ณ ํ ๋ ์ถ๊ณ ๋ ์ ํ์ด ์๋ค๋ฉด ๋ชปํ๊ฒ ๋ง๋๋ค.
--IF (SELECT COUNT(*) FROM
-- GD_ITEM_ISSUE_HISTORY A
-- INNER JOIN GD_ITEM_STOCK B ON A.PACKING_ORDER_NO = B.PACKING_ORDER_NO and isnull(B.PACKING_ORDER_NO,'') !=''
-- WHERE B.item_stock_id=@item_stock_id) != 0
--IF (SELECT COUNT(*) FROM
-- GD_ITEM_ISSUE_HISTORY A
-- INNER JOIN GD_PACKING_RESULT_ITEM B ON A.BARCODE = B.GS1_BOX_BARCODE_NO
-- WHERE B.item_stock_id=@item_stock_id) > 0
IF (SELECT COUNT(*) FROM
GD_PACKING_RESULT_ITEM
WHERE item_stock_id=@item_stock_id and CHECK_YN='Y' and STOCK_QTY=0 ) > 0
BEGIN
RAISERROR ('์ด๋ฏธ ์ถ๊ณ ๋ ์ ํ์ด ์์ต๋๋ค.' , 16, 1);
END --์ํ๋ฑ๋ก๋ ๊ฑด์ ํ์ฉํจ
--ELSE IF (SELECT COUNT(*) FROM
-- GD_PACKING_RESULT_PACK_OUT_HISTORY A
-- INNER JOIN GD_ITEM_STOCK B ON A.OUT_ITEM_CD=B.ITEM_CD and a.OUT_LOT_NO=b.LOT_NO
-- WHERE B.item_stock_id=@item_stock_id) != 0
--BEGIN
-- RAISERROR ('์ด๋ฏธ ๊ธฐํ์ถ๊ณ ๋ ์ ํ์ด ์์ต๋๋ค.' , 16, 1);
--END
ELSE
BEGIN
-- ๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ 0์ผ๋ก, ์ํ๋ ์
๊ณ ๋๊ธฐ๋ก
UPDATE A
SET A.STOCK_QTY = 0, A.CHECK_YN='N'
FROM GD_PACKING_RESULT_ITEM A
JOIN GD_ITEM_STOCK B on A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
WHERE A.ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ๋ฐ์คํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ 0์ผ๋ก, ์ํ๋ ์
๊ณ ๋๊ธฐ๋ก
UPDATE A
SET STOCK_QTY = 0, A.CHECK_YN='N'
FROM GD_PACKING_RESULT_PACK A
JOIN GD_ITEM_STOCK B on A.ITEM_STOCK_ID=B.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
--AND A.BOX_TYPE = '1' -- ์ฆ๋ฐ์ค๋ง ์ ์ฉํ๋ฉด ๋จ
--AuditTrail ์์ฑ
INSERT INTO #AUDIT_TEMP
SELECT a.audittrail_id from GD_PACKING_RESULT_PACK a
JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
WHERE a.ITEM_STOCK_ID = @item_stock_id
--AND A.BOX_TYPE = '1'
exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
UPDATE GD_ITEM_STOCK
SET RECEIPT_STATUS = 'N'
WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--2014. 11. 25 ๊น์ ์
์์
---- ๊ฐ๋ณํฌ์ฅ์ ์ฌ๊ณ ๋ฅผ ์ด๋ ค์ค๋ค.
--UPDATE a
--SET a.STOCK_QTY = a.STOCK_QTY - (case when b.RECEIPT_STATUS='N' then a.STOCK_QTY else a.PROD_QTY end)
--FROM GD_PACKING_RESULT_ITEM a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
----AuditTrail ์์ฑ
--INSERT INTO #AUDIT_TEMP
--SELECT a.audittrail_id from GD_PACKING_RESULT_ITEM a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
--exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_ITEM', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--UPDATE a
--SET STOCK_QTY = STOCK_QTY - (case when b.RECEIPT_STATUS='Y' then a.STOCK_QTY else a.PROD_QTY end)
--FROM GD_PACKING_RESULT_PACK a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
-- AND A.BOX_TYPE = '1' -- ์งํจ1์ฐจ์ ์ฌ๊ณ ๋ง ์ด๋ ค์ค๋ค. 2์ฐจ๊น์ง ์ด๋ฆฌ๋ฉด ์ฌ๊ณ ์ค๋ณต์ค๋ฅ๋จ
----AuditTrail ์์ฑ
--INSERT INTO #AUDIT_TEMP
--SELECT a.audittrail_id from GD_PACKING_RESULT_PACK a
-- JOIN GD_ITEM_STOCK b on a.ITEM_STOCK_ID=b.ITEM_STOCK_ID
--WHERE a.ITEM_STOCK_ID = @item_stock_id
-- AND A.BOX_TYPE = '1'
--exec SP_AuditTrail_BULK @tableName = 'GD_PACKING_RESULT_PACK', @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--UPDATE GD_ITEM_STOCK
--SET RECEIPT_STATUS = 'N'
--WHERE ITEM_STOCK_ID = @item_stock_id
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from GD_ITEM_STOCK where ITEM_STOCK_ID = @item_stock_id
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_ITEM_STOCK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
--RAISERROR('์
๊ณ ์ทจ์ ์คํจ' , 16, 1);
RAISERROR('์
๊ณ ์ทจ์ ์คํจ(์ด๋ฏธ ์ถ๊ณ ๋ ์ ํ์ด ์์ต๋๋ค.)' , 16, 1);
END CATCH
-- SELECT @intErrorCode = @@ERROR
-- IF (@intErrorCode = 0 AND @@trancount > 0 ) COMMIT TRANSACTION
-- ELSE ROLLBACK TRANSACTION
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
๊ฐ์ฌ์ด๋ ฅ
๊ฐ์ฌ ๋์ ํ ์ด๋ธ์ _AT ๊ฐ์ฌ ํ ๊ธฐ๋ก.
SP_AudiTrail_INSERT_COMMON
๋ชฉ์ โ ๊ฐ์ฌ ์ด๋ ฅ ๊ณตํต INSERT ํฌํผ (sic: AudiTrail).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@tableName | varchar(50) | IN |
@audittrail_id_From_value | int(4) | IN |
@audittrail_id_To_value | int(4) | IN |
@audit_gubun | varchar(20) | IN |
@audit_emp_cd | varchar(50) | IN |
@audit_Remark | varchar(500) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE proc [dbo].[SP_AudiTrail_INSERT_COMMON]
@tableName varchar(50) = '' , --ํ
์ด๋ธ๋ช
@audittrail_id_From_value int = 0 , --audittrail_id ์์๊ฐ
@audittrail_id_To_value int = 0 , --audittrail_id ๋ง์ง๋ง๊ฐ
@audit_gubun varchar(20) = '' , --์
๋ ฅ, ์์ , ์ญ์
@audit_emp_cd varchar(50) = '' , --์ฌ์ฉ์
@audit_Remark varchar(500) = '' --๋ณ๊ฒฝ์ฌ์
AS
SELECT @audit_emp_cd = ISNULL(@audit_emp_cd, '')
SELECT @audit_Remark = ISNULL(@audit_Remark, '')
--์ฝ๋์ ๋ฐ๋ผ ๊ตฌ๋ถ์ ํ๊ธ๋ก ๋ฐ๊พผ๋ค.
DECLARE @Type varchar(10)
SET @Type = CASE @audit_gubun WHEN 'I' THEN '์
๋ ฅ' WHEN 'U' THEN '์์ ' WHEN 'D' THEN '์ญ์ ' ELSE ISNULL(@audit_gubun, '') END
DECLARE @column_list varchar(8000)
SET @column_list = ''
SELECT @column_list = @column_list + b.name + ', '
FROM SYSOBJECTS a
JOIN SYSCOLUMNS b on a.id = b.id
WHERE a.name = @tableName
SET @column_list = LEFT(@column_list, LEN(@column_list) - 1)
DECLARE @query_text varchar(8000)
SET @query_text = '
INSERT INTO ' + 'RTEGMS_BARCODE_UNION.dbo.' + @tableName + '_AT ('+@column_list + ', audit_Gubun, audit_emp_cd, audit_timestamp, audit_remark)
SELECT ' + @column_list + ', ''' + @Type + ''', ''' + @audit_emp_cd + ''', GETDATE(), ''' + @audit_Remark + ''' FROM ' + @tableName + ' WHERE audittrail_id between ''' + CONVERT(VARCHAR, @audittrail_id_From_value)+''' and ''' + CONVERT(VARCHAR, @audittrail_id_To_value) +''''
--select @query_text
EXEC(@query_text)
RETURN
SP_AuditTrailSelectCommon
๋ชฉ์ โ ๊ฐ์ฌ ์ด๋ ฅ ๊ณตํต ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@TableName | varchar(50) | IN |
@AuditTrail_ID | nvarchar(100) | IN |
@FromDate | nvarchar(46) | IN |
@ToDate | nvarchar(46) | IN |
@EmpCd | nvarchar(100) | IN |
@sys_plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_AuditTrailSelectCommon]
@gubun nvarchar(50) = '' , --ํ๋ก์์ ๊ตฌ๋ถ์
@TableName varchar(50) = '' , --ํ
์ด๋ธ๋ช
@AuditTrail_ID nvarchar(50) = '' , --audittrail_id ํน์ ์กฐํ๊ฐ (ํน์ ํญ๋ชฉ๋ง ์กฐํ ์)
@FromDate nvarchar(23) = '' , --์กฐํ๊ธฐ๊ฐ(from)
@ToDate nvarchar(23) = '' , --์กฐํ๊ธฐ๊ฐ(to)
@EmpCd NVARCHAR(50) = '' ,
@sys_plant_cd nvarchar(50) = '' ,
@sys_emp_cd nvarchar(50) = '' ,
@message nvarchar(2000) output
-- bulk insert/update/delete ์๋ ์กฐํ์์๋ ํ์์์๊ฒ ๊ฐ์. ์ผ๋จ ๋ณด๋ฅ
-- @audittrail_id_From_value int = 0 , --audittrail_id ์์๊ฐ (๋๋ CRUD ์ ์ฌ์ฉ)
-- @audittrail_id_To_value int = 0 --audittrail_id ๋ง์ง๋ง๊ฐ (๋๋ CRUD ์ ์ฌ์ฉ)
AS
DECLARE @COL_LIST VARCHAR(8000) = ''
DECLARE @SELECT_QUERY NVARCHAR(MAX) = ''
-- ์ถํ ํ
์ด๋ธ๊ณผ atํ
์ด๋ธ๊ณผ์ ์ปฌ๋ผ ์ฐจ์ด ๋น๊ตํด์ ๋ฉ์์ง๋ก ๋ฐํํ๋ ๋ฃจํด ์ถ๊ฐํด์ผํ ๋ฏ
-- [๋ถ๊ธฐ] @gubun = 'ColumnListFromTargetTable' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'ColumnListFromTargetTable')
BEGIN
SELECT distinct
E.NAME AS COLUMN_NAME, -- ์ปฌ๋ผ ๋ฆฌ์คํธ ๋ฐ์์ค๊ธฐ
E.CODE AS COLUMN_CODE
, B.COLUMN_ID AS COLUMN_ID
--D.value AS COLUMN_NAME-- Description ์ ์ปฌ๋ผ ํ๊ธ๋ช
์ ์ ๋ถ ์
๋ ฅํ๋ค๊ณ ํ๋ค๋ฉด ์ด๋ ๊ฒ ๊ฐ ์ ์์. (ํฅํ ERD๊ฐ ์๋ฒฝํ๊ฒ ์
๋ฐ์ดํธ ๋๊ณ ๋๋ฉด ์๊ฐํด ๋ณผ ์ ์์)
FROM
SYS.TABLES A
INNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_ID
--LEFT OUTER JOIN SYS.COMPUTED_COLUMNS C ON B.COLUMN_ID = C.COLUMN_ID AND A.OBJECT_ID = C.OBJECT_ID -- ๊ณ์ฐ์ด ์ฌ์์ผ๋ก IDENTITY ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์
--LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES D ON B.OBJECT_ID = D.MAJOR_ID AND B.COLUMN_ID = D.MINOR_ID AND D.name = N'MS_Description'
INNER JOIN ERD_TABLE E ON A.NAME = E.[TABLE] AND B.NAME = E.CODE
WHERE
A.NAME = @TableName
ORDER BY B.column_id
SET @message = 'TEST'
END
ELSE IF(@gubun = 'ColumnListFromTargetTable2')
BEGIN
SELECT
E.NAME AS COLUMN_NAME, -- ์ปฌ๋ผ ๋ฆฌ์คํธ ๋ฐ์์ค๊ธฐ
E.CODE AS COLUMN_CODE
--, B.COLUMN_ID AS COLUMN_ID
--D.value AS COLUMN_NAME-- Description ์ ์ปฌ๋ผ ํ๊ธ๋ช
์ ์ ๋ถ ์
๋ ฅํ๋ค๊ณ ํ๋ค๋ฉด ์ด๋ ๊ฒ ๊ฐ ์ ์์. (ํฅํ ERD๊ฐ ์๋ฒฝํ๊ฒ ์
๋ฐ์ดํธ ๋๊ณ ๋๋ฉด ์๊ฐํด ๋ณผ ์ ์์)
FROM
SYS.TABLES A
INNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_ID
--LEFT OUTER JOIN SYS.COMPUTED_COLUMNS C ON B.COLUMN_ID = C.COLUMN_ID AND A.OBJECT_ID = C.OBJECT_ID -- ๊ณ์ฐ์ด ์ฌ์์ผ๋ก IDENTITY ๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ์
--LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES D ON B.OBJECT_ID = D.MAJOR_ID AND B.COLUMN_ID = D.MINOR_ID AND D.name = N'MS_Description'
LEFT OUTER JOIN ERD_TABLE E ON A.NAME = E.[TABLE] AND B.NAME = E.CODE
WHERE
A.NAME = @TableName + '_at'
ORDER BY B.column_id
SET @message = 'TEST'
END
ELSE IF(@gubun = 'SelectAllItemsFromTargetTable')
BEGIN
SELECT
@COL_LIST = @COL_LIST + b.name + ','
FROM
SYS.tables A
INNER JOIN SYS.columns B ON A.object_id = B.object_id
--LEFT OUTER JOIN ERD_TABLE C ON A.NAME = C.[TABLE] AND B.NAME = C.CODE
WHERE
A.name = @tableName
ORDER BY B.column_id
SET @COL_LIST = LEFT(@COL_LIST, LEN(@COL_LIST) - 1)
------------------------------------------------------
SELECT @SELECT_QUERY = 'SELECT audit_id as "Audit_ID", audit_Gubun as "๊ตฌ๋ถ", audit_emp_cd as "์ฌ์์ฝ๋", convert(nvarchar(50), audit_timestamp, 121) as "์์ ์๊ฐ", audit_remark as "๋น๊ณ ", '
+ @COL_LIST + ' FROM RTEGMS_BARCODE_UNION.dbo.' + @tableName +
'_at WHERE audit_timestamp BETWEEN CONVERT(DATETIME, ''' + @fromdate + ''') AND DATEADD(D, 1, ''' + @todate
+ ''') '-- ์ด๊ฑด ์ ์ฒด ์กฐํ ์, ๋ถ๋ถ ์กฐํ๋๋ 'audit_id' ๊ฐ์ผ๋ก WHERE ์กฐ๊ฑด ์ถ๊ฐ
IF(@EmpCd <> '')
BEGIN
SELECT @SELECT_QUERY = @SELECT_QUERY + ' AND audit_emp_cd = ''' + @EmpCd + ''''
END
EXEC (@SELECT_QUERY)
SET @message = @@ROWCOUNT
END
ELSE IF(@gubun = 'SelectAuditDetailFromTargetTableWithSingleItem')
BEGIN
SELECT
@COL_LIST = @COL_LIST + b.NAME + ','
FROM
SYS.tables A
INNER JOIN SYS.columns B ON A.object_id = B.object_id
--LEFT OUTER JOIN ERD_TABLE E ON A.NAME = E.[TABLE] AND B.NAME = E.CODE
WHERE
A.name = @tableName
ORDER BY B.column_id
SET @COL_LIST = LEFT(@COL_LIST, LEN(@COL_LIST) - 1)
--SELECT @SELECT_QUERY = 'SELECT audit_id as "Audit_ID" , audit_Gubun as "๊ตฌ๋ถ", audit_emp_cd as "์ฌ์์ฝ๋", convert(nvarchar(50), audit_timestamp, 121) as "์์ ์๊ฐ", ' + @COL_LIST + ' FROM RTEGMS_BARCODE.dbo.' + @tableName + '_at'
SELECT @SELECT_QUERY = 'SELECT audit_id as "Audit_ID" , audit_Gubun as "๊ตฌ๋ถ", audit_emp_cd as "์ฌ์์ฝ๋", convert(nvarchar(50), audit_timestamp, 121) as "์์ ์๊ฐ", audit_remark as "๋น๊ณ ", ' + @COL_LIST + ' FROM RTEGMS_BARCODE_UNION.dbo.' + @tableName + '_at WHERE audittrail_id = CONVERT(INT, ' + @AuditTrail_ID + ')'
IF(@EmpCd <> '')
BEGIN
SELECT @SELECT_QUERY = @SELECT_QUERY + ' AND audit_emp_cd = ''' + @EmpCd + ''''
END
EXEC (@SELECT_QUERY)
SET @message = @@ROWCOUNT
END
RETURN
SP_AuditTrail_BULK
๋ชฉ์ โ ๊ฐ์ฌ ์ด๋ ฅ ๋๋ ์ฝ์ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@TABLENAME | varchar(50) | IN |
@AUDIT_GUBUN | varchar(20) | IN |
@AUDIT_EMP_CD | varchar(50) | IN |
@AUDIT_REMARK | varchar(500) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_AuditTrail_BULK]
@TABLENAME VARCHAR(50) = '', --ํ
์ด๋ธ๋ช
@AUDIT_GUBUN VARCHAR(20) = '', --์
๋ ฅ, ์์ , ์ญ์
@AUDIT_EMP_CD VARCHAR(50) = '', --์ฌ์ฉ์
@AUDIT_REMARK VARCHAR(500) = '' --๋ณ๊ฒฝ์ฌ์
AS
-- ๋ด๋ถ์์ ์ธ ๋ณ์ ์ ์ธ
DECLARE @QUERY_TEXT VARCHAR(8000) = '' -- ์ค์ ์คํ ์ฟผ๋ฆฌ๋ฌธ
DECLARE @TYPE VARCHAR(10) = '' -- Audit ํ์
(AUDIT_GUBUN์ ์ด์ฉํ๋ฉด ์๋๋๊ฑด๊ฐ?)
DECLARE @COLUMN_LIST VARCHAR(8000) = '' -- ํด๋น ํ
์ด๋ธ์ ์ปฌ๋ผ ๋ฆฌ์คํธ
DECLARE @C_NO INT = 0 -- ์ปค์์์ ์ธ ๋ณ์
-- ์์ ๋๋ ์ด์ audittrail_id ๊ฐ ๋ฐ์์ค๊ธฐ (ํ๋ก์์ ํธ์ถ ์ ์์ํ
์ด๋ธ์ ๋ด์ฉ์ด ์ฑ์์ ธ ์์ด์ผ ํจ. ์๋๋ฉด ํ๋๋ง ๋ค์ด๊ฐ ์์ด๋ ๊ฐ๋ฅ)
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
--DECLARE CUR_NO CURSOR FOR SELECT audittrail_id FROM #AUDIT_TEMP
-- Audit ํ์
ํ๊ธ๋ก ๋ฐ๊พธ๊ธฐ
SET @TYPE = CASE @AUDIT_GUBUN
WHEN 'I' THEN '์
๋ ฅ'
WHEN 'U' THEN '์์ '
WHEN 'D' THEN '์ญ์ '
ELSE ISNULL(@AUDIT_GUBUN, '')
END
-- ํด๋น ํ
์ด๋ธ ์ปฌ๋ผ๋ฆฌ์คํธ ๋ฐ์์ค๋ ๋ถ๋ถ
SELECT @COLUMN_LIST = @COLUMN_LIST + B.NAME + ', '
FROM SYSOBJECTS A
JOIN SYSCOLUMNS B ON A.ID = B.ID
WHERE A.NAME = @TABLENAME
SET @COLUMN_LIST = LEFT(@COLUMN_LIST, LEN(@COLUMN_LIST) - 1) -- ์ฝค๋ง ์ ๊ฑฐ
SET @QUERY_TEXT = 'INSERT INTO RTEGMS_BARCODE_UNION.DBO.' + @TABLENAME + '_AT(' + @COLUMN_LIST + ', audit_Gubun, audit_emp_cd, audit_timestamp, audit_remark) SELECT ' + @COLUMN_LIST + ', ''' + @TYPE + ''', ''' + @AUDIT_EMP_CD + ''', GETDATE(), ''' + @AUDIT_REMARK + ''' FROM ' + @TABLENAME + ' WHERE audittrail_id IN (SELECT audittrail_id FROM #AUDIT_TEMP)'
--select @QUERY_TEXT
EXEC (@QUERY_TEXT)
---- ์ปค์ ์คํ
--OPEN CUR_NO
---- @@FETCH_STATUS: 0=์ฑ๊ณต, -1=์คํจ(์ปค์์์น ์๋ชป), -2=์คํจ(๋ ์ฝ๋ ์์)
--WHILE 1=1 BEGIN
--FETCH NEXT FROM CUR_NO INTO @C_NO -- @C_NO์ ๋ด๊ธฐ
--IF @@FETCH_STATUS <> 0 BREAK
--SET @QUERY_TEXT = 'INSERT INTO ' + @TABLENAME + '_at(' + @COLUMN_LIST + ', audit_Gubun, audit_emp_cd, audit_timestamp, audit_remark) SELECT ' + @COLUMN_LIST + ', ''' + @TYPE + ''', ''' + @AUDIT_EMP_CD + ''', GETDATE(), ''' + @AUDIT_REMARK + ''' FROM ' + @TABLENAME + ' WHERE audittrail_id = ''' + CONVERT(VARCHAR(10), @C_NO) + ''''
--EXEC (@QUERY_TEXT)
--END
--CLOSE CUR_NO
--DEALLOCATE CUR_NO
DELETE #AUDIT_TEMP
--DROP TABLE #AUDIT_TEMP
RETURN
์ธ์ฆยท๊ถํ
์ฌ์ฉ์ ๋ก๊ทธ์ธยท๋ฉ๋ด ๊ถํยท์ ๊ทผ ์ด๋ ฅ.
SP_CM_MainMenu
๋ชฉ์ โ ๋ฉ์ธ ๋ฉ๋ด ๊ตฌ์ฑ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@message | nvarchar(400) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_MainMenu]
@gubun nvarchar(50),
@user_cd nvarchar(50)='',
@form_cd nvarchar(50)='',
@message nvarchar(200)='' output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Tree' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Tree')BEGIN
DECLARE @temp_table TABLE (
module_gb nvarchar(5),
child_cd nvarchar(50),
parent_cd nvarchar(50),
form_nm nvarchar(100),
imageix int,
ord int,
form_seq int)
IF(@intErrorCode = 0) BEGIN
INSERT @temp_table
SELECT a.module_gb ,c.form_cd as child_cd ,b.module_cd as parent_cd ,c.form_nm as child_nm
,3 as imageix ,9999 as ord ,b.form_seq
FROM (SELECT a.user_cd, b.module_gb FROM cm_menu_user a , cm_plant_license b
WHERE a.user_cd = @user_cd and a.plant_cd = b.plant_cd) a
INNER JOIN ( SELECT module_gb ,module_cd ,form_cd ,form_seq FROM cm_menu_program) b
ON(a.module_gb = b.module_gb)
INNER JOIN ( SELECT form_cd ,form_nm FROM cm_menu_form) c
ON(b.form_cd = c.form_cd)
INNER JOIN ( SELECT user_cd, form_cd FROM cm_menu_user_form WHERE form_query = 'Y') d
ON(c.form_cd = d.form_cd AND a.user_cd = d.user_cd)
INSERT @temp_table
SELECT a.module_gb ,c.form_cd as child_cd ,c.module_cd as parent_cd ,d.form_nm as child_nm
,3 as imageix ,9999 as ord ,e.form_seq
FROM (SELECT user_cd, MODULE_GB,EMP_CD FROM CM_MENU_USER WHERE USER_cd=@user_cd) a
inner join (SELECT emp_cd,emp_group_cd FROM emp_group_set) b on (a.emp_cd = b.emp_cd)
inner join cm_menu_user_form c on(b.emp_group_cd = c.user_cd)
INNER JOIN (SELECT form_cd ,form_nm FROM cm_menu_form) d ON(c.form_cd = d.form_cd)
inner join CM_MENU_PROGRAM e on (d.FORM_CD = e.FORM_CD)
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN
SELECT module_gb ,child_cd ,parent_cd ,form_nm ,imageix ,ord ,form_seq FROM @temp_table
UNION
SELECT b.module_gb, b.module_cd ,b.module_parent ,b.module_nm
,2 as imageix ,b.module_seq ,0
FROM @temp_table a
INNER JOIN ( SELECT module_gb, module_cd ,module_nm, module_seq ,module_level ,module_parent
FROM cm_menu ) b
ON(a.module_gb = b.module_gb AND a.parent_cd = b.module_cd)
UNION
SELECT c.module_gb, c.module_cd ,c.module_parent ,c.module_nm
,1 as imageix ,c.module_seq ,0
FROM @temp_table a
INNER JOIN ( SELECT module_gb, module_cd ,module_nm, module_seq ,module_level ,module_parent
FROM cm_menu ) b
ON(a.module_gb = b.module_gb AND a.parent_cd = b.module_cd)
INNER JOIN ( SELECT module_gb, module_cd ,module_nm, module_seq ,module_level ,module_parent
FROM cm_menu ) c
ON(b.module_gb = c.module_gb AND b.module_parent = c.module_cd)
ORDER BY ord, form_seq
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun='Form') BEGIN --ํผDLLํธ์ถ
IF(@intErrorCode = 0) BEGIN
--SELECT form_dll as form_dll, REPLACE(form_dll, 'dll', '') + form_cd as form_name
SELECT form_dll as form_dll, REPLACE(form_dll, 'dll', '') + source_cd as form_name , source_cd, form_nm AS program_nm
FROM cm_menu_form
WHERE form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun='Button') BEGIN --์์ํผ ๋ฒํผ๊ถํ ์ฒดํฌ
IF(@intErrorCode = 0) BEGIN
SELECT FORM_CD
,MAX(A.FORM_QUERY) AS FORM_QUERY
,MAX(A.form_edit) AS form_edit
,MAX(a.form_insert) AS form_insert
,MAX(a.form_delete) AS form_delete
,MAX(a.form_print) AS form_print
,MAX(a.form_transmission) AS form_transmission
FROM
(SELECT a.form_cd ,a.form_query ,a.form_edit
,a.form_insert ,a.form_delete
,a.form_print ,a.form_transmission
FROM cm_menu_user_form a
WHERE a.user_cd = @USER_CD
AND a.form_cd = @FORM_CD
UNION ALL
SELECT a.form_cd ,a.form_query ,a.form_edit
,a.form_insert ,a.form_delete
,a.form_print ,a.form_transmission
FROM cm_menu_user_form a
WHERE a.user_cd = (SELECT B.emp_group_cd
FROM CM_MENU_USER A
LEFT OUTER JOIN EMP_GROUP_SET B ON A.EMP_CD = B.EMP_CD
WHERE USER_CD = @USER_CD AND form_cd = @FORM_CD)
) A
GROUP BY FORM_CD
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_MenuFormManage
๋ชฉ์ โ ๋ฉ๋ด โ ํผ ๋งคํ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@s_form_cd | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@form_nm | nvarchar(100) | IN |
@form_seq | int(4) | IN |
@form_web_ck | nvarchar(100) | IN |
@form_url | nvarchar(100) | IN |
@form_dll | nvarchar(400) | IN |
@form_security | nvarchar(100) | IN |
@source_cd | nvarchar(100) | IN |
@code | nvarchar(100) | IN |
@field_cd | nvarchar(100) | IN |
@select_field_cd | nvarchar(100) | IN |
@field_caption1 | nvarchar(200) | IN |
@field_tag | nvarchar(10) | IN |
@field_visible | nvarchar(10) | IN |
@field_enabled | nvarchar(10) | IN |
@field_remark | nvarchar(400) | IN |
@field_caption2 | nvarchar(200) | IN |
@field_caption3 | nvarchar(200) | IN |
@default_value | nvarchar(100) | IN |
@field_x | int(4) | IN |
@field_y | int(4) | IN |
@parameter_cd | nvarchar(100) | IN |
@parameter_value | nvarchar(100) | IN |
@parameter_remark | nvarchar(400) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_MenuFormManage]
@Gubun nvarchar(50),
@s_form_cd nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ์ฝ๋ (์กฐํ์กฐ๊ฑด)
@form_cd nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ์ฝ๋
@form_nm nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ๋ช
@form_seq int = 0, -- ํ๋ก๊ทธ๋จ ์๋ฒ
@form_web_ck nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ์น ์ฒดํฌ
@form_url nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ์น์ฃผ์
@form_dll nvarchar(200) = '', -- ํ๋ก๊ทธ๋จ DLL
@form_security nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ๋ณด์
@source_cd nvarchar(50) = '',
@code nvarchar(50) = '',
@field_cd nvarchar(50) = '',
@select_field_cd nvarchar(50) = '',
@field_caption1 nvarchar(100) = '',
@field_tag nvarchar(5) = '',
@field_visible nvarchar(5) = '',
@field_enabled nvarchar(5) = '',
@field_remark nvarchar(200) = '',
@field_caption2 nvarchar(100) = '',
@field_caption3 nvarchar(100) = '',
@default_value nvarchar(50) = '',
@field_x integer = 0,
@field_y integer = 0,
@parameter_cd nvarchar(50) = '',
@parameter_value nvarchar(50) = '',
@parameter_remark nvarchar(200) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
--์ ์ฒด ์
๋ ฅ
-- [๋ถ๊ธฐ] @Gubun = 'Insert' ์ธ ๊ฒฝ์ฐ
IF (@Gubun = 'Insert') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_menu_form
INSERT INTO cm_menu_form
( form_cd, form_nm, form_seq, form_web_ck, form_url, form_dll, form_security,source_cd )
VALUES (@form_cd, @form_nm, @form_seq, @form_web_ck, @form_url, @form_dll, @form_security,@source_cd)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_form where FORM_CD = @form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
--์กฐํ
ELSE IF (@Gubun='Search') BEGIN
IF(@intErrorCode = 0) BEGIN
-- SELECT form_cd, form_nm, form_seq, form_web_ck, form_url, form_dll, form_security,source_cd
-- FROM cm_menu_form
SELECT a.form_cd ,a.form_nm ,a.form_seq
,a.form_web_ck ,a.form_url
,a.form_dll ,a.form_security
,a.source_cd ,b.source_nm
FROM cm_menu_form a
LEFT OUTER JOIN (
SELECT form_cd AS source_cd, form_nm AS source_nm
FROM cm_menu_form
) b
ON(a.form_cd = b.source_cd)
WHERE a.form_cd LIKE @s_form_cd + '%'
OR a.form_nm LIKE @s_form_cd + '%'
SELECT @intErrorCode = @@error
END
END
--์์
ELSE IF(@Gubun='Update') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE cm_menu_form
SET form_nm = @form_nm
,form_seq = @form_seq
,form_web_ck = @form_web_ck
,form_url = @form_url
,form_dll = @form_dll
,form_security = @form_security
,source_cd = @source_cd
WHERE form_cd = @form_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_form where FORM_CD = @form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
--์ญ์
ELSE IF (@Gubun='Del') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_form where FORM_CD = @form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- ์ฌ์ฉ์๋ณ ํ๋ก๊ทธ๋จ
-- [์ญ์ ] cm_menu_user_form
DELETE cm_menu_user_form
WHERE form_cd = @form_cd
-- ํ๋ก๊ทธ๋จ
-- [์ญ์ ] cm_menu_form
DELETE cm_menu_form
WHERE form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
--์ถ๊ฐ
--ํ๋ฉด ์ค์ ์กฐํ
ELSE IF (@Gubun='SelectControl') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd ,field_cd ,field_caption1
,field_tag ,field_visible ,field_enabled
,field_remark ,field_caption2 ,field_caption3
,default_value ,field_x ,field_y
FROM cm_program_setting
WHERE form_cd Like @form_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ผ๋ฏธํฐ ์กฐํ
ELSE IF (@Gubun='ProgramParam') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd
,parameter_cd
,parameter_value
,parameter_remark
FROM cm_program_param_setting
WHERE form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋จ ํ๋ฉด์ค์ ์
๋ ฅ
ELSE IF (@Gubun = 'InsertScreenSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_program_setting
INSERT INTO cm_program_setting( form_cd,field_cd,field_caption1,field_tag,field_visible,field_enabled,field_remark,
field_caption2,field_caption3, default_value, field_x, field_y)
VALUES(@form_cd,@field_cd,@field_caption1,@field_tag,@field_visible,@field_enabled,@field_remark,
@field_caption2,@field_caption3, @default_value, @field_x, @field_y)
SELECT @intErrorCode = @@error
END
END
--ํ๋จ ํ๋ผ๋ฏธํฐ ์
๋ ฅ
ELSE IF (@Gubun = 'InsertParam') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_program_param_setting
INSERT INTO cm_program_param_setting( form_cd, parameter_cd, parameter_value, parameter_remark)
VALUES(@form_cd, @parameter_cd, @parameter_value, @parameter_remark)
SELECT @intErrorCode = @@error
END
END
--ํ๋ฉด ์ค์ ์์
ELSE IF (@Gubun = 'UpdateScreenSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE cm_program_setting
SET field_cd = @field_cd
,field_caption1 = @field_caption1
,field_tag = @field_tag
,field_visible = @field_visible
,field_enabled = @field_enabled
,field_remark = @field_remark
,field_caption2 = @field_caption2
,field_caption3 = @field_caption3
,default_value = @default_value
,field_x = @field_x
,field_y = @field_y
WHERE form_cd = @form_cd
AND field_cd = @select_field_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ฉด ์ค์ ์ญ์
ELSE IF (@Gubun = 'DeleteScreenSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ญ์ ] cm_program_setting
DELETE FROM cm_program_setting
WHERE form_cd = @form_cd
AND field_cd = @select_field_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ผ๋ฏธํฐ ์์
ELSE IF (@Gubun = 'UpdateProgramParamSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE cm_program_param_setting
SET parameter_value = @parameter_value,
parameter_remark = @parameter_remark
WHERE form_cd = @form_cd
AND parameter_cd = @parameter_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ฉด์ค์ ํ๋๋ฅผ ์ญ์ ํ๋ค.
ELSE IF (@Gubun = 'DeleteProgramSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ญ์ ] cm_program_setting
DELETE cm_program_setting
WHERE form_cd = @form_cd
AND field_cd = @field_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ก๊ทธ๋จ ํ๋ผ๋ฏธํฐ๋ฅผ ์ญ์ ํ๋ค.
ELSE IF (@Gubun = 'DeleteProgramParamSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ญ์ ] cm_program_param_setting
DELETE cm_program_param_setting
WHERE form_cd = @form_cd
AND parameter_cd = @parameter_cd
SELECT @intErrorCode = @@error
END
END
--ํ๋ ์๋ ์์ฑ
ELSE IF (@Gubun = 'field_add') BEGIN
IF(@intErrorCode = 0) BEGIN
DECLARE @max_seq int
SELECT @max_seq = convert(int, max(right(field_cd, len(field_cd) - 2)))
FROM cm_program_setting
WHERE form_cd = @form_cd
SET @max_seq = isnull(@max_seq, 0)
-- [์ ์ฌ] cm_program_setting
INSERT INTO cm_program_setting(form_cd,field_cd,field_tag,field_visible,field_enabled)
SELECT @form_cd, 'lb'+right('00'+convert(varchar, @max_seq+seq), 3), '', 'Y', 'Y'
FROM (
SELECT 1 AS seq UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5
UNION ALL SELECT 6 AS seq UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10
) a
SELECT @intErrorCode = @@error
END
END
--์๋ณธ ์์ค ์ค์ ๊ฐ์ ธ์ค๊ธฐ
ELSE IF (@Gubun = 'GetSourceSetting') BEGIN
IF(@intErrorCode = 0) BEGIN
--์๋ณธ ์์ค์ ํ๋์ค์์ ํ๋ก๊ทธ๋จ์ ์๋ ํ๋๋ง ์ถ๊ฐ๋๋ค.
-- [์ ์ฌ] cm_program_setting
INSERT INTO cm_program_setting (form_cd,field_cd,field_caption1,field_tag,field_visible,field_enabled,field_remark,
field_caption2,field_caption3, default_value)
SELECT @form_cd,a.field_cd,a.field_caption1,a.field_tag,a.field_visible,a.field_enabled,a.field_remark,
a.field_caption2,a.field_caption3, a.default_value
FROM cm_program_setting a --์๋ณธ ์์ค ํ๋
LEFT OUTER JOIN cm_program_setting b --ํ๋ก๊ทธ๋จ ํ๋
ON b.form_cd = @form_cd and a.field_cd = b.field_cd
WHERE a.form_cd = @source_cd
AND b.form_cd is null --์๋ ํ๋๋ง ์ ํ
--์๋ณธ ์์ค์ ํ๋์ค์์ ํ๋ก๊ทธ๋จ์ ์๋ ํ๋๋ง ์ถ๊ฐ๋๋ค.
-- [์ ์ฌ] cm_program_param_setting
INSERT INTO cm_program_param_setting (form_cd, parameter_cd, parameter_value, parameter_remark)
SELECT @form_cd,a.parameter_cd, a.parameter_value, a.parameter_remark
FROM cm_program_param_setting a --์๋ณธ ์์ค ํ๋
LEFT OUTER JOIN cm_program_param_setting b --ํ๋ก๊ทธ๋จ ํ๋
ON b.form_cd = @form_cd and a.parameter_cd = b.parameter_cd
WHERE a.form_cd = @source_cd
AND b.form_cd is null --์๋ ํ๋๋ง ์ ํ
SELECT @intErrorCode = @@error
END
END
--ํ๋ก๊ทธ๋จ๋ช
์กฐํํ์ฌ ์
ํ
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Select')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd , form_nm ,form_seq ,form_web_ck
,form_url ,form_dll ,form_security ,source_cd
FROM CM_menu_form
WHERE form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
--์์คํ
ํ๋ผ๋ฏธํฐ ์กฐํ
ELSE IF (@gubun = 'SelectParam')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT @message = parameter_value
FROM cm_parameter
WHERE parameter_code = @code
SELECT @intErrorCode = @@error
END
END
--์ค์ ๊ฐ ๋ฐํ
ELSE IF (@gubun = 'ParamSetting')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd ,field_cd ,field_caption1 ,
field_tag ,field_visible ,field_enabled , field_remark ,
field_caption2 ,field_caption3 ,default_value
,ISNULL(field_x,0) AS field_x ,ISNULL(field_y,0) AS field_y
FROM cm_program_setting
WHERE form_cd Like @form_cd
--
-- SELECT parameter_cd, parameter_value
-- FROM cm_program_param_setting
-- WHERE form_cd Like @form_cd
-- SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Param_form_nm') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd ,field_cd ,field_caption1 ,
field_tag ,field_visible ,field_enabled , field_remark ,
field_caption2 ,field_caption3 ,default_value
,ISNULL(field_x,0) AS field_x ,ISNULL(field_y,0) AS field_y
FROM cm_program_setting
WHERE form_cd Like @form_cd;
SELECT form_cd , form_nm ,form_seq ,form_web_ck
,form_url ,form_dll ,form_security ,source_cd
FROM CM_menu_form
WHERE form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
--์์คํ
ํ๋ผ๋ฏธํฐ ์กฐํ(PDA์์ ์ฌ์ฉ)
ELSE IF (@gubun = 'SystemParam')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT parameter_value
FROM cm_parameter
WHERE parameter_code = @code
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0)
BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE
BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_MenuManage
๋ชฉ์ โ ๋ฉ๋ด ๋ฑ๋กยท์์ ยท์ญ์ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@module_gb | nvarchar(10) | IN |
@module_cd | nvarchar(100) | IN |
@module_nm | nvarchar(200) | IN |
@module_seq | int(4) | IN |
@module_level | int(4) | IN |
@module_parent | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(600) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_MenuManage]
@Gubun nvarchar(50),
@module_gb nvarchar(5) = '', -- ๋ชจ๋๊ตฌ๋ถ
@module_cd nvarchar(50) = '', -- ๋ชจ๋์ฝ๋
@module_nm nvarchar(100) = '', -- ๋ชจ๋๋ช
@module_seq int = 0, -- ๋ชจ๋์์
@module_level int = 0, -- ๋ชจ๋๋ ๋ฒจ
@module_parent nvarchar(50) = '', -- ์์๋ชจ๋
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(300) = '' output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ๋ชจ๋(๋ฉ๋ด) ์
๋ ฅ
-- [๋ถ๊ธฐ] @Gubun = 'Insert' ์ธ ๊ฒฝ์ฐ
IF (@Gubun = 'Insert' ) BEGIN
IF(@intErrorCode = 0 ) BEGIN
-- [์ ์ฌ] cm_menu
INSERT INTO cm_menu (module_gb, module_cd, module_nm, module_seq, module_level, module_parent)
VALUES (@module_gb, @module_cd, @module_nm, @module_seq, @module_level, @module_parent)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu where MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
-- ๋ชจ๋(๋ฉ๋ด) ์กฐํ
ELSE IF (@Gubun='Search') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.module_gb, a.module_cd, a.module_nm, a.module_seq, a.module_level,
a.module_parent,
b.module_nm AS module_parent_nm,
a.module_cd AS ID,
a.module_parent AS ParentID,
a.module_level - 1 AS ImageIndex
FROM cm_menu a
LEFT OUTER JOIN cm_menu b ON (a.module_parent = b.module_cd AND b.module_gb = @module_gb)
WHERE a.module_gb = @module_gb
ORDER BY a.module_level, a.module_seq
SELECT @intErrorCode = @@error
END
END
-- ๋ชจ๋(๋ฉ๋ด) ์์
ELSE IF (@Gubun='Update') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE cm_menu
SET module_nm = @module_nm,
module_seq = @module_seq,
module_level = @module_level,
module_parent = @module_parent
WHERE module_gb = @module_gb AND module_cd = @module_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu where MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
-- ๋ชจ๋(๋ฉ๋ด) ์ญ์
ELSE IF (@Gubun='Del') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu where MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM cm_menu
WHERE module_gb = @module_gb AND module_cd = @module_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0)
BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE
BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_MenuProgram_Manage
๋ชฉ์ โ ๋ฉ๋ด โ ํ๋ก๊ทธ๋จ ๋งคํ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@module_gb | nvarchar(10) | IN |
@module_cd | nvarchar(100) | IN |
@module_seq | int(4) | IN |
@form_cd | nvarchar(100) | IN |
@form_nm | nvarchar(200) | IN |
@form_seq | int(4) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_MenuProgram_Manage]
@Gubun nvarchar(50),
@module_gb nvarchar(5) = '', --๋ชจ๋๊ตฌ๋ถ
@module_cd nvarchar(50) = '', --๋ชจ๋์ฝ๋
@module_seq int = 0, --๋ชจ๋์๋ฒ
@form_cd nvarchar(50) = '', --ํ๋ก๊ทธ๋จ์ฝ๋
@form_nm nvarchar(100) = '', --ํ๋ก๊ทธ๋จ๋ช
@form_seq int = 0, --ํ๋ก๊ทธ๋จ์๋ฒ
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @Gubun = 'Insert' ์ธ ๊ฒฝ์ฐ
IF (@Gubun = 'Insert') BEGIN
IF(@intErrorCode = 0) BEGIN
--ํ๋ก๊ทธ๋จ์ด ์ ํ๋์ง ์์๋ค๋ฉด
IF (@module_seq <> 0) BEGIN
--ํด๋น ์ ํ๋ฉ๋ด์์ ์์ ํ๋ก๊ทธ๋จ ์ต๊ณ ์๋ฒ์ ๊ฐ์ ธ์จ๋ค.
SELECT @form_seq = isnull(max(form_seq), 0) + 1
FROM cm_menu_program
WHERE module_gb = @module_gb
AND module_cd = @module_cd
END
ELSE BEGIN
--์ ํ ํ๋ก๊ทธ๋จ ์๋ฒ ์ดํ์ ์ธ๋ถ๊ณต์ ๋ค์ ๋ชจ๋ ์๋ฒ์ด ํ๋์ฉ ๋ฐ๋ฆฐ๋ค.
UPDATE cm_menu_program
SET form_seq = form_seq + 1
WHERE module_gb = @module_gb
AND module_cd = @module_cd
AND form_seq >= @form_seq
END
-- [์ ์ฌ] cm_menu_program
INSERT INTO cm_menu_program (module_gb, module_cd, form_cd, form_seq)
VALUES (@module_gb, @module_cd, @form_cd, @form_seq)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_program where form_cd = @form_cd and MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_program', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@Gubun='Search1') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.form_cd AS ID, a.module_cd AS ParentID,
b.module_cd, b.module_nm, a.form_cd, a.form_seq,
c.form_nm AS display_nm,
0 AS module_seq, 0 AS ord1, 0 AS ord2, 5 AS ImageIndex
FROM cm_menu_program a
INNER JOIN cm_menu b on a.module_gb = b.module_gb AND a.module_cd = b.module_cd
INNER JOIN cm_menu_form c on a.form_cd = c.form_cd
WHERE a.module_gb = @module_gb
UNION ALL
SELECT a.module_cd AS ID, a.module_parent AS ParentID,
a.module_cd, a.module_nm, '', 0,
a.module_nm AS display_nm,
a.module_seq, a.module_level AS ord1, a.module_seq AS ord2, a.module_level - 1 AS ImageIndex
FROM cm_menu a
WHERE a.module_gb = @module_gb AND a.module_parent <> ''
ORDER BY ord1, ord2, a.form_seq
SELECT @intErrorCode = @@error
END
END
ELSE IF (@Gubun = 'Search2') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT form_cd, form_nm
FROM cm_menu_form
SELECT @intErrorCode = @@error
END
END
ELSE IF (@Gubun = 'Del') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_program where form_cd = @form_cd and MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_program', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM cm_menu_program
WHERE module_gb = @module_gb
AND module_cd = @module_cd
AND form_cd = @form_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF @Gubun = 'Update'
BEGIN
UPDATE cm_menu_program
SET form_seq = @form_seq
WHERE module_gb = @module_gb
AND module_cd = @module_cd
AND form_cd = @form_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_program where form_cd = @form_cd and MODULE_CD = @module_cd and MODULE_GB = @module_gb
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_program', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
--์ถ๊ฐ(์ถ๋ ฅ)
ELSE IF (@Gubun ='R')
BEGIN
--080305 (์ตํ์ฅ๋ ์์ ) ๋ฉ๋ด์ ์ฒด ํ๋ก๊ทธ๋จ ๊ถํ ์ถ๋ ฅํ๊ธฐ
select a.module_cd
, a.module_nm
, isnull('A'+right('0'+convert(varchar, d.module_seq), 2), '') +isnull('A'+right('0'+convert(varchar, c.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, b.module_seq), 2), '') + 'A'+right('0'+convert(varchar, a.module_seq), 2) as ord
, a.module_seq AS module_seq
, a.module_level
, a.module_parent
, 0 AS form_seq
, '' AS emp_cd --์ฌ์ฉ์์ฝ๋
, '' AS emp_nm --์ฌ์ฉ์๋ช
, '' AS form_query--์กฐํ
, '' AS form_edit --์์
, '' AS form_insert--์
๋ ฅ
, '' AS form_delete --์ญ์
, '' AS form_print --์ถ๋ ฅ
, '' AS form_transmission --๋ณํ
, '' AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
into #temp
--์์
from cm_menu a
--๋ถ๋ชจ
left outer join cm_menu b on a.module_parent = b.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu c on b.module_parent = c.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu d on c.module_parent = d.module_cd
where a.module_gb = @module_gb
union all
select b.module_cd
, c.form_nm AS module_nm
, isnull('A'+right('0'+convert(varchar, a3.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a2.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a1.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a.module_seq), 2), '') + 'B'+right('0'+convert(varchar, b.form_seq), 2) as ord
, a.module_seq
, a.module_level
, a.module_parent
, b.form_seq AS form_seq
, '' AS emp_cd --์ฌ์ฉ์์ฝ๋
, '' AS emp_nm --์ฌ์ฉ์๋ช
, '' AS form_query--์กฐํ
, '' AS form_edit --์์
, '' AS form_insert--์
๋ ฅ
, '' AS form_delete --์ญ์
, '' AS form_print --์ถ๋ ฅ
, '' AS form_transmission --๋ณํ
, '' AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- , isnull(d.emp_cd,'') AS emp_cd --์ฌ์ฉ์์ฝ๋
-- , isnull(e.emp_nm,'') AS emp_nm --์ฌ์ฉ์๋ช
-- , isnull(d.form_query ,'N') AS form_query--์กฐํ
-- , isnull(d.form_edit ,'N') AS form_edit --์์
-- , isnull(d.form_insert ,'N') AS form_insert--์
๋ ฅ
-- , isnull(d.form_delete ,'N') AS form_delete --์ญ์
-- , isnull(d.form_print ,'N') AS form_print --์ถ๋ ฅ
-- , isnull(d.form_transmission ,'N') AS form_transmission --๋ณํ
-- , isnull(d.form_favorite_ok ,'N') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
--๋ถ๋ชจ
from cm_menu a
--๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a1 on a.module_parent = a1.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a2 on a1.module_parent = a2.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a3 on a2.module_parent = a3.module_cd
--์์
left join cm_menu_program b ON a.module_gb = b.module_gb AND a.module_cd = b.module_cd
left join cm_menu_form c ON b.form_cd = c.form_cd
-- left join menu_user_form d ON c.form_cd = d.form_cd AND d.emp_cd = '99003'
-- left join v_employee e ON d.emp_cd = e.emp_cd
where b.module_gb = @module_gb
--order by ord
--ํ๋ก๊ทธ๋จ์ด ์๋ ๋ฉ๋ด ์ญ์ (์์์ด ์๋ ๋ฉ๋ด ์ญ์ )
delete #temp
--๋ถ๋ชจ
from #temp a
--์์
left outer join (select * from #temp) b on b.ord like a.ord+'%' and a.ord <> b.ord
where a.ord not like '%B%'
and b.ord is null
--์ต์ข
์ ์ผ๋ก ์กฐํํ๋ค.
select space(len(a.ord)*2 - 6) + case when a.ord like '%B%' then '- ' else 'โ ' end + a.module_nm as display_nm
, b.company_full_image --ํ์ฌ ์ด๋ฏธ์ง
, c.common_part_nm AS module_nm
, null AS emp_nm
from #temp a
LEFT OUTER JOIN ( select c.company_full_image
from cm_parameter b
left outer join ma_plant c on b.parameter_value = c.plant_cd
where b.parameter_code = 'imagePlant') b on 1 = 1
LEFT JOIN cm_common c ON c.common_cd = 'CM015' AND c.common_part_cd = @module_gb
order by ord
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #temp
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ฒ๋ฆฌ ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_Menu_User
๋ชฉ์ โ ์ฌ์ฉ์๋ณ ๋ฉ๋ด ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_plant_cd | nvarchar(100) | IN |
@s_user_cd | nvarchar(100) | IN |
@s_user_nm | nvarchar(200) | IN |
@user_cd | nvarchar(100) | IN |
@user_nm | nvarchar(200) | IN |
@user_password | nvarchar(100) | IN |
@user_use_check | nvarchar(2) | IN |
@user_start_date | nvarchar(20) | IN |
@user_end_date | nvarchar(20) | IN |
@plant_cd | nvarchar(100) | IN |
@dept_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@sign_image | image(16) | IN |
@log_user_id | nvarchar(100) | IN |
@user_failed_num | nvarchar(20) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_Menu_User]
@gubun nvarchar(50) ='',
@s_plant_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด ์ฌ์
์ฅ ์ฝ๋
@s_user_cd nvarchar(50) ='', -- ๊ฒ์์กฐ๊ฑด ์ฌ์ฉ์์์ด๋
@s_user_nm nvarchar(100) ='', -- ๊ฒ์์กฐ๊ฑด ์ฌ์๋ช
@user_cd nvarchar(50) ='', -- ์ฌ์ฉ์์์ด๋
@user_nm nvarchar(100) ='', -- ์ฌ์ฉ์๋ช
@user_password nvarchar(50) ='', -- ์ฌ์ฉ์์ํธ
@user_use_check nvarchar(1) = '', -- ์ฌ์ฉ์ฌ๋ถ
@user_start_date nvarchar(10) = '', -- ์์์ผ์
@user_end_date nvarchar(10) = '', -- ์๋ฃ์ผ์
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@dept_cd nvarchar(50) = '', -- ๋ถ์์ฝ๋
@emp_cd nvarchar(50) ='', -- ์ฌ์์ฝ๋
@sign_image image =null,
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@user_failed_num nvarchar(10) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Select') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.user_cd, a.user_nm, a.user_password, a.user_use_check, a.user_failed_num,
a.user_start_date, a.user_end_date, a.plant_cd, d.plant_nm, a.emp_cd
,c.emp_nm
,b.log_cnt as current_on
FROM cm_menu_user a
LEFT OUTER JOIN ( SELECT user_cd, COUNT(*) AS log_cnt
FROM cm_system_access_history
WHERE logout_time is null
GROUP BY user_cd) b
ON (a.user_cd = b.user_cd)
LEFT OUTER JOIN ma_employee c ON (a.plant_cd = c.plant_cd AND a.emp_cd = c.emp_cd)
LEFT OUTER JOIN ma_plant d ON a.plant_cd = d.plant_cd
WHERE a.plant_cd LIKE @s_plant_cd + '%'
AND a.user_cd LIKE @s_user_cd + '%'
AND a.user_nm LIKE @s_user_nm + '%'
SELECT @intErrorCode = @@error
END
END
--์ฌ์ธ์กฐํ
else IF(@gubun = 'SelectSign') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT
EMP_SIGN
FROM
FINGERPRINT
WHERE
EMP_CD = @emp_cd
SELECT @intErrorCode = @@error
END
END
else IF(@gubun = 'Insert') BEGIN
IF(@intErrorCode = 0) BEGIN
-- ์ฌ์ฉ์ ๊ด๋ฆฌ
INSERT cm_menu_user
(MODULE_GB, user_cd, user_nm, user_password, user_use_check, user_failed_num, user_start_date, user_end_date, plant_cd, emp_cd, now_user_id)
VALUES
('001', @user_cd, @user_nm, @user_password, @user_use_check, 0, @user_start_date, @user_end_date, @plant_cd, @emp_cd, @user_cd)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from CM_MENU_USER where user_cd = @user_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_MENU_USER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @log_user_id, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
else IF(@gubun = 'Update') BEGIN
IF(@intErrorCode = 0) BEGIN
-- ์ฌ์ฉ์ ๊ด๋ฆฌ
UPDATE cm_menu_user
SET user_cd = @user_cd,
user_nm = @user_nm,
user_password = @user_password,
user_use_check = @user_use_check,
user_start_date = @user_start_date,
user_end_date = @user_end_date,
plant_cd = @plant_cd,
emp_cd = @emp_cd,
user_failed_num = @user_failed_num
WHERE user_cd = @user_cd and MODULE_GB = '001'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from CM_MENU_USER where user_cd = @user_cd and MODULE_GB = '001'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_MENU_USER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @log_user_id, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
else IF(@gubun = 'Del') BEGIN
IF(@intErrorCode = 0) BEGIN
DECLARE @intSysCount INT
DECLARE @intFormCount INT
SELECT @intSysCount= COUNT(*) FROM CM_SYSTEM_ACCESS_HISTORY WHERE user_cd= @user_cd--์ฌ์ฉ์ด๋ ฅ์ฒดํฌ
SELECT @intFormCount = COUNT(*) FROM CM_MENU_USER_FORM WHERE user_cd = @user_cd --์ฌ์ฉ์ ๊ถํ ์ค์ ์ฒดํฌ
-- IF(@intSysCount > 0)BEGIN --์ฌ์ฉ์ด๋ ฅ์ฒดํฌ
-- RETURN (-101)
-- END
IF(@intFormCount > 0)BEGIN --์ฌ์ฉ์ ๊ถํ ์ค์ ์ฒดํฌ
RETURN (-102)
END
ELSE BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from CM_MENU_USER where user_cd = @user_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_MENU_USER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @log_user_id, @audit_Remark = ''
--==================================================
DELETE
FROM cm_menu_user
WHERE user_cd = @user_cd and MODULE_GB = '001'
----==== Audit Trail : ๋ก๊ทธ๋ฅผ ๋จ๊ธด๋ค.101001 ๋ฐ๋ฏผ์ค====
--INSERT FINGERPRINT_at
-- ( PLANT_CD, DEPT_CD, EMP_CD,
-- EMP_SIGN, INSERT_USER_CD, INSERT_TIME,
-- LOG_IO_GB , LOG_USER_ID, LOG_TIME )
-- SELECT PLANT_CD, DEPT_CD, EMP_CD,
-- EMP_SIGN, INSERT_USER_CD, INSERT_TIME,
-- 'D' , @log_user_id, GETDATE()
-- FROM FINGERPRINT
-- WHERE EMP_CD = @emp_cd
----==================================================
--DELETE FINGERPRINT
--WHERE EMP_CD = @emp_cd
SELECT @intErrorCode = @@error
END
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_Menu_User_Form
๋ชฉ์ โ ์ฌ์ฉ์๋ณ ๋ฉ๋ดยทํผ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@module_gb | nvarchar(10) | IN |
@module_cd | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@form_query | nvarchar(2) | IN |
@form_edit | nvarchar(2) | IN |
@form_insert | nvarchar(2) | IN |
@form_delete | nvarchar(2) | IN |
@form_print | nvarchar(2) | IN |
@form_transmission | nvarchar(2) | IN |
@form_favorite_ok | nvarchar(2) | IN |
@insert_user | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*
declare @message nvarchar(200)
EXEC DBO.[SP_CM_Menu_User_Form] @Gubun='Select_user',@plant_cd = 'PC001', @message = @message out
*/
CREATE PROCEDURE [dbo].[SP_CM_Menu_User_Form]
@Gubun nvarchar(50),
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@module_gb nvarchar(5) = '', -- ๋ชจ๋๊ตฌ๋ถ
@module_cd nvarchar(50) = '',
@user_cd nvarchar(50) = '',
@form_cd nvarchar(50) = '', -- ํ๋ก๊ทธ๋จ ์ฝ๋
@form_query nvarchar(1) = '', -- ์กฐํ
@form_edit nvarchar(1) = '', -- ์์
@form_insert nvarchar(1) = '', -- ์
๋ ฅ
@form_delete nvarchar(1) = '', -- ์ญ์
@form_print nvarchar(1) = '', -- ์ถ๋ ฅ
@form_transmission nvarchar(1) = '', -- ๋ณํ
@form_favorite_ok nvarchar(1) = '', -- ์ฆ๊ฒจ์ฐพ๊ธฐ
@insert_user nvarchar(50) = '', -- ๊ถํ ๋ถ์ฌ์
@log_user_id nvarchar(50) = '', --AUDIT ์
๋ ฅ์
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) output
AS
SET @sys_emp_cd = @log_user_id
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #AUDIT_TEMP (audittrail_id VARCHAR(10))
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @Gubun = 'Select_user' ์ธ ๊ฒฝ์ฐ
IF (@Gubun='Select_user') BEGIN
SELECT a.user_cd ,a.user_nm ,b.emp_nm ,c.module_gb ,a.plant_cd
FROM cm_menu_user a
LEFT OUTER JOIN ma_employee b ON (a.emp_cd = b.emp_cd AND a.plant_cd = b.plant_cd)
LEFT OUTER JOIN cm_plant_license c ON a.plant_cd = c.plant_cd
WHERE a.plant_cd LIKE @plant_cd + '%'
SELECT @intErrorCode = @@error
END
ELSE IF (@Gubun='Select_form') BEGIN
SELECT a.form_cd AS ID
,a.module_cd as ParentID
,a.module_gb
,b.form_cd
,b.form_nm
,b.form_nm AS display_nm
,ISNULL(d.form_query, 'N') AS form_query --์กฐํ
,ISNULL(d.form_edit, 'N') AS form_edit --์์
,ISNULL(d.form_insert, 'N') AS form_insert --์
๋ ฅ
,ISNULL(d.form_delete, 'N') AS form_delete --์ญ์
,ISNULL(d.form_print, 'N') AS form_print --์ถ๋ ฅ
,ISNULL(d.form_transmission, 'N') AS form_transmission --๋ณํ
,ISNULL(d.form_favorite_ok, 'N') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
--์ ์ฒด์ ํ ์ถ๊ฐ(์์ ๋ชจ๋ ๊ฒ ์ฒดํฌ Y ์๋๋ฉด N)
,CASE WHEN PATINDEX('%N%',(d.form_query+d.form_edit+d.form_insert+d.form_delete+d.form_print+d.form_transmission+d.form_favorite_ok)) = '0' THEN 'Y' ELSE 'N' END AS allselect
,CASE WHEN d.form_cd is null THEN 'N' ELSE 'Y' END AS isexist
,'1' AS gubun
,0 AS module_seq
,a.form_seq
,c.module_level AS ord1
,c.module_seq AS ord2
,5 AS ImageIndex
FROM cm_menu_program a
LEFT OUTER JOIN cm_menu_form b ON(a.form_cd = b.form_cd)
LEFT OUTER JOIN cm_menu c ON(a.module_cd = c.module_cd AND c.module_gb = @module_gb )
LEFT OUTER JOIN cm_menu_user_form d ON d.user_cd = @user_cd AND a.form_cd = d.form_cd
WHERE a.module_gb = @module_gb
UNION ALL
SELECT a.module_cd AS ID
,a.module_parent AS ParentID
,a.module_gb
,''
,''
,a.module_nm AS display_nm
,''
,''
,''
,''
,''
,''
,''
,''
,''
,'0' AS gubun
,a.module_seq
,0 AS form_seq
,a.module_level AS ord1
,a.module_seq AS ord2
,a.module_level - 1 AS ImageIndex
FROM cm_menu a
WHERE a.module_gb = @module_gb AND a.module_cd <> a.module_parent
ORDER BY ord1, ord2, a.form_seq
SELECT @intErrorCode = @@error
END
ELSE IF (@Gubun='Insert') BEGIN
INSERT cm_menu_user_form( user_cd, form_cd, form_query, form_edit
,form_insert ,form_delete ,form_print ,form_transmission
,form_favorite_ok,grant_id ,grant_dt
,plant_cd ,module_gb ,module_cd)
VALUES ( @user_cd, @form_cd, @form_query, @form_edit
,@form_insert ,@form_delete ,@form_print,@form_transmission
,@form_favorite_ok,@insert_user , convert(char(10), getdate(), 120)
,@plant_cd ,@module_gb ,@module_cd)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form where USER_CD=@user_cd and FORM_CD=@form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
ELSE IF (@Gubun='Update') BEGIN
IF (@form_query = 'N' AND @form_edit = 'N' AND @form_insert = 'N' AND @form_delete = 'N'
AND @form_print = 'N' AND @form_transmission = 'N' AND @form_favorite_ok = 'N') BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form where USER_CD=@user_cd and FORM_CD=@form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--์ ๋ถ ๊ถํ์์ผ๋ฉด ์ญ์
-- [์ญ์ ] cm_menu_user_form
DELETE cm_menu_user_form
WHERE user_cd = @user_cd
AND form_cd = @form_cd
END
ELSE BEGIN
UPDATE cm_menu_user_form
SET form_query = @form_query,
form_edit = @form_edit,
form_insert = @form_insert,
form_delete = @form_delete,
form_print = @form_print,
form_transmission = @form_transmission,
form_favorite_ok = @form_favorite_ok,
grant_id = @insert_user,
grant_dt = convert(char(10), getdate(), 120)
WHERE user_cd = @user_cd
AND form_cd = @form_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form where USER_CD=@user_cd and FORM_CD=@form_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
SELECT @intErrorCode = @@error
END
/*
--์ฌ์ฉ์๊ถํ ๋ฆฌํฌํธ์ฉ ์ถ๊ฐ
ELSE IF(@Gubun='R') BEGIN
SELECT d.user_cd
,ISNULL(e.emp_nm,'') AS emp_nm
,b.form_cd
,b.form_nm
,b.form_nm AS display_nm
,ISNULL(d.form_query, 'N') AS form_query --์กฐํ
,ISNULL(d.form_edit, 'N') AS form_edit --์์
,ISNULL(d.form_insert, 'N') AS form_insert --์
๋ ฅ
,ISNULL(d.form_delete, 'N') AS form_delete --์ญ์
,ISNULL(d.form_print, 'N') AS form_print --์ถ๋ ฅ
,ISNULL(d.form_transmission, 'N') AS form_transmission --๋ณํ
,ISNULL(d.form_favorite_ok, 'N') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- , a.form_seq
FROM cm_menu_program a
LEFT OUTER JOIN cm_menu_form b ON(a.form_cd = b.form_cd)
LEFT OUTER JOIN cm_menu c ON(a.module_cd = c.module_cd AND c.module_gb = @module_gb )
LEFT OUTER JOIN cm_menu_user_form d ON d.user_cd = @user_cd AND a.form_cd = d.form_cd
LEFT OUTER JOIN v_employee e ON d.user_cd =e.emp_cd
WHERE a.module_gb = @module_gb
AND d.user_cd =@user_cd
ORDER BY a.form_seq
SELECT @intErrorCode = @@error
END
*/
ELSE IF (@Gubun ='R')
BEGIN
--080310 ์ฌ์ฉ์ ๊ถํ ์๋๊ฒ๋ง ์ถ๋ ฅ ์์
--080305 (์ตํ์ฅ๋ ์์ ) ๋ฉ๋ด์ ์ฒด ํ๋ก๊ทธ๋จ ๊ถํ ์ถ๋ ฅํ๊ธฐ
select a.module_cd
, a.module_nm
, isnull('A'+right('0'+convert(varchar, d.module_seq), 2), '') +isnull('A'+right('0'+convert(varchar, c.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, b.module_seq), 2), '') + 'A'+right('0'+convert(varchar, a.module_seq), 2) as ord
, a.module_seq AS module_seq
, a.module_level
, a.module_parent
, 0 AS form_seq
, '' AS emp_cd --์ฌ์ฉ์์ฝ๋
--, '' AS emp_nm --์ฌ์ฉ์๋ช
, (select USER_nm from CM_MENU_USER where USER_CD = @user_cd) AS emp_nm --์ฌ์ฉ์๋ช
, '' AS form_query--์กฐํ
, '' AS form_edit --์์
, '' AS form_insert--์
๋ ฅ
, '' AS form_delete --์ญ์
, '' AS form_print --์ถ๋ ฅ
, '' AS form_transmission --๋ณํ
, '' AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
into #temp
--์์
from cm_menu a
--๋ถ๋ชจ
left outer join cm_menu b on a.module_parent = b.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu c on b.module_parent = c.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu d on c.module_parent = d.module_cd
where a.module_gb = @module_gb
union all
select b.module_cd
, c.form_nm AS module_nm
, isnull('A'+right('0'+convert(varchar, a3.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a2.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a1.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a.module_seq), 2), '') + 'B'+right('0'+convert(varchar, b.form_seq), 2) as ord
, a.module_seq
, a.module_level
, a.module_parent
, b.form_seq AS form_seq
, isnull(d.user_cd,'') AS emp_cd --์ฌ์ฉ์์ฝ๋
, isnull(f.USER_NM,'') AS emp_nm --์ฌ์ฉ์๋ช
, isnull(d.form_query ,'') AS form_query--์กฐํ
, isnull(d.form_edit ,'') AS form_edit --์์
, isnull(d.form_insert ,'') AS form_insert--์
๋ ฅ
, isnull(d.form_delete ,'') AS form_delete --์ญ์
, isnull(d.form_print ,'') AS form_print --์ถ๋ ฅ
, isnull(d.form_transmission ,'') AS form_transmission --๋ณํ
, isnull(d.form_favorite_ok ,'') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
--๋ถ๋ชจ
from cm_menu a
--๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a1 on a.module_parent = a1.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a2 on a1.module_parent = a2.module_cd
--๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
left outer join cm_menu a3 on a2.module_parent = a3.module_cd
--์์
left join cm_menu_program b ON a.module_gb = b.module_gb AND a.module_cd = b.module_cd
left join cm_menu_form c ON b.form_cd = c.form_cd
left join cm_menu_user_form d ON c.form_cd = d.form_cd AND d.user_cd = @user_cd --'99003'
left join CM_MENU_USER f on f.USER_CD = d.USER_CD
left join ma_employee e ON e.EMP_CD = f.EMP_CD
where b.module_gb = @module_gb
and d.user_cd = @user_cd --'99003' -- ์ฌ์ฉ์๊ถํ์ด ๋ถ์ฌ๋ ํ๋ก๊ทธ๋จ๋ง ์ ํ
--order by ord
--ํ๋ก๊ทธ๋จ์ด ์๋ ๋ฉ๋ด ์ญ์ (์์์ด ์๋ ๋ฉ๋ด ์ญ์ )
delete #temp
--๋ถ๋ชจ
from #temp a
--์์
left outer join (select * from #temp) b on b.ord like a.ord+'%' and a.ord <> b.ord
where a.ord not like '%B%'
and b.ord is null
if exists( select * from #temp)
begin
--์ต์ข
์ ์ผ๋ก ์กฐํํ๋ค.
select space(len(ord)*2 - 6) + case when ord like '%B%' then '- ' else 'โ ' end + module_nm as display_nm
, '' as company_full_image --ํ์ฌ ์ด๋ฏธ์ง
, c.common_part_nm AS module_nm --ํ๋ก๊ทธ๋จ ๋ชจ๋ ๊ตฌ๋ถ๋ช
, a.emp_cd AS emp_cd --์ฌ์ฉ์์ฝ๋
, a.emp_nm AS emp_nm --์ฌ์ฉ์๋ช
, a.form_query AS form_query--์กฐํ
, a.form_edit AS form_edit --์์
, a.form_insert AS form_insert--์
๋ ฅ
, a.form_delete AS form_delete --์ญ์
, a.form_print AS form_print --์ถ๋ ฅ
, a.form_transmission AS form_transmission --๋ณํ
, a.form_favorite_ok AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
from #temp a
--LEFT OUTER JOIN ( select c.company_full_image
-- from cm_parameter b
-- left outer join ma_plant c on b.parameter_value = c.plant_cd
-- where b.parameter_code = 'imagePlant') b on 1 = 1
LEFT JOIN common c ON c.common_cd = 'CM015' AND c.common_part_cd = @module_gb
--LEFT JOIN ma_employee d ON d.emp_cd = @user_cd
order by ord
end
else
begin --๊ถํ์ด ํ๋๋ ์์๋ ๋ ํฌํธ์ ์ด๋ฆ๋ง ์ถ๋ ฅ๋๊ฒ
select
USER_nm as emp_nm
from CM_MENU_USER
where USER_CD = @user_cd
end
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #temp
END
--์ฌ์ฉ์๊ถํ ๋ฆฌํฌํธ์ฉ ์ถ๊ฐ
ELSE IF(@Gubun='GridSelect') BEGIN
SELECT e.user_nm
,b.form_cd
,b.form_nm AS display_nm
,ISNULL(d.form_query, 'N') AS form_query --์กฐํ
,ISNULL(d.form_edit, 'N') AS form_edit --์์
,ISNULL(d.form_insert, 'N') AS form_insert --์
๋ ฅ
,ISNULL(d.form_delete, 'N') AS form_delete --์ญ์
,ISNULL(d.form_print, 'N') AS form_print --์ถ๋ ฅ
,ISNULL(d.form_transmission, 'N') AS form_transmission --๋ณํ
,ISNULL(d.form_favorite_ok, 'N') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- , a.form_seq
FROM cm_menu_program a
LEFT OUTER JOIN cm_menu_form b ON(a.form_cd = b.form_cd)
LEFT OUTER JOIN cm_menu c ON(a.module_cd = c.module_cd AND c.module_gb = @module_gb )
LEFT OUTER JOIN cm_menu_user_form d ON d.user_cd = @user_cd AND a.form_cd = d.form_cd
LEFT OUTER JOIN dbo.CM_MENU_USER e ON d.user_cd =e.user_cd
WHERE a.module_gb = @module_gb
AND d.user_cd =@user_cd
ORDER BY a.form_seq
SELECT @intErrorCode = @@error
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_User_Layout
๋ชฉ์ โ ์ฌ์ฉ์ ๋ ์ด์์(ํ๋ฉด ์ค์ ) ์กฐํยท์ ์ฅ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@control_name | nvarchar(100) | IN |
@control_layout | nvarchar | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
create PROCEDURE [dbo].[SP_CM_User_Layout]
@gubun nvarchar(50), --๊ตฌ๋ถ์
@user_cd nvarchar(50),
@form_cd nvarchar(50),
@control_name nvarchar(50),
@control_layout nvarchar(MAX)='',
@message nvarchar(2000) = '' output
AS
DECLARE @intErrorCode int
DECLARE @count_row int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Save' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Save') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT @count_row = COUNT(*)
FROM cm_user_layout
WHERE user_cd = @user_cd
AND form_cd = @form_cd
AND control_name = @control_name
SELECT @intErrorCode = @@error
END
IF (@intErrorCode = 0) BEGIN
IF(@count_row = 0) BEGIN
-- [์ ์ฌ] cm_user_layout
INSERT INTO cm_user_layout
SELECT @user_cd, @form_cd, @control_name, @control_layout
SELECT @intErrorCode = @@error
END
ELSE BEGIN
UPDATE cm_user_layout
SET control_layout = @control_layout
WHERE user_cd = @user_cd
AND form_cd = @form_cd
AND control_name = @control_name
SELECT @intErrorCode = @@error
END
END
END
ELSE IF (@gubun = 'Load') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT user_cd, form_cd, control_name, control_layout
FROM cm_user_layout
WHERE user_cd = @user_cd
AND form_cd = @form_cd
AND control_name = @control_name
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@intErrorCode
AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ChangePassword
๋ชฉ์ โ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@user_password | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ :
์ ์ ์ :
SP ๋ช
:
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
:
์ฌ ์ฉ ์ฒ :
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ChangePassword]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@user_cd nvarchar(50) ='', -- ์ฌ์ฉ์์์ด๋
@user_password nvarchar(50) ='', -- ์ฌ์ฉ์์ํธ
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) output
AS
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Confirm' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Confirm') BEGIN
IF EXISTS(SELECT 1 FROM CM_MENU_USER WHERE USER_CD=@user_cd and USER_PASSWORD=@user_password)
BEGIN
SELECT 'CONFIRMED'
END
ELSE
BEGIN
SELECT 'NOT CONFIRMED'
END
END
ELSE IF (@gubun = 'Update') BEGIN
-- ์ฌ์ฉ์ ๊ด๋ฆฌ
UPDATE cm_menu_user
SET user_password = @user_password
,USER_END_DATE = CONVERT(CHAR(10), DATEADD(month,1,GETDATE()),23)
WHERE user_cd = @user_cd and MODULE_GB = '001'
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from CM_MENU_USER where user_cd = @user_cd and MODULE_GB = '001'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_MENU_USER', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_Employee_group_manage
๋ชฉ์ โ ์ฌ์ ๊ทธ๋ฃน ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(10) | IN |
@group_text | nvarchar(100) | IN |
@emp_text | nvarchar(100) | IN |
@use_yn_S | nvarchar(20) | IN |
@emp_group_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@sys_plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์ด์ธ๋ฏผ
์์ ์ :
SP๋ช
: SP_Employee_group_manage
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ์ฌ์/๊ทธ๋ฃน์ค์
์ฌ์ฉ์ฒ : Employee_group_manage
ํ
์ด๋ธ : emp_group, employee, emp_group_set
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_Employee_group_manage]
@gubun nvarchar(5) = '',
@group_text nvarchar(50) = '',
@emp_text nvarchar(50) = '',
@use_yn_S nvarchar(10) = '',
@emp_group_cd nvarchar(50) = '',
@emp_cd nvarchar(50) = '',
@sys_plant_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S') --๊ทธ๋ฃน๊ทธ๋ฆฌ๋
BEGIN
--select emp_group_cd
-- ,emp_group_nm
--from emp_group
--where use_yn = 'Y' --์ฌ์ฉํ๋๊ฒ๋ง ์กฐํํ๋ค.
--and (emp_group_cd like @group_text +'%' or emp_group_nm like @group_text + '%')
select distinct a.emp_group_cd
,a.emp_group_nm
from emp_group a
left join EMP_GROUP_SET b on(a.emp_group_cd = b.emp_group_cd)
where a.use_yn = 'Y' --์ฌ์ฉํ๋๊ฒ๋ง ์กฐํํ๋ค.
and (a.emp_group_cd like @group_text +'%' or a.emp_group_nm like @group_text + '%')
--and (b.emp_cd like @emp_text + '%')
set @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'S1') --์ฌ์/๊ทธ๋ฃน ๊ด๋ฆฌ๊ทธ๋ฆฌ๋(๊ทธ๋ฃน๊ธฐ์ค)
BEGIN
SELECT a.emp_group_cd
,a.emp_cd
,b.emp_nm
,b.dept_cd
,c.dept_nm
FROM emp_group_set a
left outer join MA_EMPLOYEE b on a.emp_cd = b.emp_cd
left outer join MA_DEPARTMENT c on b.dept_cd = c.dept_cd
WHERE a.emp_group_cd = @emp_group_cd
and (a.emp_cd like @emp_text +'%' or b.emp_nm like @emp_text + '%')
--and a.sys_plant_cd = @sys_plant_cd
set @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'S2') --์ฌ์๊ทธ๋ฆฌ๋
BEGIN
select a.emp_cd
,a.emp_nm
,a.dept_cd
,b.dept_nm
from MA_EMPLOYEE a
left outer join MA_DEPARTMENT b oN a.dept_cd = b.dept_cd
set @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'S3') --์ฌ์/๊ทธ๋ฃน ๊ด๋ฆฌ๊ทธ๋ฆฌ๋(์ฌ์๊ธฐ์ค)
BEGIN
SELECT a.emp_group_cd
,a.emp_cd
,b.emp_group_nm
FROM emp_group_set a
left outer join emp_group b on a.emp_group_cd = b.emp_group_cd
WHERE a.emp_cd like @emp_text +'%'
and (a.emp_group_cd like @group_text +'%' or b.emp_group_nm like @group_text + '%')
set @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'I')
BEGIN
IF((SELECT COUNT(*) FROM EMP_GROUP_SET WHERE emp_cd = @emp_cd AND emp_group_cd = @emp_group_cd) > 0)
BEGIN
RAISERROR ('๊ธฐ์กด์ ๋ฑ๋ก๋์ด์์ต๋๋ค.' , 16, 1);
END
ELSE
BEGIN
-- [์ ์ฌ] emp_group_set
insert into emp_group_set
(
emp_group_cd
,emp_cd
)
values (
@emp_group_cd
,@emp_cd
)
END
set @message = '์
๋ ฅ๋์์ต๋๋ค'
----audittrail ์์ฑ
-- select @audittrail_id = audittrail_id from emp_group_set where sys_plant_cd = @sys_plant_cd and emp_group_cd = @emp_group_cd and emp_cd = @emp_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group_set', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@gubun = 'D')
BEGIN
----audittrail ์์ฑ
-- select @audittrail_id = audittrail_id from emp_group_set where sys_plant_cd = @sys_plant_cd and emp_group_cd = @emp_group_cd and emp_cd = @emp_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group_set', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] emp_group_set
delete emp_group_set
where emp_group_cd = @emp_group_cd
and emp_cd = @emp_cd
set @message = '์ญ์ ๋์์ต๋๋ค'
END
SP_GroupMenuManage
๋ชฉ์ โ ๊ทธ๋ฃน๋ณ ๋ฉ๋ด ๊ถํ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(4) | IN |
@dept_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@module_gb | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@form_query | nvarchar(2) | IN |
@form_edit | nvarchar(2) | IN |
@form_insert | nvarchar(2) | IN |
@form_delete | nvarchar(2) | IN |
@form_print | nvarchar(2) | IN |
@form_transmission | nvarchar(2) | IN |
@form_favorite_ok | nvarchar(2) | IN |
@insert_user | nvarchar(100) | IN |
@emp_cd2 | nvarchar(100) | IN |
@user_id | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@module_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_GroupMenuManage]
@Gubun nvarchar(2),
@dept_cd nvarchar(50) = '',
@emp_cd nvarchar(50) = '',
@module_gb nvarchar(50) = '',
@form_cd nvarchar(50) = '',
@form_query nvarchar(1) = 'N',
@form_edit nvarchar(1) = 'N',
@form_insert nvarchar(1) = 'N',
@form_delete nvarchar(1) = 'N',
@form_print nvarchar(1) = 'N',
@form_transmission nvarchar(1) = 'N',
@form_favorite_ok nvarchar(1) = 'N',
@insert_user nvarchar(50) = '',
@emp_cd2 nvarchar(50) = '', --๊ถํ ๋ณต์ฌ์ฉ ์ฌ์์ฝ๋
@user_id nvarchar(50) = '',
@log_user_id nvarchar(50) = '', --AUDIT ์
๋ ฅ์
@sys_plant_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@module_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
SET @sys_emp_cd = @log_user_id
set @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
DECLARE @audittrail_id INT
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #AUDIT_TEMP (audittrail_id VARCHAR(10))
-- [๋ถ๊ธฐ] @Gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF (@Gubun='S1')
BEGIN
SELECT emp_group_cd AS emp_cd,
emp_group_nm AS emp_nm,
use_yn AS retire_yn
FROM emp_group a
ORDER BY emp_group_cd, emp_group_nm
END
ELSE IF (@Gubun='S2')
BEGIN
SELECT isnull(a.form_cd, '') + '*' + isnull(a.module_cd, '') AS ID, a.module_cd AS ParentID,
b.form_cd, b.form_nm,
b.form_nm AS display_nm,
isnull(d.form_query, 'N') as form_query, --์กฐํ
isnull(d.form_edit, 'N') as form_edit, --์์
isnull(d.form_insert, 'N') as form_insert, --์
๋ ฅ
isnull(d.form_delete, 'N') as form_delete, --์ญ์
isnull(d.form_print, 'N') as form_print, --์ถ๋ ฅ
isnull(d.form_transmission, 'N') as form_transmission, --๋ณํ
isnull(d.form_favorite_ok, 'N') as form_favorite_ok, --์ฆ๊ฒจ์ฐพ๊ธฐ
--์ ์ฒด์ ํ ์ถ๊ฐ(์์ ๋ชจ๋ ๊ฒ ์ฒดํฌ Y ์๋๋ฉด N)
case when PATINDEX('%N%',(d.form_query+d.form_edit+d.form_insert+d.form_delete+d.form_print+d.form_transmission+d.form_favorite_ok)) = '0' then 'Y' else 'N' end as allselect,
case when d.form_cd is null then 'N' else 'Y' end as isexist,
'1' as gubun,
0 as module_seq, a.form_seq, c.module_level as ord1, c.module_seq as ord2, 5 as ImageIndex
FROM CM_MENU_PROGRAM a
INNER JOIN CM_MENU_FORM b ON a.module_gb = @module_gb AND a.form_cd = b.form_cd
INNER JOIN CM_MENU c on a.module_cd = c.module_cd
LEFT OUTER JOIN CM_MENU_USER_FORM d ON d.ge_gubun = 'G' and d.USER_CD = @emp_cd AND b.form_cd = d.form_cd
--,(select user_security from menu_user where now_user_id = @user_id and sys_plant_cd = @sys_plant_cd) e
--WHERE b.form_security <= e.user_security
--AND a.sys_plant_cd = @sys_plant_cd
--WHERE a.sys_plant_cd = @sys_plant_cd
union all
SELECT a.module_cd AS ID, a.module_parent AS ParentID,
'', '',
a.module_nm AS display_nm,
'', '', '', '', '', '', '', '',
'',
'0' as gubun,
a.module_seq, 0 as form_seq, a.module_level as ord1, a.module_seq as ord2, a.module_level - 1 as ImageIndex
FROM CM_MENU a
WHERE a.module_gb = @module_gb AND a.module_cd <> a.module_parent and module_parent<>'G-999999999' and module_cd <> 'G-999999999'
order by ord1, ord2, a.form_seq
END
ELSE IF(@Gubun='U')
BEGIN
IF (@form_query = 'N' AND @form_edit = 'N' AND @form_insert = 'N' AND @form_delete = 'N'
AND @form_print = 'N' AND @form_transmission = 'N' AND @form_favorite_ok = 'N')
BEGIN
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form WHERE USER_CD = @emp_cd AND form_cd = @form_cd AND ge_gubun = 'G'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] CM_MENU_USER_FORM
DELETE CM_MENU_USER_FORM
WHERE USER_CD = @emp_cd
AND form_cd = @form_cd
--AND sys_plant_cd = @sys_plant_cd
and ge_gubun = 'G'
END
ELSE
BEGIN
UPDATE CM_MENU_USER_FORM
SET form_query = @form_query,
form_edit = @form_edit,
form_insert = @form_insert,
form_delete = @form_delete,
form_print = @form_print,
form_transmission = @form_transmission,
form_favorite_ok = @form_favorite_ok,
grant_id = @insert_user,
grant_dt = convert(char(10), getdate(), 120)
where USER_CD = @emp_cd
AND form_cd = @form_cd
--AND sys_plant_cd = @sys_plant_cd
and ge_gubun = 'G'
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form WHERE USER_CD = @emp_cd AND form_cd = @form_cd AND ge_gubun = 'G'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
ELSE IF (@Gubun='I')
BEGIN
INSERT CM_MENU_USER_FORM( USER_CD, form_cd,
form_query, form_edit, form_insert, form_delete, form_print, form_transmission,
form_favorite_ok, grant_id, grant_dt, MODULE_CD, MODULE_GB, ge_gubun)
VALUES( @emp_cd, @form_cd,
@form_query, @form_edit, @form_insert, @form_delete, @form_print, @form_transmission,
@form_favorite_ok, @insert_user, CONVERT(NVARCHAR(10), getdate(),121), @module_cd, @module_gb, 'G')
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from cm_menu_user_form WHERE USER_CD = @emp_cd AND form_cd = @form_cd AND ge_gubun = 'G'
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_menu_user_form', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค'
END
--๊ถํ ๋ณต์ฌ
ELSE IF (@Gubun='I2')
BEGIN
--INSERT INTO #AUDIT_TEMP
--SELECT audittrail_id FROM menu_user_form WHERE emp_cd = @emp_cd2 AND sys_plant_cd = @sys_plant_cd AND ge_gubun = 'G'
-- EXEC SP_AuditTrail_BULK @TABLENAME = 'menu_user_form', @AUDIT_GUBUN = 'D', @AUDIT_EMP_CD = @sys_emp_cd, @AUDIT_REMARK = ''
--๊ถํ์ ๋ณต์ฌ ๋ฐ์ ๋์์ ๊ธฐ์กด ๊ถํ์ ์ญ์ ํ ๋ค์ ์
๋ ฅ ํ๋ค.
DELETE
FROM CM_MENU_USER_FORM
WHERE USER_CD = @emp_cd2
--AND sys_plant_cd = @sys_plant_cd
and ge_gubun = 'G'
--INSERT INTO #AUDIT_TEMP
--SELECT a.audittrail_id FROM menu_user_form a LEFT OUTER JOIN menu_user_form b ON a.sys_plant_cd = b.sys_plant_cd AND b.emp_cd = @emp_cd2 AND a.form_cd = b.form_cd
--WHERE a.emp_cd = @emp_cd
--AND a.sys_plant_cd = @sys_plant_cd
--AND a.ge_gubun = 'G'
--and b.form_cd is not null
INSERT CM_MENU_USER_FORM( USER_CD, form_cd,
form_query, form_edit, form_insert, form_delete, form_print, form_transmission,
form_favorite_ok, grant_id, grant_dt, ge_gubun)
select @emp_cd2, a.form_cd,
a.form_query, a.form_edit, a.form_insert, a.form_delete, a.form_print, a.form_transmission,
'N', a.grant_id, a.grant_dt, 'G'
from CM_MENU_USER_FORM a
left outer join CM_MENU_USER_FORM b on b.USER_CD = @emp_cd2 and a.form_cd = b.form_cd
where a.USER_CD = @emp_cd
--and a.sys_plant_cd = @sys_plant_cd
and a.ge_gubun = 'G'
--and b.form_cd is not null
--EXEC SP_AuditTrail_BULK @TABLENAME = 'menu_user_form', @AUDIT_GUBUN = 'D', @AUDIT_EMP_CD = @sys_emp_cd, @AUDIT_REMARK = ''
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค'
END
--ELSE IF (@Gubun ='R')
-- BEGIN
-- --080310 ์ฌ์ฉ์ ๊ถํ ์๋๊ฒ๋ง ์ถ๋ ฅ ์์
-- --080305 (์ตํ์ฅ๋ ์์ ) ๋ฉ๋ด์ ์ฒด ํ๋ก๊ทธ๋จ ๊ถํ ์ถ๋ ฅํ๊ธฐ
-- select a.module_cd
-- , a.module_nm
-- , isnull('A'+right('0'+convert(varchar, d.module_seq), 2), '') +isnull('A'+right('0'+convert(varchar, c.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, b.module_seq), 2), '') + 'A'+right('0'+convert(varchar, a.module_seq), 2) as ord
-- , a.module_seq AS module_seq
-- , a.module_level
-- , a.module_parent
-- , 0 AS form_seq
-- , '' AS emp_cd --์ฌ์ฉ์์ฝ๋
-- , '' AS emp_nm --์ฌ์ฉ์๋ช
-- , '' AS form_query--์กฐํ
-- , '' AS form_edit --์์
-- , '' AS form_insert--์
๋ ฅ
-- , '' AS form_delete --์ญ์
-- , '' AS form_print --์ถ๋ ฅ
-- , '' AS form_transmission --๋ณํ
-- , '' AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- into #temp
-- --์์
-- from CM_MENU a
-- --๋ถ๋ชจ
-- left outer join CM_MENU b on a.module_parent = b.module_cd
-- --๋ถ๋ชจ์ ๋ถ๋ชจ
-- left outer join CM_MENU c on b.module_parent = c.module_cd
-- --๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
-- left outer join CM_MENU d on c.module_parent = d.module_cd
-- where a.module_gb = @module_gb
-- --and a.sys_plant_cd = @sys_plant_cd
-- union all
-- select b.module_cd
-- , c.form_nm AS module_nm
-- , isnull('A'+right('0'+convert(varchar, a3.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a2.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a1.module_seq), 2), '') + isnull('A'+right('0'+convert(varchar, a.module_seq), 2), '') + 'B'+right('0'+convert(varchar, b.form_seq), 2) as ord
-- , a.module_seq
-- , a.module_level
-- , a.module_parent
-- , b.form_seq AS form_seq
-- , isnull(d.emp_cd,'') AS emp_cd --์ฌ์ฉ์์ฝ๋
-- , isnull(e.emp_nm,'') AS emp_nm --์ฌ์ฉ์๋ช
-- , isnull(d.form_query ,'') AS form_query--์กฐํ
-- , isnull(d.form_edit ,'') AS form_edit --์์
-- , isnull(d.form_insert ,'') AS form_insert--์
๋ ฅ
-- , isnull(d.form_delete ,'') AS form_delete --์ญ์
-- , isnull(d.form_print ,'') AS form_print --์ถ๋ ฅ
-- , isnull(d.form_transmission ,'') AS form_transmission --๋ณํ
-- , isnull(d.form_favorite_ok ,'') AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- --๋ถ๋ชจ
-- from CM_MENU a
-- --๋ถ๋ชจ์ ๋ถ๋ชจ
-- left outer join CM_MENU a1 on a.module_parent = a1.module_cd
-- --๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
-- left outer join CM_MENU a2 on a1.module_parent = a2.module_cd
-- --๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ์ ๋ถ๋ชจ
-- left outer join CM_MENU a3 on a2.module_parent = a3.module_cd
-- --์์
-- left join CM_MENU_PROGRAM b ON a.module_gb = b.module_gb AND a.module_cd = b.module_cd
-- left join CM_MENU_FORM c ON b.form_cd = c.form_cd
-- left join CM_MENU_USER_FORM d ON d.ge_gubun = 'G' and c.form_cd = d.form_cd AND d.USER_CD = @emp_cd --'99003'
-- left join MA_EMPLOYEE e ON d.USER_CD = e.emp_cd
-- where b.module_gb = @module_gb
-- and d.USER_CD = @emp_cd --'99003' -- ์ฌ์ฉ์๊ถํ์ด ๋ถ์ฌ๋ ํ๋ก๊ทธ๋จ๋ง ์ ํ
-- --order by ord
-- --ํ๋ก๊ทธ๋จ์ด ์๋ ๋ฉ๋ด ์ญ์ (์์์ด ์๋ ๋ฉ๋ด ์ญ์ )
-- delete #temp
-- --๋ถ๋ชจ
-- from #temp a
-- --์์
-- left outer join (select * from #temp) b on b.ord like a.ord+'%' and a.ord <> b.ord
-- where a.ord not like '%B%'
-- and b.ord is null
-- --์ต์ข
์ ์ผ๋ก ์กฐํํ๋ค.
-- select space(len(ord)*2 - 6) + case when ord like '%B%' then '- ' else 'โ ' end + module_nm as display_nm
-- , b.company_full_image --ํ์ฌ ์ด๋ฏธ์ง
-- , c.common_part_nm AS module_nm --ํ๋ก๊ทธ๋จ ๋ชจ๋ ๊ตฌ๋ถ๋ช
-- , a.emp_cd AS emp_cd --์ฌ์ฉ์์ฝ๋
-- , d.emp_nm AS emp_nm --์ฌ์ฉ์๋ช
-- , a.form_query AS form_query--์กฐํ
-- , a.form_edit AS form_edit --์์
-- , a.form_insert AS form_insert--์
๋ ฅ
-- , a.form_delete AS form_delete --์ญ์
-- , a.form_print AS form_print --์ถ๋ ฅ
-- , a.form_transmission AS form_transmission --๋ณํ
-- , a.form_favorite_ok AS form_favorite_ok --์ฆ๊ฒจ์ฐพ๊ธฐ
-- from #temp a
-- LEFT OUTER JOIN ( select *
-- from CM_PARAMETER b
-- left outer join MA_PLANT c on b.parameter_value = c.plant_cd
-- where b.parameter_code = 'imagePlant'
-- --and b.sys_plant_cd = @sys_plant_cd
-- ) b on 1 = 1
-- LEFT JOIN common c ON c.sys_plant_cd = @sys_plant_cd and c.common_cd = 'CM015' AND c.common_part_cd = @module_gb
-- LEFT JOIN v_employee d ON d.sys_plant_cd = @sys_plant_cd and d.emp_cd = @emp_cd
-- order by ord
-- drop table #temp
-- END
SP_Group_manage
๋ชฉ์ โ ๊ทธ๋ฃน(๊ถํ) ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(10) | IN |
@group_text | nvarchar(100) | IN |
@use_yn_S | nvarchar(20) | IN |
@emp_group_cd | nvarchar(100) | IN |
@emp_group_nm | nvarchar(200) | IN |
@remark | nvarchar(510) | IN |
@use_yn | nvarchar(10) | IN |
@sys_plant_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์ด์ธ๋ฏผ
์์ ์ :
SP๋ช
: SP_Group_manage
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ๊ทธ๋ฃน๊ด๋ฆฌ
์ฌ์ฉ์ฒ : Group_manage
ํ
์ด๋ธ : emp_group
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE proc [dbo].[SP_Group_manage]
@gubun nvarchar(5) = '',
@group_text nvarchar(50) = '',
@use_yn_S nvarchar(10) = '',
@emp_group_cd nvarchar(50) = '',
@emp_group_nm nvarchar(100) = '',
@remark nvarchar(255) = '',
@use_yn nvarchar(5) = '',
@sys_plant_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S')
BEGIN
select a.emp_group_cd
,a.emp_group_nm
,a.remark
,a.use_yn
,case when isnull(a.use_yn,'N') = 'Y' then '์ฌ์ฉ' else '์ฌ์ฉ์ํจ' end as use_yn_nm
from EMP_GROUP a
where a.emp_group_cd like @group_text +'%' --or a.emp_group_nm like @group_text + '%')
and (
(@use_yn_S = '1' and a.use_yn like '%')
or
(@use_yn_S = '2' and a.use_yn = 'Y')
)
set @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'I')
BEGIN
-- [์ ์ฌ] EMP_GROUP
INSERT INTO EMP_GROUP
(
emp_group_cd
,emp_group_nm
,remark
,use_yn
)
VALUES (
@emp_group_cd
,@emp_group_nm
,@remark
,@use_yn
)
set @message = '์
๋ ฅ๋์์ต๋๋ค'
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from emp_group where emp_group_cd = @emp_group_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@gubun = 'U')
BEGIN
UPDATE EMP_GROUP
SET emp_group_nm = @emp_group_nm
,remark = @remark
,use_yn = @use_yn
WHERE emp_group_cd = @emp_group_cd
set @message = '์์ ๋์์ต๋๋ค'
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from emp_group where emp_group_cd = @emp_group_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
ELSE IF(@gubun = 'D')
BEGIN
--select @audittrail_id = audittrail_id from emp_group_set where EMP_GROUP_cd = @EMP_GROUP_cd
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group_set', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--๊ทธ๋ฃน/์ฌ์์ ๊ด๋ จ๋ ๋ฐ์ดํฐ ์ญ์
-- [์ญ์ ] EMP_GROUP_SET
DELETE EMP_GROUP_SET
WHERE emp_group_cd = @emp_group_cd
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from emp_group where emp_group_cd = @emp_group_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'emp_group', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
select * from EMP_GROUP_SET
--๊ทธ๋ฃน๋ฐ์ดํฐ ์ญ์
-- [์ญ์ ] EMP_GROUP
DELETE EMP_GROUP
WHERE emp_group_cd = @emp_group_cd
set @message = '์ญ์ ๋์์ต๋๋ค'
END
SP_SY_AccessLog
๋ชฉ์ โ ์์คํ ์ ๊ทผ ๋ก๊ทธ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@id | int(4) | IN |
@serial | int(4) | IN |
@emp_cd | nvarchar(100) | IN |
@login_time | datetime(8) | IN |
@logout_time | datetime(8) | IN |
@program_id | nvarchar(100) | IN |
@position_no | nvarchar(10) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_SY_AccessLog]
@Gubun nvarchar(50) = '',
@id int = null,
@serial int = null,
@emp_cd nvarchar(50) = null,
@login_time datetime = null,
@logout_time datetime = null,
@program_id nvarchar(50) = null,
@position_no nvarchar(5) = '',
@message NVARCHAR(2000) output
AS
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
--์์คํ
๋ก๊ทธ์ธ
IF @Gubun = 'I1'
BEGIN
-- [์ ์ฌ] cm_system_access_history
INSERT INTO cm_system_access_history (user_cd, login_time, logout_time)
VALUES(@emp_cd, getdate(), null)
set @message = CONVERT(VARCHAR, @@identity)
END
--ํ๋ก๊ทธ๋จ ๋ก๊ทธ์ธ
ELSE IF (@Gubun='I2')
BEGIN
-- [์ ์ฌ] cm_program_access_history
INSERT INTO cm_program_access_history (system_access_history_id, user_cd, form_cd, start_time, end_time)
VALUES(@id, @emp_cd, @program_id, getdate(), null)
SET @message = CONVERT(VARCHAR, @@identity-60000)
END
--์์คํ
๋ก๊ทธ์์
ELSE IF (@Gubun = 'U1')
BEGIN
UPDATE cm_program_access_history
SET end_time = getdate()
WHERE system_access_history_id = @id AND end_time is null
UPDATE cm_system_access_history
SET logout_time = getdate()
WHERE system_access_history_id = @id AND logout_time is null
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
-- ํ๋ก๊ทธ๋จ ๋ก๊ทธ์์
ELSE IF (@Gubun = 'U2')
BEGIN
UPDATE cm_program_access_history
SET end_time = getdate()
WHERE program_access_history_id = @serial+60000
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
--ํน์ ์ฌ์ ๋ก๊ทธ์์
ELSE IF (@Gubun = 'U3')
BEGIN
UPDATE cm_system_access_history
SET logout_time = getdate()
WHERE user_cd = @emp_cd AND logout_time is null
UPDATE cm_program_access_history
SET end_time = getdate()
WHERE user_cd = @emp_cd AND end_time is null
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
ELSE IF (@Gubun='S1')
BEGIN
SELECT max(B.emp_cd) as emp_cd, max(B.emp_nm) as emp_nm,
max(D.dept_cd) as dept_cd, max(D.dept_nm) as dept_nm,
(SELECT TOP 1 CASE WHEN E.logout_time is null THEN 'Y' ELSE 'N' END
FROM system_access_history E
WHERE max(A.emp_cd) = E.emp_cd AND logout_time is null) as ck_login,
max(C.login_time) as login_time, '' as log_out
FROM cm_menu_user A
INNER JOIN v_employee B ON A.user_cd = B.emp_cd
INNER JOIN cm_system_access_history C ON A.user_cd = C.user_cd
LEFT JOIN v_department D ON B.dept_cd = D.dept_cd
WHERE C.login_time BETWEEN CONVERT(nvarchar(10), @login_time, 111) +' 00:00:00'
AND CONVERT(nvarchar(10), @logout_time, 111) +' 23:59:59'
GROUP BY B.emp_cd
ORDER BY C.login_time desc
END
ELSE IF (@Gubun='S2')
BEGIN
SELECT CONVERT(nvarchar(10), login_time, 126) as login_date,
login_time, logout_time, system_access_history_id, '' as log_out
FROM cm_system_access_history
WHERE user_cd = @emp_cd AND login_time BETWEEN @login_time AND @logout_time + 0.99999
END
ELSE IF (@Gubun='S3')
BEGIN
SELECT A.program_id, B.form_nm as program_nm, A.start_time, A.end_time
FROM cm_program_access_history A
INNER JOIN menu_form B ON A.program_id = B.form_cd
WHERE A.id = @id
END
-- ํน์ ์ฌ์ ๋ก๊ทธ์ธ์กฐํ
ELSE IF (@Gubun='S4')
BEGIN
SELECT user_cd
FROM cm_system_access_history
WHERE user_cd = @emp_cd AND logout_time is null
END
ELSE IF(@Gubun='P')
BEGIN
SELECT B.dept_cd, C.dept_nm, B.emp_cd, B.emp_nm, A.login_time, A.logout_time
FROM cm_system_access_history A
INNER JOIN v_employee B ON A.user_cd = B.emp_cd
LEFT JOIN v_department C ON B.dept_cd = C.dept_cd
WHERE login_time BETWEEN @login_time AND @logout_time
END
--select * From System_access_history
--select * From v_employee
--select * From V_department
-- ์ฌ์ฉ์ ๋จ์ ์ฌ์ฉ์ ๊ฐ์ ๋ก๊ทธ์์
-- [๋ถ๊ธฐ] @gubun = 'O' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'O')
BEGIN
UPDATE cm_system_access_history
SET logout_time = getdate()
WHERE user_cd = @emp_cd AND logout_time is null
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
-- ์์คํ
๋ก๊ทธ์์ด๋ ๋จ์ ์ฌ์ฉ์ ๊ฐ์ ๋ก๊ทธ์์
-- [๋ถ๊ธฐ] @gubun = 'O2' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'O2')
BEGIN
UPDATE cm_system_access_history
SET logout_time = getdate()
WHERE system_access_history_id = @id
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
SP_SY_Access_ID
๋ชฉ์ โ ์ ๊ทผ ID ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@access_id | int(4) | IN |
@message | nvarchar(400) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_SY_Access_ID]
@gubun nvarchar(50),
@access_id integer = 0,
@message nvarchar(200) output
AS
SET @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
-- [๋ถ๊ธฐ] @gubun = 'Check' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Check')
BEGIN
DECLARE @check nvarchar(1)
SELECT @check = CASE count(*) WHEN 0 THEN 'N' ELSE 'Y'END
FROM cm_system_access_history
WHERE system_access_history_id = @access_id
AND validate_check = 'Y'
-- [๋ถ๊ธฐ] @check = 'Y' ์ธ ๊ฒฝ์ฐ
IF (@check = 'Y') BEGIN
SET @message = '์ ์์ ์ธ ์์ด๋ ์ฌ์ฉ'
return (0)
END
ELSE BEGIN
SET @message = '์ฌ์ฉ ์ข
๋ฃ๋ ์์ด๋ ์
๋๋ค'
return (-99)
END
END
SP_SY_Login
๋ชฉ์ โ ๋ก๊ทธ์ธ ์ธ์ฆ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@user_password | nvarchar(100) | IN |
@user_history_id | int(4) | IN |
@olduser_cd | nvarchar(100) | IN |
@olduser_history_id | int(4) | IN |
@parameter_code | nvarchar(100) | IN |
@access_id | int(4) | OUTPUT |
@message | nvarchar(400) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_SY_Login]
@gubun nvarchar(50),
@user_cd nvarchar(50) = '',
@user_password nvarchar(50) = '',
@user_history_id integer = 0, -- ๋ก๊ทธ์์์ ํ์ํ ํ์ฌ ์ฌ์ฉ์์ ์์คํ
์ ๊ทผ history id
@olduser_cd nvarchar(50) = '', -- ๊ฐ์ ์ข
๋ฃ์ ๊ธฐ์กด ์ฌ์ฉ์ ์ฝ๋
@olduser_history_id integer = 0, -- ๊ฐ์ ์ข
๋ฃ์ ๊ธฐ์กด ์ฌ์ฉ์ ์์คํ
์ ๊ทผ history id
@parameter_code nvarchar(50) = '', -- ํ๋ผ๋ฏธํฐ
@access_id integer = 0 output,
@message nvarchar(200) output
AS
SET @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Login' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Login')
BEGIN
-- ์ฌ์ฉ์ค์ง์ ์กฐํ
DECLARE @user_cd_int int
SELECT @user_cd_int = COUNT(*)
FROM cm_menu_user a
WHERE a.user_cd = @user_cd AND user_use_check = 'N'
IF (@user_cd_int = 1) BEGIN
SET @access_id = 0
SET @message = '์๋ชป์
๋ ฅ๋ ์์ด๋/ํจ์ค์๋๊ฐ ํ์ฉ๊ฐ์ ์ด๊ณผํ์์ต๋๋ค.'
RETURN(-103)
END
--์ฌ์ฉ์ ํจ์ค์๋ ์ ํจ๊ธฐ๊ฐ ์กฐํ(์กฐ์ผ์ ์ถ๊ฐ 2009.04.15)
SELECT @user_cd_int = COUNT(*)
FROM cm_menu_user a
WHERE a.user_cd = @user_cd AND a.user_password = @user_password AND a.user_end_date < getdate()
IF (@user_cd_int = 1) BEGIN
SET @access_id = 0
SET @message = 'ํจ์ค์๋ ์ ํจ๊ธฐ๊ฐ์ด ์ง๋ฌ์ต๋๋ค. ์ ์ฐ์ค์ ๋ฌธ์ํ์๊ธฐ ๋ฐ๋๋๋ค.'
RETURN(-104)
END
SELECT @user_cd_int = COUNT(*)
FROM cm_menu_user a
WHERE a.user_cd = @user_cd AND a.user_password = @user_password AND user_use_check = 'Y'
-- ํ์ฌ ์ ํจ ์ฌ์ฉ์์ ์์คํ
์ ๊ทผ ํ์คํ ๋ฆฌ ์ฌ์ฉ์์์ ์ผ์น
IF (@user_cd_int = 1) BEGIN
DECLARE @user_chk int
SET @user_chk = 0
SELECT @user_chk = count(*)
FROM cm_system_access_history b
INNER JOIN cm_menu_user c
ON b.user_cd = c.user_cd
INNER JOIN cm_menu_user d
ON c.plant_cd = d.plant_cd
WHERE b.validate_check = 'Y' AND b.logout_time is null
AND d.user_cd = @user_cd AND d.user_password = @user_password
-- ์ฌ์
์ฅ์ ํ์ฉ๋ ๋ผ์ด์ผ์ค ์
DECLARE @plant_license_cnt int
SET @plant_license_cnt = 0
SELECT @plant_license_cnt = f.plant_license_cnt
FROM cm_menu_user e
LEFT OUTER JOIN ( SELECT plant_cd, plant_license_cnt
FROM cm_plant_license
WHERE plant_license_ck = 'Y') f
ON e.plant_cd = f.plant_cd
WHERE e.user_cd = @user_cd AND e.user_password = @user_password
-- ํ์ฉ๋ ๋ผ์ด์ผ์ค ์์ ์ฌ์ฉ์ค์ธ ์์ด๋ ์์ ๋น๊ต
IF(@plant_license_cnt > @user_chk) BEGIN
-- [์ ์ฌ] cm_system_access_history
INSERT INTO cm_system_access_history(user_cd, login_time, logout_time, validate_check)
VALUES(@user_cd, getdate(), null, 'Y')
SET @access_id = @@identity
END
ELSE BEGIN
SET @access_id = 0
SET @message = 'ํ๊ฐ ๋ผ์ด์ผ์ค ์๋ฅผ ๋์์ต๋๋ค.'
RETURN(-101)
END
END
ELSE BEGIN
SET @access_id = 0
SET @message = '์์ด๋ ๋๋ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ธ์ต๋๋ค.'
RETURN(-102)
END
END
-- ํ๊ฐ ๋ผ์ด์ผ์ค ์๋ฅผ ๋์์ ๊ฒฝ์ฐ ๊ธฐ์กด ์ฌ์ฉ์๋ฅผ ๊ฐ์ ์ข
๋ฃ์ํด
-- [๋ถ๊ธฐ] @gubun = 'LoginClose' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'LoginClose')
BEGIN
-- ์์คํ
์ ๊ทผ ํ์คํ ๋ฆฌ
UPDATE cm_system_access_history
SET validate_check = 'N', logout_time = getdate()
WHERE user_cd = @olduser_cd AND system_access_history_id = @olduser_history_id
AND logout_time is null
SET @message = '๊ฐ์ ์ข
๋ฃ๋์์ต๋๋ค.'
RETURN(0)
END
-- ๊ฐ์ ์ข
๋ฃ ์ ๊ธฐ์กด ์ฌ์ฉ์ ๋ชฉ๋ก ์กฐํํ๊ธฐ
-- [๋ถ๊ธฐ] @gubun = 'PlantSearch' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'PlantSearch') BEGIN
SELECT a.user_cd, b.plant_cd, b.user_nm, a.login_time, a.system_access_history_id
FROM cm_system_access_history a
INNER JOIN cm_menu_user b
ON a.user_cd = b.user_cd
INNER JOIN cm_menu_user c
ON b.plant_cd = c.plant_cd
WHERE a.validate_check = 'Y' AND a.logout_time is null
AND c.user_cd = @user_cd
ORDER BY login_time DESC
END
ELSE IF (@gubun = 'UserSearch') BEGIN
SELECT a.user_cd, b.plant_cd, b.user_nm, a.login_time, a.system_access_history_id
FROM cm_system_access_history a
INNER JOIN cm_menu_user b
ON a.user_cd = b.user_cd
WHERE a.validate_check = 'Y' AND a.logout_time is null
AND a.user_cd = @user_cd
ORDER BY login_time DESC
END
-- ๋ก๊ทธ์์
ELSE IF (@gubun = 'LogOut') BEGIN
-- ์์คํ
์ ๊ทผ ํ์คํ ๋ฆฌ
UPDATE cm_system_access_history
SET validate_check = 'N', logout_time = getdate()
WHERE user_cd = @user_cd
AND system_access_history_id = @user_history_id
AND logout_time is null
SET @message = '๋ก๊ทธ์์ ๋์์ต๋๋ค.'
RETURN(0)
END
-- ๋ก๊ทธ์ธ ํ ์ฌ์ฉ์ ์ ๋ณด ์กฐํ
ELSE IF (@gubun = 'UserInfo') BEGIN
SELECT TOP 1 a.system_access_history_id ,a.user_cd ,b.user_nm
,b.plant_cd ,b.plant_nm ,b.company_cd
,b.company_h_nm AS company_nm ,a.login_time ,b.emp_cd
,ISNULL(c.auto_logout_min,0) AS auto_logout_min
--,ISNULL(d.PARAMETER_VALUE,'') AS company_code, ISNULL(e.PARAMETER_VALUE,'') as smtp, ISNULL(f.PARAMETER_VALUE,'') as boxlabel_printer
--,ISNULL(g.PARAMETER_VALUE,'') as dpi
--,ISNULL(h.PARAMETER_VALUE,'0') as LotNo_MaxLen
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'COMPANY_CD'),''))) as company_code
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'SMTP'),''))) as smtp
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'BoxLabel_Printer'),''))) as boxlabel_printer
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'DPI'),''))) as dpi
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'LotNo_MaxLen'),''))) as LotNo_MaxLen
,(Select (ISNULL((SELECT PARAMETER_VALUE FROM CM_PARAMETER WHERE PARAMETER_CODE = 'SEQ_OverCnt'),'20'))) as SEQ_OverCnt
FROM cm_system_access_history a
LEFT OUTER JOIN ( SELECT c.user_cd, c.user_nm, c.plant_cd, d.plant_nm, d.company_cd ,e.company_h_nm ,c.emp_cd, d.PLANT_EMAIL_AD
FROM cm_menu_user c
LEFT OUTER JOIN ma_plant d ON c.plant_cd = d.plant_cd
LEFT OUTER JOIN ma_company e ON (d.company_cd = e.company_cd)
LEFT OUTER JOIN MA_EMPLOYEE f ON (c.emp_cd = f.emp_cd)
WHERE user_use_check = 'Y') b
ON a.user_cd = b.user_cd
LEFT OUTER JOIN ( SELECT company_cd, MAX(CASE WHEN parameter_code = 'auto_logout_min' THEN parameter_value ELSE 0 END) AS 'auto_logout_min'
FROM( SELECT b.company_cd, a.parameter_code, a.parameter_value
FROM cm_parameter a
INNER JOIN ma_plant b ON (a.plant_cd = b.plant_cd))AS aa --2009.09.03 ํจ์์ ์กฐ์ธ๋ถ๋ถ ์ถ๊ฐ.
GROUP BY company_cd)c
ON(b.company_cd = c.company_cd)
--,CM_PARAMETER d
--,CM_PARAMETER e
--,CM_PARAMETER f
--,CM_PARAMETER g
--,CM_PARAMETER h
WHERE a.logout_time is null
AND a.validate_check = 'Y'
AND a.user_cd =@user_cd
--AND d.PARAMETER_CODE = 'COMPANY_CD'
--AND e.PARAMETER_CODE = 'SMTP'
--AND f.PARAMETER_CODE = 'BoxLabel_Printer'
--AND g.PARAMETER_CODE = 'DPI'
--AND h.PARAMETER_CODE = 'LotNo_MaxLen'
ORDER BY a.system_access_history_id DESC
END
--2009.02.23 ์กฐ์ผ์ ์ถ๊ฐ
--์ฌ์ฉ์ ์ค์
๋ ฅ ์ด๋ ฅ ์
๋ ฅ
ELSE IF(@gubun = 'WrongInputCheck') BEGIN
-- ์ค์
๋ ฅ ํ์๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ๊ด๋ฆฌํ๋ค.
DECLARE @failed_num int
SELECT @failed_num = parameter_value
FROM cm_parameter
WHERE parameter_code = 'failed_num'
SELECT @intErrorCode = @@error
IF (@intErrorCode = 0 )BEGIN TRANSACTION --ํธ๋์ญ์
์ฒ๋ฆฌ
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_wrong_identification_history
INSERT INTO cm_wrong_identification_history(user_cd, input_passwd, input_time)
VALUES (@user_cd, @user_password, getdate())
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)BEGIN
UPDATE cm_menu_user
SET user_failed_num = ISNULL(user_failed_num, 0) + 1,
user_use_check = CASE WHEN @failed_num <= user_failed_num + 1 THEN 'N' ELSE 'Y' END
WHERE user_cd = @user_cd
SELECT @intErrorCode = @@error
END
IF @intErrorCode = 0 and @@trancount > 0 -- COMMIT, ROLLBACK ์ฌ๋ถ
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRANSACTION
ELSE
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRANSACTION
END
--์ฌ์ฉ์๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ก๊ทธ์ธ ์ ๋ฉ๋ด์ ์ค๋ฅ ํ์๋ฅผ 0์ผ๋ก ์์ ํ๋ค.
ELSE IF(@gubun = 'WrongInputSuccess') BEGIN
UPDATE cm_menu_user
SET user_failed_num = 0
WHERE user_cd = @user_cd
END
ELSE IF(@gubun = 'Renew') BEGIN
UPDATE CM_MENU_USER
SET USER_PASSWORD = @user_password,
USER_END_DATE = CONVERT(CHAR(10), DATEADD(month,1,GETDATE()),23)
WHERE USER_CD = @user_cd
END
-- PDA ๋ฒ์ ์ฒดํฌ
ELSE IF (@gubun = 'PDAVer') BEGIN
SELECT parameter_value
FROM cm_parameter
WHERE parameter_code = @parameter_code
SELECT @intErrorCode = @@ERROR
END
-- ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ ๋ฒ์ ์ฒดํฌ
ELSE IF (@gubun = 'Manage_Ver') BEGIN
SELECT parameter_value
FROM cm_parameter
WHERE parameter_code = @parameter_code
SELECT @intErrorCode = @@ERROR
END
-- ๋ฐ์ฝ๋ Prefix ์ธํ
ELSE IF (@gubun = 'BarcodePrefix_Search') BEGIN
SELECT MAX(CASE WHEN parameter_code = 'BarcodePrefix_Pack' THEN parameter_value
ELSE 'P' END) AS BarcodePrefix_Pack
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Workroom' THEN parameter_value
ELSE 'W' END) AS BarcodePrefix_Workroom
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Zone' THEN parameter_value
ELSE 'Z' END) AS BarcodePrefix_Zone
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Cell' THEN parameter_value
ELSE 'C' END) AS BarcodePrefix_Cell
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Pallet' THEN parameter_value
ELSE 'L' END) AS BarcodePrefix_Pallet
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Bulk' THEN parameter_value
ELSE 'B' END) AS BarcodePrefix_Bulk
,MAX(CASE WHEN parameter_code = 'BarcodePrefix_Box' THEN parameter_value
ELSE 'G' END) AS BarcodePrefix_Box
FROM cm_parameter
WHERE parameter_code in ('BarcodePrefix_Box','BarcodePrefix_Bulk','BarcodePrefix_Cell','BarcodePrefix_Pack',
'BarcodePrefix_Pallet','BarcodePrefix_Workroom','BarcodePrefix_Zone')
END
๋ง์คํฐยท๊ณตํต
๊ณตํต ์ฝ๋ยท๊ฑฐ๋์ฒยท๋ถ์ยท์ฌ์ ๋ฑ ๋ง์คํฐ ์กฐํยท์์ .
SP_CM_CODEHELP2
๋ชฉ์ โ ์ฝ๋ ๋์๋ง v2.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@strsql | varchar(7500) | IN |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ค ๋ช
: codehelp ์ฐฝ์ ๋์ธ๋ ์ฌ์ฉ
********************************************************************/
CREATE PROCEDURE [dbo].[SP_CM_CODEHELP2]
@gubun nvarchar(10) = '',
@strsql varchar(7500)--, -- ์ฟผ๋ฆฌ๋ฌธ
--@message nvarchar(128) output -- ๋ฐํ ๋ฉ์ธ์ง --2012.12.04 ์ ํ๊ฐ. ๋ฐํ๋ฉ์์ง ์ฌ์ฉํ์ง ์์. ์ค๋ฅ๋์ ์ฃผ์.
AS
SET NOCOUNT ON
exec (@strsql)
SP_CM_CodeHelp
๋ชฉ์ โ ์ฝ๋ ๋์๋ง(๊ณตํต ํ์ ์กฐํ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@keyword | nvarchar(100) | IN |
@company_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@s_item_medi_cd | nvarchar(100) | IN |
@s_cust_nm | nvarchar(100) | IN |
@receipt_sDate | nvarchar(20) | IN |
@form_cd | nvarchar(100) | IN |
@form_nm | nvarchar(200) | IN |
@cust_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_CodeHelp]
@Gubun nvarchar(50) = '',
@user_cd nvarchar(50) = '',
@keyword nvarchar(50) = '',
@company_cd nvarchar(50) = '', --์ถ๊ฐ
@plant_cd nvarchar(50) = '', --์ถ๊ฐ
@s_item_medi_cd nvarchar(50) = '', --์ถ๊ฐ
@s_cust_nm nvarchar(50) = '', --์ถ๊ฐ
@receipt_sDate nvarchar(10) = null, --์ถ๊ฐ
@form_cd nvarchar(50) = '', --์ถ๊ฐ
@form_nm nvarchar(100) = '', --์ถ๊ฐ
@cust_cd nvarchar(50) = '', --์ถ๊ฐ
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Plant' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Plant') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT b.plant_cd ,b.plant_nm ,b.plant_ad1
FROM cm_menu_user a
LEFT OUTER JOIN ma_plant b
ON(b.plant_cd LIKE a.plant_cd AND b.plant_cd+b.plant_nm LIKE '%'+@keyword+'%')
WHERE a.user_cd = @user_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun = 'Employee') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.plant_cd ,b.plant_nm ,a.emp_cd ,a.emp_nm
,a.emp_post ,c.common_part_nm AS emp_post_nm
,a.emp_rair ,d.common_part_nm AS emp_rair_nm ,a.emp_enter_date, a.emp_use_gb
,a.emp_phone
FROM ma_employee a
INNER JOIN ma_plant b ON(a.plant_cd = b.plant_cd)
LEFT OUTER JOIN common c ON (c.common_cd ='CM013' AND a.emp_rair = c.common_part_cd)
LEFT OUTER JOIN common d ON (d.common_cd ='CM012' AND a.emp_post = d.common_part_cd)
WHERE a.emp_use_gb = 'Y'
AND a.plant_cd LIKE @plant_cd AND a.emp_cd+a.emp_nm LIKE '%'+ @keyword+'%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Zipcode') BEGIN
IF(@intErrorCode = 0) BEGIN
-- SELECT cm_zipcode_cd
-- ,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ isnull(cm_zipcode_ri,'') + ' ' + isnull(cm_zipcode_bldg,'') +' ' + isnull(cm_zipcode_st_bunji,'') + '~' + isnull(cm_zipcode_ed_bunji,'')) AS zipcode_ad1
-- FROM cm_zipcode
-- WHERE cm_zipcode_dong LIKE '%' + @keyword + '%'
-- SELECT cm_zipcode_cd
-- ,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ ISNULL(cm_zipcode_ri,'') + ' ' + ISNULL(cm_zipcode_bldg,'') +' ' + CASE WHEN cm_zipcode_st_bunji is not null AND cm_zipcode_ed_bunji is not null THEN ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'') + ' '
-- ELSE REPLACE((ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'')),'~','') + ' ' END) AS zipcode_ad1
-- FROM cm_zipcode
SELECT cm_zipcode_cd
,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ ISNULL(cm_zipcode_ri,'') + ' ' + ISNULL(cm_zipcode_bldg,'')) AS cm_zipcode_ad1
,CASE WHEN cm_zipcode_st_bunji is not null AND cm_zipcode_ed_bunji is not null THEN ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'') + ' '
ELSE REPLACE((ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'')),'~','') + ' ' END AS cm_zipcode_ad2
FROM ma_zipcode
WHERE cm_zipcode_dong LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Customer') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT cust_cd ,cust_nm ,cust_ceo_nm ,cust_post_cd
,cust_ad1 ,cust_ad2 ,cust_emp_nm
, plant_cd
FROM MA_CUSTOMER
WHERE plant_cd LIKE @plant_cd
AND cust_cd + cust_nm LIKE '%' + @keyword + '%'
ORDER BY cust_nm
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'CustALL') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT cust_cd, cust_nm ,cust_ceo_nm ,cust_post_cd ,cust_ad1 ,cust_ad2 ,cust_emp_nm
FROM MA_CUSTOMER
WHERE plant_cd LIKE @plant_cd
AND cust_cd + cust_nm LIKE '%' + @keyword + '%'
UNION
SELECT cust_cd, cust_nm ,cust_ceo_nm ,cust_post_cd ,cust_ad1 ,cust_ad2 ,'' AS cust_emp_nm
FROM MA_CUSTOMER
WHERE cust_cd + cust_nm LIKE '%' + @keyword + '%'
ORDER BY cust_nm
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Item') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.item_cd ,a.item_nm
,ISNULL(b.common_part_nm,'') AS item_manage_unit
,ISNULL(a.item_manufacture_cust_cd,'') AS item_manufacture_cust_cd
,ISNULL(c.cust_nm,'') AS item_manufacture_cust_nm
,ISNULL(a.warehouse_cd,'') AS warehouse_cd
,ISNULL(d.warehouse_nm,'') AS warehouse_nm
,a.item_short_nm
,CONVERT(NVARCHAR(10),DATEADD(MONTH, a.item_validity_period, GETDATE()),121) AS item_validity_period --ํ์ฌ์ผ๋ก๋ถํฐ ์ ํจ๊ธฐ๊ฐ(์) ๋ํ์ฌ ์ฌ์ํ์ผ์์ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ์
ํ
,item_qc_free_fix
FROM ma_item_standard_tb a
LEFT OUTER JOIN cm_common b ON (b.common_cd = 'MA013' AND a.item_manage_unit = b.common_part_cd)
LEFT OUTER JOIN ma_customer c ON (a.item_manufacture_cust_cd = c.cust_cd)
LEFT OUTER JOIN ma_warehouse d ON (a.warehouse_cd =d.warehouse_cd)
WHERE item_cd + item_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Receipt') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.receipt_date, a.receipt_seq, a.cust_cd, b.cust_nm
FROM st_receipt a
LEFT OUTER JOIN ( SELECT cust_cd, cust_nm
FROM MA_CUSTOMER ) b
ON a.cust_cd = b.cust_cd
WHERE a.receipt_date BETWEEN convert(datetime, @receipt_sDate) AND convert(datetime, @keyword)
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Source') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT form_cd , form_nm ,form_dll
FROM cm_menu_form
WHERE form_cd LIKE '%' + @form_cd + '%'
AND form_nm LIKE '%' + @form_nm + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Region') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT DISTINCT substring(cm_zipcode_cd,1,1) as cm_zipcode_cd
,cm_zipcode_sido
FROM cm_zipcode
WHERE cm_zipcode_sido LIKE '%' + @keyword + '%'
ORDER BY 1
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Region2') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT DISTINCT cm_zipcode_sido
FROM cm_zipcode
WHERE cm_zipcode_sido LIKE '%' + @keyword + '%'
ORDER BY 1
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Customer_info') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.company_cd, a.plant_cd,
a.cust_cd ,b.cust_nm ,
a.cust_info_nm,
a.cust_info_rair_nm,
a.cust_info_post_nm,
a.cust_info_sex,
a.cust_info_tel_no,
a.cust_info_email_ad
FROM CS_CUST_INFO a
LEFT OUTER JOIN MA_CUSTOMER b ON(a.company_cd= b.company_cd AND a.plant_cd =b.plant_cd AND a.cust_cd =b.cust_cd)
WHERE a.company_cd LIKE @company_cd
AND a.plant_cd LIKE @plant_cd
AND a.cust_cd LIKE @cust_cd
AND a.cust_cd + b.cust_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'UserInfo') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.user_cd ,a.user_nm
,ISNULL(c.dept_nm ,'') AS dept_nm
FROM CM_MENU_USER a
LEFT OUTER JOIN ma_employee b ON(a.user_cd = b.emp_cd AND a.plant_cd = b.plant_cd)
LEFT OUTER JOIN ma_department c ON(b.dept_cd = c.dept_cd AND b.plant_cd = c.plant_cd)
WHERE user_cd + user_nm LIKE '%' + @keyword + '%'
ORDER BY a.user_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'warehouse') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT warehouse_cd ,warehouse_nm
,warehouse_item , warehouse_capacity_unit
FROM ma_warehouse a
WHERE warehouse_cd + warehouse_nm LIKE '%' + @keyword + '%'
ORDER BY warehouse_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'WorkGb') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT make_cd ,make_nm ,make_remark
FROM ma_work_Gb
WHERE make_cd + make_nm LIKE '%' + @keyword + '%'
ORDER BY make_cd
SELECT @intErrorCode = @@ERROR
END
END
ELSE IF (@gubun = 'ItemSelect') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT ITEM_CD ,ITEM_NM ,ITEM_PACKUNIT2
FROM ITEM_STANDARD
WHERE ITEM_PACK_BARCODE LIKE '%' + @keyword + '%'
ORDER BY ITEM_CD
SELECT @intErrorCode = @@ERROR
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_CodeHelp_V20
๋ชฉ์ โ ์ฝ๋ ๋์๋ง v20.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | varchar(50) | IN |
@start_date | datetime(8) | IN |
@end_date | datetime(8) | IN |
@keyword | nvarchar(100) | IN |
@company_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@where_keyword | nvarchar(100) | IN |
@keyword1 | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_CodeHelp_V20]
@gubun VARCHAR(50) = NULL,
@start_date datetime ='1900-12-31',
@end_date datetime ='2200-12-31',
@keyword nvarchar(50) ='',
@company_cd nvarchar(50) = '',
@plant_cd nvarchar(50) = '',
@where_keyword nvarchar(50) = '',
@keyword1 nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
SET NOCOUNT ON
--[ํ๋ก๊ทธ๋จ]
-- [๋ถ๊ธฐ] @GUBUN = 'ProgramList' ์ธ ๊ฒฝ์ฐ
IF (@GUBUN = 'ProgramList')
BEGIN
SELECT form_cd AS 'ํ๋ก๊ทธ๋จ ์ฝ๋' --Column_1_Value
,form_nm AS 'ํ๋ก๊ทธ๋จ๋ช
' --Column_2_Value
FROM cm_menu_form
WHERE form_cd like '%'+@keyword+'%' OR form_nm like '%'+@keyword+'%'
SELECT @intErrorCode = @@error
END
--[์ฌ์]
ELSE IF (@GUBUN = 'Employee')
BEGIN
SELECT a.emp_cd AS ์ฌ์์ฝ๋ --Column_1_Value
,a.emp_nm AS ์ฌ์๋ช
--Column_2_Value
,a.plant_cd AS ์ฌ์
์ฅ์ฝ๋ --Column_3_Value
,b.plant_nm AS ์ฌ์
์ฅ๋ช
--Column_4_Value
,a.emp_post AS ์ง์ฑ
์ฝ๋ --Column_5_Value
,c.common_part_nm AS ์ง์ฑ
๋ช
--Column_6_Value
,a.emp_rair AS ์ง๊ธ์ฝ๋ --Column_7_Value
,d.common_part_nm AS ์ง๊ธ๋ช
--Column_8_Value
,a.emp_enter_date AS ์
์ฌ์ผ์ --Column_9_Value
,a.emp_use_gb AS ์ฌ์๊ตฌ๋ถ์ฝ๋ --Column_10_Value
,a.emp_phone AS ์ ํ๋ฒํธ --Column_11_Value
FROM ma_employee a
INNER JOIN ma_plant b ON(a.plant_cd = b.plant_cd)
LEFT OUTER JOIN common c ON (c.common_cd ='MA021' AND a.emp_rair = c.common_part_cd)
LEFT OUTER JOIN common d ON (d.common_cd ='MA020' AND a.emp_post = d.common_part_cd)
WHERE isnull(a.emp_use_gb, 'Y') = 'Y'
AND a.plant_cd LIKE @plant_cd AND a.emp_cd+a.emp_nm LIKE '%'+ @keyword+'%'
SELECT @intErrorCode = @@error
END
--[์ฐํธ๋ฒํธ]
ELSE IF (@GUBUN = 'Zipcode')
BEGIN
SELECT top(1000) cm_zipcode_cd AS ์ฐํธ๋ฒํธ
,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ ISNULL(cm_zipcode_ri,'') + ' ' + ISNULL(cm_zipcode_bldg,'')) AS ์ฃผ์
,CASE WHEN cm_zipcode_st_bunji is not null AND cm_zipcode_ed_bunji is not null THEN ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'') + ' '
ELSE REPLACE((ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'')),'~','') + ' '
END AS ๋ฒ์ง
FROM ma_zipcode
WHERE cm_zipcode_dong LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
--[๋ถ์]
ELSE IF (@GUBUN = 'Department')
BEGIN
SELECT dept_cd AS ๋ถ์์ฝ๋
,dept_nm AS ๋ถ์๋ช
FROM ma_department
WHERE plant_cd LIKE @plant_cd AND dept_cd+dept_nm LIKE '%'+ @keyword+'%'
SELECT @intErrorCode = @@ERROR
END
--[์์ ํ]
ELSE IF (@GUBUN = 'Item')
BEGIN
SELECT item_cd AS ์์ ํ์ฝ๋
,item_nm AS ์์ ํ๋ช
,dbo.fn_Pack_unit_size(item_cd) AS ํฌ์ฅ๋จ์
,ISNULL(dbo.fn_format_string(SECOND_PACK_QT,'S'),0) AS ์งํจ์
์๋
,ITEM_GB --20130812 ๊น์ฌ์ ์ถ๊ฐ : item_class ๊ฐ์
,ITEM_PACK_BARCODE
,Isnull(SERIAL_YN,'N') AS SERIAL_YN
FROM item_standard
WHERE --item_gb='1' AND
(item_cd LIKE '%'+ @keyword+'%' OR item_nm LIKE '%'+ @keyword+'%')
SELECT @intErrorCode = @@ERROR
END
--[์์ ํ(์งํฉ์
์๋ํฌํจ)]
ELSE IF (@GUBUN = 'ItemPackQty')
BEGIN
SELECT item_cd AS ์์ ํ์ฝ๋
,item_nm AS ์์ ํ๋ช
,dbo.fn_Pack_unit_size(item_cd) AS ๋จ์
,ISNULL(dbo.fn_format_string(SECOND_PACK_QT,'S'),0) AS ์
์๋
FROM item_standard
WHERE item_gb='1'
AND (item_cd LIKE '%'+ @keyword+'%' OR item_nm LIKE '%'+ @keyword+'%')
SELECT @intErrorCode = @@ERROR
END
--[์ ์กฐ์ ํ]
ELSE IF (@GUBUN = 'MakingItem')
BEGIN
SELECT a.item_cd AS ์ ์กฐ์ ํ์ฝ๋
,a.item_nm AS ์ ์กฐ์ ํ๋ช
,a.item_packunit2 AS ๋จ์
FROM item_standard a
LEFT OUTER JOIN item_license b ON (a.item_cd = b.item_cd AND b.item_license_current_ck = 'Y')
WHERE a.item_gb = '6' --๋ฐ์ ํ
AND (a.item_cd LIKE '%' + @keyword + '%' OR a.item_nm LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
--[์์์ฌ]
ELSE IF (@GUBUN = 'MaterialItem')
BEGIN
SELECT item_cd AS ์์์ฌ์ฝ๋
,item_nm AS ์์์ฌ๋ช
FROM item_standard
WHERE item_gb in ('2', '3')
AND (item_cd LIKE '%'+ @keyword+'%' OR item_nm LIKE '%'+ @keyword+'%')
SELECT @intErrorCode = @@ERROR
END
--[ํฌ์ฅ์์ฌ]
ELSE IF (@GUBUN = 'ItemPack')
BEGIN
SELECT item_cd AS ํฌ์ฅ์์ฌ์ฝ๋
,item_nm AS ํฌ์ฅ์์ฌ๋ช
FROM item_standard
WHERE item_gb = '2'
AND (item_cd LIKE '%'+ @keyword+'%' OR item_nm LIKE '%'+ @keyword+'%')
SELECT @intErrorCode = @@ERROR
END
--[๊ธฐํํ๋ชฉ]
ELSE IF (@GUBUN = 'EtcItem')
BEGIN
SELECT item_cd AS ๊ธฐํํ๋ชฉ์ฝ๋
,item_nm AS ๊ธฐํํ๋ชฉ๋ช
FROM item_standard
WHERE item_gb = '8' -- ๊ธฐํ
AND (item_cd LIKE '%'+ @keyword+'%' OR item_nm LIKE '%'+ @keyword+'%')
SELECT @intErrorCode = @@ERROR
END
--[๊ฑฐ๋์ฒ]
ELSE IF (@GUBUN = 'Customer')
BEGIN
SELECT cust_cd AS ๊ฑฐ๋์ฒ์ฝ๋
,cust_nm AS ๊ฑฐ๋์ฒ๋ช
FROM ma_customer
WHERE cust_cd LIKE '%' + @keyword + '%' OR cust_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[๊ฑฐ๋์ฒ์์ธ]
ELSE IF (@GUBUN = 'CustomerDetail')
BEGIN
SELECT top(5000) cust_cd AS ๊ฑฐ๋์ฒ์ฝ๋
,cust_nm AS ๊ฑฐ๋์ฒ๋ช
,CUST_BUSIN_NO AS ์ฌ์
์๋ฑ๋ก๋ฒํธ
,CUST_CEO_NM AS ๋ํ์๋ช
,CUST_TEL_NO AS ์ ํ๋ฒํธ
,CUST_POST_CD AS ์ฐํธ๋ฒํธ
,CUST_AD1 AS ์ฃผ์1
,CUST_AD2 AS ์ฃผ์2
FROM ma_customer
WHERE cust_cd LIKE '%' + @keyword + '%' OR cust_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[๊ฐ๋ฉ์ฒ์์ธ]
ELSE IF (@GUBUN = 'CustDetail')
BEGIN
SELECT a.cust_indirect_cd AS ๊ฐ๋ฉ์ฒ์ฝ๋
,b.CUST_NM AS ๊ฐ๋ฉ์ฒ๋ช
,b.CUST_BUSIN_NO AS ์ฌ์
์๋ฑ๋ก๋ฒํธ
,b.CUST_CEO_NM AS ๋ํ์๋ช
,b.CUST_TEL_NO AS ์ ํ๋ฒํธ
,b.CUST_POST_CD AS ์ฐํธ๋ฒํธ
,b.CUST_AD1 AS ์ฃผ์1
,b.CUST_AD2 AS ์ฃผ์2
FROM MA_CUSTOMER_INDIRECT a
LEFT OUTER JOIN ma_customer b ON (a.cust_indirect_cd = b.CUST_CD)
WHERE (a.cust_indirect_cd LIKE '%' + @keyword + '%' OR b.CUST_NM LIKE '%' + @keyword + '%')
and a.cust_cd = @where_keyword
SELECT @intErrorCode = @@ERROR
END
--[์์
์ค]
ELSE IF (@GUBUN = 'Workroom')
BEGIN
SELECT rtrim(workroom_cd) AS ์์
์ค์ฝ๋
,workroom_nm AS ์์
์ค๋ช
FROM workroom
WHERE PLANT_CD = @plant_cd AND (workroom_cd LIKE '%' + @keyword + '%' OR workroom_nm LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
--[์์
์ค_๋ํ์ฝ๋]
ELSE IF (@GUBUN = 'Workroom_mcd')
BEGIN
SELECT rtrim(workroom_cd) AS ์์
์ค์ฝ๋
,workroom_nm AS ์์
์ค๋ช
FROM workroom
WHERE (workroom_cd LIKE '%' + @keyword + '%' OR workroom_nm LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
--[ํ๋ ํธ]
ELSE IF (@GUBUN = 'Pallet')
BEGIN
SELECT pallet_cd AS ํ๋ ํธ์ฝ๋
,pallet_nm AS ํ๋ ํธ๋ช
FROM wa_pallet
WHERE pallet_cd LIKE '%' + @keyword + '%' OR pallet_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[์งํจ๋ฐ์ฝ๋]
ELSE IF (@GUBUN = 'BoxBarcode')
BEGIN
SELECT box_barcode_no AS ์งํจ๋ฐ์ฝ๋
,stock_qty AS ์ฌ๊ณ ๋
FROM gd_packing_result_pack
WHERE box_barcode_no LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[์งํจ๋ฐ์ฝ๋] ์งํจ์ ๋ด๊ฒจ์๋ ์ ํ๋ช
์ ๋ณด์ฌ์ฃผ๊ณ ์ฌ๊ณ ๊ฐ ์๋๊ฒ์ ์ถ๋ ฅ(์์ ํ ์ถ๊ณ ์์ ์ฐ์)
ELSE IF (@GUBUN = 'BoxbarcodeItem')
BEGIN
SELECT b.item_cd AS ์ ํ์ฝ๋
,c.item_nm AS ์ ํ๋ช
,dbo.fn_Pack_unit_size(b.item_cd) AS ํฌ์ฅ๋จ์
,a.box_barcode_no AS ์งํจ๋ฐ์ฝ๋
,ISNULL(dbo.fn_format_string(a.stock_qty,'S'),0) AS ์ฌ๊ณ ๋
FROM gd_packing_result_pack a
LEFT OUTER JOIN gd_item_stock b ON (a.item_stock_id = b.item_stock_id)
LEFT OUTER JOIN item_standard c ON(b.item_cd = c.item_cd AND c.item_gb ='1')
INNER JOIN PACKING_RESULT d ON (b.PACKING_RESULT_ID = d.PACKING_RESULT_ID AND (d.ISSUE_STATUS <> 4 or a.STOCK_QTY <> 0))
WHERE box_barcode_no LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[์
]
ELSE IF (@GUBUN = 'cell')
BEGIN
SELECT cell_cd AS ' ์
์ฝ๋ '
,cell_nm AS ' ์
๋ช
'
FROM wa_cell
WHERE cell_cd LIKE '%' + @keyword + '%' OR cell_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[์กด]
ELSE IF (@GUBUN = 'zone')
BEGIN
SELECT zone_cd AS ' ์กด ์ฝ๋ '
,zone_nm AS ' ์กด ๋ช
'
FROM WA_ZONE
WHERE zone_cd LIKE '%' + @keyword + '%' OR zone_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[๋ฌผ๋ฅํ]
ELSE IF (@GUBUN = 'user')
BEGIN
select
USER_CD as ์ฌ์์ฝ๋
,USER_NM as ์ฌ์๋ช
from
CM_MENU_USER
WHERE USER_CD LIKE '%' + @keyword + '%' OR USER_NM LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
--[์๋ฐฉ์ ๊ฒ ๋์์ฝ๋]
--ELSE IF (@GUBUN = 'Schedulecode')
--BEGIN
-- select
-- a.standard_cd as ๋์์ฝ๋
-- ,a.standard_nm as ๋์๋ช
-- from
-- ( SELECT a.common_part_cd AS standard_type_cd, a.common_part_nm AS standard_type_nm
-- ,COALESCE (b.equip_cd, c.workroom_cd, e.equip_cd) AS standard_cd
-- ,COALESCE (b.equip_nm, c.workroom_nm, e1.equip_nm) AS standard_nm
-- ,COALESCE (b.equip_type, c.workroom_type, N'') AS code_type_cd
-- ,COALESCE (b1.common_part_nm, c1.common_part_nm, e2.common_part_nm, N'') AS code_type_nm
-- ,COALESCE (b.plant_cd, c.plant_cd, e1.plant_cd, N'') AS plant_cd
-- ,COALESCE (b.equip_mcd, c.workroom_mcd, e1.equip_mcd, N'') AS standard_mcd
-- ,COALESCE (e.parts_cd, N'', N'') AS parts_cd
-- ,COALESCE (e3.parts_nm, N'', N'') AS parts_nm
-- ,COALESCE (e.cycle_type, N'0', N'0') AS cycle_type
-- FROM dbo.common AS a
-- LEFT OUTER JOIN ( SELECT a11.equip_cd ,a11.equip_nm ,a11.equip_enm ,a11.equip_manage_num
-- ,a11.equip_item_nm ,a11.equip_model_num ,a11.equip_serial_num ,a11.equip_volume
-- ,b11.equip_type ,a11.interface_cd ,a11.plc_node_no ,a11.equip_prod_cust
-- ,a11.equip_prod_num ,a11.equip_buy_cust ,a11.equip_manage_cust ,a11.equip_response_emp
-- ,a11.equip_buy_date ,a11.equip_install_date ,a11.equip_work_date ,a11.equip_disuse_date
-- ,a11.equip_buy_amt ,a11.equip_use_gb ,a11.equip_property ,a11.plant_cd
-- ,a11.equip_mcd ,a11.equip_gcd ,a11.workroom_cd ,a11.main_equip_yn
-- ,a11.line_equip_cd ,a11.manless_yn ,a11.equip_status ,a11.cu_order_no
-- ,a11.pre_order_no ,a11.insert_user_cd ,a11.insert_time ,a11.update_user_cd
-- ,a11.update_time ,a11.error_plus ,a11.error_minus ,a11.error_unit
-- ,a11.w_port_no
-- FROM equipment a11
-- LEFT OUTER JOIN equipment b11 ON (a11.equip_mcd = b11.equip_cd)) b
-- ON (a.common_part_cd = '1')
-- LEFT OUTER JOIN dbo.common AS b1 ON b1.common_cd = 'SC011' AND b.equip_type = b1.common_part_cd
-- LEFT OUTER JOIN (SELECT a21.workroom_cd ,a21.workroom_nm ,a21.workroom_volume
-- ,a21.workroom_bottomtype ,a21.workroom_walltype ,a21.workroom_toptype
-- ,a21.plant_cd ,a21.workroom_mcd ,b21.cleanness_cd
-- ,b21.workroom_type ,a21.worker1 ,a21.worker2
-- ,a21.inspector ,a21.display_seq ,a21.insert_user_cd
-- ,a21.insert_time ,a21.update_user_cd ,a21.update_time
-- FROM workroom a21
-- LEFT OUTER JOIN workroom b21 ON (a21.workroom_mcd = b21.workroom_cd)) c
-- ON (a.common_part_cd = '2')
-- LEFT OUTER JOIN dbo.common AS c1 ON (c1.common_cd = 'SC012' AND c.workroom_type = c1.common_part_cd)
-- LEFT OUTER JOIN dbo.parts_dependency AS e ON a.common_part_cd = '6' AND e.cycle_type IN ('1', '2', '3')
-- LEFT OUTER JOIN ( SELECT a31.equip_cd ,a31.equip_nm ,a31.equip_enm ,a31.equip_manage_num
-- ,a31.equip_item_nm ,a31.equip_model_num ,a31.equip_serial_num ,a31.equip_volume
-- ,b31.equip_type ,a31.interface_cd ,a31.plc_node_no ,a31.equip_prod_cust
-- ,a31.equip_prod_num ,a31.equip_buy_cust ,a31.equip_manage_cust ,a31.equip_response_emp
-- ,a31.equip_buy_date ,a31.equip_install_date ,a31.equip_work_date ,a31.equip_disuse_date
-- ,a31.equip_buy_amt ,a31.equip_use_gb ,a31.equip_property ,a31.plant_cd
-- ,a31.equip_mcd ,a31.equip_gcd ,a31.workroom_cd ,a31.main_equip_yn
-- ,a31.line_equip_cd ,a31.manless_yn ,a31.equip_status ,a31.cu_order_no
-- ,a31.pre_order_no ,a31.insert_user_cd ,a31.insert_time ,a31.update_user_cd
-- ,a31.update_time ,a31.error_plus ,a31.error_minus ,a31.error_unit
-- ,a31.w_port_no
-- FROM equipment a31
-- LEFT OUTER JOIN equipment b31 ON (a31.equip_mcd = b31.equip_cd)) e1
-- ON (e.equip_cd = e1.equip_cd)
-- LEFT OUTER JOIN dbo.common AS e2 ON (e2.common_cd = 'SC011' AND e1.equip_type = e2.common_part_cd)
-- LEFT OUTER JOIN dbo.parts AS e3 ON (e.parts_cd = e3.parts_cd)
-- WHERE (a.common_cd = 'SC001') AND (b.equip_cd IS NOT NULL) OR
-- (a.common_cd = 'SC001') AND (c.workroom_cd IS NOT NULL) OR
-- (a.common_cd = 'SC001') AND (e.parts_cd IS NOT NULL) ) a
-- WHERE a.standard_cd LIKE '%' + @keyword + '%' OR a.standard_nm LIKE '%' + @keyword + '%'
-- SELECT @intErrorCode = @@ERROR
--END
--[๊ฑฐ๋์ฒ]
ELSE IF (@GUBUN = 'Material_Maker')
BEGIN
SELECT cust_cd AS ๊ฑฐ๋์ฒ์ฝ๋
,cust_nm AS ๊ฑฐ๋์ฒ๋ช
FROM ma_customer
WHERE CUST_GB in ('17','31','18','32','99','77') and CUST_CD not like 'in%' and (cust_cd LIKE '%' + @keyword + '%' OR cust_nm LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
--[์ปดํจํฐ์์น๊ด๋ฆฌ] ์ถ๊ธฐ
ELSE IF (@GUBUN = 'Position')
BEGIN
SELECT MacAddress AS '์ปดํจํฐ ๋ฌผ๋ฆฌ์ฃผ์'
,ComputerNM AS '์ปดํจํฐ ์ด๋ฆ'
,C.WorkRoom_NM AS '์์น๋ช
'
,IPAddress AS 'IP ์ฃผ์'
FROM ExecutionComputer a
--JOIN POSITION b ON (a.POSITION_NO = b.POSITION_NO)
--JOIN WORKROOM C ON (b.OBJ_CD = c.WORKROOM_CD)
JOIN WORKROOM C ON (A.POSITION_NO = c.WORKROOM_CD)
WHERE ( ComputerNM LIKE '%' + @keyword + '%'
OR C.WORKROOM_NM LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
--[๊ด๋ฆฌ์
์ฒด ๋ฆฌ์คํธ]
ELSE IF (@GUBUN = 'Vender_gb')
BEGIN
SELECT cust_cd AS ๊ฑฐ๋์ฒ์ฝ๋
,cust_nm AS ๊ฑฐ๋์ฒ๋ช
FROM ma_customer
WHERE 1=1
AND CUST_GB = '5'
AND (cust_cd LIKE '%' + @keyword + '%' OR cust_nm LIKE '%' + @keyword + '%')
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_Common
๋ชฉ์ โ ๊ณตํต ์ฝ๋ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_common_cd | nvarchar(100) | IN |
@s_common_nm | nvarchar(200) | IN |
@common_cd | nvarchar(100) | IN |
@common_part_cd | nvarchar(100) | IN |
@common_nm | nvarchar(200) | IN |
@common_part_nm | nvarchar(200) | IN |
@common_sys_ck | nvarchar(2) | IN |
@common_module | nvarchar(200) | IN |
@common_etc | nvarchar(200) | IN |
@common_remark | nvarchar(200) | IN |
@use_yn | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_Common]
@gubun nvarchar(50) = '',
@s_common_cd nvarchar(50) = '',
@s_common_nm nvarchar(100) = '',
@common_cd nvarchar(50) = '', -- ๊ณตํต์ฝ๋
@common_part_cd nvarchar(50) = '', -- ๊ตฌ๋ถ์ฝ๋
@common_nm nvarchar(100) = '', -- ๊ณตํต๋ช
@common_part_nm nvarchar(100) = '', -- ๊ตฌ๋ถ๋ช
@common_sys_ck nvarchar(1) = '', -- ์์คํ
์ฌ์ฉ์ฌ๋ถ
@common_module nvarchar(100) = '', -- ๋ชจ๋
@common_etc nvarchar(100) = '', -- ๊ธฐํ
@common_remark nvarchar(100) = '', -- ๋น๊ณ
@use_yn nvarchar(5) = '', -- ์ฌ์ฉ์ฌ๋ถ
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ฌ์
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Search' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Search' ) BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.common_cd, a.common_part_cd, a.common_nm AS common_nm, a.common_part_nm
, a.common_sys_ck, a.common_module, a.common_etc, a.common_remark
, '('+ a.common_cd+')' + a.common_nm AS common_nm2, a.use_yn
FROM common a
WHERE a.common_cd LIKE @s_common_cd + '%'
AND a.common_nm LIKE @s_common_nm + '%'
ORDER BY a.common_cd, a.common_part_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Insert') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] common
INSERT INTO common (common_cd, common_part_cd, common_nm, common_part_nm
, common_sys_ck, common_module, common_etc, common_remark, use_yn
, insert_user_cd, insert_time)
VALUES ( @common_cd, @common_part_cd, @common_nm, @common_part_nm
, @common_sys_ck, @common_module, @common_etc, @common_remark, @use_yn
, @insert_user_cd, getdate())
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from COMMON where common_cd = @COMMON_CD and common_part_cd = @COMMON_PART_CD
exec SP_AudiTrail_INSERT_COMMON @tableName = 'COMMON', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Update') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE common
SET common_nm = @common_nm
,common_part_nm = @common_part_nm
,common_sys_ck = @common_sys_ck
,common_module = @common_module
,common_etc = @common_etc
,common_remark = @common_remark
,use_yn = @use_yn
,update_user_cd = @insert_user_cd
,update_time = getdate()
WHERE common_cd = @common_cd
AND common_part_cd = @common_part_cd
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from COMMON where common_cd = @COMMON_CD and common_part_cd = @COMMON_PART_CD
exec SP_AudiTrail_INSERT_COMMON @tableName = 'COMMON', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Del') BEGIN
IF(@intErrorCode = 0) BEGIN
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from COMMON where common_cd = @COMMON_CD and common_part_cd = @COMMON_PART_CD
exec SP_AudiTrail_INSERT_COMMON @tableName = 'COMMON', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] common
DELETE common
WHERE common_cd = @common_cd AND common_part_cd = @common_part_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_GetCodeAuto
๋ชฉ์ โ ์๋ ์ฝ๋ ๋ฐ๋ฒ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@user_cd | nvarchar(100) | IN |
@keyword | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_GetCodeAuto]
@gubun nvarchar(10),
@user_cd nvarchar(50) = '',
@keyword nvarchar(50) = null,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'emp_cd' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'emp_cd') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.emp_cd ,emp_nm
FROM ma_employee a, cm_menu_user b
WHERE b.user_cd = @user_cd
AND a.plant_cd LIKE b.plant_cd
AND a.emp_cd = @keyword
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'cust_cd') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT cust_cd, cust_nm ,cust_ceo_nm ,cust_post_cd ,cust_ad1 ,cust_ad2 ,cust_emp_nm
FROM ma_customer
WHERE cust_cd LIKE '%' + @keyword + '%'
UNION ALL
SELECT cust_cd, cust_nm ,cust_ceo_nm ,cust_post_cd ,cust_ad1 ,cust_ad2 ,'' AS cust_emp_nm
FROM MA_CUSTOMER
WHERE cust_cd LIKE '%' + @keyword + '%'
END
END
ELSE IF(@gubun = 'plant_cd1') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.plant_cd ,a.plant_nm ,a.plant_ad1
FROM ma_plant a , cm_menu_user b
WHERE a.plant_cd+a.plant_nm LIKE '%'+@keyword+'%'
AND a.plant_cd = b.plant_cd
AND b.user_cd = @user_cd
SELECT a.plant_cd ,a.plant_nm ,a.plant_ad1
FROM ma_plant a , cm_menu_user b
WHERE a.plant_cd+a.plant_nm LIKE '%'+@keyword+'%'
AND a.plant_cd = b.plant_cd
AND b.user_cd = @user_cd
SELECT @intErrorCode = @@error
END
END
--๊ธฐ์กด plant_cd ์์ ํจ(์๋จ์ ์ฟผ๋ฆฌ ์คํ ์ ์ฌ์ฉ์์ ์ฌ์
์ฅ์ด ์๋๊ฒฝ์ฐ plant_nm๋ฅผ ์กฐํํ์ง ๋ชปํด์ ์์ )
ELSE IF(@gubun = 'plant_cd') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT plant_cd ,plant_nm ,plant_ad1
FROM ma_plant
WHERE plant_cd + plant_nm LIKE '%'+@keyword+'%'
AND plant_cd = @keyword
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun = 'Zipcode') BEGIN
IF(@intErrorCode = 0) BEGIN
-- SELECT cm_zipcode_cd
-- ,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ isnull(cm_zipcode_ri,'') + ' ' + isnull(cm_zipcode_bldg,'') +' ' + isnull(cm_zipcode_st_bunji,'') + '~' + isnull(cm_zipcode_ed_bunji,'')) AS zipcode_ad1
-- SELECT cm_zipcode_cd
-- ,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ ISNULL(cm_zipcode_ri,'') + ' ' + ISNULL(cm_zipcode_bldg,'') +' ' + CASE WHEN cm_zipcode_st_bunji is not null AND cm_zipcode_ed_bunji is not null THEN ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'') + ' '
-- ELSE REPLACE((ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'')),'~','') + ' ' END) AS zipcode_ad1
SELECT cm_zipcode_cd
,(cm_zipcode_sido +' ' + cm_zipcode_gugun +' '+ cm_zipcode_dong + ' '+ ISNULL(cm_zipcode_ri,'') + ' ' + ISNULL(cm_zipcode_bldg,'')) AS zipcode_ad1
,CASE WHEN cm_zipcode_st_bunji is not null AND cm_zipcode_ed_bunji is not null THEN ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'') + ' '
ELSE REPLACE((ISNULL(cm_zipcode_st_bunji,'') + '~' + ISNULL(cm_zipcode_ed_bunji,'')),'~','') + ' ' END AS zipcode_ad2
FROM ma_zipcode
WHERE cm_zipcode_cd LIKE @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'item_cd') BEGIN
IF(@intErrorCode = 0 ) BEGIN
SELECT a.item_cd ,a.item_nm
,ISNULL(b.common_part_nm,'') AS item_manage_unit
,ISNULL(a.item_manufacture_cust_cd,'') AS item_manufacture_cust_cd
,ISNULL(c.cust_nm,'') AS item_manufacture_cust_nm
,ISNULL(a.warehouse_cd,'') AS warehouse_cd
,ISNULL(d.warehouse_nm,'') AS warehouse_nm
,a.item_short_nm
,CONVERT(NVARCHAR(10),DATEADD(MONTH, a.item_validity_period, GETDATE()),121) AS item_validity_period --ํ์ฌ์ผ๋ก๋ถํฐ ์ ํจ๊ธฐ๊ฐ(์) ๋ํ์ฌ ์ฌ์ํ์ผ์์ ๊ธฐ๋ณธ ๊ฐ์ผ๋ก ์
ํ
,item_qc_free_fix
FROM ma_item_standard_tb a
LEFT OUTER JOIN cm_common b ON (b.common_cd = 'MA013' AND a.item_manage_unit = b.common_part_cd)
LEFT OUTER JOIN ma_customer c ON (a.item_manufacture_cust_cd = c.cust_cd)
LEFT OUTER JOIN ma_warehouse d ON (a.warehouse_cd =d.warehouse_cd)
WHERE item_cd + item_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'user_cd') BEGIN
IF(@intErrorCode = 0 ) BEGIN
SELECT user_cd ,user_nm
FROM dbo.CM_MENU_USER
WHERE user_cd + user_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'program_cd') BEGIN
IF(@intErrorCode = 0 ) BEGIN
SELECT form_cd ,form_nm
FROM cm_menu_form
WHERE form_cd + form_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'warehouse') BEGIN
IF(@intErrorCode = 0 ) BEGIN
SELECT warehouse_cd ,warehouse_nm
FROM ma_warehouse
WHERE warehouse_cd + warehouse_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'WorkGb') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT make_cd ,make_nm
FROM ma_work_Gb
WHERE make_cd + make_nm LIKE '%' + @keyword + '%'
ORDER BY make_cd
SELECT @intErrorCode = @@ERROR
END
END
--์์
์ค์ถ๊ฐ 2009.07.30 ๋ฐ์์ฉ
ELSE IF (@gubun = 'workroom') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT Workroom_cd ,Workroom_nm
FROM workroom
WHERE Workroom_cd + Workroom_nm LIKE '%' + @keyword + '%'
ORDER BY Workroom_cd
SELECT @intErrorCode = @@ERROR
END
END
-- ๊ธฐํํ๋ชฉ
ELSE IF (@gubun = 'Etc_item') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT item_cd ,item_nm
FROM item_standard
WHERE item_gb = '8' AND item_cd + item_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
END
-- ์์ฌ
ELSE IF (@gubun = 'PackItem') BEGIN
IF (@intErrorCode = 0) BEGIN
SELECT item_cd ,item_nm
FROM item_standard
WHERE item_gb in ('2','3') AND item_cd + item_nm LIKE '%' + @keyword + '%'
SELECT @intErrorCode = @@ERROR
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_GetMaster
๋ชฉ์ โ ๋ง์คํฐ ๋ฐ์ดํฐ ์กฐํ(๊ณตํต).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@gb | varchar(20) | IN |
@div | char(1) | IN |
@strwhere | varchar(20) | IN |
@strwhere2 | varchar(20) | IN |
@message | varchar(128) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/********************************************************************************/
/* ๋ง๋ ์ด : */
/* ๋ง๋ ๋ : */
/* ์ค๋ช
: */
/* ๋น๊ณ : P : ๊ณต์ฅ, C : ๊ฑฐ๋์ฒ,D : ๋ถ์ ,E : ์ฌ์ ,I : ํ๋ชฉ, B :์ฒ๋ฐฉ์ */
/* ์คํ */
/* DECLARE @out nvarchar(128) EXEC SP_ERP_Master 'A', @out */
CREATE PROCEDURE [dbo].[SP_CM_GetMaster]
@Gubun nvarchar(50) = '',
@gb varchar(20), -- ๊ตฌ๋ถ
@div char(1), -- ์กฐํ ์ ๊ตฌ๋ถ์ ๊ฐ์ธ์ง, ํ๋ฉด display๊ฐ์ธ์ง ๊ตฌ๋ถํ๋ค.("S":์กฐํ์ ๊ตฌ๋ถ์ ๊ฐ, "D",ํ๋ฉด dispaly ๊ฐ)
@strwhere varchar(20) = '' , -- ์กฐํ์กฐ๊ฑด.
@strwhere2 varchar(20) = '',
@message varchar(128) = '' output -- ๋ฐํ ๋ฉ์ธ์ง
AS
SET NOCOUNT ON
DECLARE @error_code int
SELECT @message = '์ ์', @error_code = @@error
IF(@error_code = 0) BEGIN
IF @gb = '๋ชจ๋์ฝ๋'
BEGIN
IF @div = 'S'
BEGIN
SELECT A.module_cd AS keyfield,
A.module_nm + '[' + A.module_cd + ']' AS displayfield
FROM cm_menu A
WHERE module_parent = '00000000'
ORDER BY A.module_seq
END
END
ELSE IF (@gb = 'module_gb') BEGIN
IF @div = 'N' BEGIN
SELECT distinct module_gb AS keyfield, module_gb AS displayfield
FROM cm_menu
END
END
--------------------์ถ๊ฐ-------------------------
ELSE IF @gb = '๋ถ์์ฝ๋'
BEGIN
IF @div = 'N'
BEGIN
SELECT dept_cd AS keyfield, dept_nm AS displayfield
FROM ma_department
WHERE plant_cd LIKE @strwhere
END
END
ELSE IF @gb = '๊ฑฐ๋์ฒ์ฝ๋'
BEGIN
IF @div = 'N'
BEGIN
SELECT cust_cd AS keyfield, cust_nm AS displayfield
FROM ma_customer
WHERE plant_cd = @strwhere
END
END
--------------------------------------------------
ELSE IF @gb = 'CALENDAR' --๋
-์
BEGIN
IF @div = 'S'
BEGIN
SELECT DISTINCT CONVERT(CHAR(7), calendar_date) AS keyfield
,CONVERT(CHAR(7), calendar_date) AS displayfield
FROM CALENDAR_MASTER
ORDER BY CONVERT(CHAR(7), calendar_date)
END
END
---------------------------2009.08.11 ์ถ๊ฐ------------------------------------
IF @gb = '์ฌ์
์ฅ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.PLANT_CD as keyfield, A.PLANT_NM as displayfield
FROM MA_PLANT A
END
ELSE IF @div = 'D'
BEGIN
SELECT A.PLANT_CD as keyfield, A.PLANT_NM as displayfield
FROM MA_PLANT A
WHERE A.PLANT_CD NOT IN ('%')
END
END
ELSE IF @gb = '์์
์ฅ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT rtrim(A.workroom_cd) as keyfield, A.workroom_nm as displayfield
FROM workroom A
WHERE A.plant_cd = @strwhere
END
ELSE IF @div = 'D'
BEGIN
SELECT rtrim(A.workroom_cd) as keyfield, A.workroom_nm as displayfield
FROM workroom A
WHERE A.plant_cd = @strwhere
END
ELSE IF @div = 'N'
BEGIN
SELECT rtrim(A.workroom_cd) as keyfield, A.workroom_nm as displayfield
FROM workroom A
WHERE A.plant_cd = @strwhere
END
END
ELSE IF @gb ='์ฐฝ๊ณ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_type = '5'
END
ELSE IF @div = 'D'
BEGIN
SELECT '' as keyfield, '' as displayfield
UNION ALL
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_type = '5'
END
ELSE IF @div = 'N'
BEGIN
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_type = '5'
END
END
ELSE IF @gb = '์ฐฝ๊ณ ์์น '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.workroom_location as keyfield, A.location_nm as displayfield
FROM workroom_location A
WHERE A.workroom_cd = @strwhere
END
ELSE IF @div = 'D'
BEGIN
SELECT '' as keyfield, '' as displayfield
UNION ALL
SELECT A.workroom_location as keyfield, A.location_nm as displayfield
FROM workroom_location A
WHERE A.workroom_cd = @strwhere
END
END
ELSE IF @gb = '๊ธฐ๊ณ๊ธฐ๊ตฌ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.equip_cd as keyfield, A.equip_nm as displayfield
FROM equipment A
WHERE A.plant_cd = @strwhere
END
ELSE IF @div = 'D'
BEGIN
SELECT A.equip_cd as keyfield, A.equip_nm as displayfield
FROM equipment A
WHERE A.plant_cd = @strwhere
END
END
ELSE IF @gb = '์ฒญ์ ๋ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.cleanness_cd as keyfield, A.cleanness_cd as displayfield
FROM cleanness A
END
ELSE IF @div = 'D'
BEGIN
SELECT A.cleanness_cd as keyfield, A.cleanness_cd as displayfield
FROM cleanness A
END
END
ELSE IF @gb = '์ฒญ์ ๋ํด๋์ค'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT Cast(A.cleanness_class as nvarchar) keyfield, Cast(A.cleanness_class as nvarchar) as displayfield
FROM cleanness A
END
ELSE IF @div = 'D'
BEGIN
SELECT A.cleanness_class as keyfield, A.cleanness_class as displayfield
FROM cleanness A
END
END
ELSE IF @gb = '๊ฐฑ์์ค '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.undress_cd as keyfield, A.undress_nm as displayfield
FROM UnDress A
END
ELSE IF @div = 'D'
BEGIN
SELECT A.undress_cd as keyfield, A.undress_nm as displayfield
FROM UnDress A
END
END
ELSE IF @gb = '์ฒญ์/๋ณด์ ๊ตฌ๋ถ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'D'
END
ELSE IF @div = 'D'
BEGIN
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'D'
END
END
ELSE IF @gb = '์ฃผ๊ธฐ๊ตฌ๋ถ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'E'
END
ELSE IF @div = 'D'
BEGIN
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'E'
END
END
ELSE IF @gb = '๊ณตํต์ฝ๋ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM common
WHERE common_cd = @strwhere
AND isnull(use_yn, 'Y') <> 'N'
--'0'์ ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ์ ์ฝ์กฐ๊ฑด์ ์ ๊ฑฐํจ.
--AND common_part_cd not in ('0')
order by ord
END
ELSE IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = @strwhere
AND isnull(use_yn, 'Y') <> 'N'
order by ord
END
ELSE IF @div = 'N'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = @strwhere
AND isnull(use_yn, 'Y') <> 'N'
order by ord
END
END
/*
ELSE IF @gb = 'ํ๋ชฉ๊ฐ์ '
BEGIN
select 1 as keyfield, 1 as displayfield
union all
select 2 as keyfield, 2 as displayfield
END
*/
ELSE IF @gb = '์ปดํจํฐ์์น'
BEGIN
IF @div = 'D' BEGIN
SELECT workroom_cd as keyfield ,WORKROOM_NM as displayfield
FROM WORKROOM
END
END
----------------------------------------------------------------์ถ๊ฐ
ELSE IF @gb = '์ ์กฐ์ฉ์์ํ'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT item_cd as keyfield,
item_nm as displayfield
FROM item_standard
WHERE item_gb = 7
END
ELSE IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield
UNION ALL
SELECT item_cd as keyfield,
item_nm as displayfield
FROM item_standard
WHERE item_gb = 7
END
ELSE IF @div = 'N'
BEGIN
SELECT item_cd as keyfield,
item_nm as displayfield
FROM item_standard
WHERE item_gb = 7
END
END
----------------------------------------------------------------
ELSE IF @gb = '๊ณ ์ฅ์์ธ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'G'
END
ELSE IF @div = 'D'
BEGIN
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'G'
END
END
ELSE IF @gb = '์งํ๋จ๊ณ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'F'
END
ELSE IF @div = 'D'
BEGIN
SELECT A.bcode as keyfield, A.bname as displayfield
FROM BASECODE A
WHERE A.bgubun = 'F'
END
END
ELSE IF @gb = '๋ชจ๋์ฝ๋'
BEGIN
IF @div = 'S'
BEGIN
SELECT A.module_cd as keyfield, A.module_nm + '[' + A.module_cd + ']' as displayfield
FROM menu A
Where module_parent = '00000000'
Order By A.module_seq
END
END
ELSE IF @gb = '์ ์กฐ๊ฐ์ ๋ฒํธ'
BEGIN
IF @div = 'S'
BEGIN
SELECT 'NEW' as keyfield, 'NEW' as displayfield
UNION ALL
SELECT A.revision_no as keyfield,
isnull(A.revision_no, '') + case when a.revision_current_ck = 'Y' then '(ํ๊ฐ์ )' else '' end as displayfield
FROM item_process_revision A
WHERE A.mp_ck = 'M'
AND A.item_cd = @strwhere
AND A.batch_size = @strwhere2
--AND A.revision_current_ck = 'Y'
END
END
ELSE IF @gb = 'ํฌ์ฅ๊ฐ์ ๋ฒํธ'
BEGIN
IF @div = 'S'
BEGIN
SELECT 'NEW' as keyfield, 'NEW' as displayfield
UNION ALL
SELECT A.revision_no as keyfield,
isnull(A.revision_no, '') + case when a.revision_current_ck = 'Y' then '(ํ๊ฐ์ )' else '' end as displayfield
FROM item_process_revision A
WHERE A.mp_ck = 'P'
AND A.item_cd = @strwhere
--AND A.revision_current_ck = 'Y'
END
END
ELSE IF @gb ='๊ฐ์ ๋ฒํธ2'
BEGIN
IF @div ='D'
BEGIN
SELECT '0' as keyfield , '0' as displayfield
END
END
ELSE IF @gb = '๋ฐฐ์น์ฌ์ด์ฆ'
BEGIN
IF @div = 'S'
BEGIN
SELECT 'NEW' as keyfield, 'NEW' as displayfield
UNION ALL
SELECT distinct batch_size as keyfield,
dbo.fn_format_string(batch_size,'S4')+'T' as displayfield
FROM item_process_revision
WHERE item_cd = @strwhere
AND mp_ck= 'M'
END
IF @div = 'D'
BEGIN
SELECT distinct batch_size as keyfield,
dbo.fn_format_string(batch_size,'S4')+'T' as displayfield
FROM item_process_revision
WHERE item_cd = @strwhere
AND mp_ck = 'M'
END
END
ELSE IF @gb = '๋ฐฐ์น์ฌ์ด์ฆ2'
BEGIN
IF @div = 'D'
BEGIN
SELECT distinct batch_size as keyfield,
dbo.fn_format_string(batch_size, 'S') + 'T' as displayfield
FROM item_process_revision
WHERE item_cd = @strwhere
END
END
ELSE IF @gb = '๊ณต์ง๊ตฌ๋ถ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd = 'CM009'
END
ELSE IF @div = 'D'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd = 'CM009'
END
END
ELSE IF @gb = '๋ถํ์ข
๋ฅ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
Select common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd = 'CM043'
END
ELSE IF @div = 'D'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd = 'CM043'
END
END
ELSE IF @gb = '์น์ธ์ํ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM Common
WHERE common_cd = 'RT013'
END
END
ELSE IF @gb = '์ ์กฐ๋ถ์ถ๊ณต์ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT distinct c.process_cd as keyfield, d.process_nm as displayfield
FROM v_order a
join item_standard b on a.item_cd = b.item_cd
join item_bom_full c on a.item_cd = c.item_cd and b.item_bom_no = c.item_bom_no
join item_standard e on c.item_bom_child_cd = e.item_cd and e.item_gb <> '2'
left outer join process d on c.process_cd = d.process_cd
WHERE a.order_no = @strwhere
END
END
ELSE IF @gb = '์น์ธ๊ณต์ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT process_cd as keyfield, process_nm as displayfield
FROM process
WHERE process_type not like 'A%'
END
ELSE IF @div = 'D'
BEGIN
SELECT process_cd as keyfield, process_nm as displayfield
FROM process
WHERE process_type not like 'A%'
END
ELSE IF @div = 'M'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT distinct a.process_cd as keyfield, a.process_nm as displayfield
FROM process a
inner join input_order_process b
on a.process_cd = b.process_cd
WHERE process_type like 'A%'
END
END
ELSE IF @gb ='๋ถ์' --์๋ก ์ถ๊ฐ 06/10/10 ์ด์ธ๋ฏผ
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT dept_cd as keyfield, dept_nm as displayfield
FROM department
END
ELSE IF @div = 'D'
BEGIN
SELECT dept_cd as keyfield, dept_nm as displayfield
FROM department
END
END
ELSE IF @gb ='์์
์ค'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_mcd =@strwhere
END
ELSE IF @div = 'D'
BEGIN
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_mcd = @strwhere
END
END
-- ELSE IF @gb ='์ํ์'
-- BEGIN
-- IF @div = 'S'
-- BEGIN
-- SELECT '%' as keyfield, '์ ์ฒด' as displayfield
-- UNION ALL
-- SELECT a.emp_cd as keyfield, a.emp_nm as displayfield
-- FROM employee a
-- join department b on a.dept_cd = b.dept_cd
-- WHERE b.dept_gb = '3'
-- AND (rtrim(isnull(nullif(a.retire_date, ''), '')) = '' or a.retire_date > convert(char(10), getdate(), 120))
-- END
-- ELSE IF @div = 'N'
-- BEGIN
-- SELECT a.emp_cd as keyfield, a.emp_nm as displayfield
-- FROM employee a
-- join department b on a.dept_cd = b.dept_cd
-- WHERE b.dept_gb = '3'
-- AND (rtrim(isnull(nullif(a.retire_date, ''), '')) = '' or a.retire_date > convert(char(10), getdate(), 120))
-- END
-- END
ELSE IF @gb ='๊ณ ์ฅ'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT a.equip_problem_cd as keyfield, a.equip_problem_nm as displayfield
FROM equip_problem_master a
END
ELSE IF @div = 'D'
BEGIN
SELECT a.equip_problem_cd as keyfield, a.equip_problem_nm as displayfield
FROM equip_problem_master a
END
END
ELSE IF @gb = '๊ณต์ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT process_cd as keyfield, process_nm as displayfield
FROM process
END
ELSE IF @div = 'D'
BEGIN
SELECT '' as keyfield, '' as displayfield
UNION ALL
SELECT process_cd as keyfield, process_nm as displayfield
FROM process
END
ELSE IF @div = 'N'
BEGIN
SELECT process_cd as keyfield, process_nm as displayfield
FROM process
END
END
ELSE IF @gb = '์ ๊ฒ๊ฒฐ๊ณผ'
BEGIN
IF @div = 'D'
BEGIN
SELECT '์ ํฉ' as keyfield, '์ ํฉ' as displayfield
UNION
SELECT '๋ถ์ ํฉ', '๋ถ์ ํฉ'
ORDER BY keyfield DESC
END
END
--ELSE IF @gb = 'ํฌ์ฅ๋จ์'
--BEGIN
-- IF @div = 'S'
-- BEGIN
-- SELECT '%' as keyfield, '์ ์ฒด' as displayfield,
-- 0 as ord
-- UNION ALL
-- SELECT b.item_cd as keyfield,
-- dbo.fn_format_string(b.item_pack_size, 'S')
-- + isnull(c.common_part_nm, isnull(b.item_packunit, ''))
-- + isnull('('+isnull(d.common_part_nm, b.item_packing_type)+')', '') as displayfield,
-- case when a.item_cd = b.item_cd then 1 else 2 end as ord
-- FROM item_standard a
-- join item_standard b on a.item_cd = b.item_make_cd
-- left outer join common c on c.common_cd = 'CM012' and b.item_packunit = c.common_part_cd
-- left outer join common d on d.common_cd = 'CM013' and b.item_packing_type = d.common_part_cd
-- WHERE a.item_cd = @strwhere
-- ORDER BY ord
-- END
-- ELSE IF @div = 'D'
-- BEGIN
-- SELECT '' as keyfield, '' as displayfield,
-- 0 as ord
-- UNION ALL
-- SELECT b.item_cd as keyfield,
-- dbo.fn_format_string(b.item_pack_size, 'S')
-- + isnull(c.common_part_nm, isnull(b.item_packunit, ''))
-- + isnull('('+isnull(d.common_part_nm, b.item_packing_type)+')', '') as displayfield,
-- case when a.item_cd = b.item_cd then 1 else 2 end as ord
-- FROM item_standard a
-- join item_standard b on a.item_cd = b.item_make_cd
-- left outer join common c on c.common_cd = 'CM012' and b.item_packunit = c.common_part_cd
-- left outer join common d on d.common_cd = 'CM013' and b.item_packing_type = d.common_part_cd
-- WHERE a.item_cd = @strwhere
-- ORDER BY ord
-- END
-- ELSE IF @div = 'N'
-- BEGIN
-- SELECT b.item_cd as keyfield,
-- dbo.fn_format_string(b.item_pack_size, 'S')
-- + isnull(c.common_part_nm, isnull(b.item_packunit, ''))
-- + isnull('('+isnull(d.common_part_nm, b.item_packing_type)+')', '') as displayfield,
-- case when a.item_cd = b.item_cd then 1 else 2 end as ord
-- FROM item_standard a
-- join item_standard b on a.item_cd = b.item_make_cd
-- left outer join common c on c.common_cd = 'CM012' and b.item_packunit = c.common_part_cd
-- left outer join common d on d.common_cd = 'CM013' and b.item_packing_type = d.common_part_cd
-- WHERE a.item_cd = @strwhere
-- ORDER BY ord
-- END
--END
ELSE IF @gb = 'SOP๊ฐ์ '
BEGIN
IF @div = 'S'
BEGIN
SELECT CAST(A.revision_no AS varchar(50)) as keyfield,
CAST(A.revision_no AS varchar(50)) + case when a.current_yn = 'Y' then '(ํ๊ฐ์ )' else '' end as displayfield
FROM sop_revision A
WHERE A.sop_no = @strwhere
END
END
ELSE IF @gb = '์์์ฌ๊ตฌ๋ถ'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM Common
WHERE common_cd = 'CM001'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd in ('2','3')
END
ELSE IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM Common
WHERE common_cd = 'CM001'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd in ('2','3')
END
ELSE IF @div = 'N'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM Common
WHERE common_cd = 'CM001'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd in ('2','3')
END
END
ELSE IF @gb = '์ ์ธ '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT equip_cd as keyfield, equip_nm as displayfield
FROM equipment
WHERE equip_type = '1' AND interface_cd = 'W_01'
END
ELSE IF @div = 'D'
BEGIN
SELECT equip_cd as keyfield, equip_nm as displayfield
FROM equipment
WHERE equip_type = '1'
END
END
ELSE IF @gb = '์จ์ต๋๊ณ'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT a.workroom_cd as keyfield, a.workroom_nm as displayfield
FROM workroom a
JOIN equipment b on a.workroom_cd=b.workroom_cd
WHERE b.interface_cd='TH01'
END
END
ELSE IF @gb='์ ํ์ ํ' --๊ธฐํํ๋ชฉ ์ ํ
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd='CM001' and common_part_cd in ('1','2','3','4','5','6','8')
END
ELSE IF @div='D'
BEGIN
SELECT null as keyfield, '' as displayfield
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield
FROM common
WHERE common_cd='CM001' and common_part_cd in ('1','2','3','4','5','6','8')
END
END
--080401 ๋ณด๊ด๊ฒ์ฒด ๊ตฌ๋ถ์ํด ์ถ๊ฐ
ELSE IF @gb = '๋ณด๊ด๊ฒ์ฒด '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd not in (7,8,9)
--'0'์ ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ์ ์ฝ์กฐ๊ฑด์ ์ ๊ฑฐํจ.
--AND common_part_cd not in ('0')
order by ord
END
ELSE IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd not in (7,8,9)
order by ord
END
ELSE IF @div = 'N'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd not in (7,8,9)
order by ord
END
END
ELSE IF @gb = '์์ ์ฑ๊ฒ์ฒด '
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd in (7,8,9)
--'0'์ ์ฌ์ฉํ๊ฒ ๋๋ฉด์ ์ ์ฝ์กฐ๊ฑด์ ์ ๊ฑฐํจ.
--AND common_part_cd not in ('0')
order by ord
END
ELSE IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd not in (7,8,9)
order by ord
END
ELSE IF @div = 'N'
BEGIN
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = 'QC004'
AND isnull(use_yn, 'Y') <> 'N'
AND common_part_cd in (7,8,9)
order by ord
END
END
ELSE IF @gb = '๋ฐ์ ํ๋ณด๊ด์ค'
BEGIN
IF @div = 'S'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT workroom_cd as keyfield, workroom_nm as displayfield
FROM workroom
WHERE workroom_type = '4'
END
END
ELSE IF @gb = '์ ์น๋๊ธฐ'
BEGIN
IF @div = 'S'
BEGIN
SELECT 'ALL' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT 'TEST' as keyfield, '์ํ๋๊ธฐ๋ณด๊ด์' as displayfield
UNION
SELECT 'WEIGHING' as keyfield, '์นญ๋์ค' as displayfield
UNION
SELECT 'NOSTACK' as keyfield, '๋ฏธ์ ์น' as displayfield
END
END
ELSE IF @gb = 'QC ๊ณต์ ๊ฒ์ฌ๊ธฐ๋ก์'
BEGIN
IF @div = 'S'
BEGIN
SELECT 0 as keyfield, 'NEW' as displayfield
UNION ALL
SELECT A.revision_id as keyfield,
isnull(A.revision_no, '') + case when a.current_yn = 'Y' then '(ํ๊ฐ์ )' else '' end as displayfield
FROM QC_IPC A
WHERE
A.mp_ck = @strwhere2 -- 'M'
AND
A.item_cd = @strwhere
END
END
ELSE IF @gb = '์ปดํจํฐ์์น'
BEGIN
IF @div = 'D' BEGIN
SELECT POSITION_NO as keyfield , b.WORKROOM_NM as displayfield
FROM POSITION a
JOIN WORKROOM b ON (a.OBJ_CD = b.WORKROOM_CD)
END
END
-- Mac Address
ELSE IF @gb = 'Mac'
BEGIN
IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield
UNION ALL
SELECT macaddress as keyfield, macaddress as displayfield
FROM ExecutionComputer
END
ELSE IF @div = 'N'
BEGIN
SELECT macaddress as keyfield, macaddress as displayfield
FROM ExecutionComputer
END
END
-- ์์
์ํ
ELSE IF @gb = '์์
์ํ'
BEGIN
IF @div = 'D'
BEGIN
SELECT null as keyfield, '' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = @strwhere
AND isnull(use_yn, 'Y') <> 'N' AND (COMMON_PART_CD='02' OR COMMON_PART_CD='05')
END
END
-- ์ค์บ๊ตฌ๋ถ
ELSE IF @gb = '์ค์บ๊ตฌ๋ถ'
BEGIN
BEGIN
SELECT null as keyfield, '' as displayfield,
0 as ord
UNION ALL
SELECT common_part_cd as keyfield, common_part_nm as displayfield,
isnull(dis_seq, 1) as ord
FROM Common
WHERE common_cd = @strwhere
AND isnull(use_yn, 'Y') <> 'N'
END
END
ELSE IF @gb = '๋ผ๋ฒจ๋ฐํ'
BEGIN
IF @div = 'D'
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
UNION
SELECT 'Y' as keyfield, 'Y' as displayfield
UNION
SELECT 'N' as keyfield, 'N' as displayfield
END
END
ELSE IF @gb = 'ํ์ฃผ๋ช
'
BEGIN
IF @div = 'D'
BEGIN
SELECT SHIPPER_CD as keyfield, SHIPPER_NM as displayfield
FROM SHIPPER_JOA
END
END
/*
ELSE IF(@gb = 'PackingGB')
BEGIN
SELECT '%' as keyfield, '์ ์ฒด' as displayfield
union all
SELECT distinct '' as keyfield, '๊ณต๋' as displayfield
FROM GD_CUST_ISSUE
WHERE ISSUE_WORK_DATE between @strwhere2 and @strwhere
AND REMARK = ''
union all
SELECT distinct 'NULL' as keyfield, 'NULL' as displayfield
FROM GD_CUST_ISSUE
WHERE ISSUE_WORK_DATE between @strwhere2 and @strwhere
AND REMARK IS NULL
union all
SELECT distinct remark as keyfield, remark as displayfield
FROM gd_cust_issue
where ISSUE_WORK_DATE between @strwhere2 and @strwhere
AND REMARK IS NOT NULL
AND REMARK <> ''
ORDER BY displayfield
END */
------------------------------------------------------------------------------
END
IF (@error_code != 0)
BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@error_code AND msglangid = '1042'
RETURN(@error_code)
END
SP_CM_News
๋ชฉ์ โ ๊ณต์ง์ฌํญ ์กฐํยท๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@company_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@news_id | int(4) | IN |
@news_seq | int(4) | IN |
@select_start_date | nvarchar(20) | IN |
@select_end_date | nvarchar(20) | IN |
@news_gb | nvarchar(100) | IN |
@news_title | nvarchar(200) | IN |
@news_content | ntext(16) | IN |
@news_start_date | nvarchar(20) | IN |
@news_end_date | nvarchar(20) | IN |
@news_writer | nvarchar(100) | IN |
@news_use_gb | nvarchar(2) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_News]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@company_cd nvarchar(50) = '', --ํ์ฌ์ฝ๋
@plant_cd nvarchar(50) = '', --์ฌ์
์ฅ์ฝ๋
@news_id int =0 , --๊ณต์ง์์ด๋
@news_seq int =0, --์ผ๋ จ๋ฒํธ
@select_start_date nvarchar(10) = null, --๊ณต์ง์์์ผ์
@select_end_date nvarchar(10) = null, --๊ณต์ง์์์ผ์
@news_gb nvarchar(50) = '', --๊ณต์ง๊ตฌ๋ถ
@news_title nvarchar(100) = '', --๊ณต์ง์ ๋ชฉ
@news_content ntext = '', --๊ณต์ง๋ด์ฉ
@news_start_date nvarchar(10) = null, --๊ณต์ง์ผ์
@news_end_date nvarchar(10) = null, --๊ฒ์ ์ข
๋ฃ ์ผ์
@news_writer nvarchar(50) = '', --๊ณต์ง์
@news_use_gb nvarchar(1) = '', --๊ณต์ง์ฌ์ฉ์ ๋ฌด
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SELECT @intErrorCode = @@error
--๊ณต์ง์ฌํญ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'NewsSelect' ์ธ ๊ฒฝ์ฐ
IF(@gubun ='NewsSelect') BEGIN
SELECT a.company_cd
,a.plant_cd
,a.news_id
,a.news_seq
,a.news_gb
,b.common_part_nm AS news_gb_nm
,replace(a.news_title,char(10),char(10)) as news_title
,a.news_content
,a.news_writer
,a.news_start_date
,a.news_end_date
,a.news_use_gb
FROM cm_news a
LEFT OUTER JOIN common b ON(b.common_cd ='CM210' AND a.news_gb = b.common_part_cd)
WHERE a.company_cd = @company_cd
AND a.plant_cd LIKE '%'+@plant_cd +'%'
AND a.news_start_date BETWEEN @select_start_date AND @select_end_date
ORDER BY news_id DESC
SELECT @intErrorCode = @@error
END
--๊ณต์ง์ฌํญ ์
๋ ฅ
ELSE IF(@gubun ='NewsInsert') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_news
INSERT INTO cm_news
( company_cd , plant_cd , news_seq ,news_gb ,news_title
,news_content ,news_writer , news_start_date ,news_end_date , news_use_gb,insert_user_cd ,insert_time)
VALUES (@company_cd , @plant_cd , @news_seq , @news_gb ,@news_title
,@news_content , @news_writer , @news_start_date ,@news_end_date , @news_use_gb,@insert_user_cd,getdate())
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_news where NEWS_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_news', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
--๊ณต์ง์ฌํญ ์์
ELSE IF(@gubun ='NewsUpdate') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE cm_news
SET company_cd = @company_cd
, plant_cd = @plant_cd
, news_gb = @news_gb
, news_seq = @news_seq
, news_title = @news_title
, news_content = @news_content
, news_writer = @news_writer
, news_start_date = @news_start_date
, news_end_date = @news_end_date
, news_use_gb = @news_use_gb
, update_user_cd = @update_user_cd
, update_time = getdate()
WHERE company_cd = @company_cd AND plant_cd = @plant_cd AND news_id = @news_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_news where NEWS_ID = @news_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_news', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
--๊ณต์ง์ฌํญ ์ญ์
ELSE IF(@gubun ='NewsDelete') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_news where NEWS_ID = @news_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_news', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] cm_news
DELETE FROM cm_news
WHERE company_cd = @company_cd
AND plant_cd =@plant_cd
AND news_id =@news_id
SELECT @intErrorCode = @@error
END
END
--๊ณต์ง์ฌํญ ๋ฉ์ธ ๋ฆฌ์คํธ ์กฐํ
ELSE IF(@gubun ='MainNewsSelect') BEGIN
SELECT company_cd
, plant_cd
, news_gb
, news_title
, news_content
, news_start_date
, news_end_date
FROM cm_news
WHERE news_use_gb = 'Y'
AND convert(varchar(10),getDate(),121) BETWEEN news_start_date AND news_end_date
-- AND ((news_gb = '001' AND company_cd = @company_cd)
-- OR (news_gb='002' AND company_cd = @company_cd AND plant_cd LIKE @plant_cd + '%'))
ORDER BY news_id DESC
SELECT @intErrorCode = @@error
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_CM_Parameter
๋ชฉ์ โ ์์คํ ํ๋ผ๋ฏธํฐ ์กฐํยท์ ์ฅ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@parameter_code | nvarchar(100) | IN |
@parameter_value | nvarchar(100) | IN |
@parameter_remark | nvarchar(2000) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CM_Parameter]
@Gubun nvarchar(50),
@plant_cd nvarchar(50) = '',
@parameter_code nvarchar(50) = '',
@parameter_value nvarchar(50) = '',
@parameter_remark nvarchar(1000) = '',
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'Select')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT parameter_code ,parameter_value ,parameter_remark
FROM cm_parameter
WHERE parameter_code LIKE @parameter_code + '%'
AND parameter_remark LIKE '%' + @parameter_remark +'%'
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun = 'Insert')BEGIN
IF (@intErrorCode = 0) BEGIN
-- [์ ์ฌ] cm_parameter
INSERT INTO cm_parameter
(plant_cd, parameter_code ,parameter_value ,parameter_remark)
VALUES
(@plant_cd, @parameter_code ,@parameter_value ,@parameter_remark)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_parameter where PLANT_CD = @plant_cd and PARAMETER_CODE = @parameter_code
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun = 'Update')BEGIN
IF (@intErrorCode = 0) BEGIN
UPDATE cm_parameter
SET parameter_value = @parameter_value,
parameter_remark= @parameter_remark
WHERE parameter_code = @parameter_code
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_parameter where PARAMETER_CODE = @parameter_code
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF(@gubun = 'Delete')BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from cm_parameter where PARAMETER_CODE = @parameter_code
exec SP_AudiTrail_INSERT_COMMON @tableName = 'cm_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM cm_parameter
WHERE parameter_code = @parameter_code
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_MA_CustomerReg
๋ชฉ์ โ ๊ฑฐ๋์ฒ ๋ฑ๋กยท์์ .
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@cust_cd_inq | nvarchar(100) | IN |
@cust_gb_inq | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
@cust_nm | nvarchar(200) | IN |
@cust_s_nm | nvarchar(200) | IN |
@cust_e_nm | nvarchar(200) | IN |
@cust_gb | nvarchar(10) | IN |
@cust_catgo_nm | nvarchar(200) | IN |
@cust_busin_nm | nvarchar(200) | IN |
@cust_busin_no | nvarchar(20) | IN |
@cust_ceo_nm | nvarchar(100) | IN |
@cust_ceo_social_num | nvarchar(26) | IN |
@cust_tel_no | nvarchar(100) | IN |
@cust_fax_no | nvarchar(100) | IN |
@cust_email_ad | nvarchar(100) | IN |
@cust_homepage | nvarchar(200) | IN |
@cust_emp_nm | nvarchar(100) | IN |
@cust_nation | nvarchar(10) | IN |
@cust_post_cd | nvarchar(100) | IN |
@cust_ad1 | nvarchar(100) | IN |
@cust_ad2 | nvarchar(200) | IN |
@cust_remark | nvarchar(200) | IN |
@cust_tax_gb | nvarchar(2) | IN |
@cust_delivery_gb | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@cust_contract | char(1) | IN |
@supply_type | char(1) | IN |
@nursing_symbol | nvarchar(16) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ํจ์์
์ ์ ์ :
SP ๋ช
: SP_MA_CustomerReg
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๊ฑฐ๋์ฒ๋ง์คํฐ๋ฅผ ์กฐํ, ์
๋ ฅ, ์์ , ์ญ์ ํ๋ค.
์ฌ ์ฉ ์ฒ : CustomerReg.cs
ํ
์ด ๋ธ : dbo.MA_CUSTOMER
๋น ๊ณ : [DataBase ํ์คํ] ๊ฐ๋ฐ๊ฐ์ด๋- Naming Rule ๋ฒ์ 1.0.0 ์ฐธ์กฐํ์ฌ ์์ฑ.
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_MA_CustomerReg]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@cust_cd_inq nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋(์กฐํ์ฉ)
@cust_gb_inq nvarchar(50) = '', --๊ฑฐ๋์ฒ๊ตฌ๋ถ(์กฐํ์ฉ)
@plant_cd nvarchar(50) = '', --์ฌ์
์ฅ์ฝ๋
@cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋
@cust_nm nvarchar(100) = '', --๊ฑฐ๋์ฒ๋ช
@cust_s_nm nvarchar(100) = '', --๊ฑฐ๋์ฒ์ฝ๋ช
@cust_e_nm nvarchar(100) = '', --๊ฑฐ๋์ฒ์๋ฌธ๋ช
@cust_gb nvarchar(5) = '', --๊ฑฐ๋์ฒ๊ตฌ๋ถ(MA101)
@cust_catgo_nm nvarchar(100) = '', --์
ํ
@cust_busin_nm nvarchar(100) = '', --์ข
๋ชฉ
@cust_busin_no nvarchar(10) = '', --์ฌ์
์๋ฑ๋ก๋ฒํธ
@cust_ceo_nm nvarchar(50) = '', --๋ํ์๋ช
@cust_ceo_social_num nvarchar(13) = '', --์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
@cust_tel_no nvarchar(50) = '', --์ ํ๋ฒํธ
@cust_fax_no nvarchar(50) = '', --ํฉ์ค๋ฒํธ
@cust_email_ad nvarchar(50) = '', --์ด๋ฉ์ผ์ฃผ์
@cust_homepage nvarchar(100) = '', --๊ฑฐ๋์ฒํํ์ด์ง
@cust_emp_nm nvarchar(50) = '', --๊ฑฐ๋์ฒ๋ด๋น์๋ช
@cust_nation nvarchar(5) = '', --๊ตญ๊ฐ(MA102)
@cust_post_cd nvarchar(50) = '', --์ฐํธ๋ฒํธ
@cust_ad1 nvarchar(50) = '', --์ฃผ์1
@cust_ad2 nvarchar(100) = '', --์ฃผ์2
@cust_remark nvarchar(100) = '', --๋น๊ณ
@cust_tax_gb nvarchar(1) = '', --๊ณ์ฐ์๋ฐํ๊ตฌ๋ถ
@cust_delivery_gb nvarchar(5) = '', --๋ฐฐ์ก๊ตฌ๋ถ
@insert_user_cd nvarchar(50) = '', --์
๋ ฅ์ฌ์
@update_user_cd nvarchar(50) = '', --์์ ์ฌ์
@sys_emp_cd nvarchar(50) = '',
@cust_contract char(1) = '',
@supply_type char(1) = '',
@nursing_symbol nvarchar(8) = '',
@message nvarchar(2000) output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ๊ฑฐ๋์ฒ ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
SELECT a.plant_cd ,a.cust_cd ,a.cust_nm
,a.cust_s_nm ,a.cust_e_nm
,a.cust_gb ,b.common_part_nm AS cust_gb_nm
,a.cust_catgo_nm ,a.cust_busin_nm
,a.cust_busin_no ,a.cust_ceo_nm ,a.cust_ceo_social_num
,a.cust_tel_no ,a.cust_fax_no ,a.cust_email_ad
,a.cust_homepage ,a.cust_emp_nm
,a.cust_nation ,c.common_part_nm AS cust_nation_nm
,a.cust_post_cd ,a.cust_ad1 ,a.cust_ad2
,a.cust_remark ,a.cust_delivery_gb ,d.common_part_nm AS cust_delivery_gb_nm
,isnull(a.cust_tax_gb, 'N') AS cust_tax_gb
,ISNULL(a.OUTER_INTERFACE,'') AS outer_interface
,a.cust_contract
,a.supply_type
,a.nursing_symbol
FROM ma_customer a
LEFT OUTER JOIN common b ON (b.common_cd = 'MA101' AND a.cust_gb = b.common_part_cd) --๊ฑฐ๋์ฒ๊ตฌ๋ถ
LEFT OUTER JOIN common c ON (c.common_cd = 'MA102' AND a.cust_nation = c.common_part_cd) --๊ตญ๊ฐ
LEFT OUTER JOIN common d ON (d.common_cd = 'MA103' AND a.cust_delivery_gb = d.common_part_cd) --๋ฐฐ์ก๊ตฌ๋ถ
WHERE ( a.cust_cd LIKE '%' + @cust_cd_inq + '%' OR a.cust_nm LIKE '%' + @cust_cd_inq + '%' )
AND ( a.cust_gb LIKE @cust_gb_inq + '%')
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋์ฒ ์
๋ ฅ
ELSE IF (@gubun = 'Insert') BEGIN
-- [์ ์ฌ] ma_customer
INSERT INTO ma_customer
(plant_cd ,cust_cd ,cust_nm
,cust_gb ,cust_catgo_nm ,cust_busin_no ,cust_ceo_nm
,cust_tel_no ,cust_fax_no ,cust_email_ad ,cust_emp_nm
,cust_nation ,cust_post_cd ,cust_ad1 ,cust_ad2
,cust_remark ,cust_s_nm ,cust_e_nm ,cust_busin_nm
,cust_ceo_social_num ,cust_homepage ,cust_tax_gb ,cust_delivery_gb
,insert_user_cd ,insert_time
,update_user_cd ,update_time ,cust_contract ,supply_type , nursing_symbol )
VALUES
(@plant_cd ,@cust_cd ,@cust_nm
,@cust_gb ,@cust_catgo_nm ,@cust_busin_no ,@cust_ceo_nm
,@cust_tel_no ,@cust_fax_no ,@cust_email_ad ,@cust_emp_nm
,@cust_nation ,@cust_post_cd ,@cust_ad1 ,@cust_ad2
,@cust_remark ,@cust_s_nm ,@cust_e_nm ,@cust_busin_nm
,@cust_ceo_social_num ,@cust_homepage ,@cust_tax_gb ,@cust_delivery_gb
,@insert_user_cd ,getdate()
,@update_user_cd ,getdate() ,@cust_contract ,@supply_type ,@nursing_symbol)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_customer where PLANT_CD = @plant_cd and CUST_CD = @cust_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_customer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋์ฒ์ฝ๋ ์ค๋ณต๊ฒ์ฌ
ELSE IF(@gubun = 'V')
BEGIN
SELECT cust_cd
FROM ma_customer
WHERE cust_cd = @cust_cd
SELECT @@ERROR
END
-- ๊ฑฐ๋์ฒ ์์
ELSE IF (@gubun = 'Update') BEGIN
UPDATE ma_customer
SET cust_nm = @cust_nm ,cust_gb = @cust_gb
,cust_catgo_nm = @cust_catgo_nm ,cust_busin_no = @cust_busin_no
,cust_ceo_nm = @cust_ceo_nm ,cust_tel_no = @cust_tel_no
,cust_fax_no = @cust_fax_no ,cust_email_ad = @cust_email_ad
,cust_emp_nm = @cust_emp_nm ,cust_nation = @cust_nation
,cust_post_cd = @cust_post_cd ,cust_ad1 = @cust_ad1
,cust_ad2 = @cust_ad2 ,cust_s_nm = @cust_s_nm
,cust_e_nm = @cust_e_nm ,cust_busin_nm = @cust_busin_nm
,cust_ceo_social_num = @cust_ceo_social_num
,cust_homepage = @cust_homepage ,cust_delivery_gb=@cust_delivery_gb
,cust_tax_gb = @cust_tax_gb
,cust_remark = @cust_remark
,update_user_cd = @update_user_cd
,update_time = getdate()
,cust_contract = @cust_contract
,supply_type = @supply_type
,nursing_symbol = @nursing_symbol
WHERE plant_cd = @plant_cd
AND cust_cd = @cust_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_customer where PLANT_CD = @plant_cd and CUST_CD = @cust_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_customer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋์ฒ ์ญ์
ELSE IF (@gubun = 'Delete') BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_customer where PLANT_CD = @plant_cd and CUST_CD = @cust_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_customer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM ma_customer
WHERE plant_cd = @plant_cd
AND cust_cd = @cust_cd
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_MA_Department
๋ชฉ์ โ ๋ถ์ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@s_plant_cd | nvarchar(100) | IN |
@s_dept_cd | nvarchar(100) | IN |
@s_dept_nm | nvarchar(200) | IN |
@plant_cd | nvarchar(100) | IN |
@dept_cd | nvarchar(100) | IN |
@dept_nm | nvarchar(200) | IN |
@dept_gb | nvarchar(10) | IN |
@dept_mcd | nvarchar(100) | IN |
@dept_level | int(4) | IN |
@dept_emp_cd | nvarchar(100) | IN |
@dept_use_gb | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_MA_Department]
@gubun nvarchar(10),
@s_plant_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์
์ฅ์ฝ๋
@s_dept_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ๋ถ์์ฝ๋
@s_dept_nm nvarchar(100) = '', -- ๊ฒ์์กฐ๊ฑด : ๋ถ์๋ช
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@dept_cd nvarchar(50) = '', -- ๋ถ์์ฝ๋
@dept_nm nvarchar(100) = '', -- ๋ถ์๋ช
@dept_gb nvarchar(5) = '', -- ๋ถ์๊ตฌ๋ถ
@dept_mcd nvarchar(50) = '', -- ์์๋ถ์์ฝ๋
@dept_level integer = 1, -- ์กฐ์ง๊ตฌ์กฐ๋ ๋ฒจ (1~3)
@dept_emp_cd nvarchar(50) = '', -- ์กฐ์ง๋ํ์
@dept_use_gb nvarchar(5) = '', -- ์ฌ์ฉ์ฌ๋ถ
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ฌ์
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.plant_cd ,a.dept_cd ,a.dept_nm
,a.dept_gb ,a.dept_mcd ,c.common_part_nm as dept_gb_nm
,a.dept_level ,a.dept_emp_cd ,b.emp_nm AS dept_emp_nm
,a.dept_use_gb ,ISNULL(a.OUTER_INTERFACE,'') AS outer_interface
FROM ma_department a
LEFT OUTER JOIN common c ON (c.common_cd ='MA030' AND a.dept_cd = c.common_part_cd)
LEFT OUTER JOIN (SELECT plant_cd, dept_cd, emp_cd, emp_nm
FROM ma_employee ) b ON (a.plant_cd = b.plant_cd AND a.dept_cd = b.dept_cd AND a.dept_emp_cd = b.emp_cd)
WHERE a.plant_cd LIKE @s_plant_cd + '%'
AND a.dept_cd LIKE @s_dept_cd + '%'
AND a.dept_nm LIKE @s_dept_nm + '%'
ORDER BY a.dept_cd
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Insert') BEGIN
IF ( @intErrorCode = 0 ) BEGIN
INSERT ma_department
( plant_cd, dept_cd, dept_nm, dept_gb, dept_mcd, dept_level, dept_emp_cd, dept_use_gb, insert_date, insert_user_cd , update_date, update_user_cd)
VALUES
( @plant_cd, @dept_cd, @dept_nm, @dept_gb, @dept_mcd, @dept_level, @dept_emp_cd, @dept_use_gb, getdate(), @insert_user_cd, getdate(), @insert_user_cd )
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_department where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_department', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Update') BEGIN
IF (@intErrorCode = 0 ) BEGIN
UPDATE ma_department
SET dept_nm = @dept_nm
,dept_gb = @dept_gb
,dept_mcd = @dept_mcd
,dept_level = @dept_level
,dept_emp_cd = @dept_emp_cd
,dept_use_gb = @dept_use_gb
,update_date = getdate()
,update_user_cd = @insert_user_cd
WHERE plant_cd = @plant_cd
AND dept_cd = @dept_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_department where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_department', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF ( @gubun = 'Delete') BEGIN
IF (@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_department where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_department', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM ma_department
WHERE plant_cd = @plant_cd AND dept_cd = @dept_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0 ) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_MA_Employee
๋ชฉ์ โ ์ฌ์ ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@s_plant_cd | nvarchar(100) | IN |
@s_dept_cd | nvarchar(100) | IN |
@s_emp_cd | nvarchar(100) | IN |
@s_emp_nm | nvarchar(200) | IN |
@plant_cd | nvarchar(100) | IN |
@dept_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@emp_nm | nvarchar(200) | IN |
@emp_gb | nvarchar(10) | IN |
@emp_psid | nvarchar(28) | IN |
@emp_post | nvarchar(10) | IN |
@emp_rair | nvarchar(10) | IN |
@emp_phone | nvarchar(100) | IN |
@emp_birth | nvarchar(10) | IN |
@emp_birth_gb | nvarchar(10) | IN |
@emp_sex | nvarchar(10) | IN |
@calendar_cd | nvarchar(100) | IN |
@emp_enter_date | nvarchar(20) | IN |
@emp_retire_date | nvarchar(20) | IN |
@emp_retire_remark | nvarchar(200) | IN |
@emp_use_gb | nvarchar(2) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_MA_Employee]
@gubun nvarchar(10),
@s_plant_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์
์ฅ์ฝ๋
@s_dept_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ๋ถ์์ฝ๋
@s_emp_cd nvarchar(50) ='', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์์ฝ๋
@s_emp_nm nvarchar(100) = '', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์๋ช
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@dept_cd nvarchar(50) = '', -- ๋ถ์์ฝ๋
@emp_cd nvarchar(50) = '', -- ์ฌ์์ฝ๋
@emp_nm nvarchar(100) = '', -- ์ฌ์๋ช
@emp_gb nvarchar(5) = '', -- ์ฌ์๊ตฌ๋ถ(MA022)
@emp_psid nvarchar(14) = '', -- ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
@emp_post nvarchar(5) = '', -- ์ง๊ธ์ฝ๋(MA020)
@emp_rair nvarchar(5) = '', -- ์ง์ฑ
์ฝ๋(MA021)
@emp_phone nvarchar(50) = '', -- ์ ํ๋ฒํธ
@emp_birth nvarchar(5) = '', -- ์๋
์์ผ
@emp_birth_gb nvarchar(5) = '', -- ์์๊ตฌ๋ถ
@emp_sex nvarchar(5) = '', -- ์ฑ๋ณ๊ตฌ๋ถ
@calendar_cd nvarchar(50) = '', -- Calendar์ฝ๋
@emp_enter_date nvarchar(10) = '', -- ์
์ฌ์ผ์
@emp_retire_date nvarchar(10) = '', -- ํด์ฌ์ผ์
@emp_retire_remark nvarchar(100) = '', -- ํด์ง์ฌ์
@emp_use_gb nvarchar(1) = '', -- ํ์ฌ์ํ
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ฌ์
@update_user_cd nvarchar(50) = '', -- ์์ ์ฌ์
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.plant_cd ,a.dept_cd ,e.DEPT_NM
,a.emp_cd ,a.emp_nm
,a.emp_gb ,b.common_part_nm AS emp_gb_nm
,a.emp_psid ,a.emp_post ,c.common_part_nm AS emp_post_nm
,a.emp_rair ,d.common_part_nm AS emp_rair_nm
,a.emp_phone ,a.emp_birth_gb ,a.emp_birth
,CASE WHEN a.emp_sex ='1' or a.emp_sex ='๋จ์ฑ' THEN '๋จ์ฑ'
WHEN a.emp_sex ='2' or a.emp_sex ='์ฌ์ฑ' THEN '์ฌ์ฑ'
ELSE '' END emp_sex
,a.calendar_cd ,a.emp_enter_date
,a.emp_retire_date ,a.emp_retire_remark
,a.emp_use_gb ,ISNULL(a.OUTER_INTERFACE,'') AS outer_interface
FROM ma_employee a
LEFT OUTER JOIN common b ON (a.emp_gb = b.common_part_cd AND b.common_cd = 'MA022') --์ฌ์๊ตฌ๋ถ
LEFT OUTER JOIN common c ON (a.emp_post = c.common_part_cd AND c.common_cd = 'MA020') --์ง๊ธ์ฝ๋
LEFT OUTER JOIN common d ON (a.emp_rair = d.common_part_cd AND d.common_cd = 'MA021') --์ง์ฑ
์ฝ๋
LEFT OUTER JOIN ma_department e ON a.dept_cd=e.dept_cd
WHERE a.plant_cd LIKE '%'+ @s_plant_cd + '%'
AND emp_cd LIKE @s_emp_cd + '%'
AND emp_nm LIKE @s_emp_nm + '%'
AND e.dept_nm like '%'+@s_dept_cd+'%'
SELECT @intErrorCode = @@error
END
END
-- ์
๋ ฅ
ELSE IF (@gubun = 'Insert') BEGIN
IF (@intErrorCode = 0 ) BEGIN
INSERT ma_employee
( plant_cd ,dept_cd ,emp_cd
,emp_nm ,emp_gb ,emp_psid
,emp_post ,emp_rair ,emp_phone
,emp_birth_gb ,emp_birth ,emp_sex
,calendar_cd ,emp_enter_date ,emp_retire_date
,emp_retire_remark ,emp_use_gb ,insert_user_cd
,insert_time
)
-- ( plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair
-- , emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
-- , emp_use_gb, insert_time, insert_user_cd , update_time, update_user_cd)
VALUES
-- ( @plant_cd, @dept_cd, @emp_cd, @emp_nm, @emp_psid, @emp_post, @emp_rair
-- , @emp_birth, @emp_birth_gb, @emp_sex, @emp_enter_date, @emp_retire_date, @emp_retire_remark
-- , @emp_use_gb, getdate(), @insert_user_cd , getdate(), @insert_user_cd )
( @plant_cd ,@dept_cd ,@emp_cd
,@emp_nm ,@emp_gb ,@emp_psid
,@emp_post ,@emp_rair ,@emp_phone
,@emp_birth_gb ,@emp_birth ,@emp_sex
,@calendar_cd ,@emp_enter_date ,@emp_retire_date
,@emp_retire_remark ,@emp_use_gb ,@insert_user_cd
,getdate()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_employee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_employee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
-- ์์
ELSE IF (@gubun = 'Update') BEGIN
IF (@intErrorCode = 0 ) BEGIN
UPDATE ma_employee
SET emp_nm = @emp_nm
,emp_gb = @emp_gb
,emp_psid = @emp_psid
,emp_post = @emp_post
,emp_rair = @emp_rair
,emp_phone = @emp_phone
,emp_birth = @emp_birth
,emp_birth_gb = @emp_birth_gb
,emp_sex = @emp_sex
,emp_enter_date = @emp_enter_date
,emp_retire_date = @emp_retire_date
,emp_retire_remark = @emp_retire_remark
,emp_use_gb = @emp_use_gb
,calendar_cd = @calendar_cd
,update_time = getdate()
,update_user_cd = @update_user_cd
WHERE plant_cd = @plant_cd
AND dept_cd = @dept_cd
AND emp_cd = @emp_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_employee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_employee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
-- ์ญ์
ELSE IF (@gubun = 'Delete') BEGIN
IF (@intErrorCode = 0 ) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_employee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_employee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM ma_employee
WHERE plant_cd = @plant_cd
AND dept_cd = @dept_cd
AND emp_cd = @emp_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0 ) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ํ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode )
SP_MA_ExtraEmployee
๋ชฉ์ โ ์ฌ์ ์ถ๊ฐ ์ ๋ณด.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@s_plant_cd | nvarchar(100) | IN |
@s_dept_cd | nvarchar(100) | IN |
@s_emp_cd | nvarchar(100) | IN |
@s_emp_nm | nvarchar(200) | IN |
@plant_cd | nvarchar(100) | IN |
@dept_cd | nvarchar(100) | IN |
@emp_cd | nvarchar(100) | IN |
@emp_nm | nvarchar(200) | IN |
@emp_psid | nvarchar(26) | IN |
@emp_post | nvarchar(10) | IN |
@emp_rair | nvarchar(10) | IN |
@emp_birth | nvarchar(20) | IN |
@emp_birth_gb | nvarchar(10) | IN |
@emp_charge | nvarchar(10) | IN |
@manager_emp_cd | nvarchar(100) | IN |
@emp_sex | nvarchar(10) | IN |
@calendar_cd | nvarchar(10) | IN |
@emp_enter_date | nvarchar(20) | IN |
@emp_retire_date | nvarchar(20) | IN |
@emp_retire_remark | nvarchar(200) | IN |
@emp_use_gb | nvarchar(2) | IN |
@emp_phone | nvarchar(100) | IN |
@emp_gb | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_MA_ExtraEmployee]
@gubun nvarchar(10),
@s_plant_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์
์ฅ์ฝ๋
@s_dept_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด : ๋ถ์์ฝ๋
@s_emp_cd nvarchar(50) ='', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์์ฝ๋
@s_emp_nm nvarchar(100) = '', -- ๊ฒ์์กฐ๊ฑด : ์ฌ์๋ช
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@dept_cd nvarchar(50) = '', -- ๋ถ์์ฝ๋
@emp_cd nvarchar(50) = '', -- ์ฌ์์ฝ๋
@emp_nm nvarchar(100) = '', -- ์ฌ์๋ช
@emp_psid nvarchar(13) = '', -- ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
@emp_post nvarchar(5) = '', -- ์ง๊ธ์ฝ๋
@emp_rair nvarchar(5) = '', -- ์ง์ฑ
์ฝ๋
@emp_birth nvarchar(10) = '', -- ์๋
์์ผ
@emp_birth_gb nvarchar(5) = '', -- ์์๊ตฌ๋ถ
@emp_charge nvarchar(5) = '', -- ๋ด๋น
@manager_emp_cd nvarchar(50) = '', -- ์กฐ์ฅ
@emp_sex nvarchar(5) = '', -- ์ฑ๋ณ๊ตฌ๋ถ
@calendar_cd nvarchar(5) = '', -- ๋ฌ๋ ฅ์ฝ๋
@emp_enter_date nvarchar(10) = '', -- ์
์ฌ์ผ์
@emp_retire_date nvarchar(10) = '', -- ํด์ฌ์ผ์
@emp_retire_remark nvarchar(100) = '', -- ํด์ง์ฌ์
@emp_use_gb nvarchar(1) = '', -- ํ์ฌ์ํ
@emp_phone nvarchar(50) = '', -- ์ ํ๋ฒํธ
@emp_gb nvarchar(5) = '', -- ์ฌ์๊ตฌ๋ถ
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ฌ์
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
IF (@intErrorCode = 0 ) BEGIN
-- SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair
-- ,emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
-- ,emp_use_gb
SELECT a.plant_cd ,a.dept_cd ,b.dept_nm
,a.emp_cd ,a.emp_nm ,a.emp_psid
,a.emp_post ,d.common_part_nm AS emp_post_nm
,a.emp_rair ,e.common_part_nm AS emp_rair_nm
,a.emp_charge
,a.calendar_cd ,a.manager_emp_cd ,c.emp_nm AS manager_emp_nm
,a.emp_birth_gb ,a.emp_birth ,a.emp_sex
,a.emp_enter_date ,a.emp_retire_date ,a.emp_retire_remark
,a.emp_use_gb ,a.emp_phone ,a.emp_gb
FROM ma_extraemployee a
LEFT OUTER JOIN ma_department b ON (a.dept_cd = b.dept_cd)
LEFT OUTER JOIN ma_employee c ON (a.manager_emp_cd = c.emp_cd)
LEFT OUTER JOIN common d ON (a.emp_post = d.common_part_cd AND d.common_cd = 'MA020') --์ง๊ธ(MA020)
LEFT OUTER JOIN common e ON (a.emp_rair = e.common_part_cd AND e.common_cd = 'MA021') --์ง์ฑ
(MA021)
WHERE a.plant_cd LIKE @s_plant_cd + '%'
AND a.dept_cd LIKE @s_dept_cd + '%'
AND a.emp_cd LIKE @s_emp_cd + '%'
AND a.emp_nm LIKE @s_emp_nm + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Insert') BEGIN
IF (@intErrorCode = 0 ) BEGIN
INSERT ma_extraemployee
( plant_cd ,dept_cd ,emp_cd ,emp_nm
,emp_psid ,emp_post ,emp_rair ,emp_charge
,calendar_cd ,manager_emp_cd ,emp_birth_gb ,emp_birth
,emp_sex ,emp_enter_date ,emp_retire_date ,emp_retire_remark
,emp_use_gb ,emp_phone ,emp_gb ,insert_user_cd
,insert_time
)
-- ( plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair
-- , emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
-- , emp_use_gb, insert_time, insert_user_cd , update_time, update_user_cd)
VALUES
-- ( @plant_cd, @dept_cd, @emp_cd, @emp_nm, @emp_psid, @emp_post, @emp_rair
-- , @emp_birth, @emp_birth_gb, @emp_sex, @emp_enter_date, @emp_retire_date, @emp_retire_remark
-- , @emp_use_gb, getdate(), @insert_user_cd , getdate(), @insert_user_cd )
( @plant_cd ,@dept_cd ,@emp_cd ,@emp_nm
,@emp_psid ,@emp_post ,@emp_rair ,@emp_charge
,@calendar_cd ,@manager_emp_cd ,@emp_birth_gb ,@emp_birth
,@emp_sex ,@emp_enter_date ,@emp_retire_date ,@emp_retire_remark
,@emp_use_gb ,@emp_phone ,@emp_gb ,@insert_user_cd
,getdate()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_extraemployee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_extraemployee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Update') BEGIN
IF (@intErrorCode = 0 ) BEGIN
UPDATE ma_extraemployee
SET emp_nm = @emp_nm
,emp_psid = @emp_psid
,emp_post = @emp_post
,emp_rair = @emp_rair
,emp_gb = @emp_gb
,emp_charge = @emp_charge
,calendar_cd = @calendar_cd
,manager_emp_cd = @manager_emp_cd
,emp_birth = @emp_birth
,emp_birth_gb = @emp_birth_gb
,emp_sex = @emp_sex
,emp_enter_date = @emp_enter_date
,emp_retire_date = @emp_retire_date
,emp_retire_remark = @emp_retire_remark
,emp_use_gb = @emp_use_gb
,emp_phone = @emp_phone
,update_time = getdate()
,update_user_cd = @insert_user_cd
WHERE plant_cd = @plant_cd
AND dept_cd = @dept_cd
AND emp_cd = @emp_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_extraemployee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_extraemployee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Delete') BEGIN
IF (@intErrorCode = 0 ) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_extraemployee where PLANT_CD = @plant_cd and DEPT_CD = @dept_cd and EMP_CD = @emp_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_extraemployee', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
DELETE
FROM ma_extraemployee
WHERE plant_cd = @plant_cd
AND dept_cd = @dept_cd
AND emp_cd = @emp_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0 ) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ํ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode )
SP_MA_Plant
๋ชฉ์ โ ์ฌ์ ์ฅ(Plant) ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@s_plant_cd | nvarchar(100) | IN |
@s_plant_nm | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@plant_nm | nvarchar(200) | IN |
@plant_busin_no | nvarchar(24) | IN |
@plant_corpo_no | nvarchar(28) | IN |
@plant_ceo_nm | nvarchar(100) | IN |
@plant_catego_no | nvarchar(100) | IN |
@plant_busin_nm | nvarchar(100) | IN |
@plant_post_cd | nvarchar(100) | IN |
@plant_ad1 | nvarchar(100) | IN |
@plant_ad2 | nvarchar(200) | IN |
@plant_tel_no | nvarchar(100) | IN |
@plant_fax_no | nvarchar(100) | IN |
@plant_email_ad | nvarchar(100) | IN |
@plant_email_pass | nvarchar(100) | IN |
@plant_office_nm | nvarchar(100) | IN |
@plant_open_date | nvarchar(20) | IN |
@plant_close_date | nvarchar(20) | IN |
@plant_ceo_no | nvarchar(28) | IN |
@plant_ceo_post_cd | nvarchar(100) | IN |
@plant_ceo_ad1 | nvarchar(100) | IN |
@plant_ceo_ad2 | nvarchar(200) | IN |
@plant_ceo_tel_no | nvarchar(100) | IN |
@plant_branch_gb | nvarchar(100) | IN |
@business_type | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@company_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_MA_Plant]
@gubun nvarchar(10), -- ๊ตฌ๋ถ์
@s_plant_cd nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด ์ฌ์
์ฅ์ฝ๋
@s_plant_nm nvarchar(50) = '', -- ๊ฒ์์กฐ๊ฑด ์ฌ์
์ฅ๋ช
@plant_cd nvarchar(50) = '', -- ์ฌ์
์ฅ์ฝ๋
@plant_nm nvarchar(100) = '', -- ์ฌ์
์ฅ๋ช
@plant_busin_no nvarchar(12) = '', -- ์ฌ์
์๋ฑ๋ก๋ฒํธ
@plant_corpo_no nvarchar(14) = '', -- ๋ฒ์ธ๋ฑ๋ก๋ฒํธ
@plant_ceo_nm nvarchar(50) = '', -- ๋ํ์
@plant_catego_no nvarchar(50) = '', -- ์
ํ
@plant_busin_nm nvarchar(50) = '', -- ์ข
๋ชฉ
@plant_post_cd nvarchar(50) = '', -- ์ฐํธ๋ฒํธ
@plant_ad1 nvarchar(50) = '', -- ์ฃผ์1
@plant_ad2 nvarchar(100) = '', -- ์ฃผ์2
@plant_tel_no nvarchar(50) = '', -- ์ ํ๋ฒํธ
@plant_fax_no nvarchar(50) = '', -- ํฉ์ค๋ฒํธ
@plant_email_ad nvarchar(50) = '', -- ์ด๋ฉ์ผ์ฃผ์
@plant_email_pass nvarchar(50) = '', -- ์ด๋ฉ์ผ์ํธ
@plant_office_nm nvarchar(50) = '', -- ๊ดํ ์ธ๋ฌด์
@plant_open_date nvarchar(10) = '', -- ๊ฐ์
์ผ์
@plant_close_date nvarchar(10) = null, -- ํ์
์ผ์ - 2009-09-30 ์ ๋ฏผ์ฒ ''->null๋ก ์์
@plant_ceo_no nvarchar(14) = '', -- ๋ํ์ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ
@plant_ceo_post_cd nvarchar(50) = '', -- ๋ํ์ ์ฐํธ๋ฒํธ
@plant_ceo_ad1 nvarchar(50) = '', -- ๋ํ์ ์ฃผ์1
@plant_ceo_ad2 nvarchar(100) = '', -- ๋ํ์ ์ฃผ์2
@plant_ceo_tel_no nvarchar(50) = '', -- ๋ํ์ ์ ํ๋ฒํธ
@plant_branch_gb nvarchar(50) = '', -- ๋ณธ์ง์ ๊ตฌ๋ถ
@business_type nvarchar(50) = '', -- ์์
ํํ
@insert_user_cd nvarchar(50) = '', -- ์
๋ ฅ์ฌ์
@company_cd nvarchar(50) = '', -- ํ์ฌ์ฝ๋
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Search' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Search') BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT plant_cd, plant_nm, plant_busin_no, plant_corpo_no, plant_ceo_nm
,plant_catego_no, plant_busin_nm, plant_post_cd, plant_ad1, plant_ad2
,plant_tel_no, plant_fax_no, plant_email_ad, plant_email_pass, plant_office_nm
,plant_open_date, plant_close_date, plant_ceo_no, plant_ceo_post_cd
,plant_ceo_ad1, plant_ceo_ad2, plant_ceo_tel_no, plant_branch_gb, business_type
,insert_time, insert_user_cd, update_time, update_user_cd, company_cd
FROM ma_plant
WHERE plant_cd LIKE @s_plant_cd +'%'
AND plant_nm LIKE @s_plant_nm + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Insert') BEGIN
IF(@intErrorCode = 0) BEGIN
INSERT ma_plant
(plant_cd, plant_nm, plant_busin_no, plant_corpo_no, plant_ceo_nm
,plant_catego_no, plant_busin_nm, plant_post_cd, plant_ad1, plant_ad2
,plant_tel_no, plant_fax_no, plant_email_ad, plant_email_pass, plant_office_nm
,plant_open_date, plant_close_date, plant_ceo_no, plant_ceo_post_cd
,plant_ceo_ad1, plant_ceo_ad2, plant_ceo_tel_no, plant_branch_gb
,insert_time, insert_user_cd, company_cd, BUSINESS_TYPE)
VALUES
(@plant_cd, @plant_nm, @plant_busin_no, @plant_corpo_no, @plant_ceo_nm
,@plant_catego_no, @plant_busin_nm, @plant_post_cd, @plant_ad1, @plant_ad2
,@plant_tel_no, @plant_fax_no, @plant_email_ad, @plant_email_pass, @plant_office_nm
,@plant_open_date, @plant_close_date, @plant_ceo_no, @plant_ceo_post_cd
,@plant_ceo_ad1, @plant_ceo_ad2, @plant_ceo_tel_no, @plant_branch_gb
,getdate(), @insert_user_cd, @company_cd, @business_type)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_plant where PLANT_CD = @plant_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_plant', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Update') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE ma_plant
SET plant_nm = @plant_nm
,plant_busin_no = @plant_busin_no
,plant_corpo_no = @plant_corpo_no
,plant_ceo_nm = @plant_ceo_nm
,plant_catego_no = @plant_catego_no
,plant_busin_nm = @plant_busin_nm
,plant_post_cd = @plant_post_cd
,plant_ad1 = @plant_ad1
,plant_ad2 = @plant_ad2
,plant_tel_no = @plant_tel_no
,plant_fax_no = @plant_fax_no
,plant_email_ad = @plant_email_ad
,plant_email_pass = @plant_email_pass
,plant_office_nm = @plant_office_nm
,plant_open_date = @plant_open_date
,plant_close_date = @plant_close_date
,plant_ceo_no = @plant_ceo_no
,plant_ceo_post_cd = @plant_ceo_post_cd
,plant_ceo_ad1 = @plant_ceo_ad1
,plant_ceo_ad2 = @plant_ceo_ad2
,plant_ceo_tel_no = @plant_ceo_tel_no
,plant_branch_gb = @plant_branch_gb
,business_type = @business_type
,update_time = getdate()
,update_user_cd = @insert_user_cd
,company_cd = @company_cd
WHERE plant_cd = @plant_cd
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_plant where PLANT_CD = @plant_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_plant', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Del') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ma_plant where PLANT_CD = @plant_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ma_plant', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] ma_plant
DELETE ma_plant
WHERE plant_cd = @plant_cd
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
๊ธฐํ
์์คํ ๊ธฐํ ์ ํธ๋ฆฌํฐยท๋ก๊ทธยท๋ฑ๋ก.
SP_AD_ProgramAccess
๋ชฉ์ โ ํ๋ก๊ทธ๋จ ์ ๊ทผ ์ด๋ ฅ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@form_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์กฐ์ผ์
์์ ์ :
SP๋ช
: SP_AD_ProgramAccess
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ํ๋ก๊ทธ๋จ ์ ๊ทผ์ด๋ ฅ ์กฐํ
์ฌ์ฉ์ฒ : ProgramAccess.cs
ํ
์ด๋ธ : CM_PROGRAM_ACCESS_HISTORY
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_AD_ProgramAccess]
@gubun nvarchar(50) = '',
@user_cd nvarchar(50) = '',
@form_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'ProgramAccessSelect' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'ProgramAccessSelect')BEGIN
IF(@intErrorCode = 0) BEGIN
--112255
SELECT a.program_access_history_id
, a.system_access_history_id
, a.user_cd
, ISNULL(c.user_nm,'') AS user_nm
, a.form_cd
, d.form_nm
, a.start_time
, a.end_time
, b.login_time
, b.logout_time
FROM cm_program_access_history a
LEFT OUTER JOIN cm_system_access_history b ON(a.system_access_history_id =b.system_access_history_id)
LEFT OUTER JOIN cm_menu_user c ON(a.user_cd = c.user_cd)
LEFT OUTER JOIN cm_menu_form d ON(a.form_cd =d.form_cd)
WHERE a.user_cd +c.user_nm LIKE '%' + @user_cd + '%'
AND (a.form_cd LIKE '%' + @form_cd + '%' OR d.form_nm LIKE '%' + @form_cd + '%')
ORDER BY a.start_time
SELECT @intErrorCode = @@ERROR
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_AD_SystemAccess
๋ชฉ์ โ ์์คํ ์ ๊ทผ ์ด๋ ฅ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์กฐ์ผ์
์์ ์ :
SP๋ช
: SP_AD_SystemAccess
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ์์คํ
์ ๊ทผ์ด๋ ฅ ์กฐํ
์ฌ์ฉ์ฒ : SystemAccess.cs
ํ
์ด๋ธ : CM_SYSTEM_ACCESS_HISTORY
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_AD_SystemAccess]
@gubun nvarchar(50) = '',
@user_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'SystemAccessSelect' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'SystemAccessSelect')BEGIN
IF(@intErrorCode = 0) BEGIN
SELECT a.system_access_history_id
, a.user_cd
, a.login_time
, a.logout_time
, CASE WHEN a.validate_check ='Y' THEN '์ ' ELSE '๋ฌด' END AS validate_check
, b.user_nm
FROM cm_system_access_history a
LEFT OUTER JOIN cm_menu_user b ON(a.user_cd = b.user_cd)
WHERE a.user_cd LIKE '%' + @user_cd + '%'
OR b.user_nm LIKE '%' + @user_cd + '%'
ORDER BY a.login_time
SELECT @intErrorCode = @@ERROR
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_AD_SystemErrorLog
๋ชฉ์ โ ์์คํ ์ค๋ฅ ๋ก๊ทธ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@user | nvarchar(100) | IN |
@program | nvarchar(100) | IN |
@command | nvarchar(2000) | IN |
@type | nvarchar(10) | IN |
@form_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์์ฑ์ : ์กฐ์ผ์
์์ ์ :
SP๋ช
: SP_AD_SystemErrorLog
์ธ ์ :
๋ฆฌํด๊ฐ :
์ค ๋ช
: ์์คํ
์๋ฌ ๋ก๊ทธ๋ฅผ ์
๋ ฅํ๊ณ ์กฐํํ๋ค.
์ฌ์ฉ์ฒ : SystemErrorLog.cs
ํ
์ด๋ธ : dbo.CM_SYSTEM_ERROR
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_AD_SystemErrorLog]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ
@user nvarchar(50) = '', --์ฌ์ฉ์
@program nvarchar(50) = '', --์๋ฌ๋ฐ์ํ๋ก๊ทธ๋จ
@command nvarchar(1000) = '', --๋ช
๋ น๋ฌธ(SP๋ช
)
@type nvarchar(5) = '', --ํ์
@form_cd nvarchar(50) = '', --ํ๋ก๊ทธ๋จ ์ฝ๋(์กฐํ์กฐ๊ฑด)
@message nvarchar(1000) = '' output --์๋ฌ๋ฉ์์ง
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'SystemErrorInsert' ์ธ ๊ฒฝ์ฐ
IF(@gubun ='SystemErrorInsert') BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] CM_SYSTEM_ERROR
INSERT INTO CM_SYSTEM_ERROR(errordata, employee, errorprogram, command, message, type)
VALUES(GETDATE(), @user, @program, @command, @message, @type)
--return @@identity
END
END
ELSE IF(@gubun = 'SystemErrorSelect')BEGIN
SELECT a.system_errorlog_id
,a.errordata --์๋ฌ๋ฐ์์๊ฐ
,a.employee --์์
์์ฝ๋
,ISNULL(c.user_nm,'') AS user_nm --์์
์๋ช
,a.errorprogram --์์
ํ๋ก๊ทธ๋จ
,b.form_nm --ํ๋ก๊ทธ๋จ๋ช
,a.command --๋ช
๋ น๋ฌธ(SP์ด๋ฆ)
,a.message --์๋ฌ๋ฉ์์ง
,a.type --์ข
๋ฅ
,a.errordata --๋ฐ์์๊ฐ
,a.command --๋ช
๋ น๋ฌธ(SP์ด๋ฆ)
FROM cm_system_error a
LEFT OUTER JOIN cm_menu_form b ON (a.errorprogram =b.form_cd)
LEFT OUTER JOIN cm_menu_user c ON (a.employee =c.user_cd)
WHERE a.errorprogram LIKE '%' +@form_cd + '%' or b.FORM_NM LIKE '%' +@form_cd + '%'
END
SP_CompanyCalendar
๋ชฉ์ โ ํ์ฌ ๋ฌ๋ ฅ(ํด์ผยท๊ทผ๋ฌด์ผ).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | nvarchar(4) | IN |
@s_calendar_cd | nvarchar(10) | IN |
@s_year | int(4) | IN |
@s_month | int(4) | IN |
@calendar_cd | nvarchar(10) | IN |
@calendar_date | char(10) | IN |
@calendar_type | nvarchar(10) | IN |
@attend_time | char(5) | IN |
@leave_time | char(5) | IN |
@working_minute | int(4) | IN |
@rest_minute | int(4) | IN |
@sys_emp_cd | varchar(50) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_CompanyCalendar]
@Gubun nvarchar(2),
@s_calendar_cd nvarchar(5) = '',
@s_year int = 2006,
@s_month int = 1,
@calendar_cd nvarchar(5) = '',
@calendar_date char(10) = '',
@calendar_type nvarchar(5) = '',
@attend_time char(5) = '',
@leave_time char(5) = '',
@working_minute int = 0,
@rest_minute int = 0,
@sys_emp_cd varchar(50) = '',
@message NVARCHAR(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
declare @StartLine int
declare @EndLine int
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #AUDIT_TEMP(audittrail_id varchar(10))
set @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
declare @start_date char(10)
declare @end_date char(10)
set @start_date = convert(char(4), @s_year) + '-' + right('0'+convert(varchar(2), @s_month), 2) + '-01'
set @end_date = convert(char(10), dateadd(m, 1, convert(datetime, @start_date)) - 1, 120)
-- [๋ถ๊ธฐ] @Gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@Gubun='S')
BEGIN
declare @full_start_date char(10)
declare @full_end_date char(10)
set @full_start_date = convert(char(10), convert(datetime, @start_date) - datepart(weekday, @start_date) + 1, 120)
set @full_end_date = convert(char(10), convert(datetime, @full_start_date) + 5*7 + 6, 120)
select @s_calendar_cd as calendar_cd, a.date as calendar_date, datepart(day, a.date) as calendar_day,
isnull(b.anniversary_nm, '') as anniversary_nm, b.calendar_type, b.calendar_seq,
b.attend_time, b.leave_time, b.working_minute, b.rest_minute,
case when b.calendar_date between @start_date and @end_date then 'Y' else 'N' end as thismonth_yn
from serialdata a
left outer join calendar_master b on b.calendar_cd = @s_calendar_cd and a.date = b.calendar_date
where a.date between @full_start_date and @full_end_date
order by datepart(weekday, a.date), a.date
END
ELSE IF @GUBUN = 'L1'
BEGIN
select common_part_cd as keyfield, common_part_nm as displayfield
from common
where common_cd = 'PL001'
and common_part_cd <> '0'
END
ELSE IF @Gubun = 'I'
BEGIN
--BULK udittrail ์์ฑ2012.05.31 by ์ต์์ค
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id
from calendar_master
where calendar_cd = @s_calendar_cd
and calendar_date between @start_date and @end_date
--1. ๊ธฐ์กด ์
๋ ฅ๋ ์๋ฃ๋ฅผ ์ญ์ ํ๋ค.
-- [์ญ์ ] calendar_master
delete calendar_master
where calendar_cd = @s_calendar_cd
and calendar_date between @start_date and @end_date
--2. ์
๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ง๋ ๋ค.
declare @SundayCalendarType nvarchar(5)
declare @SundayAttendTime char(5)
declare @SundayLeaveTime char(5)
declare @SundayWorkingMinute int
declare @SundayRestMinute int
declare @SaturdayCalendarType nvarchar(5)
declare @SaturdayAttendTime char(5)
declare @SaturdayLeaveTime char(5)
declare @SaturdayWorkingMinute int
declare @SaturdayRestMinute int
declare @WeekdayAttendTime char(5)
declare @WeekdayLeaveTime char(5)
declare @WeekdayWorkingMinute int
declare @WeekdayRestMinute int
select @SundayCalendarType = max(case when parameter_code = 'SundayCalendarType' then parameter_value end),
@SundayAttendTime = max(case when parameter_code = 'SundayAttendTime' then parameter_value end),
@SundayLeaveTime = max(case when parameter_code = 'SundayLeaveTime' then parameter_value end),
@SundayWorkingMinute = max(case when parameter_code = 'SundayWorkingMinute' then parameter_value end),
@SundayRestMinute = max(case when parameter_code = 'SundayRestMinute' then parameter_value end),
@SaturdayCalendarType = max(case when parameter_code = 'SaturdayCalendarType' then parameter_value end),
@SaturdayAttendTime = max(case when parameter_code = 'SaturdayAttendTime' then parameter_value end),
@SaturdayLeaveTime = max(case when parameter_code = 'SaturdayLeaveTime' then parameter_value end),
@SaturdayWorkingMinute = max(case when parameter_code = 'SaturdayWorkingMinute' then parameter_value end),
@SaturdayRestMinute = max(case when parameter_code = 'SaturdayRestMinute' then parameter_value end),
@WeekdayAttendTime = max(case when parameter_code = 'WeekdayAttendTime' then parameter_value end),
@WeekdayLeaveTime = max(case when parameter_code = 'WeekdayLeaveTime' then parameter_value end),
@WeekdayWorkingMinute = max(case when parameter_code = 'WeekdayWorkingMinute' then parameter_value end),
@WeekdayRestMinute = max(case when parameter_code = 'WeekdayRestMinute' then parameter_value end)
from cm_parameter
where parameter_code in ('SundayCalendarType', 'SundayAttendTime', 'SundayLeaveTime', 'SundayWorkingMinute', 'SundayRestMinute',
'SaturdayCalendarType', 'SaturdayAttendTime', 'SaturdayLeaveTime', 'SaturdayWorkingMinute', 'SaturdayRestMinute',
'WeekdayCalendarType', 'WeekdayAttendTime', 'WeekdayLeaveTime', 'WeekdayWorkingMinute', 'WeekdayRestMinute')
--์์ํ
์ด๋ธ์ ์ ์ฅํ๋ค.
select a.date as solar_date, a.lunar_date, b.id,
b.anniversary_nm,
isnull(b.calendar_type, 'A') as calendar_type,
isnull(b.attend_time, @WeekdayAttendTime) as attend_time,
isnull(b.leave_time, @WeekdayLeaveTime) as leave_time,
isnull(b.working_minute, @WeekdayWorkingMinute) as working_minute,
isnull(b.rest_minute, @WeekdayRestMinute) as rest_minute
into #month_calendar
from serialdata a
--์๋ ฅ์ธ ๊ฒฝ์ฐ ์๋ ฅ๋ ์ง์ ์๋ ฅ์ธ ๊ฒฝ์ฐ ์๋ ฅ ๋ ์ง์ ๋น๊ตํ์ฌ ๊ธฐ๋
์ผ์ด ์๋์ง ํ์ธํ๋ค.
left outer join anniversary_master b on b.anniversary_date = (case when isnull(b.lunar_yn, '') = 'Y' then right(a.lunar_date, 5) else right(convert(char(10), a.date, 120), 5) end)
--์กฐํ์กฐ๊ฑด์ ํด๋นํ๋ ์์ ๋ ์ง์ ๋ํด์๋ง ์์
ํ๋ค.
where a.date between @start_date and @end_date
--2012.04.18 by ํฉ์์ผ AudiTrail ์ถ๊ฐ
set @StartLine = @@IDENTITY
--์๋ ฅ๊ธฐ์ค์ผ๋ก ๊ธฐ๋
์ผ์ด 2๊ฐ ์ด์ ๊ฒน์น ๋ ๊ทผ๋ฌด์๊ฐ์ด ์ต์์ธ ๊ธฐ๋
์ผ๋ง ๋จ๊ธฐ๊ณ ์ ๊ฑฐํ๋ค.
delete #month_calendar
from #month_calendar a
join
(
select a.solar_date, max(a.id) as id --๊ทผ๋ฌด์๊ฐ์ด ๋์ผํ ๊ฒฝ์ฐ ๋์ค์ ์
๋ ฅํ ๊ธฐ๋
์ผ์ด ๋ฐ์๋๋ค.
from #month_calendar a
join
(
select solar_date, isnull(min(working_minute), 0) as working_minute --์ต์ ๊ทผ๋ฌด์๊ฐ
from #month_calendar
group by solar_date
having count(*) > 1 --๊ธฐ๋
์ผ์ด 2๊ฐ ์ด์ ๊ฒน์น ๋
) b on a.solar_date = b.solar_date and isnull(a.working_minute, 0) = b.working_minute
group by a.solar_date
) b on a.solar_date = b.solar_date and a.id <> b.id
--์ผ์์ผ์ ๋ํด ์ค์ ํ๋ค.
--์ผ์์ผ์ด ํด์ผ์ด๊ฑฐ๋, ์ผ์์ผ์ด ๋ฐ์ผ์ด๋ฉด์ ๊ธฐ๋
์ผ๊น์ง ๋ฐ์ํ ๋ ์ง ๊ตฌ๋ถ์ด ํ์ผ์ผ๋๋ ์ผ์์ผ ์ค์ ๊ฐ์ ๋ฐ๋ผ๊ฐ๋ค.
--๊ทธ ์ธ์๋ ๊ธฐ๋
์ผ๊น์ง ๋ฐ์ํ ๊ฐ์ ์ ์งํ๋ค.
update #month_calendar
set calendar_type = case when (@SundayCalendarType = 'B') or (@SundayCalendarType = 'C' and calendar_type = 'A' ) then @SundayCalendarType else calendar_type end,
attend_time = case when (@SundayCalendarType = 'B') or (@SundayCalendarType = 'C' and calendar_type = 'A' ) then @SundayAttendTime else attend_time end,
leave_time = case when (@SundayCalendarType = 'B') or (@SundayCalendarType = 'C' and calendar_type = 'A' ) then @SundayLeaveTime else leave_time end,
working_minute = case when (@SundayCalendarType = 'B') or (@SundayCalendarType = 'C' and calendar_type = 'A' ) then @SundayWorkingMinute else working_minute end,
rest_minute = case when (@SundayCalendarType = 'B') or (@SundayCalendarType = 'C' and calendar_type = 'A' ) then @SundayRestMinute else rest_minute end
where datepart(weekday, solar_date) = 1
--ํ ์์ผ์ ๋ํด ์ค์ ํ๋ค.
--ํ ์์ผ์ด ํด์ผ์ด๊ฑฐ๋, ํ ์์ผ์ด ๋ฐ์ผ์ด๋ฉด์ ๊ธฐ๋
์ผ๊น์ง ๋ฐ์ํ ๋ ์ง ๊ตฌ๋ถ์ด ํ์ผ์ผ๋๋ ํ ์์ผ ์ค์ ๊ฐ์ ๋ฐ๋ผ๊ฐ๋ค.
--๊ทธ ์ธ์๋ ๊ธฐ๋
์ผ๊น์ง ๋ฐ์ํ ๊ฐ์ ์ ์งํ๋ค.
update #month_calendar
set calendar_type = case when (@SaturdayCalendarType = 'B') or (@SaturdayCalendarType = 'C' and calendar_type = 'A' ) then @SaturdayCalendarType else calendar_type end,
attend_time = case when (@SaturdayCalendarType = 'B') or (@SaturdayCalendarType = 'C' and calendar_type = 'A' ) then @SaturdayAttendTime else attend_time end,
leave_time = case when (@SaturdayCalendarType = 'B') or (@SaturdayCalendarType = 'C' and calendar_type = 'A' ) then @SaturdayLeaveTime else leave_time end,
working_minute = case when (@SaturdayCalendarType = 'B') or (@SaturdayCalendarType = 'C' and calendar_type = 'A' ) then @SaturdayWorkingMinute else working_minute end,
rest_minute = case when (@SaturdayCalendarType = 'B') or (@SaturdayCalendarType = 'C' and calendar_type = 'A' ) then @SaturdayRestMinute else rest_minute end
where datepart(weekday, solar_date) = 7
--3. ์๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๋ค.
-- [์ ์ฌ] calendar_master
insert into calendar_master( calendar_cd, calendar_date, anniversary_nm, calendar_type, attend_time, leave_time, working_minute, rest_minute)
select @s_calendar_cd, convert(char(10), solar_date, 120), anniversary_nm, calendar_type, attend_time, leave_time, working_minute, rest_minute
from #month_calendar
set @StartLine = @@IDENTITY-@@rowcount+1
set @EndLine = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'calendar_master', @audittrail_id_From_value = @StartLine , @audittrail_id_To_value = @EndLine, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #month_calendar
--4. ์ด๋ฒ๋ฌ๋ถํฐ ๋ฌ๋ ฅ ๋ ๋ ์ง๊น์ง ์์
์ผ ์๋ฒ์ ๋ฐ๋ก์ก๋๋ค.
declare @calendar_ini_seq int
select @calendar_ini_seq = calendar_seq
from calendar_master
where calendar_cd = @s_calendar_cd
and calendar_date = convert(datetime, @start_date) - 1
set @calendar_ini_seq = isnull(@calendar_ini_seq, 0)
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #working_day
(
calendar_date datetime,
calendar_seq int identity(1, 1)
)
insert into #working_day(calendar_date)
select calendar_date
from calendar_master
where calendar_cd = @s_calendar_cd
and calendar_date >= @start_date
update calendar_master
set calendar_seq = b.calendar_seq + @calendar_ini_seq
from calendar_master a
join #working_day b on a.calendar_date = b.calendar_date
where calendar_cd = @s_calendar_cd
END
ELSE IF @GUBUN='U'
BEGIN
update calendar_master
set calendar_type = @calendar_type,
attend_time = @attend_time,
leave_time = @leave_time,
working_minute = @working_minute,
rest_minute = @rest_minute
where calendar_cd = @calendar_cd
and calendar_date = @calendar_date
set @message = convert(varchar, @@rowcount) + '๊ฑด ์์ ๋์์ต๋๋ค'
--AuditTrail ์ถ๊ฐ
select @audittrail_id = audittrail_id from calendar_master where calendar_cd = @calendar_cd
and calendar_date = @calendar_date
exec SP_AudiTrail_INSERT_COMMON @tableName = 'calendar_master', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
SP_ComplexParameter
๋ชฉ์ โ ๋ณตํฉ ํ๋ผ๋ฏธํฐ(๋ค์ค ์กฐ๊ฑด) ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | char(1) | IN |
@complex_cd | nvarchar(100) | IN |
@complex_id | int(4) | IN |
@code1 | nvarchar(100) | IN |
@code2 | nvarchar(100) | IN |
@code3 | nvarchar(100) | IN |
@code4 | nvarchar(100) | IN |
@code5 | nvarchar(100) | IN |
@code6 | nvarchar(100) | IN |
@code7 | nvarchar(100) | IN |
@code8 | nvarchar(100) | IN |
@code9 | nvarchar(100) | IN |
@code10 | nvarchar(100) | IN |
@log_user_id | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ComplexParameter]
@Gubun char(1),
@complex_cd nvarchar(50) = '',
@complex_id int = 0,
@code1 nvarchar(50) = '',
@code2 nvarchar(50) = '',
@code3 nvarchar(50) = '',
@code4 nvarchar(50) = '',
@code5 nvarchar(50) = '',
@code6 nvarchar(50) = '',
@code7 nvarchar(50) = '',
@code8 nvarchar(50) = '',
@code9 nvarchar(50) = '',
@code10 nvarchar(50) = '',
@log_user_id nvarchar(50) = '', --AUDIT TRAIL
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
set @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
IF @Gubun = 'I'
BEGIN
-- [์ ์ฌ] complex_parameter
INSERT INTO complex_parameter(complex_cd, code1, code2, code3, code4, code5, code6, code7, code8, code9, code10)
VALUES(@complex_cd, @code1, @code2, @code3, @code4, @code5, @code6, @code7, @code8, @code9, @code10)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from complex_parameter where complex_cd = @complex_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'complex_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@identity)
END
ELSE IF (@Gubun='S')
BEGIN
select complex_cd, complex_id, code1, code2, code3, code4, code5, code6, code7, code8, code9, code10
from complex_parameter
where complex_cd like '%'+@complex_cd + '%'
END
ELSE IF(@Gubun='U')
BEGIN
UPDATE complex_parameter
SET code1 = @code1,
code2 = @code2,
code3 = @code3,
code4 = @code4,
code5 = @code5,
code6 = @code6,
code7 = @code7,
code8 = @code8,
code9 = @code9,
code10 = @code10
where complex_cd = @complex_cd
and complex_id = @complex_id
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from complex_parameter where complex_cd = @complex_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'complex_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
ELSE IF (@Gubun='D')
BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from complex_parameter where complex_cd = @complex_cd
exec SP_AudiTrail_INSERT_COMMON @tableName = 'complex_parameter', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] complex_parameter
delete complex_parameter
where complex_cd = @complex_cd
and complex_id = @complex_id
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์ญ์ ๋์์ต๋๋ค'
END
SP_CustomCustReg
๋ชฉ์ โ ๊ฑฐ๋์ฒ ์ปค์คํ ๋ฑ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_cust_cd | nvarchar(100) | IN |
@plant_cd | nvarchar(100) | IN |
@cust_cd | nvarchar(100) | IN |
@custIn_cd | nvarchar(100) | IN |
@custIn_remark | nvarchar(400) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๋ฐ์์ฉ(09.10.7)
์ ์ ์ :
SP ๋ช
: SP_CustomCustReg
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๊ฐ๋ฉ์ฒ ๋ฑ๋ก
์ฌ ์ฉ ์ฒ : CustomCustReg.cs
********************************************************************/
CREATE PROCEDURE [dbo].[SP_CustomCustReg]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@s_cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋(์กฐํ์ฉ)
@plant_cd nvarchar(50) = '', --์ฌ์
์ฅ์ฝ๋
@cust_cd nvarchar(50) = '', --๊ฑฐ๋์ฒ์ฝ๋
@custIn_cd nvarchar(50) = '', --๊ฐ๋ฉ์ฒ์ฝ๋
@custIn_remark nvarchar(200) = '', --๊ฐ๋ฉ์ฒ๋น๊ณ
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- ์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
SELECT
a.cust_cd --๊ฑฐ๋์ฒ์ฝ๋
,b.CUST_NM as cust_nm --๊ฑฐ๋์ฒ๋ช
,b.CUST_BUSIN_NO as cust_busin_no --์ฌ์
์๋ฑ๋ก๋ฒํธ
,b.CUST_CEO_NM as cust_ceo_nm --๋ํ์๋ช
,b.CUST_TEL_NO as cust_tel_no --์ ํ๋ฒํธ
,b.CUST_POST_CD as cust_post_cd --์ฐํธ๋ฒํธ
,b.CUST_AD1 as cust_ad1 --์ฃผ์1
,b.CUST_AD2 as cust_ad2 --์ฃผ์2
,a.cust_indirect_cd as custIn_cd --๊ฐ๋ฉ์ฒ์ฝ๋
,c.CUST_NM as custIn_nm --๊ฐ๋ฉ์ฒ๋ช
,c.CUST_BUSIN_NO as custIn_busin_no --์ฌ์
์๋ฑ๋ก๋ฒํธ
,c.CUST_CEO_NM as custIn_ceo_nm--๋ํ์๋ช
,c.CUST_TEL_NO as custIn_tel_no--์ ํ๋ฒํธ
,c.CUST_POST_CD as custIn_post_cd --์ฐํธ๋ฒํธ
,c.CUST_AD1 as custIn_ad1 --์ฃผ์1
,c.CUST_AD2 as custIn_ad2 --์ฃผ์2
,a.cust_indirect_remark as custIn_remark --๋น๊ณ
FROM MA_CUSTOMER_INDIRECT a
LEFT OUTER JOIN MA_CUSTOMER b ON (a.cust_cd = b.CUST_CD)
LEFT OUTER JOIN MA_CUSTOMER c ON (a.cust_indirect_cd = c.CUST_CD)
WHERE a.cust_cd LIKE '%' + @s_cust_cd + '%' OR b.CUST_NM LIKE '%' + @s_cust_cd + '%'
SELECT @intErrorCode = @@ERROR
END
-- ๊ฑฐ๋์ฒ ๋ฐ ๊ฐ๋ฉ์ฒ ์
๋ ฅ
-- [๋ถ๊ธฐ] @gubun = 'I' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'I') BEGIN
-- [์ ์ฌ] MA_CUSTOMER_INDIRECT
INSERT INTO MA_CUSTOMER_INDIRECT
(
plant_cd
,cust_cd
,cust_indirect_cd
,cust_indirect_remark
)
VALUES
(
@plant_cd
,@cust_cd
,@custIn_cd
,@custIn_remark
)
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ฉ์ฒ ์์
-- [๋ถ๊ธฐ] @gubun = 'U' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'U') BEGIN
UPDATE MA_CUSTOMER_INDIRECT
SET
cust_indirect_cd = @custIn_cd
,cust_indirect_remark = @custIn_remark
WHERE plant_cd = @plant_cd
AND cust_cd = @cust_cd
AND cust_indirect_cd = @custIn_cd
SELECT @intErrorCode = @@ERROR
END
-- ๊ฐ๋ฉ์ฒ ์ญ์
-- [๋ถ๊ธฐ] @gubun = 'D' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'D') BEGIN
DELETE
FROM MA_CUSTOMER_INDIRECT
WHERE plant_cd = @plant_cd
AND cust_cd = @cust_cd
AND cust_indirect_cd = @custIn_cd
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_DataCheck
๋ชฉ์ โ ๋ฐ์ดํฐ ์ ํฉ์ฑ ์ ๊ฒ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@gs1_barcode | nvarchar(140) | IN |
@update_user_cd | nvarchar(100) | IN |
@identity | nvarchar(100) | OUTPUT |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.11.15)
์ ์ ์ : ๊น์ ์
(2014.07.11)
SP ๋ช
: SP_ItemBarcodeCheck
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ๋ฐ์ฝ๋ ์ ๋ณด ์กฐํ
์ฌ ์ฉ ์ฒ : ItemBarcodeCheck.cs
ํ
์ด ๋ธ : marking_order, ITEM_STANDARD, GD_ITEM_STOCK, GD_PACKING_RESULT_ITEM, GD_PACKING_RESULT_PACK
๋น ๊ณ : ๋ฐ์ฝ๋ ์ ๋ณด๋ฅผ ์กฐํํ์ฌ ์ ์์ ์ผ๋ก ๋ฐํ๋ ๋ด์ญ์ธ์ง ํ์ธ.
์ ์ :
********************************************************************/
create PROCEDURE [dbo].[SP_DataCheck]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@s_sdate nvarchar(10) = '',
@s_edate nvarchar(10) = '',
@gs1_barcode nvarchar(70) = '',
@update_user_cd NVARCHAR(50) ='',
@identity nvarchar(50) = '' output,
@message nvarchar(2000) output
AS
DECLARE @intErrorCode int
SET @intErrorCode = 0
DECLARE @audittrail_id int, @row int
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S') BEGIN
select c.RECEIPT_DATE, c.PACKING_ORDER_NO, c.REFER_TYPE, d.ITEM_CD, d.ITEM_NM, d.ITEM_PACKUNIT2, c.LOT_NO, a.GS1_BOX_BARCODE_NO,'1์ฐจ๋ฐ์ค' AS BOX_TYPE, a.PROD_QTY, a.STOCK_QTY, c.RECEIPT_STATUS
from gd_packing_result_pack a
left join (select mapping_gs1_barcode from gd_packing_result_item group by mapping_gs1_barcode) b on (a.gs1_box_barcode_no = b.mapping_gs1_barcode)
left join GD_ITEM_STOCK c On (a.ITEM_STOCK_ID = c.ITEM_STOCK_ID)
left join ITEM_STANDARD d On (c.ITEM_CD = d.ITEM_CD)
where c.RECEIPT_DATE BETWEEN @s_sdate AND @s_edate AND box_type = '1' and a.prod_qty > 0 and b.mapping_gs1_barcode is null
UNION ALL
select c.RECEIPT_DATE, c.PACKING_ORDER_NO, c.REFER_TYPE, d.ITEM_CD, d.ITEM_NM, d.ITEM_PACKUNIT2, c.LOT_NO, a.GS1_BOX_BARCODE_NO,'2์ฐจ๋ฐ์ค' AS BOX_TYPE, a.PROD_QTY, a.STOCK_QTY, c.RECEIPT_STATUS
from gd_packing_result_pack a
left join (select mapping_gs1_barcode from gd_packing_result_pack WHERE box_type = '1' group by mapping_gs1_barcode) b on (a.gs1_box_barcode_no = b.mapping_gs1_barcode)
left join GD_ITEM_STOCK c On (a.ITEM_STOCK_ID = c.ITEM_STOCK_ID)
left join ITEM_STANDARD d On (c.ITEM_CD = d.ITEM_CD)
where c.RECEIPT_DATE BETWEEN @s_sdate AND @s_edate AND box_type = '2' and b.mapping_gs1_barcode is null
UNION ALL
select c.RECEIPT_DATE, c.PACKING_ORDER_NO, c.REFER_TYPE, d.ITEM_CD, d.ITEM_NM, d.ITEM_PACKUNIT2, c.LOT_NO, a.GS1_BOX_BARCODE_NO,'๊ฐ๋ณ์ฝ๋' AS BOX_TYPE, a.PROD_QTY, a.STOCK_QTY, c.RECEIPT_STATUS
from gd_packing_result_item a
left join gd_packing_result_pack b on (a.mapping_gs1_barcode = b.gs1_box_barcode_no)
left join GD_ITEM_STOCK c On (a.ITEM_STOCK_ID = c.ITEM_STOCK_ID)
left join ITEM_STANDARD d On (c.ITEM_CD = d.ITEM_CD)
where c.RECEIPT_DATE BETWEEN @s_sdate AND @s_edate and a.prod_qty > 0 and b.gs1_box_barcode_no is null
END
ELSE IF (@gubun = 'Delete') BEGIN
if(SUBSTRING(@gs1_barcode,1,2)='00')
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @update_user_cd, @audit_Remark = '๋ฐ์ดํฐ์ฒดํฌ'
-- [์ญ์ ] GD_PACKING_RESULT_PACK
DELETE GD_PACKING_RESULT_PACK where GS1_BOX_BARCODE_NO = @gs1_barcode
END
ELSE
BEGIN
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @update_user_cd, @audit_Remark = '๋ฐ์ดํฐ์ฒดํฌ'
-- [์ญ์ ] GD_PACKING_RESULT_ITEM
DELETE GD_PACKING_RESULT_ITEM where GS1_BOX_BARCODE_NO = @gs1_barcode
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_EQUIPEXAM
๋ชฉ์ โ ์ค๋น ์ ๊ฒ ์ด๋ ฅ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | char(1) | IN |
@S_EQUIPMENT_CD | nvarchar(100) | IN |
@equip_cd | nvarchar(100) | IN |
@process_exam_cd | nvarchar(100) | IN |
@INSERT_EMP | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_EQUIPEXAM]
@GUBUN CHAR(1),
@S_EQUIPMENT_CD NVARCHAR(50) = NULL,
@equip_cd NVARCHAR(50) = NULL,
@process_exam_cd NVARCHAR(50) = NULL,
@INSERT_EMP NVARCHAR(50) = NULL,
@message NVARCHAR(2000) output
AS
set @message = '๋ฐ์ดํฐ ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
IF @GUBUN='S'
BEGIN
SELECT @S_EQUIPMENT_CD as equip_cd,
a.common_part_cd as process_exam_cd,
a.common_part_nm as process_exam_nm,
case when b.equip_cd is null then 'N' else 'Y' end as isexist,
case when b.equip_cd is null then 'N' else 'Y' end as orgisexist
FROM common a
left outer join (
select *
from equip_exam
where equip_cd = @S_EQUIPMENT_CD
) b on a.common_part_cd = b.process_exam_cd
WHERE a.common_cd = 'PR001'
END
ELSE IF @GUBUN='I'
BEGIN
INSERT equip_exam(equip_cd, process_exam_cd, insert_user_cd, insert_time)
VALUES (@equip_cd, @process_exam_cd, @INSERT_EMP, getdate())
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค'
END
ELSE IF @GUBUN='D'
BEGIN
-- [์ญ์ ] equip_exam
DELETE equip_exam
WHERE equip_cd = @equip_cd
AND process_exam_cd = @process_exam_cd
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์ญ์ ๋์์ต๋๋ค'
END
SP_EQUIPMENT
๋ชฉ์ โ ์ค๋น ๊ธฐ๋ณธ ์ ๋ณด ๊ด๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | char(5) | IN |
@S_EQUIP_TYPE | nvarchar(10) | IN |
@S_EQUIP_CD | nvarchar(100) | IN |
@S_EQUIP_NM | nvarchar(200) | IN |
@EQUIP_CD | nvarchar(100) | IN |
@EQUIP_NM | nvarchar(200) | IN |
@EQUIP_ENM | nvarchar(200) | IN |
@EQUIP_MANAGE_NUM | nvarchar(100) | IN |
@EQUIP_ITEM_NM | nvarchar(100) | IN |
@EQUIP_MODEL_NUM | nvarchar(100) | IN |
@EQUIP_SERIAL_NUM | nvarchar(100) | IN |
@EQUIP_VOLUME | int(4) | IN |
@EQUIP_TYPE | nvarchar(10) | IN |
@EQUIP_PROD_CUST | nvarchar(100) | IN |
@EQUIP_PROD_NUM | nvarchar(100) | IN |
@EQUIP_BUY_CUST | nvarchar(100) | IN |
@EQUIP_MANAGE_CUST | nvarchar(100) | IN |
@EQUIP_RESPONSE_EMP | nvarchar(100) | IN |
@EQUIP_BUY_DATE | nvarchar(20) | IN |
@EQUIP_INSTALL_DATE | nvarchar(20) | IN |
@EQUIP_WORK_DATE | nvarchar(20) | IN |
@EQUIP_DISUSE_DATE | nvarchar(20) | IN |
@EQUIP_BUY_AMT | decimal(9) | IN |
@EQUIP_USE_GB | nvarchar(2) | IN |
@EQUIP_PROPERTY | nvarchar(200) | IN |
@PLANT_CD | nvarchar(100) | IN |
@EQUIP_MCD | nvarchar(100) | IN |
@WORKROOM_CD | nvarchar(100) | IN |
@INTERFACE_CD | nvarchar(40) | IN |
@equip_essential_level | nvarchar(10) | IN |
@equip_prod_cust_cd | nvarchar(100) | IN |
@equip_buy_cust_cd | nvarchar(100) | IN |
@equip_manage_cust_cd | nvarchar(100) | IN |
@equip_disuse_reason | nvarchar(10) | IN |
@error_plus | decimal(9) | IN |
@error_minus | decimal(9) | IN |
@error_unit | nvarchar(10) | IN |
@w_port_no | nvarchar(100) | IN |
@interface_position_no | nvarchar(100) | IN |
@interval | decimal(9) | IN |
@doc_name | nvarchar(200) | IN |
@doc_type | nvarchar(10) | IN |
@file_image | image(16) | IN |
@fgubun | nvarchar(10) | IN |
@equip_doc_id | int(4) | IN |
@port_no | nvarchar(20) | IN |
@interface_ip_address | nvarchar(100) | IN |
@line_equip_cd | nvarchar(100) | IN |
@PLC_NODE_NO | int(4) | IN |
@INSERT_USER_CD | nvarchar(100) | IN |
@UPDATE_USER_CD | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_EQUIPMENT]
@GUBUN CHAR(5),
@S_EQUIP_TYPE NVARCHAR(5) = NULL,
@S_EQUIP_CD NVARCHAR(50) = '',
@S_EQUIP_NM NVARCHAR(100) = '',
@EQUIP_CD NVARCHAR(50) = NULL,
@EQUIP_NM NVARCHAR(100) = NULL,
@EQUIP_ENM NVARCHAR(100) = NULL,
@EQUIP_MANAGE_NUM NVARCHAR(50) = NULL,
@EQUIP_ITEM_NM NVARCHAR(50) = NULL,
@EQUIP_MODEL_NUM NVARCHAR(50) = NULL,
@EQUIP_SERIAL_NUM NVARCHAR(50) = NULL,
@EQUIP_VOLUME INT = 0,
@EQUIP_TYPE NVARCHAR(5) = NULL ,
@EQUIP_PROD_CUST NVARCHAR(50) = NULL,
@EQUIP_PROD_NUM NVARCHAR(50) = NULL,
@EQUIP_BUY_CUST NVARCHAR(50) = NULL,
@EQUIP_MANAGE_CUST NVARCHAR(50) = NULL,
@EQUIP_RESPONSE_EMP NVARCHAR(50) = NULL,
@EQUIP_BUY_DATE NVARCHAR(10) = NULL,
@EQUIP_INSTALL_DATE NVARCHAR(10) = NULL,
@EQUIP_WORK_DATE NVARCHAR(10) = NULL,
@EQUIP_DISUSE_DATE NVARCHAR(10) = NULL,
@EQUIP_BUY_AMT DECIMAL(15,3) = NULL,
@EQUIP_USE_GB NVARCHAR(1) = NULL,
@EQUIP_PROPERTY NVARCHAR(100) = NULL,
@PLANT_CD NVARCHAR(50) = NULL,
@EQUIP_MCD NVARCHAR(50) = NULL,
@WORKROOM_CD NVARCHAR(50) = NULL,
@INTERFACE_CD NVARCHAR(20) = NULL,
--์๋ก์ถ๊ฐ๋ถ๋ถ
@equip_essential_level nvarchar(5) = '',
@equip_prod_cust_cd nvarchar(50) = '',
@equip_buy_cust_cd nvarchar(50) = '',
@equip_manage_cust_cd nvarchar(50) = '',
@equip_disuse_reason nvarchar(5) = '',
--์ถ๊ฐ(070226)
@error_plus decimal(15,4) = 0,
@error_minus decimal(15,4) = 0,
@error_unit nvarchar(5) = '',
@w_port_no nvarchar(50) = '',
--์ถ๊ฐ(080517)
@interface_position_no nvarchar(50) = '',
@interval decimal(15,4) = 0,
@doc_name nvarchar(100) = '',
@doc_type nvarchar(5) = '',
@file_image image = null,
@fgubun nvarchar(5) = '',
@equip_doc_id int = 0,
--์ถ๊ฐ(130212)
@port_no nvarchar(10) = '',
@interface_ip_address nvarchar(50) = '',
----------------------------------
@line_equip_cd nvarchar(50)= '',
@PLC_NODE_NO INT = 0,
@INSERT_USER_CD NVARCHAR(50) = '',
@UPDATE_USER_CD NVARCHAR(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [๋ถ๊ธฐ] @GUBUN = 'I' ์ธ ๊ฒฝ์ฐ
IF(@GUBUN='I')
BEGIN
-- [์ ์ฌ] equipment
insert into equipment
(
equip_cd,
equip_nm,
equip_enm,
line_equip_cd,
equip_manage_num,
equip_item_nm,
equip_model_num,
equip_serial_num,
equip_volume,
equip_type,
equip_prod_cust,
equip_prod_num,
equip_buy_cust,
equip_manage_cust,
equip_response_emp,
equip_buy_date,
equip_install_date,
equip_work_date,
equip_disuse_date,
equip_buy_amt,
equip_use_gb,
equip_property,
plant_cd,
equip_mcd,
workroom_cd,
interface_cd,
plc_node_no,
insert_user_cd,
--์๋ก ์ถ๊ฐ๋ถ๋ถ
equip_essential_level,
equip_prod_cust_cd,
equip_buy_cust_cd,
equip_manage_cust_cd,
equip_disuse_reason,
insert_time
--์ถ๊ฐ(070226)
,error_plus
,error_minus
,error_unit
,w_port_no
--์ถ๊ฐ(080517)
,interface_position_no
,interval
--์ถ๊ฐ(130212)
,port_no
,interface_ip_address
)
values (
@equip_cd,
@equip_nm,
@equip_enm,
@line_equip_cd,
@equip_manage_num,
@equip_item_nm,
@equip_model_num,
@equip_serial_num,
@equip_volume,
@equip_type,
@equip_prod_cust,
@equip_prod_num,
@equip_buy_cust,
@equip_manage_cust,
@equip_response_emp,
@equip_buy_date,
@equip_install_date,
@equip_work_date,
@equip_disuse_date,
@equip_buy_amt,
@equip_use_gb,
@equip_property,
@plant_cd,
@equip_mcd,
@workroom_cd,
@interface_cd,
@plc_node_no,
@insert_user_cd,
--์๋ก์ถ๊ฐ๋ถ๋ถ
@equip_essential_level,
@equip_prod_cust_cd,
@equip_buy_cust_cd,
@equip_manage_cust_cd,
@equip_disuse_reason,
getdate()
--์ถ๊ฐ(070226)
,@error_plus
,@error_minus
,@error_unit
,@w_port_no
--์ถ๊ฐ(080517)
,@interface_position_no
,@interval
--์ถ๊ฐ(130212)
,@port_no
,@interface_ip_address
)
----AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from equipment where EQUIP_CD = @EQUIP_CD
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'equipment', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์
๋ ฅ๋์์ต๋๋ค.'
END
--exec SP_EQUIPMENT @gubun=N'U',@s_equip_cd=default,@s_equip_nm=default,@equip_cd=N'0007',@equip_nm=N'๋๋ฏธ๋
ธ007',@equip_enm=N'domino007',@equip_manage_num=N'123',@equip_item_nm=N'v220i',@equip_model_num=default,@equip_serial_num=default,@equip_volume=N'50',@equip_type=N'3',@equip_prod_cust=default,@equip_prod_num=default,@equip_buy_cust=default,@equip_manage_cust=default,@equip_response_emp=N'111',@equip_buy_date=default,@equip_install_date=N'2014-07-16',@equip_work_date=N'2014-07-31',@equip_disuse_date=N'2014-08-08',@equip_buy_amt=N'0.0',@equip_use_gb=N'Y',@equip_property=N'๋ชฐ๋ผ',@plant_cd=N'PC001',@equip_mcd=N'0004',@workroom_cd=N'W6',@interface_cd=default,@s_equip_type=N'%',@plc_node_no=N'0',@line_equip_cd=N'0004',@equip_essential_level=default,@equip_prod_cust_cd=default,@equip_buy_cust_cd=default,@equip_manage_cust_cd=default,@equip_disuse_reason=default,@error_plus=N'0.0000',@error_minus=N'0.0000',@error_unit=default,@w_port_no=default,@interface_position_no=N'BC5FF46E6F18',@interval=N'0.0000',@interface_ip_address=default,@port_no=default,@message=@p45 output
ELSE IF(@GUBUN='U')
BEGIN
UPDATE EQUIPMENT
SET equip_nm = @equip_nm,
equip_enm = @equip_enm,
equip_manage_num = @equip_manage_num,
equip_item_nm = @equip_item_nm,
equip_model_num = @equip_model_num,
equip_serial_num = @equip_serial_num,
equip_volume = @equip_volume,
equip_type = @equip_type,
equip_prod_cust = @equip_prod_cust,
equip_prod_num = @equip_prod_num,
equip_buy_cust = @equip_buy_cust,
equip_manage_cust = @equip_manage_cust,
equip_response_emp = @equip_response_emp,
equip_buy_date = @equip_buy_date,
equip_install_date = @equip_install_date,
equip_work_date = @equip_work_date,
equip_disuse_date = @equip_disuse_date,
equip_buy_amt = @equip_buy_amt,
equip_use_gb = @equip_use_gb,
equip_property = @equip_property,
plant_cd = @plant_cd,
equip_mcd = @equip_mcd,
workroom_cd = @workroom_cd,
interface_cd = @interface_cd,
plc_node_no = @plc_node_no,
line_equip_cd = @line_equip_cd,
update_user_cd = @update_user_cd,
--์๋ก ์ถ๊ฐ๋ถ๋ถ
equip_essential_level = @equip_essential_level,
equip_prod_cust_cd = @equip_prod_cust_cd,
equip_buy_cust_cd = @equip_buy_cust_cd,
equip_manage_cust_cd = @equip_manage_cust_cd,
equip_disuse_reason = @equip_disuse_reason,
update_time = getdate()
--์ถ๊ฐ(070226)
,error_plus = @error_plus
,error_minus = @error_minus
,error_unit = @error_unit
,w_port_no = @w_port_no
--์ถ๊ฐ(080517)
,interface_position_no = @interface_position_no
,interval = @interval
--์ถ๊ฐ(130212)
,port_no = @port_no
,interface_ip_address = @interface_ip_address
WHERE EQUIP_CD=@EQUIP_CD
--AuditTrail ์์ฑ
--select @audittrail_id = audittrail_id from equipment where EQUIP_CD = @EQUIP_CD
--exec SP_AudiTrail_INSERT_COMMON @tableName = 'equipment', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์์ ๋์์ต๋๋ค.'
END
ELSE IF(@GUBUN='D')
--๊ด๋ จํ์ผ์ ๋จผ์ ์ญ์ ํ๊ณ ํ
์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ค
BEGIN
declare @id1 int,
@id2 int,
@id3 int,
@id4 int
select @id1 = equip_doc1_id
,@id2 = equip_doc2_id
,@id3 = equip_doc3_id
,@id4 = equip_doc4_id
from equipment
where equip_cd = @equip_cd
select @audittrail_id = audittrail_id from gmp_doc_file where doc_file_id = @id1
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gmp_doc_file
delete gmp_doc_file
where doc_file_id = @id1
select @audittrail_id = audittrail_id from gmp_doc_file where doc_file_id = @id2
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gmp_doc_file
delete gmp_doc_file
where doc_file_id = @id2
select @audittrail_id = audittrail_id from gmp_doc_file where doc_file_id = @id3
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gmp_doc_file
delete gmp_doc_file
where doc_file_id = @id3
select @audittrail_id = audittrail_id from gmp_doc_file where doc_file_id = @id4
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] gmp_doc_file
delete gmp_doc_file
where doc_file_id = @id4
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from equipment where EQUIP_CD = @EQUIP_CD
exec SP_AudiTrail_INSERT_COMMON @tableName = 'equipment', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] EQUIPMENT
DELETE EQUIPMENT
WHERE EQUIP_CD=@EQUIP_CD
set @message = CONVERT(VARCHAR, @@rowcount) + '๊ฑด ์ญ์ ๋์์ต๋๋ค.'
END
ELSE IF(@GUBUN='S')
BEGIN
select a.equip_cd, --๊ธฐ๊ณ๊ธฐ๊ตฌ์ฝ๋
a.equip_nm, --๊ธฐ๊ณ๊ธฐ๊ตฌ๋ช
a.equip_enm, --๊ธฐ๊ณ๊ธฐ๊ตฌ์๋ฌธ๋ช
a.equip_essential_level, --์ค๋น์ค์๋์ฝ๋ --->์ถ๊ฐ
i.common_part_nm as equip_essential_level_nm, --์ค๋น์ค์๋๋ช
--->์ถ๊ฐ
a.equip_manage_num, --๊ด๋ฆฌ๋ฒํธ
a.equip_item_nm, --ํ๋ช
a.equip_model_num, --๋ชจ๋ธ๋๋ฒ
a.equip_serial_num, --์๋ฆฌ์ผ๋๋ฒ
a.equip_volume, --์ฉ๋
c.equip_type, --๊ธฐ๊ณ๊ธฐ๊ตฌ์ข
๋ฅ์ฝ๋(๋ํ๊ธฐ๊ณ๊ธฐ๊ตฌ๊ฐ์ ์ฌ์ฉํจ)
b.common_part_nm as equip_type_nm, --๊ธฐ๊ณ๊ธฐ๊ตฌ์ข
๋ฅ๋ช
(๋ํ๊ธฐ๊ณ๊ธฐ๊ตฌ๊ฐ์ ํตํด ๊ฐ์ ธ์ด)
a.equip_prod_cust_cd, --์ ์กฐ์
์ฒด์ฝ๋ --->์ถ๊ฐ
-- a.equip_prod_cust, --์ ์กฐ์
์ฒด๋ช
case when isnull(f.cust_nm,'') = '' then
isnull(a.equip_prod_cust,'') else f.cust_nm end as equip_prod_cust, --์ ์กฐ์
์ฒด๋ช
(์์ )
a.equip_prod_num, --์ ์กฐ๋ฒํธ
a.equip_buy_cust_cd, --๊ตฌ์
์
์ฒด์ฝ๋ --->์ถ๊ฐ
-- a.equip_buy_cust, --๊ตฌ์
์
์ฒด๋ช
case when isnull(g.cust_nm,'') = '' then
isnull(a.equip_buy_cust,'') else g.cust_nm end as equip_buy_cust, --๊ตฌ์
์
์ฒด๋ช
(์์ )
a.equip_manage_cust_cd, --๊ด๋ฆฌ์
์ฒด์ฝ๋ --->์ถ๊ฐ
-- a.equip_manage_cust, --๊ด๋ฆฌ์
์ฒด๋ช
case when isnull(h.cust_nm,'') = '' then
isnull(a.equip_manage_cust,'') else h.cust_nm end as equip_manage_cust, --๊ด๋ฆฌ์
์ฒด๋ช
(์์ )
a.equip_response_emp, --์ฑ
์์
d.emp_nm as equip_response_emp_nm, --์ฑ
์์๋ช
a.equip_buy_date, --๊ตฌ์
์ผ์
a.equip_install_date, --์ค์น์ผ์
a.equip_work_date, --๊ฐ๋์ผ์
a.equip_disuse_date, --ํ๊ธฐ์ผ์
a.equip_disuse_reason, --ํ๊ธฐ์ฌ์ ์ฝ๋ --->์ถ๊ฐ
n.common_part_nm as equip_disuse_reason_nm, --ํ๊ธฐ์ฌ์ ๋ด์ฉ
a.equip_buy_amt, --๊ตฌ์
๊ธ์ก
a.equip_use_gb, --??
a.equip_property, --ํ์ ๋ฐ ์ฑ๋ฅ
a.plant_cd, --์ฌ์
์ฅ์ฝ๋
a.equip_mcd, --์์๊ธฐ๊ณ๊ธฐ๊ตฌ์ฝ๋
--a.equip_gcd, --๊ทธ๋ฃน์ฝ๋
a.workroom_cd, --์์
์ค์ฝ๋
e.workroom_nm, --์์
์ค๋ช
a.interface_cd, --์ธํฐํ์ด์ค์ฝ๋
a.plc_node_no, --PLC๋ฒํธ
a.w_port_no, --ํฌํธ๋ฒํธ --->์ถ๊ฐ
a.line_equip_cd, --๋ผ์ธ๋ํ๊ธฐ๊ณ์ฝ๋
p.equip_nm as line_equip_nm, --๋ผ์ธ๋ํ๊ธฐ๊ณ๋ช
a.equip_doc1_id, --๊ด๋ จํ์ผ1id --->์ถ๊ฐ
j.doc_name as equip_doc1_nm, --๊ด๋ จํ์ผ1์ด๋ฆ--->์ถ๊ฐ
a.equip_doc2_id, --๊ด๋ จํ์ผ2id --->์ถ๊ฐ
k.doc_name as equip_doc2_nm, --๊ด๋ จํ์ผ2์ด๋ฆ--->์ถ๊ฐ
a.equip_doc3_id, --๊ด๋ จํ์ผ3id --->์ถ๊ฐ
l.doc_name as equip_doc3_nm, --๊ด๋ จํ์ผ3์ด๋ฆ--->์ถ๊ฐ
a.equip_doc4_id, --๊ด๋ จํ์ผ4id --->์ถ๊ฐ
m.doc_name as equip_doc4_nm, --๊ด๋ จํ์ผ4์ด๋ฆ--->์ถ๊ฐ
c.equip_nm as equip_mcd_nm --๋ํ์ฝ๋๋ช
--์ถ๊ฐ
,a.error_plus
,a.error_minus
,a.error_unit
--์ถ๊ฐ(080517)
,a.interface_position_no
-- 2013.02.12 ๋ณ๊ฒฝ(์์
์ค์ด ์๋๋ผ, ์ปดํจํฐ MacAddress๋ก ์ฐพ๋๋ค.) --,q.workroom_nm as interface_position_nm
,isnull(r.ComputerNM,'') AS interface_position_nm
--+ CASE WHEN isnull(q.workroom_nm,'') ='' THEN '' ELSE '('+q.workroom_nm+')' END AS interface_position_nm
,a.interval
--์ถ๊ฐ(130212)
,a.port_no
,a.interface_ip_address
from equipment a
left outer join equipment c on a.equip_mcd = c.equip_cd
left outer join common b on b.common_cd = 'SC011' and c.equip_type = b.common_part_cd
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) d on a.equip_response_emp = d.emp_cd
left outer join workroom e on a.workroom_cd = e.workroom_cd
left outer join equipment p on a.line_equip_cd = p.equip_cd
left outer join ma_customer f on a.equip_prod_cust_cd = f.cust_cd
left outer join ma_customer g on a.equip_buy_cust_cd = g.cust_cd
left outer join ma_customer h on a.equip_manage_cust_cd = h.cust_cd
left outer join common i on i.common_cd = 'SC018' and a.equip_essential_level = i.common_part_cd
left outer join gmp_doc_file j on a.equip_doc1_id = j.doc_file_id
left outer join gmp_doc_file k on a.equip_doc2_id = k.doc_file_id
left outer join gmp_doc_file l on a.equip_doc3_id = l.doc_file_id
left outer join gmp_doc_file m on a.equip_doc4_id = m.doc_file_id
left outer join common n on n.common_cd = 'SC019' and a.equip_disuse_reason = n.common_part_cd
left outer join ExecutionComputer r on a.interface_position_no=r.MacAddress
--left outer join position o on r.POSITION_NO =o.position_no
--left outer join workroom q on o.OBJ_CD = q.workroom_cd
where a.equip_cd like @s_equip_cd + '%'
and a.equip_nm like @s_equip_nm + '%'
--and c.equip_type like @S_EQUIP_TYPE + '%'
order by a.equip_cd
END
ELSE IF(@GUBUN='S1') -- ์ธํฐํ์ด์ค ์ ๋ณด ๋ฐํ
BEGIN
SELECT interface_cd --์ธํฐํ์ด์ค์ฝ๋
,interface_ip_address --TCP/IP ADDRESS
,port_no --TCP/IP PORT
,interval --์ธํฐ๋ฒ
,plc_node_no --PLC๋ฒํธ
,w_port_no --ํฌํธ๋ฒํธ(์ง์ ์ฐ๊ฒฐ)
,error_plus --์ค์ฐจ๋ฒ์(+)
,error_minus --์ค์ฐจ๋ฒ์(-)
,error_unit --์ค์ฐจ๋ฒ์(๋จ์)
FROM equipment
WHERE interface_position_no = @interface_position_no --์กฐ๊ฑด ์ถ๊ฐ :๊น์ฌ์
ORDER BY interface_cd
END
ELSE IF(@GUBUN = 'F') -- ๋ฌธ์ํ์ผ์ ์ฅ ๋ฐ id๊ฐ ๋ฐํ
BEGIN
DECLARE @iden int
--ํ์ผ์ด๋ฏธ์ง๋ฅผ ์
๋ ฅํ๋ค.
-- [์ ์ฌ] gmp_doc_file
INSERT INTO gmp_doc_file
(
doc_name
,doc_type
,file_image
)
VALUES (
@doc_name
,case when @doc_type = '.hwp' then '2' else '1' end
,@file_image
)
select @iden = @@IDENTITY
select @audittrail_id = audittrail_id from gmp_doc_file where DOC_FILE_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--์์ด๋ ๊ตฌ๋ถ์ ๋ฐ๋ฅธ id ๊ฐ์ ์
๋ ฅํด์ค๋ค
-- [๋ถ๊ธฐ] @fgubun = '1' ์ธ ๊ฒฝ์ฐ
IF(@fgubun = '1')
BEGIN
UPDATE equipment
SET equip_doc1_id = @iden
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '2')
BEGIN
UPDATE equipment
SET equip_doc2_id = @iden
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '3')
BEGIN
UPDATE equipment
SET equip_doc3_id = @iden
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '4')
BEGIN
UPDATE equipment
SET equip_doc4_id = @iden
WHERE equip_cd = @equip_cd
END
--์
๋ ฅ๋ ํ์ผ์ id๊ฐ์ ๋ณด๋ด์ค๋ค.
SET @message = @iden
END
ELSE IF(@GUBUN = 'FE') -- ๋ฌธ์ํ์ผ์ ๋ณด ์์
BEGIN
UPDATE gmp_doc_file
SET doc_name = @doc_name
,doc_type = (case when @doc_type = '.hwp' then '2' else '1' end)
,file_image = @file_image
WHERE doc_file_id = @equip_doc_id
select @audittrail_id = audittrail_id from gmp_doc_file where DOC_FILE_ID = @equip_doc_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SET @message = '์์ ๋์์ต๋๋ค'
END
ELSE IF(@GUBUN = 'FS') -- ๋ฌธ์ํ์ผ์กฐํ
BEGIN
SELECT file_image
,doc_name
FROM gmp_doc_file
WHERE doc_file_id = @equip_doc_id
SET @message = '์กฐํ๋์์ต๋๋ค.'
END
ELSE IF(@GUBUN = 'FD') -- ๋ฌธ์ํ์ผ์ญ์ ๋ฐ gmp_doc_list์ id๊ฐ ์ญ์
BEGIN
select @audittrail_id = audittrail_id from gmp_doc_file where DOC_FILE_ID = @equip_doc_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'gmp_doc_file', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--๋ฌธ์ํ์ผ์ญ์
-- [์ญ์ ] gmp_doc_file
DELETE gmp_doc_file
WHERE doc_file_id = @equip_doc_id
--๊ตฌ๋ถ์ ๋ฐ๋ฅธ doc_file_id์ ๊ฐ์ ์ด๊ธฐํํจ
-- [๋ถ๊ธฐ] @fgubun = '1' ์ธ ๊ฒฝ์ฐ
IF(@fgubun = '1')
BEGIN
UPDATE equipment
SET equip_doc1_id = 0
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '2')
BEGIN
UPDATE equipment
SET equip_doc2_id = 0
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '3')
BEGIN
UPDATE equipment
SET equip_doc3_id = 0
WHERE equip_cd = @equip_cd
END
ELSE IF(@fgubun = '4')
BEGIN
UPDATE equipment
SET equip_doc4_id = 0
WHERE equip_cd = @equip_cd
END
SET @message = '์ญ์ ๋์์ต๋๋ค'
END
/*
--[08.12.03 ์ ๋ฏผ์ฒ - ์ค๋น๋ง์คํฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์์ ]
ELSE IF(@GUBUN = 'RP0') -- ๋ฆฌํฌํธ๊ด๋ จ
BEGIN
select row_number() over(order by a.equip_cd) as tempno,-- ์กฐํ๋ ์ด์ ์๋ฒ์ ์ฃผ๊ธฐ ์ํจ [08.12.03 ์ ๋ฏผ์ฒ ]
a.equip_cd, --์ค๋น์ฝ๋
a.equip_nm, --์ค๋น๋ช
a.equip_item_nm, --ํ๋ช
b.common_part_nm as equip_type_nm, --์ค๋น์ข
๋ฅ
d.emp_nm as equip_response_emp_nm, --์ฑ
์์๋ช
a.equip_use_gb, --๊ฐ๋๊ตฌ๋ถ
b1.PLANT_FULL_IMAGE as company_full_image --๋งํฌ ์ด๋ฏธ์ง
from equipment a
join equipment c on a.equip_mcd = c.equip_cd
join common b on b.common_cd = 'SC011' and c.equip_type = b.common_part_cd
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) d on a.equip_response_emp = d.emp_cd
left outer join
(
select b.PLANT_FULL_IMAGE
from cm_parameter a
left outer join MA_PLANT b on a.parameter_value = b.plant_cd
where a.parameter_code = 'imagePlant'
) b1 on 1 = 1
where a.equip_cd like @s_equip_cd + '%'
and a.equip_nm like @s_equip_nm + '%'
and c.equip_type like @s_equip_type
order by a.equip_cd
END
ELSE IF(@GUBUN = 'RP') -- ์ ํ๋ผ๋ฒจ ์ถ๋ ฅ ๊ด๋ จ
BEGIN
--์ค๋น๋ฉ์ธ
select a.equip_cd --์ค๋น์ฝ๋
,isnull(a.equip_nm,'')+isnull(('( '+a.equip_enm+' )'),'') as equip_nm --์ค๋น๋ช
(์๋ฌธ)
,b.common_part_nm as equip_essential_level_nm --์ค๋น์ค์๋
,a.equip_manage_num --๊ด๋ฆฌ๋ฒํธ
,a.equip_item_nm --ํ๋ช
,a.equip_model_num --๋ชจ๋ธ๋๋ฒ
,a.equip_serial_num --์๋ฆฌ์ผ๋๋ฒ
,dbo.fn_format_string(isnull(a.equip_volume,0), 'S') as equip_volume --์ฉ๋
,case when isnull(c.CUST_NM,'') = '' then isnull(a.equip_prod_cust,'')
else c.CUST_NM end as equip_prod_cust --์ ์กฐ์
์ฒด
,case when isnull(d.CUST_NM,'') = '' then isnull(a.equip_buy_cust,'')
else d.CUST_NM end as equip_buy_cust --๊ตฌ์
์
์ฒด
,case when isnull(e.CUST_NM,'') = '' then isnull(a.equip_manage_cust,'')
else e.CUST_NM end as equip_manage_cust --๊ด๋ฆฌ์
์ฒด
,f.emp_nm as equip_response_emp_nm --์ฑ
์์
,convert(nvarchar(10),a.equip_buy_date,120) as equip_buy_date --๊ตฌ์
์ผ์
,convert(nvarchar(10),a.equip_install_date,120) as equip_install_date --์ค์น์ผ์
,convert(nvarchar(10),a.equip_work_date,120) as equip_work_date --๊ฐ๋์ผ์
,convert(nvarchar(10),a.equip_disuse_date,120) as equip_disuse_date --ํ๊ธฐ์ผ์
,g.common_part_nm as equip_disuse_reason --ํ๊ธฐ์ฌ์
,dbo.fn_format_string(isnull(a.equip_buy_amt,0),'S') +'์' as equip_buy_amt --๊ตฌ์
๊ธ์ก
,a.equip_property --ํ์๋ฐ์ฑ๋ฅ
,h.workroom_nm --์์
์ค
,i.plant_nm --์ฌ์
์ฅ
,case when isnull(a.equip_status,'N') = 'Y' then '๊ฐ๋์ค'else'๊ฐ๋์ํจ'end as
equip_status_nm --๊ฐ๋์ฌ๋ถ
,a.cu_order_no --ํ์ ์กฐ๋ฒํธ
,j.emp_nm as insert_emp_nm --์
๋ ฅ์ฌ์
,convert(nvarchar(10),a.insert_time,120) as insert_time --ํ๊ธฐ์ผ์
--์ค๋น๋ถํ
,m.parts_nm --๋ถํ๋ช
,m.parts_manage_num --๊ด๋ฆฌ๋ฒํธ
,case when isnull(n.CUST_NM,'') = '' then isnull(m.parts_prod_cust,'')
else n.CUST_NM end as parts_prod_cust --์ ์กฐ์
์ฒด
,o.common_part_nm as cycle_type_nm --์ฌ์ฉ์ฃผ๊ธฐ๋ช
,k.cycle --์ฌ์ฉ์ฃผ๊ธฐ
,convert(nvarchar(10),k.change_date,120) as change_date --๊ต์ฒด์ผ์
,p.dept_nm as charging_dept_nm --๊ด๋ฆฌ๋ถ์
,case when k.mounting_ck ='Y' then '์ฅ์ฐฉ๋จ'
end as mounting_ck_nm --์ฅ์ฐฉ์ฌ๋ถ
--์ด๋ฏธ์ง๋ ์์ง ๊ณ ๋ ค ์๋จ.
,NULL as equip_image --์ฌ์งํ์ผ
from equipment a
left outer join common b on b.common_cd = 'SC018' and a.equip_essential_level = b.common_part_cd
left outer join MA_CUSTOMER c on a.equip_prod_cust_cd = c.CUST_CD
left outer join MA_CUSTOMER d on a.equip_buy_cust_cd = d.CUST_CD
left outer join MA_CUSTOMER e on a.equip_manage_cust_cd = e.CUST_CD
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, CALENDAR_CD, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) f on a.equip_response_emp = f.emp_cd
left outer join common g on g.common_cd = 'SC019' and a.equip_disuse_reason = g.common_part_cd
left outer join workroom h on a.workroom_cd = h.workroom_cd
left outer join MA_PLANT i on a.plant_cd = i.plant_cd
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, CALENDAR_CD, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) j on a.insert_user_cd = j.emp_cd
left join parts_dependency k on a.equip_cd = k.equip_cd
-- left outer join parts_dependency k on a.equip_cd = k.equip_cd
left outer join parts m on k.parts_cd = m.parts_cd
left outer join MA_CUSTOMER n on m.parts_prod_cust_cd = n.CUST_NM
left outer join common o on o.common_cd = 'SC020' and k.cycle_type = o.common_part_cd
left outer join ma_department p on k.charging_dept = p.dept_cd
where a.equip_cd = @equip_cd
SET @message = '์ถ๋ ฅ๋์์ต๋๋ค'
END
ELSE IF(@GUBUN = 'RP2') -- ๋ฆฌํฌํธ๊ด๋ จ
BEGIN
--์ค๋น๋ฉ์ธ
--์ค๋น๋ฉ์ธ
select a.equip_cd --์ค๋น์ฝ๋
,isnull(a.equip_nm,'') as equip_nm --์ค๋น๋ช
(์๋ฌธ)
,b.common_part_nm as equip_essential_level_nm --์ค๋น์ค์๋
,a.equip_manage_num --๊ด๋ฆฌ๋ฒํธ
,a.equip_item_nm --ํ๋ช
,a.equip_model_num --๋ชจ๋ธ๋๋ฒ
,a.equip_serial_num --์๋ฆฌ์ผ๋๋ฒ
,dbo.fn_format_string(isnull(a.equip_volume,0), 'S') as equip_volume --์ฉ๋
,case when isnull(c.CUST_NM,'') = '' then isnull(a.equip_prod_cust,'')
else c.CUST_NM end as equip_prod_cust --์ ์กฐ์
์ฒด
,case when isnull(d.CUST_NM,'') = '' then isnull(a.equip_buy_cust,'')
else d.CUST_NM end as equip_buy_cust --๊ตฌ์
์
์ฒด
,case when isnull(e.CUST_NM,'') = '' then isnull(a.equip_manage_cust,'')
else e.CUST_NM end as equip_manage_cust --๊ด๋ฆฌ์
์ฒด
,f.emp_nm as equip_response_emp_nm --์ฑ
์์
,convert(nvarchar(10),a.equip_buy_date,120) as equip_buy_date --๊ตฌ์
์ผ์
,convert(nvarchar(10),a.equip_install_date,120) as equip_install_date --์ค์น์ผ์
,convert(nvarchar(10),a.equip_work_date,120) as equip_work_date --๊ฐ๋์ผ์
,convert(nvarchar(10),a.equip_disuse_date,120) as equip_disuse_date --ํ๊ธฐ์ผ์
,g.common_part_nm as equip_disuse_reason --ํ๊ธฐ์ฌ์
,dbo.fn_format_string(isnull(a.equip_buy_amt,0),'S') +'์' as equip_buy_amt --๊ตฌ์
๊ธ์ก
,a.equip_property --ํ์๋ฐ์ฑ๋ฅ
,h.workroom_nm --์์
์ค
,i.plant_nm --์ฌ์
์ฅ
,case when isnull(a.equip_status,'N') = 'Y' then '๊ฐ๋์ค'else'๊ฐ๋์ํจ'end as
equip_status_nm --๊ฐ๋์ฌ๋ถ
,a.cu_order_no --ํ์ ์กฐ๋ฒํธ
,j.emp_nm as insert_emp_nm --์
๋ ฅ์ฌ์
,convert(nvarchar(10),a.insert_time,120) as insert_time --ํ๊ธฐ์ผ์
--์ค๋น๋ถํ
,m.parts_nm --๋ถํ๋ช
,m.parts_manage_num --๊ด๋ฆฌ๋ฒํธ
,case when isnull(n.CUST_NM,'') = '' then isnull(m.parts_prod_cust,'')
else n.CUST_NM end as parts_prod_cust --์ ์กฐ์
์ฒด
,o.common_part_nm as cycle_type_nm --์ฌ์ฉ์ฃผ๊ธฐ๋ช
,k.cycle --์ฌ์ฉ์ฃผ๊ธฐ
,convert(nvarchar(10),k.change_date,120) as change_date --๊ต์ฒด์ผ์
,p.dept_nm as charging_dept_nm --๊ด๋ฆฌ๋ถ์
,case when k.mounting_ck ='Y' then '์ฅ์ฐฉ๋จ'
end as mounting_ck_nm --์ฅ์ฐฉ์ฌ๋ถ
--์ด๋ฏธ์ง๋ ์์ง ๊ณ ๋ ค ์๋จ.
,NULL as equip_image --์ฌ์งํ์ผ
from equipment a
left outer join common b on b.common_cd = 'SC018' and a.equip_essential_level = b.common_part_cd
left outer join MA_CUSTOMER c on a.equip_prod_cust_cd = c.CUST_CD
left outer join MA_CUSTOMER d on a.equip_buy_cust_cd = d.CUST_CD
left outer join MA_CUSTOMER e on a.equip_manage_cust_cd = e.CUST_CD
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, CALENDAR_CD, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) f on a.equip_response_emp = f.emp_cd
left outer join common g on g.common_cd = 'SC019' and a.equip_disuse_reason = g.common_part_cd
left outer join workroom h on a.workroom_cd = h.workroom_cd
left outer join MA_PLANT i on a.plant_cd = i.plant_cd
left outer join (SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, calendar_cd, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EMPLOYEE]
UNION
SELECT plant_cd, dept_cd, emp_cd, emp_nm, emp_psid, emp_post, emp_rair, CALENDAR_CD, emp_phone
emp_birth, emp_birth_gb, emp_sex, emp_enter_date, emp_retire_date, emp_retire_remark
emp_use_gb, insert_user_cd, insert_time, update_user_cd, update_time
FROM [MA_EXTRAEMPLOYEE]
) j on a.insert_user_cd = j.emp_cd
left join parts_dependency k on a.equip_cd = k.equip_cd
-- left outer join parts_dependency k on a.equip_cd = k.equip_cd
left outer join parts m on k.parts_cd = m.parts_cd
left outer join MA_CUSTOMER n on m.parts_prod_cust_cd = n.CUST_CD
left outer join common o on o.common_cd = 'SC020' and k.cycle_type = o.common_part_cd
left outer join ma_department p on k.charging_dept = p.dept_cd
SET @message = '์ถ๋ ฅ๋์์ต๋๋ค'
END
*/
SP_ERP_Master
๋ชฉ์ โ ERP ๋ง์คํฐ ๋ฐ์ดํฐ ํตํฉ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@interface_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(256) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/********************************************************************************/
/* ๋ง๋ ์ด : */
/* ๋ง๋ ๋ : */
/* ์ค๋ช
: */
/* ๋น๊ณ : C : ๊ฑฐ๋์ฒ,D : ๋ถ์ ,E : ์ฌ์ ,I : ํ๋ชฉ */
/* ์คํ */
/* DECLARE @out nvarchar(128) EXEC SP_ERP_Master 'A', @out */
/*********************************************************************************/
CREATE PROCEDURE [dbo].[SP_ERP_Master]
@gubun nvarchar(50) ='A' ,
@interface_cd nvarchar(50) =' ',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(128) output -- ๋ฐํ ๋ฉ์ธ์ง
AS
SET NOCOUNT ON
declare @audittrail_id int, @row int
DECLARE @intErrorCode int
SELECT @message = '์ ์', @intErrorCode = @@error
-----------------------------------------------------------------------------------------------------
/* ๋ถ์ */
-----------------------------------------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'D' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'D')
BEGIN
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #DEPARTMENT_TEMP (
DEPT_CD nvarchar(50) primary key
,DEPT_NM nvarchar(100)
,DEPT_MCD nvarchar(50)
,DEPT_USE_GB nvarchar(5)
)
IF(@intErrorCode = 0)
BEGIN
INSERT INTO #DEPARTMENT_TEMP
SELECT DIV_CODE --๋ถ์์ฝ๋
, DIV_NAME --๋ถ์๋ช
,'' DEPT_MCD --์์๋ถ์์ฝ๋
,'1' DEPT_USE_GB --์ฌ์ฉ์ฌ๋ถ
FROM UNION_ERP..KUP.PER_DIVCD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN TRANSACTION
IF(@intErrorCode = 0)
BEGIN
UPDATE a
SET a.DEPT_NM=b.DEPT_NM, a.DEPT_MCD=b.dept_MCD
,a.DEPT_USE_GB = case when b.DEPT_USE_GB='1' then 'Y' else 'N' end, a.OUTER_INTERFACE='E'
FROM MA_DEPARTMENT a JOIN #DEPARTMENT_TEMP b on a.DEPT_CD = b.DEPT_CD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] MA_DEPARTMENT
INSERT INTO MA_DEPARTMENT (PLANT_CD,DEPT_CD,DEPT_NM,DEPT_MCD,DEPT_USE_GB,INSERT_DATE,OUTER_INTERFACE)
SELECT 'PC001', DEPT_CD, DEPT_NM, DEPT_MCD, case when DEPT_USE_GB='1' then 'Y' else 'N' end, GETDATE(),'E' FROM #DEPARTMENT_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM MA_DEPARTMENT b WHERE a.DEPT_CD=b.DEPT_CD) -- ๋ถ์์ฝ๋ ๊ฐ์๊ฑฐ ์ ์ธ
SELECT @intErrorCode = @@error
END
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #DEPARTMENT_TEMP
IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
ELSE BEGIN
IF @@trancount > 0 ROLLBACK TRANSACTION
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
END
----------------------------------------------------------------------------------------------------
/* ์ฌ์*/
-----------------------------------------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'E' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'E')
BEGIN
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #EMPLOYEE_TEMP (
DEPT_CD nvarchar(50) --๋ถ์์ฝ๋
,EMP_CD nvarchar(50) primary key --์ฌ์์ฝ๋
,EMP_NM nvarchar(50) --์ฌ์๋ช
,EMP_GB nvarchar(50) --์ฌ์๊ตฌ๋ถ
,EMP_ENTER_DATE nvarchar(10) --์
์ฌ์ผ์
,EMP_RETIRE_DATE nvarchar(10) --ํด์ฌ์ผ์
,EMP_SEX nvarchar(5) --์ฑ๋ณ
,EMP_USE_GB nvarchar(1) --์ฌ์ฉ์ฌ๋ถ
)
IF(@intErrorCode = 0)
BEGIN
INSERT INTO #EMPLOYEE_TEMP
SELECT
DEPT_CD -- ๋ถ์์ฝ๋
,EMPCD -- ์ฌ์์ฝ๋
, KORNAME -- ์ฌ์๋ช
, '' EMP_GM -- ์ฌ์๊ตฌ๋ถ
,LEFT(IGENTDATE,4) + '-' + SUBSTRING(IGENTDATE,5,2) + '-' + RIGHT(IGENTDATE,2) -- ์
์ฌ์ผ์
,LEFT(RETDAT,4) + '-' + SUBSTRING(RETDAT,5,2) + '-' + RIGHT(RETDAT,2) -- ํด์ฌ์ผ์
--, IGENTDATE -- ์
์ฌ์ผ์
--, RETDAT -- ํด์ฌ์ผ์
, MFGUBUN -- ์ฑ๋ณ
, 'Y' -- ์ฌ์ฉ์ฌ๋ถ 1
FROM UNION_ERP..KUP.PER_MAST
WHERE JAJIKGUBUN = 1
ORDER BY EMPCD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN TRANSACTION
IF(@intErrorCode = 0)
BEGIN
UPDATE a
SET a.EMP_NM=b.EMP_NM
, a.emp_gb=b.EMP_GB
, a.EMP_ENTER_DATE = b.EMP_ENTER_DATE
, a.EMP_RETIRE_DATE = b.EMP_RETIRE_DATE
, a.EMP_SEX = case when b.EMP_SEX='W' then '์ฌ์ฑ' else '๋จ์ฑ' end
, a.EMP_USE_GB=b.emp_USE_GB, a.OUTER_INTERFACE='E'
FROM MA_EMPLOYEE a JOIN #EMPLOYEE_TEMP b on a.DEPT_CD = b.DEPT_CD and a.EMP_CD = b.EMP_CD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] MA_EMPLOYEE
INSERT INTO MA_EMPLOYEE(PLANT_CD,DEPT_CD,EMP_CD,EMP_NM,EMP_GB,EMP_ENTER_DATE,EMP_RETIRE_DATE,EMP_SEX,EMP_USE_GB,INSERT_TIME,OUTER_INTERFACE)
SELECT 'PC001', DEPT_CD, EMP_CD, EMP_NM, EMP_GB, EMP_ENTER_DATE, EMP_RETIRE_DATE,EMP_SEX = case when EMP_SEX='W' then '์ฌ์ฑ' else '๋จ์ฑ' end, case when EMP_USE_GB='Y' then 'Y' else 'N' end, GETDATE(),'E' FROM #EMPLOYEE_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM MA_EMPLOYEE b WHERE a.DEPT_CD=b.DEPT_CD and a.EMP_CD=b.EMP_CD)
and EXISTS (SELECT 1 FROM MA_DEPARTMENT c where c.DEPT_CD=a.DEPT_CD)
SELECT @intErrorCode = @@error
END
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #EMPLOYEE_TEMP
IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
ELSE BEGIN
IF @@trancount > 0 ROLLBACK TRANSACTION
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
END
-----------------------------------------------------------------------------------------------------
/* ๊ฑฐ๋์ฒ*/
-----------------------------------------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'C' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'C')
BEGIN
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #CUSTOMER_TEMP (
CUST_CD nvarchar(50) primary key
,CUST_NM nvarchar(100)
,CUST_GB nvarchar(5)
,CUST_CATGO_NM nvarchar(100)
,CUST_BUSIN_NM nvarchar(100)
,CUST_BUSIN_NO nvarchar(12)
,CUST_CEO_NM nvarchar(50)
,CUST_TEL_NO nvarchar(50)
,CUST_FAX_NO nvarchar(50)
,CUST_EMAIL_AD nvarchar(50)
,CUST_POST_CD nvarchar(50)
,CUST_AD1 nvarchar(100)
,CUST_AD2 nvarchar(100)
)
IF(@intErrorCode = 0)
BEGIN
INSERT INTO #CUSTOMER_TEMP
SELECT SALES_CODE, TRADE_NAME, '99', STATUS_NAME, ITEM_NAME, TAX_NO, MANAGER_NAME,
TEL_NO, FAX_NO, MAIL_ID, ZIP_CODE, COMPANY_ADDR1, COMPANY_ADDR2
FROM UNION_ERP..KUP.SALES_1
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN TRANSACTION
IF(@intErrorCode = 0)
BEGIN
UPDATE a
SET a.CUST_NM=b.CUST_NM, a.CUST_GB='99', a.CUST_CATGO_NM=b.CUST_CATGO_NM, a.CUST_BUSIN_NM=b.CUST_BUSIN_NM
,a.CUST_BUSIN_NO=b.CUST_BUSIN_NO, a.CUST_CEO_NM=b.CUST_CEO_NM,a.CUST_TEL_NO=b.CUST_TEL_NO
,a.CUST_FAX_NO=b.CUST_FAX_NO,a.CUST_EMAIL_AD=b.CUST_EMAIL_AD,a.CUST_POST_CD=b.CUST_POST_CD
,a.CUST_AD1=b.CUST_AD1,a.CUST_AD2=b.CUST_AD2, a.OUTER_INTERFACE='E'
FROM MA_CUSTOMER a JOIN #CUSTOMER_TEMP b on a.CUST_CD = b.CUST_CD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] MA_CUSTOMER
INSERT INTO MA_CUSTOMER(PLANT_CD, CUST_CD, CUST_NM, CUST_GB, CUST_CATGO_NM, CUST_BUSIN_NM, CUST_BUSIN_NO, CUST_CEO_NM,
CUST_TEL_NO, CUST_FAX_NO, CUST_EMAIL_AD, CUST_POST_CD, CUST_AD1, CUST_AD2, INSERT_TIME, OUTER_INTERFACE)
SELECT 'PC001', CUST_CD, CUST_NM, '99', CUST_CATGO_NM, CUST_BUSIN_NM, CUST_BUSIN_NO, CUST_CEO_NM,
CUST_TEL_NO, CUST_FAX_NO, CUST_EMAIL_AD, CUST_POST_CD, CUST_AD1, CUST_AD2, GETDATE(), 'E'
FROM #CUSTOMER_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM MA_CUSTOMER b WHERE a.CUST_CD=b.cust_cd)
SELECT @intErrorCode = @@error
END
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #CUSTOMER_TEMP
IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
ELSE BEGIN
IF @@trancount > 0 ROLLBACK TRANSACTION
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
END
----------------------------------------------------------------------------------------------------
/* ํ๋ชฉ์ฝ๋*/
-----------------------------------------------------------------------------------------------------
-- [๋ถ๊ธฐ] @gubun = 'I' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'I')
BEGIN
-- [์์ ํ
์ด๋ธ ์์ฑ]
create table #ITEM_TEMP (
ITEM_CD nvarchar(50) primary key --ํ๋ชฉ์ฝ๋
,ITEM_NM nvarchar(100) --ํ๋ชฉ_๊ตญ๋ฌธ
,ITEM_ENM nvarchar(100) --ํ๋ชฉ_์๋ฌธ
,ITEM_PACK_BARCODE nvarchar(50) --ํ์ค๋ฐ์ฝ๋
,VALID_PERIOD int --์ ํจ๊ธฐ๊ฐ(์)
,ITEM_PACKUNIT2 nvarchar(50) --ํฌ์ฅ๋จ์
,ITEM_GB nvarchar(10) --์ ํ๊ตฌ๋ถ - ์์ฌ,์ํ,์ํ
)
IF(@intErrorCode = 0)
BEGIN
INSERT INTO #ITEM_TEMP
SELECT ITEM_CODE, ITEM_HNAME, ITEM_ENAME, ITEM_STD_CODE
,(SELECT IsNULL(USING_Y,0)*12+IsNULL(USING_M,0) FROM UNION_ERP..KUP.PRD_HFGOOD_PERMISSION WHERE HFGOOD_CODE = ITEM_HFGOOD_CODE) EXPIRE_MM
,Convert(nvarchar(50),ITEM_BOX_QTY)+ITEM_HFGOOD_TYPE AS ITEM_PACKUNIT2
,(SELECT case when PRODUCTION_TYPE='4' then '2'/*์ํ*/ when PRODUCTION_TYPE='3' then '3'/*์ํ*/ else '1'/*์์ฌ*/ end FROM UNION_ERP..KUP.PRD_ITEM_PRODUCTION WHERE ITEM_CODE = A.ITEM_CODE) ITEM_GB
FROM UNION_ERP..KUP.ITEM_1 A
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0) BEGIN TRANSACTION
IF(@intErrorCode = 0)
BEGIN
UPDATE a
SET a.ITEM_NM=b.ITEM_NM, a.ITEM_ENM=b.ITEM_ENM, a.ITEM_PACK_BARCODE=b.ITEM_PACK_BARCODE
,a.VALID_PERIOD=b.VALID_PERIOD , a.OUTER_INTERFACE='E', a.ITEM_PACKUNIT2 = b.ITEM_PACKUNIT2
,a.ITEM_GB=b.ITEM_GB
FROM ITEM_STANDARD a JOIN #ITEM_TEMP b on a.item_cd=b.ITEM_CD
SELECT @intErrorCode = @@error
END
IF(@intErrorCode = 0)
BEGIN
-- [์ ์ฌ] ITEM_STANDARD
INSERT INTO ITEM_STANDARD(ITEM_CD,ITEM_NM,ITEM_ENM,ITEM_PACK_BARCODE,VALID_PERIOD,PROD_END,OUTER_INTERFACE,ITEM_PACKUNIT2,ITEM_GB)
SELECT ITEM_CD, item_nm, ITEM_ENM, ITEM_PACK_BARCODE, VALID_PERIOD, 'Y', 'E', ITEM_PACKUNIT2, ITEM_GB FROM #ITEM_TEMP a
WHERE NOT EXISTS ( SELECT 1 FROM ITEM_STANDARD b WHERE a.ITEM_CD=b.ITEM_CD)
SELECT @intErrorCode = @@error
END
-- [์์ ํ
์ด๋ธ ์ ๋ฆฌ]
drop table #ITEM_TEMP
IF @intErrorCode = 0 and @@trancount > 0 COMMIT TRANSACTION
ELSE BEGIN
IF @@trancount > 0 ROLLBACK TRANSACTION
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
END
RETURN (@intErrorCode)
SP_ExecutionComputerInfo
๋ชฉ์ โ ์คํ PC ์ ๋ณด ๊ธฐ๋ก.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_MacAddress | nvarchar(100) | IN |
@s_POSITION_NO | nvarchar(100) | IN |
@MacAddress | nvarchar(100) | IN |
@IPAddress | nvarchar(100) | IN |
@ComputerNM | nvarchar(100) | IN |
@POSITION_NO | nvarchar(100) | IN |
@DIST_CD | nvarchar(4) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ์กฐ์ผ์ 2010.04.07
์ ์ ์ :
SP ๋ช
: [SP_ExecutionComputerInfo]
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ํด๋น ์ปดํจํฐ์ ip, mac์ฃผ์ , ์ปดํจํฐ ๋ช
์ ๋ณด๋ฅผ ๋ฑ๋กํ๋ค.
์ฌ ์ฉ ์ฒ : ExecutionComputerInfo.cs
ํ
์ด ๋ธ : ExecutionComputer
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ExecutionComputerInfo]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@s_MacAddress nvarchar(50) = '', --์กฐํ mac address
@s_POSITION_NO nvarchar(50) = '', --์กฐํ POSITION_NO
@MacAddress nvarchar(50) = '', --mac address
@IPAddress nvarchar(50) = '', --ip address
@ComputerNM nvarchar(50) = '', --์ปดํจํฐ๋ช
@POSITION_NO nvarchar(50) = '', --์ปดํจํฐ ์์น์ฝ๋
@DIST_CD nvarchar(2) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
declare @audittrail_id int
DECLARE @intErrorCode int
SELECT @intErrorCode = @@error
--์กฐํ
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF(@gubun ='Select') BEGIN
SELECT DISTINCT MacAddress , IPAddress, ComputerNM, a.POSITION_NO, a.DIST_CD
FROM ExecutionComputer a
--JOIN POSITION b ON (a.POSITION_NO = b.POSITION_NO)
WHERE MacAddress LIKE '%'+@s_MacAddress +'%'
-- AND a.POSITION_NO LIKE '%'+@s_POSITION_NO +'%'
SELECT @intErrorCode = @@error
END
--์ค๋ณตํ์ธ
ELSE IF(@gubun ='Check') BEGIN
SELECT COUNT(*)
FROM ExecutionComputer
WHERE DIST_CD = @DIST_CD
SELECT @intErrorCode = @@error
END
--์
๋ ฅ
ELSE IF(@gubun ='Insert') BEGIN
IF ((SELECT COUNT(*) FROM ExecutionComputer WHERE MacAddress = @MacAddress ) > 0) BEGIN
RAISERROR ( '์ด๋ฏธ ๋์ผํ ์ปดํจํฐ์ ๋ณด๊ฐ ๋ฑ๋ก๋์ด ์์ต๋๋ค.' ,16,1 );
SELECT @intErrorCode = 0
END
ELSE BEGIN
IF(@intErrorCode = 0) BEGIN
-- [์ ์ฌ] ExecutionComputer
INSERT INTO ExecutionComputer
( MacAddress, IPAddress,ComputerNM, POSITION_NO, DIST_CD)
VALUES (@MacAddress, @IPAddress,@ComputerNM, @POSITION_NO, @DIST_CD)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ExecutionComputer where MacAddress = @MacAddress
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ExecutionComputer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
END
-- ์์
ELSE IF(@gubun ='Update') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE ExecutionComputer
SET IPAddress = @IPAddress
, ComputerNM = @ComputerNM
, POSITION_NO = @POSITION_NO
, DIST_CD = @DIST_CD
WHERE MacAddress = @MacAddress
SELECT @intErrorCode = @@error
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ExecutionComputer where MacAddress = @MacAddress
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ExecutionComputer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
--์ญ์
ELSE IF(@gubun ='Delete') BEGIN
IF(@intErrorCode = 0) BEGIN
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ExecutionComputer where MacAddress = @MacAddress
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ExecutionComputer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- [์ญ์ ] ExecutionComputer
DELETE FROM ExecutionComputer
WHERE MacAddress = @MacAddress
SELECT @intErrorCode = @@error
END
END
--๋ฃฉ์
์ ๋ณด ์กฐํ
ELSE IF(@gubun ='PositionInfo') BEGIN
SELECT POSITION_NO --as keyfield
-- , b.WORKROOM_NM as displayfield
FROM POSITION a
JOIN WORKROOM b ON (a.OBJ_CD = b.WORKROOM_CD)
SELECT @intErrorCode = @@error
END
ELSE IF(@gubun ='start') BEGIN
SELECT DISTINCT MacAddress , IPAddress, ComputerNM, a.POSITION_NO
FROM ExecutionComputer a
JOIN POSITION b ON (a.POSITION_NO = b.POSITION_NO)
WHERE MacAddress = @MacAddress
END
ELSE IF (@gubun ='position')BEGIN
SELECT b.common_module AS start_module
,b.COMMON_PART_NM AS start_module_nm
, c.common_module AS start_monitoring
, b.COMMON_PART_CD AS COMMON_PART_CD
FROM ExecutionComputer x
JOIN position a ON (x.POSITION_NO = a.POSITION_NO)
LEFT OUTER JOIN common b on b.common_cd = 'SC014' and a.program_id = b.common_part_cd
LEFT OUTER JOIN common c on c.common_cd = 'SC016' and a.program_ex1_id = c.common_part_cd
WHERE MacAddress = @MacAddress
AND (b.common_module is not null AND b.common_module <> '')
END
-- ๋ ์ง์คํธ๋ฆฌ ์์
ELSE IF(@gubun ='RegistryUpdate') BEGIN
IF(@intErrorCode = 0) BEGIN
UPDATE ExecutionComputer
SET POSITION_NO = @POSITION_NO
WHERE MacAddress = @MacAddress
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from ExecutionComputer where MacAddress = @MacAddress
exec SP_AudiTrail_INSERT_COMMON @tableName = 'ExecutionComputer', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
SELECT @intErrorCode = @@error
END
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION
FROM MASTER.dbo.sysmessages
WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ExportYM
๋ชฉ์ โ ์๋ฌธ ์์ถ ๊ด๋ จ ์ฒ๋ฆฌ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@plant_nm | nvarchar(100) | IN |
@plant_busin_no | nvarchar(100) | IN |
@item_nm | nvarchar(100) | IN |
@item_pack_size | nvarchar(100) | IN |
@issue_qty | int(4) | IN |
@lot_no | nvarchar(40) | IN |
@item_pack_barcode | nvarchar(40) | IN |
@barcode | nvarchar(200) | IN |
@medium_barcode | nvarchar(200) | IN |
@large_barcode | nvarchar(200) | IN |
@valid_date | nvarchar(20) | IN |
@sdate | nvarchar(20) | IN |
@edate | nvarchar(20) | IN |
@macaddress | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@insert_user_cd | nvarchar(40) | IN |
@despatch_order_no | nvarchar(40) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
/*******************************************************************
์ ์ฑ ์ : ๊น์ฌ์(2013.08.05)
์ ์ ์ :
SP ๋ช
: SP_ExportYM
์ธ ์ :
๋ฆฌ ํด ๊ฐ :
์ค ๋ช
: ์ํ์ ์ฅ
์ฌ ์ฉ ์ฒ : ItemConsignIn.cs
ํ
์ด ๋ธ :
๋น ๊ณ :
์ ์ :
********************************************************************/
CREATE PROCEDURE [dbo].[SP_ExportYM]
@gubun nvarchar(50) = '', --๊ตฌ๋ถ์
@plant_nm nvarchar(50) = '', --ํ์ฌ๋ช
@plant_busin_no nvarchar(50) = '', --์ฌ์
์๋ฑ๋ก๋ฒํธ
@item_nm nvarchar(50) = '', --ํ๋ชฉ์ด๋ฆ
@item_pack_size nvarchar(50) = '', --ํ๋ชฉ๋จ์
@issue_qty int = 0, --์๋
@lot_no nvarchar(20) = '', --์ ์กฐ๋ฒํธ
@item_pack_barcode nvarchar(20) = '', --ํ์ค์ฝ๋
@barcode nvarchar(100) = '', --๊ฐ๋ณ ๋ฐ์ฝ๋
@medium_barcode nvarchar(100) = '', --์ค๋ฐ์ค ๋ฐ์ฝ๋
@large_barcode nvarchar(100) = '', --๋ฐ๋ฐ์ค ๋ฐ์ฝ๋
@valid_date nvarchar(10) = '', --์ฌ์ฉ๊ธฐํ
@sdate nvarchar(10) = '',
@edate nvarchar(10) = '',
@macaddress nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@insert_user_cd nvarchar(20) = '',
@despatch_order_no nvarchar(20) = '',
@message nvarchar(2000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int , @row int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'S1') BEGIN
SELECT RECEIPT_DATE
,SHIPPER_CD
,ORDER_NO
,DESPATCH_ORDER_NO
,CUST_CD
,CUST_NM
,CUST_TEL_NO
,CUST_PHONE_NO
,CUST_ZIP1 + CUST_ZIP2 as CUST_ZIP
,CUST_ADD
,CUST_ADD_DE
,PARCEL_AMT
,BOX_SERIAL
,SHIPPING_DATE
,PARCEL_INFO
,CUST_BUSIN_NO
,ETC1
,ETC2
FROM ITEM_PARCEL a
WHERE RECEIPT_DATE = replace(@edate,'-','')
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'S2') BEGIN
SELECT RECEIPT_DATE
,SHIPPER_CD
,ORDER_NO
,BARCODE
FROM PARCEL_BARCODE a
WHERE RECEIPT_DATE = replace(@edate,'-','')
SELECT @intErrorCode = @@ERROR
END
ELSE IF (@gubun = 'Delete') BEGIN
BEGIN TRY
-- [ํธ๋์ญ์
์์]
BEGIN TRANSACTION
-- [์ญ์ ] ITEM_PARCEL
delete from ITEM_PARCEL
WHERE DESPATCH_ORDER_NO = @despatch_order_no
-- [์ญ์ ] PARCEL_BARCODE
delete from PARCEL_BARCODE
WHERE DESPATCH_ORDER_NO = @despatch_order_no
SELECT @intErrorCode = @@ERROR
-- [ํธ๋์ญ์
์ปค๋ฐ]
COMMIT TRAN
END TRY
BEGIN CATCH
-- [ํธ๋์ญ์
๋กค๋ฐฑ]
ROLLBACK TRAN
END CATCH
END
IF (@intErrorCode = 0) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_GeneralRegister
๋ชฉ์ โ ๋ฒ์ฉ ๋ฑ๋ก(๋ค์ฉ๋).
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@GUBUN | nvarchar(100) | IN |
@BARCODE | nvarchar(30) | IN |
@ITEM_PACKUNIT | nvarchar(100) | IN |
@ITEM_PACK_BARCODE | nvarchar(100) | IN |
@ITEM_CD | nvarchar(100) | IN |
@ITEM_NM | nvarchar(100) | IN |
@ITEM_PACK_QT | nvarchar(100) | IN |
@insert_user_cd | nvarchar(100) | IN |
@update_user_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_GeneralRegister]
@GUBUN nvarchar(50) = '', --๋ฐ๋์ ์์ด์ผ ํจ
@BARCODE nvarchar(15) = '',
@ITEM_PACKUNIT nvarchar(50) = '',
@ITEM_PACK_BARCODE nvarchar(50) = '',
@ITEM_CD nvarchar(50) = '',
@ITEM_NM nvarchar(50) = '',
@ITEM_PACK_QT nvarchar(50) = '',
@insert_user_cd nvarchar(50) = '',
@update_user_cd nvarchar(50) = '',
@message NVARCHAR(2000) output --๋ฐ๋์ ์์ด์ผ ํจ
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S1')
BEGIN
--ํฌ์ฅ์ง์์กฐํ
SELECT BARCODE
,ITEM_CD
,ITEM_PACK_BARCODE
,ITEM_NM
,ITEM_PACKUNIT
,ITEM_PACK_QT
FROM GENERAL_REGISTER
WHERE BARCODE like '%' + @BARCODE + '%'
AND ITEM_CD like case when @ITEM_CD='' then '%' else @ITEM_CD end
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'I') -- ๋ฐ์ดํฐ ์
๋ ฅ๋ถ๋ถ
BEGIN
-- [์ ์ฌ] GENERAL_REGISTER
INSERT INTO GENERAL_REGISTER(
BARCODE
,ITEM_CD
,ITEM_PACK_BARCODE
,ITEM_NM
,ITEM_PACKUNIT
,ITEM_PACK_QT
,INSERT_USER_CD
,INSERT_TIME
)
VALUES(
@BARCODE
,@ITEM_CD
,@ITEM_PACK_BARCODE
,@ITEM_NM
,@ITEM_PACKUNIT
,@ITEM_PACK_QT
,@insert_user_cd
,GETDATE()
)
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'U') -- ๋ฐ์ดํฐ ์์ ๋ถ๋ถ
BEGIN
UPDATE GENERAL_REGISTER
SET ITEM_CD = @ITEM_CD
,ITEM_PACK_BARCODE = @ITEM_PACK_BARCODE
,ITEM_NM = @ITEM_NM
,ITEM_PACKUNIT = @ITEM_PACKUNIT
,ITEM_PACK_QT = @ITEM_PACK_QT
,UPDATE_USER_CD = @update_user_cd
,UPDATE_TIME = GETDATE()
WHERE BARCODE = @BARCODE
SELECT @intErrorCode = @@ERROR
END
ELSE IF(@gubun = 'D') -- ์ญ์
BEGIN
-- [์ญ์ ] GENERAL_REGISTER
DELETE GENERAL_REGISTER
WHERE BARCODE = @BARCODE
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0)
BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค. '
END
ELSE
BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR =@intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_PostCode_YM
๋ชฉ์ โ ์๋ฌธ ์ฐํธ๋ฒํธ ์กฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(20) | IN |
@post_no | nvarchar(20) | IN |
@sido | nvarchar(40) | IN |
@gugun | nvarchar(40) | IN |
@dong | nvarchar(100) | IN |
@center_cd | nvarchar(20) | IN |
@course_cd | nvarchar(20) | IN |
@center_nm | nvarchar(40) | IN |
@dept_mcd | nvarchar(100) | IN |
@dept_level | int(4) | IN |
@dept_emp_cd | nvarchar(100) | IN |
@dept_use_gb | nvarchar(10) | IN |
@insert_user_cd | nvarchar(100) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_PostCode_YM]
@gubun nvarchar(10),
@post_no nvarchar(10) = '',
@sido nvarchar(20) = '',
@gugun nvarchar(20) = '',
@dong nvarchar(50) = '',
@center_cd nvarchar(10) = '',
@course_cd nvarchar(10) = '',
@center_nm nvarchar(20) = '',
@dept_mcd nvarchar(50) = '',
@dept_level integer = 1,
@dept_emp_cd nvarchar(50) = '',
@dept_use_gb nvarchar(5) = '',
@insert_user_cd nvarchar(50) = '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(2000) = '' output
AS
DECLARE @audittrail_id int
DECLARE @intErrorCode int
SET @intErrorCode = 0
-- [๋ถ๊ธฐ] @gubun = 'Select' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'Select') BEGIN
IF (@intErrorCode = 0 ) BEGIN
SELECT a.post_no
,a.sido
,a.gugun
,a.dong
,a.center_cd
,a.course_cd
,a.center_nm
FROM ZIPCODE_YM a
WHERE a.post_no LIKE @post_no + '%'
AND a.center_nm LIKE @center_nm + '%'
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Insert') BEGIN
IF ( @intErrorCode = 0 ) BEGIN
INSERT ZIPCODE_YM
( post_no, sido, gugun, dong, center_cd, course_cd, center_nm)
VALUES
( @post_no, @sido, @gugun, @dong, @center_cd, @course_cd, @center_nm)
SELECT @intErrorCode = @@error
END
END
ELSE IF (@gubun = 'Update') BEGIN
IF (@intErrorCode = 0 ) BEGIN
UPDATE ZIPCODE_YM
SET sido = @sido
,gugun = @gugun
,dong = @dong
,center_cd = @center_cd
,course_cd = @course_cd
,center_nm = @center_nm
WHERE post_no = @post_no
SELECT @intErrorCode = @@error
END
END
ELSE IF ( @gubun = 'Delete') BEGIN
IF (@intErrorCode = 0) BEGIN
DELETE
FROM ZIPCODE_YM
WHERE post_no = @post_no
SELECT @intErrorCode = @@error
END
END
--์์ ํ
์ด๋ธ ์ญ์
ELSE IF (@gubun = 'D')
BEGIN
-- [์ญ์ ] ZIPCODE_YM
DELETE FROM ZIPCODE_YM
END
-- [๋ถ๊ธฐ] @gubun = 'TEMPINSERT' ์ธ ๊ฒฝ์ฐ
IF (@gubun = 'TEMPINSERT')
BEGIN
-- [์ ์ฌ] ZIPCODE_YM
INSERT INTO ZIPCODE_YM
(
POST_NO
,SIDO
,GUGUN
,DONG
,CENTER_CD
,COURSE_CD
,CENTER_NM
)
VALUES
(
@POST_NO
,@SIDO
,@GUGUN
,@DONG
,@CENTER_CD
,@COURSE_CD
,@CENTER_NM
)
SELECT @intErrorCode = @@ERROR
END
IF (@intErrorCode = 0 ) BEGIN
SET @message = '์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์์ต๋๋ค.'
END
ELSE BEGIN
SELECT @message = DESCRIPTION FROM MASTER.dbo.sysmessages WHERE ERROR = @intErrorCode AND msglangid = '1042'
END
RETURN (@intErrorCode)
SP_ProgramInit
๋ชฉ์ โ ํ๋ก๊ทธ๋จ ์ด๊ธฐํ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@Gubun | char(2) | IN |
@code | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROCEDURE [dbo].[SP_ProgramInit]
@Gubun char(2),
@code nvarchar(50) = '',
@message nvarchar(2000) output
AS
set @message = '๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฒ๋ฆฌ'
-- [๋ถ๊ธฐ] @Gubun = 'S1' ์ธ ๊ฒฝ์ฐ
IF (@Gubun = 'S1')
BEGIN
select form_nm
from CM_menu_form
where form_cd = @code
END
ELSE IF (@Gubun = 'S2')
BEGIN
select @message = parameter_value
from cm_parameter
where parameter_code = @code
END
ELSE IF (@Gubun = 'S3')
BEGIN
select field_cd, field_caption1, field_tag, field_visible, field_enabled, field_caption2, field_caption3, default_value
from cm_program_setting
where form_cd = @code
select parameter_cd, parameter_value
from cm_program_param_setting
where form_cd = @code
END
SP_ReceiptAuto
๋ชฉ์ โ ์ ์ ์๋ ์์ฑ.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(100) | IN |
@s_sdate | nvarchar(20) | IN |
@s_edate | nvarchar(20) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(4000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
--์ ํ์ด๊ดํ๋ฉด : MES์ [์ถํ์น์ธ] ๋ฉ๋ด์์ ์
๊ณ ์๋ฃ๋ ๊ฒ๋ง ๊ฐ์ ธ์์ ์
๊ณ ์ํค๊ธฐ
CREATE PROC [dbo].[SP_ReceiptAuto]
@gubun nvarchar(50),
@s_sdate NVARCHAR(10) = '',
@s_edate NVARCHAR(10) = '',
@sys_emp_cd nvarchar(50) = '',
@message NVARCHAR(2000) output
AS
--AUDITTRAIL์ฉ ๋ณ์
DECLARE @audittrail_id int, @row int
SET NOCOUNT ON
DECLARE @intErrorCode int
SELECT @message = '์ ์', @intErrorCode = @@error
-- [๋ถ๊ธฐ] @gubun = 'I' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'I' )
BEGIN
--PACKING_ORDER ๋ฑ๋ก--
DECLARE @packing_order_cnt int
select
@packing_order_cnt = count(a.pack_order_no)
from RTEPMS_CHODANG.DBO.packing_result a
left outer join RTEPMS_CHODANG.DBO.work_order b on a.order_no = b.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard c on b.item_cd = c.item_cd
left outer join item_standard d on a.item_cd = d.item_cd
where a.receipt_status = 3 --3:์
๊ณ ์๋ฃ
--and d.marking_image_nm = 'GS' -- ์ผ๋ฐ์์ฝํ
and NOT EXISTS ( SELECT 1 FROM packing_order e WHERE a.pack_order_no = e.packing_order_no)
and a.receiver_time between CONVERT(VARCHAR,@s_sdate,23) and CONVERT(VARCHAR,@s_edate ,23)
select @packing_order_cnt
SELECT @intErrorCode = @@ERROR
if ( @packing_order_cnt = 0) return
-- [์ ์ฌ] packing_order
INSERT INTO packing_order
(
packing_order_no, order_no, packing_order_type, sale_item_cd, lot_no, packing_order_date,
packing_order_work_date,packing_order_qty, valid_date, material_status, insert_user_cd,
insert_time, outer_interface, SERIAL_YN, PACKING_ORDER_STATUS
)
select
a.pack_order_no,
a.order_no,
'1', --packing_order_type
a.item_cd,
b.lot_no,
a.packing_date,
a.packing_date,
a.packing_qty,
case when isnull(b.start_date, '') = '' then '' else convert(nvarchar, DATEADD(DD, -1, DATEADD( MM, c.item_validity_period / 30 , b.start_date)), 23) end as end_date,
'0', --material_status
'RTE' as insert_user_cd,
CONVERT(VARCHAR, getdate(),23) as insert_time,
'M', --outer_interface
'N',
'1'
from RTEPMS_CHODANG.DBO.packing_result a
left outer join RTEPMS_CHODANG.DBO.work_order b on a.order_no = b.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard c on b.item_cd = c.item_cd
left outer join item_standard d on a.item_cd = d.item_cd
where a.receipt_status = 3 --3:์
๊ณ ์๋ฃ
--and d.marking_image_nm = 'GS' -- ์ผ๋ฐ์์ฝํ
and NOT EXISTS ( SELECT 1 FROM packing_order e WHERE a.pack_order_no = e.packing_order_no)
and a.receiver_time between CONVERT(VARCHAR,@s_sdate,23) and CONVERT(VARCHAR,@s_edate ,23)
order by a.issue_time2 desc
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM packing_order
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'packing_order', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
---PACKING_RESULT ๋ฑ๋ก ๋ฐ gd_item_stock ๋ฑ๋ก---
-- [์ปค์ ์ ์ธ] ํ๋ณ ์ํ ์์
declare packing_result_cur cursor for
SELECT a.pack_order_no,
a.packing_date,
a.item_cd,
a.packing_qty,
a.packing_qty as remain_qty, --remain_qty
0 as disuse_qty, --disuse_qty
'RTE' as result_emp, --result_emp,
CONVERT(VARCHAR, getdate(),23) as result_time, --result_time
'1' as issue_status, --issue_status
'RTE' as insert_user_cd, --insert_user_cd
CONVERT(VARCHAR, getdate(),23) as insert_time, --insert_time
0 as receive_qty, --์ ๊ณต์ ์ธ๊ณ์๋
0 as bulk_use_qty, --ํฌ์ฅ์ฌ๋ฃ์ฌ์ฉ๋
0 as test_sample_qty, --์ํ๊ฒ์ฒด์๋
0 as deposit_sample_qty --๋ณด๊ด๊ฒ์ฒด์๋
FROM RTEPMS_CHODANG.DBO.packing_result a
left outer join RTEPMS_CHODANG.DBO.work_order b on a.order_no = b.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard c on b.item_cd = c.item_cd
left outer join item_standard d on a.item_cd = d.item_cd
WHERE a.receipt_status = 3 --3:์
๊ณ ์๋ฃ
--and d.marking_image_nm = 'GS' -- ์ผ๋ฐ์์ฝํ
and a.receiver_time between CONVERT(VARCHAR,@s_sdate,23) and CONVERT(VARCHAR,@s_edate ,23)
ORDER BY a.issue_time2 DESC
OPEN packing_result_cur
declare @pack_order_no nvarchar(50)
declare @packing_date nvarchar(10)
declare @item_cd nvarchar(50)
declare @packing_qty decimal(15,4)
declare @remain_qty decimal(15,4)
declare @disuse_qty decimal(15,4)
declare @result_emp nvarchar(50)
declare @result_time nvarchar(10)
declare @issue_status nvarchar(10)
declare @insert_user_cd nvarchar(50)
declare @insert_time nvarchar(10)
declare @receive_qty decimal(15,4)
declare @bulk_use_qty decimal(15,4)
declare @test_sample_qty decimal(15,4)
declare @deposit_sample_qty decimal(15,4)
FETCH NEXT FROM packing_result_cur INTO
@pack_order_no, @packing_date, @item_cd, @packing_qty, @remain_qty,
@disuse_qty, @result_emp, @result_time, @issue_status, @insert_user_cd,
@insert_time, @receive_qty, @bulk_use_qty, @test_sample_qty, @deposit_sample_qty
WHILE @@FETCH_STATUS = 0
BEGIN
-- packing_result ์
๋ ฅ --
-- [์ ์ฌ] packing_result
insert into packing_result
(
pack_order_no, packing_date, item_cd, packing_qty, remain_qty, disuse_qty,
result_emp, result_time, ISSUE_STATUS, INSERT_USER_CD, INSERT_TIME,
PACKING_RESULT_RECEIVE_QTY,PACKING_RESULT_BULK_USE_QTY,
PACKING_RESULT_TEST_SAMPLE_QTY,PACKING_RESULT_DEPOSIT_SAMPLE_QTY
)
values
(
@pack_order_no, @packing_date, @item_cd, @packing_qty, @packing_qty, @disuse_qty,
@insert_user_cd, @insert_time, @issue_status, @insert_user_cd, @insert_time,
@disuse_qty, @disuse_qty, @disuse_qty, @disuse_qty
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from packing_result where PACKING_RESULT_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'packing_result', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
-- gd_item_stock ์
๋ ฅ --
declare @result_id int
set @result_id = (select top 1 packing_result_id from packing_result order by packing_result_id desc)
-- [์ ์ฌ] gd_item_stock
insert into gd_item_stock
(
packing_result_id, prod_return_ck, item_cd, lot_no, receipt_date, receipt_qty, receipt_status, end_date,
insert_user_cd, insert_time, update_user_cd, update_time, pre_label_issue_yn
)
select @result_id,
'1' as prod_return_ck,
a.item_cd,
b.lot_no,
a.packing_date,
a.packing_qty,
'Y' as receipt_status,
case when isnull(b.start_date, '') = '' then '' else convert(nvarchar, DATEADD(DD, -1, DATEADD( MM, c.item_validity_period / 30 , b.start_date)), 23) end as valid_date,
'RTE' as insert_user_cd,
CONVERT(VARCHAR, getdate(),23) as insert_time,
'RTE' as update_user_cd,
CONVERT(VARCHAR, getdate(),23) as update_user_time,
'N' pre_label_issue_yn
from RTEPMS_CHODANG.DBO.packing_result a
left outer join RTEPMS_CHODANG.DBO.work_order b on a.order_no = b.order_no
left outer join RTEPMS_CHODANG.DBO.v_item_standard c on b.item_cd = c.item_cd
left outer join item_standard d on a.item_cd = d.item_cd
where a.receipt_status = 3 --3:์
๊ณ ์๋ฃ
--and d.marking_image_nm = 'GS' -- ์ผ๋ฐ์์ฝํ
and a.receiver_time between CONVERT(VARCHAR,@s_sdate,23) and CONVERT(VARCHAR,@s_edate ,23)
and a.pack_order_no = @pack_order_no
order by a.issue_time2 desc
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM gd_item_stock
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'gd_item_stock', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--gd_packing_result_pack ๋ฑ๋ก
declare @item_stock_id int --์
๊ณ ID
declare @BARCODE_NO nvarchar(10) --๋ฐ์ค๋ฐ์ฝ๋
declare @item_pack_Barcode nvarchar(50) --ํ์ค์ฝ๋
declare @valid_date nvarchar(10) --์ฌ์ฉ๊ธฐํ
declare @pack_result_lot_no nvarchar(10)--์ ์กฐ๋ฒํธ
set @item_stock_id = (select top 1 item_stock_id from gd_item_stock order by item_stock_id desc)
--set @BARCODE_NO=DBO.FN_GETBOXBARCODENO(GETDATE(), 0)
set @BARCODE_NO=DBO.FN_GETBOXBARCODENO()
BEGIN
select @item_pack_Barcode = b.item_pack_barcode,
@valid_date = substring(replace(CONVERT(NVARCHAR(10), a.valid_date, 112), '-', ''), 3, 7) ,
@pack_result_lot_no = a.lot_no
from packing_order a,item_standard b
where a.sale_item_cd = b.item_cd
and a.packing_order_no = @pack_order_no
END
-- [์ ์ฌ] GD_PACKING_RESULT_PACK
INSERT INTO GD_PACKING_RESULT_PACK (
BOX_BARCODE_NO
,ITEM_STOCK_ID
,PROD_QTY
,STOCK_QTY
,INSERT_USER_CD
,INSERT_TIME
,BOX_TYPE
,GS1_BOX_BARCODE_NO
)
SELECT @BARCODE_NO
,@item_stock_id
,receipt_qty
,receipt_qty
,'RTE'
,getdate()
,'1'
,(SELECT dbo.[fn_GetGS1Barcode](@item_pack_Barcode,@valid_date,@pack_result_lot_no,@BARCODE_NO,'',''))
FROM GD_ITEM_STOCK
WHERE ITEM_STOCK_ID = @item_stock_id
--AuditTrail ์์ฑ
SET @row = @@ROWCOUNT
SELECT @audittrail_id = MAX(audittrail_id) FROM GD_PACKING_RESULT_PACK
SELECT @row = (@audittrail_id - @row) + 1
EXEC SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_PACK', @audittrail_id_From_value = @row ,@audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I',
@audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
--gd_packing_result_item ๋ฑ๋ก
-- [์ ์ฌ] GD_PACKING_RESULT_ITEM
INSERT INTO GD_PACKING_RESULT_ITEM
(
BOX_BARCODE_NO,
ITEM_STOCK_ID,
PACKING_ORDER_NO,
PROD_QTY,
STOCK_QTY,
LOT_NO,
VALID_DATE,
GS1_BOX_BARCODE_NO,
MAPPING_GS1_BARCODE,
MAPPING_BOX_TYPE,
INSERT_USER_CD,
INSERT_TIME
)
VALUES
(
@BARCODE_NO,
@item_stock_id,
@pack_order_no,
@packing_qty,
@packing_qty,
@pack_result_lot_no,
@valid_date,
(dbo.[fn_GetGS1Barcode](@item_pack_Barcode,@valid_date,@pack_result_lot_no,'','','')),
(dbo.[fn_GetGS1Barcode](@item_pack_Barcode,@valid_date,@pack_result_lot_no,@BARCODE_NO,'','')),
'1',
'RTE',
getdate()
)
--AuditTrail ์์ฑ
select @audittrail_id = audittrail_id from GD_PACKING_RESULT_ITEM where DETAIL_STOCK_ID = @@IDENTITY
exec SP_AudiTrail_INSERT_COMMON @tableName = 'GD_PACKING_RESULT_ITEM', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'I', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
FETCH NEXT FROM packing_result_cur INTO
@pack_order_no, @packing_date, @item_cd, @packing_qty, @remain_qty,
@disuse_qty, @result_emp, @result_time, @issue_status, @insert_user_cd,
@insert_time, @receive_qty, @bulk_use_qty, @test_sample_qty, @deposit_sample_qty
END
CLOSE packing_result_cur
DEALLOCATE packing_result_cur
SELECT @intErrorCode = @@error
END
SP_Upgrade_v2
๋ชฉ์ โ ์ ๊ทธ๋ ์ด๋ ์คํฌ๋ฆฝํธ v2.
๋งค๊ฐ๋ณ์
| ์ด๋ฆ | ํ์ | ๋ฐฉํฅ |
|---|---|---|
@gubun | nvarchar(10) | IN |
@file_id | nvarchar(100) | IN |
@file_use_yn | nvarchar(10) | IN |
@file_name | nvarchar(510) | IN |
@file_path | nvarchar(510) | IN |
@file_version | nvarchar(510) | IN |
@file_size | int(4) | IN |
@file_modify_date | nvarchar(510) | IN |
@file_data | image(16) | IN |
@sys_emp_cd | nvarchar(100) | IN |
@message | nvarchar(2000) | OUTPUT |
์์ค ๋ณด๊ธฐ (ํด๋ฆญ)
CREATE PROC [dbo].[SP_Upgrade_v2]
@gubun nvarchar(5) = '',
@file_id nvarchar(50) = '',
@file_use_yn nvarchar(5) = '',
@file_name nvarchar(255) = '',
@file_path nvarchar(255) = '',
@file_version nvarchar(255) = '',
@file_size int = '',
@file_modify_date nvarchar(255) = '',
@file_data image= '',
@sys_emp_cd nvarchar(50) = '',
@message nvarchar(1000) output
AS
--audittrail์ฉ ๋ณ์
declare @audittrail_id int
-- [์์ ํ
์ด๋ธ ์์ฑ]
CREATE TABLE #AUDIT_TEMP (audittrail_id VARCHAR(10))
-- [๋ถ๊ธฐ] @gubun = 'S' ์ธ ๊ฒฝ์ฐ
IF(@gubun = 'S') --๋ฉ์ธ๊ทธ๋ฆฌ๋(item_standard)์กฐํ
BEGIN
select file_id
,file_name
,file_version
,file_size
,file_modify_date
,file_upload_date
,file_use_yn
from CM_file_info
order by file_upload_date DESC
SET @message = '์กฐํ๋์์ต๋๋ค'
END
ELSE IF(@gubun = 'U') --ํ์ผ์ฌ์ฉ์ฌ๋ถ ์์
BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id FROM CM_file_info a
WHERE file_name in ( SELECT file_name
FROM CM_file_info
WHERE FILE_name = @file_name)
UPDATE a
SET file_use_yn = 'N'
FROM CM_file_info a
WHERE file_name in ( SELECT file_name
FROM CM_file_info
WHERE FILE_name = @file_name)
EXEC SP_AuditTrail_BULK @TABLENAME = 'CM_file_info', @AUDIT_GUBUN = 'U', @AUDIT_EMP_CD = @sys_emp_cd, @AUDIT_REMARK = ''
UPDATE CM_file_info
SET
file_use_yn = @file_use_yn
,file_upload_date = GETDATE()
where file_id = @file_id
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from CM_file_info where file_id = @file_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_file_info', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'U', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
END
END
ELSE IF(@gubun = 'U2') --ํ์ผ ์
๋ก๋์ ๊ธฐ์กด ์ฌ์ฉ์ฌ๋ถ N์ผ๋ก
BEGIN
BEGIN
INSERT INTO #AUDIT_TEMP
SELECT audittrail_id FROM CM_file_info
WHERE file_name = @file_name
UPDATE CM_file_info
SET
file_use_yn = 'N'
where file_name = @file_name
EXEC SP_AuditTrail_BULK @TABLENAME = 'CM_file_info', @AUDIT_GUBUN = 'U', @AUDIT_EMP_CD = @sys_emp_cd, @AUDIT_REMARK = ''
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์์ ๋์์ต๋๋ค'
END
END
ELSE IF(@gubun = 'D') --ํ์ผ ์ญ์
BEGIN
BEGIN
--audittrail ์์ฑ
select @audittrail_id = audittrail_id from CM_file_info where file_id = @file_id
exec SP_AudiTrail_INSERT_COMMON @tableName = 'CM_file_info', @audittrail_id_From_value = @audittrail_id, @audittrail_id_To_value = @audittrail_id, @audit_gubun = 'D', @audit_emp_cd = @sys_emp_cd, @audit_Remark = ''
delete
from CM_file_info
where file_id = @file_id
set @message = CONVERT(VARCHAR, @@ROWCOUNT) + '๊ฑด ์ญ์ ๋์์ต๋๋ค'
END
END