UniversalMapper.xml 41 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.steerinfo.dil.mapper.UniversalMapper">
  4. <sql id="orderBy">
  5. <if test="orderField != null and orderField != ''">
  6. order by "${orderField}"
  7. <if test="orderType != null and orderType != ''">
  8. ${orderType}
  9. </if>
  10. </if>
  11. </sql>
  12. <sql id="companyFilter">
  13. <if test="!roleCodes.contains('admin') and dilCompanyList != null and dilCompanyList.size > 0">
  14. AND ${prop}
  15. in
  16. <foreach collection="dilCompanyList" item="item" open="(" close=")" separator=",">
  17. #{item.companyId}
  18. </foreach>
  19. </if>
  20. </sql>
  21. <!-- 查询所有的汽车衡 -->
  22. <select id="getColumnNoRoutList" resultType="java.lang.String" parameterType="map">
  23. select DTCR.COLUMN_NAME from DIL_TABLE_COLUMN_ROLE DTCR
  24. left join DIL_ROLE_ORGCODE_TABLE DROT
  25. ON DTCR.PRIMARY_ID = DROT.COLUMN_ID
  26. WHERE
  27. DTCR.TABLE_NAME = #{tableName}
  28. <if test="orgCode != null">
  29. and DROT.ORG_CODE = #{orgCode}
  30. </if>
  31. </select>
  32. <select id="getColumnShowData" resultType="java.util.Map" parameterType="map">
  33. SELECT DTCR.COLUMN_NAME "key",
  34. DTCR.COLUMN_NAME "label"
  35. FROM DIL_TABLE_COLUMN_ROLE DTCR
  36. LEFT JOIN DIL_ROLE_ORGCODE_TABLE DROT on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  37. WHERE
  38. DTCR.TABLE_NAME = #{tableName}
  39. <if test="userName != null">
  40. AND nvl(DROT.USER_NAME,'0') != #{userName}
  41. </if>
  42. <if test="schemeName != null">
  43. AND nvl(DROT.PRIMARY_NAME,'0') != #{schemeName}
  44. </if>
  45. </select>
  46. <select id="getColumnHiddenData" resultType="string" parameterType="map">
  47. SELECT DTCR.COLUMN_NAME FROM DIL_ROLE_ORGCODE_TABLE DROT
  48. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DTCR.PRIMARY_ID = DROT.COLUMN_ID
  49. WHERE
  50. DTCR.TABLE_NAME = #{tableName}
  51. <if test="userName != null">
  52. AND DROT.USER_NAME = #{userName}
  53. </if>
  54. <if test="orgCode != null">
  55. AND DROT.ORG_CODE = #{orgCode}
  56. </if>
  57. <if test="schemeName != null">
  58. AND nvl(DROT.PRIMARY_NAME,'0') = #{schemeName}
  59. </if>
  60. </select>
  61. <select id="getColumnAllData" resultType="java.util.Map" parameterType="map">
  62. SELECT DTCR.COLUMN_NAME "key",
  63. DTCR.COLUMN_NAME "label"
  64. FROM DIL_TABLE_COLUMN_ROLE DTCR
  65. WHERE DTCR.TABLE_NAME = #{tableName}
  66. </select>
  67. <select id="getColumnAllScheme" resultType="java.util.LinkedHashMap" parameterType="map">
  68. SELECT distinct DROT.PRIMARY_NAME "schemeName",
  69. DROT.ENABLE_STATUS "enableStatus",
  70. DROT.USER_NAME "userName",
  71. DROT.ORG_CODE "orgCode",
  72. DTCR.TABLE_NAME "tableName"
  73. FROM DIL_ROLE_ORGCODE_TABLE DROT
  74. LEFT JOIN DIL_TABLE_COLUMN_ROLE DTCR on DROT.COLUMN_ID = DTCR.PRIMARY_ID
  75. WHERE DROT.USER_NAME = #{userName}
  76. AND DROT.ORG_CODE = #{orgCode}
  77. AND DTCR.TABLE_NAME = #{tableName}
  78. AND NVL(DROT.PRIMARY_NAME, '') != '默认方案'
  79. </select>
  80. <select id="getWlUrl" resultType="java.lang.String">
  81. SELECT DL.VERSION_VALUE
  82. FROM DIL_VERSION DL
  83. WHERE DL.VERSION_ID = 11
  84. </select>
  85. <!-- 边输边查公司 -->
  86. <select id="getCompanyMesByLike" resultType="java.util.Map">
  87. select * from(
  88. select
  89. RC.SSO_ID "ssoId",
  90. RC.SSO_CODE "ssoCode",
  91. RC.COMPANY_ID "id",
  92. RC.COMPANY_ID "key",
  93. RC.COMPANY_ID "value",
  94. RC.COMPANY_ID "carrierId",
  95. <if test="companyType==null">
  96. RC.COMPANY_TYPE || '-' ||
  97. </if>
  98. RC.COMPANY_NAME "label",
  99. RC.COMPANY_NAME "text",
  100. RC.COMPANY_NAME "companyName",
  101. T2 ."rootCompanyId",
  102. T2 ."rootCompanyName",
  103. 'label' "prop"
  104. from RMS_COMPANY RC
  105. LEFT JOIN (
  106. SELECT "companyId",MAX("level") "rootIndex" FROM
  107. (
  108. SELECT
  109. RC.COMPANY_ID "rootCompanyId",
  110. RC.COMPANY_NAME "rootCompanyName",
  111. LEVEL "level",
  112. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  113. FROM
  114. RMS_COMPANY RC
  115. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  116. )
  117. GROUP BY "companyId"
  118. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  119. LEFT JOIN
  120. (
  121. SELECT
  122. RC.COMPANY_ID "rootCompanyId",
  123. RC.COMPANY_NAME "rootCompanyName",
  124. LEVEL "level",
  125. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  126. FROM
  127. RMS_COMPANY RC
  128. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  129. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  130. <where>
  131. DELETED = 0
  132. <if test="companyType!=null and companyType!=''">
  133. AND RC.COMPANY_TYPE = #{companyType}
  134. </if>
  135. <if test="companyId!=null and companyId!=''">
  136. AND RC.COMPANY_ID = #{companyId}
  137. </if>
  138. <if test="businessCompanyId!=null and businessCompanyId!=''">
  139. AND RC.COMPANY_ID = #{businessCompanyId}
  140. </if>
  141. <if test="supplierCompanyId!=null and supplierCompanyId!=''">
  142. AND RC.COMPANY_ID = #{supplierCompanyId}
  143. </if>
  144. <if test="receiveCompanyId!=null and receiveCompanyId!=''">
  145. AND RC.COMPANY_ID = #{receiveCompanyId}
  146. </if>
  147. <if test="carrierId!=null and carrierId!=''">
  148. AND RC.COMPANY_ID = #{carrierId}
  149. </if>
  150. <if test="index!=null and index!=''">
  151. AND REGEXP_LIKE(RC.COMPANY_NAME, #{index})
  152. </if>
  153. </where>
  154. <if test="noRow == null">
  155. order by LENGTH(company_name)
  156. FETCH NEXT 10 ROWS ONLY
  157. </if>
  158. )
  159. <if test="id!=null and id.size>0">
  160. UNION
  161. select
  162. RC.SSO_ID "ssoId",
  163. RC.SSO_CODE "ssoCode",
  164. RC.COMPANY_ID "id",
  165. RC.COMPANY_ID "key",
  166. RC.COMPANY_ID "value",
  167. RC.COMPANY_ID "carrierId",
  168. <if test="companyType==null">
  169. RC.COMPANY_TYPE || '-' ||
  170. </if>
  171. RC.COMPANY_NAME "label",
  172. RC.COMPANY_NAME "text",
  173. RC.COMPANY_NAME "companyName",
  174. T2 ."rootCompanyId",
  175. T2 ."rootCompanyName",
  176. 'label' "prop"
  177. from RMS_COMPANY RC
  178. LEFT JOIN (
  179. SELECT "companyId",MAX("level") "rootIndex" FROM
  180. (
  181. SELECT
  182. RC.COMPANY_ID "rootCompanyId",
  183. RC.COMPANY_NAME "rootCompanyName",
  184. LEVEL "level",
  185. CONNECT_BY_ROOT ( COMPANY_ID ) "companyId"
  186. FROM
  187. RMS_COMPANY RC
  188. CONNECT BY PRIOR RC.PARENT_COMPANY_ID = RC.COMPANY_ID
  189. )
  190. GROUP BY "companyId"
  191. ) T1 ON T1 ."companyId" = RC .COMPANY_ID
  192. LEFT JOIN
  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. ) T2 ON T2 ."companyId" = T1 ."companyId" AND T2 ."level" = T1 ."rootIndex"
  203. where RC.COMPANY_ID in
  204. <foreach collection="id" item="item" open="(" close=")" separator="," >
  205. #{item}
  206. </foreach>
  207. </if>
  208. </select>
  209. <select id="getMaterialTypeByLike" resultType="java.util.Map">
  210. select * from(
  211. select * from(
  212. select
  213. MATERIAL_TYPE_ID "operationsNameId",
  214. MATERIAL_TYPE_NAME "operationsName",
  215. MATERIAL_TYPE_ID "id",
  216. MATERIAL_TYPE_ID "value",
  217. MATERIAL_TYPE_NAME "label",
  218. MATERIAL_TYPE_NAME "text",
  219. REMARK "remark",
  220. 'operationsName' "prop"
  221. from RMS_MATERIAL_TYPE
  222. where DELETED = 0
  223. )
  224. <where>
  225. <if test="index!=null and index!=''">
  226. AND REGEXP_LIKE("label", #{index})
  227. </if>
  228. <if test="remark!=null and remark!=''">
  229. AND REGEXP_LIKE("remark", #{remark})
  230. </if>
  231. </where>
  232. FETCH NEXT 10 ROWS ONLY
  233. )
  234. <if test="id!=null and id.size>0">
  235. UNION
  236. select
  237. MATERIAL_TYPE_ID "operationsNameId",
  238. MATERIAL_TYPE_NAME "operationsName",
  239. MATERIAL_TYPE_ID "id",
  240. MATERIAL_TYPE_ID "value",
  241. MATERIAL_TYPE_NAME "label",
  242. MATERIAL_TYPE_NAME "text",
  243. REMARK "remark",
  244. 'operationsName' "prop"
  245. from RMS_MATERIAL_TYPE
  246. where MATERIAL_TYPE_ID in
  247. <foreach collection="id" item="item" open="(" close=")" separator="," >
  248. #{item}
  249. </foreach>
  250. </if>
  251. </select>
  252. <select id="getEmissionStandardByLike" resultType="java.util.Map">
  253. select * from (
  254. select
  255. EMISSION_STANDARD_ID "emissionStandardId",
  256. EMISSION_STANDARD_NAME "emissionStandardName",
  257. EMISSION_STANDARD_ID "id",
  258. EMISSION_STANDARD_ID "value",
  259. EMISSION_STANDARD_NAME "label",
  260. EMISSION_STANDARD_NAME "text"
  261. from RMS_EMISSION_STANDARD
  262. where DELETED = 0
  263. )
  264. <where>
  265. <if test="index!=null and index!=''">
  266. AND REGEXP_LIKE("label", #{index})
  267. </if>
  268. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  269. AND "id" in
  270. <foreach collection="id" item="item" open="(" close=")" separator="," >
  271. #{item}
  272. </foreach>
  273. </if>
  274. </where>
  275. FETCH NEXT 10 ROWS ONLY
  276. </select>
  277. <select id="getOperationPointByLike" resultType="java.util.Map">
  278. SELECT * FROM (
  279. select
  280. OPERATION_POINT_ID "id",
  281. OPERATION_POINT_ID "value",
  282. OPERATION_POINT_NAME "label",
  283. OPERATION_POINT_NAME "text"
  284. from RMS_OPERATION_POINT
  285. <where>
  286. DELETED = 0
  287. <if test="operationPointType!=null and operationPointType!=''">
  288. AND REGEXP_LIKE(OPERATION_POINT_TYPE, #{operationPointType})
  289. </if>
  290. <if test="receivingPointId!=null and receivingPointId!=''">
  291. AND OPERATION_POINT_ID = #{receivingPointId}
  292. </if>
  293. <if test="shippingPointId!=null and shippingPointId!=''">
  294. AND OPERATION_POINT_ID = #{shippingPointId}
  295. </if>
  296. <if test="index!=null and index!=''">
  297. AND REGEXP_LIKE(OPERATION_POINT_NAME, #{index})
  298. </if>
  299. </where>
  300. FETCH NEXT 10 ROWS ONLY
  301. )
  302. <if test="id!=null and id.size>0">
  303. UNION select
  304. OPERATION_POINT_ID "id",
  305. OPERATION_POINT_ID "value",
  306. OPERATION_POINT_NAME "label",
  307. OPERATION_POINT_NAME "text"
  308. from RMS_OPERATION_POINT
  309. where OPERATION_POINT_ID in
  310. <foreach collection="id" item="item" open="(" close=")" separator="," >
  311. #{item}
  312. </foreach>
  313. </if>
  314. </select>
  315. <select id="getPersonnelByLike" resultType="java.util.Map">
  316. select * from (
  317. select * from (
  318. select * from (
  319. select
  320. PERSONNEL_ID "personnelId",
  321. PERSONNEL_NAME "personnelName",
  322. PERSONNEL_POST "personnelPost",
  323. PERSONNEL_PHONE "personnelPhone",
  324. to_char(SSO_ID) "ssoId",
  325. PERSONNEL_ID "id",
  326. PERSONNEL_ID "value",
  327. PERSONNEL_NAME "label",
  328. PERSONNEL_NAME "text",
  329. 'personnelName' "prop"
  330. <if test="capacityId!=null and capacityId!=''">
  331. ,NVL(T ."countNumber",0) "countNumber"
  332. </if>
  333. FROM
  334. RMS_PERSONNEL RP
  335. <if test="capacityId!=null and capacityId!=''">
  336. LEFT JOIN (
  337. SELECT DRIVER_ID "driverId",
  338. COUNT(DRIVER_ID) "countNumber"
  339. FROM OMS_TRANS_ORDER
  340. WHERE CAPACITY_ID = #{capacityId}
  341. GROUP BY DRIVER_ID
  342. ) T ON T."driverId" = RP .PERSONNEL_ID
  343. </if>
  344. WHERE DELETED = 0
  345. <if test="isNC!=null">
  346. AND SOURCE_ID IS NOT NULL
  347. </if>
  348. )
  349. <where>
  350. <if test="personnelPost!=null and personnelPost!=''">
  351. AND "personnelPost" = #{personnelPost}
  352. </if>
  353. <if test="personnelId!=null and personnelId!=''">
  354. AND "personnelId" = #{personnelId})
  355. </if>
  356. <if test="driverId!=null and driverId!=''">
  357. AND "personnelId" = #{driverId})
  358. </if>
  359. <if test="driverId2!=null and driverId2!=''">
  360. AND "personnelId" = #{driverId2})
  361. </if>
  362. <if test="index!=null and index!=''">
  363. AND REGEXP_LIKE("label", #{index})
  364. </if>
  365. </where>
  366. <if test="capacityId!=null and capacityId!=''">
  367. ORDER BY "countNumber" DESC
  368. </if>
  369. FETCH NEXT 10 ROWS ONLY
  370. )
  371. <if test="id!=null and id.size>0">
  372. UNION
  373. select
  374. PERSONNEL_ID "personnelId",
  375. PERSONNEL_NAME "personnelName",
  376. PERSONNEL_POST "personnelPost",
  377. PERSONNEL_PHONE "personnelPhone",
  378. PERSONNEL_ID "id",
  379. PERSONNEL_ID "value",
  380. PERSONNEL_NAME "label",
  381. PERSONNEL_NAME "text",
  382. 'personnelName' "prop"
  383. <if test="capacityId!=null and capacityId!=''">
  384. ,NVL(T ."countNumber",0) "countNumber"
  385. </if>
  386. from RMS_PERSONNEL RP
  387. <if test="capacityId!=null and capacityId!=''">
  388. LEFT JOIN (
  389. SELECT DRIVER_ID "driverId",
  390. COUNT(DRIVER_ID) "countNumber"
  391. FROM OMS_TRANS_ORDER
  392. WHERE CAPACITY_ID = #{capacityId}
  393. GROUP BY DRIVER_ID
  394. ) T ON T."driverId" = RP .PERSONNEL_ID
  395. </if>
  396. WHERE PERSONNEL_ID in
  397. <foreach collection="id" item="item" open="(" close=")" separator="," >
  398. #{item}
  399. </foreach>
  400. </if>
  401. )
  402. <if test="capacityId!=null and capacityId!=''">
  403. ORDER BY "countNumber" DESC
  404. </if>
  405. </select>
  406. <select id="getCapacityByLike" resultType="java.util.Map">
  407. select * from (
  408. select * from (
  409. SELECT DISTINCT
  410. RCA .CAPACITY_ID "capacityId",
  411. RCA .CAPACITY_ID "id",
  412. RCA .CAPACITY_ID "value",
  413. RCA .CAPACITY_NUMBER "label",
  414. RCA .CAPACITY_NUMBER "text",
  415. RCA.CAPACITY_NUMBER "capacityNumber",
  416. 'capacityNumber' "prop"
  417. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  418. ,NVL(T ."countNumber",0) "countNumber"
  419. </if>
  420. FROM
  421. RMS_CAPACITY RCA
  422. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  423. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  424. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  425. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  426. LEFT JOIN (
  427. SELECT CAPACITY_ID "capacityId",
  428. COUNT( CAPACITY_ID ) "countNumber"
  429. FROM OMS_TRANS_ORDER
  430. <where>
  431. <if test="driverId!=null and driverId!=''">
  432. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  433. </if>
  434. <if test="driverId2!=null and driverId2!=''">
  435. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  436. </if>
  437. </where>
  438. GROUP BY CAPACITY_ID
  439. ) T ON T."capacityId" = RCA .CAPACITY_ID
  440. </if>
  441. WHERE RCA .DELETED = 0
  442. <if test="orgCode!=null and orgCode !='' and roleCodes.contains('chengYunShang')">
  443. AND RC.SSO_CODE = #{orgCode}
  444. </if>
  445. <if test="capacityType != null and capacityType != '' ">
  446. AND RCT.CAPACITY_TYPE_NAME = #{capacityType}
  447. </if>
  448. <if test="capacityType == null">
  449. AND RCT.CAPACITY_TYPE_NAME != '火车'
  450. </if>
  451. <if test="index!=null and index!=''">
  452. AND REGEXP_LIKE(RCA .CAPACITY_NUMBER, #{index})
  453. </if>
  454. <if test="capacityId!=null and capacityId!=''">
  455. AND RCA .CAPACITY_ID = #{capacityId}
  456. </if>
  457. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  458. ORDER BY "countNumber" DESC
  459. </if>
  460. FETCH NEXT 10 ROWS ONLY
  461. )
  462. <if test="id!=null and id.size>0">
  463. UNION
  464. SELECT DISTINCT
  465. RCA .CAPACITY_ID "capacityId",
  466. RCA .CAPACITY_ID "id",
  467. RCA .CAPACITY_ID "value",
  468. RCA .CAPACITY_NUMBER "label",
  469. RCA .CAPACITY_NUMBER "text",
  470. RCA.CAPACITY_NUMBER "capacityNumber",
  471. 'capacityNumber' "prop"
  472. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  473. ,NVL(T ."countNumber",0) "countNumber"
  474. </if>
  475. FROM RMS_CAPACITY RCA
  476. LEFT JOIN RMS_CAPACITY_CARRIER RCC ON RCA .CAPACITY_ID = RCC .CAPACITY_ID
  477. LEFT JOIN RMS_COMPANY RC ON RC .COMPANY_ID = RCC .COMPANY_ID
  478. LEFT JOIN RMS_CAPACITY_TYPE RCT ON RCA.CAPACITY_TYPE_ID = RCT.CAPACITY_TYPE_ID
  479. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  480. LEFT JOIN (
  481. SELECT CAPACITY_ID "capacityId",
  482. COUNT( CAPACITY_ID ) "countNumber"
  483. FROM OMS_TRANS_ORDER
  484. <where>
  485. <if test="driverId!=null and driverId!=''">
  486. AND (DRIVER_ID = #{driverId} OR DRIVER_ID2 = #{driverId})
  487. </if>
  488. <if test="driverId2!=null and driverId2!=''">
  489. AND DRIVER_ID = #{driverId2} OR DRIVER_ID2 = #{driverId2}
  490. </if>
  491. </where>
  492. GROUP BY CAPACITY_ID
  493. ) T ON T."capacityId" = RCA .CAPACITY_ID
  494. </if>
  495. WHERE RCA .CAPACITY_ID in
  496. <foreach collection="id" item="item" open="(" close=")" separator="," >
  497. #{item}
  498. </foreach>
  499. </if>
  500. )
  501. <if test="(driverId!=null and driverId!='') or (driverId2!=null and driverId2!='')">
  502. ORDER BY "countNumber" DESC
  503. </if>
  504. </select>
  505. <select id="getrmsrmsjobinfosBylike" resultType="java.util.Map">
  506. select * from(
  507. select
  508. RC.JOB_ID "jboId",
  509. RC.JOB_NAME "jobName",
  510. RC.JOB_ID "id",
  511. RC.JOB_ID "value",
  512. RC.JOB_NAME "label",
  513. RC.JOB_NAME "text"
  514. from RMS_JOB_INFO RC
  515. where DELETED = 0
  516. )
  517. <where>
  518. <if test="index!=null and index!=''">
  519. AND REGEXP_LIKE("label", #{index})
  520. </if>
  521. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  522. AND "id" in
  523. <foreach collection="id" item="item" open="(" close=")" separator="," >
  524. #{item}
  525. </foreach>
  526. </if>
  527. </where>
  528. FETCH NEXT 10 ROWS ONLY
  529. </select>
  530. <select id="getTransRangeByLike" resultType="java.util.Map">
  531. select * from(
  532. select
  533. RC.TRANS_RANGE_ID "transrangeId",
  534. RC.TRANS_RANGE_NAME "transrangeName",
  535. RC.TRANS_RANGE_ID "operationRangeId",
  536. RC.TRANS_RANGE_NAME "operationRangeName",
  537. RC.TRANS_RANGE_ID "id",
  538. RC.TRANS_RANGE_ID "value",
  539. RC.TRANS_RANGE_NAME "label",
  540. RC.TRANS_RANGE_NAME "text",
  541. rc.START_POINT_ID "shippingPointId",
  542. rc.END_POINT_ID "receivingPointId",
  543. rc.LINE_ID "lineId",
  544. 'operationRangeName' "prop"
  545. from RMS_TRANS_RANGE RC
  546. where DELETED = 0
  547. )
  548. <where>
  549. <if test="index!=null and index!=''">
  550. AND REGEXP_LIKE("label", #{index})
  551. </if>
  552. <if test="transrangeId!=null and transrangeId!=''">
  553. AND "transrangeId" = #{transrangeId}
  554. </if>
  555. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  556. AND "id" in
  557. <foreach collection="id" item="item" open="(" close=")" separator="," >
  558. #{item}
  559. </foreach>
  560. </if>
  561. </where>
  562. FETCH NEXT 10 ROWS ONLY
  563. </select>
  564. <select id="getCategoryCodeByLike" resultType="java.util.Map">
  565. select * from(
  566. select
  567. RC.RULES_ID "rulesId",
  568. RC.RULES_CODE "rulesCode",
  569. RC.RULES_ID "id",
  570. RC.RULES_ID "value",
  571. RC.RULES_CODE "label",
  572. RC.RULES_CODE "text"
  573. from RMS_DEMAND_RULES RC
  574. where DELETED = 0
  575. )
  576. <where>
  577. <if test="index!=null and index!=''">
  578. AND REGEXP_LIKE("label", #{index})
  579. </if>
  580. <if test="id!=null and id.size>0 and !(index!=null and index!='')">
  581. AND "id" in
  582. <foreach collection="id" item="item" open="(" close=")" separator="," >
  583. #{item}
  584. </foreach>
  585. </if>
  586. </where>
  587. FETCH NEXT 10 ROWS ONLY
  588. </select>
  589. <select id="getCapacityTypeByLike" resultType="java.util.Map">
  590. select * from(
  591. select
  592. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  593. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  594. RCT.CAPACITY_TYPE_ID "id",
  595. RCT.CAPACITY_TYPE_ID "value",
  596. RCT.CAPACITY_TYPE_NAME "label",
  597. RCT.CAPACITY_TYPE_NAME "text",
  598. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  599. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  600. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  601. 'capacityTypeName' "prop"
  602. from RMS_CAPACITY_TYPE RCT
  603. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  604. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  605. <where>
  606. RCT.DELETED=0
  607. <if test="index!=null and index!=''">
  608. AND REGEXP_LIKE(RCT.CAPACITY_TYPE_NAME, #{index})
  609. </if>
  610. <if test="capacityTypeId!=null and capacityTypeId!=''">
  611. AND RCT.CAPACITY_TYPE_ID = #{capacityTypeId}
  612. </if>
  613. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  614. and
  615. RCT.CAPACITY_TYPE_NAME in
  616. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  617. #{item}
  618. </foreach>
  619. </if>
  620. </where>
  621. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  622. FETCH NEXT 10 ROWS ONLY
  623. )
  624. <if test="id!=null and id.size>0">
  625. UNION
  626. select
  627. RCT.CAPACITY_TYPE_ID "capacityTypeId",
  628. RCT.CAPACITY_TYPE_NAME "capacityTypeName",
  629. RCT.CAPACITY_TYPE_ID "id",
  630. RCT.CAPACITY_TYPE_ID "value",
  631. RCT.CAPACITY_TYPE_NAME "label",
  632. RCT.CAPACITY_TYPE_NAME "text",
  633. RCT .CAPACITY_MAX_LOAD "capacityMaxLoad",
  634. '[' || listagg (RCFT .FUEL_TYPE_ID, ',') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) || ']' "fuelTypeIds",
  635. listagg (RFT .FUEL_TYPE_NAME, '/') WITHIN GROUP (ORDER BY RCT .CAPACITY_TYPE_ID) "fuelTypes",
  636. 'capacityTypeName' "prop"
  637. from RMS_CAPACITY_TYPE RCT
  638. LEFT JOIN RMS_CAPACITY_FUEL_TYPE RCFT ON RCFT.CAPACITY_TYPE_ID = RCT .CAPACITY_TYPE_ID
  639. LEFT JOIN RMS_FUEL_TYPE RFT ON RFT .FUEL_TYPE_ID = RCFT.FUEL_TYPE_ID
  640. WHERE RCT.CAPACITY_TYPE_ID in
  641. <foreach collection="id" item="item" open="(" close=")" separator="," >
  642. #{item}
  643. </foreach>
  644. <if test="capacityTypeNameList != null and capacityTypeNameList.size > 0">
  645. and
  646. RCT.CAPACITY_TYPE_NAME in
  647. <foreach collection="capacityTypeNameList" index="index" item="item" separator="," close=")" open="(">
  648. #{item}
  649. </foreach>
  650. </if>
  651. GROUP BY RCT .CAPACITY_TYPE_ID,RCT.CAPACITY_TYPE_NAME,RCT .CAPACITY_MAX_LOAD
  652. </if>
  653. </select>
  654. <select id="getLineByLike" resultType="java.util.Map">
  655. select * from(
  656. select * from(
  657. select
  658. RL.LINE_ID "lineId",
  659. RL.LINE_NAME "lineName",
  660. RL.LINE_ID "id",
  661. RL.LINE_ID "value",
  662. RL.LINE_NAME "label",
  663. RL.LINE_NAME "text",
  664. NVL(RL_TEMP."points",'无') "points",
  665. RL.LINE_TYPE "lineType",
  666. 'lineName' "prop"
  667. from RMS_LINE RL
  668. LEFT JOIN
  669. (
  670. SELECT
  671. RLS .LINE_ID "lineId",
  672. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  673. FROM
  674. RMS_LINE_STEP RLS
  675. LEFT JOIN RMS_STEP_POINT RSP
  676. ON RLS .STEP_ID = RSP .STEP_ID
  677. LEFT JOIN RMS_OPERATION_POINT ROP
  678. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  679. GROUP BY RLS .LINE_ID
  680. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  681. where DELETED = 0
  682. )
  683. <where>
  684. <if test="index!=null and index!=''">
  685. AND REGEXP_LIKE("label" || "points", #{index})
  686. </if>
  687. <if test="lineId!=null and lineId!=''">
  688. AND "lineId" = #{lineId}
  689. </if>
  690. <if test="lineType!=null and lineType!=''">
  691. AND REGEXP_LIKE("lineType" , #{lineType})
  692. </if>
  693. </where>
  694. FETCH NEXT 10 ROWS ONLY
  695. )
  696. <if test="id!=null and id.size>0">
  697. UNION
  698. select
  699. RL.LINE_ID "lineId",
  700. RL.LINE_NAME "lineName",
  701. RL.LINE_ID "id",
  702. RL.LINE_ID "value",
  703. RL.LINE_NAME "label",
  704. RL.LINE_NAME "text",
  705. NVL(RL_TEMP."points",'无') "points",
  706. RL.LINE_TYPE "lineType",
  707. 'lineName' "prop"
  708. from RMS_LINE RL
  709. LEFT JOIN
  710. (
  711. SELECT
  712. RLS .LINE_ID "lineId",
  713. listagg (DISTINCT ROP .OPERATION_POINT_NAME, ',') WITHIN GROUP (ORDER BY RLS .LINE_ID) "points"
  714. FROM
  715. RMS_LINE_STEP RLS
  716. LEFT JOIN RMS_STEP_POINT RSP
  717. ON RLS .STEP_ID = RSP .STEP_ID
  718. LEFT JOIN RMS_OPERATION_POINT ROP
  719. ON RSP .OPERATION_POINT_ID = ROP .OPERATION_POINT_ID
  720. GROUP BY RLS .LINE_ID
  721. ) RL_TEMP ON RL_TEMP ."lineId" = RL .LINE_ID
  722. where RL.LINE_ID in
  723. <foreach collection="id" item="item" open="(" close=")" separator="," >
  724. #{item}
  725. </foreach>
  726. </if>
  727. </select>
  728. <select id="getMaterialByLike" resultType="java.util.Map">
  729. select * from(
  730. select
  731. RC.MATERIAL_ID "materialId",
  732. RC.MATERIAL_NAME "materialName",
  733. RC.MATERIAL_ID "id",
  734. RC.MATERIAL_ID "value",
  735. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  736. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  737. THEN '-' || RC.MATERIAL_SPECIFICATION
  738. WHEN RC.MATERIAL_MODEL IS NOT NULL
  739. THEN '-' || RC.MATERIAL_MODEL
  740. ELSE ''
  741. END) "label",
  742. RC.MATERIAL_NAME "text",
  743. 'materialName' "prop"
  744. from RMS_MATERIAL RC
  745. <where>
  746. DELETED = 0
  747. <if test="index!=null and index!=''">
  748. AND REGEXP_LIKE(RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  749. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  750. THEN '-' || RC.MATERIAL_SPECIFICATION
  751. WHEN RC.MATERIAL_MODEL IS NOT NULL
  752. THEN '-' || RC.MATERIAL_MODEL
  753. ELSE ''
  754. END), #{index})
  755. </if>
  756. <if test="materialId!=null and materialId!=''">
  757. AND RC.MATERIAL_ID = #{materialId}
  758. </if>
  759. </where>
  760. FETCH NEXT 10 ROWS ONLY
  761. )
  762. <if test="id!=null and id.size>0">
  763. UNION
  764. select
  765. RC.MATERIAL_ID "materialId",
  766. RC.MATERIAL_NAME "materialName",
  767. RC.MATERIAL_ID "id",
  768. RC.MATERIAL_ID "value",
  769. RC.MATERIAL_CODE || '-' || RC.MATERIAL_NAME ||
  770. (CASE WHEN RC.MATERIAL_SPECIFICATION IS NOT NULL
  771. THEN '-' || RC.MATERIAL_SPECIFICATION
  772. WHEN RC.MATERIAL_MODEL IS NOT NULL
  773. THEN '-' || RC.MATERIAL_MODEL
  774. ELSE ''
  775. END) "label",
  776. RC.MATERIAL_NAME "text",
  777. 'materialName' "prop"
  778. from RMS_MATERIAL RC
  779. WHERE RC.MATERIAL_ID in
  780. <foreach collection="id" item="item" open="(" close=")" separator="," >
  781. #{item}
  782. </foreach>
  783. </if>
  784. </select>
  785. <select id="countTrainLoad" resultType="java.lang.Integer">
  786. SELECT COUNT(*)
  787. FROM TMS_LOAD_RESULT TLR
  788. LEFT JOIN OMS_TRANS_ORDER OTO ON TLR .TRANS_ORDER_ID =OTO .TRANS_ORDER_ID
  789. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  790. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  791. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  792. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  793. <where>
  794. OTO.DELETED != 1
  795. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  796. AND TLR.LOAD_START_TIME = to_date(#{loadTime}, 'yyyymmdd')
  797. AND OTO.CAPACITY_ID IN
  798. <foreach collection="list" item="item" open="(" close=")" separator="," >
  799. #{item.车号}
  800. </foreach>
  801. </where>
  802. </select>
  803. <select id="getBusinessTypeLike" resultType="java.util.Map">
  804. select * from(
  805. select * from(
  806. select
  807. DBT.BUSINESS_TYPE_ID "businessTypeId",
  808. DBT.BUSINESS_TYPE_ID "id",
  809. DBT.BUSINESS_TYPE_ID "value",
  810. DBT.BUSINESS_TYPE_NAME "text",
  811. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  812. DBT.BUSINESS_SCENE "businessScene",
  813. DBT.BUSINESS_TYPE_NAME "label",
  814. DBT.ALTERNATE_FIELDS1 "transportType",
  815. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  816. from DIL_BUSINESS_TYPE DBT
  817. )
  818. <where>
  819. <if test="index!=null and index!=''">
  820. AND REGEXP_LIKE("label", #{index})
  821. </if>
  822. <if test="businessType!=null and businessType!=''">
  823. AND "businessTypeId" = #{businessType}
  824. </if>
  825. <if test="businessScene!=null and businessScene!=''">
  826. AND "businessScene" = #{businessScene}
  827. </if>
  828. <if test="transportType!=null and transportType!=''">
  829. AND REGEXP_LIKE("transportType", #{transportType})
  830. </if>
  831. <if test="materialTypeName!=null and materialTypeName!=''">
  832. AND REGEXP_LIKE("materialTypeName", #{materialTypeName})
  833. </if>
  834. </where>
  835. FETCH NEXT 10 ROWS ONLY
  836. )
  837. <if test="id!=null and id.size > 0">
  838. UNION
  839. select
  840. DBT.BUSINESS_TYPE_ID "businessTypeId",
  841. DBT.BUSINESS_TYPE_ID "id",
  842. DBT.BUSINESS_TYPE_ID "value",
  843. DBT.BUSINESS_TYPE_NAME "text",
  844. DBT.BUSINESS_TYPE_NAME "businessTypeName",
  845. DBT.BUSINESS_SCENE "businessScene",
  846. DBT.BUSINESS_TYPE_NAME "label",
  847. DBT.ALTERNATE_FIELDS1 "transportType",
  848. DBT.ALTERNATE_FIELDS2 "materialTypeName"
  849. from DIL_BUSINESS_TYPE DBT
  850. WHERE DBT.BUSINESS_TYPE_ID in
  851. <foreach collection="id" item="item" open="(" close=")" separator=",">
  852. #{item}
  853. </foreach>
  854. </if>
  855. </select>
  856. <select id="findTrainWeight" resultType="java.util.Map">
  857. <foreach collection="list" item="item" separator=" UNION " >
  858. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  859. OOC .ORDER_CHILD_ID "transOrderChildId",
  860. APC .TRANS_PLAN_ID "transPlanId",
  861. APC .MATERIAL_ID "materialId",
  862. TWR .RESULT_ID "resultId",
  863. TUR .RESULT_ID "unloadResultId",
  864. #{item.车号} "capacityId",
  865. #{item.净重} "netWeight",
  866. #{item.皮重} "tareWeight",
  867. #{item.毛重} "grossWeight"
  868. FROM OMS_TRANS_ORDER OTO
  869. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  870. LEFT JOIN TMS_WEIGHT_RESULT TWR
  871. ON TWR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TWR.NET_WEIGHT_TIME = to_date(#{weightTime}, 'yyyymmdd')
  872. LEFT JOIN TMS_UNLOAD_RESULT TUR ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  873. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  874. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  875. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  876. <where>
  877. OTO.DELETED != 1
  878. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  879. AND OTO.CAPACITY_ID = #{item.车号}
  880. </where>
  881. </foreach>
  882. </select>
  883. <select id="findTrainUnload" resultType="java.util.Map">
  884. <foreach collection="list" item="item" separator=" UNION " >
  885. SELECT OTO .TRANS_ORDER_ID "transOrderId",
  886. OOC .ORDER_CHILD_ID "transOrderChildId",
  887. TUR .RESULT_ID "resultId",
  888. TUR .ACTUAL_TONNAGE "unloadWeightOld",
  889. ATR .SERIAL_NUMBER "requirementSerialNumber",
  890. APC .TRANS_PLAN_ID "transPlanId",
  891. ARC .RECEIVING_POINT_ID "unloadPointId",
  892. APC .MATERIAL_ID "materialId",
  893. #{item.车号} "capacityId",
  894. #{item.净重} "unloadWeight"
  895. FROM OMS_TRANS_ORDER OTO
  896. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  897. LEFT JOIN TMS_UNLOAD_RESULT TUR
  898. ON TUR .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID AND TUR.UNLOAD_START_TIME = to_date(#{unloadTime}, 'yyyymmdd')
  899. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  900. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  901. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  902. <where>
  903. OTO.DELETED != 1
  904. AND ATR.SERIAL_NUMBER =#{requirementNumber}
  905. AND OTO.CAPACITY_ID = #{item.车号}
  906. </where>
  907. </foreach>
  908. </select>
  909. <select id="getOrderIds" resultType="java.util.Map">
  910. SELECT oto.TRANS_ORDER_ID FROM OMS_TRANS_ORDER OTO
  911. left join RMS_PERSONNEL RP
  912. on rp.PERSONNEL_ID = oto.DRIVER_ID
  913. left join RMS_PERSONNEL RP2
  914. on RP2.PERSONNEL_ID = oto.DRIVER_ID2
  915. where (rp.PERSONNEL_JOB_NUMBER = #{jobNumber}
  916. or rp2.PERSONNEL_JOB_NUMBER = #{jobNumber})
  917. and oto.deleted = 5
  918. </select>
  919. <select id="getFuelTypeByLike" resultType="java.util.Map">
  920. select * from(
  921. SELECT
  922. FUEL_TYPE_ID "fuelTypeId",
  923. FUEL_TYPE_NAME "fuelTypeName",
  924. FUEL_TYPE_ID "id",
  925. FUEL_TYPE_ID "value",
  926. FUEL_TYPE_NAME "text",
  927. FUEL_TYPE_NAME "label"
  928. FROM RMS_FUEL_TYPE
  929. <where>
  930. DELETED = 0
  931. <if test="index!=null and index!=''">
  932. AND REGEXP_LIKE(FUEL_TYPE_NAME, #{index})
  933. </if>
  934. </where>
  935. FETCH NEXT 10 ROWS ONLY
  936. )
  937. <if test="id!=null and id.size > 0">
  938. UNION
  939. SELECT
  940. FUEL_TYPE_ID "fuelTypeId",
  941. FUEL_TYPE_NAME "fuelTypeName",
  942. FUEL_TYPE_ID "id",
  943. FUEL_TYPE_ID "value",
  944. FUEL_TYPE_NAME "text",
  945. FUEL_TYPE_NAME "label"
  946. FROM RMS_FUEL_TYPE
  947. WHERE FUEL_TYPE_ID in
  948. <foreach collection="id" item="item" open="(" close=")" separator="," >
  949. #{item}
  950. </foreach>
  951. </if>
  952. </select>
  953. <select id="getDemandRulesCode" resultType="java.util.Map">
  954. SELECT * FROM (
  955. SELECT RDB.BILLING_TYPE "billingType",
  956. RDB.BUSINESS_TYPE "businessType",
  957. rdb.LINE_ID "lineId",
  958. RDB.CAPACITY_TYPE_ID "capacityTypeId",
  959. RDB.MATERIAL_TYPE_ID "operationsNameId",
  960. RDB.TRANS_RANGE_ID "operationRange",
  961. rdb.COMPANY_ID "businessCompanyId",
  962. RDB.RULES_ID "value",
  963. RDB.RULES_CODE "label",
  964. ROP.OPERATION_POINT_ID "shippingPointId",
  965. ROP2.OPERATION_POINT_ID "receivingPointId"
  966. FROM RMS_DEMAND_RULES RDB
  967. LEFT JOIN RMS_TRANS_RANGE RTR
  968. ON RTR.TRANS_RANGE_ID = RDB.TRANS_RANGE_ID
  969. LEFT JOIN RMS_OPERATION_POINT ROP
  970. ON ROP.OPERATION_POINT_ID = RTR.START_POINT_ID
  971. LEFT JOIN RMS_OPERATION_POINT ROP2
  972. ON ROP2.OPERATION_POINT_ID = RTR.END_POINT_ID
  973. )
  974. <where>
  975. <if test="index!=null and index!=''">
  976. AND REGEXP_LIKE("label", #{index})
  977. </if>
  978. <if test="businessCompanyId!=null and businessCompanyId!=''">
  979. AND REGEXP_LIKE("businessCompanyId", #{businessCompanyId})
  980. </if>
  981. <include refid="com.steerinfo.dil.mapper.CommonMapper.filterCompanyData"></include>
  982. </where>
  983. </select>
  984. <select id="getIdCardCode" resultType="java.lang.String">
  985. SELECT RC.INNNER_CODE FROM RMS_PERSONNEL RC
  986. WHERE RC.PERSONNEL_JOB_NUMBER = #{jobNumber}
  987. FETCH NEXT 1 ROWS ONLY
  988. </select>
  989. <select id="getMaterial" parameterType="java.util.Map" resultType="java.util.Map">
  990. select t.prod_code_pk as "prodCodePk",
  991. b.material_id as "materialId",
  992. b.material_code as "prodCode",
  993. b.material_name as "prodName",
  994. b.material_model as "steelName",
  995. t.create_emp as "createEmp",
  996. t.create_time as "createTime",
  997. b.material_specification as "specName",
  998. CASE WHEN
  999. REGEXP_LIKE(nvl(substr(b.material_specification,
  1000. decode(instr(b.material_specification, '/'),
  1001. 0,
  1002. 100,
  1003. instr(b.material_specification, '/')) + 1),
  1004. 12),'^\d+$') THEN
  1005. nvl(substr(b.material_specification,
  1006. decode(instr(b.material_specification, '/'),
  1007. 0,
  1008. 100,
  1009. instr(b.material_specification, '/')) + 1),
  1010. 12)
  1011. ELSE
  1012. '0'
  1013. END
  1014. * b.material_theoretical_weight / 1000 as "weight"
  1015. from rms_material b
  1016. left join rms_material_map t
  1017. on t.prod_code_l = b.material_code
  1018. <where>
  1019. <if test="prodCode != null and prodCode != ''">
  1020. and t.prod_code = #{prodCode}
  1021. </if>
  1022. </where>
  1023. union all
  1024. select '' as "prodCodePk",
  1025. b.material_id as "materialId",
  1026. b.material_code as "prodCode",
  1027. b.material_name as "prodName",
  1028. b.material_model as "steelName",
  1029. '' as "createEmp",
  1030. sysdate as "createTime",
  1031. b.material_specification as "specName",
  1032. CASE WHEN
  1033. REGEXP_LIKE(nvl(substr(b.material_specification,
  1034. decode(instr(b.material_specification, '/'),
  1035. 0,
  1036. 100,
  1037. instr(b.material_specification, '/')) + 1),
  1038. 12),'^\d+$') THEN
  1039. nvl(substr(b.material_specification,
  1040. decode(instr(b.material_specification, '/'),
  1041. 0,
  1042. 100,
  1043. instr(b.material_specification, '/')) + 1),
  1044. 12)
  1045. ELSE
  1046. '0'
  1047. END * b.material_theoretical_weight / 1000 as "weight"
  1048. from rms_material b
  1049. <where>
  1050. <if test="prodCode != null and prodCode != ''">
  1051. and b.material_code = #{prodCode}
  1052. </if>
  1053. <if test="materialId != null and materialId != ''">
  1054. and b.material_id = #{materialId}
  1055. </if>
  1056. </where>
  1057. </select>
  1058. <select id="countTransOrder" resultType="java.lang.Integer">
  1059. SELECT COUNT(OTO .TRANS_ORDER_ID)
  1060. FROM OMS_TRANS_ORDER OTO
  1061. LEFT JOIN OMS_ORDER_CHILD OOC ON OOC .TRANS_ORDER_ID = OTO .TRANS_ORDER_ID
  1062. LEFT JOIN AMS_PLAN_CHILD APC ON APC.PLAN_CHILD_ID = OOC.PLAN_CHILD_ID
  1063. LEFT JOIN AMS_REQUIREMENT_CHILD ARC ON ARC.REQUIREMENT_CHILD_ID = APC.REQUIREMENT_CHILD_ID
  1064. LEFT JOIN AMS_TRANS_REQUIREMENT ATR ON ATR.TRANS_REQUIREMENT_ID = ARC.TRANS_REQUIREMENT_ID
  1065. <where>
  1066. OTO.DELETED != 1
  1067. AND APC.TRANS_PLAN_ID =#{transPlanId}
  1068. </where>
  1069. </select>
  1070. </mapper>