KwpLedgerTradeMapper.xml 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611
  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.KwpLedgerTradeMapper">
  4. <resultMap id="BaseResultMap" type="com.sckw.payment.model.KwpLedgerTrade">
  5. <!--@mbg.generated-->
  6. <!--@Table kwp_ledger_trade-->
  7. <id column="id" jdbcType="BIGINT" property="id"/>
  8. <result column="ent_id" jdbcType="BIGINT" property="entId"/>
  9. <result column="t_ledger_no" jdbcType="VARCHAR" property="tLedgerNo"/>
  10. <result column="name" jdbcType="VARCHAR" property="name"/>
  11. <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
  12. <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
  13. <result column="tax_rate" jdbcType="INTEGER" property="taxRate"/>
  14. <result column="trading" jdbcType="VARCHAR" property="trading"/>
  15. <result column="total_price" jdbcType="DECIMAL" property="totalPrice"/>
  16. <result column="ex_tax_price" jdbcType="DECIMAL" property="exTaxPrice"/>
  17. <result column="settle_price" jdbcType="DECIMAL" property="settlePrice"/>
  18. <result column="actual_price" jdbcType="DECIMAL" property="actualPrice"/>
  19. <result column="audit_user" jdbcType="VARCHAR" property="auditUser"/>
  20. <result column="audit_phone" jdbcType="VARCHAR" property="auditPhone"/>
  21. <result column="success_user" jdbcType="VARCHAR" property="successUser"/>
  22. <result column="success_phone" jdbcType="VARCHAR" property="successPhone"/>
  23. <result column="generate_time" jdbcType="TIMESTAMP" property="generateTime"/>
  24. <result column="receipt_time" jdbcType="TIMESTAMP" property="receiptTime"/>
  25. <result column="url" jdbcType="VARCHAR" property="url"/>
  26. <result column="order_count" jdbcType="INTEGER" property="orderCount"/>
  27. <result column="remark" jdbcType="VARCHAR" property="remark"/>
  28. <result column="status" jdbcType="INTEGER" property="status"/>
  29. <result column="create_by" jdbcType="BIGINT" property="createBy"/>
  30. <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  31. <result column="update_by" jdbcType="BIGINT" property="updateBy"/>
  32. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  33. <result column="del_flag" jdbcType="INTEGER" property="delFlag"/>
  34. </resultMap>
  35. <sql id="Base_Column_List">
  36. <!--@mbg.generated-->
  37. id,
  38. ent_id,
  39. t_ledger_no,
  40. `name`,
  41. start_time,
  42. end_time,
  43. tax_rate,
  44. trading,
  45. total_price,
  46. ex_tax_price,
  47. settle_price,
  48. actual_price,
  49. audit_user,
  50. audit_phone,
  51. success_user,
  52. success_phone,
  53. generate_time,
  54. receipt_time,
  55. url,
  56. order_count,
  57. remark,
  58. `status`,
  59. create_by,
  60. create_time,
  61. update_by,
  62. update_time,
  63. del_flag
  64. </sql>
  65. <sql id="sell_col">
  66. klt.id,
  67. klt.t_ledger_no tLedgerNo,
  68. klt.name,
  69. klt.start_time startTime,
  70. klt.end_time endTime,
  71. klt.tax_rate taxRate,
  72. klt.trading,
  73. klt.total_price totalPrice,
  74. klt.ex_tax_price exTaxPrice,
  75. klt.settle_price settlePrice,
  76. klt.actual_price actualPrice,
  77. klt.audit_phone auditPhone,
  78. klt.audit_user auditUser,
  79. klt.url,
  80. klt.generate_time generateTime,
  81. klt.receipt_time receiptTime,
  82. klt.remark,
  83. klt.status,
  84. klt.create_by createBy,
  85. kltu.contacts,
  86. kltu.phone,
  87. kltu.firm_name firmName,
  88. klt.order_count orderCount
  89. </sql>
  90. <sql id="purchase_col">
  91. klt.id,
  92. klt.t_ledger_no tLedgerNo,
  93. klt.name,
  94. klt.start_time startTime,
  95. klt.end_time endTime,
  96. klt.tax_rate taxRate,
  97. klt.trading,
  98. klt.total_price totalPrice,
  99. klt.ex_tax_price exTaxPrice,
  100. klt.settle_price settlePrice,
  101. klt.actual_price actualPrice,
  102. klt.success_phone successPhone,
  103. klt.success_user successUser,
  104. klt.url,
  105. klt.generate_time generateTime,
  106. klt.receipt_time receiptTime,
  107. klt.remark,
  108. klt.create_by createBy,
  109. klt.status,
  110. kltu.contacts,
  111. kltu.phone,
  112. kltu.firm_name firmName,
  113. klt.order_count orderCount
  114. </sql>
  115. <!--销售2 采购1-->
  116. <select id="sellList" resultType="com.sckw.payment.model.dto.LedgerSellDto">
  117. select
  118. <include refid="sell_col"/>
  119. from kwp_ledger_trade klt
  120. inner join kwp_ledger_trade_unit kltu
  121. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  122. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  123. inner join kwp_ledger_trade_unit kltu2
  124. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type =
  125. #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  126. <where>
  127. klt.del_flag = 0
  128. and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
  129. <if test="tradeReq.status != null">
  130. and klt.status = #{tradeReq.status}
  131. </if>
  132. <if test="tradeReq.trading != null">
  133. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  134. </if>
  135. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  136. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  137. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  138. </if>
  139. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  140. and (
  141. klt.t_ledger_no like concat('%'
  142. , #{tradeReq.keywords,jdbcType=VARCHAR}
  143. , '%')
  144. or kltu.firm_name like concat('%'
  145. , #{tradeReq.keywords,jdbcType=VARCHAR}
  146. , '%')
  147. or kltu.contacts like concat('%'
  148. , #{tradeReq.keywords,jdbcType=VARCHAR}
  149. , '%')
  150. )
  151. </if>
  152. </where>
  153. order by klt.generate_time desc
  154. </select>
  155. <select id="list" resultType="com.sckw.payment.model.vo.LedgerSell">
  156. select klt.id,
  157. klt.t_ledger_no tLedgerNo,
  158. klt.name,
  159. klt.start_time startTime,
  160. klt.end_time endTime,
  161. klt.tax_rate taxRate,
  162. klt.trading,
  163. klt.total_price totalPrice,
  164. klt.ex_tax_price exTaxPrice,
  165. klt.settle_price settlePrice,
  166. klt.actual_price actualPrice,
  167. klt.audit_phone auditPhone,
  168. klt.audit_user auditUser,
  169. klt.success_user successUser,
  170. klt.success_phone successPhone,
  171. klt.url,
  172. klt.generate_time generateTime,
  173. klt.receipt_time receiptTime,
  174. klt.remark,
  175. klt.status,
  176. klt.create_by createBy,
  177. kltu.contacts,
  178. kltu.phone,
  179. kltu.firm_name purchaseFirmName,
  180. kltu2.firm_name sellFirmName,
  181. klt.order_count orderCount
  182. from kwp_ledger_trade klt
  183. inner join kwp_ledger_trade_unit kltu
  184. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  185. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  186. inner join kwp_ledger_trade_unit kltu2
  187. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type =
  188. #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  189. <where>
  190. klt.del_flag = 0
  191. <if test="tradeReq.status != null">
  192. and klt.status = #{tradeReq.status}
  193. </if>
  194. <if test="tradeReq.trading != null">
  195. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  196. </if>
  197. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  198. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  199. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  200. </if>
  201. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  202. and (
  203. klt.t_ledger_no like concat('%'
  204. , #{tradeReq.keywords,jdbcType=VARCHAR}
  205. , '%')
  206. or kltu.firm_name like concat('%'
  207. , #{tradeReq.keywords,jdbcType=VARCHAR}
  208. , '%')
  209. or kltu2.firm_name like concat('%'
  210. , #{tradeReq.keywords,jdbcType=VARCHAR}
  211. , '%')
  212. or kltu.contacts like concat('%'
  213. , #{tradeReq.keywords,jdbcType=VARCHAR}
  214. , '%')
  215. )
  216. </if>
  217. </where>
  218. order by klt.generate_time desc
  219. </select>
  220. <select id="selectIds" resultType="com.sckw.payment.model.vo.LedgerSell">
  221. select klt.id,
  222. klt.t_ledger_no tLedgerNo,
  223. klt.name,
  224. klt.start_time startTime,
  225. klt.end_time endTime,
  226. klt.tax_rate taxRate,
  227. klt.trading,
  228. klt.total_price totalPrice,
  229. klt.ex_tax_price exTaxPrice,
  230. klt.settle_price settlePrice,
  231. klt.actual_price actualPrice,
  232. klt.audit_phone auditPhone,
  233. klt.audit_user auditUser,
  234. klt.success_user successUser,
  235. klt.success_phone successPhone,
  236. klt.url,
  237. klt.generate_time generateTime,
  238. klt.receipt_time receiptTime,
  239. klt.remark,
  240. klt.status,
  241. klt.create_by createBy,
  242. kltu.contacts,
  243. kltu.phone,
  244. kltu.firm_name purchaseFirmName,
  245. kltu2.firm_name sellFirmName,
  246. klt.order_count orderCount
  247. from kwp_ledger_trade klt
  248. inner join kwp_ledger_trade_unit kltu
  249. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  250. kltu.unit_type = 1
  251. inner join kwp_ledger_trade_unit kltu2
  252. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type = 2
  253. <where>
  254. klt.del_flag = 0
  255. and klt.id in
  256. <foreach collection="ids" item="id" close=")" open="(" separator=",">
  257. #{id,jdbcType=BIGINT}
  258. </foreach>
  259. </where>
  260. </select>
  261. <select id="purchaseList" resultType="com.sckw.payment.model.dto.LedgerPurchaseDto">
  262. select
  263. <include refid="purchase_col"/>
  264. from kwp_ledger_trade klt
  265. inner join kwp_ledger_trade_unit kltu
  266. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  267. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  268. inner join kwp_ledger_trade_unit kltu2
  269. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type =
  270. #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  271. <where>
  272. klt.del_flag = 0
  273. and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
  274. <choose>
  275. <when test="tradeReq.status != null">
  276. and klt.status = #{tradeReq.status}
  277. </when>
  278. <otherwise>
  279. and klt.status not in (1, 6)
  280. </otherwise>
  281. </choose>
  282. <if test="tradeReq.trading != null">
  283. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  284. </if>
  285. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  286. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  287. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  288. </if>
  289. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  290. and (
  291. klt.t_ledger_no like concat('%'
  292. , #{tradeReq.keywords,jdbcType=VARCHAR}
  293. , '%')
  294. or kltu.firm_name like concat('%'
  295. , #{tradeReq.keywords,jdbcType=VARCHAR}
  296. , '%')
  297. or kltu.contacts like concat('%'
  298. , #{tradeReq.keywords,jdbcType=VARCHAR}
  299. , '%')
  300. )
  301. </if>
  302. </where>
  303. order by klt.generate_time desc
  304. </select>
  305. <!--数量统计规则:未筛选,统计所有。需要根据企业方,排除已保存,已撤回两个状态-->
  306. <select id="countSum" resultType="java.lang.Long">
  307. select IFNULL(count(1), 0)
  308. from kwp_ledger_trade klt
  309. inner join kwp_ledger_trade_unit kltu
  310. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  311. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  312. inner join kwp_ledger_trade_unit kltu2
  313. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  314. kltu2.unit_type = #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  315. <where>
  316. klt.del_flag = 0
  317. and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
  318. <if test="tradeReq.status != null">
  319. and klt.status = #{tradeReq.status}
  320. </if>
  321. <if test="status != null and status.size() > 0">
  322. and klt.status not in
  323. <foreach collection="status" item="id" close=")" open="(" separator=",">
  324. #{id,jdbcType=BIGINT}
  325. </foreach>
  326. </if>
  327. <if test="tradeReq.trading != null">
  328. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  329. </if>
  330. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  331. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  332. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  333. </if>
  334. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  335. and (
  336. klt.t_ledger_no like concat('%'
  337. , #{tradeReq.keywords,jdbcType=VARCHAR}
  338. , '%')
  339. or kltu.firm_name like concat('%'
  340. , #{tradeReq.keywords,jdbcType=VARCHAR}
  341. , '%')
  342. or kltu.contacts like concat('%'
  343. , #{tradeReq.keywords,jdbcType=VARCHAR}
  344. , '%')
  345. )
  346. </if>
  347. </where>
  348. </select>
  349. <!--金额统计规则:未筛选状态,统计已完成的对账单,结算金额。筛选状态统计具体的状态-->
  350. <select id="countSumMoney" resultType="java.math.BigDecimal">
  351. select sum(klt.settle_price)
  352. from kwp_ledger_trade klt
  353. inner join kwp_ledger_trade_unit kltu
  354. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  355. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  356. inner join kwp_ledger_trade_unit kltu2
  357. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and
  358. kltu2.unit_type = #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  359. <where>
  360. klt.del_flag = 0
  361. and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
  362. <if test="tradeReq.status != null">
  363. and klt.status = #{tradeReq.status}
  364. </if>
  365. <if test="tradeReq.status == null">
  366. and klt.status = 4
  367. </if>
  368. <if test="status != null and status.size() > 0">
  369. and klt.status not in
  370. <foreach collection="status" item="id" close=")" open="(" separator=",">
  371. #{id,jdbcType=BIGINT}
  372. </foreach>
  373. </if>
  374. <if test="tradeReq.trading != null">
  375. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  376. </if>
  377. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  378. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  379. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  380. </if>
  381. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  382. and (
  383. klt.t_ledger_no like concat('%'
  384. , #{tradeReq.keywords,jdbcType=VARCHAR}
  385. , '%')
  386. or kltu.firm_name like concat('%'
  387. , #{tradeReq.keywords,jdbcType=VARCHAR}
  388. , '%')
  389. or kltu.contacts like concat('%'
  390. , #{tradeReq.keywords,jdbcType=VARCHAR}
  391. , '%')
  392. )
  393. </if>
  394. </where>
  395. </select>
  396. <select id="countOrder" resultType="java.util.Map">
  397. SELECT count(1) "0",
  398. count(IF(klt.status = 1, 1, NULL)) "1",
  399. count(IF(klt.status = 2, 1, NULL)) "2",
  400. count(IF(klt.status = 3, 1, NULL)) "3",
  401. count(IF(klt.status = 4, 1, NULL)) "4",
  402. count(IF(klt.status = 5, 1, NULL)) "5",
  403. count(IF(klt.status = 6, 1, NULL)) "6"
  404. from kwp_ledger_trade klt
  405. inner join kwp_ledger_trade_unit kltu
  406. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  407. kltu.unit_type = #{tradeReq.unitType,jdbcType=INTEGER}
  408. inner join kwp_ledger_trade_unit kltu2
  409. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type =
  410. #{tradeReq.unitTypeTwo,jdbcType=INTEGER}
  411. <where>
  412. klt.del_flag = 0
  413. and kltu2.top_ent_id = #{tradeReq.entId,jdbcType=BIGINT}
  414. <if test="tradeReq.unitType != null and tradeReq.unitType == 2">
  415. and klt.status not in (1, 6)
  416. </if>
  417. <if test="tradeReq.trading != null">
  418. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  419. </if>
  420. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  421. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  422. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  423. </if>
  424. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  425. and (
  426. klt.t_ledger_no like concat('%'
  427. , #{tradeReq.keywords,jdbcType=VARCHAR}
  428. , '%')
  429. or kltu.firm_name like concat('%'
  430. , #{tradeReq.keywords,jdbcType=VARCHAR}
  431. , '%')
  432. or kltu.contacts like concat('%'
  433. , #{tradeReq.keywords,jdbcType=VARCHAR}
  434. , '%')
  435. )
  436. </if>
  437. </where>
  438. </select>
  439. <select id="countOrder2" resultType="java.util.Map">
  440. SELECT count(1) "0",
  441. count(IF(kll_distinct.status = 1, 1, NULL)) "1",
  442. count(IF(kll_distinct.status = 2, 1, NULL)) "2",
  443. count(IF(kll_distinct.status = 3, 1, NULL)) "3",
  444. count(IF(kll_distinct.status = 4, 1, NULL)) "4",
  445. count(IF(kll_distinct.status = 5, 1, NULL)) "5",
  446. count(IF(kll_distinct.status = 6, 1, NULL)) "6"
  447. FROM (
  448. SELECT distinct klt.id, klt.status
  449. from kwp_ledger_trade klt
  450. inner join kwp_ledger_trade_unit kltu
  451. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  452. <where>
  453. klt.del_flag = 0
  454. <if test="tradeReq.trading != null">
  455. and klt.trading = #{tradeReq.trading,jdbcType=INTEGER}
  456. </if>
  457. <if test="tradeReq.endCreateTime != null and tradeReq.endCreateTime != '' and tradeReq.startCreateTime != null and tradeReq.startCreateTime != ''">
  458. and klt.generate_time between #{tradeReq.startCreateTime,jdbcType=TIMESTAMP}
  459. and #{tradeReq.endCreateTime,jdbcType=TIMESTAMP}
  460. </if>
  461. <if test="tradeReq.keywords != null and tradeReq.keywords != ''">
  462. and (
  463. klt.t_ledger_no like concat('%', #{tradeReq.keywords,jdbcType=VARCHAR}, '%')
  464. or kltu.firm_name like concat('%', #{tradeReq.keywords,jdbcType=VARCHAR}, '%')
  465. or kltu.contacts like concat('%', #{tradeReq.keywords,jdbcType=VARCHAR}, '%')
  466. )
  467. </if>
  468. </where>
  469. ) kll_distinct
  470. </select>
  471. <select id="selectSellIds" resultType="com.sckw.payment.model.dto.LedgerSellDto">
  472. select klt.id,
  473. klt.t_ledger_no tLedgerNo,
  474. klt.name,
  475. klt.start_time startTime,
  476. klt.end_time endTime,
  477. klt.tax_rate taxRate,
  478. klt.trading,
  479. klt.total_price totalPrice,
  480. klt.ex_tax_price exTaxPrice,
  481. klt.settle_price settlePrice,
  482. klt.actual_price actualPrice,
  483. klt.audit_phone auditPhone,
  484. klt.audit_user auditUser,
  485. klt.url,
  486. klt.generate_time generateTime,
  487. klt.receipt_time receiptTime,
  488. klt.remark,
  489. klt.status,
  490. kltu.contacts,
  491. kltu.phone,
  492. kltu.firm_name firmName,
  493. klt.order_count orderCount
  494. from kwp_ledger_trade klt
  495. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  496. <where>
  497. klt.del_flag = 0
  498. and kltu.unit_type = 1
  499. and klt.id in
  500. <foreach collection="ids" item="id" close=")" open="(" separator=",">
  501. #{id,jdbcType=BIGINT}
  502. </foreach>
  503. </where>
  504. order by klt.generate_time desc
  505. </select>
  506. <select id="selectPurchaseIds" resultType="com.sckw.payment.model.dto.LedgerPurchaseDto">
  507. select klt.id,
  508. klt.t_ledger_no tLedgerNo,
  509. klt.name,
  510. klt.start_time startTime,
  511. klt.end_time endTime,
  512. klt.tax_rate taxRate,
  513. klt.trading,
  514. klt.total_price totalPrice,
  515. klt.ex_tax_price exTaxPrice,
  516. klt.settle_price settlePrice,
  517. klt.actual_price actualPrice,
  518. klt.audit_phone auditPhone,
  519. klt.audit_user auditUser,
  520. klt.url,
  521. klt.generate_time generateTime,
  522. klt.receipt_time receiptTime,
  523. klt.remark,
  524. klt.status,
  525. kltu.contacts,
  526. kltu.phone,
  527. kltu.firm_name firmName,
  528. klt.order_count orderCount
  529. from kwp_ledger_trade klt
  530. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  531. <where>
  532. klt.del_flag = 0
  533. and kltu.unit_type = 2
  534. and klt.id in
  535. <foreach collection="ids" item="id" close=")" open="(" separator=",">
  536. #{id,jdbcType=BIGINT}
  537. </foreach>
  538. </where>
  539. order by klt.generate_time desc
  540. </select>
  541. <select id="selectId" resultType="com.sckw.payment.model.dto.LedgerTradeDto">
  542. select klt.id,
  543. klt.t_ledger_no tLedgerNo,
  544. klt.name,
  545. klt.start_time startTime,
  546. klt.end_time endTime,
  547. klt.tax_rate taxRate,
  548. klt.trading,
  549. klt.total_price totalPrice,
  550. klt.ex_tax_price exTaxPrice,
  551. klt.settle_price settlePrice,
  552. klt.actual_price actualPrice,
  553. klt.audit_phone auditPhone,
  554. klt.audit_user auditUser,
  555. klt.success_user successUser,
  556. klt.success_phone successPhone,
  557. klt.url,
  558. klt.generate_time generateTime,
  559. klt.receipt_time receiptTime,
  560. klt.remark,
  561. klt.status,
  562. kltu.contacts,
  563. kltu.top_ent_id purchaseEntId,
  564. kltu.phone,
  565. kltu.firm_name firmName,
  566. klt.order_count orderCount
  567. from kwp_ledger_trade klt
  568. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  569. <where>
  570. klt.del_flag = 0
  571. and kltu.unit_type = #{unitType,jdbcType=INTEGER}
  572. and klt.id = #{id,jdbcType=BIGINT}
  573. </where>
  574. </select>
  575. <update id="updatePrice">
  576. update kwp_ledger_trade
  577. set actual_price = IFNULL(actual_price, 0) + #{totalPrice,jdbcType=DECIMAL}
  578. where id = #{id,jdbcType=BIGINT}
  579. </update>
  580. <select id="selectJoin" resultType="java.lang.String">
  581. SELECT klt.t_ledger_no
  582. from kwp_ledger_trade klt
  583. inner join kwp_ledger_trade_unit kltu
  584. on klt.id = kltu.t_ledger_id and kltu.del_flag = 0 and
  585. kltu.unit_type = 1
  586. inner join kwp_ledger_trade_unit kltu2
  587. on klt.id = kltu2.t_ledger_id and kltu2.del_flag = 0 and kltu2.unit_type = 2
  588. <where>
  589. klt.del_flag = 0
  590. and klt.status != 4
  591. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  592. and kltu2.top_ent_id = #{entTarget,jdbcType=BIGINT}
  593. </where>
  594. </select>
  595. <select id="countSize" resultType="com.sckw.payment.model.dto.LedgerSize">
  596. select count(distinct if(kltu.unit_type = 2, klt.id, null)) send,
  597. count(distinct if(kltu.unit_type = 1, klt.id, null)) receive
  598. from kwp_ledger_trade klt
  599. inner join kwp_ledger_trade_unit kltu on klt.id = kltu.t_ledger_id and kltu.del_flag = 0
  600. <where>
  601. klt.del_flag = 0
  602. and klt.status != 1
  603. and kltu.top_ent_id = #{entId,jdbcType=BIGINT}
  604. </where>
  605. </select>
  606. </mapper>