UniversalMapper.xml 74 KB

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