Просмотр исходного кода

Merge remote-tracking branch 'origin/develop' into 1041

card007 4 лет назад
Родитель
Сommit
b1750fec80

+ 9 - 0
src/main/java/com/style24/admin/biz/dao/TsaWithdrawDao.java

@@ -202,4 +202,13 @@ public interface TsaWithdrawDao {
 	 */
 	Withdraw getWithdrawInfo(Withdraw withdraw);
 	
+	/**
+	 * 회수예외 CS메모저장
+	 * 
+	 * @param WithdrawExc
+	 * @return 
+	 * @author moon
+	 * @since 2021. 08. 20
+	 */
+	void updateCsMemo(WithdrawExc withdrawExc);	
 }

+ 12 - 0
src/main/java/com/style24/admin/biz/service/TsaWithdrawService.java

@@ -560,4 +560,16 @@ public class TsaWithdrawService {
 		return withdrawDao.getRefundInfo(withdraw);
 	}
 
+	/**
+	 * 회수예외 CS메모저장
+	 *
+	 * @param Delivery
+	 * @return
+	 * @author moon
+	 * @since 2021. 08. 20
+	 */	
+	@Transactional("shopTxnManager")
+	public void updateCsMemo(WithdrawExc withdrawExc) {
+		withdrawDao.updateCsMemo(withdrawExc);
+	}	
 }

+ 17 - 0
src/main/java/com/style24/admin/biz/web/TsaWithdrawController.java

@@ -478,4 +478,21 @@ public class TsaWithdrawController extends TsaBaseController {
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
 	
+	/**
+	 * 회수예외관리 - c/s메모저장
+	 * 
+	 * @param
+	 * @return
+	 * @throws Exception
+	 * @author moon
+	 * @since 2021. 08. 20
+	 */
+	@PostMapping("/exception/memo/save")
+	@ResponseBody
+	public GagaResponse updateWithdrawExceptionCsMemoSave(@RequestBody WithdrawExc withdrawExc) {
+		withdrawService.updateCsMemo(withdrawExc);
+		
+		return super.ok(message.getMessage("SUCC_0001"));
+	}
+	
 }

+ 15 - 13
src/main/java/com/style24/persistence/domain/GoodsSettle.java

