|
@@ -1,18 +1,20 @@
|
|
|
package com.cpp.web.service.datafactory.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.cpp.web.domain.datafactory.BaseParsing;
|
|
|
import com.cpp.web.domain.datafactory.ParsingNwp;
|
|
|
import com.cpp.web.domain.datafactory.dto.ParsingConfParam;
|
|
|
+import com.cpp.web.domain.datafactory.dto.ParsingResultDto;
|
|
|
+import com.cpp.web.domain.datafactory.enums.FileTypeEnum;
|
|
|
+import com.cpp.web.domain.station.NwpStation;
|
|
|
import com.cpp.web.mapper.datafactory.ParsingNwpMapper;
|
|
|
-import com.cpp.web.service.cloud.NwpService;
|
|
|
+import com.cpp.web.service.cloud.NwpCloudService;
|
|
|
import com.cpp.web.service.datafactory.ParsingInterface;
|
|
|
import com.cpp.web.service.datafactory.ParsingNwpService;
|
|
|
-import com.cpp.web.service.station.NwpHisService;
|
|
|
-import com.cpp.web.utils.FieldUtil;
|
|
|
-import com.cpp.web.utils.PUtil;
|
|
|
+import com.cpp.web.service.station.NwpStationService;
|
|
|
+import com.cpp.web.utils.ParsingFieldUtil;
|
|
|
+import com.cpp.web.utils.ParsingFileUtil;
|
|
|
+import com.cpp.web.utils.ParsingUtil;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -23,6 +25,7 @@ import java.math.BigDecimal;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 测风塔解析业务层实现类
|
|
@@ -30,16 +33,17 @@ import java.util.List;
|
|
|
* @author tl
|
|
|
* @date 2022-05-11 18:07:03
|
|
|
*/
|
|
|
-@Service
|
|
|
+@Service("nwpParsing")
|
|
|
@AllArgsConstructor
|
|
|
@Slf4j
|
|
|
@Transactional
|
|
|
public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, ParsingNwp> implements ParsingNwpService, ParsingInterface {
|
|
|
|
|
|
- private final NwpHisService nwpHisService;
|
|
|
+ private final NwpStationService nwpStationService;
|
|
|
|
|
|
- private final NwpService nwpService;
|
|
|
+ private final NwpCloudService nwpCloudService;
|
|
|
|
|
|
+ private List<ParsingNwp> parsingNwps = new ArrayList<>();
|
|
|
|
|
|
@Override
|
|
|
public boolean save(BaseParsing parsingInfo) {
|
|
@@ -51,175 +55,121 @@ public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, Parsing
|
|
|
return removeById(id);
|
|
|
}
|
|
|
|
|
|
-// //文件解析
|
|
|
-// /*
|
|
|
-// * 解析配置格式规则:
|
|
|
-// *
|
|
|
-// * m=>>4-20-4-1=>>3
|
|
|
-// * m:多行标识
|
|
|
-// * 4-20:取值在4-20行
|
|
|
-// * -4:代表有层层高
|
|
|
-// * -1:代表取第一种层高
|
|
|
-// * 3:第三列
|
|
|
-// * */
|
|
|
-// @Override
|
|
|
-// public FileAnalysisStatusDto parsing(File file, ParsingUrl parsingUrl) {
|
|
|
-// FileAnalysisStatusDto fileAnalysisStatusDto = new FileAnalysisStatusDto();
|
|
|
-// fileAnalysisStatusDto.setFileName(file.getName());
|
|
|
-// fileAnalysisStatusDto.setFileType(FileTypeEnum.NWP.getCode()+"");
|
|
|
-//
|
|
|
-// try {
|
|
|
-//
|
|
|
-// List<ParsingNwpInfo> parsingNwpInfos = baseMapper.selectList(Wrappers.lambdaQuery(ParsingNwpInfo.class).like(ParsingInfo::getStationCode, parsingUrl.getStationCode()));
|
|
|
-// if (!parsingNwpInfos.isEmpty()) {
|
|
|
-// for (ParsingNwpInfo parsingNwpInfo : parsingNwpInfos) {
|
|
|
-// //判断文件名是否符合配置
|
|
|
-// if (file.getName().contains(parsingNwpInfo.getFileName())) {
|
|
|
-// List<String> fileContent = FileUtil.getFileContent(file);
|
|
|
-// if (parsingNwpInfo.getDataType().equals(FieldUtil.MULTI)) {
|
|
|
-// Long time = parsingTime(parsingNwpInfo.getPreTime(), fileContent);
|
|
|
-//
|
|
|
-//
|
|
|
-// if (time != 0l) {
|
|
|
-// List<BigDecimal> ws10s = parsingNwpValue(parsingNwpInfo.getWs10(), fileContent);
|
|
|
-// List<BigDecimal> wd10s = parsingNwpValue(parsingNwpInfo.getWd10(), fileContent);
|
|
|
-// List<BigDecimal> ws30s = parsingNwpValue(parsingNwpInfo.getWs30(), fileContent);
|
|
|
-// List<BigDecimal> wd30s = parsingNwpValue(parsingNwpInfo.getWd30(), fileContent);
|
|
|
-// List<BigDecimal> ws50s = parsingNwpValue(parsingNwpInfo.getWs50(), fileContent);
|
|
|
-// List<BigDecimal> wd50s = parsingNwpValue(parsingNwpInfo.getWd50(), fileContent);
|
|
|
-// List<BigDecimal> ws70s = parsingNwpValue(parsingNwpInfo.getWs70(), fileContent);
|
|
|
-// List<BigDecimal> wd70s = parsingNwpValue(parsingNwpInfo.getWd70(), fileContent);
|
|
|
-// List<BigDecimal> ws80s = parsingNwpValue(parsingNwpInfo.getWs80(), fileContent);
|
|
|
-// List<BigDecimal> wd80s = parsingNwpValue(parsingNwpInfo.getWd80(), fileContent);
|
|
|
-// List<BigDecimal> ws90s = parsingNwpValue(parsingNwpInfo.getWs90(), fileContent);
|
|
|
-// List<BigDecimal> wd90s = parsingNwpValue(parsingNwpInfo.getWd90(), fileContent);
|
|
|
-// List<BigDecimal> ws100s = parsingNwpValue(parsingNwpInfo.getWs100(), fileContent);
|
|
|
-// List<BigDecimal> wd100s = parsingNwpValue(parsingNwpInfo.getWd100(), fileContent);
|
|
|
-// List<BigDecimal> ws170s = parsingNwpValue(parsingNwpInfo.getWs170(), fileContent);
|
|
|
-// List<BigDecimal> wd170s = parsingNwpValue(parsingNwpInfo.getWd170(), fileContent);
|
|
|
-// List<BigDecimal> directRadiations = parsingNwpValue(parsingNwpInfo.getDirectRadiation(), fileContent);
|
|
|
-// List<BigDecimal> lwrs = parsingNwpValue(parsingNwpInfo.getLwr(), fileContent);
|
|
|
-// List<BigDecimal> diffuseRadiations = parsingNwpValue(parsingNwpInfo.getDiffuseRadiation(), fileContent);
|
|
|
-// List<BigDecimal> rhs = parsingNwpValue(parsingNwpInfo.getRh(), fileContent);
|
|
|
-// List<BigDecimal> pressures = parsingNwpValue(parsingNwpInfo.getPressure(), fileContent);
|
|
|
-// List<BigDecimal> senfs = parsingNwpValue(parsingNwpInfo.getSenf(), fileContent);
|
|
|
-// List<BigDecimal> swrs = parsingNwpValue(parsingNwpInfo.getSwr(), fileContent);
|
|
|
-// List<BigDecimal> ts = parsingNwpValue(parsingNwpInfo.getT(), fileContent);
|
|
|
-//
|
|
|
-// List<NwpHis> nwpHisList = new ArrayList<>();
|
|
|
-//
|
|
|
-// List<Nwp> nwpList = new ArrayList<>();
|
|
|
-// //以十米风速为基准
|
|
|
-// for (int i = 0; i < ws10s.size(); i++) {
|
|
|
-// NwpHis nwpHis = new NwpHis();
|
|
|
-// Date localDateTime = new Date(time);
|
|
|
-// nwpHis.setPreTime(localDateTime);
|
|
|
-// nwpHis.setPreDate(localDateTime);
|
|
|
-// nwpHis.setScDate(localDateTime);
|
|
|
-// nwpHis.setScTime(localDateTime);
|
|
|
-// nwpHis.setDirectRadiation(valueSet(directRadiations, i));
|
|
|
-// nwpHis.setDiffuseRadiation(valueSet(diffuseRadiations, i));
|
|
|
-// nwpHis.setForecastHowLongAgo(i / 96 + 1);
|
|
|
-// nwpHis.setLwr(valueSet(lwrs, i));
|
|
|
-// nwpHis.setPressure(valueSet(pressures, i));
|
|
|
-// nwpHis.setRh(valueSet(rhs, i));
|
|
|
-// nwpHis.setSenf(valueSet(senfs, i));
|
|
|
-// nwpHis.setSwr(valueSet(swrs, i));
|
|
|
-// nwpHis.setT(valueSet(ts, i));
|
|
|
-// nwpHis.setWs10(valueSet(ws10s, i));
|
|
|
-// nwpHis.setWd10(valueSet(wd10s, i));
|
|
|
-// nwpHis.setWs30(valueSet(ws30s, i));
|
|
|
-// nwpHis.setWd30(valueSet(wd30s, i));
|
|
|
-// nwpHis.setWs50(valueSet(ws50s, i));
|
|
|
-// nwpHis.setWd50(valueSet(wd50s, i));
|
|
|
-// nwpHis.setWs70(valueSet(ws70s, i));
|
|
|
-// nwpHis.setWd70(valueSet(wd70s, i));
|
|
|
-// nwpHis.setWs80(valueSet(ws80s, i));
|
|
|
-// nwpHis.setWd80(valueSet(wd80s, i));
|
|
|
-// nwpHis.setWs90(valueSet(ws90s, i));
|
|
|
-// nwpHis.setWd90(valueSet(wd90s, i));
|
|
|
-// nwpHis.setWs100(valueSet(ws100s, i));
|
|
|
-// nwpHis.setWd100(valueSet(wd100s, i));
|
|
|
-// nwpHis.setWs170(valueSet(ws170s, i));
|
|
|
-// nwpHis.setWd170(valueSet(wd170s, i));
|
|
|
-// nwpHis.setForecastManufactor(parsingUrl.getForecastManufactor());
|
|
|
-// nwpHis.setStationCode(parsingUrl.getStationCode());
|
|
|
-//
|
|
|
-// nwpHisList.add(nwpHis);
|
|
|
-//
|
|
|
-//
|
|
|
-//
|
|
|
-// Nwp nwp = new Nwp();
|
|
|
-// nwp.setPreTime(localDateTime);
|
|
|
-// nwp.setPreDate(localDateTime);
|
|
|
-// nwp.setScDate(localDateTime);
|
|
|
-// nwp.setScTime(localDateTime);
|
|
|
-// nwp.setDirectRadiation(valueSet(directRadiations, i));
|
|
|
-// nwp.setDiffuseRadiation(valueSet(diffuseRadiations, i));
|
|
|
-// nwp.setLwr(valueSet(lwrs, i));
|
|
|
-// nwp.setPressure(valueSet(pressures, i));
|
|
|
-// nwp.setRh(valueSet(rhs, i));
|
|
|
-// nwp.setSenf(valueSet(senfs, i));
|
|
|
-// nwp.setSwr(valueSet(swrs, i));
|
|
|
-// nwp.setT(valueSet(ts, i));
|
|
|
-// nwp.setWs10(valueSet(ws10s, i));
|
|
|
-// nwp.setWd10(valueSet(wd10s, i));
|
|
|
-// nwp.setWs30(valueSet(ws30s, i));
|
|
|
-// nwp.setWd30(valueSet(wd30s, i));
|
|
|
-// nwp.setWs50(valueSet(ws50s, i));
|
|
|
-// nwp.setWd50(valueSet(wd50s, i));
|
|
|
-// nwp.setWs70(valueSet(ws70s, i));
|
|
|
-// nwp.setWd70(valueSet(wd70s, i));
|
|
|
-// nwp.setWs80(valueSet(ws80s, i));
|
|
|
-// nwp.setWd80(valueSet(wd80s, i));
|
|
|
-// nwp.setWs90(valueSet(ws90s, i));
|
|
|
-// nwp.setWd90(valueSet(wd90s, i));
|
|
|
-// nwp.setWs100(valueSet(ws100s, i));
|
|
|
-// nwp.setWd100(valueSet(wd100s, i));
|
|
|
-// nwp.setWs170(valueSet(ws170s, i));
|
|
|
-// nwp.setWd170(valueSet(wd170s, i));
|
|
|
-// nwp.setForecastManufactor(parsingUrl.getForecastManufactor());
|
|
|
-// nwp.setStationCode(parsingUrl.getStationCode());
|
|
|
-//
|
|
|
-// nwpList.add(nwp);
|
|
|
-// time += Constant.INTERVALTIME;
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-//
|
|
|
-// Date startTime = nwpHisList.get(0).getPreTime();
|
|
|
-// Date endTime = nwpHisList.get(nwpHisList.size() - 1).getPreTime();
|
|
|
-// nwpHisService.saveBatch(nwpHisList);
|
|
|
-// LambdaQueryWrapper<Nwp> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
-// lambdaQueryWrapper.eq(Nwp::getStationCode, parsingUrl.getStationCode());
|
|
|
-// lambdaQueryWrapper.between(Nwp::getPreTime, startTime, endTime);
|
|
|
-// nwpService.remove(lambdaQueryWrapper);
|
|
|
-////
|
|
|
-// nwpService.saveBatch(nwpList);
|
|
|
-//
|
|
|
-// fileAnalysisStatusDto.setStatus("1");
|
|
|
-// log.info("解析Nwp文件:{} 成功! O(∩_∩)O", file.getName());
|
|
|
-// } else {
|
|
|
-// fileAnalysisStatusDto.setStatus("0");
|
|
|
-// fileAnalysisStatusDto.setMessage("解析Nwp文件时间错误");
|
|
|
-// log.error("解析Nwp文件时间错误");
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// fileAnalysisStatusDto.setStatus("0");
|
|
|
-// fileAnalysisStatusDto.setMessage("Nwp暂无单行解析方式");
|
|
|
-// log.info("nwp暂无单行解析方式");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// } catch (Exception e) {
|
|
|
-// fileAnalysisStatusDto.setStatus("0");
|
|
|
-// fileAnalysisStatusDto.setMessage("解析Nwp数据失败");
|
|
|
-// log.error("解析Nwp数据失败! /(ㄒoㄒ)/~~", e);
|
|
|
-// } finally {
|
|
|
-// return fileAnalysisStatusDto;
|
|
|
-// }
|
|
|
-// }
|
|
|
+ @Override
|
|
|
+ public ParsingResultDto parsing(File file, String stationCode) {
|
|
|
+
|
|
|
+ ParsingResultDto parsingResultDto = new ParsingResultDto();
|
|
|
+ parsingResultDto.setFileName(file.getName());
|
|
|
+ parsingResultDto.setFileType(FileTypeEnum.nwp.name());
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ List<ParsingNwp> parsingNwpInfos = selectByStationCode(stationCode);
|
|
|
+ if (!parsingNwpInfos.isEmpty()) {
|
|
|
+ for (ParsingNwp parsingNwpInfo : parsingNwpInfos) {
|
|
|
+ List<String> fileContent = ParsingFileUtil.getFileContent(file);
|
|
|
+ if (parsingNwpInfo.getDataType().equals(ParsingFieldUtil.MULTI)) {
|
|
|
+ Date forecastTime = parsingTime(parsingNwpInfo.getPreTime(), fileContent);
|
|
|
+ Date time = forecastTime;
|
|
|
+ if (time != null) {
|
|
|
+ List<BigDecimal> ws10s = parsingNwpValue(parsingNwpInfo.getWs10(), fileContent);
|
|
|
+ List<BigDecimal> wd10s = parsingNwpValue(parsingNwpInfo.getWd10(), fileContent);
|
|
|
+ List<BigDecimal> ws30s = parsingNwpValue(parsingNwpInfo.getWs30(), fileContent);
|
|
|
+ List<BigDecimal> wd30s = parsingNwpValue(parsingNwpInfo.getWd30(), fileContent);
|
|
|
+ List<BigDecimal> ws50s = parsingNwpValue(parsingNwpInfo.getWs50(), fileContent);
|
|
|
+ List<BigDecimal> wd50s = parsingNwpValue(parsingNwpInfo.getWd50(), fileContent);
|
|
|
+ List<BigDecimal> ws70s = parsingNwpValue(parsingNwpInfo.getWs70(), fileContent);
|
|
|
+ List<BigDecimal> wd70s = parsingNwpValue(parsingNwpInfo.getWd70(), fileContent);
|
|
|
+ List<BigDecimal> ws80s = parsingNwpValue(parsingNwpInfo.getWs80(), fileContent);
|
|
|
+ List<BigDecimal> wd80s = parsingNwpValue(parsingNwpInfo.getWd80(), fileContent);
|
|
|
+ List<BigDecimal> ws90s = parsingNwpValue(parsingNwpInfo.getWs90(), fileContent);
|
|
|
+ List<BigDecimal> wd90s = parsingNwpValue(parsingNwpInfo.getWd90(), fileContent);
|
|
|
+ List<BigDecimal> ws100s = parsingNwpValue(parsingNwpInfo.getWs100(), fileContent);
|
|
|
+ List<BigDecimal> wd100s = parsingNwpValue(parsingNwpInfo.getWd100(), fileContent);
|
|
|
+ List<BigDecimal> ws170s = parsingNwpValue(parsingNwpInfo.getWs170(), fileContent);
|
|
|
+ List<BigDecimal> wd170s = parsingNwpValue(parsingNwpInfo.getWd170(), fileContent);
|
|
|
+ List<BigDecimal> directRadiations = parsingNwpValue(parsingNwpInfo.getDirectRadiation(), fileContent);
|
|
|
+ List<BigDecimal> lwrs = parsingNwpValue(parsingNwpInfo.getLwr(), fileContent);
|
|
|
+ List<BigDecimal> diffuseRadiations = parsingNwpValue(parsingNwpInfo.getDiffuseRadiation(), fileContent);
|
|
|
+ List<BigDecimal> rhs = parsingNwpValue(parsingNwpInfo.getRh(), fileContent);
|
|
|
+ List<BigDecimal> pressures = parsingNwpValue(parsingNwpInfo.getPressure(), fileContent);
|
|
|
+ List<BigDecimal> senfs = parsingNwpValue(parsingNwpInfo.getSenf(), fileContent);
|
|
|
+ List<BigDecimal> swrs = parsingNwpValue(parsingNwpInfo.getSwr(), fileContent);
|
|
|
+ List<BigDecimal> ts = parsingNwpValue(parsingNwpInfo.getT(), fileContent);
|
|
|
+
|
|
|
+ List<NwpStation> nwpStationList = new ArrayList<>();
|
|
|
+ //以十米风速为基准
|
|
|
+ for (int i = 0; i < ws10s.size(); i++) {
|
|
|
+ NwpStation nwpStation = new NwpStation();
|
|
|
+ nwpStation.setTime(time);
|
|
|
+ nwpStation.setDirectRadiation(valueSet(directRadiations, i));
|
|
|
+ nwpStation.setDiffuseRadiation(valueSet(diffuseRadiations, i));
|
|
|
+ nwpStation.setForecastHowLongAgo(calcHowLongAgo(forecastTime,time));
|
|
|
+ nwpStation.setLwr(valueSet(lwrs, i));
|
|
|
+ nwpStation.setPressure(valueSet(pressures, i));
|
|
|
+ nwpStation.setRh(valueSet(rhs, i));
|
|
|
+ nwpStation.setSenf(valueSet(senfs, i));
|
|
|
+ nwpStation.setSwr(valueSet(swrs, i));
|
|
|
+ nwpStation.setT(valueSet(ts, i));
|
|
|
+ nwpStation.setWs10(valueSet(ws10s, i));
|
|
|
+ nwpStation.setWd10(valueSet(wd10s, i));
|
|
|
+ nwpStation.setWs30(valueSet(ws30s, i));
|
|
|
+ nwpStation.setWd30(valueSet(wd30s, i));
|
|
|
+ nwpStation.setWs50(valueSet(ws50s, i));
|
|
|
+ nwpStation.setWd50(valueSet(wd50s, i));
|
|
|
+ nwpStation.setWs70(valueSet(ws70s, i));
|
|
|
+ nwpStation.setWd70(valueSet(wd70s, i));
|
|
|
+ nwpStation.setWs80(valueSet(ws80s, i));
|
|
|
+ nwpStation.setWd80(valueSet(wd80s, i));
|
|
|
+ nwpStation.setWs90(valueSet(ws90s, i));
|
|
|
+ nwpStation.setWd90(valueSet(wd90s, i));
|
|
|
+ nwpStation.setWs100(valueSet(ws100s, i));
|
|
|
+ nwpStation.setWd100(valueSet(wd100s, i));
|
|
|
+ nwpStation.setWs170(valueSet(ws170s, i));
|
|
|
+ nwpStation.setWd170(valueSet(wd170s, i));
|
|
|
+ nwpStation.setStationCode(stationCode);
|
|
|
+
|
|
|
+ nwpStationList.add(nwpStation);
|
|
|
+
|
|
|
+ time = new Date(time.getTime() + 900000L);
|
|
|
+ }
|
|
|
+
|
|
|
+ nwpStationService.saveBatch(nwpStationList);
|
|
|
+
|
|
|
+ parsingResultDto.setStatus("success");
|
|
|
+ log.info("解析Nwp文件:{} 成功! O(∩_∩)O", file.getName());
|
|
|
+ } else {
|
|
|
+ parsingResultDto.setMessage("解析Nwp文件时间错误");
|
|
|
+ log.error("解析Nwp文件时间错误");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ parsingResultDto.setMessage("Nwp暂无单行解析方式");
|
|
|
+ log.error("nwp暂无单行解析方式");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ parsingResultDto.setMessage("解析Nwp数据失败");
|
|
|
+ log.error("解析Nwp数据失败! /(ㄒoㄒ)/~~", e);
|
|
|
+ } finally {
|
|
|
+ return parsingResultDto;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public boolean activationParsingConf() {
|
|
|
+ this.parsingNwps = baseMapper.selectList(null);
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List selectByStationCode(String stationCode) {
|
|
|
+ return this.parsingNwps.stream().filter(p->p.getStationCode().equals(stationCode)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
protected List<BigDecimal> parsingNwpValue(String sign, List<String> fileContent) {
|
|
@@ -227,7 +177,7 @@ public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, Parsing
|
|
|
|
|
|
try {
|
|
|
if (sign != null && !sign.equals("")) {
|
|
|
- ParsingConfParam config = FieldUtil.getConfig(sign);
|
|
|
+ ParsingConfParam config = ParsingFieldUtil.getConfig(sign);
|
|
|
String[] lineNumber = config.getLineNumber().split("-");
|
|
|
if (lineNumber.length > 2) {
|
|
|
int startLine = Integer.parseInt(lineNumber[0]) - 1;
|
|
@@ -236,7 +186,7 @@ public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, Parsing
|
|
|
int no = Integer.parseInt(lineNumber[3]) - 1 ;
|
|
|
|
|
|
for (int i = startLine + no; i <= endLine; i += size) {
|
|
|
- String[] strings = PUtil.splitLineWithSpace(fileContent.get(i));
|
|
|
+ String[] strings = ParsingUtil.splitLineWithSpace(fileContent.get(i));
|
|
|
String result = strings[Integer.parseInt(config.getRowNumber()) - 1];
|
|
|
|
|
|
fpValues.add(new BigDecimal(result));
|
|
@@ -248,7 +198,7 @@ public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, Parsing
|
|
|
int endLine = Integer.parseInt(lineNumber[1]) - 1;
|
|
|
|
|
|
for (int i = startLine; i <= endLine; i++) {
|
|
|
- String[] strings = PUtil.splitLineWithSpace(fileContent.get(i));
|
|
|
+ String[] strings = ParsingUtil.splitLineWithSpace(fileContent.get(i));
|
|
|
String result = strings[Integer.parseInt(config.getRowNumber()) - 1];
|
|
|
|
|
|
fpValues.add(new BigDecimal(result));
|
|
@@ -272,4 +222,15 @@ public class ParsingNwpServiceImpl extends ServiceImpl<ParsingNwpMapper, Parsing
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 计算D+x中的x
|
|
|
+ *
|
|
|
+ * @param baseTime
|
|
|
+ * @param time
|
|
|
+ */
|
|
|
+ public Integer calcHowLongAgo(Date baseTime, Date time) {
|
|
|
+ return ((int) (time.getTime() - baseTime.getTime() % 86400000L)) + 1;
|
|
|
+ }
|
|
|
}
|