KwpSettlementTradeMapper.xml 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  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="trading" jdbcType="VARCHAR" property="trading"/>
  20. <result column="remark" jdbcType="VARCHAR" property="remark"/>
  21. <result column="status" jdbcType="INTEGER" property="status"/>
  22. <result column="create_by" jdbcType="BIGINT" property="createBy"/>
  23. <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  24. <result column="update_by" jdbcType="BIGINT" property="updateBy"/>
  25. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  26. <result column="del_flag" jdbcType="INTEGER" property="delFlag"/>
  27. </resultMap>
  28. <sql id="Base_Column_List">
  29. <!--@mbg.generated-->
  30. id,
  31. ent_id,
  32. t_ledger_id,
  33. st_order_no,
  34. `name`,
  35. total_price,
  36. actual_price,
  37. receipt_time,
  38. audit_user,
  39. audit_phone,
  40. success_user,
  41. trading,
  42. success_phone,
  43. remark,
  44. `status`,
  45. create_by,
  46. create_time,
  47. update_by,
  48. update_time,
  49. del_flag
  50. </sql>
  51. <sql id="query">
  52. <where>
  53. kst.del_flag = 0
  54. and kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  55. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  56. and (
  57. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  58. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  59. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  60. )
  61. </if>
  62. <if test="settlementReq.status != null">
  63. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  64. </if>
  65. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  66. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  67. </if>
  68. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  69. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  70. </if>
  71. </where>
  72. </sql>
  73. <select id="pageSelect" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  74. select kst.id,
  75. kst.status,
  76. kst.st_order_no,
  77. klt.t_ledger_no tLedgerNo,
  78. kst.create_time,
  79. kst.receipt_time,
  80. cast(kst.actual_price as char) actualPrice,
  81. cast(kst.total_price as char) totalPrice,
  82. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  83. kst.audit_user auditUser,
  84. kst.audit_phone auditPhone,
  85. kst.success_user successUser,
  86. kst.success_phone successPhone,
  87. kst.create_time,
  88. kst.t_ledger_id,
  89. klt.id ledgerId,
  90. klt.name,
  91. klt.trading,
  92. kltu.firm_name firmName,
  93. kst.update_by
  94. from kwp_settlement_trade kst
  95. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  96. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  97. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  98. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  99. kltu2.unit_type =
  100. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  101. <where>
  102. kst.del_flag = 0
  103. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  104. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  105. and (
  106. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  107. or klt.t_ledger_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  108. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  109. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  110. )
  111. </if>
  112. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  113. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  114. </if>
  115. <if test="settlementReq.status != null">
  116. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  117. </if>
  118. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  119. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  120. </if>
  121. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  122. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  123. </if>
  124. </where>
  125. order by kst.create_time desc
  126. </select>
  127. <select id="list" resultType="com.sckw.payment.model.vo.SettlementTrade">
  128. select kst.id,
  129. kst.status,
  130. kst.st_order_no stOrderNo,
  131. kst.receipt_time receiptTime,
  132. cast(kst.actual_price as char) actualPrice,
  133. cast(kst.total_price as char) totalPrice,
  134. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  135. kst.audit_user auditUser,
  136. kst.audit_phone auditPhone,
  137. kst.success_user successUser,
  138. kst.success_phone successPhone,
  139. kst.create_by createBy,
  140. kst.create_time createTime,
  141. kst.t_ledger_id tLedgerId,
  142. klt.id ledgerId,
  143. klt.name,
  144. klt.trading,
  145. klt.t_ledger_no tLedgerNo,
  146. klt.generate_time generateTime,
  147. kltu.firm_name sellFirmName,
  148. kltu2.firm_name purchaseFirmName,
  149. kst.update_by updateBy
  150. from kwp_settlement_trade kst
  151. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  152. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  153. kltu.unit_type = 2
  154. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  155. kltu2.unit_type = 1
  156. <where>
  157. kst.del_flag = 0
  158. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  159. and (
  160. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  161. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  162. or kltu2.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  163. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  164. )
  165. </if>
  166. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  167. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  168. </if>
  169. <if test="settlementReq.status != null">
  170. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  171. </if>
  172. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  173. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  174. </if>
  175. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  176. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  177. </if>
  178. </where>
  179. order by kst.create_time desc
  180. </select>
  181. <select id="sumMoney" resultType="com.sckw.payment.model.vo.res.SettlementSumVo">
  182. select count(1) allCount,
  183. IFNULL(sum(kst.total_price), 0) receiveAll,
  184. IFNULL(sum(kst.actual_price), 0) alreadyReceive,
  185. IFNULL(sum(kst.total_price) - sum(kst.actual_price), 0) waitReceive
  186. from kwp_settlement_trade kst
  187. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  188. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  189. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  190. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  191. kltu2.unit_type =
  192. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  193. <where>
  194. kst.del_flag = 0
  195. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  196. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  197. and (
  198. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  199. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  200. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  201. )
  202. </if>
  203. <if test="settlementReq.status != null">
  204. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  205. </if>
  206. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  207. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  208. </if>
  209. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  210. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  211. </if>
  212. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  213. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  214. </if>
  215. </where>
  216. </select>
  217. <select id="sumMoney2" resultType="com.sckw.payment.model.vo.res.SettlementSumVo">
  218. select count(1) allCount,
  219. IFNULL(sum(kst.total_price), 0) receiveAll,
  220. IFNULL(sum(kst.actual_price), 0) alreadyReceive,
  221. IFNULL(sum(kst.total_price) - sum(kst.actual_price), 0) waitReceive
  222. from kwp_settlement_trade kst
  223. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  224. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  225. kltu.unit_type = 2
  226. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  227. kltu2.unit_type = 1
  228. <where>
  229. kst.del_flag = 0
  230. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  231. and (
  232. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  233. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  234. or kltu2.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  235. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  236. )
  237. </if>
  238. <if test="settlementReq.status != null">
  239. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  240. </if>
  241. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  242. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  243. </if>
  244. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  245. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  246. </if>
  247. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  248. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  249. </if>
  250. </where>
  251. </select>
  252. <select id="countOrder" resultType="java.util.Map">
  253. select count(1) "0",
  254. count(if(kst.status = 3, 1, null)) "3",
  255. count(if(kst.status = 2, 1, null)) "2",
  256. count(if(kst.status = 1, 1, null)) "1"
  257. from kwp_settlement_trade kst
  258. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  259. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  260. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  261. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  262. kltu2.unit_type =
  263. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  264. <where>
  265. kst.del_flag = 0
  266. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  267. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  268. and (
  269. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  270. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  271. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  272. )
  273. </if>
  274. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  275. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  276. </if>
  277. <if test="settlementReq.status != null">
  278. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  279. </if>
  280. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  281. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  282. </if>
  283. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  284. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  285. </if>
  286. </where>
  287. </select>
  288. <select id="count" resultType="java.util.Map">
  289. select count(1) "0",
  290. count(if(kst.status = 3, 1, null)) "3",
  291. count(if(kst.status = 2, 1, null)) "2",
  292. count(if(kst.status = 1, 1, null)) "1"
  293. from kwp_settlement_trade kst
  294. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  295. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  296. kltu.unit_type = 2
  297. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  298. kltu2.unit_type = 1
  299. <where>
  300. kst.del_flag = 0
  301. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  302. and (
  303. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  304. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  305. or kltu2.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  306. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  307. )
  308. </if>
  309. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  310. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  311. </if>
  312. <if test="settlementReq.status != null">
  313. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  314. </if>
  315. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  316. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  317. </if>
  318. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  319. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  320. </if>
  321. </where>
  322. </select>
  323. <select id="selectByIds" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  324. select kst.id,
  325. kst.status,
  326. kst.st_order_no,
  327. kst.create_time,
  328. kst.receipt_time,
  329. cast(kst.actual_price as char) actualPrice,
  330. cast(kst.total_price as char) totalPrice,
  331. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  332. kst.audit_user auditUser,
  333. kst.audit_phone auditPhone,
  334. kst.success_user successUser,
  335. kst.success_phone successPhone,
  336. kst.create_time,
  337. kst.t_ledger_id,
  338. klt.id ledgerId,
  339. klt.name,
  340. klt.trading,
  341. kltu.firm_name
  342. from kwp_settlement_trade kst
  343. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  344. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  345. <where>
  346. kst.id in
  347. <foreach collection="ids" open="(" close=")" item="item">
  348. #{item,jdbcType=BIGINT}
  349. </foreach>
  350. and kltu.unit_type = #{unitType,jdbcType=INTEGER}
  351. </where>
  352. </select>
  353. <select id="getById" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  354. select kst.id,
  355. kst.status,
  356. kst.st_order_no,
  357. kst.create_time,
  358. kst.receipt_time,
  359. cast(kst.actual_price as char) actualPrice,
  360. cast(kst.total_price as char) totalPrice,
  361. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  362. kst.audit_user auditUser,
  363. kst.audit_phone auditPhone,
  364. kst.success_user successUser,
  365. kst.success_phone successPhone,
  366. kst.create_time,
  367. kst.t_ledger_id,
  368. klt.id ledgerId,
  369. klt.name,
  370. klt.trading,
  371. kltu.firm_name
  372. from kwp_settlement_trade kst
  373. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  374. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  375. <where>
  376. kst.del_flag = 0
  377. and kst.id = #{id,jdbcType=BIGINT}
  378. and kltu.unit_type = #{unitType,jdbcType=INTEGER}
  379. </where>
  380. </select>
  381. <select id="getListById" resultType="com.sckw.payment.model.dto.LedgerUnitDto">
  382. select kltu.top_ent_id,
  383. kltu.ent_id,
  384. kltu.unit_type
  385. from kwp_settlement_trade kst
  386. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  387. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  388. <where>
  389. kst.del_flag = 0
  390. and kst.id = #{id,jdbcType=BIGINT}
  391. </where>
  392. </select>
  393. <select id="selectDetail" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  394. select kst.id,
  395. kst.status,
  396. kst.st_order_no,
  397. klt.t_ledger_no tLedgerNo,
  398. klt.id tLedgerId,
  399. kst.create_time,
  400. kst.receipt_time,
  401. cast(kst.actual_price as char) actualPrice,
  402. cast(kst.total_price as char) totalPrice,
  403. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  404. kst.audit_user auditUser,
  405. kst.audit_phone auditPhone,
  406. kst.success_user successUser,
  407. kst.success_phone successPhone,
  408. kst.create_time,
  409. kst.t_ledger_id,
  410. klt.id ledgerId,
  411. klt.name,
  412. klt.trading,
  413. kltu.firm_name firmName,
  414. kst.update_by updateBy
  415. from kwp_settlement_trade kst
  416. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  417. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  418. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  419. <where>
  420. kst.del_flag = 0
  421. and kst.id = #{id,jdbcType=BIGINT}
  422. </where>
  423. </select>
  424. <select id="selectJoin" resultType="java.lang.String">
  425. select kst.st_order_no
  426. from kwp_settlement_trade kst
  427. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  428. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  429. kltu.unit_type = 1
  430. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  431. kltu2.unit_type = 2
  432. <where>
  433. kst.del_flag = 0
  434. and kst.status != 3
  435. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  436. and kltu2.top_ent_id = #{entTarget,jdbcType=BIGINT}
  437. </where>
  438. </select>
  439. <select id="sumMoneyType" resultType="com.sckw.payment.model.dto.MoneyType">
  440. select ifnull(sum(kst.total_price - kst.actual_price), '0') money,
  441. 1 type
  442. from kwp_settlement_trade kst
  443. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  444. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  445. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  446. <where>
  447. kst.del_flag = 0
  448. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  449. and kst.create_time
  450. <foreach collection="cur" item="item" open="between" close="" separator="and">
  451. #{item,jdbcType=TIMESTAMP}
  452. </foreach>
  453. </where>
  454. union all
  455. select ifnull(sum(kst.total_price - kst.actual_price), '0') money,
  456. 2 type
  457. from kwp_settlement_trade kst
  458. inner join kwp_ledger_trade klt
  459. on kst.t_ledger_id = klt.id and klt.del_flag = 0
  460. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  461. kltu.unit_type = #{unitType,jdbcType=INTEGER}
  462. <where>
  463. kst.del_flag = 0
  464. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  465. and kst.create_time
  466. <foreach collection="pre" item="item" open="between" close="" separator="and">
  467. #{item,jdbcType=TIMESTAMP}
  468. </foreach>
  469. </where>
  470. </select>
  471. <select id="queryRecord" resultType="com.sckw.payment.model.KwpSettlementRecord">
  472. SELECT kltu.top_ent_id entId,
  473. sum(IF(kltu.unit_type = 2, kst.total_price, 0.0)) totalReceiveMoney,
  474. sum(IF(kltu.unit_type = 1, kst.total_price, 0.0)) totalPayMoney,
  475. sum(IF(kltu.unit_type = 2, kst.actual_price, 0.0)) receivedMoney,
  476. sum(IF(kltu.unit_type = 1, kst.actual_price, 0.0)) paidMoney,
  477. sum(IF(kltu.unit_type = 2, kst.total_price - kst.actual_price, 0.0)) exactMoney,
  478. sum(IF(kltu.unit_type = 1, kst.total_price - kst.actual_price, 0.0)) unpaidMoney,
  479. sum(
  480. IF
  481. (kst.receipt_time &lt; now() &amp;&amp; kltu.unit_type = 2,
  482. kst.total_price - kst.actual_price, 0.0)
  483. ) overdueExactMoney,
  484. sum(
  485. IF
  486. (kst.receipt_time &lt; now() &amp;&amp; kltu.unit_type = 2,
  487. kst.total_price - kst.actual_price, 0.0)
  488. ) overduePaidMoney
  489. FROM `kwp_settlement_trade` kst
  490. inner JOIN kwp_ledger_trade_unit kltu ON kst.t_ledger_id = kltu.t_ledger_id
  491. AND kltu.del_flag = 0
  492. WHERE kst.del_flag = 0
  493. GROUP BY kltu.top_ent_id
  494. </select>
  495. <select id="exportList" resultType="com.sckw.payment.model.dto.SettlementTradeDto">
  496. select kst.id,
  497. kst.status,
  498. kst.st_order_no,
  499. klt.t_ledger_no tLedgerNo,
  500. kst.receipt_time,
  501. cast(kst.actual_price as char) actualPrice,
  502. cast(kst.total_price as char) totalPrice,
  503. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  504. (case
  505. when #{settlementReq.unitType,jdbcType=INTEGER} = 1 then klt.audit_user
  506. else klt.success_user end) as contacts,
  507. (case
  508. when #{settlementReq.unitType,jdbcType=INTEGER} = 1 then klt.audit_phone
  509. else klt.success_phone end) as phone,
  510. kst.create_by createBy,
  511. kst.update_by updateBy,
  512. kst.create_time createTime,
  513. kst.update_time updateTime,
  514. klt.name,
  515. klt.trading,
  516. kltu.firm_name firmName
  517. from kwp_settlement_trade kst
  518. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  519. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  520. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  521. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  522. kltu2.unit_type =
  523. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  524. <where>
  525. kst.del_flag = 0
  526. <choose>
  527. <when test="idList != null and idList.size() != 0">
  528. and kst.id in
  529. <foreach collection="idList" open="(" separator="," close=")" item="item">
  530. #{item,jdbcType=BIGINT}
  531. </foreach>
  532. </when>
  533. <otherwise>
  534. and kltu2.top_ent_id = #{settlementReq.entId,jdbcType=INTEGER}
  535. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  536. and (
  537. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  538. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  539. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  540. )
  541. </if>
  542. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  543. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  544. </if>
  545. <if test="settlementReq.status != null and settlementReq.status != 0">
  546. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  547. </if>
  548. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  549. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  550. </if>
  551. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  552. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  553. </if>
  554. </otherwise>
  555. </choose>
  556. </where>
  557. </select>
  558. <select id="operateExportList" resultType="com.sckw.payment.model.vo.SettlementTrade">
  559. select kst.id,
  560. kst.status,
  561. kst.st_order_no stOrderNo,
  562. kst.receipt_time receiptTime,
  563. cast(kst.actual_price as char) actualPrice,
  564. cast(kst.total_price as char) totalPrice,
  565. cast((kst.total_price - kst.actual_price) as char) waitPrice,
  566. kst.audit_user auditUser,
  567. kst.audit_phone auditPhone,
  568. kst.success_user successUser,
  569. kst.success_phone successPhone,
  570. kst.create_by createBy,
  571. kst.create_time createTime,
  572. kst.t_ledger_id tLedgerId,
  573. klt.id ledgerId,
  574. klt.name,
  575. klt.trading,
  576. klt.t_ledger_no tLedgerNo,
  577. klt.generate_time generateTime,
  578. kltu.firm_name sellFirmName,
  579. kltu2.firm_name purchaseFirmName,
  580. kst.update_by updateBy
  581. from kwp_settlement_trade kst
  582. inner join kwp_ledger_trade klt on kst.t_ledger_id = klt.id and klt.del_flag = 0
  583. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  584. kltu.unit_type = #{settlementReq.unitType,jdbcType=INTEGER}
  585. inner join kwp_ledger_trade_unit kltu2 on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  586. kltu2.unit_type =
  587. #{settlementReq.unitTypeTwo,jdbcType=INTEGER}
  588. <where>
  589. kst.del_flag = 0
  590. <choose>
  591. <when test="idList != null and idList.size() != 0">
  592. and kst.id in
  593. <foreach collection="idList" open="(" separator="," close=")" item="item">
  594. #{item,jdbcType=BIGINT}
  595. </foreach>
  596. </when>
  597. <otherwise>
  598. <if test="settlementReq.keywords != null and settlementReq.keywords != ''">
  599. and (
  600. klt.name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  601. or kltu.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  602. or kltu2.firm_name like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  603. or kst.st_order_no like concat('%', #{settlementReq.keywords,jdbcType=VARCHAR}, '%')
  604. )
  605. </if>
  606. <if test="settlementReq.trading != null and settlementReq.trading != ''">
  607. and klt.trading = #{settlementReq.trading,jdbcType=VARCHAR}
  608. </if>
  609. <if test="settlementReq.status != null and settlementReq.status != 0">
  610. and kst.status = #{settlementReq.status,jdbcType=INTEGER}
  611. </if>
  612. <if test="settlementReq.startCreateTime != null and settlementReq.startCreateTime != '' and settlementReq.endCreateTime != null and settlementReq.endCreateTime != ''">
  613. and kst.create_time between #{settlementReq.startCreateTime,jdbcType=TIMESTAMP} and #{settlementReq.endCreateTime,jdbcType=TIMESTAMP}
  614. </if>
  615. <if test="settlementReq.startReceiptTime != null and settlementReq.startReceiptTime != '' and settlementReq.endReceiptTime != null and settlementReq.endReceiptTime != ''">
  616. and kst.receipt_time between #{settlementReq.startReceiptTime,jdbcType=TIMESTAMP} and #{settlementReq.endReceiptTime,jdbcType=TIMESTAMP}
  617. </if>
  618. </otherwise>
  619. </choose>
  620. </where>
  621. </select>
  622. </mapper>