@@ -43,20 +43,22 @@ public class GoodsSettle extends TscBaseDomain {
 	private int mallPrice;				// 몰판매가
 	private int sellPrice;				// 판매가(정산용)
 	private int sellQty;				// 판매수량
-	private double sellAmt;				// 판매금액(CPN1_DC_AMT가 빠진 금액이 들어가 있음)
-	private double cpn1DcAmt;			// 즉시사용쿠폰금액
-	private double goodsCpnDcAmt;		// 상품쿠폰사용금액
-	private double cartCpnDcAmt;		// 주문서쿠폰사용금액
-	private double pntDcAmt;			// 포인트사용금액
-	private double tmtbDcAmt;			// 다다익선할인금액
-	private double gfcdUseAmt;			// 상품권사용금액
-	private double selfCpnDcAmt;		// 자사쿠폰분담액
-	private double supplyCompCpnDcAmt;	// 입점쿠폰분담액
-	private double realSellPrice;		// 실판매가
-	private double realSellAmt;			// 실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)
+	private int sellAmt;				// 판매금액(CPN1_DC_AMT가 빠진 금액이 들어가 있음)
+	private int cpn1DcAmt;				// 즉시사용쿠폰금액
+	private int goodsCpnDcAmt;			// 상품쿠폰사용금액
+	private int cartCpnDcAmt;			// 주문서쿠폰사용금액
+	private int pntDcAmt;				// 포인트사용금액
+	private int tmtbDcAmt;				// 다다익선할인금액
+	private int selfTmtbDcAmt;			// 자사다다익선분담액
+	private int supplyCompTmtbDcAmt;	// 입점다다익선분담액
+	private int gfcdUseAmt;				// 상품권사용금액
+	private int selfCpnDcAmt;			// 자사쿠폰분담액
+	private int supplyCompCpnDcAmt;		// 입점쿠폰분담액
+	private int realSellPrice;			// 실판매가
+	private int realSellAmt;			// 실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)
 	private double sellFeeRate;			// 판매수수료율
-	private double sellFeeAmt;			// 수수료(실판매금액 * 판매수수료율)
-	private double settleAmt;			// 정산대상액(실판매금액 - 수수료)
+	private int sellFeeAmt;				// 수수료(실판매금액 * 판매수수료율)
+	private int settleAmt;				// 정산대상액(실판매금액 - 수수료)
 
 	// 검색조건
 	private String salesStdt;			// 매출시작일자

+ 3 - 0
src/main/java/com/style24/persistence/domain/SettleConfirm.java

@@ -28,6 +28,9 @@ public class SettleConfirm extends TscBaseDomain {
 	private int cpnDcAmt;				// 쿠폰할인금액
 	private int selfCpnDcAmt;			// 자사쿠폰분담액
 	private int supplyCompCpnDcAmt;		// 입점쿠폰분담액
+	private int tmtbDcAmt;				// 다다익선할인금액
+	private int selfTmtbDcAmt;			// 자사다다익선분담액
+	private int supplyCompTmtbDcAmt;	// 입점다다익선분담액
 	private int billAmt;				// 계산서발행금액
 	private int supplyAmt;				// 공급금액
 	private int taxAmt;					// 세액

+ 181 - 142
src/main/java/com/style24/persistence/mybatis/shop/TsaSettle.xml

@@ -5,135 +5,152 @@
 	<!-- 상품정산 목록 -->
 	<select id="getGoodsSettleList" parameterType="GoodsSettle" resultType="GoodsSettle">
 		/* TsaSettle.getGoodsSettleList */
-		SELECT ODIH.ORD_NO                                                         /*주문번호*/
-		     , ODIH.ORD_DTL_NO                                                     /*주문상세번호*/
-		     , ODIH.MALL_GB                                                        /*몰구분*/
-		     , ODIH.MALL_GB_NM                                                     /*몰구분명*/
-		     , ODIH.EXTMALL_ORDER_ID                                               /*제휴몰주문번호*/
-		     , ODIH.EXTMALL_ID                                                     /*제휴몰ID*/
-		     , ODIH.EXTMALL_NM                                                     /*제휴몰명*/
-		     , ODIH.SUPPLY_COMP_CD                                                 /*공급업체코드*/
-		     , ODIH.SUPPLY_COMP_NM                                                 /*공급업체명*/
-		     , ODIH.DISTRIBUTION_GB                                                /*유통구분*/
-		     , ODIH.DISTRIBUTION_GB_NM                                             /*유통구분명*/
-		     , ODIH.SETTLE_DAY                                                     /*정산주기*/
-		     , ODIH.SETTLE_DAY_NM                                                  /*정산주기명*/
-		     , ODIH.ORD_DT                                                         /*주문일시*/
-		     , ODIH.SETTLE_GB                                                      /*정산구분*/
-		     , ODIH.SETTLE_GB_NM                                                   /*정산구분명*/
-		     , ODIH.OCCUR_DT                                                       /*발생일시*/
-		     , ODIH.GOODS_CD                                                       /*상품코드*/
-		     , ODIH.GOODS_NM                                                       /*상품명*/
-		     , ODIH.BRAND_CD                                                       /*브랜드코드*/
-		     , ODIH.BRAND_ENM                                                      /*브랜드명*/
-		     , ODIH.MD_NM                                                          /*담당MD*/
-		     , ODIH.ITEM_CD                                                        /*단품코드*/
-		     , ODIH.OPT_CD1                                                        /*옵션코드1*/
-		     , ODIH.OPT_CD2                                                        /*옵션코드2*/
-		     , ODIH.MALL_PRICE                                                     /*몰판매가*/
-		     , ODIH.SELL_PRICE                                                     /*판매가*/
-		     , ODIH.SELL_QTY                                                       /*판매수량*/
-		     , ODIH.SELL_AMT                                                       /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
-		     , ODIH.CPN1_DC_AMT                                                    /*즉시사용쿠폰금액*/
-		     , ODIH.GOODS_CPN_DC_AMT                                               /*상품쿠폰사용금액*/
-		     , ODIH.CART_CPN_DC_AMT                                                /*주문서쿠폰사용금액*/
-		     , ODIH.PNT_DC_AMT                                                     /*포인트사용금액*/
-		     , ODIH.TMTB_DC_AMT                                                    /*다다익선할인금액*/
-		     , ODIH.GFCD_USE_AMT                                                   /*상품권사용금액*/
-		     , ODIH.SELF_CPN_DC_AMT                                                /*자사쿠폰분담액*/
-		     , ODIH.SUPPLY_COMP_CPN_DC_AMT                                         /*입점쿠폰분담액*/
+		SELECT ODIH.ORD_NO                                                                /*주문번호*/
+		     , ODIH.ORD_DTL_NO                                                            /*주문상세번호*/
+		     , ODIH.MALL_GB                                                               /*몰구분*/
+		     , ODIH.MALL_GB_NM                                                            /*몰구분명*/
+		     , ODIH.EXTMALL_ORDER_ID                                                      /*제휴몰주문번호*/
+		     , ODIH.EXTMALL_ID                                                            /*제휴몰ID*/
+		     , ODIH.EXTMALL_NM                                                            /*제휴몰명*/
+		     , ODIH.SUPPLY_COMP_CD                                                        /*공급업체코드*/
+		     , ODIH.SUPPLY_COMP_NM                                                        /*공급업체명*/
+		     , ODIH.DISTRIBUTION_GB                                                       /*유통구분*/
+		     , ODIH.DISTRIBUTION_GB_NM                                                    /*유통구분명*/
+		     , ODIH.SETTLE_DAY                                                            /*정산주기*/
+		     , ODIH.SETTLE_DAY_NM                                                         /*정산주기명*/
+		     , ODIH.ORD_DT                                                                /*주문일시*/
+		     , ODIH.SETTLE_GB                                                             /*정산구분*/
+		     , ODIH.SETTLE_GB_NM                                                          /*정산구분명*/
+		     , ODIH.OCCUR_DT                                                              /*발생일시*/
+		     , ODIH.GOODS_CD                                                              /*상품코드*/
+		     , ODIH.GOODS_NM                                                              /*상품명*/
+		     , ODIH.BRAND_CD                                                              /*브랜드코드*/
+		     , ODIH.BRAND_ENM                                                             /*브랜드명*/
+		     , ODIH.MD_NM                                                                 /*담당MD*/
+		     , ODIH.ITEM_CD                                                               /*단품코드*/
+		     , ODIH.OPT_CD1                                                               /*옵션코드1*/
+		     , ODIH.OPT_CD2                                                               /*옵션코드2*/
+		     , ODIH.MALL_PRICE                                                            /*몰판매가*/
+		     , ODIH.SELL_PRICE                                                            /*판매가*/
+		     , ODIH.SELL_QTY                                                              /*판매수량*/
+		     , ODIH.SELL_AMT                                                              /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
+		     , ODIH.CPN1_DC_AMT                                                           /*즉시사용쿠폰금액*/
+		     , ODIH.GOODS_CPN_DC_AMT                                                      /*상품쿠폰사용금액*/
+		     , ODIH.CART_CPN_DC_AMT                                                       /*주문서쿠폰사용금액*/
+		     , ODIH.PNT_DC_AMT                                                            /*포인트사용금액*/
+		     , ODIH.TMTB_DC_AMT                                                           /*다다익선할인금액*/
+		     , ODIH.SELF_TMTB_DC_AMT                                                      /*자사다다익선분담액*/
+		     , ODIH.SUPPLY_COMP_TMTB_DC_AMT                                               /*입점다다익선분담액*/
+		     , ODIH.GFCD_USE_AMT                                                          /*상품권사용금액*/
+		     , ODIH.SELF_CPN_DC_AMT                                                       /*자사쿠폰분담액*/
+		     , ODIH.SUPPLY_COMP_CPN_DC_AMT                                                /*입점쿠폰분담액*/
 		     , CASE WHEN ODIH.SELL_QTY = 0 THEN 0
 		            ELSE
 		                (ODIH.SELL_AMT
 		                 - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		                 - ODIH.TMTB_DC_AMT
 		                ) / ODIH.SELL_QTY
-		       END                                       AS REAL_SELL_PRICE        /*실판매가*/
+		       END                                              AS REAL_SELL_PRICE        /*실판매가*/
 		     , ODIH.SELL_AMT
 		       - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
-		       - ODIH.TMTB_DC_AMT                        AS REAL_SELL_AMT          /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
-		     , ODIH.SELL_FEE_RATE                                                  /*판매수수료율*/
+		       - ODIH.TMTB_DC_AMT                               AS REAL_SELL_AMT          /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
+		     , ODIH.SELL_FEE_RATE                                                         /*판매수수료율*/
 		     , ROUND((ODIH.SELL_AMT
 		              - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		              - ODIH.TMTB_DC_AMT
-		             ) * (ODIH.SELL_FEE_RATE / 100),0)   AS SELL_FEE_AMT           /*수수료*/
+		             ) * (ODIH.SELL_FEE_RATE / 100),0)          AS SELL_FEE_AMT           /*수수료*/
 		     , (ODIH.SELL_AMT
 		        - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		        - ODIH.TMTB_DC_AMT)
 		       - ROUND((ODIH.SELL_AMT
 		                - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		                - ODIH.TMTB_DC_AMT
-		               ) * (ODIH.SELL_FEE_RATE / 100),0) AS SETTLE_AMT             /*정산대상액(실판매금액 - 수수료)*/
+		               ) * (ODIH.SELL_FEE_RATE / 100),0)
+		       + (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) AS SETTLE_AMT             /*정산대상액(실판매금액 - 수수료 + 자사다다익선분담액 + 자사쿠폰분담액)*/
 		FROM   (
-		        SELECT ODIH.ORD_DTL_ITEM_HST_SQ                                                           /*주문상세단품이력일련번호*/
-		             , ODIH.ORD_NO                                                                        /*주문번호*/
-		             , ODIH.ORD_DTL_NO                                                                    /*주문상세번호*/
-		             , O.MALL_GB                                                                          /*몰구분*/
-		             , FN_GET_CODE_NM('G011',O.MALL_GB)                         AS MALL_GB_NM             /*몰구분명*/
-		             , OD.EXTMALL_ORDER_ID                                                                /*제휴몰주문번호*/
-		             , OD.EXTMALL_ID                                                                      /*제휴몰ID*/
-		             , E.EXTMALL_NM                                                                       /*제휴몰명*/
-		             , OD.SUPPLY_COMP_CD                                                                  /*공급업체코드*/
-		             , SC.SUPPLY_COMP_NM                                                                  /*공급업체명*/
-		             , SC.DISTRIBUTION_GB                                                                 /*유통구분*/
-		             , FN_GET_CODE_NM('G065',SC.DISTRIBUTION_GB)                AS DISTRIBUTION_GB_NM     /*유통구분명*/
-		             , SC.SETTLE_DAY                                                                      /*정산주기*/
-		             , FN_GET_CODE_NM('G075',SC.SETTLE_DAY)                     AS SETTLE_DAY_NM          /*정산주기명*/
-		             , DATE_FORMAT(O.ORD_DT,'%Y-%m-%d %H:%i:%S')                AS ORD_DT                 /*주문일시*/
-		             , ODIH.ORD_DTL_STAT                                        AS SETTLE_GB              /*정산구분*/
-		             , FN_GET_CODE_NM('G720',ODIH.ORD_DTL_STAT)                 AS SETTLE_GB_NM           /*정산구분명*/
-		             , DATE_FORMAT(ODIH.REG_DT,'%Y-%m-%d %H:%i:%S')             AS OCCUR_DT               /*발생일시*/
-		             , OD.GOODS_CD                                                                        /*상품코드*/
-		             , G.GOODS_NM                                                                         /*상품명*/
-		             , G.BRAND_CD                                                                         /*브랜드코드*/
-		             , B.BRAND_ENM                                                                        /*브랜드명*/
+		        SELECT ODIH.ORD_DTL_ITEM_HST_SQ                                                                        /*주문상세단품이력일련번호*/
+		             , ODIH.ORD_NO                                                                                     /*주문번호*/
+		             , ODIH.ORD_DTL_NO                                                                                 /*주문상세번호*/
+		             , O.MALL_GB                                                                                       /*몰구분*/
+		             , FN_GET_CODE_NM('G011',O.MALL_GB)                                     AS MALL_GB_NM              /*몰구분명*/
+		             , OD.EXTMALL_ORDER_ID                                                                             /*제휴몰주문번호*/
+		             , OD.EXTMALL_ID                                                                                   /*제휴몰ID*/
+		             , E.EXTMALL_NM                                                                                    /*제휴몰명*/
+		             , OD.SUPPLY_COMP_CD                                                                               /*공급업체코드*/
+		             , SC.SUPPLY_COMP_NM                                                                               /*공급업체명*/
+		             , SC.DISTRIBUTION_GB                                                                              /*유통구분*/
+		             , FN_GET_CODE_NM('G065',SC.DISTRIBUTION_GB)                            AS DISTRIBUTION_GB_NM      /*유통구분명*/
+		             , SC.SETTLE_DAY                                                                                   /*정산주기*/
+		             , FN_GET_CODE_NM('G075',SC.SETTLE_DAY)                                 AS SETTLE_DAY_NM           /*정산주기명*/
+		             , DATE_FORMAT(O.ORD_DT,'%Y-%m-%d %H:%i:%S')                            AS ORD_DT                  /*주문일시*/
+		             , ODIH.ORD_DTL_STAT                                                    AS SETTLE_GB               /*정산구분*/
+		             , FN_GET_CODE_NM('G720',ODIH.ORD_DTL_STAT)                             AS SETTLE_GB_NM            /*정산구분명*/
+		             , DATE_FORMAT(ODIH.REG_DT,'%Y-%m-%d %H:%i:%S')                         AS OCCUR_DT                /*발생일시*/
+		             , OD.GOODS_CD                                                                                     /*상품코드*/
+		             , G.GOODS_NM                                                                                      /*상품명*/
+		             , G.BRAND_CD                                                                                      /*브랜드코드*/
+		             , B.BRAND_ENM                                                                                     /*브랜드명*/
 		             , (SELECT U.USER_NM
 		                FROM   TB_BRAND_MD BM
 		                     , TB_USER U
 		                WHERE  BM.MD_NO = U.USER_NO
 		                AND    BM.BRAND_CD = G.BRAND_CD
 		                AND    BM.FORMAL_GB = G.FORMAL_GB
-		                LIMIT 1)                                                AS MD_NM                  /*담당MD*/
-		             , ODIH.ITEM_CD                                                                       /*단품코드*/
-		             , ODIH.OPT_CD1                                                                       /*옵션코드1*/
-		             , ODIH.OPT_CD2                                                                       /*옵션코드2*/
-		             , ODIH.ITEM_PRICE                                          AS MALL_PRICE             /*몰판매가*/
+		                LIMIT 1)                                                            AS MD_NM                   /*담당MD*/
+		             , ODIH.ITEM_CD                                                                                    /*단품코드*/
+		             , ODIH.OPT_CD1                                                                                    /*옵션코드1*/
+		             , ODIH.OPT_CD2                                                                                    /*옵션코드2*/
+		             , ODIH.ITEM_PRICE                                                      AS MALL_PRICE              /*몰판매가*/
 		             , CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
 		                        IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
 		                    ELSE
 		                        ODIH.ITEM_PRICE
