UniversalMapper.xml 50 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300
  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.UniversalMapper">
  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. <sql id="companyFilter">
  13. <if test="!roleCodes.contains('admin') and dilCompanyList != null and dilCompanyList.size > 0">
  14. AND ${prop}
  15. in
  16. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  17. #{item.companyId}
  18. </foreach>
  19. </if>
  20. </sql>
  21. <!-- 查询所有的汽车衡 -->
  22. <select id="getColumnNoRoutList" resultType="java.lang.String" parameterType="map">
  23. select DTCR.COLUMN_NAME from DIL_TABLE_COLUMN_ROLE DTCR
  24. left join DIL_ROLE_ORGCODE_TABLE DROT
  25. ON DTCR.PRIMARY_ID = DROT.COLUMN_ID
  26. WHERE
  27. DTCR.TABLE_NAME = #{tableName}
  28. <if test="orgCode != null">
  29. and DROT.ORG_CODE = #{orgCode}
  30. </if>
  31. </select>
  32. <select id="getColumnShowData" resultType="java.util.Map" parameterType="map">
  33. SELECT DTCR.COLUMN_NAME "key",
  34. DTCR.COLUMN_NAME "label"
  35. FROM DIL_TABLE_COLUMN_ROLE DTCR
  36. LEFT JOIN DIL_ROLE_ORGCODE_TABLE DROT on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  37. WHERE
  38. DTCR.TABLE_NAME = #{tableName}
  39. <if test="userName != null">
  40. AND nvl(DROT.USER_NAME,'0') != #{userName}
  41. </if>
  42. <if test="schemeName != null">
  43. AND nvl(DROT.PRIMARY_NAME,'0') != #{schemeName}
  44. </if>
  45. </select>
  46. <select id="getColumnHiddenData" resultType="string" parameterType="map">
  47. SELECT DTCR.COLUMN_NAME FROM DIL_ROLE_ORGCODE_TABLE DROT
  48. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  49. WHERE
  50. DTCR.TABLE_NAME = #{tableName}
  51. <if test="userName != null">
  52. AND DROT.USER_NAME = #{userName}
  53. </if>
  54. <if test="orgCode != null">
  55. AND DROT.ORG_CODE = #{orgCode}
  56. </if>
  57. <if test="schemeName != null">
  58. AND nvl(DROT.PRIMARY_NAME,'0') = #{schemeName}
  59. </if>
  60. </select>
  61. <select id="getColumnAllData" resultType="java.util.Map" parameterType="map">
  62. SELECT DTCR.COLUMN_NAME "key",
  63. DTCR.COLUMN_NAME "label"
  64. FROM DIL_TABLE_COLUMN_ROLE DTCR
  65. WHERE DTCR.TABLE_NAME = #{tableName}
  66. </select>
  67. <select id="getColumnAllScheme" resultType="java.util.LinkedHashMap" parameterType="map">
  68. SELECT distinct DROT.PRIMARY_NAME "schemeName",
  69. DROT.ENABLE_STATUS "enableStatus",
  70. DROT.USER_NAME "userName",
  71. DROT.ORG_CODE "orgCode",
  72. DTCR.TABLE_NAME "tableName"
  73. FROM DIL_ROLE_ORGCODE_TABLE DROT
  74. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DROT.COLUMN_ID = DTCR.PRIMARY_ID
  75. WHERE DROT.USER_NAME = #{userName}
  76. AND DROT.ORG_CODE = #{orgCode}
  77. AND DTCR.TABLE_NAME = #{tableName}
  78. AND NVL(DROT.PRIMARY_NAME, '') != '默认方案'
  79. </select>
  80. <select id="getWlUrl" resultType="java.lang.String">
  81. SELECT DL.VERSION_VALUE
  82. FROM DIL_VERSION DL
  83. WHERE DL.VERSION_ID = 11
  84. </select>
  85. <!-- 边输边查公司 -->
  86. <select id="getCompanyMesByLike" resultType="java.util.Map">
  87. select * from(
  88. select
  89. RC.SSO_ID "ssoId",
  90. RC.SSO_CODE "ssoCode",
  91. RC.COMPANY_ID "id",
  92. RC.COMPANY_ID "key",
  93. RC.COMPANY_ID "value",
  94. <if test="companyType==null">
  95. RC.COMPANY_TYPE || '-' ||
  96. </if>
  97. RC.COMPANY_NAME "label",
  98. RC.COMPANY_NAME "text",
  99. RC.COMPANY_NAME "companyName",
  100. T2 ."rootCompanyId",
  101. T2 ."rootCompanyName",
  102. 'label' "prop"
  103. from RMS_COMPANY RC
  104. LEFT JOIN (
  105. SELECT "companyId",MAX("level") "rootIndex" FROM
  106. (
  107. SELECT
  108. RC.COMPANY_ID "rootCompanyId",
  109. RC.COMPANY_NAME "rootCompanyName",
  110. LEVEL "level",
  111. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  112. FROM
  113. RMS_COMPANY RC
  114. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  115. )
  116. GROUP BY "companyId"
  117. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  118. LEFT JOIN
  119. (
  120. SELECT
  121. RC.COMPANY_ID "rootCompanyId",
  122. RC.COMPANY_NAME "rootCompanyName",
  123. LEVEL "level",
  124. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  125. FROM
  126. RMS_COMPANY RC
  127. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  128. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  129. <where>
  130. DELETED = 0
  131. <if test="companyType!=null and companyType!=''">
  132. AND RC.COMPANY_TYPE = #{companyType}
  133. </if>
  134. <if test="companyId!=null and companyId!=''">
  135. AND RC.COMPANY_ID = #{companyId}
  136. </if>
  137. <if test="businessCompanyId!=null and businessCompanyId!=''">
  138. AND RC.COMPANY_ID = #{businessCompanyId}
  139. </if>
  140. <if test="supplierCompanyId!=null and supplierCompanyId!=''">
  141. AND RC.COMPANY_ID = #{supplierCompanyId}
  142. </if>
  143. <if test="receiveCompanyId!=null and receiveCompanyId!=''">
  144. AND RC.COMPANY_ID = #{receiveCompanyId}
  145. </if>
  146. <if test="carrierId!=null and carrierId!=''">
  147. AND RC.COMPANY_ID = #{carrierId}
  148. </if>
  149. <if test="index!=null and index!=''">
  150. AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
  151. </if>
  152. <if test="isListed !=null and isListed!=''">
  153. AND RC.is_Listed IS NOT NULL
  154. </if>
  155. </where>
  156. <if test="noRow == null">
  157. order by LENGTH(company_name)
  158. FETCH NEXT 10 ROWS ONLY
  159. </if>
  160. )
  161. <where>
  162. <include refid="com.steerinfo.dil.mapper.CommonMapper.rootCompanyFilter"></include>
  163. </where>
  164. <if test="id!=null and id.size>0">
  165. UNION
  166. select
  167. RC.SSO_ID "ssoId",
  168. RC.SSO_CODE "ssoCode",
  169. RC.COMPANY_ID "id",
  170. RC.COMPANY_ID "key",
  171. RC.COMPANY_ID "value",
  172. <if test="companyType==null">
  173. RC.COMPANY_TYPE || '-' ||
  174. </if>
  175. RC.COMPANY_NAME "label",
  176. RC.COMPANY_NAME "text",
  177. RC.COMPANY_NAME "companyName",
  178. T2 ."rootCompanyId",
  179. T2 ."rootCompanyName",
  180. 'label' "prop"
  181. from RMS_COMPANY RC
  182. LEFT JOIN (
  183. SELECT "companyId",MAX("level") "rootIndex" FROM
  184. (
  185. SELECT
  186. RC.COMPANY_ID "rootCompanyId",
  187. RC.COMPANY_NAME "rootCompanyName",
  188. LEVEL "level",
  189. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  190. FROM
  191. RMS_COMPANY RC
  192. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  193. )
  194. GROUP BY "companyId"
  195. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  196. LEFT JOIN
  197. (
  198. SELECT
  199. RC.COMPANY_ID "rootCompanyId",
  200. RC.COMPANY_NAME "rootCompanyName",
  201. LEVEL "level",
  202. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  203. FROM
  204. RMS_COMPANY RC
  205. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  206. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  207. where RC.COMPANY_ID in
  208. <foreach collection="id" item="item" open="(" close=")" separator="," >
  209. #{item}
  210. </foreach>
  211. </if>
  212. </select>
  213. <select id="getMaterialTypeByLike" resultType="java.util.Map">
  214. select * from(
  215. select * from(
  216. select
  217. MATERIAL_TYPE_ID "operationsNameId",
  218. MATERIAL_TYPE_NAME "operationsName",
  219. MATERIAL_TYPE_ID "id",
  220. MATERIAL_TYPE_ID "value",
  221. MATERIAL_TYPE_NAME "label",
  222. MATERIAL_TYPE_NAME "text",
  223. REMARK "remark",
  224. 'operationsName' "prop"
  225. from RMS_MATERIAL_TYPE
  226. where DELETED = 0
  227. )
  228. <where>
  229. <if test="index!=null and index!=''">
  230. AND REGEXP_LIKE("label", #{index})
  231. </if>
  232. <if test="remark!=null and remark!=''">
  233. AND REGEXP_LIKE("remark", #{remark})
  234. </if>
  235. </where>
  236. FETCH NEXT 10 ROWS ONLY
  237. )
  238. <if test="id!=null and id.size>0">
  239. UNION
  240. select
  241. MATERIAL_TYPE_ID "operationsNameId",
  242. MATERIAL_TYPE_NAME "operationsName",
  243. MATERIAL_TYPE_ID "id",
  244. MATERIAL_TYPE_ID "value",
  245. MATERIAL_TYPE_NAME "label",
  246. MATERIAL_TYPE_NAME "text",
  247. REMARK "remark",
  248. 'operationsName' "prop"
  249. from RMS_MATERIAL_TYPE
  250. where MATERIAL_TYPE_ID in
  251. <foreach collection="id" item="item" open="(" close=")" separator="," >
  252. #{item}
  253. </foreach>
  254. </if>
  255. </select>
  256. <select id="getEmissionStandardByLike" resultType="java.util.Map">
  257. select * from (
  258. select
  259. EMISSION_STANDARD_ID "emissionStandardId",
  260. EMISSION_STANDARD_NAME "emissionStandardName",
  261. EMISSION_STANDARD_ID "id",
  262. EMISSION_STANDARD_ID "value",
  263. EMISSION_STANDARD_NAME "label",
  264. EMISSION_STANDARD_NAME "text"
  265. from RMS_EMISSION_STANDARD
  266. where DELETED = 0
  267. )
  268. <where>
  269. <if test="index!=null and index!=''">
  270. AND REGEXP_LIKE("label", #{index})
  271. </if>
  272. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  273. AND "id" in
  274. <foreach collection="id" item="item" open="(" close=")" separator="," >
  275. #{item}
  276. </foreach>
  277. </if>
  278. </where>
  279. FETCH NEXT 10 ROWS ONLY
  280. </select>
  281. <select id="getOperationPointByLike" resultType="java.util.Map">
  282. SELECT * FROM (
  283. select
  284. OPERATION_POINT_ID "id",
  285. OPERATION_POINT_ID "value",
  286. OPERATION_POINT_NAME "label",
  287. OPERATION_POINT_NAME "text"
  288. from RMS_OPERATION_POINT
  289. <where>
  290. DELETED = 0
  291. <if test="operationPointType!=null and operationPointType!=''">
  292. AND REGEXP_LIKE(OPERATION_POINT_TYPE, #{operationPointType})
  293. </if>
  294. <if test="receivingPointId!=null and receivingPointId!=''">
  295. AND OPERATION_POINT_ID = #{receivingPointId}
  296. </if>
  297. <if test="shippingPointId!=null and shippingPointId!=''">
  298. AND OPERATION_POINT_ID = #{shippingPointId}
  299. </if>
  300. <if test="index!=null and index!=''">
  301. AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
  302. </if>
  303. <if test="sourceFlag != null and sourceFlag !=''">
  304. AND ALTERNATE_FIELDS1 = #{sourceFlag}
  305. </if>
  306. </where>
  307. FETCH NEXT 10 ROWS ONLY
  308. )
  309. <if test="id!=null and id.size>0">
  310. UNION select
  311. OPERATION_POINT_ID "id",
  312. OPERATION_POINT_ID "value",
  313. OPERATION_POINT_NAME "label",
  314. OPERATION_POINT_NAME "text"
  315. from RMS_OPERATION_POINT
  316. where OPERATION_POINT_ID in
  317. <foreach collection="id" item="item" open="(" close=")" separator="," >
  318. #{item}
  319. </foreach>
  320. </if>
  321. </select>
  322. <select id="getPersonnelByLike" resultType="java.util.Map">
  323. select * from (
  324. select * from (
  325. select * from (
  326. select
  327. PERSONNEL_ID "personnelId",
  328. PERSONNEL_NAME "personnelName",
  329. PERSONNEL_POST "personnelPost",
  330. PERSONNEL_PHONE "personnelPhone",
  331. INNNER_CODE "innerCode",
  332. to_char(SSO_ID) "ssoId",
  333. PERSONNEL_ID "id",
  334. PERSONNEL_ID "value",
  335. PERSONNEL_NAME "label",
  336. PERSONNEL_NAME "text",
  337. 'personnelName' "prop"
  338. <if test="capacityId!=null and capacityId!=''">
  339. ,NVL(T ."countNumber",0) "countNumber"
  340. </if>
  341. FROM
  342. RMS_PERSONNEL RP
  343. <if test="capacityId!=null and capacityId!=''">
  344. LEFT JOIN (
  345. SELECT DRIVER_ID "driverId",
  346. COUNT(DRIVER_ID) "countNumber"
  347. FROM OMS_TRANS_ORDER
  348. WHERE CAPACITY_ID = #{capacityId}
  349. GROUP BY DRIVER_ID
  350. ) T ON T."driverId" = RP .PERSONNEL_ID
  351. </if>
  352. WHERE DELETED = 0
  353. <if test="isNC!=null">
  354. AND SOURCE_ID IS NOT NULL
  355. </if>
  356. )
  357. <where>
  358. <if test="personnelPost!=null and personnelPost!=''">
  359. AND "personnelPost" = #{personnelPost}
  360. </if>
  361. <if test="personnelId!=null and personnelId!=''">
  362. AND "personnelId" = #{personnelId})
  363. </if>
  364. <if test="driverId!=null and driverId!=''">
  365. AND "personnelId" = #{driverId})
  366. </if>
  367. <if test="driverId2!=null and driverId2!=''">
  368. AND "personnelId" = #{driverId2})
  369. </if>
  370. <if test="index!=null and index!=''">
  371. AND REGEXP_LIKE("label", #{index})
  372. </if>
  373. </where>
  374. <if test="capacityId!=null and capacityId!=''">
  375. ORDER BY "countNumber" DESC
  376. </if>
  377. FETCH NEXT 10 ROWS ONLY
  378. )
  379. <if test="id!=null and id.size>0">
  380. UNION
  381. select
  382. PERSONNEL_ID "personnelId",
  383. PERSONNEL_NAME "personnelName",
  384. PERSONNEL_POST "personnelPost",
  385. PERSONNEL_PHONE "personnelPhone",
  386. INNNER_CODE "innerCode",
  387. to_char(SSO_ID) "ssoId",
  388. PERSONNEL_ID "id",
  389. PERSONNEL_ID "value",
  390. PERSONNEL_NAME "label",
  391. PERSONNEL_NAME "text",
  392. 'personnelName' "prop"
  393. <if test="capacityId!=null and capacityId!=''">
  394. ,NVL(T ."countNumber",0) "countNumber"
  395. </if>
  396. from RMS_PERSONNEL RP
  397. <if test="capacityId!=null and capacityId!=''">
  398. LEFT JOIN (
  399. SELECT DRIVER_ID "driverId",
  400. COUNT(DRIVER_ID) "countNumber"
  401. FROM OMS_TRANS_ORDER
  402. WHERE CAPACITY_ID = #{capacityId}
  403. GROUP BY DRIVER_ID
  404. ) T ON T."driverId" = RP .PERSONNEL_ID
  405. </if>
  406. WHERE PERSONNEL_ID in
  407. <foreach collection="id" item="item" open="(" close=")" separator="," >
  408. #{item}
  409. </foreach>
  410. </if>
  411. )
  412. <if test="capacityId!=null and capacityId!=''">
  413. ORDER BY "countNumber" DESC
  414. </if>
  415. </select>
  416. <select id="getCapacityByLike" resultType="java.util.Map">
  417. select * from (
  418. select * from (
  419. SELECT DISTINCT
  420. RCA .CAPACITY_ID "capacityId",
  421. RCA .CAPACITY_ID "id",
  422. RCA .CAPACITY_ID "value",
  423. CASE WHEN RCA.REMARK1 is null
  424. then RCA.CAPACITY_NUMBER
  425. else RCA.REMARK1
  426. end "label",
  427. CASE WHEN RCA.REMARK1 is null
  428. then RCA.CAPACITY_NUMBER
  429. else RCA.REMARK1
  430. end "text",
  431. CASE WHEN RCA.REMARK1 is null
  432. then RCA.CAPACITY_NUMBER
  433. else RCA.REMARK1
  434. end "remark1",
  435. CASE WHEN RCA.REMARK1 is null
  436. then RCA.CAPACITY_NUMBER
  437. else RCA.REMARK1
  438. end "capacityNumber",
  439. (case
  440. when oto.capacity_id is null then '空闲'
  441. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  442. end) "status",
  443. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  444. 'capacityNumber' "prop"
  445. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  446. ,NVL(T ."countNumber",0) "countNumber"
  447. </if>
  448. FROM
  449. RMS_CAPACITY RCA
  450. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  451. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  452. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  453. left join oms_trans_order oto
  454. on RCA.capacity_id = oto.capacity_id
  455. and oto.deleted != 2
  456. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  457. LEFT JOIN (
  458. SELECT CAPACITY_ID "capacityId",
  459. COUNT( CAPACITY_ID ) "countNumber"
  460. FROM OMS_TRANS_ORDER
  461. <where>
  462. <if test="driverId!=null and driverId!=''">
  463. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  464. </if>
  465. <if test="driverId2!=null and driverId2!=''">
  466. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  467. </if>
  468. </where>
  469. GROUP BY CAPACITY_ID
  470. ) T ON T."capacityId" = RCA .CAPACITY_ID
  471. </if>
  472. WHERE RCA .DELETED = 0
  473. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  474. AND RC.SSO_CODE = #{orgCode}
  475. </if>
  476. <if test="capacityType != null and capacityType != '' ">
  477. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  478. </if>
  479. <if test="capacityType == null">
  480. AND RCT.CAPACITY_TYPE_NAME != '火车'
  481. </if>
  482. <if test="index!=null and index!=''">
  483. AND REGEXP_LIKE(
  484. CASE WHEN RCA.REMARK1 is null
  485. then RCA.CAPACITY_NUMBER
  486. else RCA.REMARK1
  487. end, #{index}
  488. )
  489. </if>
  490. <if test="capacityId!=null and capacityId!=''">
  491. AND RCA .CAPACITY_ID = #{capacityId}
  492. </if>
  493. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  494. ORDER BY "countNumber" DESC
  495. </if>
  496. FETCH NEXT 10 ROWS ONLY
  497. )
  498. <if test="id!=null and id.size>0">
  499. UNION
  500. SELECT DISTINCT
  501. RCA .CAPACITY_ID "capacityId",
  502. RCA .CAPACITY_ID "id",
  503. RCA .CAPACITY_ID "value",
  504. CASE WHEN RCA.REMARK1 is null
  505. then RCA.CAPACITY_NUMBER
  506. else RCA.REMARK1
  507. end "label",
  508. CASE WHEN RCA.REMARK1 is null
  509. then RCA.CAPACITY_NUMBER
  510. else RCA.REMARK1
  511. end "text",
  512. CASE WHEN RCA.REMARK1 is null
  513. then RCA.CAPACITY_NUMBER
  514. else RCA.REMARK1
  515. end "remark1",
  516. RCA.CAPACITY_NUMBER "capacityNumber",
  517. (case
  518. when oto.capacity_id is null then '空闲'
  519. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  520. end) "status",
  521. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  522. 'capacityNumber' "prop"
  523. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  524. ,NVL(T ."countNumber",0) "countNumber"
  525. </if>
  526. FROM RMS_CAPACITY RCA
  527. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  528. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  529. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  530. left join oms_trans_order oto
  531. on RCA.capacity_id = oto.capacity_id
  532. and oto.deleted != 2
  533. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  534. LEFT JOIN (
  535. SELECT CAPACITY_ID "capacityId",
  536. COUNT( CAPACITY_ID ) "countNumber"
  537. FROM OMS_TRANS_ORDER
  538. <where>
  539. <if test="driverId!=null and driverId!=''">
  540. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  541. </if>
  542. <if test="driverId2!=null and driverId2!=''">
  543. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  544. </if>
  545. </where>
  546. GROUP BY CAPACITY_ID
  547. ) T ON T."capacityId" = RCA .CAPACITY_ID
  548. </if>
  549. WHERE RCA .CAPACITY_ID in
  550. <foreach collection="id" item="item" open="(" close=")" separator="," >
  551. #{item}
  552. </foreach>
  553. </if>
  554. )
  555. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  556. ORDER BY "countNumber" DESC
  557. </if>
  558. </select>
  559. <select id="getCapacityByLikeSc" resultType="java.util.Map">
  560. select * from (
  561. select * from (
  562. SELECT DISTINCT
  563. RCA .CAPACITY_ID "capacityId",
  564. RCA .CAPACITY_ID "id",
  565. RCA .CAPACITY_ID "value",
  566. RCA .CAPACITY_NUMBER "label",
  567. RCA .CAPACITY_NUMBER "text",
  568. RCA .REMARK1 "remark1",
  569. RCA.CAPACITY_NUMBER "capacityNumber",
  570. (case
  571. when oto.capacity_id is null then '空闲'
  572. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  573. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  574. end) "status",
  575. 'capacityNumber' "prop"
  576. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  577. ,NVL(T ."countNumber",0) "countNumber"
  578. </if>
  579. FROM
  580. RMS_CAPACITY RCA
  581. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  582. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  583. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  584. left join oms_trans_order oto
  585. on RCA.capacity_id = oto.capacity_id
  586. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  587. LEFT JOIN (
  588. SELECT CAPACITY_ID "capacityId",
  589. COUNT( CAPACITY_ID ) "countNumber"
  590. FROM OMS_TRANS_ORDER
  591. <where>
  592. <if test="driverId!=null and driverId!=''">
  593. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  594. </if>
  595. <if test="driverId2!=null and driverId2!=''">
  596. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  597. </if>
  598. </where>
  599. GROUP BY CAPACITY_ID
  600. ) T ON T."capacityId" = RCA .CAPACITY_ID
  601. </if>
  602. WHERE RCA .DELETED = 0
  603. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  604. AND RC.SSO_CODE = #{orgCode}
  605. </if>
  606. <if test="capacityType != null and capacityType != '' ">
  607. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  608. </if>
  609. <if test="capacityType == null">
  610. AND RCT.CAPACITY_TYPE_NAME != '火车'
  611. </if>
  612. <if test="index!=null and index!=''">
  613. AND REGEXP_LIKE(
  614. CASE WHEN RCA.REMARK1 is null
  615. then RCA .CAPACITY_NUMBER
  616. else RCA.REMARK1
  617. end, #{index}
  618. )
  619. </if>
  620. <if test="capacityId!=null and capacityId!=''">
  621. AND RCA .CAPACITY_ID = #{capacityId}
  622. </if>
  623. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  624. ORDER BY "countNumber" DESC
  625. </if>
  626. FETCH NEXT 10 ROWS ONLY
  627. )
  628. <if test="id!=null and id.size>0">
  629. UNION
  630. SELECT DISTINCT
  631. RCA .CAPACITY_ID "capacityId",
  632. RCA .CAPACITY_ID "id",
  633. RCA .CAPACITY_ID "value",
  634. RCA .REMARK1 "label",
  635. RCA .REMARK1 "text",
  636. RCA .REMARK1 "remark1",
  637. RCA.CAPACITY_NUMBER "capacityNumber",
  638. (case
  639. when oto.capacity_id is null then '空闲'
  640. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  641. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  642. end) "status",
  643. 'capacityNumber' "prop"
  644. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  645. ,NVL(T ."countNumber",0) "countNumber"
  646. </if>
  647. FROM RMS_CAPACITY RCA
  648. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  649. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  650. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  651. left join oms_trans_order oto
  652. on RCA.capacity_id = oto.capacity_id
  653. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  654. LEFT JOIN (
  655. SELECT CAPACITY_ID "capacityId",
  656. COUNT( CAPACITY_ID ) "countNumber"
  657. FROM OMS_TRANS_ORDER
  658. <where>
  659. <if test="driverId!=null and driverId!=''">
  660. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  661. </if>
  662. <if test="driverId2!=null and driverId2!=''">
  663. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  664. </if>
  665. </where>
  666. GROUP BY CAPACITY_ID
  667. ) T ON T."capacityId" = RCA .CAPACITY_ID
  668. </if>
  669. WHERE RCA .CAPACITY_ID in
  670. <foreach collection="id" item="item" open="(" close=")" separator="," >
  671. #{item}
  672. </foreach>
  673. </if>
  674. )
  675. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  676. ORDER BY "countNumber" DESC
  677. </if>
  678. </select>
  679. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  680. select * from(
  681. select
  682. RC.JOB_ID "jboId",
  683. RC.JOB_NAME "jobName",
  684. RC.JOB_ID "id",
  685. RC.JOB_ID "value",
  686. RC.JOB_NAME "label",
  687. RC.JOB_NAME "text"
  688. from RMS_JOB_INFO RC
  689. where DELETED = 0
  690. )
  691. <where>
  692. <if test="index!=null and index!=''">
  693. AND REGEXP_LIKE("label", #{index})
  694. </if>
  695. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  696. AND "id" in
  697. <foreach collection="id" item="item" open="(" close=")" separator="," >
  698. #{item}
  699. </foreach>
  700. </if>
  701. </where>
  702. FETCH NEXT 10 ROWS ONLY
  703. </select>
  704. <select id="getTransRangeByLike" resultType="java.util.Map">
  705. select * from(
  706. select
  707. RC.TRANS_RANGE_ID "transrangeId",
  708. RC.TRANS_RANGE_NAME "transrangeName",
  709. RC.TRANS_RANGE_ID "operationRangeId",
  710. RC.TRANS_RANGE_NAME "operationRangeName",
  711. RC.TRANS_RANGE_ID "id",
  712. RC.TRANS_RANGE_ID "value",
  713. RC.TRANS_RANGE_NAME "label",
  714. RC.TRANS_RANGE_NAME "text",
  715. rc.START_POINT_ID "shippingPointId",
  716. rc.END_POINT_ID "receivingPointId",
  717. rc.LINE_ID "lineId",
  718. 'operationRangeName' "prop"
  719. from RMS_TRANS_RANGE RC
  720. where DELETED = 0
  721. )
  722. <where>
  723. <if test="index!=null and index!=''">
  724. <bind name="indexBind" value="'%' + index + '%'"/>
  725. AND "label" like #{indexBind}
  726. </if>
  727. <if test="transrangeId!=null and transrangeId!=''">
  728. AND "transrangeId" = #{transrangeId}
  729. </if>
  730. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  731. AND "id" in
  732. <foreach collection="id" item="item" open="(" close=")" separator="," >
  733. #{item}
  734. </foreach>
  735. </if>
  736. </where>
  737. FETCH NEXT 10 ROWS ONLY
  738. </select>
  739. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  740. select * from(
  741. select
  742. RC.RULES_ID "rulesId",
  743. RC.RULES_CODE "rulesCode",
  744. RC.RULES_ID "id",
  745. RC.RULES_ID "value",
  746. RC.RULES_CODE "label",
  747. RC.RULES_CODE "text"
  748. from RMS_DEMAND_RULES RC
  749. where DELETED = 0
  750. )
  751. <where>
  752. <if test="index!=null and index!=''">
  753. AND REGEXP_LIKE("label", #{index})
  754. </if>
  755. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  756. AND "id" in
  757. <foreach collection="id" item="item" open="(" close=")" separator="," >
  758. #{item}
  759. </foreach>
  760. </if>
  761. </where>
  762. FETCH NEXT 10 ROWS ONLY
  763. </select>
  764. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  765. select * from(
  766. select
  767. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  768. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  769. RCT.CAPACITY_TYPE_ID "id",
  770. RCT.CAPACITY_TYPE_ID "value",
  771. RCT.CAPACITY_TYPE_NAME "label",
  772. RCT.CAPACITY_TYPE_NAME "text",
  773. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  774. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  775. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  776. 'capacityTypeName' "prop"
  777. from RMS_CAPACITY_TYPE RCT
  778. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  779. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  780. <where>
  781. RCT.DELETED=0
  782. <if test="index!=null and index!=''">
  783. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  784. </if>
  785. <if test="capacityTypeId!=null and capacityTypeId!=''">
  786. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  787. </if>
  788. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  789. and
  790. RCT.CAPACITY_TYPE_NAME in
  791. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  792. #{item}
  793. </foreach>
  794. </if>
  795. </where>
  796. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  797. FETCH NEXT 10 ROWS ONLY
  798. )
  799. <if test="id!=null and id.size>0">
  800. UNION
  801. select
  802. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  803. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  804. RCT.CAPACITY_TYPE_ID "id",
  805. RCT.CAPACITY_TYPE_ID "value",
  806. RCT.CAPACITY_TYPE_NAME "label",
  807. RCT.CAPACITY_TYPE_NAME "text",
  808. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  809. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  810. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  811. 'capacityTypeName' "prop"
  812. from RMS_CAPACITY_TYPE RCT
  813. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  814. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  815. WHERE RCT.CAPACITY_TYPE_ID in
  816. <foreach collection="id" item="item" open="(" close=")" separator="," >
  817. #{item}
  818. </foreach>
  819. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  820. and
  821. RCT.CAPACITY_TYPE_NAME in
  822. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  823. #{item}
  824. </foreach>
  825. </if>
  826. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  827. </if>
  828. </select>
  829. <select id="getLineByLike" resultType="java.util.Map">
  830. select * from(
  831. select * from(
  832. select
  833. RL.LINE_ID "lineId",
  834. RL.LINE_NAME "lineName",
  835. RL.LINE_ID "id",
  836. RL.LINE_ID "value",
  837. RL.LINE_NAME "label",
  838. RL.LINE_NAME "text",
  839. NVL(RL_TEMP."points",'无') "points",
  840. RL.LINE_TYPE "lineType",
  841. 'lineName' "prop"
  842. from RMS_LINE RL
  843. LEFT JOIN
  844. (
  845. SELECT
  846. RLS .LINE_ID "lineId",
  847. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  848. FROM
  849. RMS_LINE_STEP RLS
  850. LEFT JOIN RMS_STEP_POINT RSP
  851. ON RLS .STEP_ID = RSP .STEP_ID
  852. LEFT JOIN RMS_OPERATION_POINT ROP
  853. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  854. GROUP BY RLS .LINE_ID
  855. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  856. where DELETED = 0
  857. )
  858. <where>
  859. <if test="index!=null and index!=''">
  860. AND REGEXP_LIKE("label" || "points", #{index})
  861. </if>
  862. <if test="lineId!=null and lineId!=''">
  863. AND "lineId" = #{lineId}
  864. </if>
  865. <if test="lineType!=null and lineType!=''">
  866. AND REGEXP_LIKE("lineType" , #{lineType})
  867. </if>
  868. </where>
  869. FETCH NEXT 10 ROWS ONLY
  870. )
  871. <if test="id!=null and id.size>0">
  872. UNION
  873. select
  874. RL.LINE_ID "lineId",
  875. RL.LINE_NAME "lineName",
  876. RL.LINE_ID "id",
  877. RL.LINE_ID "value",
  878. RL.LINE_NAME "label",
  879. RL.LINE_NAME "text",
  880. NVL(RL_TEMP."points",'无') "points",
  881. RL.LINE_TYPE "lineType",
  882. 'lineName' "prop"
  883. from RMS_LINE RL
  884. LEFT JOIN
  885. (
  886. SELECT
  887. RLS .LINE_ID "lineId",
  888. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  889. FROM
  890. RMS_LINE_STEP RLS
  891. LEFT JOIN RMS_STEP_POINT RSP
  892. ON RLS .STEP_ID = RSP .STEP_ID
  893. LEFT JOIN RMS_OPERATION_POINT ROP
  894. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  895. GROUP BY RLS .LINE_ID
  896. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  897. where RL.LINE_ID in
  898. <foreach collection="id" item="item" open="(" close=")" separator="," >
  899. #{item}
  900. </foreach>
  901. </if>
  902. </select>
  903. <select id="getMaterialByLike" resultType="java.util.Map">
  904. select * from(
  905. select
  906. RC.MATERIAL_ID "materialId",
  907. RC.MATERIAL_NAME "label",
  908. RC.MATERIAL_ID "id",
  909. RC.MATERIAL_ID "value",
  910. RC.MATERIAL_CODE ||
  911. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  912. THEN '-' || RC.MATERIAL_SPECIFICATION
  913. WHEN RC.MATERIAL_MODEL IS NOT NULL
  914. THEN '-' || RC.MATERIAL_MODEL
  915. ELSE ''
  916. END)|| '-' || RC.MATERIAL_NAME "materialName",
  917. RC.MATERIAL_NAME "text",
  918. 'materialName' "prop"
  919. from RMS_MATERIAL RC
  920. <where>
  921. DELETED = 0
  922. <if test="index!=null and index!=''">
  923. AND instr(RC.MATERIAL_CODE || (CASE
  924. WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL THEN
  925. '-' || RC.MATERIAL_SPECIFICATION
  926. WHEN RC.MATERIAL_MODEL IS NOT NULL THEN
  927. '-' || RC.MATERIAL_MODEL
  928. ELSE
  929. ''
  930. END) || '-' || RC.MATERIAL_NAME, #{index})>0
  931. </if>
  932. <if test="materialId!=null and materialId!=''">
  933. AND RC.MATERIAL_ID = #{materialId}
  934. </if>
  935. </where>
  936. FETCH NEXT 10 ROWS ONLY
  937. )
  938. <if test="id!=null and id.size>0">
  939. UNION
  940. select
  941. RC.MATERIAL_ID "materialId",
  942. RC.MATERIAL_NAME "label",
  943. RC.MATERIAL_ID "id",
  944. RC.MATERIAL_ID "value",
  945. RC.MATERIAL_NAME ||
  946. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  947. THEN '-' || RC.MATERIAL_SPECIFICATION
  948. WHEN RC.MATERIAL_MODEL IS NOT NULL
  949. THEN '-' || RC.MATERIAL_MODEL
  950. ELSE ''
  951. END) || '-' || RC.MATERIAL_CODE "materialName",
  952. RC.MATERIAL_NAME "text",
  953. 'materialName' "prop"
  954. from RMS_MATERIAL RC
  955. WHERE RC.MATERIAL_ID in
  956. <foreach collection="id" item="item" open="(" close=")" separator="," >
  957. #{item}
  958. </foreach>
  959. </if>
  960. </select>
  961. <select id="countTrainLoad" resultType="java.lang.Integer">
  962. SELECT COUNT(*)
  963. FROM TMS_LOAD_RESULT TLR
  964. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  965. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  966. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  967. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  968. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  969. <where>
  970. OTO.DELETED != 1
  971. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  972. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  973. AND OTO.CAPACITY_ID IN
  974. <foreach collection="list" item="item" open="(" close=")" separator="," >
  975. #{item.车号}
  976. </foreach>
  977. </where>
  978. </select>
  979. <select id="getBusinessTypeLike" resultType="java.util.Map">
  980. select * from(
  981. select * from(
  982. select
  983. DBT.BUSINESS_TYPE_ID "businessTypeId",
  984. DBT.BUSINESS_TYPE_ID "id",
  985. DBT.BUSINESS_TYPE_ID "value",
  986. DBT.BUSINESS_TYPE_NAME "text",
  987. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  988. DBT.BUSINESS_SCENE "businessScene",
  989. DBT.BUSINESS_TYPE_NAME "label",
  990. DBT.ALTERNATE_FIELDS1 "transportType",
  991. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  992. from DIL_BUSINESS_TYPE DBT
  993. )
  994. <where>
  995. <if test="index!=null and index!=''">
  996. AND REGEXP_LIKE("label", #{index})
  997. </if>
  998. <if test="businessType!=null and businessType!=''">
  999. AND "businessTypeId" = #{businessType}
  1000. </if>
  1001. <if test="businessScene!=null and businessScene!=''">
  1002. AND "businessScene" = #{businessScene}
  1003. </if>
  1004. <if test="transportType!=null and transportType!=''">
  1005. AND REGEXP_LIKE("transportType", #{transportType})
  1006. </if>
  1007. <if test="materialTypeName!=null and materialTypeName!=''">
  1008. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  1009. </if>
  1010. </where>
  1011. FETCH NEXT 10 ROWS ONLY
  1012. )
  1013. <if test="id!=null and id.size > 0">
  1014. UNION
  1015. select
  1016. DBT.BUSINESS_TYPE_ID "businessTypeId",
  1017. DBT.BUSINESS_TYPE_ID "id",
  1018. DBT.BUSINESS_TYPE_ID "value",
  1019. DBT.BUSINESS_TYPE_NAME "text",
  1020. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  1021. DBT.BUSINESS_SCENE "businessScene",
  1022. DBT.BUSINESS_TYPE_NAME "label",
  1023. DBT.ALTERNATE_FIELDS1 "transportType",
  1024. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  1025. from DIL_BUSINESS_TYPE DBT
  1026. WHERE DBT.BUSINESS_TYPE_ID in
  1027. <foreach collection="id" item="item" open="(" close=")" separator=",">
  1028. #{item}
  1029. </foreach>
  1030. </if>
  1031. </select>
  1032. <select id="findTrainWeight" resultType="java.util.Map">
  1033. <foreach collection="list" item="item" separator=" UNION " >
  1034. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1035. OOC .ORDER_CHILD_ID "transOrderChildId",
  1036. APC .TRANS_PLAN_ID "transPlanId",
  1037. APC .MATERIAL_ID "materialId",
  1038. TWR .RESULT_ID "resultId",
  1039. TUR .RESULT_ID "unloadResultId",
  1040. #{item.车号} "capacityId",
  1041. #{item.净重} "netWeight",
  1042. #{item.皮重} "tareWeight",
  1043. #{item.毛重} "grossWeight"
  1044. FROM OMS_TRANS_ORDER OTO
  1045. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1046. LEFT JOIN TMS_WEIGHT_RESULT TWR
  1047. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  1048. LEFT JOIN TMS_UNLOAD_RESULT TUR ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1049. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1050. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1051. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1052. <where>
  1053. OTO.DELETED != 1
  1054. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1055. AND OTO.CAPACITY_ID = #{item.车号}
  1056. </where>
  1057. </foreach>
  1058. </select>
  1059. <select id="findTrainUnload" resultType="java.util.Map">
  1060. <foreach collection="list" item="item" separator=" UNION " >
  1061. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1062. OOC .ORDER_CHILD_ID "transOrderChildId",
  1063. TUR .RESULT_ID "resultId",
  1064. TUR .ACTUAL_TONNAGE "unloadWeightOld",
  1065. ATR .SERIAL_NUMBER "requirementSerialNumber",
  1066. APC .TRANS_PLAN_ID "transPlanId",
  1067. ARC .RECEIVING_POINT_ID "unloadPointId",
  1068. APC .MATERIAL_ID "materialId",
  1069. #{item.车号} "capacityId",
  1070. #{item.净重} "unloadWeight"
  1071. FROM OMS_TRANS_ORDER OTO
  1072. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1073. LEFT JOIN TMS_UNLOAD_RESULT TUR
  1074. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  1075. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1076. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1077. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1078. <where>
  1079. OTO.DELETED != 1
  1080. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1081. AND OTO.CAPACITY_ID = #{item.车号}
  1082. </where>
  1083. </foreach>
  1084. </select>
  1085. <select id="getOrderIds" resultType="java.util.Map">
  1086. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  1087. left join RMS_PERSONNEL RP
  1088. on rp.PERSONNEL_ID = oto.DRIVER_ID
  1089. left join RMS_PERSONNEL RP2
  1090. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  1091. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1092. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  1093. and oto.deleted = 5
  1094. </select>
  1095. <select id="getFuelTypeByLike" resultType="java.util.Map">
  1096. select * from(
  1097. SELECT
  1098. FUEL_TYPE_ID "fuelTypeId",
  1099. FUEL_TYPE_NAME "fuelTypeName",
  1100. FUEL_TYPE_ID "id",
  1101. FUEL_TYPE_ID "value",
  1102. FUEL_TYPE_NAME "text",
  1103. FUEL_TYPE_NAME "label"
  1104. FROM RMS_FUEL_TYPE
  1105. <where>
  1106. DELETED = 0
  1107. <if test="index!=null and index!=''">
  1108. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  1109. </if>
  1110. </where>
  1111. FETCH NEXT 10 ROWS ONLY
  1112. )
  1113. <if test="id!=null and id.size > 0">
  1114. UNION
  1115. SELECT
  1116. FUEL_TYPE_ID "fuelTypeId",
  1117. FUEL_TYPE_NAME "fuelTypeName",
  1118. FUEL_TYPE_ID "id",
  1119. FUEL_TYPE_ID "value",
  1120. FUEL_TYPE_NAME "text",
  1121. FUEL_TYPE_NAME "label"
  1122. FROM RMS_FUEL_TYPE
  1123. WHERE FUEL_TYPE_ID in
  1124. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1125. #{item}
  1126. </foreach>
  1127. </if>
  1128. </select>
  1129. <select id="getDemandRulesCode" resultType="java.util.Map">
  1130. SELECT * FROM (
  1131. SELECT RDB.BILLING_TYPE "billingType",
  1132. RDB.BUSINESS_TYPE "businessType",
  1133. rdb.LINE_ID "lineId",
  1134. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  1135. RDB.MATERIAL_TYPE_ID "operationsNameId",
  1136. RDB.TRANS_RANGE_ID "operationRange",
  1137. rdb.COMPANY_ID "businessCompanyId",
  1138. RDB.RULES_ID "value",
  1139. RDB.RULES_CODE "label",
  1140. ROP.OPERATION_POINT_ID "shippingPointId",
  1141. ROP2.OPERATION_POINT_ID "receivingPointId"
  1142. FROM RMS_DEMAND_RULES RDB
  1143. LEFT JOIN RMS_TRANS_RANGE RTR
  1144. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  1145. LEFT JOIN RMS_OPERATION_POINT ROP
  1146. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  1147. LEFT JOIN RMS_OPERATION_POINT ROP2
  1148. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  1149. )
  1150. <where>
  1151. <if test="index!=null and index!=''">
  1152. AND REGEXP_LIKE("label", #{index})
  1153. </if>
  1154. <if test="businessCompanyId!=null and businessCompanyId!=''">
  1155. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  1156. </if>
  1157. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  1158. </where>
  1159. </select>
  1160. <select id="getIdCardCode" resultType="java.lang.String">
  1161. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  1162. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1163. FETCH NEXT 1 ROWS ONLY
  1164. </select>
  1165. <select id="getMaterial" parameterType="java.util.Map" resultType="java.util.Map">
  1166. select t.prod_code_pk as "prodCodePk",
  1167. b.material_id as "materialId",
  1168. b.material_code as "prodCode",
  1169. b.material_name as "prodName",
  1170. b.material_model as "steelName",
  1171. t.create_emp as "createEmp",
  1172. t.create_time as "createTime",
  1173. b.material_specification as "specName",
  1174. CASE WHEN
  1175. REGEXP_LIKE(nvl(substr(b.material_specification,
  1176. decode(instr(b.material_specification, '/'),
  1177. 0,
  1178. 100,
  1179. instr(b.material_specification, '/')) + 1),
  1180. 12),'^\d+$') THEN
  1181. nvl(substr(b.material_specification,
  1182. decode(instr(b.material_specification, '/'),
  1183. 0,
  1184. 100,
  1185. instr(b.material_specification, '/')) + 1),
  1186. 12)
  1187. ELSE
  1188. '0'
  1189. END
  1190. * b.material_theoretical_weight / 1000 as "weight"
  1191. from rms_material b
  1192. left join rms_material_map t
  1193. on t.prod_code_l = b.material_code
  1194. <where>
  1195. <if test="prodCode != null and prodCode != ''">
  1196. and t.prod_code = #{prodCode}
  1197. </if>
  1198. </where>
  1199. union all
  1200. select '' as "prodCodePk",
  1201. b.material_id as "materialId",
  1202. b.material_code as "prodCode",
  1203. b.material_name as "prodName",
  1204. b.material_model as "steelName",
  1205. '' as "createEmp",
  1206. sysdate as "createTime",
  1207. b.material_specification as "specName",
  1208. CASE WHEN
  1209. REGEXP_LIKE(nvl(substr(b.material_specification,
  1210. decode(instr(b.material_specification, '/'),
  1211. 0,
  1212. 100,
  1213. instr(b.material_specification, '/')) + 1),
  1214. 12),'^\d+$') THEN
  1215. nvl(substr(b.material_specification,
  1216. decode(instr(b.material_specification, '/'),
  1217. 0,
  1218. 100,
  1219. instr(b.material_specification, '/')) + 1),
  1220. 12)
  1221. ELSE
  1222. '0'
  1223. END * b.material_theoretical_weight / 1000 as "weight"
  1224. from rms_material b
  1225. <where>
  1226. <if test="prodCode != null and prodCode != ''">
  1227. and b.material_code = #{prodCode}
  1228. </if>
  1229. <if test="materialId != null and materialId != ''">
  1230. and b.material_id = #{materialId}
  1231. </if>
  1232. </where>
  1233. </select>
  1234. <select id="countTransOrder" resultType="java.lang.Integer">
  1235. SELECT COUNT(OTO .TRANS_ORDER_ID)
  1236. FROM OMS_TRANS_ORDER OTO
  1237. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1238. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1239. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1240. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1241. <where>
  1242. OTO.DELETED != 1
  1243. AND APC.TRANS_PLAN_ID =#{transPlanId}
  1244. </where>
  1245. </select>
  1246. <select id="getcountCar" resultType = "java.util.Map">
  1247. SELECT
  1248. RCAOLD.a "oldcar",(RCA.b-RCAOLD.a)"nowcar"
  1249. FROM
  1250. (
  1251. SELECT
  1252. COUNT( RCA.CAPACITY_NUMBER ) a
  1253. FROM
  1254. RMS_CAPACITY RCA
  1255. LEFT JOIN OMS_TRANS_ORDER OTO ON RCA.CAPACITY_ID = OTO.CAPACITY_ID
  1256. WHERE
  1257. OTO.TRANS_ORDER_ID IS NOT NULL
  1258. AND OTO.DELETED = 5
  1259. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1260. AND RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1261. </if>
  1262. AND RCA.DELETED != 1
  1263. ) RCAOLD,
  1264. ( SELECT
  1265. COUNT( RCA.CAPACITY_NUMBER) b
  1266. FROM
  1267. RMS_CAPACITY RCA
  1268. WHERE
  1269. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1270. RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1271. AND
  1272. </if>
  1273. RCA.DELETED != 1
  1274. ) RCA
  1275. </select>
  1276. <select id="getContainerList" resultType="java.util.Map">
  1277. SELECT RSC.CONTAINER_NO "label",
  1278. RSC.CONTAINER_NO "value",
  1279. RSC.CONTAINER_NO "text"
  1280. FROM RMS_SHIPPING_CONTAINER RSC
  1281. <where>
  1282. <if test="index != null and index != ''">
  1283. REGEXP_LIKE(RSC.CONTAINER_NO,#{index})
  1284. </if>
  1285. </where>
  1286. </select>
  1287. </mapper>