UniversalMapper.xml 56 KB

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