-		               END                                                      AS SELL_PRICE             /*판매가(정산용)*/
+		               END                                                                  AS SELL_PRICE              /*판매가(정산용)*/
 		             , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN 1 ELSE -1 END)
 		               *
 		               CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20'/*판매-배송중*/ THEN
 		                             ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY
 		                         ELSE /*환입-반품완료,환입-교환완료*/
 		                             ODIH.CNCL_RTN_QTY
-		                    END AS SIGNED INT)                                  AS SELL_QTY               /*판매수량*/
+		                    END AS SIGNED INT)                                              AS SELL_QTY                /*판매수량*/
 		             , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN 1 ELSE -1 END)
 		               *
 		               CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20'/*판매-배송중*/ THEN
-		                             ODIH.ORD_AMT - ODIH.CNCL_RTN_AMT + ODIH.CPN1_DC_AMT
+		                             ((ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY) * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
+		                                                                             IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
+		                                                                         ELSE
+		                                                                             ODIH.ITEM_PRICE
+		                                                                    END))
+		                             + ODIH.CPN1_DC_AMT
 		                         ELSE /*환입-반품완료,환입-교환완료*/
-		                             ODIH.CNCL_RTN_AMT + ODIH.CPN1_DC_AMT
-		                    END AS SIGNED INT)                                  AS SELL_AMT               /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
-		             , ODIH.CPN1_DC_AMT                                                                   /*즉시사용쿠폰금액*/
-		             , ODIH.GOODS_CPN_DC_AMT                                                              /*상품쿠폰사용금액*/
-		             , ODIH.CART_CPN_DC_AMT                                                               /*주문서쿠폰사용금액*/
-		             , ODIH.PNT_DC_AMT                                                                    /*포인트사용금액*/
-		             , ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT                    AS TMTB_DC_AMT            /*다다익선할인금액*/
-		             , ODIH.GFCD_USE_AMT                                                                  /*상품권사용금액*/
+		                             (ODIH.CNCL_RTN_QTY * (CASE WHEN O.MALL_GB = 'G011_20' /*제휴몰*/ THEN
+		                                                            IFNULL(EUP.USAC_PRICE,ODIH.ITEM_PRICE)
+		                                                        ELSE
+		                                                            ODIH.ITEM_PRICE
+		                                                   END))
+		                             + ODIH.CPN1_DC_AMT
+		                    END AS SIGNED INT)                                              AS SELL_AMT                /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
+		             , ODIH.CPN1_DC_AMT                                                                                /*즉시사용쿠폰금액*/
+		             , ODIH.GOODS_CPN_DC_AMT                                                                           /*상품쿠폰사용금액*/
+		             , ODIH.CART_CPN_DC_AMT                                                                            /*주문서쿠폰사용금액*/
+		             , ODIH.PNT_DC_AMT                                                                                 /*포인트사용금액*/
+		             , ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT                                AS TMTB_DC_AMT             /*다다익선할인금액*/
+		             , ((100 - IFNULL(TB1.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB1_DC_AMT
+		               + ((100 - IFNULL(TB2.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB2_DC_AMT AS SELF_TMTB_DC_AMT        /*자사다다익선분담액*/
+		             , (IFNULL(TB1.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB1_DC_AMT
+		               + (IFNULL(TB2.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB2_DC_AMT         AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
+		             , ODIH.GFCD_USE_AMT                                                                               /*상품권사용금액*/
 		             , ((100 - IFNULL(CB1.BURDEN_RATE,0)) / 100) * ODIH.CPN1_DC_AMT
 		               + ((100 - IFNULL(CB2.BURDEN_RATE,0)) / 100) * ODIH.GOODS_CPN_DC_AMT
-		               + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT AS SELF_CPN_DC_AMT        /*자사쿠폰분담액*/
+		               + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT   AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
 		             , (IFNULL(CB1.BURDEN_RATE,0) / 100) * ODIH.CPN1_DC_AMT
 		               + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT
-		               + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT         AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
+		               + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT           AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
 		             , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
 		                        OD.SELL_FEE_RATE
 		                    ELSE /*제휴몰*/
 		                        IFNULL(E.SELL_FEE_RATE,0)
-		               END                                                      AS SELL_FEE_RATE          /*판매수수료율*/
+		               END                                                                  AS SELL_FEE_RATE           /*판매수수료율*/
 		        FROM   TB_ORDER_DETAIL_ITEM_HST ODIH
 		        INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
 		        INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
@@ -143,10 +160,14 @@
 		        LEFT OUTER JOIN TB_EXTMALL E ON OD.EXTMALL_ID = E.EXTMALL_ID
 		        LEFT OUTER JOIN TB_COUPON_BURDEN CB1 ON OD.CPN1_CPN_SQ = CB1.CPN_ID
 		                                            AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
-		        LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB1.CPN_ID
-		                                            AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
-		        LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB1.CPN_ID
-		                                            AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
+		        LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB2.CPN_ID
+		                                            AND OD.SUPPLY_COMP_CD = CB2.SUPPLY_COMP_CD
+		        LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB3.CPN_ID
+		                                            AND OD.SUPPLY_COMP_CD = CB3.SUPPLY_COMP_CD
+		        LEFT OUTER JOIN TB_TMTB_BURDEN TB1 ON OD.TMTB1_SQ = TB1.TMTB_SQ
+		                                          AND OD.SUPPLY_COMP_CD = TB1.TMTB_SUPPLY_CD
+		        LEFT OUTER JOIN TB_TMTB_BURDEN TB2 ON OD.TMTB2_SQ = TB2.TMTB_SQ
+		                                          AND OD.SUPPLY_COMP_CD = TB2.TMTB_SUPPLY_CD
 		        LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
 		        WHERE  1 = 1
 		        AND    ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{salesStdt},'%Y-%m-%d')
@@ -200,6 +221,8 @@
 		     , SELF_CPN_DC_AMT
 		     , SUPPLY_COMP_CPN_DC_AMT
 		     , TMTB_DC_AMT
+		     , SELF_TMTB_DC_AMT
+		     , SUPPLY_COMP_TMTB_DC_AMT
 		     , BILL_AMT
 		     , SUPPLY_AMT
 		     , TAX_AMT
@@ -211,28 +234,30 @@
 		     , REG_NO
 		     , REG_DT
 		)
-		SELECT ODIH.USAC_YM                                                      /*정산연월*/
-		     , ODIH.SUPPLY_COMP_CD                                               /*공급업체코드*/
-		     , SC.ECONTRACT_YN                                                   /*전자계약여부*/
-		     , SC.DISTRIBUTION_GB                                                /*유통구분*/
-		     , SC.SETTLE_DAY                                                     /*정산주기*/
-		     , SUM(ODIH.SELL_QTY)                      AS SELL_QTY               /*판매수량*/
-		     , SUM(ODIH.REAL_SELL_AMT)                 AS REAL_SELL_AMT          /*실판매금액(=상품총액)*/
-		     , SUM(ODIH.SELL_FEE_AMT)                  AS SELL_FEE_AMT           /*수수료*/
-		     , SUM(ODIH.CPN_DC_AMT)                    AS CPN_DC_AMT             /*쿠폰할인금액*/
-		     , SUM(ODIH.SELF_CPN_DC_AMT)               AS SELF_CPN_DC_AMT        /*자사쿠폰분담액*/
-		     , SUM(ODIH.SUPPLY_COMP_CPN_DC_AMT)        AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
-		     , SUM(ODIH.TMTB_DC_AMT)                   AS TMTB_DC_AMT            /*다다익선할인금액*/
-		     , SUM(CASE WHEN ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT <![CDATA[<]]> 0 THEN 0
-		                ELSE ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT
+		SELECT ODIH.USAC_YM                                                       /*정산연월*/
+		     , ODIH.SUPPLY_COMP_CD                                                /*공급업체코드*/
+		     , SC.ECONTRACT_YN                                                    /*전자계약여부*/
+		     , SC.DISTRIBUTION_GB                                                 /*유통구분*/
+		     , SC.SETTLE_DAY                                                      /*정산주기*/
+		     , SUM(ODIH.SELL_QTY)                      AS SELL_QTY                /*판매수량*/
+		     , SUM(ODIH.REAL_SELL_AMT)                 AS REAL_SELL_AMT           /*실판매금액(=상품총액)*/
+		     , SUM(ODIH.SELL_FEE_AMT)                  AS SELL_FEE_AMT            /*수수료*/
+		     , SUM(ODIH.CPN_DC_AMT)                    AS CPN_DC_AMT              /*쿠폰할인금액*/
+		     , SUM(ODIH.SELF_CPN_DC_AMT)               AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
+		     , SUM(ODIH.SUPPLY_COMP_CPN_DC_AMT)        AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		     , SUM(ODIH.TMTB_DC_AMT)                   AS TMTB_DC_AMT             /*다다익선할인금액*/
+		     , SUM(ODIH.SELF_TMTB_DC_AMT)              AS SELF_TMTB_DC_AMT        /*자사다다익선분담액*/
+		     , SUM(ODIH.SUPPLY_COMP_TMTB_DC_AMT)       AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
+		     , SUM(CASE WHEN ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) <![CDATA[<]]> 0 THEN 0
+		                ELSE ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)
 		           END)                                AS BILL_AMT               /*계산서발행금액*/
-		     , TRUNCATE(SUM(CASE WHEN ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT <![CDATA[<]]> 0 THEN 0
-		                         ELSE ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT
+		     , TRUNCATE(SUM(CASE WHEN ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) <![CDATA[<]]> 0 THEN 0
+		                         ELSE ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)
 		                    END) / 1.1,0)              AS SUPPLY_AMT             /*공급가액*/
-		     , SUM(CASE WHEN ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT <![CDATA[<]]> 0 THEN 0
-		                ELSE ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT
-		           END) - (TRUNCATE(SUM(CASE WHEN ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT <![CDATA[<]]> 0 THEN 0
-		                                     ELSE ODIH.SELL_FEE_AMT - ODIH.SELF_CPN_DC_AMT
+		     , SUM(CASE WHEN ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) <![CDATA[<]]> 0 THEN 0
+		                ELSE ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)
+		           END) - (TRUNCATE(SUM(CASE WHEN ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT) <![CDATA[<]]> 0 THEN 0
+		                                     ELSE ODIH.SELL_FEE_AMT - (ODIH.SELF_CPN_DC_AMT + ODIH.SELF_TMTB_DC_AMT)
 		                                END) / 1.1,0)) AS TAX_AMT                /*세액*/
 		     , SUM(ODIH.DELV_FEE)                      AS DELV_FEE               /*배송비*/
 		     , SC.BANK_CD                                                        /*은행코드*/
@@ -242,33 +267,35 @@
 		     , #{regNo}                                AS REG_NO
 		     , NOW()                                   AS REG_DT
 		FROM   (
-		        SELECT DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m')            AS USAC_YM                /*정산연월*/
-		             , ODIH.SUPPLY_COMP_CD                                                    /*공급업체코드*/
-		             , SUM(ODIH.SELL_QTY)                           AS SELL_QTY               /*판매수량*/
+		        SELECT DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m')            AS USAC_YM                 /*정산연월*/
+		             , ODIH.SUPPLY_COMP_CD                                                     /*공급업체코드*/
+		             , SUM(ODIH.SELL_QTY)                           AS SELL_QTY                /*판매수량*/
 		             , SUM(ODIH.SELL_AMT
 		                   - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		                   - ODIH.TMTB_DC_AMT)                      AS REAL_SELL_AMT /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
 		             , ROUND(SUM((ODIH.SELL_AMT
 		                          - (ODIH.CPN1_DC_AMT + ODIH.GOODS_CPN_DC_AMT + ODIH.CART_CPN_DC_AMT)
 		                          - ODIH.TMTB_DC_AMT
-		                         ) * (ODIH.SELL_FEE_RATE / 100)),0) AS SELL_FEE_AMT           /*수수료*/
+		                         ) * (ODIH.SELL_FEE_RATE / 100)),0) AS SELL_FEE_AMT            /*수수료*/
 		             , SUM(ODIH.CPN1_DC_AMT +
 		                   ODIH.GOODS_CPN_DC_AMT +
-		                   ODIH.CART_CPN_DC_AMT)                    AS CPN_DC_AMT             /*쿠폰할인금액*/
-		             , SUM(ODIH.SELF_CPN_DC_AMT)                    AS SELF_CPN_DC_AMT        /*자사쿠폰분담액*/
-		             , SUM(ODIH.SUPPLY_COMP_CPN_DC_AMT)             AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
-		             , SUM(ODIH.TMTB_DC_AMT)                        AS TMTB_DC_AMT            /*다다익선할인금액*/
-		             , 0                                            AS DELV_FEE               /*배송비*/
+		                   ODIH.CART_CPN_DC_AMT)                    AS CPN_DC_AMT              /*쿠폰할인금액*/
+		             , SUM(ODIH.SELF_CPN_DC_AMT)                    AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
+		             , SUM(ODIH.SUPPLY_COMP_CPN_DC_AMT)             AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		             , SUM(ODIH.TMTB_DC_AMT)                        AS TMTB_DC_AMT             /*다다익선할인금액*/
+		             , SUM(ODIH.SELF_TMTB_DC_AMT)                   AS SELF_TMTB_DC_AMT        /*자사다다익선분담액*/
+		             , SUM(ODIH.SUPPLY_COMP_TMTB_DC_AMT)            AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
+		             , 0                                            AS DELV_FEE                /*배송비*/
 		        FROM   (
-		                SELECT ODIH.REG_DT                                                        AS OCCUR_DT               /*발생일시*/
-		                     , OD.SUPPLY_COMP_CD                                                                            /*공급업체코드*/
+		                SELECT ODIH.REG_DT                                                          AS OCCUR_DT                /*발생일시*/
+		                     , OD.SUPPLY_COMP_CD                                                                               /*공급업체코드*/
 		                     , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN 1 ELSE -1 END)
 		                       *
 		                       CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20'/*판매-배송중*/ THEN
 		                                     ODIH.ORD_QTY - ODIH.CNCL_RTN_QTY
 		                                 ELSE /*환입-반품완료,환입-교환완료*/
 		                                     ODIH.CNCL_RTN_QTY
-		                            END AS SIGNED INT)                                            AS SELL_QTY               /*판매수량*/
+		                            END AS SIGNED INT)                                              AS SELL_QTY                /*판매수량*/
 		                     , (CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20' THEN 1 ELSE -1 END)
 		                       *
 		                       CAST(CASE WHEN ODIH.ORD_DTL_STAT = 'G720_20'/*판매-배송중*/ THEN
@@ -285,33 +312,41 @@
 		                                                                    ODIH.ITEM_PRICE
 		                                                           END))
 		                                     + ODIH.CPN1_DC_AMT
-		                            END AS SIGNED INT)                                            AS SELL_AMT               /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
-		                     , ODIH.CPN1_DC_AMT                                                                             /*즉시사용쿠폰금액*/
-		                     , ODIH.GOODS_CPN_DC_AMT                                                                        /*상품쿠폰사용금액*/
-		                     , ODIH.CART_CPN_DC_AMT                                                                         /*주문서쿠폰사용금액*/
-		                     , ODIH.PNT_DC_AMT                                                                              /*포인트사용금액*/
-		                     , ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT                              AS TMTB_DC_AMT            /*다다익선할인금액*/
+		                            END AS SIGNED INT)                                              AS SELL_AMT                /*판매금액(ORD_AMT에는 CPN1_DC_AMT가 빠진 금액이 들어가 있음)*/
+		                     , ODIH.CPN1_DC_AMT                                                                                /*즉시사용쿠폰금액*/
+		                     , ODIH.GOODS_CPN_DC_AMT                                                                           /*상품쿠폰사용금액*/
+		                     , ODIH.CART_CPN_DC_AMT                                                                            /*주문서쿠폰사용금액*/
+		                     , ODIH.PNT_DC_AMT                                                                                 /*포인트사용금액*/
+		                     , ODIH.TMTB1_DC_AMT + ODIH.TMTB2_DC_AMT                                AS TMTB_DC_AMT             /*다다익선할인금액*/
+		                     , ((100 - IFNULL(TB1.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB1_DC_AMT
+		                       + ((100 - IFNULL(TB2.TMTB_BURDEN_RATE,0)) / 100) * ODIH.TMTB2_DC_AMT AS SELF_TMTB_DC_AMT        /*자사다다익선분담액*/
+		                     , (IFNULL(TB1.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB1_DC_AMT
+		                       + (IFNULL(TB2.TMTB_BURDEN_RATE,0) / 100) * ODIH.TMTB2_DC_AMT         AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
 		                     , ((100 - IFNULL(CB1.BURDEN_RATE,0)) / 100) * ODIH.CPN1_DC_AMT
 		                       + ((100 - IFNULL(CB2.BURDEN_RATE,0)) / 100) * ODIH.GOODS_CPN_DC_AMT
-		                       + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT AS SELF_CPN_DC_AMT        /*자사쿠폰분담액*/
+		                       + ((100 - IFNULL(CB3.BURDEN_RATE,0)) / 100) * ODIH.CART_CPN_DC_AMT   AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
 		                     , (IFNULL(CB1.BURDEN_RATE,0) / 100) * ODIH.CPN1_DC_AMT
 		                       + (IFNULL(CB2.BURDEN_RATE,0) / 100) * ODIH.GOODS_CPN_DC_AMT
-		                       + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT         AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
+		                       + (IFNULL(CB3.BURDEN_RATE,0) / 100) * ODIH.CART_CPN_DC_AMT           AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
 		                     , CASE WHEN O.MALL_GB = 'G011_10' /*자사몰*/ THEN
 		                                OD.SELL_FEE_RATE
 		                            ELSE /*제휴몰*/
 		                                IFNULL(E.SELL_FEE_RATE,0)
-		                       END                                                                AS SELL_FEE_RATE          /*판매수수료율*/
+		                       END                                                                  AS SELL_FEE_RATE           /*판매수수료율*/
 		                FROM   TB_ORDER_DETAIL_ITEM_HST ODIH
 		                INNER JOIN TB_ORDER_DETAIL OD ON ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
 		                INNER JOIN TB_ORDER O ON ODIH.ORD_NO = O.ORD_NO
 		                LEFT OUTER JOIN TB_EXTMALL E ON OD.EXTMALL_ID = E.EXTMALL_ID
 		                LEFT OUTER JOIN TB_COUPON_BURDEN CB1 ON OD.CPN1_CPN_SQ = CB1.CPN_ID
 		                                                    AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
-		                LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB1.CPN_ID
-		                                                    AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
-		                LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB1.CPN_ID
-		                                                    AND OD.SUPPLY_COMP_CD = CB1.SUPPLY_COMP_CD
+		                LEFT OUTER JOIN TB_COUPON_BURDEN CB2 ON OD.GOODS_CPN_SQ = CB2.CPN_ID
+		                                                    AND OD.SUPPLY_COMP_CD = CB2.SUPPLY_COMP_CD
+		                LEFT OUTER JOIN TB_COUPON_BURDEN CB3 ON OD.CART_CPN_SQ = CB3.CPN_ID
+		                                                    AND OD.SUPPLY_COMP_CD = CB3.SUPPLY_COMP_CD
+		                LEFT OUTER JOIN TB_TMTB_BURDEN TB1 ON OD.TMTB1_SQ = TB1.TMTB_SQ
+		                                                  AND OD.SUPPLY_COMP_CD = TB1.TMTB_SUPPLY_CD
+		                LEFT OUTER JOIN TB_TMTB_BURDEN TB2 ON OD.TMTB2_SQ = TB2.TMTB_SQ
+		                                                  AND OD.SUPPLY_COMP_CD = TB2.TMTB_SUPPLY_CD
 		                LEFT OUTER JOIN TB_EXTMALL_USAC_PRICE EUP ON ODIH.ORD_DTL_ITEM_HST_SQ = EUP.ORD_DTL_ITEM_HST_SQ
 		                WHERE  1 = 1
 		                AND    ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d')
@@ -324,16 +359,18 @@
 		        UNION ALL
 		        
 		        /*업체별배송비*/
-		        SELECT DATE_FORMAT(OD.OCCUR_DT,'%Y%m') AS USAC_YM                /*정산연월*/
-		             , OD.SUPPLY_COMP_CD                                         /*공급업체코드*/
-		             , 0                               AS SELL_QTY               /*판매수량*/
-		             , 0                               AS REAL_SELL_AMT          /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
-		             , 0                               AS SELL_FEE_AMT           /*수수료*/
-		             , 0                               AS CPN_DC_AMT             /*쿠폰할인금액*/
-		             , 0                               AS SELF_CPN_DC_AMT        /*자사쿠폰분담액*/
-		             , 0                               AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
-		             , 0                               AS TMTB_DC_AMT            /*다다익선할인금액*/
-		             , SUM(DF.DELV_FEE)                AS DELV_FEE               /*배송비*/
+		        SELECT DATE_FORMAT(OD.OCCUR_DT,'%Y%m') AS USAC_YM                 /*정산연월*/
+		             , OD.SUPPLY_COMP_CD                                          /*공급업체코드*/
+		             , 0                               AS SELL_QTY                /*판매수량*/
+		             , 0                               AS REAL_SELL_AMT           /*실판매금액(=상품총액. 쿠폰과 다다익선만 차감. 상품권과 포인트는 포함)*/
+		             , 0                               AS SELL_FEE_AMT            /*수수료*/
+		             , 0                               AS CPN_DC_AMT              /*쿠폰할인금액*/
+		             , 0                               AS SELF_CPN_DC_AMT         /*자사쿠폰분담액*/
+		             , 0                               AS SUPPLY_COMP_CPN_DC_AMT  /*입점쿠폰분담액*/
+		             , 0                               AS TMTB_DC_AMT             /*다다익선할인금액*/
+		             , 0                               AS SELF_TMTB_DC_AMT        /*자사다다익선분담액*/
+		             , 0                               AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
+		             , SUM(DF.DELV_FEE)                AS DELV_FEE                /*배송비*/
 		        FROM   (
 		                SELECT DISTINCT
 		                       ODIH.REG_DT       AS OCCUR_DT  /*발생일시*/
@@ -442,6 +479,8 @@
 		     , U.SELF_CPN_DC_AMT                                                                                         /*자사쿠폰분담액*/
 		     , U.SUPPLY_COMP_CPN_DC_AMT                                                                                  /*입점쿠폰분담액*/
 		     , U.TMTB_DC_AMT                                                                                             /*다다익선할인금액*/
+		     , U.SELF_TMTB_DC_AMT                                                                                        /*자사다다익선분담액*/
+		     , U.SUPPLY_COMP_TMTB_DC_AMT                                                                                 /*입점다다익선분담액*/
 		     , U.BILL_AMT                                                                                                /*계산서발행금액*/
 		     , U.SUPPLY_AMT                                                                                              /*공급금액*/
 		     , U.TAX_AMT                                                                                                 /*세액*/

+ 16 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsaWithdraw.xml

@@ -244,6 +244,8 @@
 							, 'EXC'  AS CHG_GB 
 							, 'N'    AS WD_BF_SEND_YN
 							, A.ADD_FEE_YN
+							, A.CS_ADD_FEE
+							, A.CS_MEMO
 						  FROM TB_ORDER_RECALL_EXCEPTION A 
 						  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
 						  LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO 
@@ -315,6 +317,8 @@
 							, OC.CHG_GB 
 							, OC.WD_BF_SEND_YN
 							, A.ADD_FEE_YN
+							, A.CS_ADD_FEE
+							, A.CS_MEMO
 						  FROM TB_ORDER_RECALL_EXCEPTION A 
 						  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
 						  LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO 
@@ -387,6 +391,8 @@
 							, 'WEXC' AS CHG_GB 
 							, IFNULL(OC.WD_BF_SEND_YN,'N') AS WD_BF_SEND_YN
 							, A.ADD_FEE_YN
+							, A.CS_ADD_FEE
+							, A.CS_MEMO
 						  FROM TB_ORDER_RECALL_EXCEPTION A 
 						  JOIN TB_ORDER_RECALL_EXCEPTION_ITEM B ON A.RECALL_EXCEPTION_NO = B.RECALL_EXCEPTION_NO
 						  LEFT JOIN TB_ORDER O ON O.ORD_NO = A.ORDER_NO 
@@ -779,5 +785,15 @@
 		 GROUP BY D.ORD_NO, D.CUST_NO, D.ORD_PHNNO, D.ORD_NM, A.CHGER_BASE_ADDR, A.CHGER_DTL_ADDR
 		
 	</select>			
+	
+	<!-- 회수예외 처리완료-->
+	<update id="updateCsMemo" parameterType="WithdrawExc" >
+		/* TsaWithdraw.updateCsMemo */
+		UPDATE TB_ORDER_RECALL_EXCEPTION SET
+		  CS_ADD_FEE     = #{csAddFee}
+		, CS_MEMO        = #{csMemo}
+		WHERE RECALL_EXCEPTION_NO = #{recallExceptionNo}
+
+	</update>	
 		
 </mapper>

+ 1 - 1
src/main/resources/config/application-locd.yml

@@ -96,7 +96,7 @@ naverPay:
     button.key : 3A1578F9-6824-4FCF-AC8D-262318C63227
     button.pc.js.url : https://test-pay.naver.com/customer/js/naverPayButton.js
     button.mobile.js.url : https://test-pay.naver.com/customer/js/mobile/naverPayButton.js
-    common.certification.key : s_3799db3bf4af-
+    common.certification.key : s_3799db3bf4af
     certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
     order.pc.url: https://test-order.pay.naver.com/customer/buy/

+ 1 - 1
src/main/resources/config/application-style.yml

@@ -95,7 +95,7 @@ naverPay:
     button.key: 3A1578F9-6824-4FCF-AC8D-262318C63227
     button.pc.js.url: https://test-pay.naver.com/customer/js/naverPayButton.js
     button.mobile.js.url: https://test-pay.naver.com/customer/js/mobile/naverPayButton.js
-    common.certification.key: s_3799db3bf4af-
+    common.certification.key: s_3799db3bf4af
     certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
     order.pc.url: https://test-order.pay.naver.com/customer/buy/

+ 1 - 1
src/main/resources/config/application-tsit.yml

@@ -88,7 +88,7 @@ naverPay:
     button.key : 3A1578F9-6824-4FCF-AC8D-262318C63227
     button.pc.js.url : https://test-pay.naver.com/customer/js/naverPayButton.js
     button.mobile.js.url : https://test-pay.naver.com/customer/js/mobile/naverPayButton.js
-    common.certification.key : s_3799db3bf4af-
+    common.certification.key : s_3799db3bf4af
     certification.key: E3122594-C690-4542-B3A0-E74ABD4E8222
     order.api.url: https://test-api.pay.naver.com/o/customer/api/order/v20/register
     order.pc.url: https://test-order.pay.naver.com/customer/buy/

+ 16 - 3
src/main/webapp/WEB-INF/views/settle/GoodsSettleForm.html

@@ -125,9 +125,10 @@
 					<div class="iconTooltip marL10">
 						<i class="fa fa-info" aria-hidden="true"></i>
 						<span class="left" style="width: 600px;">
-							<strong>1.쿠폰할인금액</strong>: 즉시할인쿠폰금액 + 상품쿠폰할인금액 + 장바구니쿠폰할인금액<br/>
-							<strong>2.수수료</strong>: 상품총액(쿠폰할인금액과 다다익선할인금액만 차감. 포인트와 상품권은 포함) * 판매수수료율(%)<br/>
-							<strong>3.정산대상액</strong>: 상품총액 - 수수료
+							<strong>1.판매총액</strong>: 몰판매가 * 판매수량<br/>
+							<strong>2.쿠폰할인금액</strong>: 즉시할인쿠폰금액 + 상품쿠폰할인금액 + 장바구니쿠폰할인금액<br/>
+							<strong>3.수수료</strong>: 상품총액(쿠폰할인금액과 다다익선할인금액만 차감. 포인트와 상품권은 포함) * 판매수수료율(%)<br/>
+							<strong>4.정산대상액</strong>: 상품총액 - 수수료 + 자사쿠폰분담액 + 자사다다익선분담액
 						</span>
 					</div>
 					<!-- //아이콘 툴팁 -->
@@ -201,6 +202,10 @@
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
 			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
 		},
+		{
+			headerName: "쿠폰할인금액", field: "cpnDcAmt", width: 120, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.data.cpn1DcAmt + params.data.goodsCpnDcAmt + params.data.cartCpnDcAmt); }
+		},
 		{
 			headerName: "즉시사용쿠폰금액", field: "cpn1DcAmt", width: 120, cellClass: 'text-right',
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); }
@@ -221,6 +226,14 @@
 			headerName: "다다익선할인금액", field: "tmtbDcAmt", width: 120, cellClass: 'text-right',
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); }
 		},
