UniversalMapper.xml 64 KB

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