UniversalMapper.xml 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278
  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. RC.COMPANY_NAME "companyName",
  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. <if test="isListed !=null and isListed!=''">
  153. AND RC.is_Listed IS NOT NULL
  154. </if>
  155. </where>
  156. <if test="noRow == null">
  157. order by LENGTH(company_name)
  158. FETCH NEXT 10 ROWS ONLY
  159. </if>
  160. )
  161. <if test="id!=null and id.size>0">
  162. UNION
  163. select
  164. RC.SSO_ID "ssoId",
  165. RC.SSO_CODE "ssoCode",
  166. RC.COMPANY_ID "id",
  167. RC.COMPANY_ID "key",
  168. RC.COMPANY_ID "value",
  169. <if test="companyType==null">
  170. RC.COMPANY_TYPE || '-' ||
  171. </if>
  172. RC.COMPANY_NAME "label",
  173. RC.COMPANY_NAME "text",
  174. RC.COMPANY_NAME "companyName",
  175. T2 ."rootCompanyId",
  176. T2 ."rootCompanyName",
  177. 'label' "prop"
  178. from RMS_COMPANY RC
  179. LEFT JOIN (
  180. SELECT "companyId",MAX("level") "rootIndex" FROM
  181. (
  182. SELECT
  183. RC.COMPANY_ID "rootCompanyId",
  184. RC.COMPANY_NAME "rootCompanyName",
  185. LEVEL "level",
  186. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  187. FROM
  188. RMS_COMPANY RC
  189. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  190. )
  191. GROUP BY "companyId"
  192. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  193. LEFT JOIN
  194. (
  195. SELECT
  196. RC.COMPANY_ID "rootCompanyId",
  197. RC.COMPANY_NAME "rootCompanyName",
  198. LEVEL "level",
  199. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  200. FROM
  201. RMS_COMPANY RC
  202. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  203. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  204. where RC.COMPANY_ID in
  205. <foreach collection="id" item="item" open="(" close=")" separator="," >
  206. #{item}
  207. </foreach>
  208. </if>
  209. </select>
  210. <select id="getMaterialTypeByLike" resultType="java.util.Map">
  211. select * from(
  212. select * from(
  213. select
  214. MATERIAL_TYPE_ID "operationsNameId",
  215. MATERIAL_TYPE_NAME "operationsName",
  216. MATERIAL_TYPE_ID "id",
  217. MATERIAL_TYPE_ID "value",
  218. MATERIAL_TYPE_NAME "label",
  219. MATERIAL_TYPE_NAME "text",
  220. REMARK "remark",
  221. 'operationsName' "prop"
  222. from RMS_MATERIAL_TYPE
  223. where DELETED = 0
  224. )
  225. <where>
  226. <if test="index!=null and index!=''">
  227. AND REGEXP_LIKE("label", #{index})
  228. </if>
  229. <if test="remark!=null and remark!=''">
  230. AND REGEXP_LIKE("remark", #{remark})
  231. </if>
  232. </where>
  233. FETCH NEXT 10 ROWS ONLY
  234. )
  235. <if test="id!=null and id.size>0">
  236. UNION
  237. select
  238. MATERIAL_TYPE_ID "operationsNameId",
  239. MATERIAL_TYPE_NAME "operationsName",
  240. MATERIAL_TYPE_ID "id",
  241. MATERIAL_TYPE_ID "value",
  242. MATERIAL_TYPE_NAME "label",
  243. MATERIAL_TYPE_NAME "text",
  244. REMARK "remark",
  245. 'operationsName' "prop"
  246. from RMS_MATERIAL_TYPE
  247. where MATERIAL_TYPE_ID in
  248. <foreach collection="id" item="item" open="(" close=")" separator="," >
  249. #{item}
  250. </foreach>
  251. </if>
  252. </select>
  253. <select id="getEmissionStandardByLike" resultType="java.util.Map">
  254. select * from (
  255. select
  256. EMISSION_STANDARD_ID "emissionStandardId",
  257. EMISSION_STANDARD_NAME "emissionStandardName",
  258. EMISSION_STANDARD_ID "id",
  259. EMISSION_STANDARD_ID "value",
  260. EMISSION_STANDARD_NAME "label",
  261. EMISSION_STANDARD_NAME "text"
  262. from RMS_EMISSION_STANDARD
  263. where DELETED = 0
  264. )
  265. <where>
  266. <if test="index!=null and index!=''">
  267. AND REGEXP_LIKE("label", #{index})
  268. </if>
  269. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  270. AND "id" in
  271. <foreach collection="id" item="item" open="(" close=")" separator="," >
  272. #{item}
  273. </foreach>
  274. </if>
  275. </where>
  276. FETCH NEXT 10 ROWS ONLY
  277. </select>
  278. <select id="getOperationPointByLike" resultType="java.util.Map">
  279. SELECT * FROM (
  280. select
  281. OPERATION_POINT_ID "id",
  282. OPERATION_POINT_ID "value",
  283. OPERATION_POINT_NAME "label",
  284. OPERATION_POINT_NAME "text"
  285. from RMS_OPERATION_POINT
  286. <where>
  287. DELETED = 0
  288. <if test="operationPointType!=null and operationPointType!=''">
  289. AND REGEXP_LIKE(OPERATION_POINT_TYPE, #{operationPointType})
  290. </if>
  291. <if test="receivingPointId!=null and receivingPointId!=''">
  292. AND OPERATION_POINT_ID = #{receivingPointId}
  293. </if>
  294. <if test="shippingPointId!=null and shippingPointId!=''">
  295. AND OPERATION_POINT_ID = #{shippingPointId}
  296. </if>
  297. <if test="index!=null and index!=''">
  298. AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
  299. </if>
  300. </where>
  301. FETCH NEXT 10 ROWS ONLY
  302. )
  303. <if test="id!=null and id.size>0">
  304. UNION select
  305. OPERATION_POINT_ID "id",
  306. OPERATION_POINT_ID "value",
  307. OPERATION_POINT_NAME "label",
  308. OPERATION_POINT_NAME "text"
  309. from RMS_OPERATION_POINT
  310. where OPERATION_POINT_ID in
  311. <foreach collection="id" item="item" open="(" close=")" separator="," >
  312. #{item}
  313. </foreach>
  314. </if>
  315. </select>
  316. <select id="getPersonnelByLike" resultType="java.util.Map">
  317. select * from (
  318. select * from (
  319. select * from (
  320. select
  321. PERSONNEL_ID "personnelId",
  322. PERSONNEL_NAME "personnelName",
  323. PERSONNEL_POST "personnelPost",
  324. PERSONNEL_PHONE "personnelPhone",
  325. INNNER_CODE "innerCode",
  326. to_char(SSO_ID) "ssoId",
  327. PERSONNEL_ID "id",
  328. PERSONNEL_ID "value",
  329. PERSONNEL_NAME "label",
  330. PERSONNEL_NAME "text",
  331. 'personnelName' "prop"
  332. <if test="capacityId!=null and capacityId!=''">
  333. ,NVL(T ."countNumber",0) "countNumber"
  334. </if>
  335. FROM
  336. RMS_PERSONNEL RP
  337. <if test="capacityId!=null and capacityId!=''">
  338. LEFT JOIN (
  339. SELECT DRIVER_ID "driverId",
  340. COUNT(DRIVER_ID) "countNumber"
  341. FROM OMS_TRANS_ORDER
  342. WHERE CAPACITY_ID = #{capacityId}
  343. GROUP BY DRIVER_ID
  344. ) T ON T."driverId" = RP .PERSONNEL_ID
  345. </if>
  346. WHERE DELETED = 0
  347. <if test="isNC!=null">
  348. AND SOURCE_ID IS NOT NULL
  349. </if>
  350. )
  351. <where>
  352. <if test="personnelPost!=null and personnelPost!=''">
  353. AND "personnelPost" = #{personnelPost}
  354. </if>
  355. <if test="personnelId!=null and personnelId!=''">
  356. AND "personnelId" = #{personnelId})
  357. </if>
  358. <if test="driverId!=null and driverId!=''">
  359. AND "personnelId" = #{driverId})
  360. </if>
  361. <if test="driverId2!=null and driverId2!=''">
  362. AND "personnelId" = #{driverId2})
  363. </if>
  364. <if test="index!=null and index!=''">
  365. AND REGEXP_LIKE("label", #{index})
  366. </if>
  367. </where>
  368. <if test="capacityId!=null and capacityId!=''">
  369. ORDER BY "countNumber" DESC
  370. </if>
  371. FETCH NEXT 10 ROWS ONLY
  372. )
  373. <if test="id!=null and id.size>0">
  374. UNION
  375. select
  376. PERSONNEL_ID "personnelId",
  377. PERSONNEL_NAME "personnelName",
  378. PERSONNEL_POST "personnelPost",
  379. PERSONNEL_PHONE "personnelPhone",
  380. INNNER_CODE "innerCode",
  381. to_char(SSO_ID) "ssoId",
  382. PERSONNEL_ID "id",
  383. PERSONNEL_ID "value",
  384. PERSONNEL_NAME "label",
  385. PERSONNEL_NAME "text",
  386. 'personnelName' "prop"
  387. <if test="capacityId!=null and capacityId!=''">
  388. ,NVL(T ."countNumber",0) "countNumber"
  389. </if>
  390. from RMS_PERSONNEL RP
  391. <if test="capacityId!=null and capacityId!=''">
  392. LEFT JOIN (
  393. SELECT DRIVER_ID "driverId",
  394. COUNT(DRIVER_ID) "countNumber"
  395. FROM OMS_TRANS_ORDER
  396. WHERE CAPACITY_ID = #{capacityId}
  397. GROUP BY DRIVER_ID
  398. ) T ON T."driverId" = RP .PERSONNEL_ID
  399. </if>
  400. WHERE PERSONNEL_ID in
  401. <foreach collection="id" item="item" open="(" close=")" separator="," >
  402. #{item}
  403. </foreach>
  404. </if>
  405. )
  406. <if test="capacityId!=null and capacityId!=''">
  407. ORDER BY "countNumber" DESC
  408. </if>
  409. </select>
  410. <select id="getCapacityByLike" resultType="java.util.Map">
  411. select * from (
  412. select * from (
  413. SELECT DISTINCT
  414. RCA .CAPACITY_ID "capacityId",
  415. RCA .CAPACITY_ID "id",
  416. RCA .CAPACITY_ID "value",
  417. CASE WHEN RCA.REMARK1 is null
  418. then RCA.CAPACITY_NUMBER
  419. else RCA.REMARK1
  420. end "label",
  421. CASE WHEN RCA.REMARK1 is null
  422. then RCA.CAPACITY_NUMBER
  423. else RCA.REMARK1
  424. end "text",
  425. CASE WHEN RCA.REMARK1 is null
  426. then RCA.CAPACITY_NUMBER
  427. else RCA.REMARK1
  428. end "remark1",
  429. CASE WHEN RCA.REMARK1 is null
  430. then RCA.CAPACITY_NUMBER
  431. else RCA.REMARK1
  432. end "capacityNumber",
  433. (case
  434. when oto.capacity_id is null then '空闲'
  435. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  436. end) "status",
  437. 'capacityNumber' "prop"
  438. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  439. ,NVL(T ."countNumber",0) "countNumber"
  440. </if>
  441. FROM
  442. RMS_CAPACITY RCA
  443. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  444. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  445. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  446. left join oms_trans_order oto
  447. on RCA.capacity_id = oto.capacity_id
  448. and oto.deleted != 2
  449. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  450. LEFT JOIN (
  451. SELECT CAPACITY_ID "capacityId",
  452. COUNT( CAPACITY_ID ) "countNumber"
  453. FROM OMS_TRANS_ORDER
  454. <where>
  455. <if test="driverId!=null and driverId!=''">
  456. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  457. </if>
  458. <if test="driverId2!=null and driverId2!=''">
  459. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  460. </if>
  461. </where>
  462. GROUP BY CAPACITY_ID
  463. ) T ON T."capacityId" = RCA .CAPACITY_ID
  464. </if>
  465. WHERE RCA .DELETED = 0
  466. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  467. AND RC.SSO_CODE = #{orgCode}
  468. </if>
  469. <if test="capacityType != null and capacityType != '' ">
  470. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  471. </if>
  472. <if test="capacityType == null">
  473. AND RCT.CAPACITY_TYPE_NAME != '火车'
  474. </if>
  475. <if test="index!=null and index!=''">
  476. AND REGEXP_LIKE(
  477. CASE WHEN RCA.REMARK1 is null
  478. then RCA.CAPACITY_NUMBER
  479. else RCA.REMARK1
  480. end, #{index}
  481. )
  482. </if>
  483. <if test="capacityId!=null and capacityId!=''">
  484. AND RCA .CAPACITY_ID = #{capacityId}
  485. </if>
  486. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  487. ORDER BY "countNumber" DESC
  488. </if>
  489. FETCH NEXT 10 ROWS ONLY
  490. )
  491. <if test="id!=null and id.size>0">
  492. UNION
  493. SELECT DISTINCT
  494. RCA .CAPACITY_ID "capacityId",
  495. RCA .CAPACITY_ID "id",
  496. RCA .CAPACITY_ID "value",
  497. CASE WHEN RCA.REMARK1 is null
  498. then RCA.CAPACITY_NUMBER
  499. else RCA.REMARK1
  500. end "label",
  501. CASE WHEN RCA.REMARK1 is null
  502. then RCA.CAPACITY_NUMBER
  503. else RCA.REMARK1
  504. end "text",
  505. CASE WHEN RCA.REMARK1 is null
  506. then RCA.CAPACITY_NUMBER
  507. else RCA.REMARK1
  508. end "remark1",
  509. RCA.CAPACITY_NUMBER "capacityNumber",
  510. (case
  511. when oto.capacity_id is null then '空闲'
  512. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  513. end) "status",
  514. 'capacityNumber' "prop"
  515. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  516. ,NVL(T ."countNumber",0) "countNumber"
  517. </if>
  518. FROM RMS_CAPACITY RCA
  519. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  520. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  521. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  522. left join oms_trans_order oto
  523. on RCA.capacity_id = oto.capacity_id
  524. and oto.deleted != 2
  525. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  526. LEFT JOIN (
  527. SELECT CAPACITY_ID "capacityId",
  528. COUNT( CAPACITY_ID ) "countNumber"
  529. FROM OMS_TRANS_ORDER
  530. <where>
  531. <if test="driverId!=null and driverId!=''">
  532. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  533. </if>
  534. <if test="driverId2!=null and driverId2!=''">
  535. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  536. </if>
  537. </where>
  538. GROUP BY CAPACITY_ID
  539. ) T ON T."capacityId" = RCA .CAPACITY_ID
  540. </if>
  541. WHERE RCA .CAPACITY_ID in
  542. <foreach collection="id" item="item" open="(" close=")" separator="," >
  543. #{item}
  544. </foreach>
  545. </if>
  546. )
  547. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  548. ORDER BY "countNumber" DESC
  549. </if>
  550. </select>
  551. <select id="getCapacityByLikeSc" resultType="java.util.Map">
  552. select * from (
  553. select * from (
  554. SELECT DISTINCT
  555. RCA .CAPACITY_ID "capacityId",
  556. RCA .CAPACITY_ID "id",
  557. RCA .CAPACITY_ID "value",
  558. RCA .CAPACITY_NUMBER "label",
  559. RCA .CAPACITY_NUMBER "text",
  560. RCA .REMARK1 "remark1",
  561. RCA.CAPACITY_NUMBER "capacityNumber",
  562. (case
  563. when oto.capacity_id is null then '空闲'
  564. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  565. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  566. end) "status",
  567. 'capacityNumber' "prop"
  568. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  569. ,NVL(T ."countNumber",0) "countNumber"
  570. </if>
  571. FROM
  572. RMS_CAPACITY RCA
  573. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  574. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  575. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  576. left join oms_trans_order oto
  577. on RCA.capacity_id = oto.capacity_id
  578. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  579. LEFT JOIN (
  580. SELECT CAPACITY_ID "capacityId",
  581. COUNT( CAPACITY_ID ) "countNumber"
  582. FROM OMS_TRANS_ORDER
  583. <where>
  584. <if test="driverId!=null and driverId!=''">
  585. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  586. </if>
  587. <if test="driverId2!=null and driverId2!=''">
  588. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  589. </if>
  590. </where>
  591. GROUP BY CAPACITY_ID
  592. ) T ON T."capacityId" = RCA .CAPACITY_ID
  593. </if>
  594. WHERE RCA .DELETED = 0
  595. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  596. AND RC.SSO_CODE = #{orgCode}
  597. </if>
  598. <if test="capacityType != null and capacityType != '' ">
  599. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  600. </if>
  601. <if test="capacityType == null">
  602. AND RCT.CAPACITY_TYPE_NAME != '火车'
  603. </if>
  604. <if test="index!=null and index!=''">
  605. AND REGEXP_LIKE(
  606. CASE WHEN RCA.REMARK1 is null
  607. then RCA .CAPACITY_NUMBER
  608. else RCA.REMARK1
  609. end, #{index}
  610. )
  611. </if>
  612. <if test="capacityId!=null and capacityId!=''">
  613. AND RCA .CAPACITY_ID = #{capacityId}
  614. </if>
  615. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  616. ORDER BY "countNumber" DESC
  617. </if>
  618. FETCH NEXT 10 ROWS ONLY
  619. )
  620. <if test="id!=null and id.size>0">
  621. UNION
  622. SELECT DISTINCT
  623. RCA .CAPACITY_ID "capacityId",
  624. RCA .CAPACITY_ID "id",
  625. RCA .CAPACITY_ID "value",
  626. RCA .REMARK1 "label",
  627. RCA .REMARK1 "text",
  628. RCA .REMARK1 "remark1",
  629. RCA.CAPACITY_NUMBER "capacityNumber",
  630. (case
  631. when oto.capacity_id is null then '空闲'
  632. when oto.deleted != '2' and oto.capacity_id is not null then '已派'
  633. when oto.deleted = '2' and oto.capacity_id is not null then '空闲'
  634. end) "status",
  635. 'capacityNumber' "prop"
  636. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  637. ,NVL(T ."countNumber",0) "countNumber"
  638. </if>
  639. FROM RMS_CAPACITY RCA
  640. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  641. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  642. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  643. left join oms_trans_order oto
  644. on RCA.capacity_id = oto.capacity_id
  645. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  646. LEFT JOIN (
  647. SELECT CAPACITY_ID "capacityId",
  648. COUNT( CAPACITY_ID ) "countNumber"
  649. FROM OMS_TRANS_ORDER
  650. <where>
  651. <if test="driverId!=null and driverId!=''">
  652. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  653. </if>
  654. <if test="driverId2!=null and driverId2!=''">
  655. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  656. </if>
  657. </where>
  658. GROUP BY CAPACITY_ID
  659. ) T ON T."capacityId" = RCA .CAPACITY_ID
  660. </if>
  661. WHERE RCA .CAPACITY_ID in
  662. <foreach collection="id" item="item" open="(" close=")" separator="," >
  663. #{item}
  664. </foreach>
  665. </if>
  666. )
  667. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  668. ORDER BY "countNumber" DESC
  669. </if>
  670. </select>
  671. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  672. select * from(
  673. select
  674. RC.JOB_ID "jboId",
  675. RC.JOB_NAME "jobName",
  676. RC.JOB_ID "id",
  677. RC.JOB_ID "value",
  678. RC.JOB_NAME "label",
  679. RC.JOB_NAME "text"
  680. from RMS_JOB_INFO RC
  681. where DELETED = 0
  682. )
  683. <where>
  684. <if test="index!=null and index!=''">
  685. AND REGEXP_LIKE("label", #{index})
  686. </if>
  687. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  688. AND "id" in
  689. <foreach collection="id" item="item" open="(" close=")" separator="," >
  690. #{item}
  691. </foreach>
  692. </if>
  693. </where>
  694. FETCH NEXT 10 ROWS ONLY
  695. </select>
  696. <select id="getTransRangeByLike" resultType="java.util.Map">
  697. select * from(
  698. select
  699. RC.TRANS_RANGE_ID "transrangeId",
  700. RC.TRANS_RANGE_NAME "transrangeName",
  701. RC.TRANS_RANGE_ID "operationRangeId",
  702. RC.TRANS_RANGE_NAME "operationRangeName",
  703. RC.TRANS_RANGE_ID "id",
  704. RC.TRANS_RANGE_ID "value",
  705. RC.TRANS_RANGE_NAME "label",
  706. RC.TRANS_RANGE_NAME "text",
  707. rc.START_POINT_ID "shippingPointId",
  708. rc.END_POINT_ID "receivingPointId",
  709. rc.LINE_ID "lineId",
  710. 'operationRangeName' "prop"
  711. from RMS_TRANS_RANGE RC
  712. where DELETED = 0
  713. )
  714. <where>
  715. <if test="index!=null and index!=''">
  716. AND REGEXP_LIKE("label", #{index})
  717. </if>
  718. <if test="transrangeId!=null and transrangeId!=''">
  719. AND "transrangeId" = #{transrangeId}
  720. </if>
  721. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  722. AND "id" in
  723. <foreach collection="id" item="item" open="(" close=")" separator="," >
  724. #{item}
  725. </foreach>
  726. </if>
  727. </where>
  728. FETCH NEXT 10 ROWS ONLY
  729. </select>
  730. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  731. select * from(
  732. select
  733. RC.RULES_ID "rulesId",
  734. RC.RULES_CODE "rulesCode",
  735. RC.RULES_ID "id",
  736. RC.RULES_ID "value",
  737. RC.RULES_CODE "label",
  738. RC.RULES_CODE "text"
  739. from RMS_DEMAND_RULES RC
  740. where DELETED = 0
  741. )
  742. <where>
  743. <if test="index!=null and index!=''">
  744. AND REGEXP_LIKE("label", #{index})
  745. </if>
  746. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  747. AND "id" in
  748. <foreach collection="id" item="item" open="(" close=")" separator="," >
  749. #{item}
  750. </foreach>
  751. </if>
  752. </where>
  753. FETCH NEXT 10 ROWS ONLY
  754. </select>
  755. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  756. select * from(
  757. select
  758. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  759. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  760. RCT.CAPACITY_TYPE_ID "id",
  761. RCT.CAPACITY_TYPE_ID "value",
  762. RCT.CAPACITY_TYPE_NAME "label",
  763. RCT.CAPACITY_TYPE_NAME "text",
  764. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  765. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  766. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  767. 'capacityTypeName' "prop"
  768. from RMS_CAPACITY_TYPE RCT
  769. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  770. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  771. <where>
  772. RCT.DELETED=0
  773. <if test="index!=null and index!=''">
  774. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  775. </if>
  776. <if test="capacityTypeId!=null and capacityTypeId!=''">
  777. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  778. </if>
  779. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  780. and
  781. RCT.CAPACITY_TYPE_NAME in
  782. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  783. #{item}
  784. </foreach>
  785. </if>
  786. </where>
  787. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  788. FETCH NEXT 10 ROWS ONLY
  789. )
  790. <if test="id!=null and id.size>0">
  791. UNION
  792. select
  793. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  794. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  795. RCT.CAPACITY_TYPE_ID "id",
  796. RCT.CAPACITY_TYPE_ID "value",
  797. RCT.CAPACITY_TYPE_NAME "label",
  798. RCT.CAPACITY_TYPE_NAME "text",
  799. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  800. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  801. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  802. 'capacityTypeName' "prop"
  803. from RMS_CAPACITY_TYPE RCT
  804. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  805. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  806. WHERE RCT.CAPACITY_TYPE_ID in
  807. <foreach collection="id" item="item" open="(" close=")" separator="," >
  808. #{item}
  809. </foreach>
  810. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  811. and
  812. RCT.CAPACITY_TYPE_NAME in
  813. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  814. #{item}
  815. </foreach>
  816. </if>
  817. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  818. </if>
  819. </select>
  820. <select id="getLineByLike" resultType="java.util.Map">
  821. select * from(
  822. select * from(
  823. select
  824. RL.LINE_ID "lineId",
  825. RL.LINE_NAME "lineName",
  826. RL.LINE_ID "id",
  827. RL.LINE_ID "value",
  828. RL.LINE_NAME "label",
  829. RL.LINE_NAME "text",
  830. NVL(RL_TEMP."points",'无') "points",
  831. RL.LINE_TYPE "lineType",
  832. 'lineName' "prop"
  833. from RMS_LINE RL
  834. LEFT JOIN
  835. (
  836. SELECT
  837. RLS .LINE_ID "lineId",
  838. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  839. FROM
  840. RMS_LINE_STEP RLS
  841. LEFT JOIN RMS_STEP_POINT RSP
  842. ON RLS .STEP_ID = RSP .STEP_ID
  843. LEFT JOIN RMS_OPERATION_POINT ROP
  844. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  845. GROUP BY RLS .LINE_ID
  846. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  847. where DELETED = 0
  848. )
  849. <where>
  850. <if test="index!=null and index!=''">
  851. AND REGEXP_LIKE("label" || "points", #{index})
  852. </if>
  853. <if test="lineId!=null and lineId!=''">
  854. AND "lineId" = #{lineId}
  855. </if>
  856. <if test="lineType!=null and lineType!=''">
  857. AND REGEXP_LIKE("lineType" , #{lineType})
  858. </if>
  859. </where>
  860. FETCH NEXT 10 ROWS ONLY
  861. )
  862. <if test="id!=null and id.size>0">
  863. UNION
  864. select
  865. RL.LINE_ID "lineId",
  866. RL.LINE_NAME "lineName",
  867. RL.LINE_ID "id",
  868. RL.LINE_ID "value",
  869. RL.LINE_NAME "label",
  870. RL.LINE_NAME "text",
  871. NVL(RL_TEMP."points",'无') "points",
  872. RL.LINE_TYPE "lineType",
  873. 'lineName' "prop"
  874. from RMS_LINE RL
  875. LEFT JOIN
  876. (
  877. SELECT
  878. RLS .LINE_ID "lineId",
  879. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  880. FROM
  881. RMS_LINE_STEP RLS
  882. LEFT JOIN RMS_STEP_POINT RSP
  883. ON RLS .STEP_ID = RSP .STEP_ID
  884. LEFT JOIN RMS_OPERATION_POINT ROP
  885. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  886. GROUP BY RLS .LINE_ID
  887. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  888. where RL.LINE_ID in
  889. <foreach collection="id" item="item" open="(" close=")" separator="," >
  890. #{item}
  891. </foreach>
  892. </if>
  893. </select>
  894. <select id="getMaterialByLike" resultType="java.util.Map">
  895. select * from(
  896. select
  897. RC.MATERIAL_ID "materialId",
  898. RC.MATERIAL_NAME "materialName",
  899. RC.MATERIAL_ID "id",
  900. RC.MATERIAL_ID "value",
  901. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  902. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  903. THEN '-' || RC.MATERIAL_SPECIFICATION
  904. WHEN RC.MATERIAL_MODEL IS NOT NULL
  905. THEN '-' || RC.MATERIAL_MODEL
  906. ELSE ''
  907. END) "label",
  908. RC.MATERIAL_NAME "text",
  909. 'materialName' "prop"
  910. from RMS_MATERIAL RC
  911. <where>
  912. DELETED = 0
  913. <if test="index!=null and index!=''">
  914. AND REGEXP_LIKE(RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  915. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  916. THEN '-' || RC.MATERIAL_SPECIFICATION
  917. WHEN RC.MATERIAL_MODEL IS NOT NULL
  918. THEN '-' || RC.MATERIAL_MODEL
  919. ELSE ''
  920. END), #{index})
  921. </if>
  922. <if test="materialId!=null and materialId!=''">
  923. AND RC.MATERIAL_ID = #{materialId}
  924. </if>
  925. </where>
  926. FETCH NEXT 10 ROWS ONLY
  927. )
  928. <if test="id!=null and id.size>0">
  929. UNION
  930. select
  931. RC.MATERIAL_ID "materialId",
  932. RC.MATERIAL_NAME "materialName",
  933. RC.MATERIAL_ID "id",
  934. RC.MATERIAL_ID "value",
  935. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  936. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  937. THEN '-' || RC.MATERIAL_SPECIFICATION
  938. WHEN RC.MATERIAL_MODEL IS NOT NULL
  939. THEN '-' || RC.MATERIAL_MODEL
  940. ELSE ''
  941. END) "label",
  942. RC.MATERIAL_NAME "text",
  943. 'materialName' "prop"
  944. from RMS_MATERIAL RC
  945. WHERE RC.MATERIAL_ID in
  946. <foreach collection="id" item="item" open="(" close=")" separator="," >
  947. #{item}
  948. </foreach>
  949. </if>
  950. </select>
  951. <select id="countTrainLoad" resultType="java.lang.Integer">
  952. SELECT COUNT(*)
  953. FROM TMS_LOAD_RESULT TLR
  954. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  955. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  956. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  957. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  958. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  959. <where>
  960. OTO.DELETED != 1
  961. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  962. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  963. AND OTO.CAPACITY_ID IN
  964. <foreach collection="list" item="item" open="(" close=")" separator="," >
  965. #{item.车号}
  966. </foreach>
  967. </where>
  968. </select>
  969. <select id="getBusinessTypeLike" resultType="java.util.Map">
  970. select * from(
  971. select * from(
  972. select
  973. DBT.BUSINESS_TYPE_ID "businessTypeId",
  974. DBT.BUSINESS_TYPE_ID "id",
  975. DBT.BUSINESS_TYPE_ID "value",
  976. DBT.BUSINESS_TYPE_NAME "text",
  977. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  978. DBT.BUSINESS_SCENE "businessScene",
  979. DBT.BUSINESS_TYPE_NAME "label",
  980. DBT.ALTERNATE_FIELDS1 "transportType",
  981. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  982. from DIL_BUSINESS_TYPE DBT
  983. )
  984. <where>
  985. <if test="index!=null and index!=''">
  986. AND REGEXP_LIKE("label", #{index})
  987. </if>
  988. <if test="businessType!=null and businessType!=''">
  989. AND "businessTypeId" = #{businessType}
  990. </if>
  991. <if test="businessScene!=null and businessScene!=''">
  992. AND "businessScene" = #{businessScene}
  993. </if>
  994. <if test="transportType!=null and transportType!=''">
  995. AND REGEXP_LIKE("transportType", #{transportType})
  996. </if>
  997. <if test="materialTypeName!=null and materialTypeName!=''">
  998. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  999. </if>
  1000. </where>
  1001. FETCH NEXT 10 ROWS ONLY
  1002. )
  1003. <if test="id!=null and id.size > 0">
  1004. UNION
  1005. select
  1006. DBT.BUSINESS_TYPE_ID "businessTypeId",
  1007. DBT.BUSINESS_TYPE_ID "id",
  1008. DBT.BUSINESS_TYPE_ID "value",
  1009. DBT.BUSINESS_TYPE_NAME "text",
  1010. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  1011. DBT.BUSINESS_SCENE "businessScene",
  1012. DBT.BUSINESS_TYPE_NAME "label",
  1013. DBT.ALTERNATE_FIELDS1 "transportType",
  1014. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  1015. from DIL_BUSINESS_TYPE DBT
  1016. WHERE DBT.BUSINESS_TYPE_ID in
  1017. <foreach collection="id" item="item" open="(" close=")" separator=",">
  1018. #{item}
  1019. </foreach>
  1020. </if>
  1021. </select>
  1022. <select id="findTrainWeight" resultType="java.util.Map">
  1023. <foreach collection="list" item="item" separator=" UNION " >
  1024. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1025. OOC .ORDER_CHILD_ID "transOrderChildId",
  1026. APC .TRANS_PLAN_ID "transPlanId",
  1027. APC .MATERIAL_ID "materialId",
  1028. TWR .RESULT_ID "resultId",
  1029. TUR .RESULT_ID "unloadResultId",
  1030. #{item.车号} "capacityId",
  1031. #{item.净重} "netWeight",
  1032. #{item.皮重} "tareWeight",
  1033. #{item.毛重} "grossWeight"
  1034. FROM OMS_TRANS_ORDER OTO
  1035. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1036. LEFT JOIN TMS_WEIGHT_RESULT TWR
  1037. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  1038. LEFT JOIN TMS_UNLOAD_RESULT TUR ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1039. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1040. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1041. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1042. <where>
  1043. OTO.DELETED != 1
  1044. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1045. AND OTO.CAPACITY_ID = #{item.车号}
  1046. </where>
  1047. </foreach>
  1048. </select>
  1049. <select id="findTrainUnload" resultType="java.util.Map">
  1050. <foreach collection="list" item="item" separator=" UNION " >
  1051. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  1052. OOC .ORDER_CHILD_ID "transOrderChildId",
  1053. TUR .RESULT_ID "resultId",
  1054. TUR .ACTUAL_TONNAGE "unloadWeightOld",
  1055. ATR .SERIAL_NUMBER "requirementSerialNumber",
  1056. APC .TRANS_PLAN_ID "transPlanId",
  1057. ARC .RECEIVING_POINT_ID "unloadPointId",
  1058. APC .MATERIAL_ID "materialId",
  1059. #{item.车号} "capacityId",
  1060. #{item.净重} "unloadWeight"
  1061. FROM OMS_TRANS_ORDER OTO
  1062. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1063. LEFT JOIN TMS_UNLOAD_RESULT TUR
  1064. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  1065. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1066. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1067. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1068. <where>
  1069. OTO.DELETED != 1
  1070. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  1071. AND OTO.CAPACITY_ID = #{item.车号}
  1072. </where>
  1073. </foreach>
  1074. </select>
  1075. <select id="getOrderIds" resultType="java.util.Map">
  1076. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  1077. left join RMS_PERSONNEL RP
  1078. on rp.PERSONNEL_ID = oto.DRIVER_ID
  1079. left join RMS_PERSONNEL RP2
  1080. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  1081. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1082. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  1083. and oto.deleted = 5
  1084. </select>
  1085. <select id="getFuelTypeByLike" resultType="java.util.Map">
  1086. select * from(
  1087. SELECT
  1088. FUEL_TYPE_ID "fuelTypeId",
  1089. FUEL_TYPE_NAME "fuelTypeName",
  1090. FUEL_TYPE_ID "id",
  1091. FUEL_TYPE_ID "value",
  1092. FUEL_TYPE_NAME "text",
  1093. FUEL_TYPE_NAME "label"
  1094. FROM RMS_FUEL_TYPE
  1095. <where>
  1096. DELETED = 0
  1097. <if test="index!=null and index!=''">
  1098. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  1099. </if>
  1100. </where>
  1101. FETCH NEXT 10 ROWS ONLY
  1102. )
  1103. <if test="id!=null and id.size > 0">
  1104. UNION
  1105. SELECT
  1106. FUEL_TYPE_ID "fuelTypeId",
  1107. FUEL_TYPE_NAME "fuelTypeName",
  1108. FUEL_TYPE_ID "id",
  1109. FUEL_TYPE_ID "value",
  1110. FUEL_TYPE_NAME "text",
  1111. FUEL_TYPE_NAME "label"
  1112. FROM RMS_FUEL_TYPE
  1113. WHERE FUEL_TYPE_ID in
  1114. <foreach collection="id" item="item" open="(" close=")" separator="," >
  1115. #{item}
  1116. </foreach>
  1117. </if>
  1118. </select>
  1119. <select id="getDemandRulesCode" resultType="java.util.Map">
  1120. SELECT * FROM (
  1121. SELECT RDB.BILLING_TYPE "billingType",
  1122. RDB.BUSINESS_TYPE "businessType",
  1123. rdb.LINE_ID "lineId",
  1124. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  1125. RDB.MATERIAL_TYPE_ID "operationsNameId",
  1126. RDB.TRANS_RANGE_ID "operationRange",
  1127. rdb.COMPANY_ID "businessCompanyId",
  1128. RDB.RULES_ID "value",
  1129. RDB.RULES_CODE "label",
  1130. ROP.OPERATION_POINT_ID "shippingPointId",
  1131. ROP2.OPERATION_POINT_ID "receivingPointId"
  1132. FROM RMS_DEMAND_RULES RDB
  1133. LEFT JOIN RMS_TRANS_RANGE RTR
  1134. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  1135. LEFT JOIN RMS_OPERATION_POINT ROP
  1136. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  1137. LEFT JOIN RMS_OPERATION_POINT ROP2
  1138. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  1139. )
  1140. <where>
  1141. <if test="index!=null and index!=''">
  1142. AND REGEXP_LIKE("label", #{index})
  1143. </if>
  1144. <if test="businessCompanyId!=null and businessCompanyId!=''">
  1145. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  1146. </if>
  1147. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  1148. </where>
  1149. </select>
  1150. <select id="getIdCardCode" resultType="java.lang.String">
  1151. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  1152. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  1153. FETCH NEXT 1 ROWS ONLY
  1154. </select>
  1155. <select id="getMaterial" parameterType="java.util.Map" resultType="java.util.Map">
  1156. select t.prod_code_pk as "prodCodePk",
  1157. b.material_id as "materialId",
  1158. b.material_code as "prodCode",
  1159. b.material_name as "prodName",
  1160. b.material_model as "steelName",
  1161. t.create_emp as "createEmp",
  1162. t.create_time as "createTime",
  1163. b.material_specification as "specName",
  1164. CASE WHEN
  1165. REGEXP_LIKE(nvl(substr(b.material_specification,
  1166. decode(instr(b.material_specification, '/'),
  1167. 0,
  1168. 100,
  1169. instr(b.material_specification, '/')) + 1),
  1170. 12),'^\d+$') THEN
  1171. nvl(substr(b.material_specification,
  1172. decode(instr(b.material_specification, '/'),
  1173. 0,
  1174. 100,
  1175. instr(b.material_specification, '/')) + 1),
  1176. 12)
  1177. ELSE
  1178. '0'
  1179. END
  1180. * b.material_theoretical_weight / 1000 as "weight"
  1181. from rms_material b
  1182. left join rms_material_map t
  1183. on t.prod_code_l = b.material_code
  1184. <where>
  1185. <if test="prodCode != null and prodCode != ''">
  1186. and t.prod_code = #{prodCode}
  1187. </if>
  1188. </where>
  1189. union all
  1190. select '' as "prodCodePk",
  1191. b.material_id as "materialId",
  1192. b.material_code as "prodCode",
  1193. b.material_name as "prodName",
  1194. b.material_model as "steelName",
  1195. '' as "createEmp",
  1196. sysdate as "createTime",
  1197. b.material_specification as "specName",
  1198. CASE WHEN
  1199. REGEXP_LIKE(nvl(substr(b.material_specification,
  1200. decode(instr(b.material_specification, '/'),
  1201. 0,
  1202. 100,
  1203. instr(b.material_specification, '/')) + 1),
  1204. 12),'^\d+$') THEN
  1205. nvl(substr(b.material_specification,
  1206. decode(instr(b.material_specification, '/'),
  1207. 0,
  1208. 100,
  1209. instr(b.material_specification, '/')) + 1),
  1210. 12)
  1211. ELSE
  1212. '0'
  1213. END * b.material_theoretical_weight / 1000 as "weight"
  1214. from rms_material b
  1215. <where>
  1216. <if test="prodCode != null and prodCode != ''">
  1217. and b.material_code = #{prodCode}
  1218. </if>
  1219. <if test="materialId != null and materialId != ''">
  1220. and b.material_id = #{materialId}
  1221. </if>
  1222. </where>
  1223. </select>
  1224. <select id="countTransOrder" resultType="java.lang.Integer">
  1225. SELECT COUNT(OTO .TRANS_ORDER_ID)
  1226. FROM OMS_TRANS_ORDER OTO
  1227. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1228. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1229. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1230. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1231. <where>
  1232. OTO.DELETED != 1
  1233. AND APC.TRANS_PLAN_ID =#{transPlanId}
  1234. </where>
  1235. </select>
  1236. <select id="getcountCar" resultType = "java.util.Map">
  1237. SELECT
  1238. RCAOLD.a "oldcar",(RCA.b-RCAOLD.a)"nowcar"
  1239. FROM
  1240. (
  1241. SELECT
  1242. COUNT( RCA.CAPACITY_NUMBER ) a
  1243. FROM
  1244. RMS_CAPACITY RCA
  1245. LEFT JOIN OMS_TRANS_ORDER OTO ON RCA.CAPACITY_ID = OTO.CAPACITY_ID
  1246. WHERE
  1247. OTO.TRANS_ORDER_ID IS NOT NULL
  1248. AND OTO.DELETED = 5
  1249. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1250. AND RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1251. </if>
  1252. AND RCA.DELETED != 1
  1253. ) RCAOLD,
  1254. ( SELECT
  1255. COUNT( RCA.CAPACITY_NUMBER) b
  1256. FROM
  1257. RMS_CAPACITY RCA
  1258. WHERE
  1259. <if test="capacityTypeId != null and capacityTypeId != ''" >
  1260. RCA.CAPACITY_TYPE_ID = #{capacityTypeId}
  1261. AND
  1262. </if>
  1263. RCA.DELETED != 1
  1264. ) RCA
  1265. </select>
  1266. </mapper>