+		{
+			headerName: "자사다다익선분담액", field: "selfTmtbDcAmt", width: 150, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); }
+		},
+		{
+			headerName: "입점다다익선분담액", field: "supplyCompTmtbDcAmt", width: 150, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); }
+		},
 		{
 			headerName: "상품권사용금액", field: "gfcdUseAmt", width: 120, cellClass: 'text-right',
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); }

+ 17 - 2
src/main/webapp/WEB-INF/views/settle/SettleConfirmForm.html

@@ -71,7 +71,7 @@
 					<div class="iconTooltip marL10">
 						<i class="fa fa-info" aria-hidden="true"></i>
 						<span class="left" style="width: 600px;">
-							<strong>1.계산서발행금액</strong>: ROUND(수수료 - 자사쿠폰분담액, 0) (< 0 인 경우 0으로 표기)<br/>
+							<strong>1.계산서발행금액</strong>: ROUND(수수료 - (자사쿠폰분담액 + 자사다다익선분담액), 0) (< 0 인 경우 0으로 표기)<br/>
 							<strong>2.공급가액</strong>: INT(계산서발행금액 / 1.1)<br/>
 							<strong>3.세액</strong>: 계산서발행금액 - 공급가액<br/>
 							<strong>4.지급금액</strong>: 계산서발행금액 + 배송비 - 기타차감<br/>
