OrderGiftVisitorMapper.xml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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.yc.ship.module.trade.dal.mysql.orderjz.OrderGiftVisitorMapper">
  4. <!-- 分页查询蹭送行程游客 -->
  5. <select id="selectPageWithVisitor" resultType="com.yc.ship.module.trade.dal.dataobject.orderjzdetail.OrderGiftVisitorDO">
  6. SELECT
  7. gfv.id as id,
  8. gfv.sign_time as signTime,
  9. gfv.dispatch_id as dispatchId,
  10. v.id as visitorId,
  11. o.voyage_id as voyageId,
  12. v.order_id as orderId,
  13. v.name as name,
  14. v.credential_no as idCard,
  15. v.mobile as phone,
  16. v.room_model_id,
  17. rm.name as roomModelName,
  18. o.order_no,
  19. SUBSTRING_INDEX(o.order_no, '-', -1) as orderNo,
  20. r.direction,
  21. dj.dispatch_no as dispatchNo,
  22. dj.group_no as groupNo,
  23. dj.bus_number as busNumber,
  24. dj.driver_name as driverName,
  25. dj.driver_phone as driverPhone,
  26. dj.receiver_name as receiverName,
  27. dj.receiver_phone as receiverPhone,
  28. dj.remark as dispatchRemark,
  29. gfv.sign_remark as remark
  30. FROM trade_visitor v
  31. LEFT JOIN trade_order_jz_gift_visitor gfv ON gfv.visitor_id = v.id
  32. INNER JOIN trade_order o ON v.order_id = o.id
  33. INNER JOIN product_voyage pv ON o.voyage_id = pv.id
  34. inner join trade_detail td on td.order_id = o.id and td.visitor_id = v.id and td.product_id = 2034458675435925505 and td.deleted = 0
  35. INNER JOIN resource_route r ON pv.route_id = r.id
  36. LEFT JOIN resource_room_model rm ON v.room_model_id = rm.id
  37. LEFT JOIN trade_order_jz_dispatch dj ON gfv.dispatch_id = dj.id AND dj.source_type = 2
  38. WHERE v.deleted = 0 AND o.deleted = 0 AND pv.deleted = 0
  39. AND o.voyage_id = #{vo.voyageId}
  40. <if test="vo.idCard != null and vo.idCard != ''">
  41. AND v.credential_no LIKE CONCAT('%', #{vo.idCard}, '%')
  42. </if>
  43. <if test="vo.name != null and vo.name != ''">
  44. AND v.name LIKE CONCAT('%', #{vo.name}, '%')
  45. </if>
  46. <if test="vo.address != null and vo.address != ''">
  47. AND gfv.address = #{vo.address}
  48. </if>
  49. <if test="vo.arriveTime != null and vo.arriveTime != ''">
  50. AND gfv.arrive_time = #{vo.arriveTime}
  51. </if>
  52. <if test="vo.dispatchNo != null and vo.dispatchNo != ''">
  53. AND dj.dispatch_no LIKE CONCAT('%', #{vo.dispatchNo}, '%')
  54. </if>
  55. <if test="vo.signStatus != null and vo.signStatus == 1">
  56. AND gfv.sign_time IS NOT NULL
  57. </if>
  58. <if test="vo.signStatus != null and vo.signStatus == 0">
  59. AND gfv.sign_time IS NULL
  60. </if>
  61. <if test="vo.orderNo != null and vo.orderNo != ''">
  62. AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
  63. </if>
  64. <if test="vo.otaId != null and vo.otaId != ''">
  65. AND o.source_id = #{vo.otaId}
  66. </if>
  67. ORDER BY v.id desc
  68. </select>
  69. <!-- 导出蹭送行程接站明细 -->
  70. <select id="selectExportList" resultType="com.yc.ship.module.trade.dal.dataobject.orderjzdetail.OrderGiftVisitorDO">
  71. SELECT
  72. gfv.id as id,
  73. gfv.sign_time as signTime,
  74. gfv.dispatch_id as dispatchId,
  75. v.name as name,
  76. v.credential_no as idCard,
  77. v.mobile as phone,
  78. v.room_model_id,
  79. rm.name as roomModelName,
  80. o.order_no,
  81. SUBSTRING_INDEX(o.order_no, '-', -1) as orderNo,
  82. r.direction,
  83. dj.dispatch_no as dispatchNo,
  84. dj.group_no as groupNo,
  85. dj.bus_number as busNumber,
  86. dj.driver_name as driverName,
  87. dj.driver_phone as driverPhone,
  88. dj.receiver_name as receiverName,
  89. dj.receiver_phone as receiverPhone,
  90. dj.remark as dispatchRemark,
  91. gfv.sign_remark as remark
  92. FROM trade_visitor v
  93. LEFT JOIN trade_order_jz_gift_visitor gfv ON gfv.visitor_id = v.id AND v.deleted = 0
  94. INNER JOIN trade_order o ON v.order_id = o.id AND o.deleted = 0
  95. inner join trade_detail td on td.order_id = o.id and td.visitor_id = v.id and td.product_id = 2034458675435925505 and td.deleted = 0
  96. INNER JOIN product_voyage pv ON o.voyage_id = pv.id AND pv.deleted = 0
  97. INNER JOIN resource_route r ON pv.route_id = r.id
  98. LEFT JOIN resource_room_model rm ON v.room_model_id = rm.id
  99. LEFT JOIN trade_order_jz_dispatch dj ON gfv.dispatch_id = dj.id AND dj.source_type = 2
  100. WHERE o.voyage_id = #{vo.voyageId}
  101. <if test="vo.idCard != null and vo.idCard != ''">
  102. AND v.credential_no LIKE CONCAT('%', #{vo.idCard}, '%')
  103. </if>
  104. <if test="vo.name != null and vo.name != ''">
  105. AND v.name LIKE CONCAT('%', #{vo.name}, '%')
  106. </if>
  107. <if test="vo.address != null and vo.address != ''">
  108. AND gfv.address = #{vo.address}
  109. </if>
  110. <if test="vo.arriveTime != null and vo.arriveTime != ''">
  111. AND gfv.arrive_time = #{vo.arriveTime}
  112. </if>
  113. <if test="vo.dispatchNo != null and vo.dispatchNo != ''">
  114. AND dj.dispatch_no LIKE CONCAT('%', #{vo.dispatchNo}, '%')
  115. </if>
  116. <if test="vo.signStatus != null and vo.signStatus == 1">
  117. AND gfv.sign_time IS NOT NULL
  118. </if>
  119. <if test="vo.signStatus != null and vo.signStatus == 0">
  120. AND gfv.sign_time IS NULL
  121. </if>
  122. <if test="vo.orderNo != null and vo.orderNo != ''">
  123. AND o.order_no LIKE CONCAT('%', #{vo.orderNo}, '%')
  124. </if>
  125. <if test="vo.otaId != null and vo.otaId != ''">
  126. AND o.source_id = #{vo.otaId}
  127. </if>
  128. ORDER BY v.id desc
  129. </select>
  130. <!-- 根据分车ID查询蹭送行程游客列表 -->
  131. <select id="selectByDispatchId" resultType="com.yc.ship.module.trade.dal.dataobject.orderjzdetail.OrderGiftVisitorDO">
  132. SELECT
  133. gfv.*,
  134. v.name,
  135. v.credential_no,
  136. v.mobile
  137. FROM trade_order_jz_gift_visitor gfv
  138. INNER JOIN trade_visitor v ON gfv.visitor_id = v.id
  139. WHERE gfv.deleted = 0 AND gfv.dispatch_id = #{dispatchId}
  140. </select>
  141. <!-- 根据游客ID和航次ID查询蹭送行程记录 -->
  142. <select id="selectByVisitorIdAndVoyageId" resultType="com.yc.ship.module.trade.dal.dataobject.orderjzdetail.OrderGiftVisitorDO">
  143. SELECT *
  144. FROM trade_order_jz_gift_visitor
  145. WHERE deleted = 0
  146. AND visitor_id = #{visitorId}
  147. AND voyage_id = #{voyageId}
  148. LIMIT 1
  149. </select>
  150. <!-- 根据分车ID统计游客人数 -->
  151. <select id="countByDispatchId" resultType="java.lang.Integer">
  152. SELECT COUNT(*)
  153. FROM trade_order_jz_gift_visitor
  154. WHERE deleted = 0
  155. AND dispatch_id = #{dispatchId}
  156. </select>
  157. <!-- 清除签到信息 -->
  158. <update id="cleanSignById">
  159. UPDATE trade_order_jz_gift_visitor
  160. SET sign_time = NULL,
  161. sign_man = NULL,
  162. sign_remark = NULL,
  163. sign_image = NULL
  164. WHERE id = #{id} AND deleted = 0
  165. </update>
  166. </mapper>