KwtWaybillOrderSubtaskMapper.xml 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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.transport.dao.KwtWaybillOrderSubtaskMapper">
  4. <select id="findByWOrderId" resultType="com.sckw.transport.model.KwtWaybillOrderSubtask" >
  5. select
  6. id, ent_id entId, l_order_id lOrderId, w_order_id wOrderId, w_order_no wOrderNo, unit,
  7. entrust_amount entrustAmount, unload_amount unloadAmount, unload_time unloadTime,
  8. load_amount loadAmount, load_time loadTime, deficit_amount deficitAmount, deficit_price deficitPrice,
  9. remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
  10. from kwt_waybill_order_subtask
  11. where del_flag = 0
  12. <if test="wOrderId != null">
  13. and w_order_id = #{wOrderId, jdbcType=BIGINT}
  14. </if>
  15. </select>
  16. <select id="findByOrderId" resultType="com.sckw.transport.model.KwtWaybillOrderSubtask" >
  17. select
  18. id, ent_id entId, l_order_id lOrderId, w_order_id wOrderId, w_order_no wOrderNo, unit,
  19. entrust_amount entrustAmount, unload_amount unloadAmount, unload_time unloadTime,
  20. load_amount loadAmount, load_time loadTime, deficit_amount deficitAmount, deficit_price deficitPrice,
  21. remark, status, create_by createBy, create_time createTime, update_by updateBy, update_time updateTime
  22. from kwt_waybill_order_subtask
  23. where del_flag = 0
  24. <if test="wOrderId != null and wOrderId != ''">
  25. and w_order_id = #{wOrderId, jdbcType=BIGINT}
  26. </if>
  27. <if test="lOrderId != null and lOrderId != ''">
  28. and l_order_id = #{lOrderId, jdbcType=BIGINT}
  29. </if>
  30. </select>
  31. <select id="findListPage" resultType="com.sckw.transport.model.vo.WaybillSubtaskSelectVo"
  32. parameterType="com.sckw.transport.model.dto.WaybillSubtaskOrderQueryDto">
  33. SELECT
  34. wos.w_order_id wOrderId,
  35. wos.unit,
  36. wos.entrust_amount entrustAmount,
  37. wos.unload_amount unloadAmount,
  38. wos.unload_time unloadDateTime,
  39. wos.load_time loadDateTime,
  40. wos.load_amount loadAmount,
  41. wos.deficit_amount deficitAmount,
  42. wos.deficit_price deficitPrice,
  43. wos.id wSubtaskId,
  44. wo.w_order_no wOrderNo,
  45. wo.driver_id driverId,
  46. wo.driver_name driverName,
  47. wo.driver_phone driverPhone,
  48. wo.driver_idcard driverIdcard,
  49. wo.truck_id truckId,
  50. wo.truck_no truckNo,
  51. wo.type,
  52. wo.create_by createBy,
  53. wo.create_time createTime,
  54. wo.create_time sendCarDate,
  55. wo.ent_id entId,
  56. wo.status,
  57. lo.l_order_no lOrderNo,
  58. lo.loss,
  59. lo.loss_unit lossLabel,
  60. lo.goods_price
  61. from kwt_waybill_order_subtask wos
  62. left join kwt_waybill_order wo on wo.id = wos.w_order_id
  63. left join kwt_logistics_order lo on lo.id = wos.l_order_id
  64. WHERE wo.del_flag = 0 and wos.del_flag = 0
  65. <if test="ids != null and ids != ''">
  66. AND wos.l_order_id IN
  67. <foreach collection="ids.split(',')" item="item" open="(" close=")" separator=",">
  68. #{item}
  69. </foreach>
  70. </if>
  71. </select>
  72. <select id="selectCountByOrderId" resultType="java.lang.Integer">
  73. SELECT COUNT(id)
  74. FROM kwt_waybill_order_subtask
  75. WHERE del_flag = 0
  76. and l_order_id = #{orderId}
  77. <if test="orderStatusList != null and orderStatusList.size() > 0">
  78. AND status IN
  79. <foreach collection="orderStatusList" item="item" open="(" close=")" separator=",">
  80. #{item}
  81. </foreach>
  82. </if>
  83. </select>
  84. <select id="selectLoopOrderAndDriverListByOrderId" resultType="com.sckw.transport.model.vo.DriverListVo">
  85. SELECT a.id AS lOrderId,
  86. a.l_order_no AS lOrderNo,
  87. b.driver_id AS driverId,
  88. b.driver_name AS driverName,
  89. b.driver_phone AS driverPhone,
  90. b.driver_idcard AS driverIdCard,
  91. b.truck_no AS truckNo,
  92. b.truck_id AS truckId,
  93. c.STATUS AS STATUS,
  94. b.type,
  95. count(IF(b.status in (502, 504, 503, 501), 1, NULL))
  96. FROM kwt_logistics_order a
  97. LEFT JOIN
  98. kwt_waybill_order_subtask c ON a.id = c.l_order_id
  99. LEFT JOIN kwt_waybill_order b on b.id = c.w_order_id
  100. <where>
  101. a.id = c.l_order_id
  102. AND b.type = #{type}
  103. AND a.del_flag = 0
  104. AND c.del_flag = 0
  105. <if test="orderStatus != null and orderStatus.size() != 0">
  106. and c.status in
  107. <foreach collection="orderStatus" item="item" separator="," close=")" open="(">
  108. #{item}
  109. </foreach>
  110. </if>
  111. <if test="driverParam.lOrderId != null and driverParam.lOrderId != ''">
  112. AND a.id = #{driverParam.lOrderId}
  113. </if>
  114. <if test="driverParam.driverName != null and driverParam.driverName != '' or (driverParam.driverPhone != null and driverParam.driverPhone != '') or (driverParam.truckNo != null and driverParam.truckNo != '')">
  115. <!-- and (-->
  116. <if test="driverParam.driverName != null and driverParam.driverName != ''">
  117. and b.driver_name like concat('%'
  118. , #{driverParam.driverName}
  119. , '%')
  120. </if>
  121. <if test="driverParam.driverPhone != null and driverParam.driverPhone != ''">
  122. and b.driver_phone like concat('%'
  123. , #{driverParam.driverPhone}
  124. , '%')
  125. </if>
  126. <if test="driverParam.truckNo != null and driverParam.truckNo != ''">
  127. and b.truck_no like concat('%'
  128. , #{driverParam.truckNo}
  129. , '%')
  130. </if>
  131. <!-- )-->
  132. </if>
  133. </where>
  134. GROUP BY b.truck_no
  135. </select>
  136. <select id="findWaybillOrderCount" parameterType="com.sckw.transport.model.dto.WaybillListAppDTO" resultType="java.util.Map">
  137. SELECT
  138. count(1) total,
  139. count(case when wos.status in (101, 201, 203, 301, 302, 401, 402, 501, 503, 504) then 1 end) proceed,
  140. count(case when wos.status = 502 then 1 end) finish,
  141. count(case when wos.status in (102, 103, 202) then 1 end) cancel,
  142. count(case when wos.status in (101, 201, 203, 301, 302, 401, 402, 501, 503, 504) then 1 end) ndexProceed,
  143. count(case when wos.status in (102, 103, 202, 502) then 1 end) ndexFinish
  144. from kwt_waybill_order_subtask wos
  145. where wos.del_flag = 0
  146. <if test="lOrderId != null and lOrderId != ''">
  147. and wos.l_order_id = #{lOrderId, jdbcType=BIGINT}
  148. </if>
  149. </select>
  150. </mapper>