UnpaidMng.xml 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.oqpo.api.mapper.loanmng.UnpaidMngMapper">
  4. <select id="selectUnpaidMngGridList" resultType="com.oqpo.api.entity.settmng.StlMgntBaseInfoEntity">
  5. /* UnpaidMngMapper.selectUnpaidMngGridList */
  6. SELECT store.store_id, store.store_nm, store.brand_id, FN_BRAND_NM(store.brand_id) AS brand_nm,
  7. store.sttl_req_cfrm_term, /* 정산요청확인기간 */
  8. store.sttl_rcp_amt_term, /* 정산대금입금기간 */
  9. loan.loan_mgnt_unq_no, /* 여신관리고유번호 */
  10. loan.loan_dvsn, FN_CODE_NM('LOAN_DVSN', loan.loan_dvsn) AS loan_dvsn_nm, /* 여신구분(정산타입) */
  11. loan.credt_limit_amt - loan.use_amt_total + loan.acct_bal + loan.tmp_rcv_acct_total AS use_amt_total, /* 사용가능한도 */
  12. loan.acct_bal, /* 계좌잔액 */
  13. loan.credt_limit_amt, /* 신용한도금액(후불) */
  14. loan.tmp_rcv_acct_total, /* 가수금액합계(선결제) */
  15. DATE_FORMAT(stl.sttl_req_dt, '%Y.%m.%d') AS sttl_req_dt, /* 정산요청일자 */
  16. stl.sttl_req_amt, /* 정산요청금액 */
  17. DATE_FORMAT(stl.sttl_dt, '%Y.%m.%d') AS sttl_dt, /* 정산확인일자 */
  18. <![CDATA[
  19. CASE WHEN store.sttl_req_cfrm_term > 0 AND store.sttl_rcp_amt_term > 0 THEN
  20. CASE WHEN stl.sttl_req_dt IS NULL THEN '정산요청전'
  21. ELSE CASE WHEN stl.sttl_dt IS NULL
  22. THEN CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_req_dt, '%Y%m%d'), store.sttl_req_cfrm_term) < DATE_FORMAT(now(), '%Y-%m-%d')
  23. THEN CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_req_dt, '%Y%m%d'), store.sttl_req_cfrm_term + store.sttl_rcp_amt_term) < DATE_FORMAT(NOW(), '%Y-%m-%d')
  24. THEN '정산미납'
  25. ELSE '정산대기' END
  26. ELSE '정산미확인' END
  27. ELSE CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_dt, '%Y%m%d'), store.sttl_rcp_amt_term) < DATE_FORMAT(NOW(), '%Y-%m-%d')
  28. THEN '정산미납'
  29. ELSE '정산대기' END
  30. END
  31. END
  32. ELSE '정산대기'
  33. END AS sttl_st_nm, /* 상태 */
  34. ]]>
  35. stl.sttl_mgnt_unq_no /* 정산관리고유번호 */
  36. FROM store_base_info store
  37. INNER JOIN loan_mgnt_base_info loan
  38. ON store.loan_mgnt_unq_no = loan.loan_mgnt_unq_no
  39. AND store.loan_dvsn = loan.loan_dvsn
  40. AND store.store_id = loan.store_id
  41. AND loan.loan_dvsn = 'LD02'
  42. AND loan.use_amt_total > 0
  43. INNER JOIN stl_mgnt_base_info stl
  44. ON store.store_id = stl.store_id
  45. AND store.brand_id = stl.brand_id
  46. AND stl.sttl_req_dt BETWEEN #{fromDt} AND #{toDt}
  47. AND stl.sttl_st_cd IN ('ST10', 'ST20') /* 정산요청/정산확정 */
  48. AND IFNULL(stl.rcpt_yn, 'N') = 'N' /* 수납여부(후불사용) */
  49. WHERE 1 = 1
  50. AND store.brand_id = #{sBrandId}
  51. <if test="sStoreId != null and sStoreId != ''">
  52. AND store.store_id = #{sStoreId}
  53. </if>
  54. <choose>
  55. <when test="gridRequest.sidx != null and gridRequest.sidx != ''">
  56. <if test="gridRequest.sidx == 'VIEW_NUM'.toString()">
  57. <if test="gridRequest.sord == 'asc'.toString()">
  58. ORDER BY stl.sttl_mgnt_unq_no ASC
  59. </if>
  60. <if test="gridRequest.sord == 'desc'.toString()">
  61. ORDER BY stl.sttl_mgnt_unq_no DESC
  62. </if>
  63. </if>
  64. </when>
  65. <otherwise>
  66. ORDER BY stl.sttl_mgnt_unq_no ASC
  67. </otherwise>
  68. </choose>
  69. <if test="gridRequest.pagingYn == true">
  70. limit #{gridRequest.gridFirst}, #{gridRequest.gridSize}
  71. </if>
  72. </select>
  73. <select id="selectUnpaidMngGridCnt" resultType="int">
  74. /* UnpaidMngMapper.selectUnpaidMngGridCnt */
  75. SELECT COUNT(*)
  76. FROM store_base_info store
  77. INNER JOIN loan_mgnt_base_info loan
  78. ON store.loan_mgnt_unq_no = loan.loan_mgnt_unq_no
  79. AND store.loan_dvsn = loan.loan_dvsn
  80. AND store.store_id = loan.store_id
  81. AND loan.loan_dvsn = 'LD02'
  82. AND loan.use_amt_total > 0
  83. INNER JOIN stl_mgnt_base_info stl
  84. ON store.store_id = stl.store_id
  85. AND store.brand_id = stl.brand_id
  86. AND stl.sttl_req_dt BETWEEN #{fromDt} AND #{toDt}
  87. AND stl.sttl_st_cd IN ('ST10', 'ST20') /* 정산요청/정산확정 */
  88. AND IFNULL(stl.rcpt_yn, 'N') = 'N'
  89. WHERE 1 = 1
  90. AND store.brand_id = #{sBrandId}
  91. <if test="sStoreId != null and sStoreId != ''">
  92. AND store.store_id = #{sStoreId}
  93. </if>
  94. </select>
  95. <select id="selectStlMgntBaseInfo" resultType="com.oqpo.api.entity.settmng.StlMgntBaseInfoEntity">
  96. /* UnpaidMngMapper.selectStlMgntBaseInfo */
  97. SELECT store.store_id, store.store_nm, store.brand_id, FN_BRAND_NM(store.brand_id) AS brand_nm,
  98. store.sttl_req_cfrm_term, /* 정산요청확인기간 */
  99. store.sttl_rcp_amt_term, /* 정산대금입금기간 */
  100. loan.loan_mgnt_unq_no, /* 여신관리고유번호 */
  101. loan.loan_dvsn, FN_CODE_NM('LOAN_DVSN', loan.loan_dvsn) AS loan_dvsn_nm, /* 여신구분(정산타입) */
  102. loan.credt_limit_amt - loan.use_amt_total + loan.acct_bal + loan.tmp_rcv_acct_total AS use_amt_total, /* 사용가능한도 */
  103. loan.acct_bal, /* 계좌잔액 */
  104. loan.credt_limit_amt, /* 신용한도금액(후불) */
  105. loan.tmp_rcv_acct_total, /* 가수금액합계(선결제) */
  106. DATE_FORMAT(stl.sttl_req_dt, '%Y.%m.%d') AS sttl_req_dt, /* 정산요청일자 */
  107. stl.sttl_req_amt, /* 정산요청금액 */
  108. DATE_FORMAT(stl.sttl_dt, '%Y.%m.%d') AS sttl_dt, /* 정산확인일자 */
  109. <![CDATA[
  110. CASE WHEN store.sttl_req_cfrm_term > 0 AND store.sttl_rcp_amt_term > 0 THEN
  111. CASE WHEN stl.sttl_req_dt IS NULL THEN '정산요청전'
  112. ELSE CASE WHEN stl.sttl_dt IS NULL
  113. THEN CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_req_dt, '%Y%m%d'), store.sttl_req_cfrm_term) < DATE_FORMAT(now(), '%Y-%m-%d')
  114. THEN CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_req_dt, '%Y%m%d'), store.sttl_req_cfrm_term + store.sttl_rcp_amt_term) < DATE_FORMAT(NOW(), '%Y-%m-%d')
  115. THEN '정산미납'
  116. ELSE '정산대기' END
  117. ELSE '정산미확인' END
  118. ELSE CASE WHEN ADDDATE(DATE_FORMAT(stl.sttl_dt, '%Y%m%d'), store.sttl_rcp_amt_term) < DATE_FORMAT(NOW(), '%Y-%m-%d')
  119. THEN '정산미납'
  120. ELSE '정산대기' END
  121. END
  122. END
  123. ELSE '정산대기'
  124. END AS sttl_st_nm, /* 상태 */
  125. ]]>
  126. stl.sttl_mgnt_unq_no, /* 정산관리고유번호 */
  127. stl.rcpt_yn, /* 수납여부(후불사용) */
  128. DATE_FORMAT(stl.sys_reg_dttm,'%Y.%m.%d %H:%i:%s') AS sys_reg_dttm,
  129. FN_USER_NM(stl.sys_reg_id) AS sys_reg_nm
  130. FROM store_base_info store
  131. INNER JOIN loan_mgnt_base_info loan
  132. ON store.loan_mgnt_unq_no = loan.loan_mgnt_unq_no
  133. AND store.loan_dvsn = loan.loan_dvsn
  134. AND store.store_id = loan.store_id
  135. INNER JOIN stl_mgnt_base_info stl
  136. ON store.store_id = stl.store_id
  137. AND store.brand_id = stl.brand_id
  138. WHERE stl.sttl_mgnt_unq_no = #{sttlMgntUnqNo}
  139. </select>
  140. <select id="selectStlMgntDtlPtclList" resultType="com.oqpo.api.entity.settmng.StlMgntDtlPtclEntity">
  141. /* UnpaidMngMapper.selectStlMgntDtlPtclList */
  142. SELECT A.sttl_mgnt_unq_no, A.sttl_mgnt_dtl_no,
  143. A.brand_id, FN_BRAND_NM(A.brand_id) AS brand_nm,
  144. A.store_id, FN_STORE_NM(A.brand_id, A.store_id) AS store_nm,
  145. A.item_id, A.item_nm, A.unit, A.unit_amt,
  146. A.podr_qty, A.dlv_qty,
  147. A.sttl_dvsn, FN_CODE_NM('STTL_DVSN', A.sttl_dvsn) AS sttl_dvsn_nm, /* 정산구분 */
  148. CASE WHEN A.sttl_dvsn = 'SW00' THEN A.whs_qty WHEN A.sttl_dvsn = 'SC00' THEN A.col_qty END AS whs_col_qty, /* 입고/수거수량 */
  149. DATE_FORMAT(CASE WHEN A.sttl_dvsn = 'SW00' THEN A.dlv_cmplt_dt WHEN A.sttl_dvsn = 'SC00' THEN A.col_dt END, '%Y.%m.%d') AS whs_col_dt, /* 입고/수거일자 */
  150. CASE WHEN A.sttl_dvsn = 'SW00' THEN A.whs_amt WHEN A.sttl_dvsn = 'SC00' THEN A.col_amt END AS whs_col_amt, /* 입고/수거금액 */
  151. A.dlv_qty * A.unit_amt AS sttl_req_amt, /* 정산요청금액 : 납품수량 * 수량 */
  152. CASE WHEN A.sttl_dvsn = 'SW00' THEN A.pch_podr_unq_no WHEN A.sttl_dvsn = 'SC00' THEN A.rtn_podr_unq_no END AS podr_unq_no, /* 발주고유번호 */
  153. CASE WHEN A.sttl_dvsn = 'SW00' THEN A.pch_podr_dtl_no WHEN A.sttl_dvsn = 'SC00' THEN A.rtn_podr_dtl_no END AS podr_dtl_no /* 발주상세번호 */
  154. FROM stl_mgnt_dtl_ptcl A
  155. WHERE A.sttl_mgnt_unq_no = #{sttlMgntUnqNo}
  156. ORDER BY A.sttl_mgnt_dtl_no ASC
  157. </select>
  158. </mapper>