KwtLogisticsOrderMapper.xml 20 KB

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