HouseOrderMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402
  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.template.mapper.HouseOrderMapper">
  4. <select id="pageList" resultType="com.template.model.vo.HouseOrderPageListVo">
  5. SELECT
  6. ho.id,
  7. ho.order_number as orderNumber,
  8. ho.reserve_live_time as reserveLiveTime,
  9. ho.reserve_leave_time as reserveLeaveTime,
  10. ho.live_time as liveTime,
  11. ho.leave_time as LeaveTime,
  12. u1.user_name as reserveName,
  13. u1.phone as phone,
  14. u1.card_number as cardNumber,
  15. org.name as orgName,
  16. ho.live_name as liveName,
  17. u.id_card as idCard,
  18. h.room_name as houseName,
  19. hn.room_number as houseNumber,
  20. ho.pay_price as orderPrice,
  21. ho.pay_type as payType,
  22. ho.order_channel as payChannelType,
  23. ho.order_status as orderStart,
  24. ho.pay_time as payTime,
  25. ho.refund_time as refundTime,
  26. ho.cancel_time as cancelTime,
  27. ho.order_channel as orderChannel,
  28. h.id as houseId,
  29. hn.id as houseNumberId,
  30. h.room_type as roomType,
  31. ho.key_type as lockStatus,
  32. ho.key_pass_word as keyPassWord,
  33. ho.give_back as giveBack,
  34. ho.remark,
  35. ho.source as source,
  36. ho.source_id as sourceId
  37. FROM
  38. `house_order` ho
  39. LEFT JOIN house_number hn ON hn.id = ho.house_number_id
  40. AND hn.deleted = 0
  41. LEFT JOIN house h ON h.id = hn.house_id
  42. AND hn.deleted = 0
  43. LEFT JOIN users u ON u.id = ho.live_users_id
  44. AND u.deleted = 0
  45. LEFT JOIN building b ON b.id = hn.building_id
  46. AND b.deleted = 0
  47. LEFT JOIN users u1 ON u1.id = ho.reserve_user_id
  48. AND u1.deleted = 0
  49. LEFT JOIN organization org ON org.id = u1.organ_id
  50. where
  51. ho.deleted=0
  52. <if test="orderStatus != null and orderStatus != ''">
  53. AND ho.order_status = #{orderStatus}
  54. </if>
  55. <if test="houseType != null and houseType != ''">
  56. AND h.room_type = #{houseType}
  57. </if>
  58. <if test="keyWord != null and keyWord != ''">
  59. AND (ho.reserve_name LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' or hn.room_number = #{keyWord} )
  60. </if>
  61. <if test="payPriceStartTime != null and payPriceStartTime != '' and payPriceEndTime != null and payPriceEndTime != '' ">
  62. AND #{payPriceEndTime} >= ho.pay_time
  63. AND ho.pay_time >= #{payPriceStartTime}
  64. </if>
  65. <if test="refundStartTime != null and refundStartTime != '' and refundEndTime != null and refundEndTime != '' ">
  66. AND ho.refund_time >= #{refundStartTime}
  67. AND #{refundEndTime} >= ho.refund_time
  68. </if>
  69. <if test="cancelStartTime != null and cancelStartTime != '' and cancelEndTime != null and cancelEndTime != '' ">
  70. AND ho.cancel_time >= #{cancelStartTime}
  71. AND #{cancelEndTime} >= ho.cancel_time
  72. </if>
  73. <if test="liveStartTime != null and liveStartTime != '' and liveEndTime != null and liveEndTime != '' ">
  74. AND #{liveEndTime} >= ho.reserve_live_time
  75. AND ho.reserve_live_time >= #{liveStartTime}
  76. </if>
  77. <if test="leaveStartTime != null and leaveStartTime != '' and leaveEndTime != null and leaveEndTime != '' ">
  78. AND #{leaveEndTime} >= ho.reserve_leave_time
  79. AND ho.reserve_leave_time >= #{leaveStartTime}
  80. </if>
  81. <if test="houseId != null and houseId != ''">
  82. AND h.id = #{houseId}
  83. </if>
  84. <if test="orgId != null and orgId != ''">
  85. AND org.id = #{orgId}
  86. </if>
  87. <if test="keyType != null and keyType != ''">
  88. AND ho.key_type = #{keyType}
  89. </if>
  90. <if test="giveBack != null and giveBack != ''">
  91. AND ho.give_back = #{giveBack}
  92. </if>
  93. <if test="buildingId != null and buildingId != ''">
  94. AND hn.building_id=#{buildingId}
  95. </if>
  96. ORDER BY
  97. ho.create_time DESC
  98. </select>
  99. <select id="queryExport" resultType="com.template.model.vo.QueryExportVo">
  100. SELECT
  101. hn.room_number as houseNumber,
  102. h.room_type as roomType,
  103. h.room_name as houseName,
  104. ho.key_type as lockStatus,
  105. ho.give_back as giveBack,
  106. ho.reserve_name as reserveName,
  107. ho.reserve_phone as phone,
  108. u1.card_number as cardNumber,
  109. org.name as orgName,
  110. ho.live_name as liveName,
  111. u.id_card as idCard,
  112. ho.order_number as orderNumber,
  113. ho.live_time as liveTime,
  114. ho.leave_time as leaveTime,
  115. ho.pay_price as orderPrice,
  116. ho.order_status as orderStart,
  117. ho.remark,
  118. ho.pay_type as payType,
  119. ho.order_channel as orderChannelType,
  120. ho.pay_time as payTime,
  121. ho.refund_time as refundTime,
  122. ho.cancel_time as cancelTime,
  123. ho.source as source,
  124. ho.source_id as sourceId
  125. FROM
  126. `house_order` ho
  127. LEFT JOIN house_number hn ON hn.id = ho.house_number_id
  128. AND hn.deleted = 0
  129. LEFT JOIN house h ON h.id = hn.house_id
  130. AND hn.deleted = 0
  131. LEFT JOIN users u ON u.id = ho.live_users_id
  132. AND u.deleted = 0
  133. LEFT JOIN building b ON b.id = hn.building_id
  134. AND b.deleted = 0
  135. LEFT JOIN users u1 ON u1.id = ho.reserve_user_id
  136. AND u1.deleted = 0
  137. LEFT JOIN organization org ON org.id = u1.organ_id
  138. where
  139. ho.deleted=0
  140. <if test="orderStatus != null and orderStatus != ''">
  141. AND ho.order_status = #{orderStatus}
  142. </if>
  143. <if test="houseType != null and houseType != ''">
  144. AND h.room_type = #{houseType}
  145. </if>
  146. <if test="orgId != null and orgId != ''">
  147. AND org.id = #{orgId}
  148. </if>
  149. <if test="keyWord != null and keyWord != ''">
  150. AND (ho.reserve_name LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' or hn.room_number = #{keyWord} )
  151. </if>
  152. <if test="payPriceStartTime != null and payPriceStartTime != '' and payPriceEndTime != null and payPriceEndTime != '' ">
  153. AND #{payPriceEndTime} >= ho.pay_time
  154. AND ho.pay_time >= #{payPriceStartTime}
  155. </if>
  156. <if test="refundStartTime != null and refundStartTime != '' and refundEndTime != null and refundEndTime != '' ">
  157. AND ho.refund_time >= #{refundStartTime}
  158. AND #{refundEndTime} >= ho.refund_time
  159. </if>
  160. <if test="cancelStartTime != null and cancelStartTime != '' and cancelEndTime != null and cancelEndTime != '' ">
  161. AND ho.cancel_time >= #{cancelStartTime}
  162. AND #{cancelEndTime} >= ho.cancel_time
  163. </if>
  164. <if test="liveStartTime != null and liveStartTime != '' and liveEndTime != null and liveEndTime != '' ">
  165. AND #{liveEndTime} >= ho.live_time
  166. AND ho.live_time >= #{liveStartTime}
  167. </if>
  168. <if test="leaveStartTime != null and leaveStartTime != '' and leaveEndTime != null and leaveEndTime != '' ">
  169. AND #{leaveEndTime} >= ho.leave_time
  170. AND ho.leave_time >= #{leaveStartTime}
  171. </if>
  172. <if test="houseId != null and houseId != ''">
  173. AND h.id = #{houseId}
  174. </if>
  175. <if test="keyType != null and keyType != ''">
  176. AND ho.key_type = #{keyType}
  177. </if>
  178. <if test="giveBack != null and giveBack != ''">
  179. AND ho.give_back = #{giveBack}
  180. </if>
  181. <if test="buildingId != null and buildingId != ''">
  182. AND hn.building_id=#{buildingId}
  183. </if>
  184. ORDER BY
  185. ho.create_time DESC
  186. </select>
  187. <select id="getOrderNumber" resultType="com.template.model.vo.HouseOrderCheckInShowVo">
  188. SELECT ho.reserve_name as liveName,
  189. u.phone,
  190. ho.reserve_live_time as reserveLiveTime,
  191. ho.reserve_leave_time as reserveLeaveTime,
  192. h.room_type as roomType,
  193. ho.house_id as houseId,
  194. ho.house_number_id as houseNumberId,
  195. u.id_card as idCard,
  196. u.card_number as cardNumber,
  197. ho.pay_price as payPrice,
  198. ho.live_day as liveDay,
  199. ho.order_number as orderNumber
  200. FROM `house_order` ho
  201. LEFT JOIN house h on ho.house_id = h.id
  202. LEFT JOIN users u on ho.reserve_user_id = u.id
  203. WHERE ho.order_number = #{orderNumber}
  204. and ho.deleted = 0
  205. </select>
  206. <select id="reportStatisticsPage" resultType="com.template.model.vo.ReportStatisticsVo">
  207. SELECT
  208. ho.id,
  209. ho.order_number as orderNumber,
  210. ho.order_status as orderStatus,
  211. ho.house_id as houseId,
  212. ho.house_number_id as houseNumberId,
  213. ho.live_name as liveName,
  214. u1.user_name as reserveName,
  215. u1.phone as reservePhone,
  216. ho.reserve_user_id as reserveUserId,
  217. u1.card_number as cardNumber,
  218. org.name as orgName,
  219. ho.live_users_id as liveUsersId,
  220. ho.reserve_live_time as reserveLiveTime,
  221. ho.reserve_leave_time as reserveLeaveTime,
  222. ho.price as price,
  223. ho.house_order_number as houseOrderNumber ,
  224. ho.live_day as liveDay,
  225. ho.live_name_type as liveNameType,
  226. ho.live_time as liveTime,
  227. ho.leave_time as leaveTime,
  228. ho.pay_time as payTime,
  229. ho.refund_time as refundTime,
  230. ho.pay_user_id as payUserId,
  231. ho.order_channel as orderChannel,
  232. ho.pay_type as payType,
  233. ho.pay_price as payPrice,
  234. ho.cancel_time as cancelTime,
  235. ho.electric_cost as electricCost,
  236. ho.electric_consume as electricConsume,
  237. ho.water_cost as waterCost,
  238. ho.water_consume as waterConsume,
  239. ho.create_time as createTime,
  240. hn.room_number AS roomNumber,
  241. h.room_type AS roomType,
  242. h.room_name as roomName
  243. FROM
  244. `house_order` ho
  245. LEFT JOIN house_number hn on ho.house_number_id=hn.id
  246. LEFT JOIN house h on ho.house_id=h.id
  247. LEFT JOIN users u1 ON u1.id = ho.reserve_user_id
  248. AND u1.deleted = 0
  249. LEFT JOIN organization org ON org.id = u1.organ_id
  250. WHERE ho.deleted=0
  251. and FIND_IN_SET(ho.order_status,#{s})
  252. <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
  253. AND #{endTime} >= ho.create_time
  254. AND ho.create_time >= #{startTime}
  255. </if>
  256. <if test="keyWord != null and keyWord != ''">
  257. AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
  258. </if>
  259. ORDER BY ho.create_time DESC
  260. </select>
  261. <select id="reportStatisticsExport" resultType="com.template.model.vo.ReportStatisticsExportVo">
  262. SELECT
  263. ho.order_number as orderNumber,
  264. u1.user_name as liveName,
  265. u1.card_number as cardNumber,
  266. org.name as orgName,
  267. h.room_name as roomName,
  268. h.room_type AS roomType,
  269. hn.room_number AS roomNumber,
  270. ho.pay_price as payPrice,
  271. ho.pay_time as payTime,
  272. ho.order_status as orderStatus,
  273. ho.create_time as createTime,
  274. ho.house_order_source as houseOrderSource
  275. FROM
  276. `house_order` ho
  277. LEFT JOIN house_number hn on ho.house_number_id=hn.id
  278. LEFT JOIN house h on ho.house_id=h.id
  279. LEFT JOIN users u1 ON u1.id = ho.reserve_user_id
  280. AND u1.deleted = 0
  281. LEFT JOIN organization org ON org.id = u1.organ_id
  282. WHERE ho.deleted=0
  283. and FIND_IN_SET(ho.order_status,#{s})
  284. <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
  285. AND #{endTime} >= ho.create_time
  286. AND ho.create_time >= #{startTime}
  287. </if>
  288. <if test="keyWord != null and keyWord != ''">
  289. AND ( ho.order_number LIKE '%' #{keyWord} '%' or ho.live_name LIKE '%' #{keyWord} '%' )
  290. </if>
  291. ORDER BY ho.create_time DESC
  292. </select>
  293. <select id="payHouseOrderUser" resultType="java.lang.String">
  294. SELECT
  295. reserve_user_id
  296. FROM
  297. `house_order`
  298. WHERE deleted=0
  299. AND leave_time> #{start}
  300. AND #{end}> leave_time
  301. AND order_status=8
  302. AND pay_price = 0
  303. GROUP BY reserve_user_id
  304. </select>
  305. <select id="getDate" resultType="com.template.model.pojo.HouseOrder">
  306. SELECT
  307. *
  308. FROM
  309. `house_order`
  310. WHERE
  311. deleted=0
  312. AND FIND_IN_SET(order_status,'1,2,3,4')
  313. AND reserve_user_id=#{userId}
  314. AND #{dateTime} >= reserve_live_time
  315. AND reserve_leave_time > #{dateTime}
  316. AND source=#{source}
  317. AND pay_price=0
  318. </select>
  319. <select id="getWater" resultType="com.template.model.vo.HouseOrderWaterVo">
  320. SELECT
  321. ho.order_number as orderNumber,
  322. ho.live_time as liveTime,
  323. ho.leave_time as leaveTime,
  324. hn.room_number as roomNumber,
  325. ho.water_consume as waterConsume
  326. FROM
  327. `house_order` ho
  328. LEFT JOIN house_number hn on ho.house_number_id=hn.id
  329. WHERE
  330. deleted=0
  331. AND FIND_IN_SET(ho.id,#{houseOrderSource})
  332. </select>
  333. <select id="getElectric" resultType="com.template.model.vo.HouseOrderElectricVo">
  334. SELECT
  335. ho.order_number as orderNumber,
  336. ho.live_time as liveTime,
  337. ho.leave_time as leaveTime,
  338. hn.room_number as roomNumber,
  339. ho.electric_consume as electricConsume
  340. FROM
  341. `house_order` ho
  342. LEFT JOIN house_number hn on ho.house_number_id=hn.id
  343. WHERE
  344. deleted=0
  345. AND FIND_IN_SET(ho.id,#{houseOrderSource})
  346. </select>
  347. <select id="getWaterAndElectric" resultType="com.template.model.vo.HouseOrderWaterAndElectricVo">
  348. SELECT
  349. ho.order_number as orderNumber,
  350. ho.live_time as liveTime,
  351. ho.leave_time as leaveTime,
  352. hn.room_number as roomNumber,
  353. ho.water_consume as waterConsume,
  354. ho.electric_consume as electricConsume
  355. FROM
  356. `house_order` ho
  357. LEFT JOIN house_number hn on ho.house_number_id=hn.id
  358. WHERE
  359. deleted=0
  360. AND FIND_IN_SET(ho.id,#{houseOrderSource})
  361. </select>
  362. </mapper>