KwpSettlementTradeMapper.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  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.sckw.payment.dao.KwpSettlementTradeMapper">
  4. <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpSettlementTrade">
  5. <!--@mbg.generated-->
  6. <!--@Table kwp_settlement_trade-->
  7. <id column="id" jdbcType="BIGINT" property="id"/>
  8. <result column="ent_id" jdbcType="BIGINT" property="entId"/>
  9. <result column="t_ledger_id" jdbcType="BIGINT" property="tLedgerId"/>
  10. <result column="st_order_no" jdbcType="VARCHAR" property="stOrderNo"/>
  11. <result column="name" jdbcType="VARCHAR" property="name"/>
  12. <result column="total_price" jdbcType="DECIMAL" property="totalPrice"/>
  13. <result column="actual_price" jdbcType="DECIMAL" property="actualPrice"/>
  14. <result column="receipt_time" jdbcType="TIMESTAMP" property="receiptTime"/>
  15. <result column="audit_user" jdbcType="VARCHAR" property="auditUser"/>
  16. <result column="audit_phone" jdbcType="VARCHAR" property="auditPhone"/>
  17. <result column="success_user" jdbcType="VARCHAR" property="successUser"/>
  18. <result column="success_phone" jdbcType="VARCHAR" property="successPhone"/>
  19. <result column="remark" jdbcType="VARCHAR" property="remark"/>
  20. <result column="status" jdbcType="INTEGER" property="status"/>
  21. <result column="create_by" jdbcType="BIGINT" property="createBy"/>
  22. <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  23. <result column="update_by" jdbcType="BIGINT" property="updateBy"/>
  24. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  25. <result column="del_flag" jdbcType="INTEGER" property="delFlag"/>
  26. </resultMap>
  27. <sql id="Base_Column_List">
  28. <!--@mbg.generated-->
  29. id,
  30. ent_id,
  31. t_ledger_id,
  32. st_order_no,
  33. `name`,
  34. total_price,
  35. actual_price,
  36. receipt_time,
  37. audit_user,
  38. audit_phone,
  39. success_user,
  40. success_phone,
  41. remark,
  42. `status`,
  43. create_by,
  44. create_time,
  45. update_by,
  46. update_time,
  47. del_flag
  48. </sql>
  49. <sql id="query">
  50. <where>
  51. kst.del_flag = 0
  52. and kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  53. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  54. and (
  55. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  56. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  57. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  58. )
  59. </if>
  60. <if test="settlementReq.status != null">
  61. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  62. </if>
  63. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  64. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  65. </if>
  66. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  67. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  68. </if>
  69. </where>
  70. </sql>
  71. <select id="pageSelect" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  72. select kst.id,
  73. kst.status,
  74. kst.st_order_no,
  75. klt.t_ledger_no tLedgerNo,
  76. kst.create_time,
  77. kst.receipt_time,
  78. cast(kst.actual_price as char) actualPrice,
  79. cast(kst.total_price as char) totalPrice,
  80. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  81. kst.audit_user auditUser,
  82. kst.audit_phone auditPhone,
  83. kst.success_user successUser,
  84. kst.success_phone successPhone,
  85. kst.create_time,
  86. kst.t_ledger_id,
  87. klt.id ledgerId,
  88. klt.name,
  89. klt.trading,
  90. kltu.firm_name firmName,
  91. kst.update_by
  92. from kwp_settlement_trade kst
  93. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  94. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  95. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  96. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  97. kltu2.unit_type =
  98. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  99. <where>
  100. kst.del_flag = 0
  101. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  102. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  103. and (
  104. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  105. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  106. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  107. )
  108. </if>
  109. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  110. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  111. </if>
  112. <if test="settlementReq.status != null">
  113. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  114. </if>
  115. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  116. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  117. </if>
  118. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  119. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  120. </if>
  121. </where>
  122. order by kst.create_time desc
  123. </select>
  124. <select id="sumMoney" resultType="com.sckw.payment.model.vo.res.SettlementSumVo">
  125. select count(1) allCount,
  126. IFNULL(sum(kst.total_price), 0) receiveAll,
  127. IFNULL(sum(kst.actual_price), 0) alreadyReceive,
  128. IFNULL(sum(kst.total_price) - sum(kst.actual_price), 0) waitReceive
  129. from kwp_settlement_trade kst
  130. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  131. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  132. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  133. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  134. kltu2.unit_type =
  135. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  136. <where>
  137. kst.del_flag = 0
  138. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  139. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  140. and (
  141. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  142. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  143. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  144. )
  145. </if>
  146. <if test="settlementReq.status != null">
  147. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  148. </if>
  149. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  150. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  151. </if>
  152. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  153. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  154. </if>
  155. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  156. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  157. </if>
  158. </where>
  159. </select>
  160. <select id="countOrder" resultType="java.util.Map">
  161. select count(1) "0",
  162. count(if(kst.status = 3, 1, null)) "3",
  163. count(if(kst.status = 2, 1, null)) "2",
  164. count(if(kst.status = 1, 1, null)) "1"
  165. from kwp_settlement_trade kst
  166. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  167. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  168. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  169. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  170. kltu2.unit_type =
  171. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  172. <where>
  173. kst.del_flag = 0
  174. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  175. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  176. and (
  177. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  178. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  179. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  180. )
  181. </if>
  182. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  183. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  184. </if>
  185. <if test="settlementReq.status != null">
  186. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  187. </if>
  188. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  189. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  190. </if>
  191. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  192. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  193. </if>
  194. </where>
  195. </select>
  196. <select id="selectByIds" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  197. select kst.id,
  198. kst.status,
  199. kst.st_order_no,
  200. kst.create_time,
  201. kst.receipt_time,
  202. cast(kst.actual_price as char) actualPrice,
  203. cast(kst.total_price as char) totalPrice,
  204. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  205. kst.audit_user auditUser,
  206. kst.audit_phone auditPhone,
  207. kst.success_user successUser,
  208. kst.success_phone successPhone,
  209. kst.create_time,
  210. kst.t_ledger_id,
  211. klt.id ledgerId,
  212. klt.name,
  213. klt.trading,
  214. kltu.firm_name
  215. from kwp_settlement_trade kst
  216. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  217. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  218. <where>
  219. kst.id in
  220. <foreach collection="ids" open="(" close=")" item="item">
  221. #{item,jdbcType=BIGINT}
  222. </foreach>
  223. and kltu.unit_type = #{unitType,jdbcType=INTEGER}
  224. </where>
  225. </select>
  226. <select id="getById" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  227. select kst.id,
  228. kst.status,
  229. kst.st_order_no,
  230. kst.create_time,
  231. kst.receipt_time,
  232. cast(kst.actual_price as char) actualPrice,
  233. cast(kst.total_price as char) totalPrice,
  234. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  235. kst.audit_user auditUser,
  236. kst.audit_phone auditPhone,
  237. kst.success_user successUser,
  238. kst.success_phone successPhone,
  239. kst.create_time,
  240. kst.t_ledger_id,
  241. klt.id ledgerId,
  242. klt.name,
  243. klt.trading,
  244. kltu.firm_name
  245. from kwp_settlement_trade kst
  246. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  247. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  248. <where>
  249. kst.del_flag = 0
  250. and kst.id = #{id,jdbcType=BIGINT}
  251. and kltu.unit_type = #{unitType,jdbcType=INTEGER}
  252. </where>
  253. </select>
  254. <select id="getListById" resultType="com.sckw.payment.model.dto.LedgerUnitDto">
  255. select kltu.top_ent_id,
  256. kltu.ent_id,
  257. kltu.unit_type
  258. from kwp_settlement_trade kst
  259. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  260. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  261. <where>
  262. kst.del_flag = 0
  263. and kst.id = #{id,jdbcType=BIGINT}
  264. </where>
  265. </select>
  266. <select id="selectDetail" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  267. select kst.id,
  268. kst.status,
  269. kst.st_order_no,
  270. klt.t_ledger_no tLedgerNo,
  271. klt.id tLedgerId,
  272. kst.create_time,
  273. kst.receipt_time,
  274. cast(kst.actual_price as char) actualPrice,
  275. cast(kst.total_price as char) totalPrice,
  276. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  277. kst.audit_user auditUser,
  278. kst.audit_phone auditPhone,
  279. kst.success_user successUser,
  280. kst.success_phone successPhone,
  281. kst.create_time,
  282. kst.t_ledger_id,
  283. klt.id ledgerId,
  284. klt.name,
  285. klt.trading,
  286. kltu.firm_name firmName,
  287. kst.update_by updateBy
  288. from kwp_settlement_trade kst
  289. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  290. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  291. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  292. <where>
  293. kst.del_flag = 0
  294. and kst.id = #{id,jdbcType=BIGINT}
  295. </where>
  296. </select>
  297. <select id="selectJoin" resultType="java.lang.String">
  298. select kst.st_order_no
  299. from kwp_settlement_trade kst
  300. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  301. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  302. kltu.unit_type = 1
  303. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  304. kltu2.unit_type = 2
  305. <where>
  306. kst.del_flag = 0
  307. and kst.status != 3
  308. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  309. and kltu2.top_ent_id = #{entTarget,jdbcType=BIGINT}
  310. </where>
  311. </select>
  312. <select id="sumMoneyType" resultType="com.sckw.payment.model.dto.MoneyType">
  313. select ifnull(sum(kst.total_price - kst.actual_price), '0') money,
  314. 1 type
  315. from kwp_settlement_trade kst
  316. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  317. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  318. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  319. <where>
  320. kst.del_flag = 0
  321. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  322. and kst.create_time
  323. <foreach collection="cur" item="item" open="between" close="" separator="and">
  324. #{item,jdbcType=TIMESTAMP}
  325. </foreach>
  326. </where>
  327. union all
  328. select ifnull(sum(kst.total_price - kst.actual_price), '0') money,
  329. 2 type
  330. from kwp_settlement_trade kst
  331. inner join kwp_ledger_trade klt
  332. on kst.t_ledger_id = klt.id and klt.del_flag = 0
  333. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  334. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  335. <where>
  336. kst.del_flag = 0
  337. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  338. and kst.create_time
  339. <foreach collection="pre" item="item" open="between" close="" separator="and">
  340. #{item,jdbcType=TIMESTAMP}
  341. </foreach>
  342. </where>
  343. </select>
  344. </mapper>