Explorar o código

增加批量更新

shiyue hai 5 meses
pai
achega
6b0146f7f1

+ 1 - 1
energy-manage-service/src/main/java/com/energy/manage/service/domain/vo/windenginegroup/WindFieldRatedCapacityVo.java

@@ -9,7 +9,7 @@ public class WindFieldRatedCapacityVo {
 
     private String fieldCode;
 
-    private Integer ratedCapacitySum;
+    private Integer ratedCapacityNumber;
 
 
 }

+ 15 - 1
energy-manage-service/src/main/java/com/energy/manage/service/mappers/windfield/WindFieldMapper.java

@@ -4,6 +4,7 @@ import com.energy.manage.common.mapper.MyMapper;
 import com.energy.manage.common.po.system.SysUserRolePO;
 import com.energy.manage.common.po.windfield.WindFieldPO;
 import com.energy.manage.service.domain.dto.windfield.WindFieldPageDto;
+import com.energy.manage.service.domain.vo.windenginegroup.WindFieldRatedCapacityVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldNameVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldPageVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
@@ -24,13 +25,26 @@ public interface WindFieldMapper extends MyMapper<WindFieldPO> {
 
     List<WindFieldPageVo> selectWindFieldPageByfield(@Param("item") WindFieldPageDto windFieldPageDto);
 
-    List<WindFieldNameVo> selectWindFieldNamesByUserId(@Param("userId") Integer userId,@Param("roleId") Integer roleId);
+    List<WindFieldNameVo> selectWindFieldNamesByUserId(@Param("userId") Integer userId, @Param("roleId") Integer roleId);
+
     /**
      * 根据编号查询风场信息
+     *
      * @param codeNumber
      * @return
      */
     WindFieldVo selectByCodeNumber(@Param("codeNumber") String codeNumber);
 
+    /**
+     * 查询风机总容量
+     * @return
+     */
+    List<WindFieldRatedCapacityVo> selectRatedCapacityByState();
+
+    /**
+     * 批量更新总容量
+     * @param list
+     */
+    void batchUpdateRatedCapacity(@Param("list")List<WindFieldRatedCapacityVo> list);
 
 }

+ 8 - 0
energy-manage-service/src/main/java/com/energy/manage/service/service/windfield/impl/WindFieldServiceImpl.java

@@ -29,6 +29,7 @@ import com.energy.manage.service.domain.dto.windrelation.WindRelationDto;
 import com.energy.manage.service.domain.vo.anemometertower.AnemometerTowerByFieldVo;
 import com.energy.manage.service.domain.vo.company.WindCompanyVo;
 import com.energy.manage.service.domain.vo.excel.WindFieldExceVo;
+import com.energy.manage.service.domain.vo.windenginegroup.WindFieldRatedCapacityVo;
 import com.energy.manage.service.domain.vo.windenginemill.WindEngineMillVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldNameVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldPageVo;
@@ -287,6 +288,13 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
 
     @Override
     public Page<WindFieldPageVo> WindFieldListPage(WindFieldPageDto windFieldPageDto) {
+
+        // 处理风场容量数据
+        List<WindFieldRatedCapacityVo> windFieldRatedCapacityVos = windFieldMapper.selectRatedCapacityByState();
+        if(!CollectionUtils.isEmpty(windFieldRatedCapacityVos)){
+            windFieldMapper.batchUpdateRatedCapacity(windFieldRatedCapacityVos);
+        }
+
         PageHelper.startPage(windFieldPageDto.getPageNum(), windFieldPageDto.getPageSize());
         List<WindFieldPageVo> list = windFieldMapper.selectWindFieldPageByfield(windFieldPageDto);
         Long total = org.apache.commons.collections.CollectionUtils.isEmpty(list) ? 0L : new PageInfo<>(list).getTotal();

+ 12 - 2
energy-manage-service/src/main/resources/mybatis/windfield/WindFieldMapper.xml

@@ -92,12 +92,22 @@
         where field_code = #{codeNumber}
     </select>
 
+    <!-- 查询每个风机容量总数 -->
     <select id="selectRatedCapacityByState" resultType="com.energy.manage.service.domain.vo.windenginegroup.WindFieldRatedCapacityVo">
-         select field_code as fieldCode,sum(rated_capacity) as ratedCapacitySum
+         select field_code as fieldCode,sum(rated_capacity) as ratedCapacityNumber
          from wind_engine_group
           where del_state = 0 and state = 1 group by field_code
      </select>
 
-
+    <!-- 批量更新语句 -->
+    <update id="batchUpdateRatedCapacity" parameterType="java.util.List">
+        <foreach collection="list" item="item" index="index" separator=";">
+            UPDATE wind_field
+            <set>
+                rated_capacity_number = #{item.ratedCapacityNumber}
+            </set>
+            WHERE field_code = #{item.fieldCode}
+        </foreach>
+    </update>
 
 </mapper>