staffManager.xml 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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.lemon.lifecenter.mapper.StaffManagerMapper">
  4. <select id="selectStaffManagerCount" parameterType="StaffManagerDTO" resultType="int">
  5. <![CDATA[
  6. SELECT COUNT(*) AS TOTAL
  7. FROM STAFF_MANAGER
  8. WHERE 1 = 1
  9. AND GUBUN = #{gubun}
  10. ]]>
  11. <if test='centerCode != null and centerCode != ""'>
  12. <![CDATA[
  13. AND CENTER_CODE = #{centerCode}
  14. ]]>
  15. </if>
  16. <if test='centerName != null and centerName != ""'>
  17. <![CDATA[
  18. AND CENTER_NAME LIKE CONCAT('%', #{centerName}, '%')
  19. ]]>
  20. </if>
  21. <if test='locationCode != null and locationCode != ""'>
  22. <![CDATA[
  23. AND LOCATION_CODE = #{locationCode}
  24. ]]>
  25. </if>
  26. </select>
  27. <select id="selectStaffManagerInfo" parameterType="StaffManagerDTO" resultType="StaffManagerDTO">
  28. <![CDATA[
  29. SELECT
  30. CENTER_CODE AS centerCode,
  31. GUBUN AS gubun,
  32. STAFF1 AS staff1, --의사
  33. STAFF2 AS staff2, --간호사
  34. STAFF3 AS staff3, --간호조무사
  35. STAFF4 AS staff4, --임상병리사
  36. STAFF5 AS staff5, --방사선사
  37. STAFF6 AS staff6, --행정인력
  38. STAFF7 AS staff7, --공보의
  39. STAFF8 AS staff8, --군의관
  40. STAFF9 AS staff9, --간호사관생도
  41. STAFF10 AS staff10, --민간모집의사
  42. STAFF11 AS staff11, --민간모집간호사
  43. STAFF12 AS staff12, --민간모집간호조무사
  44. STAFF13 AS staff13, --민간모집임상병리사
  45. STAFF14 AS staff14, --민간모집방사선사
  46. STAFF15 AS staff15, --민간모집기타인력
  47. CREATE_DATE AS createDate,
  48. UPDATE_DATE AS updateDate,
  49. CREATE_BY_ID AS createById,
  50. UPDATE_BY_ID AS updateById,
  51. LOCATION_CODE AS locationCode,
  52. CENTER_NAME AS centerName
  53. FROM
  54. STAFF_MANAGER
  55. WHERE 1 = 1
  56. AND CENTER_CODE = #{centerCode}
  57. AND GUBUN = #{gubun}
  58. ]]>
  59. </select>
  60. <insert id="insertStaffManager" parameterType="StaffManagerDTO">
  61. <![CDATA[
  62. INSERT INTO
  63. STAFF_MANAGER (
  64. CENTER_CODE,
  65. GUBUN,
  66. STAFF1,
  67. STAFF2,
  68. STAFF3,
  69. STAFF4,
  70. STAFF5,
  71. STAFF6,
  72. STAFF7,
  73. STAFF8,
  74. STAFF9,
  75. STAFF10,
  76. STAFF11,
  77. STAFF12,
  78. STAFF13,
  79. STAFF14,
  80. STAFF15,
  81. CREATE_DATE,
  82. CREATE_BY_ID,
  83. LOCATION_CODE,
  84. CENTER_NAME
  85. )
  86. values
  87. (
  88. #{centerCode},
  89. #{gubun},
  90. #{staff1},
  91. #{staff2},
  92. #{staff3},
  93. #{staff4},
  94. #{staff5},
  95. #{staff6},
  96. #{staff7},
  97. #{staff8},
  98. #{staff9},
  99. #{staff10},
  100. #{staff11},
  101. #{staff12},
  102. #{staff13},
  103. #{staff14},
  104. #{staff15},
  105. NOW(),
  106. #{createById},
  107. #{locationCode},
  108. #{centerName}
  109. )
  110. ]]>
  111. </insert>
  112. <insert id="updateStaffManager" parameterType="StaffManagerDTO">
  113. <![CDATA[
  114. UPDATE
  115. STAFF_MANAGER
  116. SET
  117. STAFF1 = #{staff1},
  118. STAFF2 = #{staff2},
  119. STAFF3 = #{staff3},
  120. STAFF4 = #{staff4},
  121. STAFF5 = #{staff5},
  122. STAFF6 = #{staff6},
  123. STAFF7 = #{staff7},
  124. STAFF8 = #{staff8},
  125. STAFF9 = #{staff9},
  126. STAFF10 = #{staff10},
  127. STAFF11 = #{staff11},
  128. STAFF12 = #{staff12},
  129. STAFF13 = #{staff13},
  130. STAFF14 = #{staff14},
  131. STAFF15 = #{staff15},
  132. UPDATE_DATE = NOW(),
  133. UPDATE_BY_ID = #{updateById}
  134. WHERE
  135. CENTER_CODE = #{centerCode}
  136. AND GUBUN = #{gubun}
  137. ]]>
  138. </insert>
  139. <select id="selectStaffManagerList" parameterType="StaffManagerDTO" resultType="StaffManagerDTO">
  140. <![CDATA[
  141. SELECT
  142. CENTER_CODE AS centerCode,
  143. GUBUN AS gubun, --M:의료, G:행정
  144. SUM(STAFF1 ) AS staff1, --의사, 복지부
  145. SUM(STAFF2 ) AS staff2, --간호사, 지자체
  146. SUM(STAFF3 ) AS staff3, --간호조무사, 환경부
  147. SUM(STAFF4 ) AS staff4, --임상병리사, 소방청
  148. SUM(STAFF5 ) AS staff5, --방사선사, 기타
  149. SUM(STAFF6 ) AS staff6, --행정인력, 국방부
  150. SUM(STAFF7 ) AS staff7, --공보의, 경찰청
  151. SUM(STAFF8 ) AS staff8, --군의관, 소방청
  152. SUM(STAFF9 ) AS staff9, --간호사관생도, 방역
  153. SUM(STAFF10) AS staff10, --민간모집의사, 청소
  154. SUM(STAFF11) AS staff11, --민간모집간호사, 기타
  155. SUM(STAFF12) AS staff12, --민간모집간호조무사
  156. SUM(STAFF13) AS staff13, --민간모집임상병리사
  157. SUM(STAFF14) AS staff14, --민간모집방사선사
  158. SUM(STAFF15) AS staff15, --민간모집기타인력
  159. CREATE_DATE AS createDate,
  160. UPDATE_DATE AS updateDate,
  161. CREATE_BY_ID AS createById,
  162. UPDATE_BY_ID AS updateById,
  163. LOCATION_CODE AS locationCode,
  164. DECODE(CENTER_CODE, NULL , TO_CHAR(SUM(1)), CENTER_NAME) AS centerName,
  165. DECODE(CENTER_CODE, NULL , TO_CHAR(SUM(1)), (SELECT CH.COOPERATIVE_NAME
  166. FROM COOPERATIVE_HOSPITAL CH
  167. WHERE SM.COOPERATIVE_CODE = CH.COOPERATIVE_CODE
  168. )
  169. ) AS cooperativeName,
  170. (SELECT LI.LOCATION_NAME
  171. FROM LOCATION_INFO LI
  172. WHERE SM.LOCATION_CODE = LI.LOCATION_CODE) AS locationName,
  173. SUM(STAFF1 + STAFF2 + STAFF3 + STAFF4 + STAFF5 +
  174. STAFF6 + STAFF7 + STAFF8 + STAFF9 + STAFF10 +
  175. STAFF11 + STAFF12 + STAFF13 + STAFF14 + STAFF15) AS staffTotal
  176. FROM
  177. STAFF_MANAGER SM
  178. WHERE 1 = 1
  179. AND GUBUN = #{gubun}
  180. ]]>
  181. <if test='centerName != null and centerName != ""'>
  182. <![CDATA[
  183. AND CENTER_NAME LIKE CONCAT('%', #{centerName}, '%')
  184. ]]>
  185. </if>
  186. <if test='locationCode != null and locationCode != ""'>
  187. <![CDATA[
  188. AND LOCATION_CODE = #{locationCode}
  189. ]]>
  190. </if>
  191. <![CDATA[
  192. GROUP BY CENTER_CODE WITH ROLLUP HAVING 1 = 1
  193. ORDER BY NVL(CENTER_CODE, 99999) DESC
  194. LIMIT #{limit}, #{limitMax}
  195. ]]>
  196. </select>
  197. </mapper>