UniversalMapper.xml 65 KB

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