KwtLogisticsOrderMapper.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357
  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.KwtLogisticsOrderMapper">
  4. <resultMap id="BaseResultMap" type="com.sckw.transport.model.KwtLogisticsOrder">
  5. <id column="id" jdbcType="BIGINT" property="id"/>
  6. <result column="ent_id" jdbcType="BIGINT" property="entId"/>
  7. <result column="t_order_id" jdbcType="BIGINT" property="tOrderId"/>
  8. <result column="t_order_no" jdbcType="VARCHAR" property="tOrderNo"/>
  9. <result column="l_order_no" jdbcType="VARCHAR" property="lOrderNo"/>
  10. <result column="pid" jdbcType="BIGINT" property="pid"/>
  11. <result column="settlement_cycle" jdbcType="BIGINT" property="settlementCycle"/>
  12. <result column="billing_mode" jdbcType="BIGINT" property="billingMode"/>
  13. <result column="price" jdbcType="DECIMAL" property="price"/>
  14. <result column="price_type" jdbcType="BIGINT" property="priceType"/>
  15. <result column="amount" jdbcType="DECIMAL" property="amount"/>
  16. <result column="unit" jdbcType="VARCHAR" property="unit"/>
  17. <result column="loss" jdbcType="DECIMAL" property="loss"/>
  18. <result column="loss_unit" jdbcType="VARCHAR" property="lossUnit"/>
  19. <result column="goods_price" jdbcType="DECIMAL" property="goodsPrice"/>
  20. <result column="goods_price_unit" jdbcType="VARCHAR" property="goodsPriceUnit"/>
  21. <result column="start_time" jdbcType="TIMESTAMP" property="startTime"/>
  22. <result column="end_time" jdbcType="TIMESTAMP" property="endTime"/>
  23. <result column="subcontract_amount" jdbcType="DECIMAL" property="subcontractAmount"/>
  24. <result column="entrust_amount" jdbcType="DECIMAL" property="entrustAmount"/>
  25. <result column="unload_amount" jdbcType="DECIMAL" property="unloadAmount"/>
  26. <result column="load_amount" jdbcType="DECIMAL" property="loadAmount"/>
  27. <result column="ignore_amount" jdbcType="DECIMAL" property="ignoreAmount"/>
  28. <result column="deficit_amount" jdbcType="DECIMAL" property="deficitAmount"/>
  29. <result column="deficit_price" jdbcType="DECIMAL" property="deficitPrice"/>
  30. <result column="payment" jdbcType="BIGINT" property="payment"/>
  31. <result column="tax_rate" jdbcType="DECIMAL" property="taxRate"/>
  32. <result column="remark" jdbcType="VARCHAR" property="remark"/>
  33. <result column="status" jdbcType="INTEGER" property="status"/>
  34. <result column="create_by" jdbcType="BIGINT" property="createBy"/>
  35. <result column="create_time" jdbcType="TIMESTAMP" property="createTime"/>
  36. <result column="update_by" jdbcType="BIGINT" property="updateBy"/>
  37. <result column="update_time" jdbcType="TIMESTAMP" property="updateTime"/>
  38. <result column="del_flag" jdbcType="INTEGER" property="delFlag"/>
  39. </resultMap>
  40. <sql id="Base_Column_List">
  41. id
  42. , ent_id, t_order_id, t_order_no, l_order_no, pid, settlement_cycle, price, price_type,billing_mode,
  43. amount, unit, loss, loss_unit, goods_price, goods_price_unit, start_time, end_time,
  44. subcontract_amount, entrust_amount, unload_amount, load_amount, ignore_amount, deficit_amount,
  45. deficit_price, payment, tax_rate, remark, `status`, create_by, create_time, update_by,
  46. update_time, del_flag
  47. </sql>
  48. <select id="selectOrderList" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
  49. SELECT a.id as lorderId,
  50. a.l_order_no as lorderNo,
  51. b.`status` as `status`,
  52. a.t_order_id as tOrderId,
  53. a.t_order_no as tOrderNo,
  54. a.payment as payment,
  55. a.amount,
  56. a.price,
  57. a.loss,
  58. a.goods_price as goodsPrice,
  59. c.firm_name as comanyName,
  60. c.contacts,
  61. c.phone,
  62. a.create_by as createBy,
  63. a.create_time as createTime
  64. FROM kwt_logistics_order a
  65. LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id
  66. LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = '2'
  67. WHERE a.del_flag = '0'
  68. AND b.del_flag = '0'
  69. AND a.t_order_id = #{id,jdbcType=VARCHAR} limit #{page}
  70. , #{pageSize}
  71. </select>
  72. <select id="selectOrderCount" resultType="java.lang.Long">
  73. SELECT count(a.id)
  74. FROM kwt_logistics_order a
  75. LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id
  76. LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = '2'
  77. WHERE a.del_flag = '0'
  78. AND b.del_flag = '0'
  79. AND a.t_order_id = #{id,jdbcType=VARCHAR}
  80. </select>
  81. <select id="selectLogisticOrderData" resultType="com.sckw.transport.api.model.dto.vo.LogisticsOrderDTO">
  82. SELECT
  83. a.id as lOrderId,
  84. a.l_order_no as lOrderNO,
  85. a.t_order_id as tOrderId,
  86. a.t_order_no as tOrderNO,
  87. a.payment as payment,
  88. a.billing_mode as billingMode,
  89. c.contract_id as contractId,
  90. b.goods_name as goodsName,
  91. a.amount ,
  92. a.price,
  93. a.goods_price as goodsPrice,
  94. a.loss ,
  95. a.load_amount as loadAmount,
  96. a.unload_amount as unloadAmount,
  97. a.start_time as startTime,
  98. a.end_time AS endTime,
  99. a.create_time AS createTime,
  100. a.create_by AS createBy,
  101. a.update_by AS updateBy,
  102. a.update_time AS updateTime
  103. FROM
  104. kwt_logistics_order a
  105. LEFT JOIN kwt_logistics_order_goods b ON a.id = b.l_order_id
  106. LEFT JOIN kwt_logistics_order_contract c ON a.id=c.l_order_id
  107. <where>
  108. a.del_flag = 0
  109. <if test="dictId != null and dictId != ''">
  110. AND a.payment = #{dictId}
  111. </if>
  112. <if test="logisticsOrderParam.companyId !=null and logisticsOrderParam.companyId != ''">
  113. AND d.ent_id = #{logisticsOrderParam.companyId}
  114. </if>
  115. <if test="logisticsOrderParam.taxRate != null and logisticsOrderParam.taxRate != ''">
  116. AND a.tax_rate = #{logisticsOrderParam.taxRate}
  117. </if>
  118. <if test="logisticsOrderParam.goodsName != null and logisticsOrderParam.goodsName != ''">
  119. AND b.goods_name LIKE concat('%',#{logisticsOrderParam.goodsName},'%')
  120. </if>
  121. <if test="logisticsOrderParam.startTime != null and logisticsOrderParam.startTime !=''">
  122. AND a.start_time &gt;= #{logisticsOrderParam.startTime}
  123. </if>
  124. <if test="logisticsOrderParam.endTime != null and logisticsOrderParam.endTime !=''">
  125. AND a.ent_time &lt;= #{logisticsOrderParam.endTime}
  126. </if>
  127. </where>
  128. ORDER BY a.create_time DESC
  129. <if test="logisticsOrderParam.page != null and logisticsOrderParam.pageSize != null ">
  130. limit #{logisticsOrderParam.page,jdbcType=INTEGER},#{logisticsOrderParam.pageSize,jdbcType=INTEGER}
  131. </if>
  132. </select>
  133. <select id="selectLogisticOrderCount" resultType="java.lang.Long">
  134. SELECT
  135. count(a.id)
  136. FROM
  137. kwt_logistics_order a
  138. LEFT JOIN kwt_logistics_order_goods b ON a.id = b.l_order_id
  139. LEFT JOIN kwt_logistics_order_contract c ON a.id=c.l_order_id
  140. <where>
  141. a.del_flag = 0
  142. <if test="dictId != null and dictId != ''">
  143. AND a.payment = #{dictId}
  144. </if>
  145. <if test="logisticsOrderParam.companyId !=null and logisticsOrderParam.companyId != ''">
  146. AND d.ent_id = #{logisticsOrderParam.companyId}
  147. </if>
  148. <if test="logisticsOrderParam.taxRate != null and logisticsOrderParam.taxRate != ''">
  149. AND a.tax_rate = #{logisticsOrderParam.taxRate}
  150. </if>
  151. <if test="logisticsOrderParam.goodsName != null and logisticsOrderParam.goodsName != ''">
  152. AND b.goods_name LIKE concat('%',#{logisticsOrderParam.goodsName},'%')
  153. </if>
  154. <if test="logisticsOrderParam.startTime != null and logisticsOrderParam.startTime !=''">
  155. AND a.start_time &gt;= #{logisticsOrderParam.startTime}
  156. </if>
  157. <if test="logisticsOrderParam.endTime != null and logisticsOrderParam.endTime !=''">
  158. AND a.ent_time &lt;= #{logisticsOrderParam.endTime}
  159. </if>
  160. </where>
  161. ORDER BY a.create_time DESC
  162. </select>
  163. <select id="getRejectReason" resultType="java.util.Map">
  164. SELECT a.id AS lOrderId,
  165. b.remark remark
  166. FROM kwt_logistics_order a
  167. LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id
  168. WHERE a.del_flag = '0'
  169. AND b.del_flag = '0'
  170. and b.status = #{status}
  171. and a.id = #{id}
  172. </select>
  173. <select id="getSubcontractConsignment" resultType="com.sckw.transport.model.vo.SubcontractConsignmentVO">
  174. SELECT a.id,
  175. a.pid,
  176. a.`status` as status,
  177. a.l_order_no as consignOrderNo,
  178. c.firm_name as carrierContacts,
  179. d.goods_name as goodsName,
  180. a.amount as amount,
  181. a.price,
  182. a.price_type as priceType,
  183. e.detail_address as loadAddress,
  184. f.detail_address as unloadAddress,
  185. a.billing_mode as billingMode,
  186. a.loss,
  187. a.loss_unit as lossUnit,
  188. a.goods_price as goodsPrice,
  189. a.goods_price_unit as goodsPriceUnit,
  190. a.settlement_cycle as settlementCycle,
  191. c.contacts as carrierContacts,
  192. c.phone as carrierPhone,
  193. b.firm_name as consignCompany,
  194. b.contacts as consignContacts,
  195. b.phone as consignPhone,
  196. e.contacts as loadContacts,
  197. e.phone as loadContacts,
  198. f.contacts as unloadContacts,
  199. f.phone as unloadPhone,
  200. a.start_time as shipmentsDate,
  201. a.end_time as receiveGoodsDate,
  202. a.remark,
  203. a.create_by as createBy,
  204. a.create_time as createTime,
  205. g.contract_id as contractId
  206. FROM kwt_logistics_order a
  207. LEFT JOIN kwt_logistics_order_unit b ON a.id = b.l_order_id
  208. AND b.unit_type = 1
  209. LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
  210. AND c.unit_type = 2
  211. LEFT JOIN kwt_logistics_order_goods d ON a.id = d.l_order_id
  212. LEFT JOIN kwt_logistics_order_address e ON a.id = e.l_order_id
  213. AND e.address_type = 1
  214. LEFT JOIN kwt_logistics_order_address f ON a.id = f.l_order_id
  215. AND f.address_type = 2
  216. LEFT JOIN kwt_logistics_order_contract g ON a.id = g.l_order_id
  217. WHERE a.del_flag = 0
  218. AND b.del_flag = 0
  219. AND c.del_flag = 0
  220. AND e.del_flag = 0
  221. AND f.del_flag = 0
  222. and a.pid = #{lOrderId}
  223. ORDER BY a.create_time
  224. limit #{page}, #{pageSize}
  225. </select>
  226. <select id="countSubcontractConsignmentById" resultType="java.util.Map">
  227. SELECT COUNT(0) as total,
  228. a.id,
  229. a.pid,
  230. a.`status` as status,
  231. a.l_order_no as consignOrderNo,
  232. c.firm_name as carrierContacts,
  233. d.goods_name as goodsName,
  234. a.amount as amount,
  235. a.price,
  236. a.price_type as priceType,
  237. e.detail_address as loadAddress,
  238. f.detail_address as unloadAddress,
  239. a.billing_mode as billingMode,
  240. a.loss,
  241. a.loss_unit as lossUnit,
  242. a.goods_price as goodsPrice,
  243. a.goods_price_unit as goodsPriceUnit,
  244. a.settlement_cycle as settlementCycle,
  245. c.contacts as carrierContacts,
  246. c.phone as carrierPhone,
  247. b.firm_name as consignCompany,
  248. b.contacts as consignContacts,
  249. b.phone as consignPhone,
  250. e.contacts as loadContacts,
  251. e.phone as loadContacts,
  252. f.contacts as unloadContacts,
  253. f.phone as unloadPhone,
  254. a.start_time as shipmentsDate,
  255. a.end_time as receiveGoodsDate,
  256. a.remark,
  257. a.create_by as createBy,
  258. a.create_time as createTime,
  259. g.contract_id as contractId
  260. FROM kwt_logistics_order a
  261. LEFT JOIN kwt_logistics_order_unit b ON a.id = b.l_order_id
  262. AND b.unit_type = 1
  263. LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
  264. AND c.unit_type = 2
  265. LEFT JOIN kwt_logistics_order_goods d ON a.id = d.l_order_id
  266. LEFT JOIN kwt_logistics_order_address e ON a.id = e.l_order_id
  267. AND e.address_type = 1
  268. LEFT JOIN kwt_logistics_order_address f ON a.id = f.l_order_id
  269. AND f.address_type = 2
  270. LEFT JOIN kwt_logistics_order_contract g ON a.id = g.l_order_id
  271. WHERE a.del_flag = 0
  272. AND b.del_flag = 0
  273. AND c.del_flag = 0
  274. AND e.del_flag = 0
  275. AND f.del_flag = 0
  276. and a.pid = #{lOrderId}
  277. ORDER BY a.create_time
  278. </select>
  279. <select id="selectDriverListById" resultType="com.sckw.transport.model.vo.DriverListVo">
  280. SELECT a.id AS lOrderId,
  281. b.driver_id AS driverId,
  282. b.id AS wOrderId,
  283. b.w_order_no AS wOrderNo,
  284. b.driver_name AS driverName,
  285. b.driver_phone AS driverPhone,
  286. b.driver_idcard AS driverIdCard,
  287. b.truck_no AS truckNo,
  288. COUNT( b.id ) AS count,
  289. b.`status` as transportStatus
  290. FROM
  291. kwt_waybill_order b,
  292. kwt_logistics_order_circulate c,
  293. kwt_logistics_order a
  294. WHERE
  295. a.id = c.l_order_id
  296. AND a.id = b.l_order_id
  297. AND a.del_flag = 0
  298. AND b.del_flag = 0
  299. AND b.type = '2'
  300. AND c.`status` = '0'
  301. <if test="lOrderId != null and lOrderId != ''">
  302. AND a.id ={lOrderId}
  303. </if>
  304. <if test="driverName != null and driverName != ''">
  305. and b.driver_name like concat('%',#{driverName},'%')
  306. </if>
  307. <if test="driverPhone != null and driverPhone != ''">
  308. AND b.driver_phone ={driverPhone}
  309. </if>
  310. <if test="truckNo != null and truckNo != ''">
  311. AND b.truck_no ={truckNo}
  312. </if>
  313. GROUP BY b.truck_no
  314. </select>
  315. <select id="selectLogisticOrderList" resultType="com.sckw.transport.api.model.dto.vo.LogisticsOrderVO">
  316. SELECT
  317. a.id as lOrderId,
  318. a.l_order_no as lOrderNO,
  319. a.t_order_id as tOrderId,
  320. a.t_order_no as tOrderNO,
  321. a.payment as payment,
  322. a.billing_mode as billingMode,
  323. c.contract_id as contractId,
  324. b.goods_name as goodsName,
  325. a.amount ,
  326. a.price,
  327. a.goods_price as goodsPrice,
  328. a.loss ,
  329. a.load_amount as loadAmount,
  330. a.unload_amount as unloadAmount,
  331. a.start_time as startTime,
  332. a.end_time AS endTime,
  333. a.create_time AS createTime,
  334. a.create_by AS createBy,
  335. a.update_by AS updateBy,
  336. a.update_time AS updateTime
  337. FROM
  338. kwt_logistics_order a
  339. LEFT JOIN kwt_logistics_order_goods b ON a.id = b.l_order_id
  340. LEFT JOIN kwt_logistics_order_contract c ON a.id=c.l_order_id
  341. a.del_flag = 0
  342. <where>
  343. <if test="ids != null and ids.size() > 0">
  344. and a.id in
  345. <foreach collection="ids" item="item" open="(" close=")" separator=",">
  346. #{item}
  347. </foreach>
  348. </if>
  349. </where>
  350. ORDER BY a.create_time DESC
  351. </select>
  352. </mapper>