|
@@ -11,9 +11,11 @@ import com.energy.manage.common.constant.redis.ManagerRedisKeyConstant;
|
|
|
import com.energy.manage.common.enums.DeleteStatusEnum;
|
|
import com.energy.manage.common.enums.DeleteStatusEnum;
|
|
|
import com.energy.manage.common.enums.IdPrefixEnum;
|
|
import com.energy.manage.common.enums.IdPrefixEnum;
|
|
|
import com.energy.manage.common.enums.TypeRelationEnum;
|
|
import com.energy.manage.common.enums.TypeRelationEnum;
|
|
|
|
|
+import com.energy.manage.common.po.area.AreaPO;
|
|
|
import com.energy.manage.common.po.company.WindCompanyPO;
|
|
import com.energy.manage.common.po.company.WindCompanyPO;
|
|
|
import com.energy.manage.common.po.windenginemill.WindEngineMillPO;
|
|
import com.energy.manage.common.po.windenginemill.WindEngineMillPO;
|
|
|
import com.energy.manage.common.po.windfield.WindFieldPO;
|
|
import com.energy.manage.common.po.windfield.WindFieldPO;
|
|
|
|
|
+import com.energy.manage.common.reponse.ResultResp;
|
|
|
import com.energy.manage.common.util.IdGeneratorUtil;
|
|
import com.energy.manage.common.util.IdGeneratorUtil;
|
|
|
import com.energy.manage.service.domain.dto.anemometertower.AnemometerTowerDto;
|
|
import com.energy.manage.service.domain.dto.anemometertower.AnemometerTowerDto;
|
|
|
import com.energy.manage.service.domain.dto.anemometertower.AnemometerTowerRelationDto;
|
|
import com.energy.manage.service.domain.dto.anemometertower.AnemometerTowerRelationDto;
|
|
@@ -28,6 +30,7 @@ import com.energy.manage.service.domain.vo.windfield.WindFieldVo;
|
|
|
import com.energy.manage.service.domain.vo.windrelation.WindRelationVo;
|
|
import com.energy.manage.service.domain.vo.windrelation.WindRelationVo;
|
|
|
import com.energy.manage.service.mappers.windfield.WindFieldMapper;
|
|
import com.energy.manage.service.mappers.windfield.WindFieldMapper;
|
|
|
import com.energy.manage.service.service.anemometertower.AnemometerTowerService;
|
|
import com.energy.manage.service.service.anemometertower.AnemometerTowerService;
|
|
|
|
|
+import com.energy.manage.service.service.area.AreaApiService;
|
|
|
import com.energy.manage.service.service.cache.CacheService;
|
|
import com.energy.manage.service.service.cache.CacheService;
|
|
|
import com.energy.manage.service.service.windfield.WindFieldResourceService;
|
|
import com.energy.manage.service.service.windfield.WindFieldResourceService;
|
|
|
import com.energy.manage.service.service.windfield.WindFieldService;
|
|
import com.energy.manage.service.service.windfield.WindFieldService;
|
|
@@ -49,12 +52,15 @@ import tk.mybatis.mapper.entity.Example;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
@Slf4j
|
|
|
@Service
|
|
@Service
|
|
|
public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implements WindFieldService {
|
|
public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implements WindFieldService {
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private AreaApiService areaApiService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private CacheService cacheService;
|
|
private CacheService cacheService;
|
|
@@ -93,7 +99,7 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
if (!CollectionUtils.isEmpty(windFieldDto.getAnemometerTowerRelationDtos())) {
|
|
if (!CollectionUtils.isEmpty(windFieldDto.getAnemometerTowerRelationDtos())) {
|
|
|
AnemometerTowerRelationDto anemometerTowerRelationDto = null;
|
|
AnemometerTowerRelationDto anemometerTowerRelationDto = null;
|
|
|
List<AnemometerTowerRelationDto> anemometerTowerDtos = Lists.newArrayList();
|
|
List<AnemometerTowerRelationDto> anemometerTowerDtos = Lists.newArrayList();
|
|
|
- for(WindFieldDto.AnemometerTowerRelationDto anemometerTowerRelationDto1 : windFieldDto.getAnemometerTowerRelationDtos()){
|
|
|
|
|
|
|
+ for (WindFieldDto.AnemometerTowerRelationDto anemometerTowerRelationDto1 : windFieldDto.getAnemometerTowerRelationDtos()) {
|
|
|
anemometerTowerRelationDto = new AnemometerTowerRelationDto();
|
|
anemometerTowerRelationDto = new AnemometerTowerRelationDto();
|
|
|
BeanUtils.copyProperties(anemometerTowerRelationDto1, anemometerTowerRelationDto);
|
|
BeanUtils.copyProperties(anemometerTowerRelationDto1, anemometerTowerRelationDto);
|
|
|
anemometerTowerRelationDto.setFieldCode(windFieldDto.getFieldCode());
|
|
anemometerTowerRelationDto.setFieldCode(windFieldDto.getFieldCode());
|
|
@@ -125,31 +131,44 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
@SneakyThrows
|
|
@SneakyThrows
|
|
|
@Override
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public boolean windFieldImportData(MultipartFile file, WindFieldImportDataDto windFieldImportDataDto) {
|
|
|
|
|
|
|
+ public ResultResp windFieldImportData(MultipartFile file, WindFieldImportDataDto windFieldImportDataDto) {
|
|
|
|
|
+ ;
|
|
|
List<WindFieldExceVo> windFieldExceVos = EasyExcel.read(file.getInputStream()).head(WindFieldExceVo.class).sheet().doReadSync();
|
|
List<WindFieldExceVo> windFieldExceVos = EasyExcel.read(file.getInputStream()).head(WindFieldExceVo.class).sheet().doReadSync();
|
|
|
if (CollectionUtils.isEmpty(windFieldExceVos)) {
|
|
if (CollectionUtils.isEmpty(windFieldExceVos)) {
|
|
|
- return false;
|
|
|
|
|
|
|
+ return ResultResp.FAIL("未读取到文件数据,请核对数据准确性!");
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // Todo 获取区域信息
|
|
|
|
|
+ List<String> provinceNames = windFieldExceVos.stream().map(WindFieldExceVo::getProvinceName).distinct().collect(Collectors.toList());
|
|
|
|
|
+ List<AreaPO> areaProvinces = areaApiService.getAllProvinceByName(1,provinceNames);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ List<String> cityNames = windFieldExceVos.stream().map(WindFieldExceVo::getCityName).distinct().collect(Collectors.toList());
|
|
|
|
|
+ List<AreaPO> areacitys = areaApiService.getAllProvinceByName(2,cityNames);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
WindFieldPO windFieldPO = null;
|
|
WindFieldPO windFieldPO = null;
|
|
|
List<WindFieldPO> list = Lists.newArrayList();
|
|
List<WindFieldPO> list = Lists.newArrayList();
|
|
|
|
|
|
|
|
for (WindFieldExceVo windFieldExceVo : windFieldExceVos) {
|
|
for (WindFieldExceVo windFieldExceVo : windFieldExceVos) {
|
|
|
- windFieldPO = this.createWindFieldPO(windFieldImportDataDto);
|
|
|
|
|
- windFieldPO.setFieldName(windFieldExceVo.getFieldName());
|
|
|
|
|
- windFieldPO.setDensity(windFieldExceVo.getDensity());
|
|
|
|
|
- windFieldPO.setLatitude(windFieldExceVo.getLatitude());
|
|
|
|
|
- windFieldPO.setLongitude(windFieldExceVo.getLongitude());
|
|
|
|
|
- windFieldPO.setElevationHeight(windFieldExceVo.getElevationHeight());
|
|
|
|
|
|
|
+ windFieldPO = new WindFieldPO();
|
|
|
|
|
+ BeanUtil.copyProperties(windFieldExceVo, windFieldPO);
|
|
|
|
|
+ String number = IdPrefixEnum.WIND_FIELD_NUMBER.getCode().concat(windFieldExceVo.getAreaCode() + IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, IdPrefixEnum.WIND_FIELD_NUMBER.getCode()))));
|
|
|
|
|
+ windFieldPO.setFieldCode(number);
|
|
|
|
|
+ windFieldPO.setCreateTime(new Date());
|
|
|
|
|
+ windFieldPO.setUpdateTime(new Date());
|
|
|
|
|
+ windFieldPO.setState(Constants.GLOBAL_IN_USE);
|
|
|
|
|
+ windFieldPO.setDelState(DeleteStatusEnum.NODELETE.getCode());
|
|
|
list.add(windFieldPO);
|
|
list.add(windFieldPO);
|
|
|
}
|
|
}
|
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
if (CollectionUtils.isEmpty(list)) {
|
|
|
- return false;
|
|
|
|
|
|
|
+ return ResultResp.FAIL("数据处理异常!");
|
|
|
}
|
|
}
|
|
|
if (windFieldMapper.insertList(list) <= 0) {
|
|
if (windFieldMapper.insertList(list) <= 0) {
|
|
|
- return false;
|
|
|
|
|
|
|
+ return ResultResp.FAIL();
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- return bathCreateWindRelation(list);
|
|
|
|
|
|
|
+ return bathCreateWindRelation(list) ? ResultResp.SUCCESS() : ResultResp.FAIL();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -175,34 +194,6 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public boolean afreshWindFieldImportData(MultipartFile file, WindFieldImportDataDto windFieldImportDataDto) {
|
|
|
|
|
- // 删除企业下所有风场
|
|
|
|
|
- if (!delWindFieldByCompanyCode(windFieldImportDataDto.getCompanyCode())) {
|
|
|
|
|
- return false;
|
|
|
|
|
- }
|
|
|
|
|
- return windFieldImportData(file, windFieldImportDataDto);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * 创建对象
|
|
|
|
|
- *
|
|
|
|
|
- * @param windFieldImportDataDto
|
|
|
|
|
- * @return
|
|
|
|
|
- */
|
|
|
|
|
- private WindFieldPO createWindFieldPO(WindFieldImportDataDto windFieldImportDataDto) {
|
|
|
|
|
- WindFieldPO windFieldPO = new WindFieldPO();
|
|
|
|
|
- BeanUtil.copyProperties(windFieldImportDataDto, windFieldPO);
|
|
|
|
|
- String number = IdPrefixEnum.WIND_FIELD_NUMBER.getCode().concat(windFieldImportDataDto.getAreaCode() + IdGeneratorUtil.zeroFillUtil(cacheService.incr(ManagerRedisKeyConstant.build(ManagerRedisKeyConstant.IDGENERATOR_CONSTANTS_KEY, IdPrefixEnum.WIND_FIELD_NUMBER.getCode()))));
|
|
|
|
|
- windFieldPO.setFieldCode(number);
|
|
|
|
|
- windFieldPO.setCreateTime(new Date());
|
|
|
|
|
- windFieldPO.setUpdateTime(new Date());
|
|
|
|
|
- windFieldPO.setState(Constants.GLOBAL_IN_USE);
|
|
|
|
|
- windFieldPO.setDelState(DeleteStatusEnum.NODELETE.getCode());
|
|
|
|
|
- return windFieldPO;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- @Override
|
|
|
|
|
public Page<WindFieldPageVo> WindFieldListPage(WindFieldPageDto windFieldPageDto) {
|
|
public Page<WindFieldPageVo> WindFieldListPage(WindFieldPageDto windFieldPageDto) {
|
|
|
PageHelper.startPage(windFieldPageDto.getPageNum(), windFieldPageDto.getPageSize());
|
|
PageHelper.startPage(windFieldPageDto.getPageNum(), windFieldPageDto.getPageSize());
|
|
|
List<WindFieldPageVo> list = windFieldMapper.selectWindFieldPageByfield(windFieldPageDto);
|
|
List<WindFieldPageVo> list = windFieldMapper.selectWindFieldPageByfield(windFieldPageDto);
|
|
@@ -295,12 +286,12 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 修改树关系表
|
|
// 修改树关系表
|
|
|
- if(!StringUtils.isEmpty(windFieldUpdateDto.getFieldCode())&&!StringUtils.isEmpty(windFieldUpdateDto.getFieldName())){
|
|
|
|
|
|
|
+ if (!StringUtils.isEmpty(windFieldUpdateDto.getFieldCode()) && !StringUtils.isEmpty(windFieldUpdateDto.getFieldName())) {
|
|
|
WindRelationDto windRelationDto = new WindRelationDto();
|
|
WindRelationDto windRelationDto = new WindRelationDto();
|
|
|
windRelationDto.setCodeName(windFieldUpdateDto.getFieldName());
|
|
windRelationDto.setCodeName(windFieldUpdateDto.getFieldName());
|
|
|
windRelationDto.setCodeNumber(windFieldUpdateDto.getFieldCode());
|
|
windRelationDto.setCodeNumber(windFieldUpdateDto.getFieldCode());
|
|
|
- flg = windRelationServic.updateWindRelationName(windRelationDto);
|
|
|
|
|
- if(!flg){
|
|
|
|
|
|
|
+ flg = windRelationServic.updateWindRelationName(windRelationDto);
|
|
|
|
|
+ if (!flg) {
|
|
|
log.warn("修改风场关系树表失败!");
|
|
log.warn("修改风场关系树表失败!");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -312,14 +303,14 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
if (!CollectionUtils.isEmpty(windFieldUpdateDto.getAnemometerTowerRelationDtos())) {
|
|
if (!CollectionUtils.isEmpty(windFieldUpdateDto.getAnemometerTowerRelationDtos())) {
|
|
|
AnemometerTowerRelationDto anemometerTowerRelationDto = null;
|
|
AnemometerTowerRelationDto anemometerTowerRelationDto = null;
|
|
|
List<AnemometerTowerRelationDto> anemometerTowerDtos = Lists.newArrayList();
|
|
List<AnemometerTowerRelationDto> anemometerTowerDtos = Lists.newArrayList();
|
|
|
- for(WindFieldUpdateDto.AnemometerTowerRelationDto anemometerTowerRelationDto1 : windFieldUpdateDto.getAnemometerTowerRelationDtos()){
|
|
|
|
|
|
|
+ for (WindFieldUpdateDto.AnemometerTowerRelationDto anemometerTowerRelationDto1 : windFieldUpdateDto.getAnemometerTowerRelationDtos()) {
|
|
|
anemometerTowerRelationDto = new AnemometerTowerRelationDto();
|
|
anemometerTowerRelationDto = new AnemometerTowerRelationDto();
|
|
|
BeanUtils.copyProperties(anemometerTowerRelationDto1, anemometerTowerRelationDto);
|
|
BeanUtils.copyProperties(anemometerTowerRelationDto1, anemometerTowerRelationDto);
|
|
|
anemometerTowerRelationDto.setFieldCode(windFieldUpdateDto.getFieldCode());
|
|
anemometerTowerRelationDto.setFieldCode(windFieldUpdateDto.getFieldCode());
|
|
|
anemometerTowerDtos.add(anemometerTowerRelationDto);
|
|
anemometerTowerDtos.add(anemometerTowerRelationDto);
|
|
|
}
|
|
}
|
|
|
flg = anemometerTowerService.bathAnemometerTowerRelation(anemometerTowerDtos);
|
|
flg = anemometerTowerService.bathAnemometerTowerRelation(anemometerTowerDtos);
|
|
|
- if(!flg){
|
|
|
|
|
|
|
+ if (!flg) {
|
|
|
log.warn("修改测风塔关系表失败!");
|
|
log.warn("修改测风塔关系表失败!");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -336,9 +327,9 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
|
|
|
|
|
WindFieldVo windFieldVo = null;
|
|
WindFieldVo windFieldVo = null;
|
|
|
List<WindFieldVo> windFieldVos = Lists.newArrayList();
|
|
List<WindFieldVo> windFieldVos = Lists.newArrayList();
|
|
|
- for(WindFieldPO windFieldPO1 : list){
|
|
|
|
|
|
|
+ for (WindFieldPO windFieldPO1 : list) {
|
|
|
windFieldVo = new WindFieldVo();
|
|
windFieldVo = new WindFieldVo();
|
|
|
- BeanUtil.copyProperties(windFieldPO1,windFieldVo);
|
|
|
|
|
|
|
+ BeanUtil.copyProperties(windFieldPO1, windFieldVo);
|
|
|
windFieldVos.add(windFieldVo);
|
|
windFieldVos.add(windFieldVo);
|
|
|
}
|
|
}
|
|
|
return windFieldVos;
|
|
return windFieldVos;
|
|
@@ -355,10 +346,9 @@ public class WindFieldServiceImpl extends BaseServiceImpl<WindFieldPO> implement
|
|
|
Example queryExample = new Example(WindFieldPO.class);
|
|
Example queryExample = new Example(WindFieldPO.class);
|
|
|
Example.Criteria criteria = queryExample.createCriteria();
|
|
Example.Criteria criteria = queryExample.createCriteria();
|
|
|
criteria.andEqualTo("fieldName", fieldName);
|
|
criteria.andEqualTo("fieldName", fieldName);
|
|
|
- return windFieldMapper.selectOneByExample(queryExample);
|
|
|
|
|
|
|
+ return windFieldMapper.selectOneByExample(queryExample);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
}
|
|
}
|