KwpSettlementTradeMapper.xml 39 KB

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