UniversalMapper.xml 67 KB

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