UtilsMapper.xml 17 KB

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