web-statistics模块移除无效的引用
新增获取台站数据的提供率及有效率
This commit is contained in:
parent
9b8d8d9223
commit
33cb65a6fd
|
@ -0,0 +1,574 @@
|
|||
package org.jeecg.common;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.modules.entity.data.*;
|
||||
import org.jeecg.modules.service.ICalCulStationDataService;
|
||||
import org.jeecgframework.core.util.ApplicationContextUtil;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
||||
@Slf4j
|
||||
public class CalculateDataRateThread implements Runnable{
|
||||
|
||||
private ICalCulStationDataService calCulStationDataService = ApplicationContextUtil.getContext().getBean(ICalCulStationDataService.class);
|
||||
|
||||
private final GetStationinfoAndDataRate stationinfoAndDataRate;
|
||||
|
||||
private final List<StationInfo> finallySta;
|
||||
|
||||
private CountDownLatch countDownLatch;
|
||||
|
||||
CalculateDataRateThread(List<StationInfo> finallySta, GetStationinfoAndDataRate stationinfoAndDataRate, CountDownLatch countDownLatch) {
|
||||
this.stationinfoAndDataRate = stationinfoAndDataRate;
|
||||
this.finallySta = finallySta;
|
||||
this.countDownLatch = countDownLatch;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
try {
|
||||
this.calCulStationInfo();
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
// CountDownLatch 计数器减 1
|
||||
countDownLatch.countDown();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算台站信息
|
||||
*/
|
||||
public void calCulStationInfo(){
|
||||
//判断当前台站及数据相关信息是否为空
|
||||
if(Objects.isNull(stationinfoAndDataRate)) {
|
||||
return;
|
||||
}
|
||||
//获取台站信息
|
||||
StationInfo originalstationsinfo = stationinfoAndDataRate.getMOriginalstationsinfo();
|
||||
//获取台站参数
|
||||
RateParam mRateparam = stationinfoAndDataRate.getMRateparam();
|
||||
//如果台站信息及台站参数不为空
|
||||
if (Objects.nonNull(originalstationsinfo) && Objects.nonNull(mRateparam)) {
|
||||
//声明存储计算结果的实体类
|
||||
CalculateDataRate calculateDataRate = new CalculateDataRate();
|
||||
calculateDataRate.setParameter(mRateparam);
|
||||
//根据台站编码 查询 台站信息
|
||||
StationInfo stationInfo = calCulStationDataService.getStationInfo(originalstationsinfo.getStationCode());
|
||||
//赋值台站信息
|
||||
calculateDataRate.setMStationId(stationInfo.getId());
|
||||
calculateDataRate.setMStationCode(stationInfo.getStationCode());
|
||||
calculateDataRate.setMStationType(stationInfo.getType());
|
||||
//计算台站数据
|
||||
Rate calculate = this.calculate(calculateDataRate);
|
||||
stationInfo.setPhdf(String.valueOf(calculate.getPhdfOffered()/calculate.getPhdfEfficient()));
|
||||
stationInfo.setPhd(String.valueOf(calculate.getPhdOffered()/calculate.getPhdEfficient()));
|
||||
stationInfo.setMet(String.valueOf(calculate.getMet()));
|
||||
stationInfo.setSoh(String.valueOf(calculate.getSoh()));
|
||||
stationInfo.setPhdMetSoh(String.valueOf(calculate.getPhdMetSoh()));
|
||||
//赋值最后的结果
|
||||
finallySta.add(stationInfo);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据台站编码及台站类型选择不同的方法
|
||||
* @param calculateDataRate
|
||||
*/
|
||||
public Rate calculate(CalculateDataRate calculateDataRate){
|
||||
Rate mRate = new Rate();
|
||||
if (StringUtils.isBlank(calculateDataRate.getMStationId())) {
|
||||
log.error("台站id不能为空");
|
||||
}
|
||||
//获取台站编码
|
||||
String stationCode = calculateDataRate.getMStationCode();
|
||||
//获取台站类型
|
||||
String stationType = calculateDataRate.getMStationType();
|
||||
//判断台站编码及台站类型
|
||||
if((StringUtils.isNotBlank(stationCode) && stationCode.substring(2,3).equals("X")) && (StringUtils.isNotBlank(stationType) && stationType.equals("SAUNA")) ) {
|
||||
//切割台站编码 如果 第三个字符是 X 并且 台站类型是 SAUNA
|
||||
mRate = saunacalc(calculateDataRate);
|
||||
} else if((StringUtils.isNotBlank(stationCode) && stationCode.substring(2,3).equals("X")) && (StringUtils.isNotBlank(stationType) && stationType.equals("SPALAX")) ) {
|
||||
//切割台站编码 如果 第三个字符是 X 并且 台站类型是 SPALAX
|
||||
mRate = spalaxcalc(calculateDataRate);
|
||||
} else if(StringUtils.isNotBlank(stationCode) && stationCode.substring(2,3).equals("P")) {
|
||||
//切割台站编码 如果 第三个字符是 P
|
||||
mRate = particulatecalc(calculateDataRate);
|
||||
}
|
||||
return mRate;
|
||||
}
|
||||
|
||||
public Rate saunacalc(CalculateDataRate calculateDataRate){
|
||||
Rate mRate = new Rate();
|
||||
//获取特殊台站相关集合
|
||||
Map<String, Specialpara> mSpecialparam = calculateDataRate.getMSpecialparam();
|
||||
//根据台站名称获取对应的 参数信息
|
||||
Specialpara param = mSpecialparam.get(calculateDataRate.getMStationCode());
|
||||
//获取日期间隔
|
||||
double dayspan = calculateDataRate.getMParameter().getDayspan();
|
||||
//获取当前日期
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
//当前日期转换成字符串格式
|
||||
String curDateTime = currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//当前日期减去对应的时间间隔 获取开始时间 并转换成字符串格式
|
||||
String pretime = currentTime.minusDays(Long.valueOf((long) dayspan)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//获取台站id
|
||||
String stationId = calculateDataRate.getMStationId();
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdfSauna().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionRate)){
|
||||
Double phdf_offered = phdfProvisionRate.getDataRate();
|
||||
mRate.setPhdfOffered(phdf_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhdf().getLiveLow();
|
||||
String liveHigh = param.getPhdf().getLiveHigh();
|
||||
String quantity = param.getPhdf().getQuantity();
|
||||
String mdc = param.getPhdf().getMdc();
|
||||
String collectLow = param.getPhdf().getCollectLow();
|
||||
String collectHigh = param.getPhdf().getCollectHigh();
|
||||
String xeVolume = param.getPhdf().getXeVolume();
|
||||
String nuclideName = param.getPhdf().getNuclideName();
|
||||
String liveQc = param.getPhdf().getLiveQc();
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdfSauna().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdfSauna().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdfSauna().getQuantity();
|
||||
String mdc = calculateDataRate.getMParameter().getPhdfSauna().getMdc();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdfSauna().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdfSauna().getCollectHigh();
|
||||
String xeVolume = calculateDataRate.getMParameter().getPhdfSauna().getXeVolume();
|
||||
String nuclideName = calculateDataRate.getMParameter().getPhdfSauna().getNuclideName();
|
||||
String liveQc = calculateDataRate.getMParameter().getPhdfSauna().getLiveQc();
|
||||
String number = calculateDataRate.getMParameter().getPhdfSauna().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime,pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionEfficiency)){
|
||||
Double phdf_efficient = phdfProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdfEfficient(phdf_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdSauna().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionRate)){
|
||||
Double phd_offered = phdProvisionRate.getDataRate();
|
||||
mRate.setPhdOffered(phd_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhd().getLiveLow();
|
||||
String liveHigh = param.getPhd().getLiveHigh();
|
||||
String quantity = param.getPhd().getQuantity();
|
||||
String mdc = param.getPhd().getMdc();
|
||||
String collectLow = param.getPhd().getCollectLow();
|
||||
String collectHigh = param.getPhd().getCollectHigh();
|
||||
String xeVolume = param.getPhd().getXeVolume();
|
||||
String nuclideName = param.getPhd().getNuclideName();
|
||||
String liveQc = param.getPhd().getLiveQc();
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdSauna().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdSauna().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdSauna().getQuantity();
|
||||
String mdc = calculateDataRate.getMParameter().getPhdSauna().getMdc();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdSauna().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdSauna().getCollectHigh();
|
||||
String xeVolume = calculateDataRate.getMParameter().getPhdSauna().getXeVolume();
|
||||
String nuclideName = calculateDataRate.getMParameter().getPhdSauna().getNuclideName();
|
||||
String liveQc = calculateDataRate.getMParameter().getPhdSauna().getLiveQc();
|
||||
String number = calculateDataRate.getMParameter().getPhdSauna().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime,pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionEfficiency)){
|
||||
Double phd_efficient = phdProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdEfficient(phd_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算MET的数据提供率
|
||||
ProvisionData metProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String met = param.getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionSauna(curDateTime, pretime, met, stationId);
|
||||
}else {
|
||||
String met = calculateDataRate.getMParameter().getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionSauna(curDateTime, pretime, met, stationId);
|
||||
}
|
||||
if (Objects.nonNull(metProvision)){
|
||||
Double met = metProvision.getDataRate();
|
||||
mRate.setMet(met);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String soh = param.getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
|
||||
}else {
|
||||
String soh = calculateDataRate.getMParameter().getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sohProvision)){
|
||||
Double soh = sohProvision.getDataRate();
|
||||
mRate.setSoh(soh);
|
||||
}
|
||||
|
||||
//计算SPHD+MET+SOH数据提供率 SPHD部分
|
||||
ProvisionData sphdProvision = calCulStationDataService.findSphdProvisionSauna(curDateTime, pretime, stationId);
|
||||
String SPHD_NUM = "0";
|
||||
if (Objects.nonNull(sphdProvision)) {
|
||||
SPHD_NUM = sphdProvision.getDataNumber().toString();
|
||||
}
|
||||
//获取SPHD+MET+SOH数据提供率 MET部分
|
||||
ProvisionData sphdMetProvision = calCulStationDataService.findSphdMetProvisionSauna(curDateTime, pretime, stationId);
|
||||
String MET_NUM = "0";
|
||||
if (Objects.nonNull(sphdMetProvision)) {
|
||||
MET_NUM = sphdMetProvision.getDataNumber().toString();
|
||||
}
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sphdMetSohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String sphdMetSoh = param.getSphdMetSoh();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionSauna(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}else {
|
||||
String sphdMetSoh = calculateDataRate.getMParameter().getSphdMetSoh().getSaunaEverydaynums();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionSauna(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sphdMetSohProvision)){
|
||||
Double phd_met_soh = sphdMetSohProvision.getDataRate();
|
||||
mRate.setPhdMetSoh(phd_met_soh);
|
||||
}
|
||||
return mRate;
|
||||
}
|
||||
|
||||
public Rate spalaxcalc(CalculateDataRate calculateDataRate){
|
||||
Rate mRate = new Rate();
|
||||
//获取特殊台站相关集合
|
||||
Map<String, Specialpara> mSpecialparam = calculateDataRate.getMSpecialparam();
|
||||
//根据台站名称获取对应的 参数信息
|
||||
Specialpara param = mSpecialparam.get(calculateDataRate.getMStationCode());
|
||||
//获取日期间隔
|
||||
double dayspan = calculateDataRate.getMParameter().getDayspan();
|
||||
//获取当前日期
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
//当前日期转换成字符串格式
|
||||
String curDateTime = currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//当前日期减去对应的时间间隔 获取开始时间 并转换成字符串格式
|
||||
String pretime = currentTime.minusDays(Long.valueOf((long) dayspan)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//获取台站id
|
||||
String stationId = calculateDataRate.getMStationId();
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdfSpalax().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionRate)) {
|
||||
Double phdf_offered = phdfProvisionRate.getDataRate();
|
||||
mRate.setPhdfOffered(phdf_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhdf().getLiveLow();
|
||||
String liveHigh = param.getPhdf().getLiveHigh();
|
||||
String quantity = param.getPhdf().getQuantity();
|
||||
String collectLow = param.getPhdf().getCollectLow();
|
||||
String collectHigh = param.getPhdf().getCollectHigh();
|
||||
String liveQc = param.getPhdf().getLiveQc();
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdfSpalax().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdfSpalax().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdfSpalax().getQuantity();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdfSpalax().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdfSpalax().getCollectHigh();
|
||||
String liveQc = calculateDataRate.getMParameter().getPhdfSpalax().getLiveQc();
|
||||
String number = calculateDataRate.getMParameter().getPhdfSpalax().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime,pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionEfficiency)) {
|
||||
Double phdf_efficient = phdfProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdfEfficient(phdf_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdSpalax().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionRate)) {
|
||||
Double phd_offered = phdProvisionRate.getDataRate();
|
||||
mRate.setPhdOffered(phd_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhd().getLiveLow();
|
||||
String liveHigh = param.getPhd().getLiveHigh();
|
||||
String quantity = param.getPhd().getQuantity();
|
||||
String collectLow = param.getPhd().getCollectLow();
|
||||
String collectHigh = param.getPhd().getCollectHigh();
|
||||
String liveQc = param.getPhd().getLiveQc();
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdSpalax().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdSpalax().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdSpalax().getQuantity();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdSpalax().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdSpalax().getCollectHigh();
|
||||
String liveQc = calculateDataRate.getMParameter().getPhdSpalax().getLiveQc();
|
||||
String number = calculateDataRate.getMParameter().getPhdSpalax().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime,pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionEfficiency)) {
|
||||
Double phd_efficient = phdProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdEfficient(phd_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算MET的数据提供率
|
||||
ProvisionData metProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String met = param.getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
|
||||
}else {
|
||||
String met = calculateDataRate.getMParameter().getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
|
||||
}
|
||||
if (Objects.nonNull(metProvision)) {
|
||||
Double met = metProvision.getDataRate();
|
||||
mRate.setMet(met);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String soh = param.getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
|
||||
}else {
|
||||
String soh = calculateDataRate.getMParameter().getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sohProvision)) {
|
||||
Double soh = sohProvision.getDataRate();
|
||||
mRate.setSoh(soh);
|
||||
}
|
||||
|
||||
//计算SPHD+MET+SOH数据提供率 SPHD部分
|
||||
ProvisionData sphdProvision = calCulStationDataService.findSphdProvisionSpalax(curDateTime, pretime, stationId);
|
||||
String SPHD_NUM = "0";
|
||||
if (Objects.nonNull(sphdProvision)) {
|
||||
SPHD_NUM = sphdProvision.getDataNumber().toString();
|
||||
}
|
||||
|
||||
//获取SPHD+MET+SOH数据提供率 MET部分
|
||||
ProvisionData sphdMetProvision = calCulStationDataService.findSphdMetProvisionSpalax(curDateTime, pretime, stationId);
|
||||
String MET_NUM = "0";
|
||||
if (Objects.nonNull(sphdMetProvision)){
|
||||
MET_NUM = sphdMetProvision.getDataNumber().toString();
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sphdMetSohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String sphdMetSoh = param.getSphdMetSoh();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionSpalax(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}else {
|
||||
String sphdMetSoh = calculateDataRate.getMParameter().getSphdMetSoh().getSpalaxEverydaynums();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionSpalax(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sphdMetSohProvision)){
|
||||
Double phd_met_soh = sphdMetSohProvision.getDataRate();
|
||||
mRate.setPhdMetSoh(phd_met_soh);
|
||||
}
|
||||
return mRate;
|
||||
}
|
||||
|
||||
public Rate particulatecalc(CalculateDataRate calculateDataRate){
|
||||
Rate mRate = new Rate();
|
||||
//获取特殊台站相关集合
|
||||
Map<String, Specialpara> mSpecialparam = calculateDataRate.getMSpecialparam();
|
||||
//根据台站名称获取对应的 参数信息
|
||||
Specialpara param = mSpecialparam.get(calculateDataRate.getMStationCode());
|
||||
//获取日期间隔
|
||||
double dayspan = calculateDataRate.getMParameter().getDayspan();
|
||||
//获取当前日期
|
||||
LocalDateTime currentTime = LocalDateTime.now();
|
||||
//当前日期转换成字符串格式
|
||||
String curDateTime = currentTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//当前日期减去对应的时间间隔 获取开始时间 并转换成字符串格式
|
||||
String pretime = currentTime.minusDays(Long.valueOf((long) dayspan)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||
//获取台站id
|
||||
String stationId = calculateDataRate.getMStationId();
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdfParticulate().getNumber();
|
||||
phdfProvisionRate = calCulStationDataService.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionRate)) {
|
||||
Double phdf_offered = phdfProvisionRate.getDataRate();
|
||||
mRate.setPhdfOffered(phdf_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHDF的数据提供率
|
||||
ProvisionData phdfProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhdf().getLiveLow();
|
||||
String liveHigh = param.getPhdf().getLiveHigh();
|
||||
String quantity = param.getPhdf().getQuantity();
|
||||
String collectLow = param.getPhdf().getCollectLow();
|
||||
String collectHigh = param.getPhdf().getCollectHigh();
|
||||
String number = param.getPhdf().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdfParticulate().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdfParticulate().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdfParticulate().getQuantity();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdfParticulate().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdfParticulate().getCollectHigh();
|
||||
String number = calculateDataRate.getMParameter().getPhdfParticulate().getNumber();
|
||||
phdfProvisionEfficiency = calCulStationDataService.findPhdfProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime,pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdfProvisionEfficiency)) {
|
||||
Double phdf_efficient = phdfProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdfEfficient(phdf_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionRate = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String number = calculateDataRate.getMParameter().getPhdParticulate().getNumber();
|
||||
phdProvisionRate = calCulStationDataService.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionRate)){
|
||||
Double phd_offered = phdProvisionRate.getDataRate();
|
||||
mRate.setPhdOffered(phd_offered);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算PHD的数据提供率
|
||||
ProvisionData phdProvisionEfficiency = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String liveLow = param.getPhd().getLiveLow();
|
||||
String liveHigh = param.getPhd().getLiveHigh();
|
||||
String quantity = param.getPhd().getQuantity();
|
||||
String collectLow = param.getPhd().getCollectLow();
|
||||
String collectHigh = param.getPhd().getCollectHigh();
|
||||
String number = param.getPhd().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
|
||||
}else {
|
||||
String liveLow = calculateDataRate.getMParameter().getPhdParticulate().getLiveLow();
|
||||
String liveHigh = calculateDataRate.getMParameter().getPhdParticulate().getLiveHigh();
|
||||
String quantity = calculateDataRate.getMParameter().getPhdParticulate().getQuantity();
|
||||
String collectLow = calculateDataRate.getMParameter().getPhdParticulate().getCollectLow();
|
||||
String collectHigh = calculateDataRate.getMParameter().getPhdParticulate().getCollectHigh();
|
||||
String number = calculateDataRate.getMParameter().getPhdParticulate().getNumber();
|
||||
phdProvisionEfficiency = calCulStationDataService.findPhdProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number,stationId);
|
||||
}
|
||||
if (Objects.nonNull(phdProvisionEfficiency)) {
|
||||
Double phd_efficient = phdProvisionEfficiency.getDataEfficiency();
|
||||
mRate.setPhdEfficient(phd_efficient);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算MET的数据提供率
|
||||
ProvisionData metProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String met = param.getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
|
||||
}else {
|
||||
String met = calculateDataRate.getMParameter().getMet();
|
||||
metProvision = calCulStationDataService.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
|
||||
}
|
||||
if (Objects.nonNull(metProvision)) {
|
||||
Double met = metProvision.getDataRate();
|
||||
mRate.setMet(met);
|
||||
}
|
||||
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String soh = param.getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
|
||||
}else {
|
||||
String soh = calculateDataRate.getMParameter().getSoh();
|
||||
sohProvision = calCulStationDataService.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sohProvision)) {
|
||||
Double soh = sohProvision.getDataRate();
|
||||
mRate.setSoh(soh);
|
||||
}
|
||||
|
||||
//计算SPHD+MET+SOH数据提供率 SPHD部分
|
||||
ProvisionData sphdProvision = calCulStationDataService.findSphdProvisionParticulate(curDateTime, pretime, stationId);
|
||||
String SPHD_NUM = "0";
|
||||
if (Objects.nonNull(sphdProvision)) {
|
||||
SPHD_NUM = sphdProvision.getDataNumber().toString();
|
||||
}
|
||||
|
||||
//获取SPHD+MET+SOH数据提供率 MET部分
|
||||
ProvisionData sphdMetProvision = calCulStationDataService.findSphdMetProvisionParticulate(curDateTime, pretime, stationId);
|
||||
String MET_NUM = "0";
|
||||
if (Objects.nonNull(sphdMetProvision)) {
|
||||
MET_NUM = sphdMetProvision.getDataNumber().toString();
|
||||
}
|
||||
//判断当前台站编码是否属于特殊计算的台站 计算SOH的数据提供率
|
||||
ProvisionData sphdMetSohProvision = new ProvisionData();
|
||||
if (mSpecialparam.containsKey(calculateDataRate.getMStationCode())) {
|
||||
String sphdMetSoh = param.getSphdMetSoh();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionParticulate(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}else {
|
||||
String sphdMetSoh = calculateDataRate.getMParameter().getSphdMetSoh().getParticulateEverydaynums();
|
||||
sphdMetSohProvision = calCulStationDataService.findSphdMetSohProvisionParticulate(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
}
|
||||
if (Objects.nonNull(sphdMetSohProvision)) {
|
||||
Double phd_met_soh = sphdMetSohProvision.getDataRate();
|
||||
mRate.setPhdMetSoh(phd_met_soh);
|
||||
}
|
||||
return mRate;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,936 @@
|
|||
package org.jeecg.common;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jeecg.modules.entity.data.*;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.w3c.dom.*;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class CalculateStationData {
|
||||
|
||||
@Value("${parameter.filePath}")
|
||||
private String parameterFilePath;
|
||||
|
||||
/**
|
||||
* 初始化配置信息
|
||||
*/
|
||||
public RateParam initParameter() {
|
||||
try {
|
||||
//文件路径
|
||||
String filePath = parameterFilePath+ File.separator +"parameter.xml";
|
||||
//声明一个实体类存储参数信息
|
||||
RateParam mRateParam = new RateParam();
|
||||
//创建一个文档解析器工厂
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
//创建文档解析器
|
||||
DocumentBuilder documentBuilder = factory.newDocumentBuilder();
|
||||
//读取xml文件生成一个文档
|
||||
Document document = documentBuilder.parse(filePath);
|
||||
//声明一个接收参数的实体类
|
||||
Parameter mParameter = new Parameter();
|
||||
//声明一个map 存储特殊的台站及台站相关参数
|
||||
Map<String, Specialpara> specialparaMap = new HashMap<>();
|
||||
//获取文档的根元素
|
||||
Element element = document.getDocumentElement();
|
||||
//获取根元素的子节点
|
||||
NodeList docChildNodes = element.getChildNodes();
|
||||
if (Objects.nonNull(docChildNodes) && docChildNodes.getLength()>0){
|
||||
//遍历子节点信息
|
||||
for(int i = 0; i < docChildNodes.getLength(); i++) {
|
||||
//根据下标获取对应的节点信息
|
||||
Node n = docChildNodes.item(i);
|
||||
//判断节点名称是否是 DAYSPAN
|
||||
if(n.getNodeName().equals("DAYSPAN")) {
|
||||
// 获取节点的第一个子节点
|
||||
Node childNode = n.getFirstChild();
|
||||
//如果节点信息不为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
// 获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
// 如果属性信息不为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
// 遍历获取属性值
|
||||
for (int j=0; j< attributes.getLength(); j++){
|
||||
// 获取属性
|
||||
Node item = attributes.item(j);
|
||||
// 如果属性名是 dayspan
|
||||
if(item.getNodeName().equals("dayspan")) {
|
||||
//赋值dayspan
|
||||
mParameter.setDayspan(Double.parseDouble(item.getNodeValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(n.getNodeName().equals("WARNING")) {// 判断节点名称是否是 WARNING
|
||||
// 获取节点第一个子节点
|
||||
Node childNode = n.getFirstChild();
|
||||
// 子节点不为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
// 判断子节点的名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
// 获取子节点的 属性
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
// 子节点属性不为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
// 遍历获取属性值
|
||||
for (int j =0; j<attributes.getLength(); j++){
|
||||
// 获取某一个节点的属性
|
||||
Node item = attributes.item(j);
|
||||
if(item.getNodeName().equals("excellent")) {
|
||||
// 属性的名称是 excellent
|
||||
mParameter.setExcellent(Double.parseDouble(item.getNodeValue()));
|
||||
} else if(item.getNodeName().equals("good")) {
|
||||
// 属性的名称是 good
|
||||
mParameter.setGood(Double.parseDouble(item.getNodeValue()));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(n.getNodeName().equals("PHDF")) { // 判断节点名称是否是 PHDF
|
||||
// 获取节点的所有子节点信息
|
||||
NodeList phdfChildNodes = n.getChildNodes();
|
||||
// 判断子节点数据是否为空
|
||||
if (Objects.nonNull(phdfChildNodes) && phdfChildNodes.getLength()>0){
|
||||
//遍历子节点数据
|
||||
for(int j = 0; j < phdfChildNodes.getLength(); j++) {
|
||||
// 获取子节点数据
|
||||
Node node = phdfChildNodes.item(j);
|
||||
// 判断子节点名称是否是 SAUNA
|
||||
if(node.getNodeName().equals("SAUNA")) {
|
||||
// 获取子节点下的第一个节点信息
|
||||
Node childNode = node.getFirstChild();
|
||||
// 声明一个实体类存储参数信息
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
// 判断子节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
// 判断子节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取子节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
// 判断属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
// 遍历获取属性值
|
||||
for (int k=0; k<attributes.getLength(); k++){
|
||||
// 获取当前下标的属性
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
// 如果属性名是 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
// 如果属性名是 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
// 如果属性名是 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
// 如果属性名是 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
// 如果属性名是 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("xe_volume")) {
|
||||
// 如果属性名是 xe_volume
|
||||
typeData.setXeVolume(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("mdc")) {
|
||||
// 如果属性名是 mdc
|
||||
typeData.setMdc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("nuclide_name")) {
|
||||
// 如果属性名是 nuclide_name
|
||||
typeData.setNuclideName(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_qc")) {
|
||||
// 如果属性名是 live_qc
|
||||
typeData.setLiveQc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
// 如果属性名是 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取当前节点的下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
// 当前属性参数封装进 phdf-sauna中
|
||||
mParameter.setPhdfSauna(typeData);
|
||||
} else if(node.getNodeName().equals("SPALAX")) {// 判断当前节点名称是否是 SPALAX
|
||||
// 获取第一个子节点
|
||||
Node childNode = node.getFirstChild();
|
||||
// 声明一个台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
// 如果子节点不为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
// 判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
// 获取子节点的属性
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
// 属性不为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
// 遍历节点的属性信息
|
||||
for (int k=0; k<attributes.getLength(); k++){
|
||||
// 获取属性内容
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
// 如果属性名称是 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
// 如果属性名称是 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
// 如果属性名称是 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
// 如果属性名称是 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
// 如果属性名称是 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_qc")) {
|
||||
// 如果属性名称是 live_qc
|
||||
typeData.setLiveQc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
// 如果属性名称是 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取下一个子节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//当前台站参数信息存入 phdf-spalax
|
||||
mParameter.setPhdfSpalax(typeData);
|
||||
} else if(node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE
|
||||
// 获取当前节点的第一个子节点
|
||||
Node childNode = node.getFirstChild();
|
||||
// 声明一个台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
// 判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
// 判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
// 获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
// 判断属性信息是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历属性信息
|
||||
for (int k=0; k<attributes.getLength(); k++){
|
||||
// 获取某节点的属性信息
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
//属性名称是 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
//属性名称是 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
//属性名称是 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
//属性名称是 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
//属性名称是 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
//属性名称是 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//台站参数信息赋值phdf-particulate
|
||||
mParameter.setPhdfParticulate(typeData);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if(n.getNodeName().equals("PHD")) {// 判断节点名称是否是 PHD
|
||||
// 获取所有子节点数据
|
||||
NodeList phdChildNodes = n.getChildNodes();
|
||||
//判断子节点数据是否为空
|
||||
if (Objects.nonNull(phdChildNodes) && phdChildNodes.getLength()>0){
|
||||
//遍历子节点数据
|
||||
for(int j = 0; j < phdChildNodes.getLength(); j++) {
|
||||
// 获取子节点信息
|
||||
Node node = phdChildNodes.item(j);
|
||||
//判断子节点名称是否是 SAUNA
|
||||
if(node.getNodeName().equals("SAUNA")) {
|
||||
//获取子节点下的第一个节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//声明一个台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
//如果子节点不为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点的名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//节点属性信息不为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取属性
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
// 判断属性名称是 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
// 判断属性名称是 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
// 判断属性名称是 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
// 判断属性名称是 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
// 判断属性名称是 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("xe_volume")) {
|
||||
// 判断属性名称是 xe_volume
|
||||
typeData.setXeVolume(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("mdc")) {
|
||||
// 判断属性名称是 mdc
|
||||
typeData.setMdc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("nuclide_name")) {
|
||||
// 判断属性名称是 nuclide_name
|
||||
typeData.setNuclideName(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_qc")) {
|
||||
// 判断属性名称是 live_qc
|
||||
typeData.setLiveQc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
// 判断属性名称是 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//台站参数赋值 phd-sauna
|
||||
mParameter.setPhdSauna(typeData);
|
||||
} else if(node.getNodeName().equals("SPALAX")) {//判断节点名称是否是 spalax
|
||||
//获取节点下的第一个子节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//声明一个 台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
//判断子节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取属性信息
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
//属性名称为 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
//属性名称为 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
//属性名称为 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
//属性名称为 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
//属性名称为 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_qc")) {
|
||||
//属性名称为 live_qc
|
||||
typeData.setLiveQc(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
//属性名称为 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//台站参数赋值 phd-spalax
|
||||
mParameter.setPhdSpalax(typeData);
|
||||
} else if(node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE
|
||||
//获取节点下的第一个节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//声明台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
//判断子节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断子节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取子节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历属性信息
|
||||
for (int k=0; k < attributes.getLength(); k++){
|
||||
//获取节点的属性
|
||||
Node item = attributes.item(k);
|
||||
if(item.getNodeName().equals("collect_low")) {
|
||||
//属性名称是 collect_low
|
||||
typeData.setCollectLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("collect_high")) {
|
||||
//属性名称是 collect_high
|
||||
typeData.setCollectHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_low")) {
|
||||
//属性名称是 live_low
|
||||
typeData.setLiveLow(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("live_high")) {
|
||||
//属性名称是 live_high
|
||||
typeData.setLiveHigh(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("quantity")) {
|
||||
//属性名称是 quantity
|
||||
typeData.setQuantity(item.getNodeValue());
|
||||
} else if(item.getNodeName().equals("number")) {
|
||||
//属性名称是 number
|
||||
typeData.setNumber(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//台站参数赋值 phd-particulate
|
||||
mParameter.setPhdParticulate(typeData);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if(n.getNodeName().equals("MET")) {// 判断节点名称是否是 met
|
||||
//获取第一个子节点
|
||||
Node childNode = n.getFirstChild();
|
||||
//判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历节点属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取节点属性
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 number
|
||||
if(item.getNodeName().equals("number")) {
|
||||
mParameter.setMet(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if (n.getNodeName().equals("SOH")) {// 判断节点名称是否是 SOH
|
||||
//获取第一个子节点
|
||||
Node childNode = n.getFirstChild();
|
||||
//判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历节点属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取节点属性
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 number
|
||||
if(item.getNodeName().equals("number")) {
|
||||
mParameter.setSoh(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(n.getNodeName().equals("SPHD_MET_SOH")) {// 判断节点名称 是否是 SPHD_MET_SOH
|
||||
//获取节点的子节点集合
|
||||
NodeList sphdmetsohChildNodes = n.getChildNodes();
|
||||
//声明一个实体类封装属性信息
|
||||
SphdMetSoh sphdMetSoh = new SphdMetSoh();
|
||||
// 遍历子节点集合
|
||||
for(int j = 0; j < sphdmetsohChildNodes.getLength(); j++) {
|
||||
//获取子节点数据
|
||||
Node node = sphdmetsohChildNodes.item(j);
|
||||
//判断子节点名称是否是 SAUNA
|
||||
if(node.getNodeName().equals("SAUNA")) {
|
||||
//获取第一个节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历节点属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取节点属性
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 number
|
||||
if(item.getNodeName().equals("number")) {
|
||||
sphdMetSoh.setSaunaEverydaynums(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(node.getNodeName().equals("SPALAX")) { // 判断节点名称是否是 SPALAX
|
||||
//获取第一个节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历节点属性信息
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取节点属性
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 number
|
||||
if(item.getNodeName().equals("number")) {
|
||||
sphdMetSoh.setSpalaxEverydaynums(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(node.getNodeName().equals("PARTICULATE")) {// 判断节点名称是否是 PARTICULATE
|
||||
//获取第一个子节点
|
||||
Node childNode = node.getFirstChild();
|
||||
//判断节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点属性
|
||||
NamedNodeMap attributes = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
//遍历节点属性
|
||||
for (int k=0; k< attributes.getLength(); k++){
|
||||
//获取属性
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 number
|
||||
if(item.getNodeName().equals("number")) {
|
||||
sphdMetSoh.setParticulateEverydaynums(item.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
}
|
||||
//将 sphdMetSoh 属性信息赋值给 参数实体
|
||||
mParameter.setSphdMetSoh(sphdMetSoh);
|
||||
}
|
||||
} else if (n.getNodeName().equals("SPECIAL")) {// 判断节点名称是否是 SPECIAL
|
||||
//获取节点的子节点集合
|
||||
NodeList specialChildNodes = n.getChildNodes();
|
||||
//遍历子节点
|
||||
for(int j=0; j<specialChildNodes.getLength(); j++) {
|
||||
//获取节点信息
|
||||
Node node = specialChildNodes.item(j);
|
||||
//声明台站名称
|
||||
String stationName = "";
|
||||
//判断节点名称是否是 STATION
|
||||
if(node.getNodeName().equals("STATION")) {
|
||||
//获取节点的属性信息
|
||||
NamedNodeMap attributes = node.getAttributes();
|
||||
//声明一个实体类 封装台站参数信息
|
||||
Specialpara spePara = new Specialpara();
|
||||
//判断属性信息是否为空
|
||||
if (Objects.nonNull(attributes)){
|
||||
for (int k=0; k<attributes.getLength(); k++){
|
||||
//获取属性信息
|
||||
Node item = attributes.item(k);
|
||||
//判断属性名称是否是 name
|
||||
if(item.getNodeName().equals("name")) {
|
||||
stationName = item.getNodeValue();
|
||||
}
|
||||
}
|
||||
//获取子节点集合
|
||||
NodeList parameterNodes = node.getChildNodes();
|
||||
//遍历子节点
|
||||
for(int k=0; k<parameterNodes.getLength(); k++) {
|
||||
//获取子节点
|
||||
Node node1 = parameterNodes.item(k);
|
||||
//判断子节点名称是否是 PHDF
|
||||
if(node1.getNodeName().equals("PHDF")) {
|
||||
//获取第一个子节点
|
||||
Node childNode = node1.getFirstChild();
|
||||
//声明一个 台站参数实体类
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
//判断子节点是否为空
|
||||
while (Objects.nonNull(childNode)) {
|
||||
//判断子节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取子节点的属性
|
||||
NamedNodeMap attributes1 = childNode.getAttributes();
|
||||
//判断属性是否为空
|
||||
if (Objects.nonNull(attributes1)){
|
||||
//遍历属性
|
||||
for (int m=0; m<attributes1.getLength(); m++){
|
||||
//获取属性
|
||||
Node item1 = attributes1.item(m);
|
||||
if(item1.getNodeName().equals("collect_low")) {
|
||||
//判断属性名称是否是 collect_low
|
||||
typeData.setCollectLow(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("collect_high")) {
|
||||
//判断属性名称是否是 collect_high
|
||||
typeData.setCollectHigh(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_low")) {
|
||||
//判断属性名称是否是 live_low
|
||||
typeData.setLiveLow(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_high")) {
|
||||
//判断属性名称是否是 live_high
|
||||
typeData.setLiveHigh(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("quantity")) {
|
||||
//判断属性名称是否是 xe_volume
|
||||
typeData.setQuantity(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("xe_volume")) {
|
||||
//判断属性名称是否是 xe_volume
|
||||
typeData.setXeVolume(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("mdc")) {
|
||||
//判断属性名称是否是 mdc
|
||||
typeData.setMdc(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("nuclide_name")) {
|
||||
//判断属性名称是否是 nuclide_name
|
||||
typeData.setNuclideName(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_qc")) {
|
||||
//判断属性名称是否是 live_qc
|
||||
typeData.setLiveQc(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("number")) {
|
||||
//判断属性名称是否是 number
|
||||
typeData.setNumber(item1.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//将参数实体赋值给 phdf
|
||||
spePara.setPhdf(typeData);
|
||||
} else if(node1.getNodeName().equals("PHD")) {// 判断子节点名称是否是 PHD
|
||||
//获取第一个子节点
|
||||
Node childNode = node1.getFirstChild();
|
||||
//声明一个台站参数实体
|
||||
StationTypeData typeData = new StationTypeData();
|
||||
//判断子节点是否为空
|
||||
while (Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性
|
||||
NamedNodeMap attributes1 = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes1)){
|
||||
//遍历属性
|
||||
for (int m=0; m<attributes1.getLength(); m++){
|
||||
//获取节点属性
|
||||
Node item1 = attributes1.item(m);
|
||||
if(item1.getNodeName().equals("collect_low")) {
|
||||
// 判断节点名称是否是 collect_low
|
||||
typeData.setCollectLow(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("collect_high")) {
|
||||
// 判断节点名称是否是 collect_high
|
||||
typeData.setCollectHigh(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_low")) {
|
||||
// 判断节点名称是否是 live_low
|
||||
typeData.setLiveLow(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_high")) {
|
||||
// 判断节点名称是否是 live_high
|
||||
typeData.setLiveHigh(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("quantity")) {
|
||||
// 判断节点名称是否是 quantity
|
||||
typeData.setQuantity(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("xe_volume")) {
|
||||
// 判断节点名称是否是 xe_volume
|
||||
typeData.setXeVolume(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("mdc")) {
|
||||
// 判断节点名称是否是 mdc
|
||||
typeData.setMdc(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("nuclide_name")) {
|
||||
// 判断节点名称是否是 nuclide_name
|
||||
typeData.setNuclideName(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("live_qc")) {
|
||||
// 判断节点名称是否是 live_qc
|
||||
typeData.setLiveQc(item1.getNodeValue());
|
||||
} else if(item1.getNodeName().equals("number")) {
|
||||
// 判断节点名称是否是 number
|
||||
typeData.setNumber(item1.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//获取下一个节点
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
//节点参数赋值 phd
|
||||
spePara.setPhd(typeData);
|
||||
} else if(node1.getNodeName().equals("SOH")) {// 判断节点名称是否是 SOH
|
||||
//获取第一个子节点
|
||||
Node childNode = node1.getFirstChild();
|
||||
//判断子节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点属性
|
||||
NamedNodeMap attributes1 = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes1)){
|
||||
//遍历节点属性
|
||||
for (int m=0; m<attributes1.getLength(); m++){
|
||||
//获取属性
|
||||
Node item1 = attributes1.item(m);
|
||||
//判断属性名称是否是 number
|
||||
if(item1.getNodeName().equals("number")) {
|
||||
spePara.setSoh(item1.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(node1.getNodeName().equals("MET")) {// 判断节点名称是否是 MET
|
||||
//获取第一个子节点
|
||||
Node childNode = node1.getFirstChild();
|
||||
//判断子节点是否为空
|
||||
while(Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点的属性
|
||||
NamedNodeMap attributes1 = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes1)){
|
||||
//遍历节点属性
|
||||
for (int m=0; m<attributes1.getLength(); m++){
|
||||
//获取节点属性
|
||||
Node item1 = attributes1.item(m);
|
||||
//判断节点名称是否是 number
|
||||
if(item1.getNodeName().equals("number")) {
|
||||
spePara.setMet(item1.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
} else if(node1.getNodeName().equals("SPHD_MET_SOH")) {// 判断子节点名称是否是 SPHD_MET_SOH
|
||||
//获取节点的第一个子节点
|
||||
Node childNode = node1.getFirstChild();
|
||||
//判断子节点是否为空
|
||||
while (Objects.nonNull(childNode)) {
|
||||
//判断节点名称是否是 item
|
||||
if(childNode.getNodeName().equals("item")) {
|
||||
//获取节点属性
|
||||
NamedNodeMap attributes1 = childNode.getAttributes();
|
||||
//判断节点属性是否为空
|
||||
if (Objects.nonNull(attributes1)){
|
||||
//遍历节点属性
|
||||
for (int m=0; m< attributes1.getLength(); m++){
|
||||
//获取属性
|
||||
Node item1 = attributes1.item(m);
|
||||
//判断属性名称是否是 number
|
||||
if(item1.getNodeName().equals("number")) {
|
||||
spePara.setSphdMetSoh(item1.getNodeValue());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
childNode = childNode.getNextSibling();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//台站名称作为 key 台站参数属性作为 value 存入一个map
|
||||
specialparaMap.put(stationName, spePara);
|
||||
}
|
||||
} // end for
|
||||
//参数信息赋值给参数
|
||||
mRateParam.setParameter(mParameter);
|
||||
//特殊台站信息赋值给 特殊台站map
|
||||
mRateParam.setSpecialparam(specialparaMap);
|
||||
} // end else if
|
||||
}
|
||||
}
|
||||
return mRateParam;
|
||||
} catch (ParserConfigurationException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
} catch (SAXException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 多线程获取台站数据的提供率和有效率
|
||||
* @param stationInfos 台站信息列表
|
||||
*/
|
||||
public List<StationInfo> mutiThreadGetStationInfo(List<StationInfo> stationInfos, RateParam mRateParam){
|
||||
// 声明当前开始执行时间
|
||||
Date startTime = new Date();
|
||||
//声明一个数组用于接收最后的结果情况
|
||||
List<StationInfo> finallySta = new ArrayList<>();
|
||||
//声明一个线程池
|
||||
ThreadPoolExecutor poolExecutor = null;
|
||||
//声明一个CountDownLatch监听是否完成全部线程
|
||||
CountDownLatch countDownLatch = null;
|
||||
//初始化线程数量=0
|
||||
int threadNum = 0;
|
||||
//获取当前设备的理想线程数
|
||||
int idealnum = Runtime.getRuntime().availableProcessors();
|
||||
//获取需要处理的台站信息数量
|
||||
int works = stationInfos.size();
|
||||
// 如果需要工作处理的数量 小于 理想线程数
|
||||
if(works < idealnum) {
|
||||
//将需要处理的工作数量赋值给线程数,按照需要处理的工作数量处理数据
|
||||
threadNum = works;
|
||||
} else {
|
||||
//否则按照理想线程数 处理数据
|
||||
threadNum = idealnum;
|
||||
}
|
||||
// 如果线程数不等于0
|
||||
if (threadNum != 0){
|
||||
//初始化线程池
|
||||
poolExecutor = new ThreadPoolExecutor(threadNum, threadNum, 5, TimeUnit.MINUTES, new LinkedBlockingQueue<>());
|
||||
}else {
|
||||
return stationInfos;
|
||||
}
|
||||
|
||||
// 线程数 等于 需要处理的台站数量
|
||||
if( threadNum == works ){
|
||||
countDownLatch = new CountDownLatch(threadNum);
|
||||
//遍历台站信息
|
||||
for (int i=0 ; i<stationInfos.size(); i++){
|
||||
//获取台站信息
|
||||
StationInfo stationInfo = stationInfos.get(i);
|
||||
//声明一个实体类
|
||||
GetStationinfoAndDataRate stationinfoAndDataRate = new GetStationinfoAndDataRate();
|
||||
stationinfoAndDataRate.setMOriginalstationsinfo(stationInfo);
|
||||
stationinfoAndDataRate.setMRateparam(mRateParam);
|
||||
CalculateDataRateThread calculateDataRateThread = new CalculateDataRateThread(finallySta, stationinfoAndDataRate, countDownLatch);
|
||||
//调用线程计算率值
|
||||
poolExecutor.execute(calculateDataRateThread);
|
||||
}
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
//关闭线程池
|
||||
if(poolExecutor != null) {
|
||||
poolExecutor.shutdownNow();
|
||||
}
|
||||
}
|
||||
}else { // 线程数 不等于 需要处理的台站数量时
|
||||
//将台站数组按照线程数分成多组
|
||||
//声明一个变量 看当前台站信息需要分为多少组
|
||||
int Tworks = 0;
|
||||
//如果当前需要处理的台站数量是线程数量的整数倍
|
||||
if(works%threadNum == 0){
|
||||
//变量值 等于 需要处理的台站数量与线程数的商
|
||||
Tworks = works/threadNum; // 300 30 10
|
||||
} else {
|
||||
// 变量值 等于 需要处理的台站数量与线程数的商 +1
|
||||
Tworks = works/threadNum + 1; // 301 30 11
|
||||
}
|
||||
//遍历需要查询的组数
|
||||
for (int i=0; i<Tworks; i++){
|
||||
//根据每组的台站大小 分割台站数组
|
||||
List<StationInfo> infos = new ArrayList<>();
|
||||
int startIndex = i * threadNum;
|
||||
int endIndex = ((i + 1) * threadNum) - 1;
|
||||
//判断当前结束下标是否超出台站数量 没有超出说明还在范围内 正常截取数组
|
||||
if (endIndex <= stationInfos.size()){
|
||||
infos = stationInfos.subList(startIndex, endIndex);
|
||||
}else {//如果超出台站数量 则从截取开始下标 截取到台站数组的最后一个下标
|
||||
infos = stationInfos.subList(startIndex, stationInfos.size()-1);
|
||||
}
|
||||
countDownLatch = new CountDownLatch(infos.size());
|
||||
//遍历当前组的台站并进行计算
|
||||
for (int j=0; j<infos.size(); j++){
|
||||
//获取台站信息
|
||||
StationInfo stationInfo = infos.get(j);
|
||||
//声明一个实体类
|
||||
GetStationinfoAndDataRate stationinfoAndDataRate = new GetStationinfoAndDataRate();
|
||||
stationinfoAndDataRate.setMOriginalstationsinfo(stationInfo);
|
||||
stationinfoAndDataRate.setMRateparam(mRateParam);
|
||||
CalculateDataRateThread calculateDataRateThread = new CalculateDataRateThread(finallySta, stationinfoAndDataRate, countDownLatch);
|
||||
//调用线程计算率值
|
||||
poolExecutor.execute(calculateDataRateThread);
|
||||
}
|
||||
if (i==Tworks-1){
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
//关闭线程池
|
||||
if(poolExecutor != null) {
|
||||
poolExecutor.shutdownNow();
|
||||
}
|
||||
}
|
||||
}else {
|
||||
try {
|
||||
countDownLatch.await();
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//声明一个结束时间
|
||||
Date endTime = new Date();
|
||||
long diffTime = (endTime.getTime() - startTime.getTime())/1000;
|
||||
log.info("获取台站信息和数据率总耗时:"+diffTime);
|
||||
return finallySta;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,19 +1,14 @@
|
|||
package org.jeecg.modules.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.Point;
|
||||
import org.jeecg.modules.entity.PointVo;
|
||||
import org.jeecg.modules.entity.StationOperation;
|
||||
import org.jeecg.modules.service.IStationOperationService;
|
||||
import org.jeecg.modules.system.entity.GardsNuclearfacility;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
|
@ -65,4 +60,10 @@ public class StationOperationController {
|
|||
return stationOperationService.getDataReceivingStatus(userId);
|
||||
}
|
||||
|
||||
@GetMapping("getDataProvisionEfficiency")
|
||||
@ApiOperation(value = "查询台站数据提供率及有效率", notes = "查询台站数据提供率及有效率")
|
||||
public Result getDataProvisionEfficiency(){
|
||||
return stationOperationService.getDataProvisionEfficiency();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class CalculateDataRate implements Serializable {
|
||||
|
||||
public double mExcellent;
|
||||
|
||||
public double mGood;
|
||||
|
||||
private Parameter mParameter;
|
||||
|
||||
private Map<String, Specialpara> mSpecialparam;
|
||||
|
||||
private String mCurtime;
|
||||
|
||||
private String mPretime;
|
||||
|
||||
private String mStationId;
|
||||
|
||||
private String mStationCode;
|
||||
|
||||
private String mStationType;
|
||||
|
||||
double mDayspan; // 天数(用来统计数据接受率和有效率)
|
||||
|
||||
private Rate mRate;
|
||||
|
||||
private StationInfo mStationinfo;
|
||||
|
||||
public void setParameter(RateParam mRateparam){
|
||||
this.mParameter = mRateparam.getParameter();
|
||||
this.mSpecialparam = mRateparam.getSpecialparam();
|
||||
this.mDayspan = mRateparam.getParameter().getDayspan();
|
||||
this.mExcellent = mRateparam.getParameter().getExcellent();
|
||||
this.mGood = mRateparam.getParameter().getGood();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class GetStationinfoAndDataRate implements Serializable {
|
||||
|
||||
CalculateDataRate mcalcu;
|
||||
|
||||
StationInfo mOriginalstationsinfo;
|
||||
|
||||
StationInfo mFinallystationsinfo;
|
||||
|
||||
private Rate mRate;
|
||||
|
||||
private RateParam mRateparam;
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class Parameter implements Serializable {
|
||||
|
||||
private double dayspan;
|
||||
|
||||
private double excellent;
|
||||
|
||||
private double good;
|
||||
|
||||
private StationTypeData phdfSauna;
|
||||
|
||||
private StationTypeData phdfSpalax;
|
||||
|
||||
private StationTypeData phdfParticulate;
|
||||
|
||||
private StationTypeData phdSauna;
|
||||
|
||||
private StationTypeData phdSpalax;
|
||||
|
||||
private StationTypeData phdParticulate;
|
||||
|
||||
private String met;
|
||||
|
||||
private String soh;
|
||||
|
||||
private SphdMetSoh sphdMetSoh;
|
||||
|
||||
public Parameter(){
|
||||
dayspan = 0;
|
||||
excellent = 0;
|
||||
good = 0;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class ProvisionData implements Serializable {
|
||||
|
||||
private Integer dataNumber;
|
||||
|
||||
private double dataRate;
|
||||
|
||||
private double dataEfficiency;
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class Rate implements Serializable {
|
||||
|
||||
private double phdfOffered;
|
||||
|
||||
private double phdfEfficient;
|
||||
|
||||
private double phdOffered;
|
||||
|
||||
private double phdEfficient;
|
||||
|
||||
private double met;
|
||||
|
||||
private double soh;
|
||||
|
||||
private double phdMetSoh;
|
||||
|
||||
|
||||
public Rate() {
|
||||
phdfOffered = 0;
|
||||
phdfEfficient = 0;
|
||||
phdOffered = 0;
|
||||
phdEfficient = 0;
|
||||
met = 0;
|
||||
soh = 0;
|
||||
phdMetSoh = 0;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Map;
|
||||
|
||||
@Data
|
||||
public class RateParam implements Serializable {
|
||||
|
||||
private Parameter parameter;
|
||||
|
||||
private Map<String, Specialpara> specialparam;
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class Specialpara implements Serializable {
|
||||
|
||||
private StationTypeData phdf;
|
||||
|
||||
private StationTypeData phd;
|
||||
|
||||
private String met;
|
||||
|
||||
private String soh;
|
||||
|
||||
private String sphdMetSoh;
|
||||
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class SphdMetSoh implements Serializable {
|
||||
|
||||
private String saunaEverydaynums;
|
||||
|
||||
private String spalaxEverydaynums;
|
||||
|
||||
private String particulateEverydaynums;
|
||||
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class StationInfo implements Serializable {
|
||||
|
||||
private String id;
|
||||
|
||||
private String stationCode;
|
||||
|
||||
private String countryCode;
|
||||
|
||||
private String type;
|
||||
|
||||
private String lon;
|
||||
|
||||
private String lat;
|
||||
|
||||
private String description;
|
||||
|
||||
private String status;
|
||||
|
||||
private String phdf;
|
||||
|
||||
private String phd;
|
||||
|
||||
private String met;
|
||||
|
||||
private String soh;
|
||||
|
||||
private String phdMetSoh;
|
||||
|
||||
private String used;
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
@Data
|
||||
public class StationTypeData implements Serializable {
|
||||
|
||||
private String collectLow;
|
||||
|
||||
private String collectHigh;
|
||||
|
||||
private String liveLow;
|
||||
|
||||
private String liveHigh;
|
||||
|
||||
private String quantity;
|
||||
|
||||
private String xeVolume;
|
||||
|
||||
private String mdc;
|
||||
|
||||
private String nuclideName;
|
||||
|
||||
private String liveQc;
|
||||
|
||||
private String number;
|
||||
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package org.jeecg.modules.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.jeecg.modules.entity.data.ProvisionData;
|
||||
import org.jeecg.modules.entity.data.StationInfo;
|
||||
|
||||
public interface CalCulStationInfoMapper {
|
||||
|
||||
StationInfo getStationInfo(@Param("stationCode") String stationCode);
|
||||
|
||||
ProvisionData findPhdfProvisionRateSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencySauna(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity,@Param("mdc") String mdc,@Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh,@Param("xeVolume") String xeVolume,@Param("nuclideName") String nuclideName,@Param("liveQc") String liveQc,@Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencySauna(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity,@Param("mdc") String mdc,@Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh,@Param("xeVolume") String xeVolume,@Param("nuclideName") String nuclideName,@Param("liveQc") String liveQc,@Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findMetProvisionSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("met") String met, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSohProvisionSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("soh") String soh, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionSauna(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionSauna(@Param("SPHD_NUM") String SPHD_NUM, @Param("MET_NUM") String MET_NUM, @Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("sphdMetSoh") String sphdMetSoh, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionRateSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencySpalax(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity, @Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh, @Param("liveQc") String liveQc,@Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencySpalax(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity, @Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh, @Param("liveQc") String liveQc,@Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findMetProvisionSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("met") String met, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSohProvisionSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("soh") String soh, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionSpalax(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionSpalax(@Param("SPHD_NUM") String SPHD_NUM, @Param("MET_NUM") String MET_NUM, @Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("sphdMetSoh") String sphdMetSoh, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionRateParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencyParticulate(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity, @Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh, @Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencyParticulate(@Param("liveLow") String liveLow,@Param("liveHigh") String liveHigh,@Param("quantity") String quantity, @Param("collectLow") String collectLow,@Param("collectHigh") String collectHigh, @Param("curDateTime") String curDateTime,@Param("pretime") String pretime,@Param("number") String number,@Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findMetProvisionParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("met") String met, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSohProvisionParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("soh") String soh, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionParticulate(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionParticulate(@Param("SPHD_NUM") String SPHD_NUM, @Param("MET_NUM") String MET_NUM, @Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("sphdMetSoh") String sphdMetSoh, @Param("stationId") String stationId);
|
||||
|
||||
}
|
|
@ -0,0 +1,398 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.jeecg.modules.mapper.CalCulStationInfoMapper">
|
||||
|
||||
<select id="getStationInfo" resultType="org.jeecg.modules.entity.data.StationInfo">
|
||||
SELECT
|
||||
station_id as id,
|
||||
STATION_CODE as stationCode,
|
||||
COUNTRY_CODE as countryCode,
|
||||
TYPE as type,
|
||||
LON as lon,
|
||||
LAT as lat,
|
||||
DESCRIPTION as description,
|
||||
STATUS as status
|
||||
FROM
|
||||
CONFIGURATION.GARDS_STATIONS
|
||||
<where>
|
||||
station_code= #{stationCode}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdfProvisionRateSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select
|
||||
count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss'))*${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr(sta.station_code, 3,1)='X'
|
||||
and sta.type='SAUNA'
|
||||
and sdata.spectral_qualifie='FULL' and sdata.SAMPLE_TYPE='B'
|
||||
and sdata.station_id = #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdfProvisionEfficiencySauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT
|
||||
(sum(CASE WHEN ROUND( sdata.acquisition_live_sec / 60 / 60.00 ) BETWEEN ${liveLow} AND ${liveHigh}
|
||||
AND sdata.quantity > ${quantity}
|
||||
AND xe.MDC > ${mdc}
|
||||
AND ( to_number( SDATA.COLLECT_STOP - SDATA.COLLECT_START ) * 24 ) BETWEEN ${collectLow} AND ${collectHigh}
|
||||
AND aux.xe_volume > ${xeVolume}
|
||||
AND xe.nuclide_name = '${nuclideName}'
|
||||
AND sdata.data_type = 'S' THEN 1 ELSE 0
|
||||
END)
|
||||
+ sum( CASE WHEN sdata.acquisition_live_sec > ${liveQc} AND sdata.data_type = 'Q' THEN 1 ELSE 0 END )
|
||||
+ sum( CASE WHEN ROUND( sdata.acquisition_live_sec / 60 / 60.00, 2 ) BETWEEN ${liveLow} AND ${liveHigh}
|
||||
AND sdata.data_type = 'G' THEN 1 ELSE 0 END)) dataNumber,
|
||||
ROUND((sum(CASE WHEN ROUND( sdata.acquisition_live_sec / 60 / 60.00 ) BETWEEN ${liveLow} AND ${liveHigh}
|
||||
AND sdata.quantity > ${quantity}
|
||||
AND xe.MDC > ${mdc}
|
||||
AND ( to_number( SDATA.COLLECT_STOP - SDATA.COLLECT_START ) * 24 ) BETWEEN ${collectLow} AND ${collectHigh}
|
||||
AND aux.xe_volume > ${xeVolume}
|
||||
AND xe.nuclide_name = '${nuclideName}'
|
||||
AND sdata.data_type = 'S' THEN 1 ELSE 0 END )
|
||||
+ sum( CASE WHEN sdata.acquisition_live_sec > ${liveQc} AND sdata.data_type = 'Q' THEN 1 ELSE 0 END )
|
||||
+ sum( CASE WHEN ROUND( sdata.acquisition_live_sec / 60 / 60.00, 2 ) BETWEEN ${liveLow} AND ${liveHigh}
|
||||
AND sdata.data_type = 'G' THEN 1 ELSE 0 END)) / ( to_number( TO_DATE( '${curDateTime}', 'YYYY-MM-DD hh24:mi:ss' ) - TO_DATE( '${pretime}', 'YYYY-MM-DD hh24:mi:ss' ) + 1 ) * ${number} ) * 100,2) dataEfficiency
|
||||
FROM
|
||||
ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN RNAUTO.GARDS_XE_RESULTS xe ON xe.sample_id = sdata.sample_id
|
||||
LEFT JOIN ORIGINAL.GARDS_SAMPLE_AUX aux ON aux.sample_id = sdata.sample_id
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta ON sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr( sta.station_code, 3, 1 ) = 'X'
|
||||
AND SDATA.SAMPLE_TYPE = 'B'
|
||||
AND sdata.spectral_qualifie = 'FULL'
|
||||
AND sdata.station_id = #{stationId}
|
||||
AND to_char( sdata.ACQUISITION_START, 'YYYY-MM-DD hh24:mi:ss' ) BETWEEN #{pretime} AND #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionRateSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select
|
||||
(sum(case when SDATA.DATA_TYPE='S' then 1 else 0 end)+sum(case when SDATA.DATA_TYPE='G' then 1 else 0 end)+sum(case when SDATA.DATA_TYPE='Q' and SDATA.SPECTRAL_QUALIFIE='FULL' then 1 else 0 end)) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr( sta.station_code, 3,1)='X'
|
||||
and sta.type='SAUNA'
|
||||
and SDATA.SAMPLE_TYPE='B'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionEfficiencySauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh}
|
||||
and sdata.quantity> ${quantity} and xe.MDC> ${mdc}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh}
|
||||
and aux.xe_volume> ${xeVolume} and xe.nuclide_name= '${nuclideName}' and sdata.data_type='S' then 1 else 0 end)
|
||||
+ sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+ sum(case when ROUND(sdata.acquisition_live_sec/60/60.00,2) BETWEEN ${liveLow} and ${liveHigh} and sdata.data_type='G' then 1 else 0 end)) dataNumber,
|
||||
ROUND((sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh} and sdata.quantity>${quantity} and xe.MDC> ${mdc}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh}
|
||||
and aux.xe_volume> ${xeVolume} and xe.nuclide_name= '${nuclideName}' and sdata.data_type='S' then 1 else 0 end)
|
||||
+ sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+ sum(case when ROUND(sdata.acquisition_live_sec/60/60.00,2) BETWEEN ${liveLow} and ${liveHigh} and sdata.data_type='G' then 1 else 0 end))/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataEfficiency
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN RNAUTO.GARDS_XE_RESULTS xe on xe.sample_id = sdata.sample_id
|
||||
LEFT JOIN ORIGINAL.GARDS_SAMPLE_AUX aux on aux.sample_id = sdata.sample_id
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr( sta.station_code, 3,1)='X' and SDATA.SAMPLE_TYPE='B'
|
||||
and sta.type='SAUNA'
|
||||
and sdata.station_id = #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findMetProvisionSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${met})*100,2) dataRate
|
||||
FROM ORIGINAL.GARDS_MET_DATA mdata
|
||||
<where>
|
||||
STATION_ID = '${stationId}'
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSohProvisionSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${soh})*100,2)dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA mdata
|
||||
<where>
|
||||
STATION_ID = #{stationId}
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdProvisionSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (SUM(case when SDATA.DATA_TYPE = 'S' then 1 else 0 end)
|
||||
+ sum(case when SDATA.DATA_TYPE = 'Q' and SDATA.SPECTRAL_QUALIFIE = 'FULL' then 1 else 0 end)
|
||||
+ sum(case when SDATA.DATA_TYPE = 'G' then 1 else 0 end)) dataNumber
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr( sta.station_code,3,1)='X'
|
||||
and sta.type='SAUNA'
|
||||
and SDATA.SAMPLE_TYPE = 'B'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetProvisionSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(MET.STATION_ID) dataNumber FROM ORIGINAL.GARDS_MET_DATA met
|
||||
<where>
|
||||
MET.STATION_ID = #{stationId}
|
||||
and to_char(MET.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetSohProvisionSauna" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(SOH.STATION_ID) + ${SPHD_NUM} + ${MET_NUM} dataNumber,
|
||||
round((count(SOH.STATION_ID)+2507)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${sphdMetSoh})*100,2) dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA soh
|
||||
<where>
|
||||
SOH.STATION_ID = #{stationId}
|
||||
and to_char(SOH.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdfProvisionRateSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)*${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
sdata.spectral_qualifie='FULL'
|
||||
and substr( sta.station_code, 3,1)='X' and SDATA.SAMPLE_TYPE='G'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdfProvisionEfficiencySpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+sum(case when sdata.data_type='S' and (sdata. acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh} and sdata.quantity>${quantity} then 1 else 0 end)) dataNumber,
|
||||
ROUND((sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+sum(case when sdata.data_type='S' and (sdata. acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh}
|
||||
and sdata.quantity>${quantity} then 1 else 0 end)) / (to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataEfficiency
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN RNAUTO.GARDS_XE_RESULTS xe on xe.sample_id = sdata.sample_id
|
||||
LEFT JOIN ORIGINAL.GARDS_SAMPLE_AUX aux on aux.sample_id = sdata.sample_id
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
sta.type='SPALAX'
|
||||
and SDATA.SAMPLE_TYPE='G'
|
||||
and substr( sta.station_code, 3,1)='X'
|
||||
and sdata.station_id=#{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionRateSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (sum(case when SDATA.DATA_TYPE='S' then 1 else 0 end)+sum(case when SDATA.DATA_TYPE='Q' and SDATA.SPECTRAL_QUALIFIE='FULL' then 1 else 0 end)) dataNumber,
|
||||
ROUND((sum(case when SDATA.DATA_TYPE='S' then 1 else 0 end)
|
||||
+sum(case when SDATA.DATA_TYPE='Q' and SDATA.SPECTRAL_QUALIFIE='FULL' then 1 else 0 end))/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
substr( sta.station_code, 3,1)='X' and SDATA.SAMPLE_TYPE='G'
|
||||
and sta.type='SPALAX'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionEfficiencySpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+sum(case when sdata.data_type='S' and (sdata. acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh} and sdata.quantity>${quantity} then 1 else 0 end)) dataNumber,
|
||||
ROUND((sum(case when sdata.acquisition_live_sec> ${liveQc} and sdata.data_type='Q' and sdata.spectral_qualifie='FULL' then 1 else 0 end)
|
||||
+sum(case when sdata.data_type='S' and (sdata. acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh}
|
||||
and (to_number(SDATA.COLLECT_STOP - SDATA.COLLECT_START)*24) BETWEEN ${collectLow} and ${collectHigh} and sdata.quantity>${quantity} then 1 else 0 end))/ (to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataEfficiency
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
sta.type='SPALAX'
|
||||
and SDATA.SAMPLE_TYPE='G'
|
||||
and substr( sta.station_code, 3,1)='X'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findMetProvisionSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${met})*100,2)dataRate
|
||||
FROM ORIGINAL.GARDS_MET_DATA mdata
|
||||
<where>
|
||||
STATION_ID = '${stationId}'
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSohProvisionSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${soh})*100,2)dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA mdata
|
||||
<where>
|
||||
STATION_ID = #{stationId}
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdProvisionSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select (SUM(case when SDATA.DATA_TYPE = 'S' then 1 else 0 end)
|
||||
+ sum(case when SDATA.DATA_TYPE = 'Q' and SDATA.SPECTRAL_QUALIFIE = 'FULL' then 1 else 0 end)) dataNumber
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
<where>
|
||||
SDATA.SAMPLE_TYPE = 'G'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetProvisionSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(MET.STATION_ID) dataNumber
|
||||
FROM ORIGINAL.GARDS_MET_DATA met
|
||||
<where>
|
||||
MET.STATION_ID = #{stationId}
|
||||
and to_char(MET.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetSohProvisionSpalax" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(SOH.STATION_ID)+ ${SPHD_NUM} + ${MET_NUM} dataNumber,
|
||||
round((count(SOH.STATION_ID)+ ${SPHD_NUM} + ${MET_NUM} )/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${sphdMetSoh})*100,2) dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA soh
|
||||
<where>
|
||||
SOH.STATION_ID = #{stationId}
|
||||
and to_char(SOH.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="findPhdfProvisionRateParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)*${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
SDATA.SPECTRAL_QUALIFIE='FULL'
|
||||
and substr( sta.station_code, 3,1)='P'
|
||||
and SDATA.SAMPLE_TYPE='P'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdfProvisionEfficiencyParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}' ,'YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)*${number})*100,2) dataEfficiency
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN RNAUTO.GARDS_XE_RESULTS xe on xe.sample_id = sdata.sample_id
|
||||
LEFT JOIN ORIGINAL.GARDS_SAMPLE_AUX aux on aux.sample_id = sdata.sample_id
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
sdata.data_type='S'
|
||||
and SDATA.SAMPLE_TYPE='P'
|
||||
and sdata.spectral_qualifie='FULL'
|
||||
and substr( sta.station_code, 3,1)='P'
|
||||
and (sdata. acquisition_live_sec/60/60.00) BETWEEN #{liveLow} and #{liveHigh}
|
||||
and (to_number(sdata.COLLECT_STOP - sdata.COLLECT_START)*24) BETWEEN #{collectLow} and #{collectHigh}
|
||||
and sdata.quantity> #{quantity}
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionRateParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataRate
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
SDATA.DATA_TYPE='S'
|
||||
and substr( sta.station_code, 3,1)='P'
|
||||
and SDATA.SAMPLE_TYPE='P'
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findPhdProvisionEfficiencyParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
select count(sdata.station_id) dataNumber,
|
||||
ROUND(count(sdata.station_id)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${number})*100,2) dataEfficiency
|
||||
from ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta on sta.station_id = sdata.station_id
|
||||
<where>
|
||||
sdata.data_type='S'
|
||||
and SDATA.SAMPLE_TYPE='P'
|
||||
and substr( sta.station_code, 3,1)='P'
|
||||
and (sdata. acquisition_live_sec/60/60.00) BETWEEN #{liveLow} and #{liveHigh}
|
||||
and (to_number(sdata.COLLECT_STOP - sdata.COLLECT_START)*24) BETWEEN #{collectLow} and #{collectHigh}
|
||||
and sdata.quantity> #{quantity}
|
||||
and sdata.station_id= #{stationId}
|
||||
and to_char(sdata.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findMetProvisionParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${met})*100,2)dataRate
|
||||
FROM ORIGINAL.GARDS_MET_DATA mdata
|
||||
<where>
|
||||
STATION_ID = '${stationId}'
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSohProvisionParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT COUNT(STATION_ID) dataNumber,
|
||||
ROUND(COUNT(STATION_ID)/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${soh})*100,2)dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA mdata
|
||||
<where>
|
||||
STATION_ID = #{stationId}
|
||||
AND TO_CHAR(MDATA.START_TIME, 'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdProvisionParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(SDATA.STATION_ID) dataNumber
|
||||
FROM ORIGINAL.GARDS_SAMPLE_DATA sdata
|
||||
<where>
|
||||
sdata.STATION_ID = #{stationId}
|
||||
and SDATA.DATA_TYPE = 'S'
|
||||
and SDATA.SAMPLE_TYPE = 'P'
|
||||
and to_char(SDATA.ACQUISITION_START,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetProvisionParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(MET.STATION_ID) dataNumber
|
||||
FROM ORIGINAL.GARDS_MET_DATA met
|
||||
<where>
|
||||
MET.STATION_ID = #{stationId}
|
||||
and to_char(MET.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="findSphdMetSohProvisionParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
|
||||
SELECT count(SOH.STATION_ID)+ ${SPHD_NUM} + ${MET_NUM} dataNumber,
|
||||
round((count(SOH.STATION_ID)+ ${SPHD_NUM} + ${MET_NUM})/(to_number(TO_DATE('${curDateTime}','YYYY-MM-DD hh24:mi:ss')-TO_DATE('${pretime}','YYYY-MM-DD hh24:mi:ss')+1)* ${sphdMetSoh})*100,2) dataRate
|
||||
FROM ORIGINAL.GARDS_SOH_DATA soh
|
||||
<where>
|
||||
SOH.STATION_ID = #{stationId}
|
||||
and to_char(SOH.START_TIME,'YYYY-MM-DD hh24:mi:ss') BETWEEN #{pretime} and #{curDateTime}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
|
@ -0,0 +1,64 @@
|
|||
package org.jeecg.modules.service;
|
||||
|
||||
import org.jeecg.modules.entity.data.ProvisionData;
|
||||
import org.jeecg.modules.entity.data.StationInfo;
|
||||
|
||||
public interface ICalCulStationDataService {
|
||||
|
||||
StationInfo getStationInfo(String stationCode);
|
||||
|
||||
ProvisionData findPhdfProvisionRateSauna(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencySauna(String liveLow, String liveHigh, String quantity, String mdc, String collectLow, String collectHigh, String xeVolume, String nuclideName, String liveQc, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateSauna(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencySauna(String liveLow, String liveHigh, String quantity, String mdc, String collectLow, String collectHigh, String xeVolume, String nuclideName, String liveQc, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findMetProvisionSauna(String curDateTime, String pretime, String met, String stationId);
|
||||
|
||||
ProvisionData findSohProvisionSauna(String curDateTime, String pretime, String soh, String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionSauna(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionSauna(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionSauna(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh,String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencySpalax(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencySpalax(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findMetProvisionSpalax(String curDateTime, String pretime, String met, String stationId);
|
||||
|
||||
ProvisionData findSohProvisionSpalax(String curDateTime, String pretime, String soh, String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionSpalax(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionSpalax(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionSpalax(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh,String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdfProvisionEfficiencyParticulate(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findPhdProvisionEfficiencyParticulate(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String curDateTime, String pretime, String number, String stationId);
|
||||
|
||||
ProvisionData findMetProvisionParticulate(String curDateTime, String pretime, String met, String stationId);
|
||||
|
||||
ProvisionData findSohProvisionParticulate(String curDateTime, String pretime, String soh, String stationId);
|
||||
|
||||
ProvisionData findSphdProvisionParticulate(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetProvisionParticulate(String curDateTime, String pretime, String stationId);
|
||||
|
||||
ProvisionData findSphdMetSohProvisionParticulate(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh,String stationId);
|
||||
|
||||
}
|
|
@ -2,10 +2,8 @@ package org.jeecg.modules.service;
|
|||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.Point;
|
||||
import org.jeecg.modules.entity.PointVo;
|
||||
import org.jeecg.modules.entity.StationOperation;
|
||||
import org.jeecg.modules.system.entity.GardsNuclearfacility;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -52,4 +50,10 @@ public interface IStationOperationService extends IService<StationOperation> {
|
|||
*/
|
||||
Result getDataReceivingStatus(String userId);
|
||||
|
||||
/**
|
||||
* 获取台站数据的提供率及有效率
|
||||
* @return
|
||||
*/
|
||||
Result getDataProvisionEfficiency();
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,444 @@
|
|||
package org.jeecg.modules.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import org.jeecg.modules.entity.data.ProvisionData;
|
||||
import org.jeecg.modules.entity.data.StationInfo;
|
||||
import org.jeecg.modules.mapper.CalCulStationInfoMapper;
|
||||
import org.jeecg.modules.service.ICalCulStationDataService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service("calCulStationDataService")
|
||||
@DS("ora")
|
||||
public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
|
||||
|
||||
@Autowired
|
||||
private CalCulStationInfoMapper calCulStationInfoMapper;
|
||||
|
||||
@Override
|
||||
public StationInfo getStationInfo(String stationCode) {
|
||||
StationInfo stationInfo = calCulStationInfoMapper.getStationInfo(stationCode);
|
||||
return stationInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询phdf的数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionRateSauna(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData provisionRate = calCulStationInfoMapper.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
return provisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询phdf的数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param mdc
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param xeVolume
|
||||
* @param nuclideName
|
||||
* @param liveQc
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionEfficiencySauna(String liveLow, String liveHigh, String quantity, String mdc, String collectLow, String collectHigh, String xeVolume, String nuclideName, String liveQc, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData provisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
|
||||
return provisionEfficiency;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PHD数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionRateSauna(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData provisionRate = calCulStationInfoMapper.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
|
||||
return provisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PHD数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param mdc
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param xeVolume
|
||||
* @param nuclideName
|
||||
* @param liveQc
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionEfficiencySauna(String liveLow, String liveHigh, String quantity, String mdc, String collectLow, String collectHigh, String xeVolume, String nuclideName, String liveQc, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData provisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
|
||||
return provisionEfficiency;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 查询MET数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param met
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findMetProvisionSauna(String curDateTime, String pretime, String met, String stationId) {
|
||||
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionSauna(curDateTime, pretime, met, stationId);
|
||||
return metProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SOH数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param soh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSohProvisionSauna(String curDateTime, String pretime, String soh, String stationId) {
|
||||
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
|
||||
return sohProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPHD MET SOh数据提供率 SPHD
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdProvisionSauna(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionSauna(curDateTime, pretime, stationId);
|
||||
return sphdProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPHD MET SOh数据提供率 MET
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetProvisionSauna(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSauna(curDateTime, pretime, stationId);
|
||||
return sphdMetProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPHD MET SOh数据提供率
|
||||
* @param SPHD_NUM
|
||||
* @param MET_NUM
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param sphdMetSoh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetSohProvisionSauna(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh, String stationId) {
|
||||
ProvisionData sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionSauna(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
return sphdMetSohProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX PHDF数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
return phdfProvisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX PHDF数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param liveQc
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionEfficiencySpalax(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
|
||||
return phdfProvisionEfficiency;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX PHD数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
|
||||
return phdProvisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX PHD数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param liveQc
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionEfficiencySpalax(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
|
||||
return phdProvisionEfficiency;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX MET数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param met
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findMetProvisionSpalax(String curDateTime, String pretime, String met, String stationId) {
|
||||
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
|
||||
return metProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX SOH数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param soh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSohProvisionSpalax(String curDateTime, String pretime, String soh, String stationId) {
|
||||
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
|
||||
return sohProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX SPHD MET SOH数据提供率 SPHD
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdProvisionSpalax(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionSpalax(curDateTime, pretime, stationId);
|
||||
return sphdProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX SPHD MET SOH数据提供率 MET
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetProvisionSpalax(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSpalax(curDateTime, pretime, stationId);
|
||||
return sphdMetProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询SPALAX SPHD MET SOH数据提供率
|
||||
* @param SPHD_NUM
|
||||
* @param MET_NUM
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param sphdMetSoh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetSohProvisionSpalax(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh, String stationId) {
|
||||
ProvisionData sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionSpalax(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
return sphdMetSohProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE PHDF数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
return phdfProvisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE PHDF数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdfProvisionEfficiencyParticulate(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
|
||||
return phdfProvisionEfficiency;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE PHD数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
|
||||
return phdProvisionRate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE PHD数据提供率
|
||||
* @param liveLow
|
||||
* @param liveHigh
|
||||
* @param quantity
|
||||
* @param collectLow
|
||||
* @param collectHigh
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param number
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findPhdProvisionEfficiencyParticulate(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String curDateTime, String pretime, String number, String stationId) {
|
||||
ProvisionData phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
|
||||
return phdProvisionEfficiency;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE MET数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param met
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findMetProvisionParticulate(String curDateTime, String pretime, String met, String stationId) {
|
||||
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
|
||||
return metProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE SOH数据提供率
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param soh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSohProvisionParticulate(String curDateTime, String pretime, String soh, String stationId) {
|
||||
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
|
||||
return sohProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE SPHD MET SOH数据提供率 SPHD
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdProvisionParticulate(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionParticulate(curDateTime, pretime, stationId);
|
||||
return sphdProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE SPHD MET SOH数据提供率 MET
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetProvisionParticulate(String curDateTime, String pretime, String stationId) {
|
||||
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionParticulate(curDateTime, pretime, stationId);
|
||||
return sphdMetProvision;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询PARTICULATE SPHD MET SOH数据提供率
|
||||
* @param SPHD_NUM
|
||||
* @param MET_NUM
|
||||
* @param curDateTime
|
||||
* @param pretime
|
||||
* @param sphdMetSoh
|
||||
* @param stationId
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public ProvisionData findSphdMetSohProvisionParticulate(String SPHD_NUM, String MET_NUM, String curDateTime, String pretime, String sphdMetSoh, String stationId) {
|
||||
ProvisionData sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionParticulate(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
|
||||
return sphdMetSohProvision;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -8,6 +8,7 @@ import com.spatial4j.core.context.SpatialContext;
|
|||
import com.spatial4j.core.distance.DistanceUtils;
|
||||
import com.spatial4j.core.shape.Rectangle;
|
||||
import org.jeecg.common.CacheName;
|
||||
import org.jeecg.common.CalculateStationData;
|
||||
import org.jeecg.common.PointUtil;
|
||||
import org.jeecg.common.StationTypeUtil;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
|
@ -16,13 +17,14 @@ import org.jeecg.modules.base.entity.GardsMetData;
|
|||
import org.jeecg.modules.base.entity.GardsSampleData;
|
||||
import org.jeecg.modules.base.entity.GardsSohData;
|
||||
import org.jeecg.modules.entity.*;
|
||||
import org.jeecg.modules.entity.data.RateParam;
|
||||
import org.jeecg.modules.entity.data.StationInfo;
|
||||
import org.jeecg.modules.mapper.*;
|
||||
import org.jeecg.modules.service.ICacheTimeService;
|
||||
import org.jeecg.modules.service.IStationOperationService;
|
||||
import org.jeecg.modules.system.entity.GardsDetectors;
|
||||
import org.jeecg.modules.system.entity.GardsNuclearfacility;
|
||||
import org.jeecg.modules.system.entity.GardsStations;
|
||||
import org.jeecg.modules.service.IStationOperationService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
@ -30,7 +32,6 @@ import java.io.*;
|
|||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service("stationOperationService")
|
||||
|
@ -49,6 +50,8 @@ public class StationOperationServiceImpl extends ServiceImpl<StationOperationMap
|
|||
private SysUserFocusStationMapper sysUserFocusStationMapper;
|
||||
@Autowired
|
||||
private StationTypeUtil stationTypeUtil;
|
||||
@Autowired
|
||||
private CalculateStationData calCulateStationData;
|
||||
|
||||
private final SpatialContext spatialContext = SpatialContext.GEO;
|
||||
|
||||
|
@ -326,6 +329,33 @@ public class StationOperationServiceImpl extends ServiceImpl<StationOperationMap
|
|||
return dest;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取外接正方形的最大最小经纬度
|
||||
*
|
||||
* @param radius 半径/距离
|
||||
* @param longitude 圆心经度
|
||||
* @param latitude 圆心纬度
|
||||
*/
|
||||
private Rectangle getRectangle(Double radius, Double longitude, Double latitude) {
|
||||
return spatialContext.getDistCalc()
|
||||
.calcBoxByDistFromPt(spatialContext.makePoint(longitude, latitude),
|
||||
radius * DistanceUtils.KM_TO_DEG, spatialContext, null);
|
||||
}
|
||||
|
||||
/***
|
||||
* 球面中,两点间的距离
|
||||
*
|
||||
* @param lon 设备经度
|
||||
* @param lat 设备纬度
|
||||
* @param longitude 圆心经度
|
||||
* @param latitude 圆心纬度
|
||||
* @return 返回距离,单位km
|
||||
*/
|
||||
private double getDistance(Double lon, Double lat, double longitude, double latitude) {
|
||||
return spatialContext.calcDistance(spatialContext.makePoint(longitude, latitude),
|
||||
spatialContext.makePoint(lon, lat)) * DistanceUtils.DEG_TO_KM;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Result getDataReceivingStatus(String userId) {
|
||||
Result result = new Result();
|
||||
|
@ -486,31 +516,25 @@ public class StationOperationServiceImpl extends ServiceImpl<StationOperationMap
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取外接正方形的最大最小经纬度
|
||||
*
|
||||
* @param radius 半径/距离
|
||||
* @param longitude 圆心经度
|
||||
* @param latitude 圆心纬度
|
||||
*/
|
||||
private Rectangle getRectangle(Double radius, Double longitude, Double latitude) {
|
||||
return spatialContext.getDistCalc()
|
||||
.calcBoxByDistFromPt(spatialContext.makePoint(longitude, latitude),
|
||||
radius * DistanceUtils.KM_TO_DEG, spatialContext, null);
|
||||
}
|
||||
|
||||
/***
|
||||
* 球面中,两点间的距离
|
||||
*
|
||||
* @param lon 设备经度
|
||||
* @param lat 设备纬度
|
||||
* @param longitude 圆心经度
|
||||
* @param latitude 圆心纬度
|
||||
* @return 返回距离,单位km
|
||||
*/
|
||||
private double getDistance(Double lon, Double lat, double longitude, double latitude) {
|
||||
return spatialContext.calcDistance(spatialContext.makePoint(longitude, latitude),
|
||||
spatialContext.makePoint(lon, lat)) * DistanceUtils.DEG_TO_KM;
|
||||
@Override
|
||||
public Result getDataProvisionEfficiency() {
|
||||
Result result = new Result();
|
||||
//获取所有的台站信息
|
||||
HashMap<String, GardsStations> stationInfoMap = (HashMap<String, GardsStations>) redisUtil.get("stationInfoMap");
|
||||
//获取所有的台站信息
|
||||
List<GardsStations> stations = stationInfoMap.values().stream().collect(Collectors.toList());
|
||||
List<StationInfo> stationInfos = new ArrayList<>();
|
||||
for (GardsStations gardsStations:stations) {
|
||||
StationInfo stationInfo = new StationInfo();
|
||||
stationInfo.setStationCode(gardsStations.getStationCode());
|
||||
stationInfo.setCountryCode(gardsStations.getCountryCode());
|
||||
stationInfos.add(stationInfo);
|
||||
}
|
||||
RateParam mRateParam = calCulateStationData.initParameter();
|
||||
List<StationInfo> stationInfoList = calCulateStationData.mutiThreadGetStationInfo(stationInfos,mRateParam);
|
||||
result.setSuccess(true);
|
||||
result.setResult(stationInfoList);
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,16 +1,11 @@
|
|||
package org.jeecg.common.util;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.net.ftp.FTPClient;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
|
|
|
@ -4,21 +4,14 @@ import io.swagger.annotations.Api;
|
|||
import io.swagger.annotations.ApiOperation;
|
||||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.base.entity.GardsMetData;
|
||||
import org.jeecg.modules.base.entity.GardsSampleData;
|
||||
import org.jeecg.modules.base.entity.GardsSohData;
|
||||
import org.jeecg.modules.service.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("webStatistics")
|
||||
|
|
|
@ -7,8 +7,6 @@ import lombok.Data;
|
|||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
|
|
|
@ -7,7 +7,6 @@ import lombok.Data;
|
|||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.jeecg.modules.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
import org.jeecg.modules.entity.GardsSampleCertLine;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package org.jeecg.modules.entity.data;
|
||||
|
||||
import lombok.Data;
|
||||
import org.apache.poi.ss.formula.functions.T;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
|
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.GardsAnalyses;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
|
|
@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.base.entity.GardsMetData;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public interface IGardsMetDataService extends IService<GardsMetData> {
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@ import org.jeecg.common.api.vo.Result;
|
|||
import org.jeecg.modules.base.entity.GardsSohData;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
public interface IGardsSohDataService extends IService<GardsSohData> {
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
|||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.GardsAnalyses;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.modules.entity.GardsAnalyses;
|
||||
import org.jeecg.modules.base.entity.GardsSampleData;
|
||||
import org.jeecg.modules.mapper.GardsAnalysesMapper;
|
||||
import org.jeecg.modules.service.IAutoService;
|
||||
import org.jeecg.modules.service.IGardsSampleDataService;
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.jeecg.modules.service.impl;
|
|||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.jeecg.common.api.QueryRequest;
|
||||
|
@ -11,13 +10,11 @@ import org.jeecg.common.util.DateUtils;
|
|||
import org.jeecg.modules.base.entity.GardsMetData;
|
||||
import org.jeecg.modules.mapper.GardsMetDataMapper;
|
||||
import org.jeecg.modules.service.IGardsMetDataService;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service("gardsMetDataService")
|
||||
|
|
|
@ -11,8 +11,8 @@ import org.jeecg.common.api.vo.Result;
|
|||
import org.jeecg.common.util.DateUtils;
|
||||
import org.jeecg.common.util.ReadLineUtil;
|
||||
import org.jeecg.common.util.RedisUtil;
|
||||
import org.jeecg.modules.entity.*;
|
||||
import org.jeecg.modules.base.entity.GardsSampleData;
|
||||
import org.jeecg.modules.entity.*;
|
||||
import org.jeecg.modules.entity.data.*;
|
||||
import org.jeecg.modules.mapper.*;
|
||||
import org.jeecg.modules.service.IGardsSampleDataService;
|
||||
|
|
|
@ -2,10 +2,8 @@ package org.jeecg.modules.service.impl;
|
|||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.util.DateUtils;
|
||||
|
@ -17,7 +15,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.*;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service("gardsSohDataService")
|
||||
@DS("ori")
|
||||
|
|
|
@ -2,7 +2,6 @@ package org.jeecg.modules.service.impl;
|
|||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringPool;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
|
@ -16,7 +15,10 @@ import org.jeecg.modules.system.entity.GardsStations;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service("sysDictService")
|
||||
|
|
|
@ -4,14 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableField;
|
|||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
import org.jeecg.config.valid.InsertGroup;
|
||||
import org.jeecg.config.valid.UpdateGroup;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
|
|
|
@ -7,8 +7,6 @@ import lombok.Data;
|
|||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
@Data
|
||||
|
|
Loading…
Reference in New Issue
Block a user