Skip to Content
๋ฐ”์ฝ”๋“œ ์„œ๋ฒ„SP ์›๋ณธ + ์ฃผ์„

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 ๋Š” ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(20)IN
@search_datenvarchar(20)IN
@messagenvarchar(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 ์Šค์บ๋„ˆ ๊ธฐ๋ฐ˜ ์ถœ๊ณ (๋ฐœ์†ก) ๊ด€๋ฆฌ ํ™”๋ฉด ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_cust_cdnvarchar(100)IN
@s_issue_gbnvarchar(100)IN
@s_issue_statusnvarchar(100)IN
@s_issue_work_Seqnvarchar(20)IN
@despatch_nonvarchar(100)IN
@issue_gb2nvarchar(10)IN
@issue_datenvarchar(20)IN
@issue_statusnvarchar(10)IN
@cust_cdnvarchar(100)IN
@pass_cust_cdnvarchar(100)IN
@issue_dpsnvarchar(10)IN
@issue_detail_datenvarchar(20)IN
@receipt_datenvarchar(20)IN
@item_cdnvarchar(100)IN
@issue_qtydecimal(9)IN
@lot_nonvarchar(100)IN
@lot_datenvarchar(20)IN
@end_datenvarchar(20)IN
@item_issue_idint(4)IN
@issue_trans_gbnvarchar(10)IN
@issue_trans_cust_cdnvarchar(100)IN
@issue_work_datenvarchar(20)IN
@issue_work_seqint(4)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@order_seqnvarchar(20)IN
@search_cknvarchar(10)IN
@s_Despatch_nonvarchar(20)IN
@e_Despatch_nonvarchar(20)IN
@tempnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@order_datenvarchar(16)IN
@messagenvarchar(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 ๊ฑฐ๋ž˜์ฒ˜๋ณ„ ์ถœ๊ณ  ์ด๋ ฅ ์กฐํšŒยท์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(40)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@emp_cdnvarchar(40)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ถœ๊ณ  ๋ถ€๊ฐ€ ์ •๋ณด(์ถ”๊ฐ€ ํ•„๋“œยท์˜ˆ์™ธ ์ผ€์ด์Šค) ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@out_datenvarchar(20)IN
@item_cdnvarchar(60)IN
@out_typenvarchar(10)IN
@gs1_barcodenvarchar(120)IN
@box_typenvarchar(10)IN
@cust_cdnvarchar(60)IN
@gtin13nvarchar(40)IN
@lot_nonvarchar(40)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(4000)OUTPUT
@identitynvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ์ถœ๊ณ  ๋ชฉ๋ก ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@gubun2nvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idint(4)IN
@box_barcode_nochar(10)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@s_issue_gbnvarchar(100)IN
@issue_qtydecimal(9)IN
@issue_order_qtydecimal(9)IN
@stock_qtydecimal(9)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@issue_datenvarchar(20)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@item_issue_statusnvarchar(100)IN
@detail_stock_idnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@default_barcodenvarchar(100)IN
@cust_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(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

๋ชฉ์  โ€” ์ œํ’ˆ ์ถœ๊ณ  ๋ชฉ๋ก ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idint(4)IN
@box_barcode_nochar(10)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@issue_qtydecimal(9)IN
@issue_order_qtydecimal(9)IN
@stock_qtydecimal(9)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@item_issue_statusnvarchar(100)IN
@detail_stock_idnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@s_item_cdnvarchar(40)IN
@s_cust_cdnvarchar(40)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@default_barcodenvarchar(100)IN
@cust_cdnvarchar(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

๋ชฉ์  โ€” ๋ฐ˜ํ’ˆ ๋“ฑ๋กยท์žฌ๊ณ  ๋ณต์›.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@gubun2nvarchar(100)IN
@barcodenvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@order_datenvarchar(100)IN
@order_nonvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_cknvarchar(100)IN
@gtin13_codenvarchar(120)IN
@box_typenvarchar(30)IN
@issue_datenvarchar(20)IN
@item_issue_idnvarchar(100)IN
@gs1_barcodenvarchar(200)IN
@return_gubunnvarchar(10)IN
@cust_cdnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@LOT_NOnvarchar(100)IN
@item_cdnvarchar(100)IN
@STOCK_QTYint(4)IN
@update_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@box_type_insertnvarchar(30)IN
@issue_qtyint(4)IN
@messagenvarchar(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 ํฌ์žฅ ์ง€์‹œ์„œ ์กฐํšŒยท๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(8)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ์žฌ๋งˆํ‚น(๋ผ๋ฒจ ์žฌ๋ถ€์ฐฉ) ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@PACKING_ORDER_NOnvarchar(100)IN
@PUBLISH_TYPEnvarchar(100)IN
@OUTER_INTERFACEnvarchar(100)IN
@INSERT_USER_CDnvarchar(100)IN
@UPDATE_USER_CDnvarchar(100)IN
@PUBLISH_QTYdecimal(9)IN
@MARKING_YNnvarchar(100)IN
@MARKING_ORDER_IDint(4)IN
@SERIAL_YNnvarchar(100)IN
@SERIAL_NOnvarchar(100)IN
@Lenint(4)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋น„์ „ ๊ฒ€์ฆ ๋Œ€์ƒ ํ’ˆ๋ชฉ ๋ชฉ๋ก ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@BUTTON_CHECKnvarchar(20)IN
@PACKING_ORDER_NOnvarchar(100)IN
@PUBLISH_TYPEnvarchar(100)IN
@OUTER_INTERFACEnvarchar(100)IN
@INSERT_USER_CDnvarchar(100)IN
@UPDATE_USER_CDnvarchar(100)IN
@PUBLISH_QTYdecimal(9)IN
@MARKING_YNnvarchar(100)IN
@MARKING_ORDER_IDint(4)IN
@SERIAL_YNnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํฌ์žฅ ํ’ˆ๋ชฉ ๋‹จ์œ„ ๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@item_cdnvarchar(100)IN
@item_gbnvarchar(10)IN
@item_nmnvarchar(200)IN
@item_s_nmnvarchar(200)IN
@item_enmnvarchar(200)IN
@item_type1nvarchar(10)IN
@item_type2nvarchar(10)IN
@prod_endnvarchar(2)IN
@prod2_endnvarchar(2)IN
@repr_code_cknvarchar(2)IN
@item_keep_conditionnvarchar(10)IN
@item_keep_temperaturenvarchar(10)IN
@item_license_storagenvarchar(1000)IN
@standard_hrdecimal(9)IN
@item_packunit2nvarchar(100)IN
@second_pack_typenvarchar(10)IN
@second_pack_qtint(4)IN
@second_pack_m_qtint(4)IN
@valid_periodint(4)IN
@item_pack_barcodenvarchar(100)IN
@date_classnvarchar(100)IN
@in_out_cknvarchar(2)IN
@item_safety_stockdecimal(9)IN
@item_specnvarchar(100)IN
@MARKING_IMAGE_NMnvarchar(200)IN
@serial_ynnvarchar(2)IN
@sys_emp_cdnvarchar(100)IN
@s_item_pack_barcodenvarchar(100)IN
@item_pack_qtynvarchar(16)IN
@item_barcodenvarchar(600)IN
@re_ynnvarchar(2)IN
@serial_gbnvarchar(2)IN
@stock_managenvarchar(2)IN
@messagenvarchar(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 โ€” ์ž‘์—…์ง€์‹œ ์ƒ์„ฑยท๋ณ€๊ฒฝ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@s_order_statusnvarchar(10)IN
@order_nonvarchar(100)IN
@order_issue_seqint(4)IN
@packing_order_nonvarchar(100)IN
@packing_order_idint(4)IN
@sale_item_cdnvarchar(100)IN
@material_item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@lot_datenvarchar(20)IN
@lot_no2nvarchar(100)IN
@test_nonvarchar(100)IN
@packing_order_datenvarchar(20)IN
@valid_datenvarchar(20)IN
@packing_order_work_datenvarchar(20)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@issue_emp_cdnvarchar(100)IN
@issue_emp_timenvarchar(100)IN
@packing_order_qtydecimal(9)IN
@order_qtydecimal(9)IN
@use_qtydecimal(9)IN
@SERIAL_YNnvarchar(20)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํฌ์žฅ ๊ฒฐ๊ณผ ์˜ค๋ฅ˜ ์ˆ˜์ง‘ยท์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@lot_nonvarchar(100)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@item_issue_statusnvarchar(100)IN
@detail_stock_idnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@scan_gubunnvarchar(20)IN
@s_item_cdnvarchar(40)IN
@s_cust_cdnvarchar(40)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@default_barcodenvarchar(100)IN
@cust_cdnvarchar(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

๋ชฉ์  โ€” ํฌ์žฅ ๊ฒฐ๊ณผ ์ˆ˜์ •(๊ด€๋ฆฌ์ž).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@s_lot_nonvarchar(100)IN
@s_order_statusnvarchar(2)IN
@order_proc_make_statusnvarchar(2)IN
@packing_order_nonvarchar(100)IN
@packing_result_idint(4)IN
@receive_qtydecimal(9)IN
@bulk_use_qtydecimal(9)IN
@packing_qtydecimal(9)IN
@test_sample_qtydecimal(9)IN
@deposit_sample_qtydecimal(9)IN
@remain_qtydecimal(9)IN
@disuse_qtydecimal(9)IN
@order_nonvarchar(100)IN
@order_proc_idint(4)IN
@lot_nonvarchar(100)IN
@lot_datenvarchar(20)IN
@receipt_datenvarchar(20)IN
@end_datenvarchar(20)IN
@receipt_qtynvarchar(100)IN
@test_typenvarchar(10)IN
@start_datenvarchar(20)IN
@start_nonvarchar(100)IN
@receive_datenvarchar(20)IN
@picking_datenvarchar(20)IN
@picking_emp_cdnvarchar(100)IN
@picking_methodnvarchar(510)IN
@testcontrol_idint(4)IN
@item_cdnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@packing_datenvarchar(20)IN
@result_empnvarchar(100)IN
@prod_qtyint(4)IN
@box_barcode_nonvarchar(100)IN
@pre_label_issue_ynnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํฌ์žฅ ์ „๋ฐ˜ ๊ด€๋ฆฌ(์ƒ์„ฑยท์ƒํƒœยท์ •์ •).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(10)IN
@group_textnvarchar(100)IN
@emp_textnvarchar(100)IN
@use_yn_Snvarchar(20)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@emp_group_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@MACADDRESSnvarchar(100)IN
@sys_plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@PACKING_ORDER_NOnvarchar(100)IN
@WORK_STATEnvarchar(100)IN
@DIST_CDnvarchar(4)IN
@FINISH_YNnvarchar(4)IN
@INSERT_USER_CDnvarchar(100)IN
@UPDATE_USER_CDnvarchar(100)IN
@s_receipt_statusnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์žฌํฌ์žฅ ์ฒ˜๋ฆฌ โ€” ๊ธฐ์กด ๋ฐ”์ฝ”๋“œ ๋ฌดํšจํ™” + ์‹ ๊ทœ ์ƒ์„ฑ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(200)IN
@mapping_gs1_barcodenvarchar(800)IN
@mapping_box_typenvarchar(200)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@stock_qtydecimal(9)IN
@prod_qtydecimal(9)IN
@extension_cdchar(1)IN
@messagenvarchar(4000)OUTPUT
@identitynvarchar(100)OUTPUT
@packing_order_nonvarchar(100)IN
@item_stock_idint(4)IN
@item_pack_barcodenvarchar(100)IN
@item_cdnvarchar(60)IN
@lot_nonvarchar(40)IN
@packing_datenvarchar(20)IN
@packing_qtydecimal(9)IN
@end_datenvarchar(20)IN
@_item_stock_idnvarchar(30)IN
@macaddressnvarchar(100)IN
@gs1_box_barcode_nonvarchar(800)IN
@box_barcode_nochar(15)IN
@serial_nonvarchar(24)IN
@sys_emp_cdnvarchar(100)IN
@s_item_cdnvarchar(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 โ€” ์ผ€์ด์Šค ๋‹จ์œ„ ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(200)IN
@mapping_gs1_barcodenvarchar(800)IN
@mapping_box_typenvarchar(200)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@stock_qtydecimal(9)IN
@messagenvarchar(4000)OUTPUT
@packing_order_nonvarchar(100)IN
@s_item_cdnvarchar(40)IN
@sys_emp_cdnvarchar(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 ํ‘œ์ค€ ๋ฐ”์ฝ”๋“œ ์ผ๊ด„ ์ƒ์„ฑ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@PACKING_ORDER_NOnvarchar(100)IN
@PUBLISH_QTYdecimal(9)IN
@PUBLISH_TYPEnvarchar(200)IN
@INSERT_USER_CDnvarchar(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 ๋ฐ”์ฝ”๋“œ ์ƒ์„ฑ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@PACKING_ORDER_NOnvarchar(100)IN
@PUBLISH_QTYdecimal(9)IN
@PUBLISH_TYPEnvarchar(200)IN
@INSERT_USER_CDnvarchar(100)IN
@SERIAL_NOint(4)IN
@MARKING_ORDER_IDint(4)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฐ”์ฝ”๋“œ ์œ ํšจ์„ฑยท์ค‘๋ณตยท์ผ๋ จ๋ฒˆํ˜ธ ๊ฒ€์ฆ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(20)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฐ”์ฝ”๋“œ ์ด๋ ฅ ์ถ”์ (์ƒ์„ฑโ†’ํฌ์žฅโ†’์ถœ๊ณ โ†’๋ฐ˜ํ’ˆ).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@gtin13nvarchar(40)IN
@packing_order_nonvarchar(100)IN
@default_barcodenvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ์ˆ˜ํƒ ์ž…๊ณ (ํƒ€์‚ฌ ์œ„ํƒ) ๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@plant_nmnvarchar(100)IN
@plant_busin_nonvarchar(100)IN
@item_nmnvarchar(100)IN
@item_pack_sizenvarchar(100)IN
@issue_qtyint(4)IN
@lot_nonvarchar(40)IN
@item_pack_barcodenvarchar(40)IN
@barcodenvarchar(200)IN
@medium_barcodenvarchar(200)IN
@large_barcodenvarchar(200)IN
@valid_datenvarchar(20)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@receipt_datenvarchar(20)IN
@macaddressnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@item_cdnvarchar(100)IN
@id01id17id10nvarchar(100)IN
@insert_user_cdnvarchar(40)IN
@update_user_cdnvarchar(40)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ˆ˜ํƒ ์ถœ๊ณ  ๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idint(4)IN
@box_barcode_nochar(10)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@issue_qtydecimal(9)IN
@issue_order_qtydecimal(9)IN
@stock_qtydecimal(9)IN
@cust_cdnvarchar(100)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gs1_barcodenvarchar(800)IN
@item_issue_statusnvarchar(100)IN
@detail_stock_idnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@default_barcodenvarchar(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

๋ชฉ์  โ€” ์œ ํ†ตยทํŒ๋งค ์ž…๊ณ  ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@start_date_snvarchar(20)IN
@end_date_snvarchar(20)IN
@itemnvarchar(100)IN
@item_stock_idint(4)IN
@packing_result_idint(4)IN
@prod_return_cknvarchar(10)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@lot_datenvarchar(20)IN
@receipt_datenvarchar(20)IN
@receipt_qtydecimal(9)IN
@end_datenvarchar(20)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@box_barcode_nochar(15)IN
@prod_qtydecimal(9)IN
@stock_qtydecimal(9)IN
@workroom_cdnvarchar(100)IN
@zone_cdchar(10)IN
@cell_cdchar(10)IN
@pallet_cdchar(10)IN
@addint(4)IN
@log_user_idnvarchar(100)IN
@gs1_box_barcode_nonvarchar(800)IN
@box_typenvarchar(200)IN
@second_pack_typenvarchar(20)IN
@second_pack_qtydecimal(9)IN
@second_pack_m_qtydecimal(9)IN
@macaddressnvarchar(100)IN
@pre_label_issue_ynnvarchar(20)IN
@extension_cdchar(1)IN
@company_cdchar(4)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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 ์Šค์บ๋„ˆ ๊ธฐ๋ฐ˜ ์ž…๊ณ  ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@packing_result_pack_in_history_idint(4)IN
@box_barcode_nonvarchar(100)IN
@in_typenvarchar(10)IN
@in_qtydecimal(9)IN
@in_datenvarchar(20)IN
@in_remarknvarchar(510)IN
@insert_user_cdnvarchar(100)IN
@insert_timedatetime(8)IN
@update_user_cdnvarchar(100)IN
@update_timedatetime(8)IN
@start_datenvarchar(20)IN
@end_datenvarchar(20)IN
@valid_datenvarchar(20)IN
@itemnvarchar(100)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@past_stock_qtydecimal(9)IN
@past_in_qtydecimal(9)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ์žฌ๊ณ  ์กฐํšŒ(์กฐ๊ฑดยท๊ธฐ๊ฐ„).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@box_barcode_nochar(100)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@box_gubunnvarchar(100)IN
@stock_idnvarchar(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 ์žฌ๊ณ  ํ˜„ํ™ฉ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@s_itemnvarchar(100)IN
@s_lot_nonvarchar(100)IN
@item_stock_idnvarchar(100)IN
@box_barcode_nonvarchar(100)IN
@box_barcode_no3nvarchar(100)IN
@messagenvarchar(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 ์žฌ๊ณ  ํ˜„ํ™ฉ (๋ฐฑ์—…๋ณธ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ œ์™ธ ๋Œ€์ƒ).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@s_itemnvarchar(100)IN
@s_lot_nonvarchar(100)IN
@item_stock_idnvarchar(100)IN
@box_barcode_nonvarchar(100)IN
@box_barcode_no3nvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์žฌ๊ณ  ๋ถ€๊ฐ€ ์ •๋ณด(๊ฒฝ์ˆ˜ยท์œ ํ†ต๊ธฐํ•œ ๋“ฑ) ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(200)IN
@mapping_gs1_barcodenvarchar(800)IN
@mapping_box_typenvarchar(200)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@stock_qtydecimal(9)IN
@prod_qtydecimal(9)IN
@extension_cdchar(1)IN
@messagenvarchar(4000)OUTPUT
@identitynvarchar(100)OUTPUT
@packing_order_nonvarchar(100)IN
@item_stock_idint(4)IN
@item_pack_barcodenvarchar(100)IN
@item_cdnvarchar(60)IN
@lot_nonvarchar(40)IN
@packing_datenvarchar(20)IN
@packing_qtydecimal(9)IN
@end_datenvarchar(20)IN
@_item_stock_idnvarchar(30)IN
@macaddressnvarchar(100)IN
@gs1_box_barcode_nonvarchar(800)IN
@box_barcode_nochar(15)IN
@serial_nonvarchar(24)IN
@sys_emp_cdnvarchar(100)IN
@s_item_cdnvarchar(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 ์—ฐ๊ณ„.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(4)IN
@s_workroom_cdnvarchar(100)IN
@s_workroom_nmnvarchar(100)IN
@workroom_cdnvarchar(20)IN
@workroom_nmnvarchar(100)IN
@workroom_addressnvarchar(100)IN
@workroom_mcdnvarchar(100)IN
@be_scodenvarchar(100)IN
@te_snamenvarchar(100)IN
@cleanness_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@workroom_volumeint(4)IN
@workroom_bottomtypenvarchar(100)IN
@workroom_walltypenvarchar(100)IN
@workroom_toptypenvarchar(100)IN
@workroom_typenvarchar(10)IN
@temp_minnvarchar(100)IN
@temp_maxnvarchar(100)IN
@hum_minnvarchar(100)IN
@hum_maxnvarchar(100)IN
@warehouse_typenvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ๋งคํ•‘ ๋ชฉ๋ก ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(200)IN
@mapping_gs1_barcodenvarchar(800)IN
@mapping_box_typenvarchar(200)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@stock_qtydecimal(9)IN
@messagenvarchar(4000)OUTPUT
@packing_order_nonvarchar(100)IN
@s_item_cdnvarchar(40)IN
@sys_emp_cdnvarchar(100)IN
@fre_barcodenvarchar(100)IN
@error_msgnvarchar(200)IN
@macaddrnvarchar(40)IN
@scan_gubunchar(1)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@lot_datenvarchar(20)IN
@packing_datenvarchar(20)IN
@packing_qtydecimal(9)IN
@end_datenvarchar(20)IN
@pre_label_issue_ynnvarchar(100)IN
@serial_nonvarchar(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.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(800)IN
@box_typenvarchar(200)IN
@mapping_gs1_barcodenvarchar(800)IN
@mapping_box_typenvarchar(200)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@stock_qtydecimal(9)IN
@messagenvarchar(4000)OUTPUT
@packing_order_nonvarchar(100)IN
@s_item_cdnvarchar(40)IN
@item_cdnvarchar(40)IN
@lot_nonvarchar(100)IN
@sys_emp_cdnvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ๋งคํ•‘ ๊ฒ€์ƒ‰(์กฐ๊ฑด).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@packing_order_nonvarchar(100)IN
@box_barcode_nonvarchar(200)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_receipt_statusnvarchar(100)IN
@gs1_barcodenvarchar(300)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@tempnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@serial_ynnvarchar(10)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(4000)OUTPUT
@box_gubunnvarchar(100)IN
@packing_order_no_cknvarchar(100)IN
@stock_idnvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ์ถœ๊ณ  ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(40)IN
@gs1_barcodenvarchar(160)IN
@gtin_barcodenvarchar(40)IN
@end_datenvarchar(40)IN
@lot_nonvarchar(40)IN
@serial_nonvarchar(60)IN
@s_issue_statusnvarchar(100)IN
@box_barcodenvarchar(100)IN
@item_issue_idint(4)IN
@issue_qtydecimal(9)IN
@issue_order_qtydecimal(9)IN
@detail_stock_idnvarchar(100)IN
@item_issue_statusnvarchar(100)IN
@issue_gb2nvarchar(10)IN
@lot_datenvarchar(40)IN
@item_cdnvarchar(30)IN
@packing_order_nonvarchar(100)IN
@qtyint(4)IN
@despatch_order_nonvarchar(100)IN
@despatch_datenvarchar(20)IN
@despatch_work_datenvarchar(20)IN
@cust_cdnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@sdate2nvarchar(20)IN
@edate2nvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@s_gubunnvarchar(100)IN
@box_typenvarchar(10)IN
@cust_cdnvarchar(100)IN
@qtydecimal(9)IN
@lot_nonvarchar(100)IN
@end_datenvarchar(20)IN
@packing_order_nonvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gtin13_codenvarchar(120)IN
@gs1_barcodenvarchar(200)IN
@detail_stock_idnvarchar(100)IN
@issue_datenvarchar(20)IN
@issue_date2nvarchar(20)IN
@order_datenvarchar(20)IN
@TOT_NOnvarchar(40)IN
@ComputerTotalnvarchar(100)IN
@ComputerNumbernvarchar(100)IN
@BARCODEnvarchar(200)IN
@item_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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 ๊ธฐ๋ฐ˜ ์ˆ˜ํƒ ์ถœ๊ณ .

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@box_typenvarchar(10)IN
@cust_cdnvarchar(100)IN
@qtydecimal(9)IN
@lot_nonvarchar(100)IN
@end_datenvarchar(20)IN
@packing_order_nonvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gtin13_codenvarchar(120)IN
@gs1_barcodenvarchar(200)IN
@detail_stock_idnvarchar(100)IN
@issue_datenvarchar(20)IN
@issue_date2nvarchar(20)IN
@order_datenvarchar(20)IN
@TOT_NOnvarchar(40)IN
@ComputerTotalnvarchar(100)IN
@ComputerNumbernvarchar(100)IN
@BARCODEnvarchar(200)IN
@item_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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 ๊ธฐ๋ฐ˜ ์ถœ๊ณ  ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@totNonvarchar(100)IN
@item_issue_idnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@box_typenvarchar(10)IN
@qtydecimal(9)IN
@lot_nonvarchar(100)IN
@end_datenvarchar(20)IN
@item_cdnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gtin13_codenvarchar(120)IN
@gs1_barcodenvarchar(200)IN
@detail_stock_idnvarchar(100)IN
@remarknvarchar(200)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฐ•์Šค ๋‹จ์œ„ ์ถœ๊ณ .

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@box_typenvarchar(10)IN
@MACADDRnvarchar(100)IN
@MAPPING_BARCODEnvarchar(200)IN
@BARCODEnvarchar(200)IN
@qtydecimal(9)IN
@lot_nonvarchar(100)IN
@end_datenvarchar(20)IN
@BOX_BARCODE_NOnvarchar(30)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@gtin13_codenvarchar(120)IN
@gs1_barcodenvarchar(200)IN
@detail_stock_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฐ•์Šค ๋ผ๋ฒจ ๋ฐœํ–‰.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@item_issue_idnvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_statusnvarchar(100)IN
@box_typenvarchar(10)IN
@MACADDRnvarchar(100)IN
@MAPPING_BARCODEnvarchar(200)IN
@BARCODEnvarchar(200)IN
@issue_datenvarchar(20)IN
@qtydecimal(9)IN
@lot_nonvarchar(100)IN
@end_datenvarchar(20)IN
@BOX_BARCODE_NOnvarchar(30)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@cust_cdnvarchar(100)IN
@gtin13_codenvarchar(120)IN
@Remarknvarchar(30)IN
@gs1_barcodenvarchar(200)IN
@detail_stock_idnvarchar(100)IN
@order_noint(4)IN
@sys_emp_cdnvarchar(100)IN
@totNonvarchar(100)IN
@ComputerTotalint(4)IN
@ComputerNumberint(4)IN
@item_cdnvarchar(100)IN
@CUST_CODEnvarchar(100)IN
@Serial_YNnvarchar(10)IN
@packing_order_nonvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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 ์ถœ๊ณ  ๊ด€๋ฆฌ(๊ด€๋ฆฌ์ž ํ™”๋ฉด).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@packing_result_pack_out_history_idint(4)IN
@box_barcode_nonvarchar(100)IN
@out_typenvarchar(10)IN
@out_qtydecimal(9)IN
@out_datenvarchar(20)IN
@out_remarknvarchar(510)IN
@insert_user_cdnvarchar(100)IN
@insert_timedatetime(8)IN
@update_user_cdnvarchar(100)IN
@update_timedatetime(8)IN
@start_datenvarchar(20)IN
@end_datenvarchar(20)IN
@itemnvarchar(100)IN
@item_cdnvarchar(100)IN
@past_stock_qtydecimal(9)IN
@past_out_qtydecimal(9)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ํƒ๋ฐฐยท์†Œํฌ ๋‹จ์œ„ ์ถœ๊ณ .

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@messagenvarchar(4000)OUTPUT
@cust_cdnvarchar(100)IN
@issue_countint(4)IN
@CENTER_CODEnvarchar(100)IN
@COURSE_CODEnvarchar(100)IN
@CUST_CODEnvarchar(100)IN
@PRINT_YNnvarchar(10)IN
@POST_NOnvarchar(20)IN
@SIDOnvarchar(20)IN
@GUGUNnvarchar(20)IN
@DONGnvarchar(100)IN
@CENTER_CDnvarchar(20)IN
@COURSE_CDnvarchar(20)IN
@CENTER_NMnvarchar(20)IN
@totNonvarchar(100)IN
@SHIPPER_CDnvarchar(20)IN
@Remarknvarchar(30)IN
@issue_order_noint(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 โ€” ์™„์ œํ’ˆ ๋“ฑ๋กยท์žฌ๊ณ  ๋ฐ˜์˜.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@s_item_cdnvarchar(100)IN
@PACKING_ORDER_NOnvarchar(100)IN
@PUBLISH_TYPEnvarchar(100)IN
@OUTER_INTERFACEnvarchar(100)IN
@INSERT_USER_CDnvarchar(100)IN
@UPDATE_USER_CDnvarchar(100)IN
@PUBLISH_QTYdecimal(9)IN
@MARKING_YNnvarchar(100)IN
@MARKING_ORDER_IDint(4)IN
@Last_Numint(4)IN
@sys_emp_cdnvarchar(100)IN
@Lenint(4)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํ’ˆ๋ชฉ ์žฌ๋งคํ•‘(์ž˜๋ชป๋œ ๋งคํ•‘ ์ •์ •).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@barcodenvarchar(200)IN
@box_barcodenvarchar(200)IN
@BOX_BARCODE_NOnvarchar(30)IN
@packing_order_work_date_start_snvarchar(20)IN
@packing_order_work_date_end_snvarchar(20)IN
@barcode_maxnvarchar(100)IN
@box_Typenvarchar(20)IN
@box_qtint(4)IN
@item_cd_snvarchar(100)IN
@lot_no_snvarchar(100)IN
@LOT_NOnvarchar(100)IN
@item_cdnvarchar(100)IN
@receipt_statusnvarchar(10)IN
@end_datenvarchar(20)IN
@item_barcodenvarchar(100)IN
@serial_nonvarchar(60)IN
@item_pack_barcodenvarchar(100)IN
@item_stock_idint(4)IN
@mapping_ynnvarchar(10)IN
@item_pack_typenvarchar(100)IN
@MACADDRnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@extension_cdchar(1)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ์ž…๊ณ  ๋ชฉ๋ก ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@item_cdnvarchar(100)IN
@lot_nonvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ํŒ๋งค ์ทจ์†Œ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@gubun2nvarchar(100)IN
@despatch_order_nonvarchar(100)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@s_issue_cknvarchar(100)IN
@gtin13_codenvarchar(120)IN
@box_typenvarchar(10)IN
@item_issue_idnvarchar(100)IN
@gs1_barcodenvarchar(200)IN
@reason_cdnvarchar(10)IN
@cust_cdnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ƒ˜ํ”Œ ์ถœ๊ณ .

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@packing_result_pack_out_history_idint(4)IN
@search_barcodenvarchar(100)IN
@gs1_barcodenvarchar(400)IN
@out_typenvarchar(10)IN
@out_qtydecimal(9)IN
@out_datenvarchar(20)IN
@out_remarknvarchar(510)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@box_gubunnvarchar(100)IN
@s_receipt_statusnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@insert_timedatetime(8)IN
@update_user_cdnvarchar(100)IN
@update_timedatetime(8)IN
@start_datenvarchar(20)IN
@end_datenvarchar(20)IN
@item_cdnvarchar(100)IN
@item_std_barcodenvarchar(40)IN
@lot_nonvarchar(40)IN
@item_stock_idnvarchar(40)IN
@receipt_datenvarchar(20)IN
@past_out_qtydecimal(9)IN
@log_user_idnvarchar(100)IN
@itemnvarchar(100)IN
@past_stock_qtydecimal(9)IN
@sys_emp_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ์ˆ˜ํƒ ์ฒ˜๋ฆฌ(์ž…์ถœ๊ณ  ๊ณตํ†ต).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(40)IN
@item_cdnvarchar(40)IN
@lot_nonvarchar(40)IN
@plant_cdnvarchar(40)IN
@cust_cdnvarchar(40)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ƒ์‚ฐ ์‹ค์  ๋ณด๊ณ .

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@start_datenvarchar(20)IN
@end_datenvarchar(20)IN
@itemnvarchar(100)IN
@User_plant_nmnvarchar(100)IN
@messagenvarchar(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; END

SP_ProductTransfer2D

๋ชฉ์  โ€” 2D ๊ธฐ๋ฐ˜ ์ œํ’ˆ ์ด๋™(์ฐฝ๊ณ  ๊ฐ„).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@packing_order_work_date_start_snvarchar(20)IN
@packing_order_work_date_end_snvarchar(20)IN
@item_cd_snvarchar(100)IN
@lot_no_snvarchar(100)IN
@stock_datenvarchar(20)IN
@receipt_statusnvarchar(10)IN
@item_stock_idint(4)IN
@ITEM_CDnvarchar(100)IN
@LOT_NOnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@tableNamevarchar(50)IN
@audittrail_id_From_valueint(4)IN
@audittrail_id_To_valueint(4)IN
@audit_gubunvarchar(20)IN
@audit_emp_cdvarchar(50)IN
@audit_Remarkvarchar(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

๋ชฉ์  โ€” ๊ฐ์‚ฌ ์ด๋ ฅ ๊ณตํ†ต ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@TableNamevarchar(50)IN
@AuditTrail_IDnvarchar(100)IN
@FromDatenvarchar(46)IN
@ToDatenvarchar(46)IN
@EmpCdnvarchar(100)IN
@sys_plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ฐ์‚ฌ ์ด๋ ฅ ๋Œ€๋Ÿ‰ ์‚ฝ์ž….

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@TABLENAMEvarchar(50)IN
@AUDIT_GUBUNvarchar(20)IN
@AUDIT_EMP_CDvarchar(50)IN
@AUDIT_REMARKvarchar(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

๋ชฉ์  โ€” ๋ฉ”์ธ ๋ฉ”๋‰ด ๊ตฌ์„ฑ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@form_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฉ”๋‰ด โ€” ํผ ๋งคํ•‘ ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@s_form_cdnvarchar(100)IN
@form_cdnvarchar(100)IN
@form_nmnvarchar(100)IN
@form_seqint(4)IN
@form_web_cknvarchar(100)IN
@form_urlnvarchar(100)IN
@form_dllnvarchar(400)IN
@form_securitynvarchar(100)IN
@source_cdnvarchar(100)IN
@codenvarchar(100)IN
@field_cdnvarchar(100)IN
@select_field_cdnvarchar(100)IN
@field_caption1nvarchar(200)IN
@field_tagnvarchar(10)IN
@field_visiblenvarchar(10)IN
@field_enablednvarchar(10)IN
@field_remarknvarchar(400)IN
@field_caption2nvarchar(200)IN
@field_caption3nvarchar(200)IN
@default_valuenvarchar(100)IN
@field_xint(4)IN
@field_yint(4)IN
@parameter_cdnvarchar(100)IN
@parameter_valuenvarchar(100)IN
@parameter_remarknvarchar(400)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฉ”๋‰ด ๋“ฑ๋กยท์ˆ˜์ •ยท์‚ญ์ œ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@module_gbnvarchar(10)IN
@module_cdnvarchar(100)IN
@module_nmnvarchar(200)IN
@module_seqint(4)IN
@module_levelint(4)IN
@module_parentnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฉ”๋‰ด โ€” ํ”„๋กœ๊ทธ๋žจ ๋งคํ•‘ ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@module_gbnvarchar(10)IN
@module_cdnvarchar(100)IN
@module_seqint(4)IN
@form_cdnvarchar(100)IN
@form_nmnvarchar(200)IN
@form_seqint(4)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์šฉ์ž๋ณ„ ๋ฉ”๋‰ด ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_plant_cdnvarchar(100)IN
@s_user_cdnvarchar(100)IN
@s_user_nmnvarchar(200)IN
@user_cdnvarchar(100)IN
@user_nmnvarchar(200)IN
@user_passwordnvarchar(100)IN
@user_use_checknvarchar(2)IN
@user_start_datenvarchar(20)IN
@user_end_datenvarchar(20)IN
@plant_cdnvarchar(100)IN
@dept_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@sign_imageimage(16)IN
@log_user_idnvarchar(100)IN
@user_failed_numnvarchar(20)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์šฉ์ž๋ณ„ ๋ฉ”๋‰ดยทํผ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@plant_cdnvarchar(100)IN
@module_gbnvarchar(10)IN
@module_cdnvarchar(100)IN
@user_cdnvarchar(100)IN
@form_cdnvarchar(100)IN
@form_querynvarchar(2)IN
@form_editnvarchar(2)IN
@form_insertnvarchar(2)IN
@form_deletenvarchar(2)IN
@form_printnvarchar(2)IN
@form_transmissionnvarchar(2)IN
@form_favorite_oknvarchar(2)IN
@insert_usernvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์šฉ์ž ๋ ˆ์ด์•„์›ƒ(ํ™”๋ฉด ์„ค์ •) ์กฐํšŒยท์ €์žฅ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@form_cdnvarchar(100)IN
@control_namenvarchar(100)IN
@control_layoutnvarcharIN
@messagenvarchar(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

๋ชฉ์  โ€” ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@user_passwordnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์› ๊ทธ๋ฃน ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(10)IN
@group_textnvarchar(100)IN
@emp_textnvarchar(100)IN
@use_yn_Snvarchar(20)IN
@emp_group_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@sys_plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ทธ๋ฃน๋ณ„ ๋ฉ”๋‰ด ๊ถŒํ•œ ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(4)IN
@dept_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@module_gbnvarchar(100)IN
@form_cdnvarchar(100)IN
@form_querynvarchar(2)IN
@form_editnvarchar(2)IN
@form_insertnvarchar(2)IN
@form_deletenvarchar(2)IN
@form_printnvarchar(2)IN
@form_transmissionnvarchar(2)IN
@form_favorite_oknvarchar(2)IN
@insert_usernvarchar(100)IN
@emp_cd2nvarchar(100)IN
@user_idnvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@module_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ทธ๋ฃน(๊ถŒํ•œ) ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(10)IN
@group_textnvarchar(100)IN
@use_yn_Snvarchar(20)IN
@emp_group_cdnvarchar(100)IN
@emp_group_nmnvarchar(200)IN
@remarknvarchar(510)IN
@use_ynnvarchar(10)IN
@sys_plant_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‹œ์Šคํ…œ ์ ‘๊ทผ ๋กœ๊ทธ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@idint(4)IN
@serialint(4)IN
@emp_cdnvarchar(100)IN
@login_timedatetime(8)IN
@logout_timedatetime(8)IN
@program_idnvarchar(100)IN
@position_nonvarchar(10)IN
@messagenvarchar(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 ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@access_idint(4)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋กœ๊ทธ์ธ ์ธ์ฆ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@user_passwordnvarchar(100)IN
@user_history_idint(4)IN
@olduser_cdnvarchar(100)IN
@olduser_history_idint(4)IN
@parameter_codenvarchar(100)IN
@access_idint(4)OUTPUT
@messagenvarchar(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.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@strsqlvarchar(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

๋ชฉ์  โ€” ์ฝ”๋“œ ๋„์›€๋ง(๊ณตํ†ต ํŒ์—… ์กฐํšŒ).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@keywordnvarchar(100)IN
@company_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@s_item_medi_cdnvarchar(100)IN
@s_cust_nmnvarchar(100)IN
@receipt_sDatenvarchar(20)IN
@form_cdnvarchar(100)IN
@form_nmnvarchar(200)IN
@cust_cdnvarchar(100)IN
@messagenvarchar(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.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunvarchar(50)IN
@start_datedatetime(8)IN
@end_datedatetime(8)IN
@keywordnvarchar(100)IN
@company_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@where_keywordnvarchar(100)IN
@keyword1nvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ณตํ†ต ์ฝ”๋“œ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_common_cdnvarchar(100)IN
@s_common_nmnvarchar(200)IN
@common_cdnvarchar(100)IN
@common_part_cdnvarchar(100)IN
@common_nmnvarchar(200)IN
@common_part_nmnvarchar(200)IN
@common_sys_cknvarchar(2)IN
@common_modulenvarchar(200)IN
@common_etcnvarchar(200)IN
@common_remarknvarchar(200)IN
@use_ynnvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ž๋™ ์ฝ”๋“œ ๋ฐœ๋ฒˆ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@user_cdnvarchar(100)IN
@keywordnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ ์กฐํšŒ(๊ณตํ†ต).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@gbvarchar(20)IN
@divchar(1)IN
@strwherevarchar(20)IN
@strwhere2varchar(20)IN
@messagevarchar(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

๋ชฉ์  โ€” ๊ณต์ง€์‚ฌํ•ญ ์กฐํšŒยท๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@company_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@news_idint(4)IN
@news_seqint(4)IN
@select_start_datenvarchar(20)IN
@select_end_datenvarchar(20)IN
@news_gbnvarchar(100)IN
@news_titlenvarchar(200)IN
@news_contentntext(16)IN
@news_start_datenvarchar(20)IN
@news_end_datenvarchar(20)IN
@news_writernvarchar(100)IN
@news_use_gbnvarchar(2)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‹œ์Šคํ…œ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐํšŒยท์ €์žฅ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(100)IN
@plant_cdnvarchar(100)IN
@parameter_codenvarchar(100)IN
@parameter_valuenvarchar(100)IN
@parameter_remarknvarchar(2000)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ฑฐ๋ž˜์ฒ˜ ๋“ฑ๋กยท์ˆ˜์ •.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@cust_cd_inqnvarchar(100)IN
@cust_gb_inqnvarchar(100)IN
@plant_cdnvarchar(100)IN
@cust_cdnvarchar(100)IN
@cust_nmnvarchar(200)IN
@cust_s_nmnvarchar(200)IN
@cust_e_nmnvarchar(200)IN
@cust_gbnvarchar(10)IN
@cust_catgo_nmnvarchar(200)IN
@cust_busin_nmnvarchar(200)IN
@cust_busin_nonvarchar(20)IN
@cust_ceo_nmnvarchar(100)IN
@cust_ceo_social_numnvarchar(26)IN
@cust_tel_nonvarchar(100)IN
@cust_fax_nonvarchar(100)IN
@cust_email_adnvarchar(100)IN
@cust_homepagenvarchar(200)IN
@cust_emp_nmnvarchar(100)IN
@cust_nationnvarchar(10)IN
@cust_post_cdnvarchar(100)IN
@cust_ad1nvarchar(100)IN
@cust_ad2nvarchar(200)IN
@cust_remarknvarchar(200)IN
@cust_tax_gbnvarchar(2)IN
@cust_delivery_gbnvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@cust_contractchar(1)IN
@supply_typechar(1)IN
@nursing_symbolnvarchar(16)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ถ€์„œ ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@s_plant_cdnvarchar(100)IN
@s_dept_cdnvarchar(100)IN
@s_dept_nmnvarchar(200)IN
@plant_cdnvarchar(100)IN
@dept_cdnvarchar(100)IN
@dept_nmnvarchar(200)IN
@dept_gbnvarchar(10)IN
@dept_mcdnvarchar(100)IN
@dept_levelint(4)IN
@dept_emp_cdnvarchar(100)IN
@dept_use_gbnvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์› ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@s_plant_cdnvarchar(100)IN
@s_dept_cdnvarchar(100)IN
@s_emp_cdnvarchar(100)IN
@s_emp_nmnvarchar(200)IN
@plant_cdnvarchar(100)IN
@dept_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@emp_nmnvarchar(200)IN
@emp_gbnvarchar(10)IN
@emp_psidnvarchar(28)IN
@emp_postnvarchar(10)IN
@emp_rairnvarchar(10)IN
@emp_phonenvarchar(100)IN
@emp_birthnvarchar(10)IN
@emp_birth_gbnvarchar(10)IN
@emp_sexnvarchar(10)IN
@calendar_cdnvarchar(100)IN
@emp_enter_datenvarchar(20)IN
@emp_retire_datenvarchar(20)IN
@emp_retire_remarknvarchar(200)IN
@emp_use_gbnvarchar(2)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‚ฌ์› ์ถ”๊ฐ€ ์ •๋ณด.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@s_plant_cdnvarchar(100)IN
@s_dept_cdnvarchar(100)IN
@s_emp_cdnvarchar(100)IN
@s_emp_nmnvarchar(200)IN
@plant_cdnvarchar(100)IN
@dept_cdnvarchar(100)IN
@emp_cdnvarchar(100)IN
@emp_nmnvarchar(200)IN
@emp_psidnvarchar(26)IN
@emp_postnvarchar(10)IN
@emp_rairnvarchar(10)IN
@emp_birthnvarchar(20)IN
@emp_birth_gbnvarchar(10)IN
@emp_chargenvarchar(10)IN
@manager_emp_cdnvarchar(100)IN
@emp_sexnvarchar(10)IN
@calendar_cdnvarchar(10)IN
@emp_enter_datenvarchar(20)IN
@emp_retire_datenvarchar(20)IN
@emp_retire_remarknvarchar(200)IN
@emp_use_gbnvarchar(2)IN
@emp_phonenvarchar(100)IN
@emp_gbnvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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) ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@s_plant_cdnvarchar(100)IN
@s_plant_nmnvarchar(100)IN
@plant_cdnvarchar(100)IN
@plant_nmnvarchar(200)IN
@plant_busin_nonvarchar(24)IN
@plant_corpo_nonvarchar(28)IN
@plant_ceo_nmnvarchar(100)IN
@plant_catego_nonvarchar(100)IN
@plant_busin_nmnvarchar(100)IN
@plant_post_cdnvarchar(100)IN
@plant_ad1nvarchar(100)IN
@plant_ad2nvarchar(200)IN
@plant_tel_nonvarchar(100)IN
@plant_fax_nonvarchar(100)IN
@plant_email_adnvarchar(100)IN
@plant_email_passnvarchar(100)IN
@plant_office_nmnvarchar(100)IN
@plant_open_datenvarchar(20)IN
@plant_close_datenvarchar(20)IN
@plant_ceo_nonvarchar(28)IN
@plant_ceo_post_cdnvarchar(100)IN
@plant_ceo_ad1nvarchar(100)IN
@plant_ceo_ad2nvarchar(200)IN
@plant_ceo_tel_nonvarchar(100)IN
@plant_branch_gbnvarchar(100)IN
@business_typenvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@company_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํ”„๋กœ๊ทธ๋žจ ์ ‘๊ทผ ์ด๋ ฅ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@form_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‹œ์Šคํ…œ ์ ‘๊ทผ ์ด๋ ฅ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@user_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์‹œ์Šคํ…œ ์˜ค๋ฅ˜ ๋กœ๊ทธ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@usernvarchar(100)IN
@programnvarchar(100)IN
@commandnvarchar(2000)IN
@typenvarchar(10)IN
@form_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํšŒ์‚ฌ ๋‹ฌ๋ ฅ(ํœด์ผยท๊ทผ๋ฌด์ผ).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunnvarchar(4)IN
@s_calendar_cdnvarchar(10)IN
@s_yearint(4)IN
@s_monthint(4)IN
@calendar_cdnvarchar(10)IN
@calendar_datechar(10)IN
@calendar_typenvarchar(10)IN
@attend_timechar(5)IN
@leave_timechar(5)IN
@working_minuteint(4)IN
@rest_minuteint(4)IN
@sys_emp_cdvarchar(50)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ณตํ•ฉ ํŒŒ๋ผ๋ฏธํ„ฐ(๋‹ค์ค‘ ์กฐ๊ฑด) ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunchar(1)IN
@complex_cdnvarchar(100)IN
@complex_idint(4)IN
@code1nvarchar(100)IN
@code2nvarchar(100)IN
@code3nvarchar(100)IN
@code4nvarchar(100)IN
@code5nvarchar(100)IN
@code6nvarchar(100)IN
@code7nvarchar(100)IN
@code8nvarchar(100)IN
@code9nvarchar(100)IN
@code10nvarchar(100)IN
@log_user_idnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๊ฑฐ๋ž˜์ฒ˜ ์ปค์Šคํ…€ ๋“ฑ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_cust_cdnvarchar(100)IN
@plant_cdnvarchar(100)IN
@cust_cdnvarchar(100)IN
@custIn_cdnvarchar(100)IN
@custIn_remarknvarchar(400)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ ์ ๊ฒ€.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@gs1_barcodenvarchar(140)IN
@update_user_cdnvarchar(100)IN
@identitynvarchar(100)OUTPUT
@messagenvarchar(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

๋ชฉ์  โ€” ์„ค๋น„ ์ ๊ฒ€ ์ด๋ ฅ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNchar(1)IN
@S_EQUIPMENT_CDnvarchar(100)IN
@equip_cdnvarchar(100)IN
@process_exam_cdnvarchar(100)IN
@INSERT_EMPnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์„ค๋น„ ๊ธฐ๋ณธ ์ •๋ณด ๊ด€๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNchar(5)IN
@S_EQUIP_TYPEnvarchar(10)IN
@S_EQUIP_CDnvarchar(100)IN
@S_EQUIP_NMnvarchar(200)IN
@EQUIP_CDnvarchar(100)IN
@EQUIP_NMnvarchar(200)IN
@EQUIP_ENMnvarchar(200)IN
@EQUIP_MANAGE_NUMnvarchar(100)IN
@EQUIP_ITEM_NMnvarchar(100)IN
@EQUIP_MODEL_NUMnvarchar(100)IN
@EQUIP_SERIAL_NUMnvarchar(100)IN
@EQUIP_VOLUMEint(4)IN
@EQUIP_TYPEnvarchar(10)IN
@EQUIP_PROD_CUSTnvarchar(100)IN
@EQUIP_PROD_NUMnvarchar(100)IN
@EQUIP_BUY_CUSTnvarchar(100)IN
@EQUIP_MANAGE_CUSTnvarchar(100)IN
@EQUIP_RESPONSE_EMPnvarchar(100)IN
@EQUIP_BUY_DATEnvarchar(20)IN
@EQUIP_INSTALL_DATEnvarchar(20)IN
@EQUIP_WORK_DATEnvarchar(20)IN
@EQUIP_DISUSE_DATEnvarchar(20)IN
@EQUIP_BUY_AMTdecimal(9)IN
@EQUIP_USE_GBnvarchar(2)IN
@EQUIP_PROPERTYnvarchar(200)IN
@PLANT_CDnvarchar(100)IN
@EQUIP_MCDnvarchar(100)IN
@WORKROOM_CDnvarchar(100)IN
@INTERFACE_CDnvarchar(40)IN
@equip_essential_levelnvarchar(10)IN
@equip_prod_cust_cdnvarchar(100)IN
@equip_buy_cust_cdnvarchar(100)IN
@equip_manage_cust_cdnvarchar(100)IN
@equip_disuse_reasonnvarchar(10)IN
@error_plusdecimal(9)IN
@error_minusdecimal(9)IN
@error_unitnvarchar(10)IN
@w_port_nonvarchar(100)IN
@interface_position_nonvarchar(100)IN
@intervaldecimal(9)IN
@doc_namenvarchar(200)IN
@doc_typenvarchar(10)IN
@file_imageimage(16)IN
@fgubunnvarchar(10)IN
@equip_doc_idint(4)IN
@port_nonvarchar(20)IN
@interface_ip_addressnvarchar(100)IN
@line_equip_cdnvarchar(100)IN
@PLC_NODE_NOint(4)IN
@INSERT_USER_CDnvarchar(100)IN
@UPDATE_USER_CDnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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 ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@interface_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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 ์ •๋ณด ๊ธฐ๋ก.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_MacAddressnvarchar(100)IN
@s_POSITION_NOnvarchar(100)IN
@MacAddressnvarchar(100)IN
@IPAddressnvarchar(100)IN
@ComputerNMnvarchar(100)IN
@POSITION_NOnvarchar(100)IN
@DIST_CDnvarchar(4)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์–‘๋ฌธ ์ˆ˜์ถœ ๊ด€๋ จ ์ฒ˜๋ฆฌ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@plant_nmnvarchar(100)IN
@plant_busin_nonvarchar(100)IN
@item_nmnvarchar(100)IN
@item_pack_sizenvarchar(100)IN
@issue_qtyint(4)IN
@lot_nonvarchar(40)IN
@item_pack_barcodenvarchar(40)IN
@barcodenvarchar(200)IN
@medium_barcodenvarchar(200)IN
@large_barcodenvarchar(200)IN
@valid_datenvarchar(20)IN
@sdatenvarchar(20)IN
@edatenvarchar(20)IN
@macaddressnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@insert_user_cdnvarchar(40)IN
@despatch_order_nonvarchar(40)IN
@messagenvarchar(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

๋ชฉ์  โ€” ๋ฒ”์šฉ ๋“ฑ๋ก(๋‹ค์šฉ๋„).

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@GUBUNnvarchar(100)IN
@BARCODEnvarchar(30)IN
@ITEM_PACKUNITnvarchar(100)IN
@ITEM_PACK_BARCODEnvarchar(100)IN
@ITEM_CDnvarchar(100)IN
@ITEM_NMnvarchar(100)IN
@ITEM_PACK_QTnvarchar(100)IN
@insert_user_cdnvarchar(100)IN
@update_user_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์–‘๋ฌธ ์šฐํŽธ๋ฒˆํ˜ธ ์กฐํšŒ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(20)IN
@post_nonvarchar(20)IN
@sidonvarchar(40)IN
@gugunnvarchar(40)IN
@dongnvarchar(100)IN
@center_cdnvarchar(20)IN
@course_cdnvarchar(20)IN
@center_nmnvarchar(40)IN
@dept_mcdnvarchar(100)IN
@dept_levelint(4)IN
@dept_emp_cdnvarchar(100)IN
@dept_use_gbnvarchar(10)IN
@insert_user_cdnvarchar(100)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ํ”„๋กœ๊ทธ๋žจ ์ดˆ๊ธฐํ™”.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@Gubunchar(2)IN
@codenvarchar(100)IN
@messagenvarchar(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

๋ชฉ์  โ€” ์ ‘์ˆ˜ ์ž๋™ ์ƒ์„ฑ.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(100)IN
@s_sdatenvarchar(20)IN
@s_edatenvarchar(20)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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.

๋งค๊ฐœ๋ณ€์ˆ˜

์ด๋ฆ„ํƒ€์ž…๋ฐฉํ–ฅ
@gubunnvarchar(10)IN
@file_idnvarchar(100)IN
@file_use_ynnvarchar(10)IN
@file_namenvarchar(510)IN
@file_pathnvarchar(510)IN
@file_versionnvarchar(510)IN
@file_sizeint(4)IN
@file_modify_datenvarchar(510)IN
@file_dataimage(16)IN
@sys_emp_cdnvarchar(100)IN
@messagenvarchar(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
Last updated on