WindFieldMapper.xml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  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.beginTime != null and item.beginTime != ''">
  42. and wf.create_time <![CDATA[>= ]]> #{item.beginTime}
  43. </if>
  44. <if test="item.endTime != null and item.endTime != ''">
  45. and wf.create_time <![CDATA[<= ]]> #{item.endTime}
  46. </if>
  47. <if test="item.fieldName!=null or item.beginTime != null or item.endTime!=null">
  48. and
  49. wf.field_code in (select code_number from sys_organization_auth where role_id =#{item.roleId} and code_type
  50. = 'field')
  51. </if>
  52. <if test="item.fieldName == null and item.beginTime == null and item.beginTime == null">
  53. and
  54. wf.create_by = #{item.userId}
  55. or
  56. wf.field_code in (select code_number from sys_organization_auth where role_id =#{item.roleId} and code_type
  57. = 'field')
  58. </if>
  59. order by id desc
  60. </select>
  61. <select id="selectWindFieldNamesByUserId"
  62. resultType="com.energy.manage.service.domain.vo.windfield.WindFieldNameVo">
  63. SELECT
  64. wf.field_code as fieldCode,
  65. wf.field_name as fieldName
  66. FROM wind_field wf
  67. where 1=1
  68. and wf.del_state = 0
  69. and wf.state = 1
  70. and wf.create_by = #{userId}
  71. or wf.field_code in (select code_number from sys_organization_auth where role_id = #{roleId} and code_type = 'field')
  72. </select>
  73. <select id="selectByCodeNumber" parameterType="java.lang.String"
  74. resultType="com.energy.manage.service.domain.vo.windfield.WindFieldVo">
  75. select
  76. company.company_name,
  77. field.company_code as companyCode,
  78. field.field_code as fieldCode,
  79. field.field_name as fieldName,
  80. field.density as density,
  81. field.state as state,
  82. field.province_name as provinceName,
  83. field.city_name as cityName,
  84. field.elevation_height as elevationHeight,
  85. field.latitude,
  86. field.longitude,
  87. field.rated_capacity_number,
  88. field.create_time as createTime
  89. from wind_field field
  90. left join wind_company company
  91. on field.company_code = company.company_code
  92. where field.field_code = #{codeNumber}
  93. </select>
  94. <!-- 查询每个风机容量总数 -->
  95. <select id="selectRatedCapacityByState" resultType="com.energy.manage.service.domain.vo.windenginegroup.WindFieldRatedCapacityVo">
  96. select field_code as fieldCode,sum(rated_capacity) as ratedCapacityNumber
  97. from wind_engine_group
  98. where del_state = 0 and state = 1 group by field_code
  99. </select>
  100. <!-- 批量更新语句 -->
  101. <update id="batchUpdateRatedCapacity" parameterType="java.util.List">
  102. <foreach collection="list" item="item" index="index" separator=";">
  103. UPDATE wind_field
  104. <set>
  105. rated_capacity_number = #{item.ratedCapacityNumber}
  106. </set>
  107. WHERE field_code = #{item.fieldCode}
  108. </foreach>
  109. </update>
  110. </mapper>