UniversalMapper.xml 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905
  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. <if test="companyType==null">
  95. RC.COMPANY_TYPE || '-' ||
  96. </if>
  97. RC.COMPANY_NAME "label",
  98. RC.COMPANY_NAME "text",
  99. T2 ."rootCompanyId",
  100. T2 ."rootCompanyName",
  101. 'label' "prop"
  102. from RMS_COMPANY RC
  103. LEFT JOIN (
  104. SELECT "companyId",MAX("level") "rootIndex" FROM
  105. (
  106. SELECT
  107. RC.COMPANY_ID "rootCompanyId",
  108. RC.COMPANY_NAME "rootCompanyName",
  109. LEVEL "level",
  110. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  111. FROM
  112. RMS_COMPANY RC
  113. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  114. )
  115. GROUP BY "companyId"
  116. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  117. LEFT JOIN
  118. (
  119. SELECT
  120. RC.COMPANY_ID "rootCompanyId",
  121. RC.COMPANY_NAME "rootCompanyName",
  122. LEVEL "level",
  123. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  124. FROM
  125. RMS_COMPANY RC
  126. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  127. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  128. <where>
  129. DELETED = 0
  130. <if test="companyType!=null and companyType!=''">
  131. AND RC.COMPANY_TYPE = #{companyType}
  132. </if>
  133. <if test="companyId!=null and companyId!=''">
  134. AND RC.COMPANY_ID = #{companyId}
  135. </if>
  136. <if test="businessCompanyId!=null and businessCompanyId!=''">
  137. AND RC.COMPANY_ID = #{businessCompanyId}
  138. </if>
  139. <if test="supplierCompanyId!=null and supplierCompanyId!=''">
  140. AND RC.COMPANY_ID = #{supplierCompanyId}
  141. </if>
  142. <if test="receiveCompanyId!=null and receiveCompanyId!=''">
  143. AND RC.COMPANY_ID = #{receiveCompanyId}
  144. </if>
  145. <if test="carrierId!=null and carrierId!=''">
  146. AND RC.COMPANY_ID = #{carrierId}
  147. </if>
  148. <if test="index!=null and index!=''">
  149. AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
  150. </if>
  151. <if test="roleCodes.contains('shippingCompany') and dilCompanyList != null and dilCompanyList.size > 0">
  152. or RC.COMPANY_ID in
  153. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  154. <if test="companyType == '发货单位'">
  155. #{item.companyId}
  156. </if>
  157. </foreach>
  158. </if>
  159. <if test="roleCodes.contains('recevingCompany') and dilCompanyList != null and dilCompanyList.size > 0">
  160. or RC.COMPANY_ID in
  161. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  162. <if test="companyType == '收货单位'">
  163. #{item.companyId}
  164. </if>
  165. </foreach>
  166. </if>
  167. <if test="roleCodes.contains('carrierCompany') and dilCompanyList != null and dilCompanyList.size > 0">
  168. or RC.COMPANY_ID in
  169. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  170. <if test="companyType == '承运单位'">
  171. #{item.companyId}
  172. </if>
  173. </foreach>
  174. </if>
  175. <if test="roleCodes.contains('businessCompany') and dilCompanyList != null and dilCompanyList.size > 0">
  176. or RC.COMPANY_ID in
  177. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  178. <if test="companyType == '业务单位'">
  179. #{item.companyId}
  180. </if>
  181. </foreach>
  182. </if>
  183. </where>
  184. <if test="noRow == null">
  185. order by LENGTH(company_name)
  186. FETCH NEXT 10 ROWS ONLY
  187. </if>
  188. )
  189. <if test="id!=null and id.size>0">
  190. UNION
  191. select
  192. RC.SSO_ID "ssoId",
  193. RC.SSO_CODE "ssoCode",
  194. RC.COMPANY_ID "id",
  195. RC.COMPANY_ID "key",
  196. RC.COMPANY_ID "value",
  197. <if test="companyType==null">
  198. RC.COMPANY_TYPE || '-' ||
  199. </if>
  200. RC.COMPANY_NAME "label",
  201. RC.COMPANY_NAME "text",
  202. T2 ."rootCompanyId",
  203. T2 ."rootCompanyName",
  204. 'label' "prop"
  205. from RMS_COMPANY RC
  206. LEFT JOIN (
  207. SELECT "companyId",MAX("level") "rootIndex" FROM
  208. (
  209. SELECT
  210. RC.COMPANY_ID "rootCompanyId",
  211. RC.COMPANY_NAME "rootCompanyName",
  212. LEVEL "level",
  213. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  214. FROM
  215. RMS_COMPANY RC
  216. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  217. )
  218. GROUP BY "companyId"
  219. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  220. LEFT JOIN
  221. (
  222. SELECT
  223. RC.COMPANY_ID "rootCompanyId",
  224. RC.COMPANY_NAME "rootCompanyName",
  225. LEVEL "level",
  226. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  227. FROM
  228. RMS_COMPANY RC
  229. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  230. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  231. where RC.COMPANY_ID in
  232. <foreach collection="id" item="item" open="(" close=")" separator="," >
  233. #{item}
  234. </foreach>
  235. </if>
  236. </select>
  237. <select id="getMaterialTypeByLike" resultType="java.util.Map">
  238. select * from(
  239. select * from(
  240. select
  241. MATERIAL_TYPE_ID "id",
  242. MATERIAL_TYPE_ID "value",
  243. MATERIAL_TYPE_NAME "label",
  244. MATERIAL_TYPE_NAME "text",
  245. REMARK "remark"
  246. from RMS_MATERIAL_TYPE
  247. where DELETED = 0
  248. )
  249. <where>
  250. <if test="index!=null and index!=''">
  251. AND REGEXP_LIKE("label", #{index})
  252. </if>
  253. <if test="remark!=null and remark!=''">
  254. AND REGEXP_LIKE("remark", #{remark})
  255. </if>
  256. </where>
  257. FETCH NEXT 10 ROWS ONLY
  258. )
  259. <if test="id!=null and id.size>0">
  260. UNION
  261. select
  262. MATERIAL_TYPE_ID "id",
  263. MATERIAL_TYPE_ID "value",
  264. MATERIAL_TYPE_NAME "label",
  265. MATERIAL_TYPE_NAME "text",
  266. REMARK "remark"
  267. from RMS_MATERIAL_TYPE
  268. where MATERIAL_TYPE_ID in
  269. <foreach collection="id" item="item" open="(" close=")" separator="," >
  270. #{item}
  271. </foreach>
  272. </if>
  273. </select>
  274. <select id="getEmissionStandardByLike" resultType="java.util.Map">
  275. select * from (
  276. select
  277. EMISSION_STANDARD_ID "emissionStandardId",
  278. EMISSION_STANDARD_NAME "emissionStandardName",
  279. EMISSION_STANDARD_ID "id",
  280. EMISSION_STANDARD_ID "value",
  281. EMISSION_STANDARD_NAME "label",
  282. EMISSION_STANDARD_NAME "text"
  283. from RMS_EMISSION_STANDARD
  284. where DELETED = 0
  285. )
  286. <where>
  287. <if test="index!=null and index!=''">
  288. AND REGEXP_LIKE("label", #{index})
  289. </if>
  290. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  291. AND "id" in
  292. <foreach collection="id" item="item" open="(" close=")" separator="," >
  293. #{item}
  294. </foreach>
  295. </if>
  296. </where>
  297. FETCH NEXT 10 ROWS ONLY
  298. </select>
  299. <select id="getOperationPointByLike" resultType="java.util.Map">
  300. SELECT * FROM (
  301. 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>
  308. DELETED = 0
  309. <if test="operationPointType!=null and operationPointType!=''">
  310. AND REGEXP_LIKE(OPERATION_POINT_TYPE, #{operationPointType})
  311. </if>
  312. <if test="receivingPointId!=null and receivingPointId!=''">
  313. AND OPERATION_POINT_ID = #{receivingPointId}
  314. </if>
  315. <if test="shippingPointId!=null and shippingPointId!=''">
  316. AND OPERATION_POINT_ID = #{shippingPointId}
  317. </if>
  318. <if test="index!=null and index!=''">
  319. AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
  320. </if>
  321. </where>
  322. FETCH NEXT 10 ROWS ONLY
  323. )
  324. <if test="id!=null and id.size>0">
  325. UNION select
  326. OPERATION_POINT_ID "id",
  327. OPERATION_POINT_ID "value",
  328. OPERATION_POINT_NAME "label",
  329. OPERATION_POINT_NAME "text"
  330. from RMS_OPERATION_POINT
  331. where OPERATION_POINT_ID in
  332. <foreach collection="id" item="item" open="(" close=")" separator="," >
  333. #{item}
  334. </foreach>
  335. </if>
  336. </select>
  337. <select id="getPersonnelByLike" resultType="java.util.Map">
  338. select * from (
  339. select * from (
  340. select
  341. PERSONNEL_ID "personnelId",
  342. PERSONNEL_NAME "personnelName",
  343. PERSONNEL_POST "personnelPost",
  344. PERSONNEL_PHONE "personnelPhone",
  345. PERSONNEL_ID "id",
  346. PERSONNEL_ID "value",
  347. PERSONNEL_NAME "label",
  348. PERSONNEL_NAME "text",
  349. 'personnelName' "prop"
  350. from RMS_PERSONNEL
  351. where DELETED = 0
  352. <if test="isNC!=null">
  353. AND SOURCE_ID IS NOT NULL
  354. </if>
  355. )
  356. <where>
  357. <if test="personnelPost!=null and personnelPost!=''">
  358. AND "personnelPost" = #{personnelPost}
  359. </if>
  360. <if test="personnelId!=null and personnelId!=''">
  361. AND "personnelId" = #{personnelId})
  362. </if>
  363. <if test="driverId!=null and driverId!=''">
  364. AND "personnelId" = #{driverId})
  365. </if>
  366. <if test="driverId2!=null and driverId2!=''">
  367. AND "personnelId" = #{driverId2})
  368. </if>
  369. <if test="index!=null and index!=''">
  370. AND REGEXP_LIKE("label", #{index})
  371. </if>
  372. </where>
  373. FETCH NEXT 10 ROWS ONLY
  374. )
  375. <if test="id!=null and id.size>0">
  376. UNION
  377. select
  378. PERSONNEL_ID "personnelId",
  379. PERSONNEL_NAME "personnelName",
  380. PERSONNEL_POST "personnelPost",
  381. PERSONNEL_PHONE "personnelPhone",
  382. PERSONNEL_ID "id",
  383. PERSONNEL_ID "value",
  384. PERSONNEL_NAME "label",
  385. PERSONNEL_NAME "text",
  386. 'personnelName' "prop"
  387. from RMS_PERSONNEL
  388. WHERE PERSONNEL_ID in
  389. <foreach collection="id" item="item" open="(" close=")" separator="," >
  390. #{item}
  391. </foreach>
  392. </if>
  393. </select>
  394. <select id="getCapacityByLike" resultType="java.util.Map">
  395. select * from (
  396. SELECT DISTINCT
  397. RCA .CAPACITY_ID "capacityId",
  398. RCA .CAPACITY_ID "id",
  399. RCA .CAPACITY_ID "value",
  400. RCA .CAPACITY_NUMBER "label",
  401. RCA .CAPACITY_NUMBER "text",
  402. RCA.CAPACITY_NUMBER "capacityNumber",
  403. 'capacityNumber' "prop"
  404. FROM RMS_CAPACITY RCA
  405. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  406. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  407. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  408. WHERE RCA .DELETED = 0
  409. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  410. AND RC.SSO_CODE = #{orgCode}
  411. </if>
  412. <if test="capacityType != null and capacityType != '' ">
  413. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  414. </if>
  415. <if test="capacityType == null">
  416. AND RCT.CAPACITY_TYPE_NAME != '火车'
  417. </if>
  418. <if test="index!=null and index!=''">
  419. AND REGEXP_LIKE(RCA .CAPACITY_NUMBER, #{index})
  420. </if>
  421. <if test="capacityId!=null and capacityId!=''">
  422. AND RCA .CAPACITY_ID = #{capacityId}
  423. </if>
  424. FETCH NEXT 10 ROWS ONLY
  425. )
  426. <if test="id!=null and id.size>0">
  427. UNION
  428. SELECT DISTINCT
  429. RCA .CAPACITY_ID "capacityId",
  430. RCA .CAPACITY_ID "id",
  431. RCA .CAPACITY_ID "value",
  432. RCA .CAPACITY_NUMBER "label",
  433. RCA .CAPACITY_NUMBER "text",
  434. RCA.CAPACITY_NUMBER "capacityNumber",
  435. 'capacityNumber' "prop"
  436. FROM RMS_CAPACITY RCA
  437. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  438. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  439. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  440. WHERE RCA .CAPACITY_ID in
  441. <foreach collection="id" item="item" open="(" close=")" separator="," >
  442. #{item}
  443. </foreach>
  444. </if>
  445. </select>
  446. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  447. select * from(
  448. select
  449. RC.JOB_ID "jboId",
  450. RC.JOB_NAME "jobName",
  451. RC.JOB_ID "id",
  452. RC.JOB_ID "value",
  453. RC.JOB_NAME "label",
  454. RC.JOB_NAME "text"
  455. from RMS_JOB_INFO RC
  456. where DELETED = 0
  457. )
  458. <where>
  459. <if test="index!=null and index!=''">
  460. AND REGEXP_LIKE("label", #{index})
  461. </if>
  462. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  463. AND "id" in
  464. <foreach collection="id" item="item" open="(" close=")" separator="," >
  465. #{item}
  466. </foreach>
  467. </if>
  468. </where>
  469. FETCH NEXT 10 ROWS ONLY
  470. </select>
  471. <select id="getTransRangeByLike" resultType="java.util.Map">
  472. select * from(
  473. select
  474. RC.TRANS_RANGE_ID "transrangeId",
  475. RC.TRANS_RANGE_NAME "transrangeName",
  476. RC.TRANS_RANGE_ID "id",
  477. RC.TRANS_RANGE_ID "value",
  478. RC.TRANS_RANGE_NAME "label",
  479. RC.TRANS_RANGE_NAME "text",
  480. rc.START_POINT_ID "shippingPointId",
  481. rc.END_POINT_ID "receivingPointId"
  482. from RMS_TRANS_RANGE RC
  483. where DELETED = 0
  484. )
  485. <where>
  486. <if test="index!=null and index!=''">
  487. AND REGEXP_LIKE("label", #{index})
  488. </if>
  489. <if test="transrangeId!=null and transrangeId!=''">
  490. AND "transrangeId" = #{transrangeId}
  491. </if>
  492. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  493. AND "id" in
  494. <foreach collection="id" item="item" open="(" close=")" separator="," >
  495. #{item}
  496. </foreach>
  497. </if>
  498. </where>
  499. FETCH NEXT 10 ROWS ONLY
  500. </select>
  501. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  502. select * from(
  503. select
  504. RC.RULES_ID "rulesId",
  505. RC.RULES_CODE "rulesCode",
  506. RC.RULES_ID "id",
  507. RC.RULES_ID "value",
  508. RC.RULES_CODE "label",
  509. RC.RULES_CODE "text"
  510. from RMS_DEMAND_RULES RC
  511. where DELETED = 0
  512. )
  513. <where>
  514. <if test="index!=null and index!=''">
  515. AND REGEXP_LIKE("label", #{index})
  516. </if>
  517. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  518. AND "id" in
  519. <foreach collection="id" item="item" open="(" close=")" separator="," >
  520. #{item}
  521. </foreach>
  522. </if>
  523. </where>
  524. FETCH NEXT 10 ROWS ONLY
  525. </select>
  526. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  527. select * from(
  528. select
  529. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  530. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  531. RCT.CAPACITY_TYPE_ID "id",
  532. RCT.CAPACITY_TYPE_ID "value",
  533. RCT.CAPACITY_TYPE_NAME "label",
  534. RCT.CAPACITY_TYPE_NAME "text",
  535. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  536. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  537. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes"
  538. from RMS_CAPACITY_TYPE RCT
  539. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  540. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  541. <where>
  542. RCT.DELETED=0
  543. <if test="index!=null and index!=''">
  544. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  545. </if>
  546. <if test="capacityTypeId!=null and capacityTypeId!=''">
  547. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  548. </if>
  549. </where>
  550. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  551. FETCH NEXT 10 ROWS ONLY
  552. )
  553. <if test="id!=null and id.size>0">
  554. UNION
  555. select
  556. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  557. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  558. RCT.CAPACITY_TYPE_ID "id",
  559. RCT.CAPACITY_TYPE_ID "value",
  560. RCT.CAPACITY_TYPE_NAME "label",
  561. RCT.CAPACITY_TYPE_NAME "text",
  562. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  563. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  564. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes"
  565. from RMS_CAPACITY_TYPE RCT
  566. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  567. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  568. WHERE RCT.CAPACITY_TYPE_ID in
  569. <foreach collection="id" item="item" open="(" close=")" separator="," >
  570. #{item}
  571. </foreach>
  572. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  573. </if>
  574. </select>
  575. <select id="getLineByLike" resultType="java.util.Map">
  576. select * from(
  577. select * from(
  578. select
  579. RL.LINE_ID "lineId",
  580. RL.LINE_NAME "lineName",
  581. RL.LINE_ID "id",
  582. RL.LINE_ID "value",
  583. RL.LINE_NAME "label",
  584. RL.LINE_NAME "text",
  585. NVL(RL_TEMP."points",'无') "points",
  586. RL.LINE_TYPE "lineType"
  587. from RMS_LINE RL
  588. LEFT JOIN
  589. (
  590. SELECT
  591. RLS .LINE_ID "lineId",
  592. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  593. FROM
  594. RMS_LINE_STEP RLS
  595. LEFT JOIN RMS_STEP_POINT RSP
  596. ON RLS .STEP_ID = RSP .STEP_ID
  597. LEFT JOIN RMS_OPERATION_POINT ROP
  598. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  599. GROUP BY RLS .LINE_ID
  600. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  601. where DELETED = 0
  602. )
  603. <where>
  604. <if test="index!=null and index!=''">
  605. AND REGEXP_LIKE("label" || "points", #{index})
  606. </if>
  607. <if test="lineId!=null and lineId!=''">
  608. AND "lineId" = #{lineId}
  609. </if>
  610. <if test="lineType!=null and lineType!=''">
  611. AND REGEXP_LIKE("lineType" , #{lineType})
  612. </if>
  613. </where>
  614. FETCH NEXT 10 ROWS ONLY
  615. )
  616. <if test="id!=null and id.size>0">
  617. UNION
  618. select
  619. RL.LINE_ID "lineId",
  620. RL.LINE_NAME "lineName",
  621. RL.LINE_ID "id",
  622. RL.LINE_ID "value",
  623. RL.LINE_NAME "label",
  624. RL.LINE_NAME "text",
  625. NVL(RL_TEMP."points",'无') "points",
  626. RL.LINE_TYPE "lineType"
  627. from RMS_LINE RL
  628. LEFT JOIN
  629. (
  630. SELECT
  631. RLS .LINE_ID "lineId",
  632. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  633. FROM
  634. RMS_LINE_STEP RLS
  635. LEFT JOIN RMS_STEP_POINT RSP
  636. ON RLS .STEP_ID = RSP .STEP_ID
  637. LEFT JOIN RMS_OPERATION_POINT ROP
  638. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  639. GROUP BY RLS .LINE_ID
  640. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  641. where RL.LINE_ID in
  642. <foreach collection="id" item="item" open="(" close=")" separator="," >
  643. #{item}
  644. </foreach>
  645. </if>
  646. </select>
  647. <select id="getMaterialByLike" resultType="java.util.Map">
  648. select * from(
  649. select
  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. from RMS_MATERIAL RC
  661. <where>
  662. DELETED = 0
  663. <if test="index!=null and index!=''">
  664. AND REGEXP_LIKE(RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  665. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  666. THEN '-' || RC.MATERIAL_SPECIFICATION
  667. WHEN RC.MATERIAL_MODEL IS NOT NULL
  668. THEN '-' || RC.MATERIAL_MODEL
  669. ELSE ''
  670. END), #{index})
  671. </if>
  672. <if test="materialId!=null and materialId!=''">
  673. AND RC.MATERIAL_ID = #{materialId}
  674. </if>
  675. </where>
  676. FETCH NEXT 10 ROWS ONLY
  677. )
  678. <if test="id!=null and id.size>0">
  679. UNION
  680. select
  681. RC.MATERIAL_ID "id",
  682. RC.MATERIAL_ID "value",
  683. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  684. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  685. THEN '-' || RC.MATERIAL_SPECIFICATION
  686. WHEN RC.MATERIAL_MODEL IS NOT NULL
  687. THEN '-' || RC.MATERIAL_MODEL
  688. ELSE ''
  689. END) "label",
  690. RC.MATERIAL_NAME "text"
  691. from RMS_MATERIAL RC
  692. WHERE RC.MATERIAL_ID in
  693. <foreach collection="id" item="item" open="(" close=")" separator="," >
  694. #{item}
  695. </foreach>
  696. </if>
  697. </select>
  698. <select id="countTrainLoad" resultType="java.lang.Integer">
  699. SELECT COUNT(*)
  700. FROM TMS_LOAD_RESULT TLR
  701. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  702. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  703. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  704. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  705. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  706. <where>
  707. OTO.DELETED != 1
  708. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  709. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  710. AND OTO.CAPACITY_ID IN
  711. <foreach collection="list" item="item" open="(" close=")" separator="," >
  712. #{item.车号}
  713. </foreach>
  714. </where>
  715. </select>
  716. <select id="getBusinessTypeLike" resultType="java.util.Map">
  717. select * from(
  718. select * from(
  719. select
  720. DBT.BUSINESS_TYPE_ID "businessTypeId",
  721. DBT.BUSINESS_TYPE_ID "id",
  722. DBT.BUSINESS_TYPE_ID "value",
  723. DBT.BUSINESS_TYPE_NAME "text",
  724. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  725. DBT.BUSINESS_SCENE "businessScene",
  726. DBT.BUSINESS_TYPE_NAME "label",
  727. DBT.ALTERNATE_FIELDS1 "transportType",
  728. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  729. from DIL_BUSINESS_TYPE DBT
  730. )
  731. <where>
  732. <if test="index!=null and index!=''">
  733. AND REGEXP_LIKE("label", #{index})
  734. </if>
  735. <if test="businessType!=null and businessType!=''">
  736. AND "businessTypeId" = #{businessType}
  737. </if>
  738. <if test="businessScene!=null and businessScene!=''">
  739. AND "businessScene" = #{businessScene}
  740. </if>
  741. <if test="transportType!=null and transportType!=''">
  742. AND REGEXP_LIKE("transportType", #{transportType})
  743. </if>
  744. <if test="materialTypeName!=null and materialTypeName!=''">
  745. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  746. </if>
  747. </where>
  748. FETCH NEXT 10 ROWS ONLY
  749. )
  750. <if test="id!=null and id.size > 0">
  751. UNION
  752. select
  753. DBT.BUSINESS_TYPE_ID "businessTypeId",
  754. DBT.BUSINESS_TYPE_ID "id",
  755. DBT.BUSINESS_TYPE_ID "value",
  756. DBT.BUSINESS_TYPE_NAME "text",
  757. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  758. DBT.BUSINESS_SCENE "businessScene",
  759. DBT.BUSINESS_TYPE_NAME "label",
  760. DBT.ALTERNATE_FIELDS1 "transportType",
  761. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  762. from DIL_BUSINESS_TYPE DBT
  763. WHERE DBT.BUSINESS_TYPE_ID in
  764. <foreach collection="id" item="item" open="(" close=")" separator=",">
  765. #{item}
  766. </foreach>
  767. </if>
  768. </select>
  769. <select id="findTrainWeight" resultType="java.util.Map">
  770. <foreach collection="list" item="item" separator=" UNION " >
  771. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  772. OOC .ORDER_CHILD_ID "transOrderChildId",
  773. TWR .RESULT_ID "resultId",
  774. #{item.车号} "capacityId",
  775. #{item.净重} "netWeight",
  776. #{item.皮重} "tareWeight",
  777. #{item.毛重} "grossWeight"
  778. FROM OMS_TRANS_ORDER OTO
  779. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  780. LEFT JOIN TMS_WEIGHT_RESULT TWR
  781. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  782. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  783. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  784. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  785. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  786. <where>
  787. OTO.DELETED != 1
  788. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  789. AND OTO.CAPACITY_ID = #{item.车号}
  790. </where>
  791. </foreach>
  792. </select>
  793. <select id="findTrainUnload" resultType="java.util.Map">
  794. <foreach collection="list" item="item" separator=" UNION " >
  795. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  796. OOC .ORDER_CHILD_ID "transOrderChildId",
  797. TUR .RESULT_ID "resultId",
  798. ARC .RECEIVING_POINT_ID "unloadPointId",
  799. APC .MATERIAL_ID "materialId",
  800. #{item.车号} "capacityId",
  801. #{item.净重} "unloadWeight"
  802. FROM OMS_TRANS_ORDER OTO
  803. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  804. LEFT JOIN TMS_UNLOAD_RESULT TUR
  805. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  806. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  807. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  808. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  809. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  810. <where>
  811. OTO.DELETED != 1
  812. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  813. AND OTO.CAPACITY_ID = #{item.车号}
  814. </where>
  815. </foreach>
  816. </select>
  817. <select id="getOrderIds" resultType="java.util.Map">
  818. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  819. left join RMS_PERSONNEL RP
  820. on rp.PERSONNEL_ID = oto.DRIVER_ID
  821. left join RMS_PERSONNEL RP2
  822. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  823. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  824. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  825. and oto.deleted = 5
  826. </select>
  827. <select id="getFuelTypeByLike" resultType="java.util.Map">
  828. select * from(
  829. SELECT
  830. FUEL_TYPE_ID "fuelTypeId",
  831. FUEL_TYPE_NAME "fuelTypeName",
  832. FUEL_TYPE_ID "id",
  833. FUEL_TYPE_ID "value",
  834. FUEL_TYPE_NAME "text",
  835. FUEL_TYPE_NAME "label"
  836. FROM RMS_FUEL_TYPE
  837. <where>
  838. DELETED = 0
  839. <if test="index!=null and index!=''">
  840. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  841. </if>
  842. </where>
  843. FETCH NEXT 10 ROWS ONLY
  844. )
  845. <if test="id!=null and id.size > 0">
  846. UNION
  847. SELECT
  848. FUEL_TYPE_ID "fuelTypeId",
  849. FUEL_TYPE_NAME "fuelTypeName",
  850. FUEL_TYPE_ID "id",
  851. FUEL_TYPE_ID "value",
  852. FUEL_TYPE_NAME "text",
  853. FUEL_TYPE_NAME "label"
  854. FROM RMS_FUEL_TYPE
  855. WHERE FUEL_TYPE_ID in
  856. <foreach collection="id" item="item" open="(" close=")" separator="," >
  857. #{item}
  858. </foreach>
  859. </if>
  860. </select>
  861. <select id="getDemandRulesCode" resultType="java.util.Map">
  862. SELECT * FROM (
  863. SELECT RDB.BILLING_TYPE "billingType",
  864. RDB.BUSINESS_TYPE "businessType",
  865. rdb.LINE_ID "lineId",
  866. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  867. RDB.MATERIAL_TYPE_ID "operationsNameId",
  868. RDB.TRANS_RANGE_ID "operationRange",
  869. rdb.COMPANY_ID "businessCompanyId",
  870. RDB.RULES_ID "value",
  871. RDB.RULES_CODE "label",
  872. ROP.OPERATION_POINT_ID "shippingPointId",
  873. ROP2.OPERATION_POINT_ID "receivingPointId"
  874. FROM RMS_DEMAND_RULES RDB
  875. LEFT JOIN RMS_TRANS_RANGE RTR
  876. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  877. LEFT JOIN RMS_OPERATION_POINT ROP
  878. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  879. LEFT JOIN RMS_OPERATION_POINT ROP2
  880. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  881. <where>
  882. <include refid="companyFilter" >
  883. <property name="prop" value="rdb.COMPANY_ID"/>
  884. </include>
  885. </where>
  886. )
  887. <where>
  888. <if test="index!=null and index!=''">
  889. AND REGEXP_LIKE("label", #{index})
  890. </if>
  891. <if test="businessCompanyId!=null and businessCompanyId!=''">
  892. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  893. </if>
  894. </where>
  895. </select>
  896. <select id="getIdCardCode" resultType="java.lang.String">
  897. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  898. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  899. FETCH NEXT 1 ROWS ONLY
  900. </select>
  901. </mapper>