|
|
@@ -12,6 +12,8 @@
|
|
|
, ODIH.EXTMALL_ORDER_ID /*제휴몰주문번호*/
|
|
|
, ODIH.EXTMALL_ID /*제휴몰ID*/
|
|
|
, ODIH.EXTMALL_NM /*제휴몰명*/
|
|
|
+ , ODIH.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
+ , ODIH.SUPPLY_VENDOR_NM /*공급벤더명*/
|
|
|
, ODIH.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
, ODIH.SUPPLY_COMP_NM /*공급업체명*/
|
|
|
, ODIH.DISTRIBUTION_GB /*유통구분*/
|
|
|
@@ -76,12 +78,14 @@
|
|
|
, OD.EXTMALL_ORDER_ID /*제휴몰주문번호*/
|
|
|
, OD.EXTMALL_ID /*제휴몰ID*/
|
|
|
, E.EXTMALL_NM /*제휴몰명*/
|
|
|
+ , SC.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
+ , SV.SUPPLY_VENDOR_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 /*정산주기명*/
|
|
|
+ , SV.SETTLE_DAY /*정산주기*/
|
|
|
+ , FN_GET_CODE_NM('G075',SV.SETTLE_DAY) AS SETTLE_DAY_NM /*정산주기명*/
|
|
|
, DATE_FORMAT(O.PAY_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 /*정산구분명*/
|
|
|
@@ -153,6 +157,7 @@
|
|
|
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
|
|
|
INNER JOIN TB_SUPPLY_COMPANY SC ON OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
|
|
|
+ INNER JOIN TB_SUPPLY_VENDOR SV ON SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
INNER JOIN TB_GOODS G ON OD.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_BRAND B ON G.BRAND_CD = B.BRAND_CD
|
|
|
LEFT OUTER JOIN TB_EXTMALL E ON OD.EXTMALL_ID = E.EXTMALL_ID
|
|
|
@@ -197,21 +202,18 @@
|
|
|
</select>
|
|
|
|
|
|
<!-- 정산확정 데이터 삭제 -->
|
|
|
- <delete id="deleteSettleConfirm" parameterType="String">
|
|
|
+ <delete id="deleteSettleConfirm" parameterType="SettleConfirm">
|
|
|
/* TsaSettle.deleteSettleConfirm */
|
|
|
DELETE FROM TB_USAC
|
|
|
- WHERE USAC_YM = REPLACE(#{settleYm},'-','')
|
|
|
+ WHERE USAC_DT BETWEEN REPLACE(#{salesStdt},'-','') AND REPLACE(#{salesEddt},'-','')
|
|
|
</delete>
|
|
|
|
|
|
<!-- 정산확정 데이터 생성 -->
|
|
|
<insert id="createSettleConfirm" parameterType="SettleConfirm">
|
|
|
/* TsaSettle.createSettleConfirm */
|
|
|
INSERT INTO TB_USAC (
|
|
|
- USAC_YM
|
|
|
- , SUPPLY_COMP_CD
|
|
|
- , ECONTRACT_YN
|
|
|
- , DISTRIBUTION_GB
|
|
|
- , SETTLE_DAY
|
|
|
+ USAC_DT
|
|
|
+ , SUPPLY_VENDOR_CD
|
|
|
, SELL_QTY
|
|
|
, REAL_SELL_AMT
|
|
|
, SELL_FEE_AMT
|
|
|
@@ -225,18 +227,11 @@
|
|
|
, SUPPLY_AMT
|
|
|
, TAX_AMT
|
|
|
, DELV_FEE
|
|
|
- , BANK_CD
|
|
|
- , ACCOUNT_NO
|
|
|
- , DEPOSITOR_NM
|
|
|
- , BILL_EMAIL
|
|
|
, REG_NO
|
|
|
, REG_DT
|
|
|
)
|
|
|
- SELECT ODIH.USAC_YM /*정산연월*/
|
|
|
- , ODIH.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
- , SC.ECONTRACT_YN /*전자계약여부*/
|
|
|
- , SC.DISTRIBUTION_GB /*유통구분*/
|
|
|
- , SC.SETTLE_DAY /*정산주기*/
|
|
|
+ SELECT ODIH.USAC_DT /*정산일*/
|
|
|
+ , SC.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
, 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 /*수수료*/
|
|
|
@@ -258,14 +253,10 @@
|
|
|
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 /*은행코드*/
|
|
|
- , SC.ACCOUNT_NO /*계좌번호*/
|
|
|
- , SC.DEPOSITOR_NM /*예금주명*/
|
|
|
- , SC.BILL_EMAIL /*세금계산서이메일*/
|
|
|
, #{regNo} AS REG_NO
|
|
|
, NOW() AS REG_DT
|
|
|
FROM (
|
|
|
- SELECT DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m') AS USAC_YM /*정산연월*/
|
|
|
+ SELECT DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m%d') AS USAC_DT /*정산일*/
|
|
|
, ODIH.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
, SUM(ODIH.SELL_QTY) AS SELL_QTY /*판매수량*/
|
|
|
, SUM(ODIH.SELL_AMT
|
|
|
@@ -345,28 +336,28 @@
|
|
|
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')
|
|
|
- AND ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d'), INTERVAL 1 MONTH)
|
|
|
+ AND ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{salesStdt},'%Y-%m-%d')
|
|
|
+ AND ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{salesEddt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
AND ODIH.ORD_DTL_STAT IN ('G720_20','G720_50','G720_60') /*판매-배송중,환입-반품완료,환입-교환완료*/
|
|
|
) ODIH
|
|
|
- GROUP BY DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m')
|
|
|
+ GROUP BY DATE_FORMAT(ODIH.OCCUR_DT,'%Y%m%d')
|
|
|
, ODIH.SUPPLY_COMP_CD
|
|
|
|
|
|
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 /*다다익선할인금액*/
|
|
|
- , 0 AS SELF_TMTB_DC_AMT /*자사다다익선분담액*/
|
|
|
- , 0 AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
|
|
|
- , SUM(DF.DELV_FEE) AS DELV_FEE /*배송비*/
|
|
|
+ SELECT DATE_FORMAT(OD.OCCUR_DT,'%Y%m%d') AS USAC_DT /*정산일*/
|
|
|
+ , 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 /*발생일시*/
|
|
|
@@ -378,34 +369,29 @@
|
|
|
, TB_GOODS G
|
|
|
WHERE ODIH.ORD_DTL_NO = OD.ORD_DTL_NO
|
|
|
AND OD.GOODS_CD = G.GOODS_CD
|
|
|
- AND ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d')
|
|
|
- AND ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d'), INTERVAL 1 MONTH)
|
|
|
+ AND ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{salesStdt},'%Y-%m-%d')
|
|
|
+ AND ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{salesEddt},'%Y-%m-%d'), INTERVAL 1 DAY)
|
|
|
AND ODIH.ORD_DTL_STAT IN ('G720_20','G720_50','G720_60') /*판매-배송중,환입-반품완료,환입-교환완료*/
|
|
|
) OD
|
|
|
, TB_DELIVERY_FEE DF
|
|
|
WHERE OD.SUPPLY_COMP_CD = DF.SUPPLY_COMP_CD
|
|
|
AND OD.ORD_NO = DF.ORD_NO
|
|
|
AND OD.OCCUR_DT >= DF.REG_DT /*출고기준의 일자 보다 배송비 발생일자가 적은 넘만*/
|
|
|
- GROUP BY DATE_FORMAT(OD.OCCUR_DT,'%Y%m')
|
|
|
+ GROUP BY DATE_FORMAT(OD.OCCUR_DT,'%Y%m%d')
|
|
|
, OD.SUPPLY_COMP_CD
|
|
|
) ODIH
|
|
|
, TB_SUPPLY_COMPANY SC
|
|
|
WHERE ODIH.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
|
|
|
- GROUP BY ODIH.USAC_YM
|
|
|
- , ODIH.SUPPLY_COMP_CD
|
|
|
- , SC.ECONTRACT_YN
|
|
|
- , SC.DISTRIBUTION_GB
|
|
|
- , SC.SETTLE_DAY
|
|
|
- , SC.BANK_CD
|
|
|
- , SC.ACCOUNT_NO
|
|
|
- , SC.DEPOSITOR_NM
|
|
|
- , SC.BILL_EMAIL
|
|
|
+ GROUP BY ODIH.USAC_DT
|
|
|
+ , SC.SUPPLY_VENDOR_CD
|
|
|
</insert>
|
|
|
|
|
|
<!-- 배송비정산 목록 -->
|
|
|
<select id="getDeliveryFeeSettleList" parameterType="DelvFeeSettle" resultType="DelvFeeSettle">
|
|
|
/* TsaSettle.getDeliveryFeeSettleList */
|
|
|
SELECT DATE_FORMAT(OD.OCCUR_DT,'%Y-%m-%d') AS OCCUR_DT /*발생(출고/회수)일시*/
|
|
|
+ , SV.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
+ , SV.SUPPLY_VENDOR_NM /*공급벤더명*/
|
|
|
, OD.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
, SC.SUPPLY_COMP_NM /*공급업체명*/
|
|
|
, FN_GET_CODE_NM('G065',SC.DISTRIBUTION_GB) AS DISTRIBUTION_GB_NM /*유통구분명*/
|
|
|
@@ -433,41 +419,45 @@
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
- <if test="multiBrand != null and multiBrand != ''">
|
|
|
+ <if test="multiBrand != null and multiBrand != ''">
|
|
|
AND G.BRAND_CD IN
|
|
|
<foreach collection="multiBrand" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
- ) OD
|
|
|
- , TB_DELIVERY_FEE DF
|
|
|
+ ) OD
|
|
|
+ , TB_DELIVERY_FEE DF
|
|
|
, TB_SUPPLY_COMPANY SC
|
|
|
+ , TB_SUPPLY_VENDOR SV
|
|
|
WHERE OD.SUPPLY_COMP_CD = DF.SUPPLY_COMP_CD
|
|
|
AND OD.ORD_NO = DF.ORD_NO
|
|
|
AND OD.OCCUR_DT >= DF.REG_DT /*출고기준의 일자 보다 배송비 발생일자가 적은 넘만*/
|
|
|
AND OD.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
|
|
|
+ AND SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
<if test='distributionGb != null and distributionGb != ""'>
|
|
|
AND SC.DISTRIBUTION_GB = #{distributionGb}
|
|
|
</if>
|
|
|
GROUP BY DATE_FORMAT(OD.OCCUR_DT,'%Y-%m-%d')
|
|
|
+ , SV.SUPPLY_VENDOR_CD
|
|
|
+ , SV.SUPPLY_VENDOR_NM
|
|
|
, OD.SUPPLY_COMP_CD
|
|
|
, SC.SUPPLY_COMP_NM
|
|
|
, SC.DISTRIBUTION_GB
|
|
|
, DF.DELV_FEE_GB
|
|
|
, OD.ORD_NO
|
|
|
- ORDER BY DATE_FORMAT(OD.OCCUR_DT,'%Y-%m-%d'), OD.SUPPLY_COMP_CD, DF.DELV_FEE_GB
|
|
|
+ ORDER BY DATE_FORMAT(OD.OCCUR_DT,'%Y-%m-%d'), SV.SUPPLY_VENDOR_CD, OD.SUPPLY_COMP_CD, DF.DELV_FEE_GB
|
|
|
</select>
|
|
|
|
|
|
<!-- 정산확정 목록 -->
|
|
|
<select id="getSettleConfirmList" parameterType="SettleConfirm" resultType="SettleConfirm">
|
|
|
/* TsaSettle.getSettleConfirmList */
|
|
|
SELECT U.USAC_YM /*정산연월*/
|
|
|
- , U.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
- , SC.SUPPLY_COMP_NM /*공급업체명*/
|
|
|
- , U.ECONTRACT_YN /*전자계약여부*/
|
|
|
+ , U.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
+ , SV.SUPPLY_VENDOR_NM /*공급벤더명*/
|
|
|
+ , SV.ECONTRACT_YN /*전자계약여부*/
|
|
|
, SV.BIZ_NO /*사업자번호*/
|
|
|
- , U.SETTLE_DAY /*정산주기*/
|
|
|
- , FN_GET_CODE_NM('G075',U.SETTLE_DAY) AS SETTLE_DAY_NM /*정산주기명*/
|
|
|
+ , SV.SETTLE_DAY /*정산주기*/
|
|
|
+ , FN_GET_CODE_NM('G075',SV.SETTLE_DAY) AS SETTLE_DAY_NM /*정산주기명*/
|
|
|
, U.SELL_QTY /*판매수량*/
|
|
|
, U.REAL_SELL_AMT /*실판매금액(=상품총액)*/
|
|
|
, U.SELL_FEE_AMT /*수수료*/
|
|
|
@@ -488,7 +478,7 @@
|
|
|
, (U.REAL_SELL_AMT - U.SELL_FEE_AMT + U.SELF_CPN_DC_AMT + U.SELF_TMTB_DC_AMT)
|
|
|
+ U.DELV_FEE - IFNULL(UR2.ETC_DEDUCT_AMT,0)
|
|
|
- IFNULL(UR1.RECEIVABLE_AMT,0) AS TOT_GIVE_AMT /*총지급금액*/
|
|
|
- , CASE WHEN U.ECONTRACT_YN = 'N' THEN '보류'
|
|
|
+ , CASE WHEN SV.ECONTRACT_YN = 'N' THEN '보류'
|
|
|
ELSE
|
|
|
CASE WHEN (U.BILL_AMT + U.DELV_FEE - IFNULL(UR2.ETC_DEDUCT_AMT,0)) <![CDATA[<]]> 0 THEN
|
|
|
'미수금'
|
|
|
@@ -496,32 +486,54 @@
|
|
|
'정상'
|
|
|
END
|
|
|
END AS SETTLE_STAT /*정산상태*/
|
|
|
- , U.BANK_CD /*은행코드*/
|
|
|
- , FN_GET_CODE_NM('G940',U.BANK_CD) AS BANK_NM /*은행명*/
|
|
|
- , U.ACCOUNT_NO /*계좌번호*/
|
|
|
- , U.DEPOSITOR_NM /*예금주명*/
|
|
|
- , U.BILL_EMAIL /*계산서이메일*/
|
|
|
- FROM TB_USAC U
|
|
|
- INNER JOIN TB_SUPPLY_COMPANY SC ON U.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
|
|
|
- INNER JOIN TB_SUPPLY_VENDOR SV ON SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
+ , SV.BANK_CD /*은행코드*/
|
|
|
+ , FN_GET_CODE_NM('G940',SV.BANK_CD) AS BANK_NM /*은행명*/
|
|
|
+ , SV.ACCOUNT_NO /*계좌번호*/
|
|
|
+ , SV.DEPOSITOR_NM /*예금주명*/
|
|
|
+ , SV.BILL_EMAIL /*계산서이메일*/
|
|
|
+ FROM (
|
|
|
+ SELECT DATE_FORMAT(U.USAC_DT,'%Y%m') AS USAC_YM /*정산연월*/
|
|
|
+ , U.SUPPLY_VENDOR_CD /*공급벤더코드*/
|
|
|
+ , SUM(U.SELL_QTY) AS SELL_QTY /*판매수량*/
|
|
|
+ , SUM(U.REAL_SELL_AMT) AS REAL_SELL_AMT /*실판매금액(=상품총액)*/
|
|
|
+ , SUM(U.SELL_FEE_AMT) AS SELL_FEE_AMT /*수수료*/
|
|
|
+ , SUM(U.CPN_DC_AMT) AS CPN_DC_AMT /*쿠폰할인금액*/
|
|
|
+ , SUM(U.SELF_CPN_DC_AMT) AS SELF_CPN_DC_AMT /*자사쿠폰분담액*/
|
|
|
+ , SUM(U.SUPPLY_COMP_CPN_DC_AMT) AS SUPPLY_COMP_CPN_DC_AMT /*입점쿠폰분담액*/
|
|
|
+ , SUM(U.TMTB_DC_AMT) AS TMTB_DC_AMT /*다다익선할인금액*/
|
|
|
+ , SUM(U.SELF_TMTB_DC_AMT) AS SELF_TMTB_DC_AMT /*자사다다익선분담액*/
|
|
|
+ , SUM(U.SUPPLY_COMP_TMTB_DC_AMT) AS SUPPLY_COMP_TMTB_DC_AMT /*입점다다익선분담액*/
|
|
|
+ , SUM(U.BILL_AMT) AS BILL_AMT /*계산서발행금액*/
|
|
|
+ , SUM(U.SUPPLY_AMT) AS SUPPLY_AMT /*공급금액*/
|
|
|
+ , SUM(U.TAX_AMT) AS TAX_AMT /*세액*/
|
|
|
+ , SUM(U.DELV_FEE) AS DELV_FEE /*배송비*/
|
|
|
+ FROM TB_USAC U
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND U.USAC_DT <![CDATA[>=]]> REPLACE(CONCAT(#{settleYm},'-01'),'-','')
|
|
|
+ AND U.USAC_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d'), INTERVAL 1 MONTH)
|
|
|
+ <if test="multiSupplyComp != null and multiSupplyComp != ''">
|
|
|
+ AND U.SUPPLY_VENDOR_CD IN (SELECT SUPPLY_VENDOR_CD
|
|
|
+ FROM TB_SUPPLY_COMPANY
|
|
|
+ WHERE SUPPLY_COMP_CD IN
|
|
|
+ <foreach collection="multiSupplyComp" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ )
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(U.USAC_DT,'%Y%m'), U.SUPPLY_VENDOR_CD
|
|
|
+ ) U
|
|
|
+ INNER JOIN TB_SUPPLY_VENDOR SV ON U.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
LEFT OUTER JOIN TB_USAC_RECEIVE UR1 ON U.USAC_YM = UR1.USAC_YM
|
|
|
- AND U.SUPPLY_COMP_CD = UR1.SUPPLY_COMP_CD
|
|
|
+ AND U.SUPPLY_VENDOR_CD = UR1.SUPPLY_VENDOR_CD
|
|
|
LEFT OUTER JOIN (
|
|
|
- SELECT OCCUR_YM AS USAC_YM
|
|
|
- , SUPPLY_COMP_CD
|
|
|
- , SUM(REWARD_AMT) AS ETC_DEDUCT_AMT
|
|
|
+ SELECT OCCUR_YM AS USAC_YM
|
|
|
+ , SUPPLY_VENDOR_CD
|
|
|
+ , SUM(REWARD_AMT) AS ETC_DEDUCT_AMT
|
|
|
FROM TB_USAC_DEDUCT
|
|
|
WHERE OCCUR_YM = REPLACE(#{settleYm},'-','')
|
|
|
- GROUP BY OCCUR_YM, SUPPLY_COMP_CD
|
|
|
+ GROUP BY OCCUR_YM, SUPPLY_VENDOR_CD
|
|
|
) UR2 ON U.USAC_YM = UR2.USAC_YM
|
|
|
- AND U.SUPPLY_COMP_CD = UR2.SUPPLY_COMP_CD
|
|
|
- WHERE U.USAC_YM = REPLACE(#{settleYm},'-','')
|
|
|
- <if test="multiSupplyComp != null and multiSupplyComp != ''">
|
|
|
- AND U.SUPPLY_COMP_CD IN
|
|
|
- <foreach collection="multiSupplyComp" item="item" index="index" open="(" close=")" separator=",">
|
|
|
- #{item}
|
|
|
- </foreach>
|
|
|
- </if>
|
|
|
+ AND U.SUPPLY_VENDOR_CD = UR2.SUPPLY_VENDOR_CD
|
|
|
</select>
|
|
|
|
|
|
<!-- 정산확정 미수금 생성 -->
|
|
|
@@ -529,7 +541,7 @@
|
|
|
/* TsaSettle.createReceivableAmt */
|
|
|
INSERT INTO TB_USAC_RECEIVE (
|
|
|
USAC_YM
|
|
|
- , SUPPLY_COMP_CD
|
|
|
+ , SUPPLY_VENDOR_CD
|
|
|
, RECEIVABLE_AMT
|
|
|
, REG_NO
|
|
|
, REG_DT
|
|
|
@@ -538,7 +550,7 @@
|
|
|
)
|
|
|
VALUES (
|
|
|
#{usacYm}
|
|
|
- , #{supplyCompCd}
|
|
|
+ , #{supplyVendorCd}
|
|
|
, IFNULL(#{receivableAmt},0)
|
|
|
, #{regNo}
|
|
|
, NOW()
|
|
|
@@ -557,8 +569,8 @@
|
|
|
INSERT INTO TB_USAC_DEDUCT (
|
|
|
DEDUCT_SQ
|
|
|
, OCCUR_YM
|
|
|
- , SUPPLY_COMP_CD
|
|
|
- , SUPPLY_COMP_NM
|
|
|
+ , SUPPLY_VENDOR_CD
|
|
|
+ , SUPPLY_VENDOR_NM
|
|
|
, CUST_ID
|
|
|
, CUST_NM
|
|
|
, ORD_NO
|
|
|
@@ -574,8 +586,8 @@
|
|
|
VALUES (
|
|
|
NULL
|
|
|
, REPLACE(#{occurYm},'-','')
|
|
|
- , #{supplyCompCd}
|
|
|
- , #{supplyCompNm}
|
|
|
+ , #{supplyVendorCd}
|
|
|
+ , #{supplyVendorNm}
|
|
|
, #{custId}
|
|
|
, #{custNm}
|
|
|
, #{ordNo}
|
|
|
@@ -593,27 +605,42 @@
|
|
|
<!-- 세금계산서용 정산 목록 -->
|
|
|
<select id="getTaxBillSettleList" parameterType="SettleConfirm" resultType="SettleConfirm">
|
|
|
/* TsaSettle.getTaxBillSettleList */
|
|
|
- SELECT U.USAC_YM /*정산연월*/
|
|
|
- , '상품판매수수료' AS BILL_TYPE /*계산서유형*/
|
|
|
- , U.SUPPLY_AMT /*공급가액*/
|
|
|
- , U.TAX_AMT /*세액*/
|
|
|
- , U.BILL_AMT AS TRADE_AMT /*계산서발행금액*/
|
|
|
- , SV.BIZ_NO /*사업자번호*/
|
|
|
- , U.SUPPLY_COMP_CD /*공급업체코드*/
|
|
|
- , SC.SUPPLY_COMP_NM /*공급업체명*/
|
|
|
- , SV.OWNER_NM /*대표자명*/
|
|
|
- , SV.BIZ_TYPE /*업태*/
|
|
|
- , SV.BIZ_KIND /*업종*/
|
|
|
- , SV.BIZ_BASE_ADDR /*사업장기본주소*/
|
|
|
- , SV.BIZ_DTL_ADDR /*사업장상세주소*/
|
|
|
- , SC.SETTLE_CHARGE_NM /*정산담당자명*/
|
|
|
- , SC.SETTLE_CHARGE_TELNO /*정산담당자전화번호*/
|
|
|
- , U.BILL_EMAIL /*계산서이메일*/
|
|
|
- , U.BILL_AMT /*계산서발행금액*/
|
|
|
- FROM TB_USAC U
|
|
|
- INNER JOIN TB_SUPPLY_COMPANY SC ON U.SUPPLY_COMP_CD = SC.SUPPLY_COMP_CD
|
|
|
- INNER JOIN TB_SUPPLY_VENDOR SV ON SC.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
- WHERE U.USAC_YM = REPLACE(#{settleYm},'-','')
|
|
|
+ SELECT U.USAC_YM /*정산연월*/
|
|
|
+ , '상품판매수수료' AS BILL_TYPE /*계산서유형*/
|
|
|
+ , U.SUPPLY_AMT /*공급가액*/
|
|
|
+ , U.TAX_AMT /*세액*/
|
|
|
+ , U.BILL_AMT AS TRADE_AMT /*거래금액*/
|
|
|
+ , SV.BIZ_NO /*사업자번호*/
|
|
|
+ , U.SUPPLY_VENDOR_CD /*공급업체코드*/
|
|
|
+ , SV.SUPPLY_VENDOR_NM /*공급업체명*/
|
|
|
+ , SV.OWNER_NM /*대표자명*/
|
|
|
+ , SV.BIZ_TYPE /*업태*/
|
|
|
+ , SV.BIZ_KIND /*업종*/
|
|
|
+ , SV.BIZ_BASE_ADDR /*사업장기본주소*/
|
|
|
+ , SV.BIZ_DTL_ADDR /*사업장상세주소*/
|
|
|
+ , (SELECT MAX(SETTLE_CHARGE_NM)
|
|
|
+ FROM TB_SUPPLY_COMPANY
|
|
|
+ WHERE SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
+ ) AS SETTLE_CHARGE_NM /*정산담당자명*/
|
|
|
+ , (SELECT MAX(SETTLE_CHARGE_TELNO)
|
|
|
+ FROM TB_SUPPLY_COMPANY
|
|
|
+ WHERE SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
+ ) AS SETTLE_CHARGE_TELNO /*정산담당자전화번호*/
|
|
|
+ , SV.BILL_EMAIL /*계산서이메일*/
|
|
|
+ , U.BILL_AMT /*계산서발행금액*/
|
|
|
+ FROM (
|
|
|
+ SELECT DATE_FORMAT(U.USAC_DT,'%Y%m') AS USAC_YM /*정산연월*/
|
|
|
+ , U.SUPPLY_VENDOR_CD /*공급업체코드*/
|
|
|
+ , SUM(U.SUPPLY_AMT) AS SUPPLY_AMT /*공급가액*/
|
|
|
+ , SUM(U.TAX_AMT) AS TAX_AMT /*세액*/
|
|
|
+ , SUM(U.BILL_AMT) AS BILL_AMT /*계산서발행금액*/
|
|
|
+ FROM TB_USAC U
|
|
|
+ WHERE 1 = 1
|
|
|
+ AND U.USAC_DT <![CDATA[>=]]> REPLACE(CONCAT(#{settleYm},'-01'),'-','')
|
|
|
+ AND U.USAC_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(CONCAT(#{settleYm},'-01'),'%Y-%m-%d'), INTERVAL 1 MONTH)
|
|
|
+ GROUP BY DATE_FORMAT(U.USAC_DT,'%Y%m'), U.SUPPLY_VENDOR_CD
|
|
|
+ ) U
|
|
|
+ INNER JOIN TB_SUPPLY_VENDOR SV ON U.SUPPLY_VENDOR_CD = SV.SUPPLY_VENDOR_CD
|
|
|
</select>
|
|
|
|
|
|
<!-- 상품권현황 목록 -->
|
|
|
@@ -720,39 +747,34 @@
|
|
|
- GFCD_USE_AMT
|
|
|
) / 1.1,0)) AS SALES_AMT /*매출금액(VAT제외). 건별로 1.1로 나누고 소숫점을 절사하여 합계를 낸다.*/
|
|
|
FROM (
|
|
|
- SELECT AL.AF_CHANNEL
|
|
|
- , ODH.AF_LINK_CD /*제휴링크코드*/
|
|
|
- , AL.AF_LINK_NM
|
|
|
- , DATE_FORMAT(ODH.REG_DT,'%Y-%m-%d %H:%i:%S') AS OCCUR_DT /*발생일자*/
|
|
|
- , ODH.ORD_NO
|
|
|
- , ODH.ORD_DTL_NO
|
|
|
- , CASE WHEN ODH.ORD_DTL_STAT = 'G013_20' THEN
|
|
|
- FN_GET_CODE_NM('G013',ODH.ORD_DTL_STAT)
|
|
|
- ELSE
|
|
|
- IFNULL(FN_GET_CODE_NM('G685',OCD.CHG_STAT),'주문취소')
|
|
|
- END AS ORD_DTL_STAT /*주문상세상태*/
|
|
|
- , (ODH.ORD_AMT - ODH.CNCL_RTN_AMT) AS SELL_AMT /*판매금액(상품금액.배송비제외)*/
|
|
|
- , ODH.CPN1_DC_AMT /*1차쿠폰(즉시할인쿠폰)할인금액*/
|
|
|
- , ODH.TMTB1_DC_AMT /*다다익선할인금액(수량)*/
|
|
|
- , ODH.TMTB2_DC_AMT /*다다익선할인금액(금액)*/
|
|
|
- , ODH.GOODS_CPN_DC_AMT /*상품쿠폰할인금액*/
|
|
|
- , ODH.CART_CPN_DC_AMT /*장바구니할인금액*/
|
|
|
- , 0 AS PG_CPN_AMT /*PG쿠폰금액.TODO:바로 아래 쿼리문으로 대체해야 함*/
|
|
|
- -- , ODH.PG_CPN_AMT /*PG쿠폰금액*/
|
|
|
- , ODH.PNT_DC_AMT /*포인트할인금액*/
|
|
|
- , ODH.PRE_PNT_DC_AMT /*선포인트할인금액*/
|
|
|
- , ODH.GFCD_USE_AMT /*상품권사용금액*/
|
|
|
- FROM TB_ORDER_DETAIL_HST ODH
|
|
|
- INNER JOIN TB_AF_LINK AL
|
|
|
- ON ODH.AF_LINK_CD = AL.AF_LINK_CD
|
|
|
- LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD
|
|
|
- ON ODH.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
- AND OCD.CHG_STAT IN ('G685_21','G685_32','G685_42') /*취소완료,교환완료,반품완료*/
|
|
|
- WHERE ODH.ORD_DTL_STAT IN ('G013_20','G013_99') /*결제완료,주문취소*/
|
|
|
- AND ODH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
- AND ODH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'),INTERVAL 1 DAY)
|
|
|
+ SELECT AL.AF_CHANNEL /*제휴채널*/
|
|
|
+ , OD.AF_LINK_CD /*제휴링크코드*/
|
|
|
+ , AL.AF_LINK_NM /*제휴링크명*/
|
|
|
+ , DATE_FORMAT(ODIH.REG_DT,'%Y-%m-%d %H:%i:%S') AS OCCUR_DT /*발생일자*/
|
|
|
+ , ODIH.ORD_NO /*주문번호*/
|
|
|
+ , ODIH.ORD_DTL_NO /*주문상세번호*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10','결제완료',IFNULL(FN_GET_CODE_NM('G685',OCD.CHG_STAT),'주문취소')) AS ORD_DTL_STAT /*주문상세상태*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',ODIH.ORD_AMT,-1 * ODIH.CNCL_RTN_AMT) AS SELL_AMT /*판매금액(상품금액.배송비제외)*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CPN1_DC_AMT AS CPN1_DC_AMT /*1차쿠폰(즉시할인쿠폰)할인금액*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.TMTB1_DC_AMT AS TMTB1_DC_AMT /*다다익선할인금액(수량)*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.TMTB2_DC_AMT AS TMTB2_DC_AMT /*다다익선할인금액(금액)*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.GOODS_CPN_DC_AMT AS GOODS_CPN_DC_AMT /*상품쿠폰할인금액*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.CART_CPN_DC_AMT AS CART_CPN_DC_AMT /*장바구니할인금액*/
|
|
|
+ , 0 AS PG_CPN_AMT /*PG쿠폰금액.TODO:바로 아래 쿼리문으로 대체해야 함*/
|
|
|
+ -- , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PG_CPN_AMT AS PG_CPN_AMT /*PG쿠폰금액*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PNT_DC_AMT AS PNT_DC_AMT /*포인트할인금액*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.PRE_PNT_DC_AMT AS PRE_PNT_DC_AMT /*선포인트할인금액*/
|
|
|
+ , IF(ODIH.ORD_DTL_STAT = 'G720_10',1,-1) * ODIH.GFCD_USE_AMT AS GFCD_USE_AMT /*상품권사용금액*/
|
|
|
+ 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_AF_LINK AL ON OD.AF_LINK_CD = AL.AF_LINK_CD
|
|
|
+ LEFT OUTER JOIN TB_ORDER_CHANGE_DETAIL OCD ON ODIH.ORD_DTL_NO = OCD.ORD_DTL_NO
|
|
|
+ AND OCD.CHG_STAT IN ('G685_21','G685_32','G685_42') /*취소완료,교환완료,반품완료*/
|
|
|
+ WHERE ODIH.ORD_DTL_STAT IN ('G720_10','G720_30','G720_40') /*판매-결제완료,환입-취소완료,환입-품절취소*/
|
|
|
+ AND ODIH.REG_DT <![CDATA[>=]]> STR_TO_DATE(#{startDt},'%Y-%m-%d')
|
|
|
+ AND ODIH.REG_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#{endDt},'%Y-%m-%d'),INTERVAL 1 DAY)
|
|
|
<if test="ordNo != null and ordNo != ''">
|
|
|
- AND ODH.ORD_NO = #{ordNo}
|
|
|
+ AND ODIH.ORD_NO = #{ordNo}
|
|
|
</if>
|
|
|
<if test="afLinkCd != null and afLinkCd != ''">
|
|
|
AND AL.AF_LINK_CD = #{afLinkCd}
|