UniversalMapper.xml 66 KB

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