@@ -128,7 +128,7 @@
 			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
 		},
 		{
-			headerName: "판매총액", field: "realSellAmt", width: 100, cellClass: 'text-right',
+			headerName: "상품총액", field: "realSellAmt", width: 100, cellClass: 'text-right',
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
 			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
 		},
@@ -152,6 +152,21 @@
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
 			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
 		},
+		{
+			headerName: "다다익선할인금액", field: "tmtbDcAmt", width: 120, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
+			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
+		},
+		{
+			headerName: "자사다다익선분담액", field: "selfTmtbDcAmt", width: 150, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
+			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
+		},
+		{
+			headerName: "입점다다익선분담액", field: "supplyCompTmtbDcAmt", width: 150, cellClass: 'text-right',
+			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },
+			cellStyle : function(params) { if (Number(params.value) < 0) return { 'color' : 'red' } }
+		},
 		{
 			headerName: "계산서발행금액", field: "billAmt", width: 120, cellClass: 'text-right',
 			cellRenderer: function (params) { return gagaAgGrid.toAddComma(params.value); },

+ 29 - 22
src/main/webapp/WEB-INF/views/withdraw/WithdrawExceptionListForm.html

@@ -227,28 +227,7 @@
 					} else {
 						rtnStr = params.value;
 					}
-					
-					/* 
-					var paramData 	= params.data.orderNo;
-					paramData 		+= '@' + params.data.orderDtlNo;
-					paramData 		+= '@' + params.data.delvFeeCd;
-					paramData 		+= '@' + 'WMS';
-					 
-					// 반품접수, 반품대기, 회수요청, 상품검수중, 결제대기, 반품진행중
-					if (params.data.chgStat == 'G685_50' || params.data.chgStat == 'G685_51' 
-							|| params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_31' || params.data.chgStat == 'G685_32' || params.data.chgStat == 'G685_33') {
-						rtnStr = '<a href="javascript:void(0);" onclick="fnReturnRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
-					}
-					// 교환접수, 교환대기, 회수요청, 상품검수중, 결제대기, 교환진행중
-					else if (params.data.chgStat == 'G685_20' || params.data.chgStat == 'G685_21' 
-							|| params.data.chgStat == 'G685_30' || params.data.chgStat == 'G685_31' || params.data.chgStat == 'G685_32' || params.data.chgStat == 'G685_34') {
-						rtnStr = '<a href="javascript:void(0);" onclick="fnExchangeRequest(\'' + paramData + '\',\'' + params.value + '\');">' + params.value + '</a>';
-					} 
-					else {
-						rtnStr = params.value;
-					}
-					 */
-					
+
 					return  rtnStr;
 				}		
 		},
