UniversalMapper.xml 62 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648
  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. order by LENGTH(OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME)
  321. FETCH NEXT 10 ROWS ONLY
  322. )
  323. <if test="id!=null and id.size>0">
  324. UNION select
  325. OPERATION_POINT_ID "id",
  326. OPERATION_POINT_ID "value",
  327. OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "label",
  328. OPERATION_POINT_CODE || '-' || OPERATION_POINT_NAME "text"
  329. from RMS_OPERATION_POINT
  330. where OPERATION_POINT_ID in
  331. <foreach collection="id" item="item" open="(" close=")" separator="," >
  332. #{item}
  333. </foreach>
  334. </if>
  335. </select>
  336. <select id="getPersonnelByLike" resultType="java.util.Map">
  337. select * from (
  338. select * from (
  339. select * from (
  340. select
  341. distinct
  342. PERSONNEL_ID "personnelId",
  343. PERSONNEL_NAME "personnelName",
  344. PERSONNEL_POST "personnelPost",
  345. PERSONNEL_PHONE "personnelPhone",
  346. INNNER_CODE "innerCode",
  347. to_char(SSO_ID) "ssoId",
  348. PERSONNEL_ID "id",
  349. PERSONNEL_ID "value",
  350. PERSONNEL_NAME "label",
  351. PERSONNEL_NAME "text",
  352. 'personnelName' "prop"
  353. <if test="capacityId!=null and capacityId!=''">
  354. ,NVL(T ."countNumber",0) "countNumber"
  355. </if>
  356. FROM
  357. RMS_PERSONNEL RP
  358. <if test="capacityId!=null and capacityId!=''">
  359. LEFT JOIN (
  360. SELECT DRIVER_ID "driverId",
  361. COUNT(DRIVER_ID) "countNumber"
  362. FROM OMS_TRANS_ORDER
  363. WHERE CAPACITY_ID = #{capacityId}
  364. GROUP BY DRIVER_ID
  365. ) T ON T."driverId" = RP .PERSONNEL_ID
  366. </if>
  367. WHERE DELETED = 0
  368. <if test="isNC!=null">
  369. AND SOURCE_ID IS NOT NULL
  370. </if>
  371. )
  372. <where>
  373. <if test="personnelPost!=null and personnelPost!=''">
  374. AND "personnelPost" = #{personnelPost}
  375. </if>
  376. <if test="personnelId!=null and personnelId!=''">
  377. AND "personnelId" = #{personnelId})
  378. </if>
  379. <if test="driverId!=null and driverId!=''">
  380. AND "personnelId" = #{driverId})
  381. </if>
  382. <if test="driverId2!=null and driverId2!=''">
  383. AND "personnelId" = #{driverId2})
  384. </if>
  385. <if test="index!=null and index!=''">
  386. AND REGEXP_LIKE("label", #{index})
  387. </if>
  388. <if test="personnelName!=null and personnelName!=''">
  389. AND REGEXP_LIKE("label", #{personnelName})
  390. </if>
  391. <if test="lastIndex!=null">
  392. and "personnelId" &lt; #{lastIndex}
  393. </if>
  394. </where>
  395. <if test="capacityId!=null and capacityId!=''">
  396. ORDER BY "countNumber" DESC
  397. </if>
  398. <if test="!(capacityId!=null and capacityId!='')">
  399. order by "personnelId" desc
  400. </if>
  401. FETCH NEXT 10 ROWS ONLY
  402. )
  403. <if test="id!=null and id.size>0">
  404. UNION
  405. select
  406. PERSONNEL_ID "personnelId",
  407. PERSONNEL_NAME "personnelName",
  408. PERSONNEL_POST "personnelPost",
  409. PERSONNEL_PHONE "personnelPhone",
  410. INNNER_CODE "innerCode",
  411. to_char(SSO_ID) "ssoId",
  412. PERSONNEL_ID "id",
  413. PERSONNEL_ID "value",
  414. PERSONNEL_NAME "label",
  415. PERSONNEL_NAME "text",
  416. 'personnelName' "prop"
  417. <if test="capacityId!=null and capacityId!=''">
  418. ,NVL(T ."countNumber",0) "countNumber"
  419. </if>
  420. from RMS_PERSONNEL RP
  421. <if test="capacityId!=null and capacityId!=''">
  422. LEFT JOIN (
  423. SELECT DRIVER_ID "driverId",
  424. COUNT(DRIVER_ID) "countNumber"
  425. FROM OMS_TRANS_ORDER
  426. WHERE CAPACITY_ID = #{capacityId}
  427. GROUP BY DRIVER_ID
  428. ) T ON T."driverId" = RP .PERSONNEL_ID
  429. </if>
  430. WHERE PERSONNEL_ID in
  431. <foreach collection="id" item="item" open="(" close=")" separator="," >
  432. #{item}
  433. </foreach>
  434. </if>
  435. )
  436. <if test="capacityId!=null and capacityId!=''">
  437. ORDER BY "countNumber" DESC
  438. </if>
  439. </select>
  440. <select id="getCapacityByLike" resultType="java.util.Map">
  441. select * from (
  442. select * from (
  443. SELECT DISTINCT
  444. RCA .CAPACITY_ID "capacityId",
  445. RCA .CAPACITY_ID "id",
  446. RCA .CAPACITY_ID "value",
  447. CASE WHEN RC.COMPANY_TYPE = '业务单位'
  448. THEN RC.COMPANY_ID
  449. else -1
  450. END "businessCompanyId",
  451. CASE WHEN RC.COMPANY_TYPE = '承运商'
  452. THEN RC.COMPANY_ID
  453. else -1
  454. END "carrierId",
  455. CASE WHEN RC.COMPANY_TYPE = '发货单位'
  456. THEN RC.COMPANY_ID
  457. else -1
  458. END "shippingCompanyId",
  459. CASE WHEN RC.COMPANY_TYPE = '收货客户'
  460. THEN RC.COMPANY_ID
  461. else -1
  462. END "receivingCompanyId",
  463. CASE WHEN RCA.REMARK1 is null
  464. then RCA.CAPACITY_NUMBER
  465. else RCA.REMARK1
  466. end "label",
  467. CASE WHEN RCA.REMARK1 is null
  468. then RCA.CAPACITY_NUMBER
  469. else RCA.REMARK1
  470. end "text",
  471. CASE WHEN RCA.REMARK1 is null
  472. then RCA.CAPACITY_NUMBER
  473. else RCA.REMARK1
  474. end "remark1",
  475. CASE WHEN RCA.REMARK1 is null
  476. then RCA.CAPACITY_NUMBER
  477. else RCA.REMARK1
  478. end "capacityNumber",
  479. (case
  480. when oto.capacity_id is null then '空闲'
  481. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  482. end) "status",
  483. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  484. 'capacityNumber' "prop"
  485. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  486. ,NVL(T ."countNumber",0) "countNumber"
  487. </if>
  488. FROM
  489. RMS_CAPACITY RCA
  490. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  491. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  492. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  493. left join oms_trans_order oto
  494. on RCA.capacity_id = oto.capacity_id
  495. and oto.deleted between 4 and 5
  496. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  497. LEFT JOIN (
  498. SELECT CAPACITY_ID "capacityId",
  499. COUNT( CAPACITY_ID ) "countNumber"
  500. FROM OMS_TRANS_ORDER
  501. <where>
  502. <if test="driverId!=null and driverId!=''">
  503. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  504. </if>
  505. <if test="driverId2!=null and driverId2!=''">
  506. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  507. </if>
  508. </where>
  509. GROUP BY CAPACITY_ID
  510. ) T ON T."capacityId" = RCA .CAPACITY_ID
  511. </if>
  512. WHERE RCA .DELETED = 0
  513. <if test="capacityTypeId !=null">
  514. and RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  515. </if>
  516. <if test="capacityType != null and capacityType != '' ">
  517. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  518. </if>
  519. <if test="capacityType == null">
  520. AND RCT.CAPACITY_TYPE_NAME != '火车'
  521. </if>
  522. <if test="index!=null and index!=''">
  523. AND REGEXP_LIKE(
  524. CASE WHEN RCA.REMARK1 is null
  525. then RCA.CAPACITY_NUMBER
  526. else RCA.REMARK1
  527. end, #{index}
  528. )
  529. </if>
  530. <if test="capacityId!=null and capacityId!=''">
  531. AND RCA .CAPACITY_ID = #{capacityId}
  532. </if>
  533. <if test="lastIndex!=null">
  534. and RCA.CAPACITY_ID &lt; #{lastIndex}
  535. </if>
  536. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  537. ORDER BY "countNumber" DESC
  538. </if>
  539. <if test="!((driverId!=null and driverId!='') or (driverId2!=null and driverId2!=''))">
  540. order by RCA.CAPACITY_ID desc
  541. </if>
  542. FETCH NEXT 10 ROWS ONLY
  543. )
  544. <if test="id!=null and id.size>0">
  545. UNION
  546. SELECT DISTINCT
  547. RCA .CAPACITY_ID "capacityId",
  548. RCA .CAPACITY_ID "id",
  549. RCA .CAPACITY_ID "value",
  550. CASE WHEN RC.COMPANY_TYPE = '业务单位'
  551. THEN RC.COMPANY_ID
  552. else -1
  553. END "businessCompanyId",
  554. CASE WHEN RC.COMPANY_TYPE = '承运商'
  555. THEN RC.COMPANY_ID
  556. else -1
  557. END "carrierId",
  558. CASE WHEN RC.COMPANY_TYPE = '发货单位'
  559. THEN RC.COMPANY_ID
  560. else -1
  561. END "shippingCompanyId",
  562. CASE WHEN RC.COMPANY_TYPE = '收货客户'
  563. THEN RC.COMPANY_ID
  564. else -1
  565. END "receivingCompanyId",
  566. CASE WHEN RCA.REMARK1 is null
  567. then RCA.CAPACITY_NUMBER
  568. else RCA.REMARK1
  569. end "label",
  570. CASE WHEN RCA.REMARK1 is null
  571. then RCA.CAPACITY_NUMBER
  572. else RCA.REMARK1
  573. end "text",
  574. CASE WHEN RCA.REMARK1 is null
  575. then RCA.CAPACITY_NUMBER
  576. else RCA.REMARK1
  577. end "remark1",
  578. RCA.CAPACITY_NUMBER "capacityNumber",
  579. (case
  580. when oto.capacity_id is null then '空闲'
  581. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  582. end) "status",
  583. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  584. 'capacityNumber' "prop"
  585. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  586. ,NVL(T ."countNumber",0) "countNumber"
  587. </if>
  588. FROM RMS_CAPACITY RCA
  589. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  590. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  591. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  592. left join oms_trans_order oto
  593. on RCA.capacity_id = oto.capacity_id
  594. and oto.deleted != 2
  595. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  596. LEFT JOIN (
  597. SELECT CAPACITY_ID "capacityId",
  598. COUNT( CAPACITY_ID ) "countNumber"
  599. FROM OMS_TRANS_ORDER
  600. <where>
  601. <if test="driverId!=null and driverId!=''">
  602. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  603. </if>
  604. <if test="driverId2!=null and driverId2!=''">
  605. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  606. </if>
  607. </where>
  608. GROUP BY CAPACITY_ID
  609. ) T ON T."capacityId" = RCA .CAPACITY_ID
  610. </if>
  611. WHERE RCA .CAPACITY_ID in
  612. <foreach collection="id" item="item" open="(" close=")" separator="," >
  613. #{item}
  614. </foreach>
  615. </if>
  616. )
  617. <where>
  618. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  619. </where>
  620. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  621. ORDER BY "countNumber" DESC
  622. </if>
  623. </select>
  624. <select id="getCapacityByLikeSc" resultType="java.util.Map">
  625. select * from (
  626. select * from (
  627. SELECT DISTINCT
  628. RCA .CAPACITY_ID "capacityId",
  629. RCA .CAPACITY_ID "id",
  630. RCA .CAPACITY_ID "value",
  631. RCA .CAPACITY_NUMBER "label",
  632. RCA .CAPACITY_NUMBER "text",
  633. RCA .REMARK1 "remark1",
  634. RCA.CAPACITY_NUMBER "capacityNumber",
  635. (case
  636. when oto.capacity_id is null then '空闲'
  637. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  638. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  639. end) "status",
  640. 'capacityNumber' "prop"
  641. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  642. ,NVL(T ."countNumber",0) "countNumber"
  643. </if>
  644. FROM
  645. RMS_CAPACITY RCA
  646. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  647. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  648. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  649. left join oms_trans_order oto
  650. on RCA.capacity_id = oto.capacity_id
  651. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  652. LEFT JOIN (
  653. SELECT CAPACITY_ID "capacityId",
  654. COUNT( CAPACITY_ID ) "countNumber"
  655. FROM OMS_TRANS_ORDER
  656. <where>
  657. <if test="driverId!=null and driverId!=''">
  658. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  659. </if>
  660. <if test="driverId2!=null and driverId2!=''">
  661. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  662. </if>
  663. </where>
  664. GROUP BY CAPACITY_ID
  665. ) T ON T."capacityId" = RCA .CAPACITY_ID
  666. </if>
  667. WHERE RCA .DELETED = 0
  668. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  669. AND RC.SSO_CODE = #{orgCode}
  670. </if>
  671. <if test="capacityType != null and capacityType != '' ">
  672. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  673. </if>
  674. <if test="capacityType == null">
  675. AND RCT.CAPACITY_TYPE_NAME != '火车'
  676. </if>
  677. <if test="index!=null and index!=''">
  678. AND REGEXP_LIKE(
  679. CASE WHEN RCA.REMARK1 is null
  680. then RCA .CAPACITY_NUMBER
  681. else RCA.REMARK1
  682. end, #{index}
  683. )
  684. </if>
  685. <if test="capacityId!=null and capacityId!=''">
  686. AND RCA .CAPACITY_ID = #{capacityId}
  687. </if>
  688. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  689. ORDER BY "countNumber" DESC
  690. </if>
  691. FETCH NEXT 10 ROWS ONLY
  692. )
  693. <if test="id!=null and id.size>0">
  694. UNION
  695. SELECT DISTINCT
  696. RCA .CAPACITY_ID "capacityId",
  697. RCA .CAPACITY_ID "id",
  698. RCA .CAPACITY_ID "value",
  699. RCA .REMARK1 "label",
  700. RCA .REMARK1 "text",
  701. RCA .REMARK1 "remark1",
  702. RCA.CAPACITY_NUMBER "capacityNumber",
  703. (case
  704. when oto.capacity_id is null then '空闲'
  705. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  706. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  707. end) "status",
  708. 'capacityNumber' "prop"
  709. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  710. ,NVL(T ."countNumber",0) "countNumber"
  711. </if>
  712. FROM RMS_CAPACITY RCA
  713. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  714. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  715. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  716. left join oms_trans_order oto
  717. on RCA.capacity_id = oto.capacity_id
  718. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  719. LEFT JOIN (
  720. SELECT CAPACITY_ID "capacityId",
  721. COUNT( CAPACITY_ID ) "countNumber"
  722. FROM OMS_TRANS_ORDER
  723. <where>
  724. <if test="driverId!=null and driverId!=''">
  725. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  726. </if>
  727. <if test="driverId2!=null and driverId2!=''">
  728. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  729. </if>
  730. </where>
  731. GROUP BY CAPACITY_ID
  732. ) T ON T."capacityId" = RCA .CAPACITY_ID
  733. </if>
  734. WHERE RCA .CAPACITY_ID in
  735. <foreach collection="id" item="item" open="(" close=")" separator="," >
  736. #{item}
  737. </foreach>
  738. </if>
  739. )
  740. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  741. ORDER BY "countNumber" DESC
  742. </if>
  743. </select>
  744. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  745. select * from(
  746. select
  747. RC.JOB_ID "jboId",
  748. RC.JOB_NAME "jobName",
  749. RC.JOB_ID "id",
  750. RC.JOB_ID "value",
  751. RC.JOB_NAME "label",
  752. RC.JOB_NAME "text"
  753. from RMS_JOB_INFO RC
  754. where DELETED = 0
  755. )
  756. <where>
  757. <if test="index!=null and index!=''">
  758. AND REGEXP_LIKE("label", #{index})
  759. </if>
  760. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  761. AND "id" in
  762. <foreach collection="id" item="item" open="(" close=")" separator="," >
  763. #{item}
  764. </foreach>
  765. </if>
  766. </where>
  767. FETCH NEXT 10 ROWS ONLY
  768. </select>
  769. <select id="getTransRangeByLike" resultType="java.util.Map">
  770. select * from(
  771. select
  772. RC.TRANS_RANGE_ID "transrangeId",
  773. RC.TRANS_RANGE_NAME "transrangeName",
  774. RC.TRANS_RANGE_ID "operationRangeId",
  775. RC.TRANS_RANGE_NAME "operationRangeName",
  776. RC.TRANS_RANGE_ID "id",
  777. RC.TRANS_RANGE_ID "value",
  778. RC.TRANS_RANGE_NAME "label",
  779. RC.TRANS_RANGE_NAME "text",
  780. rc.START_POINT_ID "shippingPointId",
  781. rc.END_POINT_ID "receivingPointId",
  782. rc.LINE_ID "lineId",
  783. 'operationRangeName' "prop"
  784. from RMS_TRANS_RANGE RC
  785. where DELETED = 0
  786. )
  787. <where>
  788. <if test="index!=null and index!=''">
  789. <bind name="indexBind" value="'%' + index + '%'"/>
  790. AND "label" like #{indexBind}
  791. </if>
  792. <if test="transrangeId!=null and transrangeId!=''">
  793. AND "transrangeId" = #{transrangeId}
  794. </if>
  795. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  796. AND "id" in
  797. <foreach collection="id" item="item" open="(" close=")" separator="," >
  798. #{item}
  799. </foreach>
  800. </if>
  801. <if test="lastIndex!=null">
  802. and "transrangeId" &lt; #{lastIndex}
  803. </if>
  804. </where>
  805. order by "transrangeId" desc
  806. FETCH NEXT 10 ROWS ONLY
  807. </select>
  808. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  809. select * from(
  810. select
  811. RC.RULES_ID "rulesId",
  812. RC.RULES_CODE "rulesCode",
  813. RC.RULES_ID "id",
  814. RC.RULES_ID "value",
  815. RC.RULES_CODE "label",
  816. RC.RULES_CODE "text"
  817. from RMS_DEMAND_RULES RC
  818. where DELETED = 0
  819. )
  820. <where>
  821. <if test="index!=null and index!=''">
  822. AND REGEXP_LIKE("label", #{index})
  823. </if>
  824. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  825. AND "id" in
  826. <foreach collection="id" item="item" open="(" close=")" separator="," >
  827. #{item}
  828. </foreach>
  829. </if>
  830. </where>
  831. FETCH NEXT 10 ROWS ONLY
  832. </select>
  833. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  834. select * from(
  835. select
  836. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  837. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  838. RCT.CAPACITY_TYPE_ID "id",
  839. RCT.CAPACITY_TYPE_ID "value",
  840. RCT.CAPACITY_TYPE_NAME "label",
  841. RCT.CAPACITY_TYPE_NAME "text",
  842. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  843. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  844. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  845. 'capacityTypeName' "prop"
  846. from RMS_CAPACITY_TYPE RCT
  847. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  848. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  849. <where>
  850. RCT.DELETED=0
  851. <if test="index!=null and index!=''">
  852. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  853. </if>
  854. <if test="capacityTypeId!=null and capacityTypeId!=''">
  855. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  856. </if>
  857. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  858. and
  859. RCT.CAPACITY_TYPE_NAME in
  860. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  861. #{item}
  862. </foreach>
  863. </if>
  864. <if test="lastIndex!=null">
  865. and RCT.CAPACITY_TYPE_ID &lt; #{lastIndex}
  866. </if>
  867. </where>
  868. GROUP BY RCT.CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  869. ORDER BY RCT.CAPACITY_TYPE_ID desc
  870. FETCH NEXT 10 ROWS ONLY
  871. )
  872. <if test="id!=null and id.size>0">
  873. UNION
  874. select
  875. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  876. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  877. RCT.CAPACITY_TYPE_ID "id",
  878. RCT.CAPACITY_TYPE_ID "value",
  879. RCT.CAPACITY_TYPE_NAME "label",
  880. RCT.CAPACITY_TYPE_NAME "text",
  881. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  882. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  883. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  884. 'capacityTypeName' "prop"
  885. from RMS_CAPACITY_TYPE RCT
  886. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  887. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  888. WHERE RCT.CAPACITY_TYPE_ID in
  889. <foreach collection="id" item="item" open="(" close=")" separator="," >
  890. #{item}
  891. </foreach>
  892. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  893. and
  894. RCT.CAPACITY_TYPE_NAME in
  895. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  896. #{item}
  897. </foreach>
  898. </if>
  899. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  900. </if>
  901. </select>
  902. <select id="getLineByLike" resultType="java.util.Map">
  903. select * from(
  904. select * from(
  905. select
  906. RL.LINE_ID "lineId",
  907. RL.LINE_NAME "lineName",
  908. RL.LINE_ID "id",
  909. RL.LINE_ID "value",
  910. RL.LINE_NAME "label",
  911. RL.LINE_NAME "text",
  912. NVL(RL_TEMP."points",'无') "points",
  913. RL.LINE_TYPE "lineType",
  914. 'lineName' "prop"
  915. from RMS_LINE RL
  916. LEFT JOIN
  917. (
  918. SELECT
  919. RLS .LINE_ID "lineId",
  920. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  921. FROM
  922. RMS_LINE_STEP RLS
  923. LEFT JOIN RMS_STEP_POINT RSP
  924. ON RLS .STEP_ID = RSP .STEP_ID
  925. LEFT JOIN RMS_OPERATION_POINT ROP
  926. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  927. GROUP BY RLS .LINE_ID
  928. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  929. where DELETED = 0
  930. )
  931. <where>
  932. <if test="index!=null and index!=''">
  933. AND REGEXP_LIKE("label" || "points", #{index})
  934. </if>
  935. <if test="lineId!=null and lineId!=''">
  936. AND "lineId" = #{lineId}
  937. </if>
  938. <if test="lineType!=null and lineType!=''">
  939. AND REGEXP_LIKE("lineType" , #{lineType})
  940. </if>
  941. </where>
  942. FETCH NEXT 10 ROWS ONLY
  943. )
  944. <if test="id!=null and id.size>0">
  945. UNION
  946. select
  947. RL.LINE_ID "lineId",
  948. RL.LINE_NAME "lineName",
  949. RL.LINE_ID "id",
  950. RL.LINE_ID "value",
  951. RL.LINE_NAME "label",
  952. RL.LINE_NAME "text",
  953. NVL(RL_TEMP."points",'无') "points",
  954. RL.LINE_TYPE "lineType",
  955. 'lineName' "prop"
  956. from RMS_LINE RL
  957. LEFT JOIN
  958. (
  959. SELECT
  960. RLS .LINE_ID "lineId",
  961. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  962. FROM
  963. RMS_LINE_STEP RLS
  964. LEFT JOIN RMS_STEP_POINT RSP
  965. ON RLS .STEP_ID = RSP .STEP_ID
  966. LEFT JOIN RMS_OPERATION_POINT ROP
  967. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  968. GROUP BY RLS .LINE_ID
  969. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  970. where RL.LINE_ID in
  971. <foreach collection="id" item="item" open="(" close=")" separator="," >
  972. #{item}
  973. </foreach>
  974. </if>
  975. </select>
  976. <select id="getMaterialByLike" resultType="java.util.Map">
  977. select * from(
  978. select
  979. RC.MATERIAL_ID "materialId",
  980. RC.MATERIAL_NAME "label",
  981. RC.MATERIAL_ID "id",
  982. RC.MATERIAL_ID "value",
  983. RC.MATERIAL_CODE ||
  984. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  985. THEN '-' || RC.MATERIAL_SPECIFICATION
  986. WHEN RC.MATERIAL_MODEL IS NOT NULL
  987. THEN '-' || RC.MATERIAL_MODEL
  988. ELSE ''
  989. END)|| '-' || RC.MATERIAL_NAME "materialName",
  990. RC.MATERIAL_NAME "text",
  991. 'materialName' "prop"
  992. from RMS_MATERIAL RC
  993. <where>
  994. DELETED = 0
  995. <if test="index!=null and index!=''">
  996. AND instr(RC.MATERIAL_CODE || (CASE
  997. WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL THEN
  998. '-' || RC.MATERIAL_SPECIFICATION
  999. WHEN RC.MATERIAL_MODEL IS NOT NULL THEN
  1000. '-' || RC.MATERIAL_MODEL
  1001. ELSE
  1002. ''
  1003. END) || '-' || RC.MATERIAL_NAME, #{index})>0
  1004. </if>
  1005. <if test="materialId!=null and materialId!=''">
  1006. AND RC.MATERIAL_ID = #{materialId}
  1007. </if>
  1008. </where>
  1009. FETCH NEXT 10 ROWS ONLY
  1010. )
  1011. <if test="id!=null and id.size>0">
  1012. UNION
  1013. select
  1014. RC.MATERIAL_ID "materialId",
  1015. RC.MATERIAL_NAME "label",
  1016. RC.MATERIAL_ID "id",
  1017. RC.MATERIAL_ID "value",
  1018. RC.MATERIAL_NAME ||
  1019. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  1020. THEN '-' || RC.MATERIAL_SPECIFICATION
  1021. WHEN RC.MATERIAL_MODEL IS NOT NULL
  1022. THEN '-' || RC.MATERIAL_MODEL
  1023. ELSE ''
  1024. END) || '-' || RC.MATERIAL_CODE "materialName",
  1025. RC.MATERIAL_NAME "text",
  1026. 'materialName' "prop"
  1027. from RMS_MATERIAL RC
  1028. WHERE RC.MATERIAL_ID in
  1029. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1030. #{item}
  1031. </foreach>
  1032. </if>
  1033. </select>
  1034. <select id="countTrainLoad" resultType="java.lang.Integer">
  1035. SELECT COUNT(*)
  1036. FROM TMS_LOAD_RESULT TLR
  1037. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  1038. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1039. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1040. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1041. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1042. <where>
  1043. OTO.DELETED != 1
  1044. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1045. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  1046. AND OTO.CAPACITY_ID IN
  1047. <foreach collection="list" item="item" open="(" close=")" separator="," >
  1048. #{item.车号}
  1049. </foreach>
  1050. </where>
  1051. </select>
  1052. <select id="getBusinessTypeLike" resultType="java.util.Map">
  1053. select * from(
  1054. select * from(
  1055. select
  1056. DBT.BUSINESS_TYPE_ID "businessTypeId",
  1057. DBT.BUSINESS_TYPE_ID "id",
  1058. DBT.BUSINESS_TYPE_ID "value",
  1059. DBT.BUSINESS_TYPE_NAME "text",
  1060. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  1061. DBT.BUSINESS_SCENE "businessScene",
  1062. DBT.BUSINESS_TYPE_NAME "label",
  1063. DBT.ALTERNATE_FIELDS1 "transportType",
  1064. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  1065. from DIL_BUSINESS_TYPE DBT
  1066. )
  1067. <where>
  1068. <if test="index!=null and index!=''">
  1069. AND REGEXP_LIKE("label", #{index})
  1070. </if>
  1071. <if test="businessType!=null and businessType!=''">
  1072. AND "businessTypeId" = #{businessType}
  1073. </if>
  1074. <if test="businessScene!=null and businessScene!=''">
  1075. AND "businessScene" = #{businessScene}
  1076. </if>
  1077. <if test="transportType!=null and transportType!=''">
  1078. AND REGEXP_LIKE("transportType", #{transportType})
  1079. </if>
  1080. <if test="materialTypeName!=null and materialTypeName!=''">
  1081. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  1082. </if>
  1083. </where>
  1084. FETCH NEXT 10 ROWS ONLY
  1085. )
  1086. <if test="id!=null and id.size > 0">
  1087. UNION
  1088. select
  1089. DBT.BUSINESS_TYPE_ID "businessTypeId",
  1090. DBT.BUSINESS_TYPE_ID "id",
  1091. DBT.BUSINESS_TYPE_ID "value",
  1092. DBT.BUSINESS_TYPE_NAME "text",
  1093. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  1094. DBT.BUSINESS_SCENE "businessScene",
  1095. DBT.BUSINESS_TYPE_NAME "label",
  1096. DBT.ALTERNATE_FIELDS1 "transportType",
  1097. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  1098. from DIL_BUSINESS_TYPE DBT
  1099. WHERE DBT.BUSINESS_TYPE_ID in
  1100. <foreach collection="id" item="item" open="(" close=")" separator=",">
  1101. #{item}
  1102. </foreach>
  1103. </if>
  1104. </select>
  1105. <select id="findTrainWeight" resultType="java.util.Map">
  1106. <foreach collection="list" item="item" separator=" UNION " >
  1107. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1108. OOC .ORDER_CHILD_ID "transOrderChildId",
  1109. APC .TRANS_PLAN_ID "transPlanId",
  1110. APC .MATERIAL_ID "materialId",
  1111. TWR .RESULT_ID "resultId",
  1112. TUR .RESULT_ID "unloadResultId",
  1113. #{item.车号} "capacityId",
  1114. #{item.净重} "netWeight",
  1115. #{item.皮重} "tareWeight",
  1116. #{item.毛重} "grossWeight"
  1117. FROM OMS_TRANS_ORDER OTO
  1118. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1119. LEFT JOIN TMS_WEIGHT_RESULT TWR
  1120. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  1121. LEFT JOIN TMS_UNLOAD_RESULT TUR ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1122. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1123. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1124. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1125. <where>
  1126. OTO.DELETED != 1
  1127. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1128. AND OTO.CAPACITY_ID = #{item.车号}
  1129. </where>
  1130. </foreach>
  1131. </select>
  1132. <select id="findTrainUnload" resultType="java.util.Map">
  1133. <foreach collection="list" item="item" separator=" UNION " >
  1134. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1135. OOC .ORDER_CHILD_ID "transOrderChildId",
  1136. TUR .RESULT_ID "resultId",
  1137. TUR .ACTUAL_TONNAGE "unloadWeightOld",
  1138. ATR .SERIAL_NUMBER "requirementSerialNumber",
  1139. APC .TRANS_PLAN_ID "transPlanId",
  1140. ARC .RECEIVING_POINT_ID "unloadPointId",
  1141. APC .MATERIAL_ID "materialId",
  1142. #{item.车号} "capacityId",
  1143. #{item.净重} "unloadWeight"
  1144. FROM OMS_TRANS_ORDER OTO
  1145. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1146. LEFT JOIN TMS_UNLOAD_RESULT TUR
  1147. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  1148. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1149. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1150. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1151. <where>
  1152. OTO.DELETED != 1
  1153. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1154. AND OTO.CAPACITY_ID = #{item.车号}
  1155. </where>
  1156. </foreach>
  1157. </select>
  1158. <select id="getOrderIds" resultType="java.util.Map">
  1159. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  1160. left join RMS_PERSONNEL RP
  1161. on rp.PERSONNEL_ID = oto.DRIVER_ID
  1162. left join RMS_PERSONNEL RP2
  1163. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  1164. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1165. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  1166. and oto.deleted = 5
  1167. </select>
  1168. <select id="getFuelTypeByLike" resultType="java.util.Map">
  1169. select * from(
  1170. SELECT
  1171. FUEL_TYPE_ID "fuelTypeId",
  1172. FUEL_TYPE_NAME "fuelTypeName",
  1173. FUEL_TYPE_ID "id",
  1174. FUEL_TYPE_ID "value",
  1175. FUEL_TYPE_NAME "text",
  1176. FUEL_TYPE_NAME "label"
  1177. FROM RMS_FUEL_TYPE
  1178. <where>
  1179. DELETED = 0
  1180. <if test="index!=null and index!=''">
  1181. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  1182. </if>
  1183. </where>
  1184. FETCH NEXT 10 ROWS ONLY
  1185. )
  1186. <if test="id!=null and id.size > 0">
  1187. UNION
  1188. SELECT
  1189. FUEL_TYPE_ID "fuelTypeId",
  1190. FUEL_TYPE_NAME "fuelTypeName",
  1191. FUEL_TYPE_ID "id",
  1192. FUEL_TYPE_ID "value",
  1193. FUEL_TYPE_NAME "text",
  1194. FUEL_TYPE_NAME "label"
  1195. FROM RMS_FUEL_TYPE
  1196. WHERE FUEL_TYPE_ID in
  1197. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1198. #{item}
  1199. </foreach>
  1200. </if>
  1201. </select>
  1202. <select id="getDemandRulesCode" resultType="java.util.Map">
  1203. SELECT * FROM (
  1204. SELECT RDB.BILLING_TYPE "billingType",
  1205. RDB.BUSINESS_TYPE "businessType",
  1206. rdb.LINE_ID "lineId",
  1207. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  1208. RDB.MATERIAL_TYPE_ID "operationsNameId",
  1209. RDB.TRANS_RANGE_ID "operationRange",
  1210. rdb.COMPANY_ID "businessCompanyId",
  1211. RDB.RULES_ID "value",
  1212. RDB.RULES_CODE "label",
  1213. ROP.OPERATION_POINT_ID "shippingPointId",
  1214. ROP2.OPERATION_POINT_ID "receivingPointId"
  1215. FROM RMS_DEMAND_RULES RDB
  1216. LEFT JOIN RMS_TRANS_RANGE RTR
  1217. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  1218. LEFT JOIN RMS_OPERATION_POINT ROP
  1219. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  1220. LEFT JOIN RMS_OPERATION_POINT ROP2
  1221. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  1222. )
  1223. <where>
  1224. <if test="index!=null and index!=''">
  1225. AND REGEXP_LIKE("label", #{index})
  1226. </if>
  1227. <if test="businessCompanyId!=null and businessCompanyId!=''">
  1228. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  1229. </if>
  1230. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  1231. </where>
  1232. </select>
  1233. <select id="getIdCardCode" resultType="java.lang.String">
  1234. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  1235. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1236. FETCH NEXT 1 ROWS ONLY
  1237. </select>
  1238. <select id="getMaterial" parameterType="java.util.Map" resultType="java.util.Map">
  1239. select t.prod_code_pk as "prodCodePk",
  1240. b.material_id as "materialId",
  1241. b.material_code as "prodCode",
  1242. b.material_name as "prodName",
  1243. b.material_model as "steelName",
  1244. t.create_emp as "createEmp",
  1245. t.create_time as "createTime",
  1246. b.material_specification as "specName",
  1247. CASE WHEN
  1248. REGEXP_LIKE(nvl(substr(b.material_specification,
  1249. decode(instr(b.material_specification, '/'),
  1250. 0,
  1251. 100,
  1252. instr(b.material_specification, '/')) + 1),
  1253. 12),'^\d+$') THEN
  1254. nvl(substr(b.material_specification,
  1255. decode(instr(b.material_specification, '/'),
  1256. 0,
  1257. 100,
  1258. instr(b.material_specification, '/')) + 1),
  1259. 12)
  1260. ELSE
  1261. '0'
  1262. END
  1263. * b.material_theoretical_weight / 1000 as "weight"
  1264. from rms_material b
  1265. left join rms_material_map t
  1266. on t.prod_code_l = b.material_code
  1267. <where>
  1268. <if test="prodCode != null and prodCode != ''">
  1269. and REGEXP_LIKE(t.prod_code, #{prodCode})
  1270. </if>
  1271. </where>
  1272. union all
  1273. select '' as "prodCodePk",
  1274. b.material_id as "materialId",
  1275. b.material_code as "prodCode",
  1276. b.material_name as "prodName",
  1277. b.material_model as "steelName",
  1278. '' as "createEmp",
  1279. sysdate as "createTime",
  1280. b.material_specification as "specName",
  1281. CASE WHEN
  1282. REGEXP_LIKE(nvl(substr(b.material_specification,
  1283. decode(instr(b.material_specification, '/'),
  1284. 0,
  1285. 100,
  1286. instr(b.material_specification, '/')) + 1),
  1287. 12),'^\d+$') THEN
  1288. nvl(substr(b.material_specification,
  1289. decode(instr(b.material_specification, '/'),
  1290. 0,
  1291. 100,
  1292. instr(b.material_specification, '/')) + 1),
  1293. 12)
  1294. ELSE
  1295. '0'
  1296. END * b.material_theoretical_weight / 1000 as "weight"
  1297. from rms_material b
  1298. <where>
  1299. <if test="prodCode != null and prodCode != ''">
  1300. and REGEXP_LIKE(b.material_code, #{prodCode})
  1301. </if>
  1302. <if test="materialId != null and materialId != ''">
  1303. and REGEXP_LIKE(b.material_id, #{materialId})
  1304. </if>
  1305. </where>
  1306. </select>
  1307. <select id="countTransOrder" resultType="java.lang.Integer">
  1308. SELECT COUNT(OTO .TRANS_ORDER_ID)
  1309. FROM OMS_TRANS_ORDER OTO
  1310. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1311. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1312. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1313. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1314. <where>
  1315. OTO.DELETED != 1
  1316. AND APC.TRANS_PLAN_ID =#{transPlanId}
  1317. </where>
  1318. </select>
  1319. <select id="getcountCar" resultType = "java.util.Map">
  1320. SELECT
  1321. RCAOLD.a "oldcar",(RCA.b-RCAOLD.a)"nowcar"
  1322. FROM
  1323. (
  1324. SELECT
  1325. COUNT( RCA.CAPACITY_NUMBER ) a
  1326. FROM
  1327. RMS_CAPACITY RCA
  1328. LEFT JOIN OMS_TRANS_ORDER OTO ON RCA.CAPACITY_ID = OTO.CAPACITY_ID
  1329. WHERE
  1330. OTO.TRANS_ORDER_ID IS NOT NULL
  1331. AND OTO.DELETED = 5
  1332. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1333. AND RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1334. </if>
  1335. AND RCA.DELETED != 1
  1336. ) RCAOLD,
  1337. ( SELECT
  1338. COUNT( RCA.CAPACITY_NUMBER) b
  1339. FROM
  1340. RMS_CAPACITY RCA
  1341. WHERE
  1342. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1343. RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1344. AND
  1345. </if>
  1346. RCA.DELETED != 1
  1347. ) RCA
  1348. </select>
  1349. <select id="getContainerList" resultType="java.util.Map">
  1350. SELECT RSC.CONTAINER_NO "label",
  1351. RSC.CONTAINER_NO "value",
  1352. RSC.CONTAINER_NO "text"
  1353. FROM RMS_SHIPPING_CONTAINER RSC
  1354. <where>
  1355. <if test="index != null and index != ''">
  1356. REGEXP_LIKE(RSC.CONTAINER_NO,#{index})
  1357. </if>
  1358. </where>
  1359. </select>
  1360. <select id="getCompanyMesByPlanLike" resultType="java.util.Map">
  1361. select * from(
  1362. select
  1363. RC.SSO_ID "ssoId",
  1364. RC.SSO_CODE "ssoCode",
  1365. RC.COMPANY_ID "id",
  1366. RC.COMPANY_ID "key",
  1367. RC.COMPANY_ID "value",
  1368. <if test="companyType==null">
  1369. RC.COMPANY_TYPE || '-' ||
  1370. </if>
  1371. RC.COMPANY_NAME "label",
  1372. RC.COMPANY_NAME "text",
  1373. RC.COMPANY_NAME "companyName",
  1374. T2 ."rootCompanyId",
  1375. T2 ."rootCompanyName",
  1376. 'label' "prop"
  1377. from RMS_COMPANY RC
  1378. LEFT JOIN (
  1379. SELECT "companyId",MAX("level") "rootIndex" FROM
  1380. (
  1381. SELECT
  1382. RC.COMPANY_ID "rootCompanyId",
  1383. RC.COMPANY_NAME "rootCompanyName",
  1384. LEVEL "level",
  1385. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  1386. FROM
  1387. RMS_COMPANY RC
  1388. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  1389. )
  1390. GROUP BY "companyId"
  1391. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  1392. LEFT JOIN
  1393. (
  1394. SELECT
  1395. RC.COMPANY_ID "rootCompanyId",
  1396. RC.COMPANY_NAME "rootCompanyName",
  1397. LEVEL "level",
  1398. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  1399. FROM
  1400. RMS_COMPANY RC
  1401. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  1402. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  1403. <where>
  1404. DELETED = 0
  1405. <if test="companyType!=null and companyType!=''">
  1406. AND RC.COMPANY_TYPE = #{companyType}
  1407. </if>
  1408. <if test="companyId!=null and companyId!=''">
  1409. AND RC.COMPANY_ID = #{companyId}
  1410. </if>
  1411. <if test="businessCompanyId!=null and businessCompanyId!=''">
  1412. AND RC.COMPANY_ID = #{businessCompanyId}
  1413. </if>
  1414. <if test="supplierCompanyId!=null and supplierCompanyId!=''">
  1415. AND RC.COMPANY_ID = #{supplierCompanyId}
  1416. </if>
  1417. <if test="receiveCompanyId!=null and receiveCompanyId!=''">
  1418. AND RC.COMPANY_ID = #{receiveCompanyId}
  1419. </if>
  1420. <if test="carrierId!=null and carrierId!=''">
  1421. AND RC.COMPANY_ID = #{carrierId}
  1422. </if>
  1423. <if test="index!=null and index!=''">
  1424. AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
  1425. </if>
  1426. <if test="isListed !=null and isListed!=''">
  1427. AND RC.is_Listed IS NOT NULL
  1428. </if>
  1429. <if test="lastIndex!=null">
  1430. and RC.COMPANY_ID &lt; #{lastIndex}
  1431. </if>
  1432. </where>
  1433. <if test="noRow == null">
  1434. order by
  1435. RC.COMPANY_ID desc,
  1436. LENGTH(company_name)
  1437. FETCH NEXT 10 ROWS ONLY
  1438. </if>
  1439. )
  1440. <if test="id!=null and id.size>0">
  1441. UNION
  1442. select
  1443. RC.SSO_ID "ssoId",
  1444. RC.SSO_CODE "ssoCode",
  1445. RC.COMPANY_ID "id",
  1446. RC.COMPANY_ID "key",
  1447. RC.COMPANY_ID "value",
  1448. <if test="companyType==null">
  1449. RC.COMPANY_TYPE || '-' ||
  1450. </if>
  1451. RC.COMPANY_NAME "label",
  1452. RC.COMPANY_NAME "text",
  1453. RC.COMPANY_NAME "companyName",
  1454. T2 ."rootCompanyId",
  1455. T2 ."rootCompanyName",
  1456. 'label' "prop"
  1457. from RMS_COMPANY RC
  1458. LEFT JOIN (
  1459. SELECT "companyId",MAX("level") "rootIndex" FROM
  1460. (
  1461. SELECT
  1462. RC.COMPANY_ID "rootCompanyId",
  1463. RC.COMPANY_NAME "rootCompanyName",
  1464. LEVEL "level",
  1465. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  1466. FROM
  1467. RMS_COMPANY RC
  1468. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  1469. )
  1470. GROUP BY "companyId"
  1471. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  1472. LEFT JOIN
  1473. (
  1474. SELECT
  1475. RC.COMPANY_ID "rootCompanyId",
  1476. RC.COMPANY_NAME "rootCompanyName",
  1477. LEVEL "level",
  1478. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  1479. FROM
  1480. RMS_COMPANY RC
  1481. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  1482. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  1483. where RC.COMPANY_ID in
  1484. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1485. #{item}
  1486. </foreach>
  1487. </if>
  1488. </select>
  1489. <select id="getDriverByLike" resultType="java.util.Map">
  1490. select * from (
  1491. select * from (
  1492. select * from (
  1493. select
  1494. distinct
  1495. RP.PERSONNEL_ID "personnelId",
  1496. RP.PERSONNEL_NAME "personnelName",
  1497. RP.PERSONNEL_POST "personnelPost",
  1498. RP.PERSONNEL_PHONE "personnelPhone",
  1499. RP.INNNER_CODE "innerCode",
  1500. to_char(RP.SSO_ID) "ssoId",
  1501. CASE WHEN RC.COMPANY_TYPE = '业务单位'
  1502. THEN RC.COMPANY_ID
  1503. else -1
  1504. END "businessCompanyId",
  1505. CASE WHEN RC.COMPANY_TYPE = '承运商'
  1506. THEN RC.COMPANY_ID
  1507. else -1
  1508. END "carrierId",
  1509. CASE WHEN RC.COMPANY_TYPE = '发货单位'
  1510. THEN RC.COMPANY_ID
  1511. else -1
  1512. END "shippingCompanyId",
  1513. CASE WHEN RC.COMPANY_TYPE = '收货客户'
  1514. THEN RC.COMPANY_ID
  1515. else -1
  1516. END "receivingCompanyId",
  1517. RP.PERSONNEL_ID "id",
  1518. RP.PERSONNEL_ID "value",
  1519. RP.PERSONNEL_NAME "label",
  1520. RP.PERSONNEL_NAME "text",
  1521. 'personnelName' "prop"
  1522. <if test="capacityId!=null and capacityId!=''">
  1523. ,NVL(T ."countNumber",0) "countNumber"
  1524. </if>
  1525. FROM
  1526. RMS_PERSONNEL RP
  1527. LEFT JOIN RMS_PERSONNEL_COMPANY RPC
  1528. ON RPC.PERSONNEL_ID = RP.PERSONNEL_ID
  1529. LEFT JOIN RMS_COMPANY RC
  1530. ON RC.COMPANY_ID = RPC.COMPANY_ID
  1531. <if test="capacityId!=null and capacityId!=''">
  1532. LEFT JOIN (
  1533. SELECT DRIVER_ID "driverId",
  1534. COUNT(DRIVER_ID) "countNumber"
  1535. FROM OMS_TRANS_ORDER
  1536. WHERE CAPACITY_ID = #{capacityId}
  1537. GROUP BY DRIVER_ID
  1538. ) T ON T."driverId" = RP .PERSONNEL_ID
  1539. </if>
  1540. WHERE RP.DELETED = 0
  1541. AND RC.COMPANY_TYPE = '承运商'
  1542. <if test="isNC!=null">
  1543. AND RP.SOURCE_ID IS NOT NULL
  1544. </if>
  1545. )
  1546. <where>
  1547. <if test="personnelPost!=null and personnelPost!=''">
  1548. AND "personnelPost" = #{personnelPost}
  1549. </if>
  1550. <if test="personnelId!=null and personnelId!=''">
  1551. AND "personnelId" = #{personnelId})
  1552. </if>
  1553. <if test="driverId!=null and driverId!=''">
  1554. AND "personnelId" = #{driverId})
  1555. </if>
  1556. <if test="driverId2!=null and driverId2!=''">
  1557. AND "personnelId" = #{driverId2})
  1558. </if>
  1559. <if test="index!=null and index!=''">
  1560. AND REGEXP_LIKE("label", #{index})
  1561. </if>
  1562. <if test="lastIndex!=null">
  1563. and "personnelId" &lt; #{lastIndex}
  1564. </if>
  1565. </where>
  1566. <if test="capacityId!=null and capacityId!=''">
  1567. ORDER BY "countNumber" DESC
  1568. </if>
  1569. <if test="!(capacityId!=null and capacityId!='')">
  1570. order by "personnelId" desc
  1571. </if>
  1572. )
  1573. <if test="id!=null and id.size>0">
  1574. UNION
  1575. select
  1576. RP.PERSONNEL_ID "personnelId",
  1577. RP.PERSONNEL_NAME "personnelName",
  1578. RP.PERSONNEL_POST "personnelPost",
  1579. RP.PERSONNEL_PHONE "personnelPhone",
  1580. RP.INNNER_CODE "innerCode",
  1581. to_char(RP.SSO_ID) "ssoId",
  1582. RP.PERSONNEL_ID "id",
  1583. RP.PERSONNEL_ID "value",
  1584. RP.PERSONNEL_NAME "label",
  1585. RP.PERSONNEL_NAME "text",
  1586. CASE WHEN RC.COMPANY_TYPE = '业务单位'
  1587. THEN RC.COMPANY_ID
  1588. else -1
  1589. END "businessCompanyId",
  1590. CASE WHEN RC.COMPANY_TYPE = '承运商'
  1591. THEN RC.COMPANY_ID
  1592. else -1
  1593. END "carrierId",
  1594. CASE WHEN RC.COMPANY_TYPE = '发货单位'
  1595. THEN RC.COMPANY_ID
  1596. else -1
  1597. END "shippingCompanyId",
  1598. CASE WHEN RC.COMPANY_TYPE = '收货客户'
  1599. THEN RC.COMPANY_ID
  1600. else -1
  1601. END "receivingCompanyId",
  1602. 'personnelName' "prop"
  1603. <if test="capacityId!=null and capacityId!=''">
  1604. ,NVL(T ."countNumber",0) "countNumber"
  1605. </if>
  1606. from RMS_PERSONNEL RP
  1607. LEFT JOIN RMS_PERSONNEL_COMPANY RPC
  1608. ON RPC.PERSONNEL_ID = RP.PERSONNEL_ID
  1609. LEFT JOIN RMS_COMPANY RC
  1610. ON RC.COMPANY_ID = RPC.COMPANY_ID
  1611. <if test="capacityId!=null and capacityId!=''">
  1612. LEFT JOIN (
  1613. SELECT DRIVER_ID "driverId",
  1614. COUNT(DRIVER_ID) "countNumber"
  1615. FROM OMS_TRANS_ORDER
  1616. WHERE CAPACITY_ID = #{capacityId}
  1617. GROUP BY DRIVER_ID
  1618. ) T ON T."driverId" = RP .PERSONNEL_ID
  1619. </if>
  1620. WHERE RP.PERSONNEL_ID in
  1621. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1622. #{item}
  1623. </foreach>
  1624. </if>
  1625. )
  1626. <where>
  1627. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  1628. </where>
  1629. <if test="capacityId!=null and capacityId!=''">
  1630. ORDER BY "countNumber" DESC
  1631. </if>
  1632. </select>
  1633. </mapper>