UniversalMapper.xml 71 KB

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