177ad1b45e5c9e40c280d5e5540dd51cc97648a5.svn-base 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. <?xml version="1.0" encoding='UTF-8'?>
  2. <queryMap desc="角色使用权限设定">
  3. <query id="UIZ020030.Menu.Select" desc="获取菜单" fetchSize="10">
  4. <![CDATA[
  5. SELECT LEVEL, MNSCR_ID, MNSCR_NM FROM TBZ01_MNSCR
  6. WHERE MNSCR_TP = 'M' AND UPCHECK_YN = 'Y'
  7. START WITH MNSCR_ID = '*'
  8. CONNECT BY PRIOR MNSCR_ID = P_MNSCR_ID
  9. ORDER SIBLINGS BY MNSCR_DSP_SEQ
  10. ]]>
  11. </query>
  12. <query id="UIZ020030.User.MnScr.Select" desc="获取用户菜单/界面" fetchSize="10">
  13. <![CDATA[
  14. SELECT DISTINCT MNSCR_ID FROM TBZ01_MNSCR
  15. WHERE UPCHECK_YN = 'Y'
  16. START WITH MNSCR_ID IN (
  17. SELECT DISTINCT MNSCR_ID FROM TBZ01_USERPRIV
  18. WHERE USER_CD IN (?, ?)) -- 参数:用户、角色代码
  19. CONNECT BY PRIOR P_MNSCR_ID = MNSCR_ID -- 查找父菜单
  20. UNION
  21. SELECT DISTINCT MNSCR_ID FROM TBZ01_MNSCR
  22. WHERE UPCHECK_YN = 'Y'
  23. START WITH P_MNSCR_ID IN (
  24. SELECT DISTINCT MNSCR_ID FROM TBZ01_USERPRIV
  25. WHERE USER_CD IN (?, ?)) -- 参数:用户、角色代码
  26. CONNECT BY PRIOR MNSCR_ID = P_MNSCR_ID -- 查找子菜单
  27. ]]>
  28. </query>
  29. <query id="UIZ020030.Dept.MnScr.Select" desc="获取部门菜单/界面" fetchSize="10">
  30. <![CDATA[
  31. SELECT DISTINCT MNSCR_ID FROM TBZ01_MNSCR
  32. WHERE UPCHECK_YN = 'Y'
  33. START WITH MNSCR_ID IN (
  34. SELECT DISTINCT MNSCR_ID FROM TBZ01_DEPTPRIV
  35. WHERE DT_CD IN (
  36. SELECT DEPT_CD FROM TBZ01_DEPT
  37. START WITH DEPT_CD = ? -- 参数:部门代码
  38. CONNECT BY PRIOR DEPT_CD = P_DEPT_CD))
  39. CONNECT BY PRIOR P_MNSCR_ID = MNSCR_ID -- 查找父菜单
  40. UNION
  41. SELECT DISTINCT MNSCR_ID FROM TBZ01_MNSCR
  42. WHERE UPCHECK_YN = 'Y'
  43. START WITH P_MNSCR_ID IN (
  44. SELECT DISTINCT MNSCR_ID FROM TBZ01_DEPTPRIV
  45. WHERE DT_CD IN (
  46. SELECT DEPT_CD FROM TBZ01_DEPT
  47. START WITH DEPT_CD = ? -- 参数:部门代码
  48. CONNECT BY PRIOR DEPT_CD = P_DEPT_CD))
  49. CONNECT BY PRIOR MNSCR_ID = P_MNSCR_ID -- 查找子菜单
  50. ]]>
  51. </query>
  52. <query id="UIZ020030.Role.Select" desc="角色查询" fetchSize="10">
  53. <![CDATA[
  54. SELECT
  55. A.USER_CD ROLE_CD, -- 角色代码
  56. A.USER_NM ROLE_NM, -- 角色名称
  57. A.DEPT_CD, -- 部门代码
  58. A.LOCKED_YN, -- 是否被锁定
  59. A.MOD_ID,
  60. A.MOD_DATE,
  61. B.DEPT_NM
  62. FROM TBZ01_USER A, TBZ01_DEPT B
  63. WHERE ROLEUSER_TP = 'R'
  64. AND A.DEPT_CD IN (
  65. SELECT DEPT_CD FROM TBZ01_DEPT
  66. WHERE NVL(LOCKED_YN, 'N') = 'N'
  67. START WITH DEPT_CD = ? -- 参数:部门代码
  68. CONNECT BY PRIOR DEPT_CD = P_DEPT_CD)
  69. AND A.DEPT_CD = B.DEPT_CD
  70. AND A.USER_NM||'&' LIKE ?||'%' -- 参数:角色名
  71. ORDER BY MOD_DATE
  72. ]]>
  73. </query>
  74. <query id="UIZ020030.Menu.R.Select" desc="R 权限" fetchSize="10">
  75. <![CDATA[
  76. SELECT
  77. LEVEL,
  78. A.MNSCR_ID, -- 菜单/画面ID
  79. A.MNSCR_NM, -- 菜单/画面名称
  80. A.MNSCR_TP, -- 菜单/菜单区分
  81. B.FCNRS_ID FC_ID, -- 权限ID
  82. NVL2(B.FCNRS_ID, 'Y', 'N') CHK,
  83. B.MOD_ID,
  84. B.MOD_DATE,
  85. B.FCNRS_ID FCNRS_REF
  86. FROM TBZ01_MNSCR A, (
  87. SELECT * FROM TBZ01_USERPRIV
  88. WHERE FCNRS_ID LIKE 'R%'
  89. AND USER_CD = ?) B -- 参数:角色代码
  90. WHERE A.MNSCR_ID = B.MNSCR_ID(+)
  91. START WITH A.MNSCR_ID = ? -- 参数:MNSCR_ID
  92. CONNECT BY PRIOR A.MNSCR_ID = A.P_MNSCR_ID
  93. ORDER SIBLINGS BY A.MNSCR_DSP_SEQ
  94. ]]>
  95. </query>
  96. <query id="UIZ020030.Menu.F.Select" desc="F 功能" fetchSize="10">
  97. <![CDATA[
  98. SELECT
  99. LEVEL,
  100. A.MNSCR_ID, -- 菜单/画面ID
  101. A.MNSCR_NM, -- 菜单/画面名称
  102. A.MNSCR_TP, -- 菜单/菜单区分
  103. B.FC_ID, -- 功能 ID
  104. NVL2(C.FC_ID, 'Y', 'N') CHK,
  105. C.MOD_ID,
  106. C.MOD_DATE,
  107. DECODE(A.MNSCR_TP, 'M', 'Y', NVL2(C.FC_ID, NVL2(C.MOD_ID, B.FC_ID, 'Y'), B.FC_ID)) FCNRS_REF
  108. FROM TBZ01_MNSCR A
  109. LEFT JOIN TBZ01_SCRFN B ON (A.MNSCR_ID = B.SCR_ID)
  110. LEFT JOIN (
  111. SELECT DISTINCT P.MNSCR_ID,
  112. NVL(R.FC_ID, P.FCNRS_ID) FC_ID,
  113. NVL2(R.FC_ID, '', P.MOD_ID) MOD_ID,
  114. NVL2(R.FC_ID, '', P.MOD_DATE) MOD_DATE
  115. FROM TBZ01_RSDTL R RIGHT JOIN (
  116. SELECT DISTINCT M.MNSCR_ID, U.FCNRS_ID, U.MOD_ID, U.MOD_DATE
  117. FROM TBZ01_MNSCR M, (
  118. SELECT X.MNSCR_ID, X.FCNRS_ID, X.MOD_ID, X.MOD_DATE
  119. FROM TBZ01_USERPRIV X
  120. INNER JOIN TBZ01_FCNRS Y ON (X.FCNRS_ID = Y.FCNRS_ID)
  121. WHERE USER_CD IN (?, ?) -- 参数:角色代码,用户代码
  122. AND NVL(Y.LOCKED_YN, 'N') = 'N') U
  123. WHERE U.MNSCR_ID IN (
  124. SELECT MNSCR_ID FROM TBZ01_MNSCR
  125. START WITH MNSCR_ID = M.MNSCR_ID
  126. CONNECT BY PRIOR P_MNSCR_ID = MNSCR_ID)
  127. START WITH M.MNSCR_ID = U.MNSCR_ID
  128. CONNECT BY PRIOR M.MNSCR_ID = M.P_MNSCR_ID) P
  129. ON (R.RS_ID = P.FCNRS_ID)) C
  130. ON (B.SCR_ID = C.MNSCR_ID AND B.FC_ID = C.FC_ID)
  131. WHERE (A.MNSCR_TP = 'M' OR B.FC_ID IS NOT NULL)
  132. START WITH A.P_MNSCR_ID = ? -- 参数:MNSCR_ID
  133. CONNECT BY PRIOR A.MNSCR_ID = A.P_MNSCR_ID
  134. ORDER SIBLINGS BY A.MNSCR_DSP_SEQ
  135. ]]>
  136. </query>
  137. <query id="UIZ020030.Role.Update" desc="角色更新" fetchSize="10">
  138. <![CDATA[
  139. UPDATE TBZ01_USER SET
  140. USER_NM = ?, -- 角色名称
  141. DEPT_CD = ?,
  142. LOCKED_YN = ?, -- 是否被锁定
  143. MOD_ID = ?, -- 修改者ID
  144. MOD_DATE = TO_CHAR(SYSTIMESTAMP, 'yyyymmdd') -- 修改日期
  145. WHERE USER_CD = ? -- 角色代码
  146. ]]>
  147. </query>
  148. <query id="UIZ020030.RolePriv.Update" desc="角色权限更新" fetchSize="10">
  149. <![CDATA[
  150. UPDATE TBZ01_USERPRIV SET
  151. FCNRS_ID = ?, -- 权限ID
  152. MOD_ID = ?, -- 修改者ID
  153. MOD_DATE = TO_CHAR(SYSTIMESTAMP, 'yyyymmdd') -- 修改日期
  154. WHERE USER_CD = ? -- 使用者ID
  155. AND MNSCR_ID = ? -- 菜单/画面ID
  156. AND FCNRS_ID = ? -- 权限ID
  157. ]]>
  158. </query>
  159. <query id="UIZ020030.Role.Insert" desc="角色插入" fetchSize="10">
  160. <![CDATA[
  161. INSERT INTO TBZ01_USER
  162. ( USER_CD, USER_NM, DEPT_CD, LOCKED_YN, MOD_ID, MOD_DATE, ROLEUSER_TP )
  163. -- 角色代码, 角色名称, 是否被锁定
  164. VALUES( ?, ?, ?, ?, ?, TO_CHAR(SYSTIMESTAMP, 'yyyymmdd'), 'R' )
  165. ]]>
  166. </query>
  167. <query id="UIZ020030.RolePriv.Insert" desc="角色权限插入" fetchSize="10">
  168. <![CDATA[
  169. INSERT INTO TBZ01_USERPRIV
  170. ( USER_CD, MNSCR_ID, FCNRS_ID, MOD_ID, MOD_DATE )
  171. -- 使用者ID, 菜单/画面ID, 功能权限ID
  172. VALUES( ?, ?, ?, ?, TO_CHAR(SYSTIMESTAMP, 'yyyymmdd') )
  173. ]]>
  174. </query>
  175. <query id="UIZ020030.RolePriv.Delete" desc="角色权限删除" fetchSize="10">
  176. <![CDATA[
  177. DELETE FROM TBZ01_USERPRIV
  178. WHERE USER_CD = ? -- 使用者ID
  179. AND MNSCR_ID = ? -- 菜单/画面ID
  180. AND FCNRS_ID = ? -- 权限ID
  181. ]]>
  182. </query>
  183. </queryMap>