Bläddra i källkod

控制额定功率

shiyue 1 år sedan
förälder
incheckning
8fcde64dd2

+ 67 - 18
energy-manage-service/src/main/java/com/energy/manage/service/service/windenginegroup/impl/WindEngineGroupServiceImpl.java

@@ -13,13 +13,16 @@ import com.energy.manage.common.po.windenginemill.WindEngineMillPO;
 import com.energy.manage.common.po.windfield.WindFieldPO;
 import com.energy.manage.common.util.IdGeneratorUtil;
 import com.energy.manage.service.domain.dto.windenginegroup.*;
+import com.energy.manage.service.domain.dto.windfield.WindFieldCodeDto;
 import com.energy.manage.service.domain.dto.windfield.WindFieldImportDataDto;
+import com.energy.manage.service.domain.dto.windfield.WindFieldUpdateDto;
 import com.energy.manage.service.domain.vo.excel.WindEngineGroupExcelVo;
 import com.energy.manage.service.domain.vo.excel.WindFieldExceVo;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupPageVo;
 import com.energy.manage.service.domain.vo.windenginegroup.WindEngineGroupVo;
 import com.energy.manage.service.domain.vo.windenginemill.WindEngineMillPageVo;
 import com.energy.manage.service.domain.vo.windfield.WindFieldPageVo;
+import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
 import com.energy.manage.service.mappers.windenginegroup.WindEngineGroupMapper;
 import com.energy.manage.service.service.cache.CacheService;
 import com.energy.manage.service.service.windenginegroup.WindEngineGroupService;
@@ -45,25 +48,25 @@ import java.util.List;
 public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupPO> implements WindEngineGroupService {
 
 
-        @Autowired
-        private CacheService cacheService;
+    @Autowired
+    private CacheService cacheService;
 
 
-        @Autowired
-        private WindEngineGroupMapper windEngineGroupMapper;
+    @Autowired
+    private WindEngineGroupMapper windEngineGroupMapper;
 
-        @Autowired
-        private WindFieldService windFieldService;
+    @Autowired
+    private WindFieldService windFieldService;
 
-        /**
-         * 手动创建风机机组信息
-         *
-         * @param windEngineGroupCreateDto
-         * @return
-         */
-        @Override
-        @Transactional(rollbackFor = Exception.class)
-        public boolean createWindEngineGroup(WindEngineGroupCreateDto windEngineGroupCreateDto) {
+    /**
+     * 手动创建风机机组信息
+     *
+     * @param windEngineGroupCreateDto
+     * @return
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean createWindEngineGroup(WindEngineGroupCreateDto windEngineGroupCreateDto) {
         WindEngineGroupPO windEngineGroupPO = new WindEngineGroupPO();
         BeanUtil.copyProperties(windEngineGroupCreateDto, windEngineGroupPO);
         String number = IdPrefixEnum.WIND_GROUP_NUMBER.getCode().concat(IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, IdPrefixEnum.WIND_GROUP_NUMBER.getCode()))));
@@ -73,7 +76,30 @@ public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupP
         windEngineGroupPO.setState(Constants.GLOBAL_IN_USE);
         windEngineGroupPO.setDelState(DeleteStatusEnum.NODELETE.getCode());
 
-        return windEngineGroupMapper.insertUseGeneratedKeys(windEngineGroupPO) > 0;
+        if (windEngineGroupMapper.insertUseGeneratedKeys(windEngineGroupPO) <= 0) {
+            return false;
+        }
+
+        // 处理总额定功率
+        outerLoop:
+        if (windEngineGroupCreateDto.getRatedCapacity() != null) {
+            WindFieldCodeDto windFieldCodeDto = new WindFieldCodeDto();
+            windFieldCodeDto.setFieldCode(windEngineGroupCreateDto.getFieldCode());
+            WindFieldVo windFieldVo = windFieldService.getWindFieldVo(windFieldCodeDto);
+            if (windFieldVo == null) {
+                break outerLoop;
+            }
+            WindFieldUpdateDto windFieldUpdateDto = new WindFieldUpdateDto();
+            windFieldUpdateDto.setFieldCode(windEngineGroupCreateDto.getFieldCode());
+            double value = windFieldVo.getRatedCapacityNumber() == null ? 0 : windFieldVo.getRatedCapacityNumber().doubleValue();
+            if (windEngineGroupCreateDto.getRatedCapacity() != null && windEngineGroupCreateDto.getRatedCapacity() > 0) {
+                windFieldUpdateDto.setRatedCapacityNumber(value + windEngineGroupCreateDto.getRatedCapacity().doubleValue());
+                windFieldService.updateWindField(windFieldUpdateDto);
+            }
+
+        }
+
+        return true;
     }
 
 
@@ -156,7 +182,30 @@ public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupP
         Example.Criteria criteria = queryExample.createCriteria();
         criteria.andEqualTo("engineCode", windEngineGroupCodeDto.getEngineCode());
 
-        return windEngineGroupMapper.updateByExampleSelective(po, queryExample)> 0;
+
+        // 处理总额定功率
+        WindEngineGroupPO windEngineGroupPO = new WindEngineGroupPO();
+        windEngineGroupPO.setEngineCode(windEngineGroupCodeDto.getEngineCode());
+        WindEngineGroupPO windEngineGroup = windEngineGroupMapper.selectOne(windEngineGroupPO);
+        outerLoop:
+        if (windEngineGroup.getRatedCapacity() != null) {
+            WindFieldCodeDto windFieldCodeDto = new WindFieldCodeDto();
+            windFieldCodeDto.setFieldCode(windEngineGroup.getFieldCode());
+            WindFieldVo windFieldVo = windFieldService.getWindFieldVo(windFieldCodeDto);
+            if (windFieldVo == null) {
+                break outerLoop;
+            }
+            WindFieldUpdateDto windFieldUpdateDto = new WindFieldUpdateDto();
+            windFieldUpdateDto.setFieldCode(windFieldCodeDto.getFieldCode());
+            double value = windFieldVo.getRatedCapacityNumber() == null ? 0 : windFieldVo.getRatedCapacityNumber().doubleValue();
+            if (windEngineGroup.getRatedCapacity() != null && value > windEngineGroup.getRatedCapacity()) {
+                windFieldUpdateDto.setRatedCapacityNumber(value - windEngineGroup.getRatedCapacity().doubleValue());
+                windFieldService.updateWindField(windFieldUpdateDto);
+            }
+        }
+
+
+        return windEngineGroupMapper.updateByExampleSelective(po, queryExample) > 0;
     }
 
     @Override
@@ -172,7 +221,7 @@ public class WindEngineGroupServiceImpl extends BaseServiceImpl<WindEngineGroupP
     @Override
     public boolean updateWindEngineGroup(WindEngineGroupUpdateDto windEngineGroupUpdateDto) {
         WindEngineGroupPO po = new WindEngineGroupPO();
-        BeanUtil.copyProperties(windEngineGroupUpdateDto,po);
+        BeanUtil.copyProperties(windEngineGroupUpdateDto, po);
         Example queryExample = new Example(WindEngineGroupPO.class);
         Example.Criteria criteria = queryExample.createCriteria();
         criteria.andEqualTo("engineCode", windEngineGroupUpdateDto.getEngineCode());

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

@@ -293,6 +293,7 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
             return false;
         }
 
+        // 修改树关系表
         if(!StringUtils.isEmpty(windFieldUpdateDto.getFieldCode())&&!StringUtils.isEmpty(windFieldUpdateDto.getFieldName())){
             WindRelationDto windRelationDto = new WindRelationDto();
             windRelationDto.setCodeName(windFieldUpdateDto.getFieldName());