UniversalMapper.xml 69 KB

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