UtilsMapper.xml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375
  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.steerinfo.dil.mapper.UtilsMapper">
  4. <!-- 通过运力ID 或车牌号 修改 运力状态 -->
  5. <update id="updateCapacityByCarIdOrNum" parameterType="java.util.Map">
  6. update RMS_CAPACITY RC
  7. set RC.CAPACITY_STATUS = #{capacityStatus}
  8. where
  9. <if test="capacityId != null">
  10. RC.CAPACITY_ID = #{capacityId}
  11. </if>
  12. <if test="capacityNumber != null">
  13. RC.CAPACITY_NUMBER = #{capacityNumber}
  14. </if>
  15. </update>
  16. <!-- 通过订单Id 或运输订单号 修改 订单状态 -->
  17. <update id="updateOrderStatusByOrderIdOrNum" parameterType="java.util.Map">
  18. update OMSTRUCK_ORDER OO
  19. set OO.ORDER_STATUS = #{orderStatus},
  20. OO.INSERT_UPDATE_REMARK = 'otms关闭订单,utilsXml23行'
  21. <where>
  22. <if test="orderId != null">
  23. OO.ORDER_ID = #{orderId}
  24. </if>
  25. <if test="orderNumber != null">
  26. and OO.ORDER_NUMBER = #{orderNumber}
  27. </if>
  28. </where>
  29. </update>
  30. <!-- 通过运输Id 或者运输订单号修改 路段顺序号 -->
  31. <update id="updateLineSeqByOrderIdOrNum" parameterType="java.util.Map">
  32. update OMSTRUCK_ORDER OO
  33. set OO.ORDER_LINE_SEQUENCE = #{orderLineSequence}
  34. where OO.ORDER_ID = #{orderId}
  35. </update>
  36. <!-- 通过仓库名称查询仓库Id -->
  37. <select id="queryWarehouseIdByName" parameterType="string" resultType="java.lang.Integer">
  38. select RW.WAREHOUSE_ID
  39. from RMS_WAREHOUSE RW
  40. where RW.WAREHOUSE_NAME = #{warehouseName}
  41. </select>
  42. <!-- 通过月台名称查询月台Id -->
  43. <select id="queryPlatformIdByName" parameterType="string" resultType="java.lang.Integer">
  44. select RPP.PLATFORM_ID
  45. from RMS_PWAREHOUSE_PLATFORM RPP
  46. where RPP.PLATFORM_NAME = #{platformName}
  47. </select>
  48. <!-- 根据运单Id查询物资Id 多拼情况下都是属于钢材 -->
  49. <select id="queryOrderMesByOrderId" parameterType="string" resultType="java.math.BigDecimal">
  50. select *
  51. from (select OOM.MATERIAL_ID "materialId"
  52. from OMSTRUCK_ORDER OO
  53. left join OMSTRUCK_ORDER_MATERIAL OOM
  54. on OO.ORDER_ID = OOM.ORDER_ID
  55. where OO.ORDER_NUMBER = #{orderNumber}
  56. )
  57. where rownum = 1
  58. </select>
  59. <!-- 通过订单ID查找路段顺序号 -->
  60. <select id="getLineSequenceByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  61. select OO.ORDER_LINE_SEQUENCE
  62. from OMSTRUCK_ORDER OO
  63. <where >
  64. <if test="orderId != null">
  65. ORDER_ID = #{orderId}
  66. </if>
  67. </where>
  68. </select>
  69. <!-- 查询订单有几件物资 -->
  70. <select id="getAllMaterialId" parameterType="java.util.Map" resultType="int">
  71. select OOM.MATERIAL_ID "materialId"
  72. from OMSTRUCK_ORDER OO
  73. left join OMSTRUCK_ORDER_MATERIAL OOM
  74. on OO.ORDER_ID = OOM.ORDER_ID
  75. where OO.ORDER_NUMBER = #{orderNumber}
  76. </select>
  77. <!-- 通过总实绩Id查询运输订单ID -->
  78. <select id="getOrderIdByTotalId" resultType="java.lang.Integer">
  79. select TTR.ORDER_ID
  80. from TMSTRUCK_TOTAL_RESULT TTR
  81. where TTR.RESULT_TOTAL_ID = #{resultTotalId}
  82. </select>
  83. <!-- 通过运输订单号查询运输订单ID -->
  84. <select id="getOrderIdByOrderNumber" parameterType="string" resultType="java.math.BigDecimal">
  85. select OO.ORDER_ID
  86. from OMSTRUCK_ORDER OO
  87. where OO.ORDER_NUMBER = #{orderNumber}
  88. </select>
  89. <!-- 通过运输订单号查询总实绩ID -->
  90. <select id="getTotalIdByOrderNumber" parameterType="string" resultType="java.math.BigDecimal">
  91. select
  92. TTR.RESULT_TOTAL_ID
  93. from OMSTRUCK_ORDER OO
  94. left join TMSTRUCK_TOTAL_RESULT TTR
  95. on OO.ORDER_ID = TTR.ORDER_ID
  96. where OO.ORDER_NUMBER = #{orderNumber}
  97. </select>
  98. <!-- 通过总实绩ID查询订单类型 -->
  99. <select id="getOrderTypeByTotalId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
  100. select OO.ORDER_TYPE "orderType",
  101. OO.ORDER_ID "orderId"
  102. from TMSTRUCK_TOTAL_RESULT TTR
  103. left join OMSTRUCK_ORDER OO
  104. on OO.ORDER_ID = TTR.ORDER_ID
  105. where TTR.RESULT_TOTAL_ID = #{resultTotalId}
  106. </select>
  107. <!-- 查询最大路段顺序号 以及当前订单路段顺序号(执行到哪一步) -->
  108. <select id="getLineSeqAndOrderSeq" parameterType="java.util.Map" resultType="java.util.Map">
  109. select OO.ORDER_LINE_SEQUENCE "orderSeq",
  110. (select max(RLS.SEGMENT_SQE)
  111. from RMS_LINE_SEGEMNT RLS
  112. where RLS.LINE_ID = OO.LINE_ID
  113. ) "maxSeq"
  114. from OMSTRUCK_ORDER OO
  115. <where>
  116. <if test="orderId != null">
  117. OO.ORDER_ID = #{orderId}
  118. </if>
  119. <if test="orderNumber != null">
  120. and OO.ORDER_NUMBER = #{orderNumber}
  121. </if>
  122. </where>
  123. </select>
  124. <!-- 通过订单ID查询物资ID(针对单拼) -->
  125. <select id="getMaterialIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  126. select OOM.MATERIAL_ID
  127. from OMSTRUCK_ORDER_MATERIAL OOM
  128. where OOM.ORDER_ID = #{orderId}
  129. </select>
  130. <!-- 通过订单ID查询零星物资第一个计量的物资 -->
  131. <select id="getLxFirstMaterialId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  132. select *
  133. from (
  134. select OOM.MATERIAL_ID
  135. from OMSTRUCK_ORDER_MATERIAL OOM
  136. where OOM.ORDER_ID = #{orderId}
  137. order by OOM.MATERIAL_DIRECTION
  138. )
  139. where rownum = 1
  140. </select>
  141. <select id="getPersonnelIdBySsoId" parameterType="java.lang.String" resultType="java.lang.Integer">
  142. select RP.PERSONNEL_ID
  143. from RMS_PERSONNEL RP
  144. where RP.PERSONNEL_SSO_ID = #{personnelSsoId}
  145. </select>
  146. <!-- 查询订单是否确认 -->
  147. <select id="getDriverConfirmation" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  148. select OO.DRIVER_CONFIRMATION
  149. from OMSTRUCK_ORDER OO
  150. where OO.ORDER_ID = #{orderId}
  151. </select>
  152. <!-- 通过路段顺序号和线路ID查找 线路子表的子表的ID 和门岗ID或汽车衡ID -->
  153. <select id="getLineSegmentGateCalcId" parameterType="map" resultType="java.lang.Integer">
  154. select
  155. RLGC.GATE_CAL_ID "gateCalId"
  156. from RMS_LINE_SEGEMNT RLS
  157. left join RMS_LINE_GATEPOST_CALCULATE RLGC
  158. on RLGC.SEGMENT_ID = RLS.SEGMENT_ID
  159. where RLS.LINE_ID = #{lineId} and RLS.SEGMENT_SQE = #{segmentSqe}
  160. </select>
  161. <select id="getOrderMesByOrderId" resultType="java.util.Map">
  162. select OO.ORDER_TYPE "orderTypee",
  163. TTR.RESULT_TOTAL_ID "resultTotalId",
  164. OOM.MATERIAL_ID "materialId"
  165. from OMSTRUCK_ORDER OO
  166. left join TMSTRUCK_TOTAL_RESULT TTR
  167. on OO.ORDER_ID = TTR.ORDER_ID
  168. left join OMSTRUCK_ORDER_MATERIAL OOM
  169. on OOM.ORDER_ID = OO.ORDER_ID
  170. where OO.ORDER_ID=#{orderId} and rownum = 1
  171. </select>
  172. <!-- 根据运输订单id查找是否有多个物资 -->
  173. <select id="countMaterialByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
  174. select count(MATERIAL_ID)
  175. from OMSTRUCK_ORDER_MATERIAL OOM
  176. where OOM.ORDER_ID=#{orderId}
  177. </select>
  178. <select id="getOrderTypeByOrderNumber" parameterType="string" resultType="map">
  179. select OO.ORDER_TYPE "orderType",
  180. OO.ORDER_TYPE "orderTypee",
  181. OO.ORDER_ID "orderId",
  182. OO.ORDER_LINE_SEQUENCE "Sqe",
  183. OO.LINE_ID "lineId",
  184. OO.ORDER_LINE_SEQUENCE "orderSegmentSqe",
  185. OO.PRICE_ID "priceId",
  186. OO.CAPACITY_ID "capacityId",
  187. RC.CAPACITY_NUMBER "capacityNumber",
  188. TTR.RESULT_TOTAL_ID "totalId",
  189. TTR.RESULT_TOTAL_ID "resultTotalId"
  190. from OMSTRUCK_ORDER OO
  191. left join TMSTRUCK_TOTAL_RESULT TTR
  192. on TTR.ORDER_ID = OO.ORDER_ID
  193. left join RMS_CAPACITY RC
  194. on OO.CAPACITY_ID = RC.CAPACITY_ID
  195. where OO.order_Number=#{orderNumber}
  196. </select>
  197. <select id="getLineSequenceByOrderNumber" parameterType="string" resultType="java.lang.Integer">
  198. select OO.ORDER_LINE_SEQUENCE
  199. from OMSTRUCK_ORDER OO
  200. where OO.ORDER_NUMBER = #{orderNumber}
  201. </select>
  202. <select id="getCapacityIdByNum" parameterType="string" resultType="java.math.BigDecimal">
  203. select RC.CAPACITY_ID from RMS_CAPACITY RC where RC.CAPACITY_NUMBER = #{capacityNumber}
  204. </select>
  205. <select id="getLastGatepostId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  206. select *
  207. from (
  208. select TER.GATEPOST_ID
  209. from TMSTRUCK_ENFACTORY_RESULT TER
  210. where TER.RESULT_TOTAL_ID = #{resultTotalId}
  211. and TER.RESULT_ENTRY_GATE_TIME is not null
  212. order by TER.SEGMEN_SQE DESC
  213. )
  214. where rownum = 1
  215. </select>
  216. <select id="getNextMaterialId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  217. select *
  218. from (
  219. select OOM.MATERIAL_ID
  220. from OMSTRUCK_ORDER_MATERIAL OOM
  221. where OOM.ORDER_ID = #{orderId}
  222. AND NOT EXISTS(select TWR.MATERIAL_ID
  223. from TMSTRUCK_TOTAL_RESULT TTR
  224. left join TMSTRUCK_WEIGHT_RESULT TWR
  225. on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  226. where TTR.ORDER_ID = OOM.ORDER_ID
  227. and OOM.MATERIAL_ID = TWR.MATERIAL_ID
  228. )
  229. order by OOM.MATERIAL_PRIORITY
  230. )
  231. where rownum = 1
  232. </select>
  233. <select id="timeTaskResult" resultType="java.util.Map" parameterType="java.math.BigDecimal">
  234. select TTTR.TIME_TASK_RESULT_ID "timeTaskResultId"
  235. from OMSTRUCK_ORDER OO
  236. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  237. ON OO.ORDER_ID=TTR.ORDER_ID
  238. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
  239. ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
  240. where oo.ORDER_ID=#{orderId}
  241. </select>
  242. <sql id="orderBy">
  243. <if test="orderField != null and orderField != ''">
  244. order by "${orderField}"
  245. <if test="orderType != null and orderType != ''">
  246. ${orderType}
  247. </if>
  248. </if>
  249. </sql>
  250. <select id="getTimeStatus" resultType="java.util.Map" parameterType="java.util.Map">
  251. select TTTR.TIME_TASK_RESULT_ID "timeTaskResultId",
  252. TTTR.RESULT_TIME_TYPE "timeType",
  253. TTTR.INSERT_TIME "insertTime",
  254. TTTR.RESULT_TIME "resultTime"
  255. FROM OMSTRUCK_ORDER OO
  256. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  257. ON TTR.ORDER_ID=OO.ORDER_ID
  258. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
  259. ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
  260. WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE = 1
  261. <include refid="orderBy"/>
  262. <if test="orderField == null ">
  263. order by "insertTime" desc
  264. </if>
  265. </select>
  266. <!-- 根据运输订单id查找计时结束时间-->
  267. <select id="FristTimeTask" resultType="java.util.Map" parameterType="java.util.Map">
  268. select TTTR.RESULT_TIME "resultTime",
  269. TTTR.TIME_TASK_RESULT_ID "timeResultId"
  270. from OMSTRUCK_ORDER OO
  271. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  272. ON OO.ORDER_ID=TTR.ORDER_ID
  273. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
  274. ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
  275. where OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE =3
  276. </select>
  277. <select id="getTime" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
  278. select TTTR.TIME_TASK_RESULT_ID "timeTaskResultId"
  279. from OMSTRUCK_ORDER OO
  280. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  281. ON TTR.ORDER_ID=OO.ORDER_ID
  282. left join TMSTRUCK_TIME_TASK_RESULT TTTR
  283. on TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
  284. WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE = 1
  285. </select>
  286. <!-- 根据运输订单id查找总实绩id-->
  287. <select id="getTotalIdByOrderId" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
  288. select TTR.RESULT_TOTAL_ID "resultTotalId"
  289. from OMSTRUCK_ORDER OO
  290. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  291. ON OO.ORDER_ID=TTR.ORDER_ID
  292. WHERE OO.ORDER_ID=#{orderId}
  293. </select>
  294. <select id="getInwardType" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
  295. select TTTR.RESULT_TIME_TYPE "resultType"
  296. from OMSTRUCK_ORDER OO
  297. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  298. ON OO.ORDER_ID=TTR.ORDER_ID
  299. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
  300. ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
  301. WHERE OO.ORDER_ID=#{orderId}
  302. </select>
  303. <select id="TimeTaskPause" resultType="java.math.BigDecimal" parameterType="java.util.Map">
  304. select sum(TTTR.RESULT_VALUE) "resultPauseTime"
  305. from OMSTRUCK_ORDER OO
  306. left join TMSTRUCK_TOTAL_RESULT TTR
  307. ON TTR.ORDER_ID=OO.ORDER_ID
  308. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR
  309. ON TTTR.RESULT_TOTAL_ID=TTR.RESULT_TOTAL_ID
  310. WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE= #{type}
  311. </select>
  312. <select id="getInwardStartTime" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
  313. select COUNT(TTTR.TIME_TASK_RESULT_ID)
  314. from OMSTRUCK_ORDER OO
  315. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  316. ON TTR.ORDER_ID=OO.ORDER_ID
  317. left join TMSTRUCK_TIME_TASK_RESULT TTTR
  318. on TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
  319. WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE = 5
  320. </select>
  321. <select id="getInwardEndTime" resultType="java.math.BigDecimal" parameterType="java.math.BigDecimal">
  322. select COUNT(TTTR.TIME_TASK_RESULT_ID)
  323. from OMSTRUCK_ORDER OO
  324. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  325. ON TTR.ORDER_ID=OO.ORDER_ID
  326. left join TMSTRUCK_TIME_TASK_RESULT TTTR
  327. on TTR.RESULT_TOTAL_ID=TTTR.RESULT_TOTAL_ID
  328. WHERE OO.ORDER_ID=#{orderId} and TTTR.RESULT_TIME_TYPE = 7
  329. </select>
  330. <select id="getCapacityNameBySsoId" resultType="java.lang.String" parameterType="java.lang.String">
  331. select
  332. RC.CAPACITY_NUMBER "capacityNumber"
  333. from RMS_CAPACITY RC
  334. where RC.CAPACITY_SSO_ID = #{userId}
  335. </select>
  336. <select id="getLoadResultId" resultType="java.math.BigDecimal" parameterType="java.util.Map">
  337. select TLR.RESULT_ID "resultId"
  338. from OMSTRUCK_ORDER OO
  339. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR
  340. ON OO.ORDER_ID=TTR.ORDER_ID
  341. LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
  342. ON TTR.RESULT_TOTAL_ID=TLR.RESULT_TOTAL_ID
  343. WHERE OO.ORDER_NUMBER=#{orderNumber} and TLR.CAPACITY_REMARK =#{capacityName}
  344. </select>
  345. </mapper>