OmstruckOrderSeparateMapper.xml 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842
  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.OmstruckOrderSeparateMapper">
  4. <sql id="orderBy">
  5. <if test="orderField != null and orderField != ''">
  6. order by "${orderField}"
  7. <if test="orderType != null and orderType != ''">
  8. ${orderType}
  9. </if>
  10. </if>
  11. </sql>
  12. <!--通过订单Id 查询关联的线路子表顺序-->
  13. <select id="getLineMesByOrderId" parameterType="int" resultType="java.util.LinkedHashMap">
  14. select RLS.SEGMENT_SQE "segmentSqe",
  15. RLS.SEGMENT_START_NODE_ID "type",
  16. RL.LINK_NAME "linkName",
  17. RLI.LINE_TYPE "lineType"
  18. from RMS_LINE_SEGEMNT RLS
  19. left join RMS_LINK RL
  20. on RL.LINK_ID = RLS.SEGMENT_START_NODE_ID
  21. left join RMS_LINE RLI
  22. ON RLI.LINE_ID = RLS.LINE_ID
  23. where RLS.LINE_ID = #{lineId}
  24. AND RLS.DELETED = 0
  25. order by "segmentSqe"
  26. </select>
  27. <!-- 通过运输订单Id查询运输信息 -->
  28. <select id="getOmstruckOrderResult" parameterType="java.math.BigDecimal" resultType="java.util.Map">
  29. select OO.ORDER_NUMBER "orderNumber",
  30. OO.ORDER_TYPE "orderType",
  31. OO.CAPACITY_ID "capacityId",
  32. OO.ORDER_PLAN_ID "orderPlanId",
  33. OOM.MATERIAL_ID "materialId",
  34. OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
  35. OOM.ORDER_MATERIAL_NUMBER "orderMaterialNumber"
  36. from OMSTRUCK_ORDER OO
  37. left join OMSTRUCK_ORDER_MATERIAL OOM
  38. on OOM.ORDER_ID = OO.ORDER_ID
  39. where OO.ORDER_ID = #{orderId}
  40. </select>
  41. <!-- 通过运输订单号改变订单状态 -->
  42. <update id="updateOrderStatusByOrderNum" parameterType="map">
  43. update OMSTRUCK_ORDER OO
  44. set OO.ORDER_STATUS = #{orderStatus}
  45. where OO.ORDER_ID = #{orderId}
  46. </update>
  47. <!-- 修改运输订单趟次-->
  48. <update id="updateTimes">
  49. update AMSTRUCK_SPORADIC_ORDER ASO
  50. set sporadic_order_times =#{times}
  51. where sporadic_order_id= #{orderPlanId}
  52. </update>
  53. <!-- 修改运输订单已运输趟次-->
  54. <update id="updateTranTimes">
  55. update AMSTRUCK_SPORADIC_ORDER set SPORADIC_TRANS_TIMES =#{times}
  56. where sporadic_order_id= #{orderPlanId}
  57. </update>
  58. <!-- 得到运单id -->
  59. <select id="getOrderIdByTotalId" parameterType="DECIMAL" resultType="DECIMAL">
  60. SELECT TTR.ORDER_ID AS "orderId"
  61. FROM TMSTRUCK_TOTAL_RESULT TTR
  62. WHERE TTR.RESULT_TOTAL_ID = #{resultTotalId}
  63. </select>
  64. <!-- 通过运单id得到运单信息 -->
  65. <select id="getOrderMessagge" parameterType="DECIMAL" resultType="java.util.Map">
  66. SELECT OO.ORDER_PLAN_ID AS "orderPlanId",
  67. OO.CAPACITY_ID AS "capacityId",
  68. OO.ORDER_TYPE AS "orderType",
  69. OO.ORDER_NUMBER AS "orderNumber",
  70. OO.UNLOAD_POINT_ID AS "unloadPointId",
  71. OO.LINE_ID "lineId",
  72. OO.ORDER_STATUS "orderStatus",
  73. TTR.RESULT_TOTAL_ID "resultTotalId"
  74. FROM OMSTRUCK_ORDER OO
  75. left join TMSTRUCK_TOTAL_RESULT TTR
  76. on TTR.ORDER_ID = OO.ORDER_ID
  77. WHERE OO.ORDER_ID = #{orderId}
  78. </select>
  79. <!-- 查询路段名称 -->
  80. <select id="getSegmentList" parameterType="DECIMAL" resultType="java.util.LinkedHashMap">
  81. SELECT RL.LINK_NAME AS "linkName",
  82. RLS.SEGMENT_SQE "segmentSqe",
  83. RL.LINK_ID "linkId"
  84. FROM OMSTRUCK_ORDER OO
  85. LEFT JOIN RMS_LINE_SEGEMNT RLS
  86. ON RLS.LINE_ID = OO.LINE_ID
  87. LEFT JOIN RMS_LINK RL
  88. ON RL.LINK_ID = RLS.SEGMENT_START_NODE_ID
  89. WHERE ORDER_ID = #{orderId}
  90. AND RLS.DELETED = 0
  91. AND OO.ORDER_STATUS != 9
  92. ORDER BY RLS.SEGMENT_SQE
  93. </select>
  94. <!-- 查询实绩位置 -->
  95. <select id="getResultPointList" parameterType="DECIMAL" resultType="java.util.Map">
  96. SELECT DISTINCT RGE.GATEPOST_NAME "gatepostNameEnter",
  97. TER.RESULT_ENTRY_GATE_TIME "resultEntryGateTime",
  98. RTCP.TRUCK_CALCULATE_NUMBER "truckCalculateNumberP",
  99. TWRP.RESULT_TARE_WEIGHT_TIME "resultTareWeightTime",
  100. RWL.WAREHOUSE_NAME "warehouseNameLoad",
  101. TLR.RESULT_LOAD_END_TIME "resultLoadEndTime",
  102. RTCM.TRUCK_CALCULATE_NUMBER "truckCalculateNumberM",
  103. TWRM.RESULT_GROSS_WEIGHT_TIME "resultGrossWeightTime",
  104. RWU.WAREHOUSE_NAME "warehouseNameUnLoad",
  105. TUR.RESULT_START_TIME "resultStartTime",
  106. RGL.GATEPOST_NAME "gatepostNameLeave",
  107. TLFR.RESULT_OUT_GATE_TIME "resultOutGateTime",
  108. TTR.INSERT_TIME "returnTime"
  109. FROM TMSTRUCK_TOTAL_RESULT TTR
  110. LEFT JOIN TMSTRUCK_ENFACTORY_RESULT TER
  111. ON TER.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  112. LEFT JOIN RMS_GATEPOST RGE
  113. ON RGE.GATEPOST_ID = TER.GATEPOST_ID
  114. LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWRP
  115. ON TWRP.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  116. LEFT JOIN RMS_TRUCK_CALCULATE RTCP
  117. ON RTCP.TRUCK_CALCULATE_ID = TWRP.RESULT_TARE_PLACE_ID
  118. LEFT JOIN TMSTRUCK_LOAD_RESULT TLR
  119. ON TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  120. LEFT JOIN RMS_WAREHOUSE RWL
  121. ON RWL.WAREHOUSE_ID = TLR.LOADING_ID
  122. LEFT JOIN TMSTRUCK_WEIGHT_RESULT TWRM
  123. ON TWRM.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  124. LEFT JOIN RMS_TRUCK_CALCULATE RTCM
  125. ON RTCM.TRUCK_CALCULATE_ID = TWRM.RESULT_GROSS_PLACE_ID
  126. LEFT JOIN TMSTRUCK_UNLOAD_RESULT TUR
  127. ON TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  128. LEFT JOIN RMS_WAREHOUSE RWU
  129. ON RWU.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
  130. LEFT JOIN TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
  131. ON TLFR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  132. LEFT JOIN RMS_GATEPOST RGL
  133. ON RGL.GATEPOST_ID = TLFR.GATEPOST_ID
  134. LEFT JOIN TMSTRUCK_RETURN_RESULT TRR
  135. ON TRR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  136. WHERE TTR.ORDER_ID = #{orderId}
  137. </select>
  138. <select id="getOrderIdByOrderNumber" parameterType="java.lang.String" resultType="DECIMAL">
  139. SELECT OO.ORDER_ID AS "orderId"
  140. FROM OMSTRUCK_ORDER OO
  141. WHERE OO.ORDER_NUMBER = #{orderNumber}
  142. </select>
  143. <!-- 通过总实绩ID查询物资ID -->
  144. <select id="getMaterialIdByTotalId" parameterType="int" resultType="java.lang.Integer">
  145. select OOM.MATERIAL_ID
  146. from TMSTRUCK_TOTAL_RESULT TTR
  147. left join OMSTRUCK_ORDER_MATERIAL OOM
  148. on OOM.ORDER_ID = TTR.ORDER_ID
  149. where TTR.RESULT_TOTAL_ID = #{resultTotalId}
  150. </select>
  151. <!-- 通过订单Id查询总实绩ID-->
  152. <select id="getTotalIdByOrderId" parameterType="java.math.BigDecimal" resultType="java.lang.Integer">
  153. select TTR.RESULT_TOTAL_ID
  154. from TMSTRUCK_TOTAL_RESULT TTR
  155. where TTR.ORDER_ID = #{orderId}
  156. </select>
  157. <!-- 通过总实绩ID和路段顺序号查询进厂实绩数据 -->
  158. <select id="getEnFactoryMes" parameterType="map" resultType="java.util.Map">
  159. select RG.GATEPOST_NAME "pointName",
  160. TER.RESULT_ENTRY_GATE_TIME "pointDate"
  161. from TMSTRUCK_ENFACTORY_RESULT TER
  162. left join RMS_GATEPOST RG
  163. on RG.GATEPOST_ID = TER.GATEPOST_ID
  164. where TER.RESULT_TOTAL_ID = #{resultTotalId} and TER.SEGMEN_SQE = #{segmentSqe}
  165. </select>
  166. <!-- 通过总实绩ID和路段顺序号查询计毛实绩数据 -->
  167. <select id="getMaoWeightMes" parameterType="map" resultType="java.util.Map">
  168. select RTC.TRUCK_CALCULATE_NUMBER "pointName",
  169. TWR.RESULT_GROSS_WEIGHT_TIME "pointDate",
  170. TWR.RESULT_GROSS_WEIGHT "weight",
  171. RM.MATERIAL_NAME "materialName"
  172. from TMSTRUCK_WEIGHT_RESULT TWR
  173. left join RMS_TRUCK_CALCULATE RTC
  174. on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_GROSS_PLACE_ID
  175. left join RMS_MATERIAL RM
  176. on TWR.MATERIAL_ID = RM.MATERIAL_ID
  177. where TWR.RESULT_TOTAL_ID = #{resultTotalId} and TWR.GROSS_SEGMENT_SQE = #{segmentSqe}
  178. </select>
  179. <!-- 通过总实绩ID和路段顺序号查询卸货实绩数据 -->
  180. <select id="getUnloadMes" parameterType="map" resultType="java.util.Map">
  181. select TUR.RESULT_END_TIME "pointDate",
  182. RW.WAREHOUSE_NAME "pointName"
  183. from TMSTRUCK_UNLOAD_RESULT TUR
  184. left join RMS_WAREHOUSE RW
  185. on RW.WAREHOUSE_ID = TUR.RESULT_UNLOAD_PLACE_ID
  186. where TUR.RESULT_TOTAL_ID = #{resultTotalId} AND TUR.SEGMENT_SQE = #{segmentSqe}
  187. </select>
  188. <!-- 通过总实绩ID和路段顺序号查询装货实绩数据-->
  189. <select id="getLoadMes" parameterType="map" resultType="java.util.Map">
  190. select TLR.RESULT_LOAD_END_TIME "pointDate",
  191. RW.WAREHOUSE_NAME "pointName"
  192. from TMSTRUCK_LOAD_RESULT TLR
  193. left join TMSTRUCK_TOTAL_RESULT TTR
  194. on TTR.RESULT_TOTAL_ID = TLR.RESULT_TOTAL_ID
  195. left join RMS_WAREHOUSE RW
  196. on RW.WAREHOUSE_ID = TLR.LOADING_ID
  197. where TLR.RESULT_TOTAL_ID = #{resultTotalId} and TLR.SEGMENT_SQE = #{segmentSqe}
  198. </select>
  199. <!-- 通过总实绩ID和路段顺序号查询出厂实绩数据 -->
  200. <select id="getOutFactoryMes" parameterType="map" resultType="java.util.Map">
  201. select TLFR.RESULT_OUT_GATE_TIME "pointDate",
  202. RG.GATEPOST_NAME "pointName"
  203. from TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
  204. left join RMS_GATEPOST RG
  205. on RG.GATEPOST_ID = TLFR.GATEPOST_ID
  206. where TLFR.RESULT_TOTAL_ID = #{resultTotalId} and TLFR.SEGMENT_SQE = #{segmentSqe}
  207. </select>
  208. <!-- 查询退货时间 -->
  209. <select id="getReturnMes" parameterType="map" resultType="java.util.Map">
  210. select TRR.INSERT_TIME "pointDate"
  211. from TMSTRUCK_RETURN_RESULT TRR
  212. where TRR.RESULT_TOTAL_ID = #{resultTotalId}
  213. </select>
  214. <!-- 通过总实绩ID和路段顺序号查询计皮实绩数据 -->
  215. <select id="getPiWeightMes" parameterType="map" resultType="java.util.Map">
  216. select RTC.TRUCK_CALCULATE_NUMBER "pointName",
  217. TWR.RESULT_TARE_WEIGHT_TIME "pointDate",
  218. TWR.RESULT_TARE_WEIGHT "weight",
  219. RM.MATERIAL_NAME "materialName"
  220. from TMSTRUCK_WEIGHT_RESULT TWR
  221. left join RMS_TRUCK_CALCULATE RTC
  222. on RTC.TRUCK_CALCULATE_ID = TWR.RESULT_TARE_PLACE_ID
  223. left join RMS_MATERIAL RM
  224. on TWR.MATERIAL_ID = RM.MATERIAL_ID
  225. where TWR.RESULT_TOTAL_ID = #{resultTotalId} and TWR.TARE_SEGMENT_SQE = #{segmentSqe}
  226. </select>
  227. <!-- 查询承运商所属的采购进口矿运输订单信息 -->
  228. <select id="getInputOrderList" parameterType="java.util.Map" resultType="java.util.Map" >
  229. select
  230. *
  231. from
  232. (
  233. select
  234. OO.ORDER_ID "orderId",
  235. APO.PURCHASE_ORDER_ID "purchaseOrderId",
  236. AP.PLAN_ID "planId",
  237. APO.PURCHASE_ORDER_NO "purchaseOrderNo",
  238. RM.MATERIAL_NAME "materialName",
  239. AP.PLAN_NO "planNo",
  240. RC.CAPACITY_NUMBER "capacityNumber",
  241. RC.CAPACITY_ID "capacityId",
  242. OOM.ORDER_MATERIAL_WEIGHT "orderMaterialWeight",
  243. to_char(AP.PLAN_TRUCK_TIME, 'yyyy-mm-dd')"planTruckTime",
  244. to_char(AP.PLAN_INCOMING_TIME, 'yyyy-mm-dd') "planIncomingTime",
  245. OO.INSERT_USERNAME "insertUsername",
  246. OO.INSERT_TIME "insertTime",
  247. OO.ORDER_NUMBER "orderNumber",
  248. RW.WAREHOUSE_NAME "warehouseName", --卸货点
  249. to_char(OO.ORDER_ENTRY_TIME, 'yyyy-mm-dd') "orderEntryTime", --进厂时间
  250. RS.SUPPLIER_NAME "supplierName", --发货单位
  251. RCSE.CONSIGNEE_COMPANY_NAME "consigneeCompanyName", --收货单位,
  252. OO.ORDER_ISSUE_TIME "orderIssueTime"
  253. from OMSTRUCK_ORDER OO
  254. left join AMS_PURCHASE_ORDER APO
  255. on OO.ORDER_PLAN_ID = APO.PURCHASE_ORDER_ID
  256. left join AMSTRUCK_PURPLAN AP
  257. on AP.BATCH_ID = APO.BATCH_ID and AP.PLAN_STATUS != 3
  258. left join RMS_CAPACITY RC
  259. on RC.CAPACITY_ID = OO.CAPACITY_ID
  260. left join OMSTRUCK_ORDER_MATERIAL OOM
  261. on OOM.ORDER_ID = OO.ORDER_ID
  262. left join RMS_MATERIAL RM
  263. on RM.MATERIAL_ID = OOM.MATERIAL_ID
  264. left join RMS_WAREHOUSE RW
  265. on OO.UNLOAD_POINT_ID = RW.WAREHOUSE_ID
  266. left join RMS_SUPPLIER RS
  267. on RS.SUPPLIER_ID = APO.SUPPLIER_UNIT_ID
  268. left join RMS_CONSIGNEE RCSE
  269. on APO.RECEIVE_UNIT_ID = RCSE.CONSIGNEE_ID
  270. <where>
  271. <choose>
  272. <when test="orderStatus != 8">
  273. and OO.ORDER_STATUS = #{orderStatus}
  274. </when>
  275. <otherwise>
  276. and OO.ORDER_STATUS in (0, 1, 2, 4, 5, 6)
  277. </otherwise>
  278. </choose>
  279. <if test="carrierId != null ">
  280. and AP.CARRIER_ID = #{carrierId}
  281. </if>
  282. <if test="orderType != null">
  283. and OO.ORDER_TYPE = #{orderType}
  284. </if>
  285. <if test="orderType != null">
  286. and OO.ORDER_TYPE in (6, 7)
  287. </if>
  288. </where>
  289. )
  290. <where>
  291. <if test="materialName != null">
  292. <foreach collection="materialName" item="item" open="(" separator="or" close=")">
  293. "materialName" like '%${item}%'
  294. </foreach>
  295. </if>
  296. <if test="orderMaterialWeight != null">
  297. and
  298. <foreach collection="orderMaterialWeight" item="item" open="(" separator="or" close=")">
  299. "orderMaterialWeight" like '%${item}%'
  300. </foreach>
  301. </if>
  302. <if test="planNo != null">
  303. and
  304. <foreach collection="planNo" item="item" open="(" separator="or" close=")">
  305. "planNo" like '%${item}%'
  306. </foreach>
  307. </if>
  308. <if test="capacityNumber != null">
  309. and
  310. <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
  311. "capacityNumber" like '%${item}%'
  312. </foreach>
  313. </if>
  314. <if test="planTruckTime != null">
  315. and
  316. <foreach collection="planTruckTime" item="item" open="(" separator="or" close=")">
  317. "planTruckTime" like '%${item}%'
  318. </foreach>
  319. </if>
  320. <if test="planIncomingTime != null">
  321. and
  322. <foreach collection="planIncomingTime" item="item" open="(" separator="or" close=")">
  323. "planIncomingTime" like '%${item}%'
  324. </foreach>
  325. </if>
  326. <if test="insertUsername != null">
  327. and
  328. <foreach collection="insertUsername" item="item" open="(" separator="or" close=")">
  329. "insertUsername" like '%${item}%'
  330. </foreach>
  331. </if>
  332. <if test="insertTime != null">
  333. and
  334. <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
  335. "insertTime" like '%${item}%'
  336. </foreach>
  337. </if>
  338. <if test="warehouseName != null">
  339. and
  340. <foreach collection="warehouseName" item="item" open="(" separator="or" close=")">
  341. "warehouseName" like '%${item}%'
  342. </foreach>
  343. </if>
  344. <if test="orderNumber != null">
  345. and
  346. <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
  347. "orderNumber" like '%${item}%'
  348. </foreach>
  349. </if>
  350. <if test="orderEntryTime != null">
  351. and
  352. <foreach collection="orderEntryTime" item="item" open="(" separator="or" close=")">
  353. "orderEntryTime" like '%${item}%'
  354. </foreach>
  355. </if>
  356. <if test="supplierName != null">
  357. and
  358. <foreach collection="supplierName" item="item" open="(" separator="or" close=")">
  359. "supplierName" like '%${item}%'
  360. </foreach>
  361. </if>
  362. <if test="consigneeCompanyName != null">
  363. and
  364. <foreach collection="consigneeCompanyName" item="item" open="(" separator="or" close=")">
  365. "consigneeCompanyName" like '%${item}%'
  366. </foreach>
  367. </if>
  368. </where>
  369. <include refid="orderBy">
  370. </include>
  371. <if test="orderField == null ">
  372. order by "insertTime" desc
  373. </if>
  374. </select>
  375. <!-- 获取零星物资订单信息 -->
  376. <select id="getOthersOrderMesToSend" parameterType="map" resultType="java.util.Map">
  377. select
  378. *
  379. from
  380. (
  381. select OO.ORDER_ID "orderId",
  382. TTR.RESULT_TOTAL_ID "resultTotalId",
  383. ASO.SPORADIC_ORDER_NO "sporadicOrderNo",
  384. ASO.SPORADIC_ORDER_ID "sporadicOrderId",
  385. OO.ORDER_NUMBER "orderNumber",
  386. RS.SUPPLIER_NAME "sendCompany",
  387. RC2.CONSIGNEE_COMPANY_NAME "receiveCompany",
  388. ASO.INSERT_TIME "insertTime",
  389. RC.CAPACITY_NUMBER "capacityNumber",
  390. rce.carrier_name "carrierName"
  391. from OMSTRUCK_ORDER OO
  392. left join TMSTRUCK_TOTAL_RESULT TTR
  393. on TTR.ORDER_ID = OO.ORDER_ID
  394. left join RMS_CAPACITY RC
  395. on RC.CAPACITY_ID = OO.CAPACITY_ID
  396. left join AMSTRUCK_SPORADIC_ORDER ASO
  397. on ASO.SPORADIC_ORDER_ID = OO.ORDER_PLAN_ID
  398. left join RMS_SUPPLIER RS
  399. on RS.SUPPLIER_ID = ASO.SEND_UNIT_ID
  400. left join RMS_CONSIGNEE RC2
  401. on RC2.CONSIGNEE_ID = ASO.RECEIVE_UNIT_ID
  402. left join rms_carrier rce
  403. on rce.carrier_id = aso.carrier_id
  404. <where>
  405. <if test="status != null">
  406. and OO.ORDER_STATUS = #{status}
  407. </if>
  408. <if test="status == 4">
  409. and ASO.TRANS_STATUS = 1
  410. </if>
  411. <if test="type == 1">
  412. and OO.ORDER_TYPE in (12, 13 ,14,19)
  413. and OO.CAPACITY_ID IS NOT NULL
  414. </if>
  415. <if test="carrierId != null">
  416. and ASO.CARRIER_ID = (select rc.carrier_id from rms_carrier rc
  417. where rc.carrier_sso_id= #{carrierId})
  418. </if>
  419. <if test="userId != null">
  420. and ASO.INSERT_USERNAME= #{userId}
  421. </if>
  422. <if test="usersId != null">
  423. and ASO.UPDATE_USERNAME= #{usersId}
  424. </if>
  425. </where>
  426. )
  427. <where>
  428. <if test="sporadicOrderNo != null">
  429. <foreach collection="sporadicOrderNo" item="item" open="(" separator="or" close=")">
  430. "sporadicOrderNo" like '%${item}%'
  431. </foreach>
  432. </if>
  433. <if test="orderNumber != null">
  434. and
  435. <foreach collection="orderNumber" item="item" open="(" separator="or" close=")">
  436. "orderNumber" like '%${item}%'
  437. </foreach>
  438. </if>
  439. <if test="sendCompany != null">
  440. and
  441. <foreach collection="sendCompany" item="item" open="(" separator="or" close=")">
  442. "sendCompany" like '%${item}%'
  443. </foreach>
  444. </if>
  445. <if test="receiveCompany != null">
  446. and
  447. <foreach collection="receiveCompany" item="item" open="(" separator="or" close=")">
  448. "receiveCompany" like '%${item}%'
  449. </foreach>
  450. </if>
  451. <if test="insertTime != null">
  452. and
  453. <foreach collection="insertTime" item="item" open="(" separator="or" close=")">
  454. "insertTime" like '%${item}%'
  455. </foreach>
  456. </if>
  457. <if test="capacityNumber != null">
  458. and
  459. <foreach collection="capacityNumber" item="item" open="(" separator="or" close=")">
  460. "capacityNumber" like '%${item}%'
  461. </foreach>
  462. </if>
  463. </where>
  464. <include refid="orderBy">
  465. </include>
  466. <if test="orderField == null ">
  467. order by "insertTime" desc
  468. </if>
  469. </select>
  470. <!-- 查询销售订单的物资件数或重量 -->
  471. <select id="getWeightOrNumber" parameterType="DECIMAL" resultType="java.util.Map" >
  472. SELECT ASM.MATERIAL_NUMBER AS "materialNumber",
  473. ASM.MATERIAL_WEIGHT AS "materialWeight"
  474. FROM AMS_SALE_ORDER_MATERIAL ASOM
  475. LEFT JOIN AMS_SALE_TRUCKNO_MATERIAL ASTM
  476. ON ASTM.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
  477. LEFT JOIN AMS_SALE_MATERIAL ASM
  478. ON ASM.SALE_MATERIAL_ID = ASTM.MATERIAL_ID
  479. WHERE ASOM.SALE_ORDER_MATERIAL_ID = #{saleOrderMaterialId}
  480. </select>
  481. <!-- 查询当前车辆之前所有已完成的订单 -->
  482. <select id="getCapacityAllOrder" parameterType="string" resultType="java.util.Map">
  483. select OO.ORDER_ID "orderId",
  484. OO.ORDER_NUMBER "orderNumber"
  485. from OMSTRUCK_ORDER OO
  486. left join RMS_CAPACITY RC
  487. on RC.CAPACITY_ID = OO.CAPACITY_ID
  488. where CAPACITY_NUMBER = #{capacityNumber}
  489. and OO.ORDER_STATUS = 2
  490. order by OO.ORDER_ID desc
  491. </select>
  492. <!-- 查询订单发货日期 (订单类型为2) -->
  493. <select id="getDeliveryDate" parameterType="object" resultType="int">
  494. select OO.ORDER_ID
  495. from OMSTRUCK_ORDER OO
  496. join AMS_SALE_ORDER_MATERIAL ASOM
  497. on ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
  498. where OO.ORDER_ID = #{orderId}
  499. and TO_CHAR(ASOM.SALE_DATE_OF_RECEIPT, 'YYYY-MM-DD') >= TO_CHAR(SYSDATE, 'YYYY-MM-DD')
  500. </select>
  501. <!-- 修改运输订单趟次-->
  502. <!-- <update id="updateTimes">-->
  503. <!-- update AMSTRUCK_SPORADIC_ORDER set sporadic_order_times =#{times}-->
  504. <!-- where sporadic_order_id= #{orderPlanId}-->
  505. <!-- </update>-->
  506. <select id="getSaleAllMessages" parameterType="DECIMAL" resultType="java.util.Map">
  507. SELECT ASOM.SALE_ORDER_ID AS "saleOrderId",
  508. ASO.CLOSE_STATUS AS "closeStatus"
  509. FROM OMSTRUCK_ORDER OO
  510. LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
  511. ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
  512. LEFT JOIN AMS_SALE_ORDER ASO
  513. ON ASO.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
  514. WHERE OO.ORDER_ID = #{orderId}
  515. </select>
  516. <select id="getMaxTruckNo" parameterType="DECIMAL" resultType="java.util.Map">
  517. SELECT ASOM.SALE_ORDER_MATERIAL_TRUCK_NO AS "truckNo"
  518. FROM OMSTRUCK_ORDER OO
  519. LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
  520. ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
  521. WHERE ASOM.SALE_ORDER_ID = #{saleOrderId}
  522. ORDER BY ASOM.SALE_ORDER_MATERIAL_TRUCK_NO DESC
  523. </select>
  524. <select id="getMapList" parameterType="DECIMAL" resultType="java.util.Map">
  525. SELECT ASOM.SALE_SHIPPING_ADDRESS_ID AS "saleShippingAddressId",
  526. ASOM.SALE_ORDER_CONSIGNEE AS "saleOrderConsignee",
  527. ASOM.SALE_ORDER_CONSIGNEE_TEL AS "saleOrderConsigneeTel",
  528. ASM.SALE_MATERIAL_ID AS "saleMaterialId",
  529. ADSO.CARRIER_ID AS "carrierId",
  530. OO.LINE_ID AS "lineId",
  531. OOM.MATERIAL_ID AS "materialId",
  532. OOM.ORDER_MATERIAL_WEIGHT AS "orderPlanWeight",
  533. RC.CAPACITY_NUMBER AS "capacityNumber"
  534. FROM OMSTRUCK_ORDER OO
  535. LEFT JOIN AMS_SALE_ORDER_MATERIAL ASOM
  536. ON ASOM.SALE_ORDER_MATERIAL_ID = OO.ORDER_PLAN_ID
  537. LEFT JOIN AMS_DISPATCH_SALE_ORDER ADSO
  538. ON ADSO.SALE_ORDER_MATERIAL_ID = ASOM.SALE_ORDER_MATERIAL_ID
  539. LEFT JOIN AMS_SALE_MATERIAL ASM
  540. ON ASM.SALE_ORDER_ID = ASOM.SALE_ORDER_ID
  541. LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM
  542. ON OOM.ORDER_ID = OO.ORDER_ID
  543. LEFT JOIN RMS_CAPACITY RC
  544. ON RC.CAPACITY_ID = OO.CAPACITY_ID
  545. WHERE OO.ORDER_ID = #{orderId}
  546. </select>
  547. <!-- 修改采购订单是否为一车多趟 -->
  548. <update id="updateAPOisMoreTrips" parameterType="java.math.BigDecimal">
  549. update AMS_PURCHASE_ORDER APO
  550. set APO.IS_MORE_TRIPS = 1
  551. where APO.PURCHASE_ORDER_ID = #{purchaseOrderId}
  552. </update>
  553. <update id="closeInwardOrder" parameterType="java.lang.Integer">
  554. update OMSTRUCK_ORDER OO
  555. set oo.ORDER_STATUS = 2
  556. <if test="sqe != null">
  557. , OO.ORDER_LINE_SEQUENCE = #{sqe}
  558. </if>
  559. where oo.ORDER_ID = #{orderId}
  560. </update>
  561. <update id="updateSporadicStatus">
  562. update AMSTRUCK_SPORADIC_ORDER ASO
  563. SET ASO.TRANS_STATUS = #{sporadicStatus}
  564. WHERE ASO.SPORADIC_ORDER_ID = #{orderPlanId}
  565. </update>
  566. <!-- 通过装卸工SSOID查询装过的订单信息 -->
  567. <select id="getAllLoaderLoadingOrder" parameterType="map" resultType="java.util.Map">
  568. select OO.ORDER_ID "orderId",
  569. OO.ORDER_NUMBER "orderNumber",
  570. RC.CAPACITY_NUMBER "capacityNumber",
  571. TWR.RESULT_NET_WEIGHT "netWeight",
  572. RM.MATERIAL_NAME "materialName"
  573. from OMSTRUCK_ORDER OO
  574. left join TMSTRUCK_TOTAL_RESULT TTR
  575. on TTR.ORDER_ID = OO.ORDER_ID
  576. left join RMS_CAPACITY RC
  577. on RC.CAPACITY_ID = OO.CAPACITY_ID
  578. left join TMSTRUCK_WEIGHT_RESULT TWR
  579. on TWR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  580. left join RMS_MATERIAL RM
  581. on RM.MATERIAL_ID = TWR.MATERIAL_ID
  582. <if test="loaderSsoId != null">
  583. left join TMSTRUCK_LOAD_RESULT TLR
  584. on TLR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  585. left join RMS_PERSONNEL RP
  586. on RP.PERSONNEL_ID = TLR.LOADER_ID
  587. </if>
  588. <if test="unLoaderSsoId != null">
  589. left join TMSTRUCK_UNLOAD_RESULT TUR
  590. on TUR.RESULT_TOTAL_ID = TTR.RESULT_TOTAL_ID
  591. left join RMS_PERSONNEL RP
  592. on RP.PERSONNEL_ID = TUR.UNLOADER_ID
  593. </if>
  594. <where>
  595. <if test="loaderSsoId != null">
  596. RP.PERSONNEL_SSO_ID = #{loaderSsoId}
  597. and TLR.RESULT_LOAD_END_TIME >= to_date(#{limitTime}, 'yyyy-mm-dd')
  598. order by TLR.RESULT_LOAD_END_TIME desc
  599. </if>
  600. <if test="unLoaderSsoId != null">
  601. RP.PERSONNEL_SSO_ID = #{unLoaderSsoId}
  602. and TUR.RESULT_END_TIME >= to_date(#{limitTime}, 'yyyy-mm-dd')
  603. order by TUR.RESULT_END_TIME desc
  604. </if>
  605. <if test="loaderSsoId == null and unLoaderSsoId == null">
  606. rownum &lt; 100
  607. </if>
  608. </where>
  609. </select>
  610. <select id="getOrderPlanEnable" resultType="java.lang.Integer">
  611. SELECT AIP.PLAN_EABLE_STATUS
  612. FROM
  613. OMSTRUCK_ORDER oo
  614. LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
  615. ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
  616. WHERE OO.ORDER_ID = #{orderId}
  617. </select>
  618. <select id="getAllEnFactoryResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  619. select *
  620. from (
  621. select TER.SEGMEN_SQE "segmenSqe",
  622. TER.RESULT_ENTRY_GATE_TIME "pointDate",
  623. RG.GATEPOST_NAME "pointName",
  624. '进厂' "linkName"
  625. from TMSTRUCK_ENFACTORY_RESULT TER
  626. left join RMS_GATEPOST RG
  627. on RG.GATEPOST_ID = TER.GATEPOST_ID
  628. where TER.RESULT_TOTAL_ID = #{resultTotalId}
  629. )
  630. where "pointDate" is not null
  631. </select>
  632. <select id="getAllOutFactoryResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  633. select *
  634. from (
  635. select TLFR.SEGMENT_SQE "segmenSqe",
  636. TLFR.RESULT_OUT_GATE_TIME "pointDate",
  637. RG.GATEPOST_NAME "pointName",
  638. '出厂' "linkName"
  639. from TMSTRUCK_LEAVE_FACTORY_RESULT TLFR
  640. left join RMS_GATEPOST RG
  641. on RG.GATEPOST_ID = TLFR.GATEPOST_ID
  642. where TLFR.RESULT_TOTAL_ID = #{resultTotalId}
  643. )
  644. where "pointDate" is not null
  645. </select>
  646. <select id="getAllLoadResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  647. select *
  648. from (
  649. select TLR.SEGMENT_SQE "segmenSqe",
  650. TLR.RESULT_LOAD_END_TIME "pointDate",
  651. RW.WAREHOUSE_NAME "pointName",
  652. RM.MATERIAL_NAME "materialName",
  653. TLR.INSERT_UPDATE_REMARK "remark",
  654. '装货' "linkName"
  655. from TMSTRUCK_LOAD_RESULT TLR
  656. left join RMS_WAREHOUSE RW on TLR.LOADING_ID = RW.WAREHOUSE_ID
  657. left join RMS_MATERIAL RM on TLR.MATERIAL_ID = RM.MATERIAL_ID
  658. where TLR.RESULT_TOTAL_ID = #{resultTotalId}
  659. )
  660. where "pointDate" is not null
  661. </select>
  662. <select id="getAllUnloadResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  663. select *
  664. from (
  665. select TUR.SEGMENT_SQE "segmenSqe",
  666. TUR.RESULT_END_TIME "pointDate",
  667. RW.WAREHOUSE_NAME "pointName",
  668. RM.MATERIAL_NAME "materialName",
  669. TUR.INSERT_UPDATE_REMARK "remark",
  670. '卸货' "linkName"
  671. from TMSTRUCK_UNLOAD_RESULT TUR
  672. left join RMS_WAREHOUSE RW on TUR.RESULT_UNLOAD_PLACE_ID = RW.WAREHOUSE_ID
  673. left join RMS_MATERIAL RM on TUR.MATERIAL_ID = RM.MATERIAL_ID
  674. where TUR.RESULT_TOTAL_ID = #{resultTotalId}
  675. )
  676. where "pointDate" is not null
  677. </select>
  678. <select id="getAllMaoWeightResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  679. select *
  680. from (
  681. select TWR.GROSS_SEGMENT_SQE "segmenSqe",
  682. TWR.RESULT_GROSS_WEIGHT_TIME "pointDate",
  683. RTC.TRUCK_CALCULATE_NUMBER "pointName",
  684. TWR.RESULT_GROSS_WEIGHT "weight",
  685. TWR.RESULT_NET_WEIGHT "netWeight",
  686. RM.MATERIAL_NAME "materialName",
  687. '计量' "linkName"
  688. from TMSTRUCK_WEIGHT_RESULT TWR
  689. left join RMS_TRUCK_CALCULATE RTC on TWR.RESULT_GROSS_PLACE_ID = RTC.TRUCK_CALCULATE_ID
  690. left join RMS_MATERIAL RM on TWR.MATERIAL_ID = RM.MATERIAL_ID
  691. where TWR.RESULT_TOTAL_ID = #{resultTotalId}
  692. )
  693. where "pointDate" is not null
  694. </select>
  695. <select id="getAllPiWeightResultMesByTotalId" parameterType="int" resultType="java.util.Map">
  696. select *
  697. from (
  698. select TWR.TARE_SEGMENT_SQE "segmenSqe",
  699. TWR.RESULT_TARE_WEIGHT_TIME "pointDate",
  700. RTC.TRUCK_CALCULATE_NUMBER "pointName",
  701. TWR.RESULT_TARE_WEIGHT "weight",
  702. TWR.RESULT_NET_WEIGHT "netWeight",
  703. RM.MATERIAL_NAME "materialName",
  704. '计量' "linkName"
  705. from TMSTRUCK_WEIGHT_RESULT TWR
  706. left join RMS_TRUCK_CALCULATE RTC on TWR.RESULT_TARE_PLACE_ID = RTC.TRUCK_CALCULATE_ID
  707. left join RMS_MATERIAL RM on TWR.MATERIAL_ID = RM.MATERIAL_ID
  708. where TWR.RESULT_TOTAL_ID = #{resultTotalId}
  709. )
  710. where "pointDate" is not null
  711. </select>
  712. <select id="getTotalIdByOrderIdOrOrderNum" parameterType="map" resultType="java.lang.Integer">
  713. select TTR.RESULT_TOTAL_ID
  714. from OMSTRUCK_ORDER OO
  715. left join TMSTRUCK_TOTAL_RESULT TTR on TTR.ORDER_ID = OO.ORDER_ID
  716. <where>
  717. <if test="orderId != null">
  718. and OO.ORDER_ID = #{orderId}
  719. </if>
  720. <if test="orderNumber != null">
  721. and OO.ORDER_NUMBER = #{orderNumber}
  722. </if>
  723. </where>
  724. </select>
  725. <select id="getTimeTaskEndOrder" resultType="java.util.Map" parameterType="java.util.Map">
  726. SELECT
  727. OO.ORDER_NUMBER "orderNumber",
  728. RC.CAPACITY_NUMBER "capacityNumber",
  729. OO.ORDER_ID "orderId",
  730. ( SELECT TTTR2.RESULT_TIME FROM TMSTRUCK_TIME_TASK_RESULT TTTR2 WHERE TTTR2.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR2.RESULT_TIME_TYPE = 1 ) "startTime",
  731. ( SELECT TTTR3.RESULT_TIME FROM TMSTRUCK_TIME_TASK_RESULT TTTR3 WHERE TTTR3.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR3.RESULT_TIME_TYPE = 3 ) "endTime",
  732. ( SELECT CONCAT( TTTR.RESULT_VALUE, RUOM.UNIT_OF_MEASURE_NAME ) FROM TMSTRUCK_TIME_TASK_RESULT TTTR4 WHERE TTTR4.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID AND TTTR4.RESULT_TIME_TYPE = 3 ) "resultTime",
  733. RM.MATERIAL_NAME "materialName"
  734. FROM
  735. OMSTRUCK_ORDER OO
  736. LEFT JOIN OMSTRUCK_ORDER_MATERIAL OOM ON OOM.ORDER_ID = OO.ORDER_ID
  737. LEFT JOIN RMS_MATERIAL RM ON RM.MATERIAL_ID = OOM.MATERIAL_ID
  738. LEFT JOIN TMSTRUCK_TOTAL_RESULT TTR ON TTR.ORDER_ID = OO.ORDER_ID
  739. LEFT JOIN RMS_CAPACITY RC ON RC.CAPACITY_ID = OO.CAPACITY_ID
  740. LEFT JOIN TMSTRUCK_TIME_TASK_RESULT TTTR ON TTR.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
  741. LEFT JOIN RMS_UNIT_OF_MEASURE RUOM ON TTTR.RESULT_UOM_ID = RUOM.UNIT_OF_MEASURE_ID
  742. WHERE
  743. TTTR.RESULT_VALUE IS NOT NULL and TTTR.RESULT_TIME_TYPE = 3 and TTTR.INSERT_USERNAME =#{userId}
  744. </select>
  745. <select id="getInward" resultType="java.lang.Integer">
  746. select count(*) from OMSTRUCK_ORDER OO
  747. LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
  748. ON OO.ORDER_PLAN_ID = AIP.PLAN_ID
  749. LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
  750. ON ARP.PLAN_ID = AIP.PLAN_ID
  751. LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
  752. ON AIR.REQUIREMENT_ID = ARP.REQUIREMENT_ID
  753. where AIR.DUE_DATE &gt;= sysdate and OO.ORDER_ID = #{orderId}
  754. </select>
  755. <select id="getOrderMesByOrderId" parameterType="java.math.BigDecimal" resultType="java.util.Map">
  756. select OO.ORDER_TYPE "orderType",
  757. OO.ORDER_PLAN_ID "orderPlanId",
  758. TTR.RESULT_TOTAL_ID "resultTotalId"
  759. from OMSTRUCK_ORDER OO
  760. left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
  761. where OO.ORDER_ID = #{orderId}
  762. </select>
  763. <select id="getTimeOrderResult" parameterType="map" resultType="java.util.LinkedHashMap">
  764. select TTTR.RESULT_TIME "pointDate",
  765. TTTR.RESULT_TIME_TYPE "resultTimeType"
  766. from OMSTRUCK_ORDER OO
  767. left join TMSTRUCK_TOTAL_RESULT TTR on OO.ORDER_ID = TTR.ORDER_ID
  768. left join TMSTRUCK_TIME_TASK_RESULT TTTR on TTR.RESULT_TOTAL_ID = TTTR.RESULT_TOTAL_ID
  769. where OO.ORDER_ID = #{orderId}
  770. order by TTTR.RESULT_TIME
  771. </select>
  772. <select id="getSporadicStatus" resultType="java.lang.Integer">
  773. SELECT
  774. ASO.TRANS_STATUS
  775. FROM
  776. OMSTRUCK_ORDER OO
  777. LEFT JOIN AMSTRUCK_SPORADIC_ORDER ASO
  778. ON ASO.SPORADIC_ORDER_ID = OO.ORDER_PLAN_ID
  779. WHERE OO.ORDER_ID = #{orderId}
  780. </select>
  781. <select id="getPriceInfo" resultType="java.util.Map" parameterType="java.lang.Integer">
  782. select
  783. ARM.MATERIAL_ID "materialId",
  784. AIR.LINE_ID "rangeId",
  785. AIR.REQUIREMENT_TYPE "requirementType",
  786. AIR.IS_MINERAL "isMineral"
  787. from OMSTRUCK_ORDER OO
  788. LEFT JOIN AMSTRUCK_INWARD_PLAN AIP
  789. ON AIP.PLAN_ID = OO.ORDER_PLAN_ID
  790. LEFT JOIN AMSTRUCK_REQUIREMENT_PLAN ARP
  791. ON ARP.PLAN_ID = AIP.PLAN_ID
  792. LEFT JOIN AMSTRUCK_INWARD_REQUIREMENT AIR
  793. ON ARP.REQUIREMENT_ID = AIR.REQUIREMENT_ID
  794. LEFT JOIN AMSTRUCK_REQUIREMENT_MATERIAL ARM
  795. ON ARM.REQUIREMENT_ID = AIR.REQUIREMENT_ID
  796. where oo.ORDER_ID = #{orderId}
  797. </select>
  798. </mapper>