UniversalMapper.xml 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.steerinfo.dil.mapper.UniversalMapper">
  4. <sql id="orderBy">
  5. <if test="orderField != null and orderField != ''">
  6. order by "${orderField}"
  7. <if test="orderType != null and orderType != ''">
  8. ${orderType}
  9. </if>
  10. </if>
  11. </sql>
  12. <sql id="companyFilter">
  13. <if test="!roleCodes.contains('admin') and dilCompanyList != null and dilCompanyList.size > 0">
  14. AND ${prop}
  15. in
  16. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  17. #{item.companyId}
  18. </foreach>
  19. </if>
  20. </sql>
  21. <!-- 查询所有的汽车衡 -->
  22. <select id="getColumnNoRoutList" resultType="java.lang.String" parameterType="map">
  23. select DTCR.COLUMN_NAME from DIL_TABLE_COLUMN_ROLE DTCR
  24. left join DIL_ROLE_ORGCODE_TABLE DROT
  25. ON DTCR.PRIMARY_ID = DROT.COLUMN_ID
  26. WHERE
  27. DTCR.TABLE_NAME = #{tableName}
  28. <if test="orgCode != null">
  29. and DROT.ORG_CODE = #{orgCode}
  30. </if>
  31. </select>
  32. <select id="getColumnShowData" resultType="java.util.Map" parameterType="map">
  33. SELECT DTCR.COLUMN_NAME "key",
  34. DTCR.COLUMN_NAME "label"
  35. FROM DIL_TABLE_COLUMN_ROLE DTCR
  36. LEFT JOIN DIL_ROLE_ORGCODE_TABLE DROT on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  37. WHERE
  38. DTCR.TABLE_NAME = #{tableName}
  39. <if test="userName != null">
  40. AND nvl(DROT.USER_NAME,'0') != #{userName}
  41. </if>
  42. <if test="schemeName != null">
  43. AND nvl(DROT.PRIMARY_NAME,'0') != #{schemeName}
  44. </if>
  45. </select>
  46. <select id="getColumnHiddenData" resultType="string" parameterType="map">
  47. SELECT DTCR.COLUMN_NAME FROM DIL_ROLE_ORGCODE_TABLE DROT
  48. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  49. WHERE
  50. DTCR.TABLE_NAME = #{tableName}
  51. <if test="userName != null">
  52. AND DROT.USER_NAME = #{userName}
  53. </if>
  54. <if test="orgCode != null">
  55. AND DROT.ORG_CODE = #{orgCode}
  56. </if>
  57. <if test="schemeName != null">
  58. AND nvl(DROT.PRIMARY_NAME,'0') = #{schemeName}
  59. </if>
  60. </select>
  61. <select id="getColumnAllData" resultType="java.util.Map" parameterType="map">
  62. SELECT DTCR.COLUMN_NAME "key",
  63. DTCR.COLUMN_NAME "label"
  64. FROM DIL_TABLE_COLUMN_ROLE DTCR
  65. WHERE DTCR.TABLE_NAME = #{tableName}
  66. </select>
  67. <select id="getColumnAllScheme" resultType="java.util.LinkedHashMap" parameterType="map">
  68. SELECT distinct DROT.PRIMARY_NAME "schemeName",
  69. DROT.ENABLE_STATUS "enableStatus",
  70. DROT.USER_NAME "userName",
  71. DROT.ORG_CODE "orgCode",
  72. DTCR.TABLE_NAME "tableName"
  73. FROM DIL_ROLE_ORGCODE_TABLE DROT
  74. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DROT.COLUMN_ID = DTCR.PRIMARY_ID
  75. WHERE DROT.USER_NAME = #{userName}
  76. AND DROT.ORG_CODE = #{orgCode}
  77. AND DTCR.TABLE_NAME = #{tableName}
  78. AND NVL(DROT.PRIMARY_NAME, '') != '默认方案'
  79. </select>
  80. <select id="getWlUrl" resultType="java.lang.String">
  81. SELECT DL.VERSION_VALUE
  82. FROM DIL_VERSION DL
  83. WHERE DL.VERSION_ID = 11
  84. </select>
  85. <!-- 边输边查公司 -->
  86. <select id="getCompanyMesByLike" resultType="java.util.Map">
  87. select * from(
  88. select
  89. RC.SSO_ID "ssoId",
  90. RC.SSO_CODE "ssoCode",
  91. RC.COMPANY_ID "id",
  92. RC.COMPANY_ID "key",
  93. RC.COMPANY_ID "value",
  94. RC.COMPANY_ID "carrierId",
  95. <if test="companyType==null">
  96. RC.COMPANY_TYPE || '-' ||
  97. </if>
  98. RC.COMPANY_NAME "label",
  99. RC.COMPANY_NAME "text",
  100. T2 ."rootCompanyId",
  101. T2 ."rootCompanyName",
  102. 'label' "prop"
  103. from RMS_COMPANY RC
  104. LEFT JOIN (
  105. SELECT "companyId",MAX("level") "rootIndex" FROM
  106. (
  107. SELECT
  108. RC.COMPANY_ID "rootCompanyId",
  109. RC.COMPANY_NAME "rootCompanyName",
  110. LEVEL "level",
  111. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  112. FROM
  113. RMS_COMPANY RC
  114. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  115. )
  116. GROUP BY "companyId"
  117. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  118. LEFT JOIN
  119. (
  120. SELECT
  121. RC.COMPANY_ID "rootCompanyId",
  122. RC.COMPANY_NAME "rootCompanyName",
  123. LEVEL "level",
  124. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  125. FROM
  126. RMS_COMPANY RC
  127. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  128. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  129. <where>
  130. DELETED = 0
  131. <if test="companyType!=null and companyType!=''">
  132. AND RC.COMPANY_TYPE = #{companyType}
  133. </if>
  134. <if test="companyId!=null and companyId!=''">
  135. AND RC.COMPANY_ID = #{companyId}
  136. </if>
  137. <if test="businessCompanyId!=null and businessCompanyId!=''">
  138. AND RC.COMPANY_ID = #{businessCompanyId}
  139. </if>
  140. <if test="supplierCompanyId!=null and supplierCompanyId!=''">
  141. AND RC.COMPANY_ID = #{supplierCompanyId}
  142. </if>
  143. <if test="receiveCompanyId!=null and receiveCompanyId!=''">
  144. AND RC.COMPANY_ID = #{receiveCompanyId}
  145. </if>
  146. <if test="carrierId!=null and carrierId!=''">
  147. AND RC.COMPANY_ID = #{carrierId}
  148. </if>
  149. <if test="index!=null and index!=''">
  150. AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
  151. </if>
  152. </where>
  153. <if test="noRow == null">
  154. order by LENGTH(company_name)
  155. FETCH NEXT 10 ROWS ONLY
  156. </if>
  157. )
  158. <if test="id!=null and id.size>0">
  159. UNION
  160. select
  161. RC.SSO_ID "ssoId",
  162. RC.SSO_CODE "ssoCode",
  163. RC.COMPANY_ID "id",
  164. RC.COMPANY_ID "key",
  165. RC.COMPANY_ID "value",
  166. RC.COMPANY_ID "carrierId",
  167. <if test="companyType==null">
  168. RC.COMPANY_TYPE || '-' ||
  169. </if>
  170. RC.COMPANY_NAME "label",
  171. RC.COMPANY_NAME "text",
  172. T2 ."rootCompanyId",
  173. T2 ."rootCompanyName",
  174. 'label' "prop"
  175. from RMS_COMPANY RC
  176. LEFT JOIN (
  177. SELECT "companyId",MAX("level") "rootIndex" FROM
  178. (
  179. SELECT
  180. RC.COMPANY_ID "rootCompanyId",
  181. RC.COMPANY_NAME "rootCompanyName",
  182. LEVEL "level",
  183. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  184. FROM
  185. RMS_COMPANY RC
  186. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  187. )
  188. GROUP BY "companyId"
  189. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  190. LEFT JOIN
  191. (
  192. SELECT
  193. RC.COMPANY_ID "rootCompanyId",
  194. RC.COMPANY_NAME "rootCompanyName",
  195. LEVEL "level",
  196. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  197. FROM
  198. RMS_COMPANY RC
  199. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  200. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  201. where RC.COMPANY_ID in
  202. <foreach collection="id" item="item" open="(" close=")" separator="," >
  203. #{item}
  204. </foreach>
  205. </if>
  206. </select>
  207. <select id="getMaterialTypeByLike" resultType="java.util.Map">
  208. select * from(
  209. select * from(
  210. select
  211. MATERIAL_TYPE_ID "operationsNameId",
  212. MATERIAL_TYPE_NAME "operationsName",
  213. MATERIAL_TYPE_ID "id",
  214. MATERIAL_TYPE_ID "value",
  215. MATERIAL_TYPE_NAME "label",
  216. MATERIAL_TYPE_NAME "text",
  217. REMARK "remark",
  218. 'operationsName' "prop"
  219. from RMS_MATERIAL_TYPE
  220. where DELETED = 0
  221. )
  222. <where>
  223. <if test="index!=null and index!=''">
  224. AND REGEXP_LIKE("label", #{index})
  225. </if>
  226. <if test="remark!=null and remark!=''">
  227. AND REGEXP_LIKE("remark", #{remark})
  228. </if>
  229. </where>
  230. FETCH NEXT 10 ROWS ONLY
  231. )
  232. <if test="id!=null and id.size>0">
  233. UNION
  234. select
  235. MATERIAL_TYPE_ID "operationsNameId",
  236. MATERIAL_TYPE_NAME "operationsName",
  237. MATERIAL_TYPE_ID "id",
  238. MATERIAL_TYPE_ID "value",
  239. MATERIAL_TYPE_NAME "label",
  240. MATERIAL_TYPE_NAME "text",
  241. REMARK "remark",
  242. 'operationsName' "prop"
  243. from RMS_MATERIAL_TYPE
  244. where MATERIAL_TYPE_ID in
  245. <foreach collection="id" item="item" open="(" close=")" separator="," >
  246. #{item}
  247. </foreach>
  248. </if>
  249. </select>
  250. <select id="getEmissionStandardByLike" resultType="java.util.Map">
  251. select * from (
  252. select
  253. EMISSION_STANDARD_ID "emissionStandardId",
  254. EMISSION_STANDARD_NAME "emissionStandardName",
  255. EMISSION_STANDARD_ID "id",
  256. EMISSION_STANDARD_ID "value",
  257. EMISSION_STANDARD_NAME "label",
  258. EMISSION_STANDARD_NAME "text"
  259. from RMS_EMISSION_STANDARD
  260. where DELETED = 0
  261. )
  262. <where>
  263. <if test="index!=null and index!=''">
  264. AND REGEXP_LIKE("label", #{index})
  265. </if>
  266. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  267. AND "id" in
  268. <foreach collection="id" item="item" open="(" close=")" separator="," >
  269. #{item}
  270. </foreach>
  271. </if>
  272. </where>
  273. FETCH NEXT 10 ROWS ONLY
  274. </select>
  275. <select id="getOperationPointByLike" resultType="java.util.Map">
  276. SELECT * FROM (
  277. select
  278. OPERATION_POINT_ID "id",
  279. OPERATION_POINT_ID "value",
  280. OPERATION_POINT_NAME "label",
  281. OPERATION_POINT_NAME "text"
  282. from RMS_OPERATION_POINT
  283. <where>
  284. DELETED = 0
  285. <if test="operationPointType!=null and operationPointType!=''">
  286. AND REGEXP_LIKE(OPERATION_POINT_TYPE, #{operationPointType})
  287. </if>
  288. <if test="receivingPointId!=null and receivingPointId!=''">
  289. AND OPERATION_POINT_ID = #{receivingPointId}
  290. </if>
  291. <if test="shippingPointId!=null and shippingPointId!=''">
  292. AND OPERATION_POINT_ID = #{shippingPointId}
  293. </if>
  294. <if test="index!=null and index!=''">
  295. AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
  296. </if>
  297. </where>
  298. FETCH NEXT 10 ROWS ONLY
  299. )
  300. <if test="id!=null and id.size>0">
  301. UNION select
  302. OPERATION_POINT_ID "id",
  303. OPERATION_POINT_ID "value",
  304. OPERATION_POINT_NAME "label",
  305. OPERATION_POINT_NAME "text"
  306. from RMS_OPERATION_POINT
  307. where OPERATION_POINT_ID in
  308. <foreach collection="id" item="item" open="(" close=")" separator="," >
  309. #{item}
  310. </foreach>
  311. </if>
  312. </select>
  313. <select id="getPersonnelByLike" resultType="java.util.Map">
  314. select * from (
  315. select * from (
  316. select
  317. PERSONNEL_ID "personnelId",
  318. PERSONNEL_NAME "personnelName",
  319. PERSONNEL_POST "personnelPost",
  320. PERSONNEL_PHONE "personnelPhone",
  321. PERSONNEL_ID "id",
  322. PERSONNEL_ID "value",
  323. PERSONNEL_NAME "label",
  324. PERSONNEL_NAME "text",
  325. 'personnelName' "prop"
  326. from RMS_PERSONNEL
  327. where DELETED = 0
  328. <if test="isNC!=null">
  329. AND SOURCE_ID IS NOT NULL
  330. </if>
  331. )
  332. <where>
  333. <if test="personnelPost!=null and personnelPost!=''">
  334. AND "personnelPost" = #{personnelPost}
  335. </if>
  336. <if test="personnelId!=null and personnelId!=''">
  337. AND "personnelId" = #{personnelId})
  338. </if>
  339. <if test="driverId!=null and driverId!=''">
  340. AND "personnelId" = #{driverId})
  341. </if>
  342. <if test="driverId2!=null and driverId2!=''">
  343. AND "personnelId" = #{driverId2})
  344. </if>
  345. <if test="index!=null and index!=''">
  346. AND REGEXP_LIKE("label", #{index})
  347. </if>
  348. </where>
  349. FETCH NEXT 10 ROWS ONLY
  350. )
  351. <if test="id!=null and id.size>0">
  352. UNION
  353. select
  354. PERSONNEL_ID "personnelId",
  355. PERSONNEL_NAME "personnelName",
  356. PERSONNEL_POST "personnelPost",
  357. PERSONNEL_PHONE "personnelPhone",
  358. PERSONNEL_ID "id",
  359. PERSONNEL_ID "value",
  360. PERSONNEL_NAME "label",
  361. PERSONNEL_NAME "text",
  362. 'personnelName' "prop"
  363. from RMS_PERSONNEL
  364. WHERE PERSONNEL_ID in
  365. <foreach collection="id" item="item" open="(" close=")" separator="," >
  366. #{item}
  367. </foreach>
  368. </if>
  369. </select>
  370. <select id="getCapacityByLike" resultType="java.util.Map">
  371. select * from (
  372. SELECT DISTINCT
  373. RCA .CAPACITY_ID "capacityId",
  374. RCA .CAPACITY_ID "id",
  375. RCA .CAPACITY_ID "value",
  376. RCA .CAPACITY_NUMBER "label",
  377. RCA .CAPACITY_NUMBER "text",
  378. RCA.CAPACITY_NUMBER "capacityNumber",
  379. 'capacityNumber' "prop"
  380. FROM RMS_CAPACITY RCA
  381. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  382. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  383. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  384. WHERE RCA .DELETED = 0
  385. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  386. AND RC.SSO_CODE = #{orgCode}
  387. </if>
  388. <if test="capacityType != null and capacityType != '' ">
  389. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  390. </if>
  391. <if test="capacityType == null">
  392. AND RCT.CAPACITY_TYPE_NAME != '火车'
  393. </if>
  394. <if test="index!=null and index!=''">
  395. AND REGEXP_LIKE(RCA .CAPACITY_NUMBER, #{index})
  396. </if>
  397. <if test="capacityId!=null and capacityId!=''">
  398. AND RCA .CAPACITY_ID = #{capacityId}
  399. </if>
  400. FETCH NEXT 10 ROWS ONLY
  401. )
  402. <if test="id!=null and id.size>0">
  403. UNION
  404. SELECT DISTINCT
  405. RCA .CAPACITY_ID "capacityId",
  406. RCA .CAPACITY_ID "id",
  407. RCA .CAPACITY_ID "value",
  408. RCA .CAPACITY_NUMBER "label",
  409. RCA .CAPACITY_NUMBER "text",
  410. RCA.CAPACITY_NUMBER "capacityNumber",
  411. 'capacityNumber' "prop"
  412. FROM RMS_CAPACITY RCA
  413. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  414. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  415. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  416. WHERE RCA .CAPACITY_ID in
  417. <foreach collection="id" item="item" open="(" close=")" separator="," >
  418. #{item}
  419. </foreach>
  420. </if>
  421. </select>
  422. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  423. select * from(
  424. select
  425. RC.JOB_ID "jboId",
  426. RC.JOB_NAME "jobName",
  427. RC.JOB_ID "id",
  428. RC.JOB_ID "value",
  429. RC.JOB_NAME "label",
  430. RC.JOB_NAME "text"
  431. from RMS_JOB_INFO RC
  432. where DELETED = 0
  433. )
  434. <where>
  435. <if test="index!=null and index!=''">
  436. AND REGEXP_LIKE("label", #{index})
  437. </if>
  438. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  439. AND "id" in
  440. <foreach collection="id" item="item" open="(" close=")" separator="," >
  441. #{item}
  442. </foreach>
  443. </if>
  444. </where>
  445. FETCH NEXT 10 ROWS ONLY
  446. </select>
  447. <select id="getTransRangeByLike" resultType="java.util.Map">
  448. select * from(
  449. select
  450. RC.TRANS_RANGE_ID "transrangeId",
  451. RC.TRANS_RANGE_NAME "transrangeName",
  452. RC.TRANS_RANGE_ID "operationRangeId",
  453. RC.TRANS_RANGE_NAME "operationRangeName",
  454. RC.TRANS_RANGE_ID "id",
  455. RC.TRANS_RANGE_ID "value",
  456. RC.TRANS_RANGE_NAME "label",
  457. RC.TRANS_RANGE_NAME "text",
  458. rc.START_POINT_ID "shippingPointId",
  459. rc.END_POINT_ID "receivingPointId",
  460. rc.LINE_ID "lineId",
  461. 'operationRangeName' "prop"
  462. from RMS_TRANS_RANGE RC
  463. where DELETED = 0
  464. )
  465. <where>
  466. <if test="index!=null and index!=''">
  467. AND REGEXP_LIKE("label", #{index})
  468. </if>
  469. <if test="transrangeId!=null and transrangeId!=''">
  470. AND "transrangeId" = #{transrangeId}
  471. </if>
  472. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  473. AND "id" in
  474. <foreach collection="id" item="item" open="(" close=")" separator="," >
  475. #{item}
  476. </foreach>
  477. </if>
  478. </where>
  479. FETCH NEXT 10 ROWS ONLY
  480. </select>
  481. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  482. select * from(
  483. select
  484. RC.RULES_ID "rulesId",
  485. RC.RULES_CODE "rulesCode",
  486. RC.RULES_ID "id",
  487. RC.RULES_ID "value",
  488. RC.RULES_CODE "label",
  489. RC.RULES_CODE "text"
  490. from RMS_DEMAND_RULES RC
  491. where DELETED = 0
  492. )
  493. <where>
  494. <if test="index!=null and index!=''">
  495. AND REGEXP_LIKE("label", #{index})
  496. </if>
  497. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  498. AND "id" in
  499. <foreach collection="id" item="item" open="(" close=")" separator="," >
  500. #{item}
  501. </foreach>
  502. </if>
  503. </where>
  504. FETCH NEXT 10 ROWS ONLY
  505. </select>
  506. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  507. select * from(
  508. select
  509. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  510. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  511. RCT.CAPACITY_TYPE_ID "id",
  512. RCT.CAPACITY_TYPE_ID "value",
  513. RCT.CAPACITY_TYPE_NAME "label",
  514. RCT.CAPACITY_TYPE_NAME "text",
  515. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  516. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  517. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  518. 'capacityTypeName' "prop"
  519. from RMS_CAPACITY_TYPE RCT
  520. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  521. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  522. <where>
  523. RCT.DELETED=0
  524. <if test="index!=null and index!=''">
  525. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  526. </if>
  527. <if test="capacityTypeId!=null and capacityTypeId!=''">
  528. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  529. </if>
  530. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  531. and
  532. RCT.CAPACITY_TYPE_NAME in
  533. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  534. #{item}
  535. </foreach>
  536. </if>
  537. </where>
  538. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  539. FETCH NEXT 10 ROWS ONLY
  540. )
  541. <if test="id!=null and id.size>0">
  542. UNION
  543. select
  544. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  545. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  546. RCT.CAPACITY_TYPE_ID "id",
  547. RCT.CAPACITY_TYPE_ID "value",
  548. RCT.CAPACITY_TYPE_NAME "label",
  549. RCT.CAPACITY_TYPE_NAME "text",
  550. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  551. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  552. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  553. 'capacityTypeName' "prop"
  554. from RMS_CAPACITY_TYPE RCT
  555. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  556. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  557. WHERE RCT.CAPACITY_TYPE_ID in
  558. <foreach collection="id" item="item" open="(" close=")" separator="," >
  559. #{item}
  560. </foreach>
  561. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  562. and
  563. RCT.CAPACITY_TYPE_NAME in
  564. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  565. #{item}
  566. </foreach>
  567. </if>
  568. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  569. </if>
  570. </select>
  571. <select id="getLineByLike" resultType="java.util.Map">
  572. select * from(
  573. select * from(
  574. select
  575. RL.LINE_ID "lineId",
  576. RL.LINE_NAME "lineName",
  577. RL.LINE_ID "id",
  578. RL.LINE_ID "value",
  579. RL.LINE_NAME "label",
  580. RL.LINE_NAME "text",
  581. NVL(RL_TEMP."points",'无') "points",
  582. RL.LINE_TYPE "lineType",
  583. 'lineName' "prop"
  584. from RMS_LINE RL
  585. LEFT JOIN
  586. (
  587. SELECT
  588. RLS .LINE_ID "lineId",
  589. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  590. FROM
  591. RMS_LINE_STEP RLS
  592. LEFT JOIN RMS_STEP_POINT RSP
  593. ON RLS .STEP_ID = RSP .STEP_ID
  594. LEFT JOIN RMS_OPERATION_POINT ROP
  595. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  596. GROUP BY RLS .LINE_ID
  597. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  598. where DELETED = 0
  599. )
  600. <where>
  601. <if test="index!=null and index!=''">
  602. AND REGEXP_LIKE("label" || "points", #{index})
  603. </if>
  604. <if test="lineId!=null and lineId!=''">
  605. AND "lineId" = #{lineId}
  606. </if>
  607. <if test="lineType!=null and lineType!=''">
  608. AND REGEXP_LIKE("lineType" , #{lineType})
  609. </if>
  610. </where>
  611. FETCH NEXT 10 ROWS ONLY
  612. )
  613. <if test="id!=null and id.size>0">
  614. UNION
  615. select
  616. RL.LINE_ID "lineId",
  617. RL.LINE_NAME "lineName",
  618. RL.LINE_ID "id",
  619. RL.LINE_ID "value",
  620. RL.LINE_NAME "label",
  621. RL.LINE_NAME "text",
  622. NVL(RL_TEMP."points",'无') "points",
  623. RL.LINE_TYPE "lineType",
  624. 'lineName' "prop"
  625. from RMS_LINE RL
  626. LEFT JOIN
  627. (
  628. SELECT
  629. RLS .LINE_ID "lineId",
  630. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  631. FROM
  632. RMS_LINE_STEP RLS
  633. LEFT JOIN RMS_STEP_POINT RSP
  634. ON RLS .STEP_ID = RSP .STEP_ID
  635. LEFT JOIN RMS_OPERATION_POINT ROP
  636. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  637. GROUP BY RLS .LINE_ID
  638. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  639. where RL.LINE_ID in
  640. <foreach collection="id" item="item" open="(" close=")" separator="," >
  641. #{item}
  642. </foreach>
  643. </if>
  644. </select>
  645. <select id="getMaterialByLike" resultType="java.util.Map">
  646. select * from(
  647. select
  648. RC.MATERIAL_ID "materialId",
  649. RC.MATERIAL_NAME "materialName",
  650. RC.MATERIAL_ID "id",
  651. RC.MATERIAL_ID "value",
  652. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  653. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  654. THEN '-' || RC.MATERIAL_SPECIFICATION
  655. WHEN RC.MATERIAL_MODEL IS NOT NULL
  656. THEN '-' || RC.MATERIAL_MODEL
  657. ELSE ''
  658. END) "label",
  659. RC.MATERIAL_NAME "text",
  660. 'materialName' "prop"
  661. from RMS_MATERIAL RC
  662. <where>
  663. DELETED = 0
  664. <if test="index!=null and index!=''">
  665. AND REGEXP_LIKE(RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  666. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  667. THEN '-' || RC.MATERIAL_SPECIFICATION
  668. WHEN RC.MATERIAL_MODEL IS NOT NULL
  669. THEN '-' || RC.MATERIAL_MODEL
  670. ELSE ''
  671. END), #{index})
  672. </if>
  673. <if test="materialId!=null and materialId!=''">
  674. AND RC.MATERIAL_ID = #{materialId}
  675. </if>
  676. </where>
  677. FETCH NEXT 10 ROWS ONLY
  678. )
  679. <if test="id!=null and id.size>0">
  680. UNION
  681. select
  682. RC.MATERIAL_ID "id",
  683. RC.MATERIAL_ID "value",
  684. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  685. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  686. THEN '-' || RC.MATERIAL_SPECIFICATION
  687. WHEN RC.MATERIAL_MODEL IS NOT NULL
  688. THEN '-' || RC.MATERIAL_MODEL
  689. ELSE ''
  690. END) "label",
  691. RC.MATERIAL_NAME "text"
  692. from RMS_MATERIAL RC
  693. WHERE RC.MATERIAL_ID in
  694. <foreach collection="id" item="item" open="(" close=")" separator="," >
  695. #{item}
  696. </foreach>
  697. </if>
  698. </select>
  699. <select id="countTrainLoad" resultType="java.lang.Integer">
  700. SELECT COUNT(*)
  701. FROM TMS_LOAD_RESULT TLR
  702. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  703. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  704. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  705. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  706. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  707. <where>
  708. OTO.DELETED != 1
  709. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  710. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  711. AND OTO.CAPACITY_ID IN
  712. <foreach collection="list" item="item" open="(" close=")" separator="," >
  713. #{item.车号}
  714. </foreach>
  715. </where>
  716. </select>
  717. <select id="getBusinessTypeLike" resultType="java.util.Map">
  718. select * from(
  719. select * from(
  720. select
  721. DBT.BUSINESS_TYPE_ID "businessTypeId",
  722. DBT.BUSINESS_TYPE_ID "id",
  723. DBT.BUSINESS_TYPE_ID "value",
  724. DBT.BUSINESS_TYPE_NAME "text",
  725. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  726. DBT.BUSINESS_SCENE "businessScene",
  727. DBT.BUSINESS_TYPE_NAME "label",
  728. DBT.ALTERNATE_FIELDS1 "transportType",
  729. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  730. from DIL_BUSINESS_TYPE DBT
  731. )
  732. <where>
  733. <if test="index!=null and index!=''">
  734. AND REGEXP_LIKE("label", #{index})
  735. </if>
  736. <if test="businessType!=null and businessType!=''">
  737. AND "businessTypeId" = #{businessType}
  738. </if>
  739. <if test="businessScene!=null and businessScene!=''">
  740. AND "businessScene" = #{businessScene}
  741. </if>
  742. <if test="transportType!=null and transportType!=''">
  743. AND REGEXP_LIKE("transportType", #{transportType})
  744. </if>
  745. <if test="materialTypeName!=null and materialTypeName!=''">
  746. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  747. </if>
  748. </where>
  749. FETCH NEXT 10 ROWS ONLY
  750. )
  751. <if test="id!=null and id.size > 0">
  752. UNION
  753. select
  754. DBT.BUSINESS_TYPE_ID "businessTypeId",
  755. DBT.BUSINESS_TYPE_ID "id",
  756. DBT.BUSINESS_TYPE_ID "value",
  757. DBT.BUSINESS_TYPE_NAME "text",
  758. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  759. DBT.BUSINESS_SCENE "businessScene",
  760. DBT.BUSINESS_TYPE_NAME "label",
  761. DBT.ALTERNATE_FIELDS1 "transportType",
  762. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  763. from DIL_BUSINESS_TYPE DBT
  764. WHERE DBT.BUSINESS_TYPE_ID in
  765. <foreach collection="id" item="item" open="(" close=")" separator=",">
  766. #{item}
  767. </foreach>
  768. </if>
  769. </select>
  770. <select id="findTrainWeight" resultType="java.util.Map">
  771. <foreach collection="list" item="item" separator=" UNION " >
  772. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  773. OOC .ORDER_CHILD_ID "transOrderChildId",
  774. TWR .RESULT_ID "resultId",
  775. #{item.车号} "capacityId",
  776. #{item.净重} "netWeight",
  777. #{item.皮重} "tareWeight",
  778. #{item.毛重} "grossWeight"
  779. FROM OMS_TRANS_ORDER OTO
  780. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  781. LEFT JOIN TMS_WEIGHT_RESULT TWR
  782. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  783. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  784. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  785. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  786. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  787. <where>
  788. OTO.DELETED != 1
  789. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  790. AND OTO.CAPACITY_ID = #{item.车号}
  791. </where>
  792. </foreach>
  793. </select>
  794. <select id="findTrainUnload" resultType="java.util.Map">
  795. <foreach collection="list" item="item" separator=" UNION " >
  796. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  797. OOC .ORDER_CHILD_ID "transOrderChildId",
  798. TUR .RESULT_ID "resultId",
  799. ARC .RECEIVING_POINT_ID "unloadPointId",
  800. APC .MATERIAL_ID "materialId",
  801. #{item.车号} "capacityId",
  802. #{item.净重} "unloadWeight"
  803. FROM OMS_TRANS_ORDER OTO
  804. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  805. LEFT JOIN TMS_UNLOAD_RESULT TUR
  806. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  807. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  808. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  809. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  810. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  811. <where>
  812. OTO.DELETED != 1
  813. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  814. AND OTO.CAPACITY_ID = #{item.车号}
  815. </where>
  816. </foreach>
  817. </select>
  818. <select id="getOrderIds" resultType="java.util.Map">
  819. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  820. left join RMS_PERSONNEL RP
  821. on rp.PERSONNEL_ID = oto.DRIVER_ID
  822. left join RMS_PERSONNEL RP2
  823. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  824. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  825. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  826. and oto.deleted = 5
  827. </select>
  828. <select id="getFuelTypeByLike" resultType="java.util.Map">
  829. select * from(
  830. SELECT
  831. FUEL_TYPE_ID "fuelTypeId",
  832. FUEL_TYPE_NAME "fuelTypeName",
  833. FUEL_TYPE_ID "id",
  834. FUEL_TYPE_ID "value",
  835. FUEL_TYPE_NAME "text",
  836. FUEL_TYPE_NAME "label"
  837. FROM RMS_FUEL_TYPE
  838. <where>
  839. DELETED = 0
  840. <if test="index!=null and index!=''">
  841. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  842. </if>
  843. </where>
  844. FETCH NEXT 10 ROWS ONLY
  845. )
  846. <if test="id!=null and id.size > 0">
  847. UNION
  848. SELECT
  849. FUEL_TYPE_ID "fuelTypeId",
  850. FUEL_TYPE_NAME "fuelTypeName",
  851. FUEL_TYPE_ID "id",
  852. FUEL_TYPE_ID "value",
  853. FUEL_TYPE_NAME "text",
  854. FUEL_TYPE_NAME "label"
  855. FROM RMS_FUEL_TYPE
  856. WHERE FUEL_TYPE_ID in
  857. <foreach collection="id" item="item" open="(" close=")" separator="," >
  858. #{item}
  859. </foreach>
  860. </if>
  861. </select>
  862. <select id="getDemandRulesCode" resultType="java.util.Map">
  863. SELECT * FROM (
  864. SELECT RDB.BILLING_TYPE "billingType",
  865. RDB.BUSINESS_TYPE "businessType",
  866. rdb.LINE_ID "lineId",
  867. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  868. RDB.MATERIAL_TYPE_ID "operationsNameId",
  869. RDB.TRANS_RANGE_ID "operationRange",
  870. rdb.COMPANY_ID "businessCompanyId",
  871. RDB.RULES_ID "value",
  872. RDB.RULES_CODE "label",
  873. ROP.OPERATION_POINT_ID "shippingPointId",
  874. ROP2.OPERATION_POINT_ID "receivingPointId"
  875. FROM RMS_DEMAND_RULES RDB
  876. LEFT JOIN RMS_TRANS_RANGE RTR
  877. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  878. LEFT JOIN RMS_OPERATION_POINT ROP
  879. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  880. LEFT JOIN RMS_OPERATION_POINT ROP2
  881. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  882. )
  883. <where>
  884. <if test="index!=null and index!=''">
  885. AND REGEXP_LIKE("label", #{index})
  886. </if>
  887. <if test="businessCompanyId!=null and businessCompanyId!=''">
  888. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  889. </if>
  890. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  891. </where>
  892. </select>
  893. <select id="getIdCardCode" resultType="java.lang.String">
  894. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  895. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  896. FETCH NEXT 1 ROWS ONLY
  897. </select>
  898. <select id="getMaterial" parameterType="java.util.Map" resultType="java.util.Map">
  899. select t.prod_code_pk as "prodCodePk",
  900. b.material_id as "materialId",
  901. b.material_code as "prodCode",
  902. b.material_name as "prodName",
  903. b.material_model as "steelName",
  904. t.create_emp as "createEmp",
  905. t.create_time as "createTime",
  906. b.material_specification as "specName",
  907. nvl(substr(b.material_specification,
  908. decode(instr(b.material_specification, '/'),
  909. 0,
  910. 100,
  911. instr(b.material_specification, '/')) + 1),
  912. 12) * b.material_theoretical_weight / 1000 as "weight"
  913. from rms_material b
  914. left join rms_material_map t
  915. on t.prod_code_l = b.material_code
  916. <where>
  917. <if test="prodCode != null and prodCode != ''">
  918. and t.prod_code = #{prodCode}
  919. </if>
  920. </where>
  921. union all
  922. select '' as "prodCodePk",
  923. b.material_id as "materialId",
  924. b.material_code as "prodCode",
  925. b.material_name as "prodName",
  926. b.material_model as "steelName",
  927. '' as "createEmp",
  928. sysdate as "createTime",
  929. b.material_specification as "specName",
  930. nvl(substr(b.material_specification,
  931. decode(instr(b.material_specification, '/'),
  932. 0,
  933. 100,
  934. instr(b.material_specification, '/')) + 1),
  935. 12) * b.material_theoretical_weight / 1000 as "weight"
  936. from rms_material b
  937. <where>
  938. <if test="prodCode != null and prodCode != ''">
  939. and b.material_code = #{prodCode}
  940. </if>
  941. <if test="materialId != null and materialId != ''">
  942. and b.material_id = #{materialId}
  943. </if>
  944. </where>
  945. </select>
  946. </mapper>