UtilsMapper.xml 14 KB

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