window.repositoryObject = {"parameters_custom_fields":[],"object_id":"f382","name":"FN_SHOPLINKER_DEVL_FEE","subtype":"FUNCTION","is_user_defined":false,"description":null,"summary":[{"field":"Documentation","value":{"_type":"link","name":"style24@172.30.90.100","id":"d10"}},{"field":"Schema","value":""},{"field":"Name","value":"FN_SHOPLINKER_DEVL_FEE"},{"field":"Type","value":"Function"}],"script":"BEGIN\r\n\r\n/*\r\n1. 샵링커 자동 주문수집시 배송비 합산여부가 Y인 몰만 SUM 값으로 배송비를 결정한다. \r\n2. 샵링커 자동 주문수집시 배송비 합산여부가 N인 몰 또는 엑셀업로드를 통한 주문건은 SUM값이 아닌 아래 로직을 따른다. \r\n    A : 배송비가 모두 동일한경우 -> 해당 배송비 금액 1개로만 배송비를 결정한다. \r\n    B : 배송비가 다른경우 -> 실패로 떨군다.\r\n3. 21.10.13 기준 배송비 SUM (DELV_FEE_SUM_YN) 관련 내용 => 수집모니터링을 통해서 확인해야 함..\r\n   - SUM 하지 않는 곳(N) : 롯데아이몰, 패션플러스, 롯데온\r\n   - SUM 하는 곳 (Y) : 하프클럽, 신세계닷컴2.0, 보리보리\r\n   - SUM 하고있지만 확인이 필요한곳 (Y) : (주)현대홈쇼핑, GS홈쇼핑, 11번가, 무신사스토어, 카카오톡 스토어 => 배송비가 0원으로만 와서 현재시점 확인불가\r\n    \r\nI_UPLOAD_GB : 주문등록위치 S: 샵링커 / E: 엑셀업로드 \r\nI_EXTMALL_ID : 쇼핑몰몰 ID\r\nI_EXTMALL_ORDER_ID : 쇼핑몰 주문번호\r\nV_DELV_FEE_SUM_YN  : 배송비 합산여부\r\nV_DELV_FEE_CNT : 배송비 수\r\nV_DELV_FEE : 배송비금액\r\n*/\r\n\t\r\n\tDECLARE O_RET_VALUE INT;\r\n    DECLARE V_DELV_FEE_SUM_YN CHAR(1);\r\n    DECLARE V_DELV_FEE_CNT INT;\r\n    DECLARE V_DELV_FEE INT;\r\n\r\n\t-- 1. 배송비 합산여부 \r\n\tSELECT DELV_FEE_SUM_YN INTO V_DELV_FEE_SUM_YN \r\n\tFROM TB_EXTMALL WHERE EXTMALL_ID = I_EXTMALL_ID;\r\n\r\n\t-- 2. 합산여부가 N 이거나, 엑셀업로드를 통한 주문등록시 \r\n\tIF 'N' = V_DELV_FEE_SUM_YN OR 'E' = I_UPLOAD_GB THEN\r\n        \r\n\t\tSELECT \r\n\t\t\tCOUNT(distinct DELV_FEE), MAX(DELV_FEE) \r\n\t\t\tINTO V_DELV_FEE_CNT, V_DELV_FEE\r\n\t\tFROM TB_EXTMALL_ORDER_UPLOAD A\r\n\t\tWHERE A.UPLOAD_STAT = 'G021_00'\r\n\t\tAND EXTMALL_ORDER_ID = I_EXTMALL_ORDER_ID;\r\n       \r\n\t\tIF 1 = V_DELV_FEE_CNT THEN\r\n\t\t\tSET O_RET_VALUE = V_DELV_FEE; -- 정상(배송비 금액이 모두 같은경우)\r\n\t\tELSE \r\n\t\t\tSET O_RET_VALUE = -1; -- 실패 (배송비 다른경우)\r\n\t\tEND IF;\r\n\r\n\tELSE\r\n\r\n\t\tSELECT\r\n\t\t\tSUM(A.DELV_FEE) INTO O_RET_VALUE\r\n\t\tFROM TB_EXTMALL_ORDER_UPLOAD A\r\n\t\tWHERE A.UPLOAD_STAT = 'G021_00'\r\n\t\tAND EXTMALL_ORDER_ID = I_EXTMALL_ORDER_ID;\r\n\r\n    END if;\r\n\t\r\n\tRETURN O_RET_VALUE;\r\n\r\nend","parameters":[{"name":"Returns","description":null,"mode":"OUT","data_type":"int(10, 0)","custom_fields":{}},{"name":"I_UPLOAD_GB","description":null,"mode":"IN","data_type":"char(1)","custom_fields":{}},{"name":"I_EXTMALL_ID","description":null,"mode":"IN","data_type":"varchar(20)","custom_fields":{}},{"name":"I_EXTMALL_ORDER_ID","description":null,"mode":"IN","data_type":"varchar(20)","custom_fields":{}}],"dependencies":null,"imported_at":"2021-11-11 16:37"};