@@ -365,6 +344,17 @@
 			}
 			
 		},			
+		{headerName: "",				field: "",	width: 90,	cellClass: 'text-center',
+			
+			cellRenderer: function(params) {
+				var btnText = '';
+				if(params.data.recallStat == 'P') {
+					btnText= '<a href="javascript:void(0);"  class="btn btn-success btn-ssm">저장</a>';
+				}				
+				return btnText;
+			}	
+
+		},
 		{headerName: "작업자",			field: "userNameCreated",	width: 100,	cellClass: 'text-center'},
 		{headerName: "브랜드명",			field: "brandNm",			width: 150,	cellClass: 'text-center'},
 		{headerName: "상품명",			field: "productName",		width: 200,	cellClass: 'text-left'},
@@ -509,6 +499,23 @@
 					}
 				});
 			}
+		} else if(event.colDef.field == ''){
+			if(event.data.recallStat == "P"){	
+				var params = {};
+				params.recallExceptionNo = event.data.recallExceptionNo;
+				params.csAddFee = event.data.csAddFee;
+				params.csMemo = event.data.csMemo;
+				
+
+				mcxDialog.confirm('저장 하시겠습니까?', {
+					cancelBtnText: "취소",
+					sureBtnText: "확인",
+					sureBtnClick: function(){
+						var jsonData = JSON.stringify(params);
+						gagajf.ajaxJsonSubmit('/withdraw/exception/memo/save', jsonData, fnCompleteCallback);
+					}
+				});
+			}
 		} else if(event.colDef.field == 'chgReason2'){
 			//if(event.data.recallStat == "P" && event.data.rowspanRank == "1" && event.data.chgStat != null){