WindFieldMapper.xml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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.windfield.WindFieldMapper">
  4. <update id="updateWindFieldEngineNumberByFieldCode">
  5. update wind_field
  6. set engine_number = engine_number - 1
  7. where field_code=#{fieldCode}
  8. </update>
  9. <!-- 风场列表 -->
  10. <select id="selectWindFieldPageByfield" resultType="com.energy.manage.service.domain.vo.windfield.WindFieldPageVo">
  11. SELECT
  12. wf.id as id,
  13. wf.company_code as companyCode,
  14. wc.company_name as windCompany,
  15. wf.field_code as fieldCode,
  16. wf.field_name as fieldName,
  17. wf.density as density,
  18. wf.state as state,
  19. wf.province_name as provinceName,
  20. wf.city_name as cityName,
  21. wf.elevation_height as elevationHeight,
  22. wf.create_time as createTime,
  23. wf.longitude as longitude,
  24. wf.latitude as latitude,
  25. woeg.wegNumber,
  26. woatr.atrNumber,
  27. fc.contractNumber
  28. FROM wind_field wf
  29. left join (SELECT weg.field_code,count(1) as wegNumber FROM wind_engine_group weg where weg.del_state = 0 group
  30. by field_code) woeg on wf.field_code =woeg.field_code
  31. left join (SELECT atr.field_code,count(1) as atrNumber FROM anemometer_tower_relation atr group by
  32. atr.field_code) woatr on wf.field_code = woatr.field_code
  33. left join (select field_code,count(1) as contractNumber from wind_field_contract where del_state = 0 group by
  34. field_code) fc on wf.field_code = fc.field_code
  35. left join wind_company wc on wf.company_code = wc.company_code
  36. where 1=1 and wf.del_state = 0
  37. <if test="item.fieldName!=null">
  38. and
  39. wf.field_name like CONCAT("%", #{item.fieldName} ,"%")
  40. </if>
  41. <if test="item.companyName!=null">
  42. and
  43. wc.company_name like CONCAT("%", #{item.companyName} ,"%")
  44. </if>
  45. <if test="item.provinceId!=null">
  46. and
  47. wf.province_id = #{item.provinceId}
  48. </if>
  49. <if test="item.cityId!=null">
  50. and
  51. wf.city_id = #{item.cityId}
  52. </if>
  53. <if test="item.beginTime != null and item.beginTime != ''">
  54. and wf.create_time <![CDATA[>= ]]> #{item.beginTime}
  55. </if>
  56. <if test="item.endTime != null and item.endTime != ''">
  57. and wf.create_time <![CDATA[<= ]]> #{item.endTime}
  58. </if>
  59. <if test="item.fieldName!=null or item.beginTime != null or item.endTime!=null">
  60. and
  61. wf.field_code in (select code_number from sys_organization_auth where role_id =#{item.roleId} and code_type
  62. = 'field')
  63. </if>
  64. <if test="item.fieldName == null and item.beginTime == null and item.beginTime == null">
  65. and
  66. wf.create_by = #{item.userId}
  67. or
  68. wf.field_code in (select code_number from sys_organization_auth where role_id =#{item.roleId} and code_type
  69. = 'field')
  70. </if>
  71. order by id desc
  72. </select>
  73. <select id="selectWindFieldNamesByUserId"
  74. resultType="com.energy.manage.service.domain.vo.windfield.WindFieldNameVo">
  75. SELECT
  76. wf.field_code as fieldCode,
  77. wf.field_name as fieldName
  78. FROM wind_field wf
  79. where 1=1
  80. and wf.del_state = 0
  81. and wf.state = 1
  82. and wf.create_by = #{userId}
  83. or wf.field_code in (select code_number from sys_organization_auth where role_id = #{roleId} and code_type = 'field')
  84. </select>
  85. <select id="selectByCodeNumber" parameterType="java.lang.String"
  86. resultType="com.energy.manage.service.domain.vo.windfield.WindFieldVo">
  87. select
  88. company.company_name,
  89. field.company_code as companyCode,
  90. field.field_code as fieldCode,
  91. field.field_name as fieldName,
  92. field.density as density,
  93. field.state as state,
  94. field.province_name as provinceName,
  95. field.city_name as cityName,
  96. field.elevation_height as elevationHeight,
  97. field.latitude,
  98. field.longitude,
  99. field.rated_capacity_number,
  100. field.create_time as createTime
  101. from wind_field field
  102. left join wind_company company
  103. on field.company_code = company.company_code
  104. where field.field_code = #{codeNumber}
  105. </select>
  106. <!-- 查询每个风机容量总数 -->
  107. <select id="selectRatedCapacityByState" resultType="com.energy.manage.service.domain.vo.windenginegroup.WindFieldRatedCapacityVo">
  108. select field_code as fieldCode,sum(rated_capacity) as ratedCapacityNumber
  109. from wind_engine_group
  110. where del_state = 0 and state = 1 group by field_code
  111. </select>
  112. <!-- 批量更新语句 -->
  113. <update id="batchUpdateRatedCapacity" parameterType="java.util.List">
  114. <foreach collection="list" item="item" index="index" separator=";">
  115. UPDATE wind_field
  116. <set>
  117. rated_capacity_number = #{item.ratedCapacityNumber}
  118. </set>
  119. WHERE field_code = #{item.fieldCode}
  120. </foreach>
  121. </update>
  122. </mapper>