OrganizationAuthMapper.xml 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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.energy.manage.service.mappers.system.SysOrganizationAuthMapper">
  4. <resultMap id="resultMap" type="com.energy.manage.common.po.system.SysOrganizationAuthPO">
  5. <id property="id" column="id" jdbcType="BIGINT"/>
  6. <result property="roleId" column="role_id" jdbcType="VARCHAR"/>
  7. <result property="codeNumber" column="code_number" jdbcType="VARCHAR"/>
  8. <result property="codeType" column="code_type" jdbcType="VARCHAR"/>
  9. <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
  10. <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
  11. <result property="createBy" column="create_by" jdbcType="INTEGER"/>
  12. <result property="updateBy" column="update_by" jdbcType="INTEGER"/>
  13. </resultMap>
  14. <sql id="Base_Sql">
  15. id,role_id,code_number,code_type,create_by,create_time,update_by,update_time
  16. </sql>
  17. <select id="selectByRoleId" parameterType="java.lang.Integer" resultType="com.energy.manage.service.domain.vo.system.SysOrganizationAuthVo">
  18. select
  19. auth.code_number,
  20. auth.code_type,
  21. auth.create_by,
  22. auth.create_time,
  23. field.field_name
  24. from sys_organization_auth auth
  25. left join wind_field field
  26. on auth.code_number = field.field_code
  27. where auth.role_id = #{roleId}
  28. </select>
  29. <select id="selectSysOrganizationAuthTreeByRoleId" resultType="com.energy.manage.service.domain.vo.cockpit.CompanyFieldTreeRoleVo">
  30. select
  31. soa.role_id as roleId,
  32. soa.code_number as codeNumber,
  33. soa.parent_code as parentCode,
  34. soa.code_type as codeType,
  35. wc.company_name as companyName,
  36. wf.field_name as fieldName,
  37. wf.longitude as longitude,
  38. wf.latitude as latitude,
  39. wf.density,
  40. wf.rated_capacity_number as ratedCapacityNumber,
  41. wf.elevation_height as elevationHeight,
  42. wfbr.batch_code as batchCode,
  43. wfbr.analysis_state as analysisState,
  44. wfbr.create_time as wfbrCreateTime
  45. from
  46. (select a.role_id,
  47. wr.code_number,
  48. wr.parent_code,
  49. wr.type as code_type
  50. from sys_organization_auth a
  51. inner join wind_relation wr on a.code_number = wr.code_number where 1=1 and a.role_id =#{roleId}) soa
  52. left join
  53. wind_company wc on soa.code_number = wc.company_code
  54. left join
  55. wind_field wf on soa.code_number = wf.field_code
  56. left join
  57. (select
  58. id,
  59. batch_code,
  60. field_code,
  61. create_time,
  62. analysis_state
  63. from
  64. analysis_result
  65. where id in
  66. (select max(id) from analysis_result group by field_code)) wfbr on wf.field_code = wfbr.field_code
  67. where 1=1
  68. </select>
  69. <select id="selectInfoByRoleId" resultType="com.energy.manage.service.domain.vo.system.SysOrganizationAuthVo">
  70. select
  71. auth.code_number,
  72. auth.code_type,
  73. auth.role_id,
  74. wc.company_name,
  75. wf.field_name,
  76. wf.company_code
  77. from sys_organization_auth auth
  78. left join wind_company wc
  79. on auth.code_number = wc.company_code
  80. left join wind_field wf
  81. on auth.code_number = wf.field_code
  82. where auth.role_id = #{roleId}
  83. </select>
  84. <select id="selectSysOrganizationAuthListByRoleId" resultType="com.energy.manage.service.domain.vo.cockpit.CompanyFieldTreeRoleVo">
  85. select
  86. soa.role_id as roleId,
  87. soa.code_number as codeNumber,
  88. soa.parent_code as parentCode,
  89. soa.code_type as codeType,
  90. wc.company_name as companyName,
  91. wf.field_name as fieldName,
  92. wf.longitude as longitude,
  93. wf.latitude as latitude,
  94. wf.density,
  95. wf.rated_capacity_number as ratedCapacityNumber,
  96. wf.elevation_height as elevationHeight,
  97. wfbr.batch_code as batchCode,
  98. wfbr.analysis_state as analysisState
  99. from
  100. (select a.role_id,
  101. wr.code_number,
  102. wr.parent_code,
  103. wr.type as code_type
  104. from sys_organization_auth a
  105. inner join wind_relation wr on a.code_number = wr.code_number where 1=1 and a.role_id =#{roleId} and wr.type = 'field') soa
  106. left join
  107. wind_company wc on soa.code_number = wc.company_code
  108. left join
  109. wind_field wf on soa.code_number = wf.field_code
  110. left join
  111. (select
  112. id,
  113. batch_code,
  114. field_code,
  115. create_time,
  116. analysis_state
  117. from
  118. analysis_result
  119. where create_time in
  120. (select max(create_time) from analysis_result group by field_code)) wfbr on wf.field_code = wfbr.field_code
  121. where 1=1
  122. </select>
  123. <select id="selectFieldAndGrooupNumberByRoleId" resultType="com.energy.manage.service.domain.vo.cockpit.CompanyFieldGroupNumberVo">
  124. select
  125. soa.code_number as fieldCode,
  126. weg.groupCount as engineGroupNumber,
  127. wfba.analysis_state as analysisState
  128. from
  129. sys_organization_auth soa
  130. left join
  131. (select
  132. field_code,
  133. count(1) as groupCount
  134. from
  135. wind_engine_group where del_state = 0 group by field_code) weg on soa.code_number = weg.field_code
  136. left join
  137. (SELECT
  138. a.id,
  139. a.batch_code,
  140. a.field_code,
  141. a.create_time,
  142. a.analysis_state
  143. FROM
  144. analysis_result a
  145. INNER JOIN (
  146. SELECT
  147. field_code,
  148. MAX(create_time) AS max_time
  149. FROM
  150. analysis_result
  151. GROUP BY
  152. field_code
  153. ) b
  154. ON a.field_code = b.field_code AND a.create_time = b.max_time) wfba on soa.code_number = wfba.field_code
  155. where 1=1
  156. and soa.code_type = 'field'
  157. and soa.role_id = #{roleId}
  158. </select>
  159. <!-- 首页待办任务 -->
  160. <select id="selectFieldAnalysisResultByroleId" resultType="com.energy.manage.service.domain.vo.homepage.WaitTaskVo">
  161. select
  162. sum(uncorrelatedCount) as uncorrelatedCount,
  163. sum(errCount) as errCount,
  164. sum(qCount) as queueNumber
  165. from
  166. (select
  167. soa.role_id as roleId,
  168. soa.code_number as codeNumber,
  169. soa.parent_code as parentCode,
  170. soa.code_type as codeType,
  171. wf.field_name as fieldName,
  172. uar.uncorrelatedCount as uncorrelatedCount,
  173. uer.errCount as errCount,
  174. uqr.qCount as qCount
  175. from
  176. (select a.role_id,
  177. wr.code_number,
  178. wr.parent_code,
  179. wr.type as code_type
  180. from sys_organization_auth a
  181. inner join wind_relation wr on a.code_number = wr.code_number where 1=1 and a.role_id = #{roleId} and wr.type = 'field') soa
  182. left join
  183. wind_field wf on soa.code_number = wf.field_code
  184. left join
  185. (select field_code as fieldCode,count(1) as uncorrelatedCount from analysis_result where analysis_state = -1 group by field_code) uar
  186. on soa.code_number = uar.fieldCode
  187. left join
  188. (select field_code as fieldCode,count(1) as errCount from analysis_result where err_state = 1 and analysis_state = 30 group by field_code) uer
  189. on soa.code_number = uer.fieldCode
  190. left join
  191. (select field_code as fieldCode,count(1) as qCount from analysis_result where analysis_state = 10 group by field_code) uqr
  192. on soa.code_number = uqr.fieldCode) wait_task
  193. </select>
  194. <!-- 分析未关联任务列表 -->
  195. <select id="selectWindRelationByAnalysisState" resultType="com.energy.manage.common.po.analysis.AnalysisResultPo">
  196. select * from analysis_result where field_code in (select
  197. wr.code_number
  198. from sys_organization_auth a
  199. inner join wind_relation wr on a.code_number = wr.code_number where 1=1 and a.role_id = #{roleId} and wr.type = 'field')
  200. and analysis_state = -1
  201. </select>
  202. <!-- 分析异常数列表 -->
  203. <select id="selectWindRelationByErrState" resultType="com.energy.manage.common.po.analysis.AnalysisResultPo">
  204. select * from analysis_result where field_code in (select
  205. wr.code_number
  206. from sys_organization_auth a
  207. inner join wind_relation wr on a.code_number = wr.code_number where 1=1 and a.role_id = #{roleId} and wr.type = 'field')
  208. and err_state = 1 and analysis_state = 30
  209. </select>
  210. </mapper>