添加PostgreSQL查询台站数据提供率及有效率

This commit is contained in:
duwenyuan 2025-06-03 14:18:20 +08:00
parent fca0d24868
commit b38c4abb0d
5 changed files with 910 additions and 97 deletions

View File

@ -1,5 +1,6 @@
package org.jeecg.modules;
import cn.hutool.core.util.RandomUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.constant.RedisConstant;
@ -16,6 +17,7 @@ import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
/**
@ -39,12 +41,12 @@ public class AutoProcessManager{
/**
* 以邮件Id为key邮件信息为value
*/
private Map<String,EmailProperties> emailMap = new HashMap<>();
private Map<String,EmailProperties> emailMap = new ConcurrentHashMap<>();
/**
* 以邮件id为key以邮件执行线程为value
*/
private Map<String,EmailParsingActuator> emailExecThreadMap = new HashMap<>();
private Map<String,EmailParsingActuator> emailExecThreadMap = new ConcurrentHashMap<>();
/**
* 启动自动处理
@ -81,34 +83,39 @@ public class AutoProcessManager{
public void run() {
for(;;){
long start = System.currentTimeMillis();
if(!CollectionUtils.isEmpty(emailMap)){
synchronized (lock){
Iterator<EmailProperties> iterator = emailMap.values().iterator();
while(iterator.hasNext()){
EmailProperties next = iterator.next();
if (next.isResetFlag()) {
EmailParsingActuator actuator = emailExecThreadMap.get(next.getId());
actuator.updateEmail(next);
next.setResetFlag(false);
}
if(next.isNewEmailFlag()){
// 网络正常之后才允许创建新的实例
final EmailServiceManager emailServiceManager = EmailServiceManager.getInstance();
emailServiceManager.init(next);
boolean testFlag = emailServiceManager.testConnectEmailServer();
if(testFlag){
EmailParsingActuator emailParsingActuator = new EmailParsingActuator();
emailParsingActuator.init(next,spectrumServiceQuotes,emailCounter,systemStartupTime);
emailParsingActuator.setName(next.getUsername()+"-email-monitor");
emailParsingActuator.start();
//把邮件监测执行线程加入管理队列
emailExecThreadMap.put(next.getId(),emailParsingActuator);
//新邮件监测监测线程已启动则修改新邮件标记为false
next.setNewEmailFlag(false);
try {
if(!CollectionUtils.isEmpty(emailMap)){
synchronized (lock){
Iterator<EmailProperties> iterator = emailMap.values().iterator();
while(iterator.hasNext()){
EmailProperties next = iterator.next();
if (next.isResetFlag()) {
EmailParsingActuator actuator = emailExecThreadMap.get(next.getId());
actuator.updateEmail(next);
next.setResetFlag(false);
}
if(next.isNewEmailFlag()){
// 网络正常之后才允许创建新的实例
final EmailServiceManager emailServiceManager = EmailServiceManager.getInstance();
emailServiceManager.init(next);
boolean testFlag = emailServiceManager.testConnectEmailServer();
if(testFlag){
EmailParsingActuator emailParsingActuator = new EmailParsingActuator();
emailParsingActuator.init(next,spectrumServiceQuotes,emailCounter,systemStartupTime);
emailParsingActuator.setName(next.getUsername()+"-email-monitor");
emailParsingActuator.start();
//把邮件监测执行线程加入管理队列
emailExecThreadMap.put(next.getId(),emailParsingActuator);
//新邮件监测监测线程已启动则修改新邮件标记为false
next.setNewEmailFlag(false);
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
long end = System.currentTimeMillis();
long sleepTime = taskProperties.getMonitoringMailDataCycle() - (end-start);
@ -281,46 +288,52 @@ public class AutoProcessManager{
public void run() {
for(;;){
long start = System.currentTimeMillis();
if(!CollectionUtils.isEmpty(emailExecThreadMap)){
//遍历邮箱执行线程如果状态为已停止则删除
final Iterator<Map.Entry<String, EmailParsingActuator>> checkStopThreads = emailExecThreadMap.entrySet().iterator();
while (checkStopThreads.hasNext()){
final Map.Entry<String, EmailParsingActuator> next = checkStopThreads.next();
if(next.getValue().getState() == State.TERMINATED){
log.info("{}邮箱执行线程已停止emailExecThreadMap删除此邮箱数据",next.getValue().getEmailProperties().getUsername());
checkStopThreads.remove();
emailMap.remove(next.getKey());
try {
if(!CollectionUtils.isEmpty(emailExecThreadMap)){
//遍历邮箱执行线程如果状态为已停止则删除
final Iterator<Map.Entry<String, EmailParsingActuator>> checkStopThreads = emailExecThreadMap.entrySet().iterator();
while (checkStopThreads.hasNext()){
final Map.Entry<String, EmailParsingActuator> next = checkStopThreads.next();
if(next.getValue().getState() == State.TERMINATED){
log.info("{}邮箱执行线程已停止emailExecThreadMap删除此邮箱数据",next.getValue().getEmailProperties().getUsername());
checkStopThreads.remove();
emailMap.remove(next.getKey());
}
}
}
//遍历邮箱执行线程如果邮箱执行线程stop属性已被设置为true则关闭资源停止线程
final Iterator<Map.Entry<String, EmailParsingActuator>> iterator = emailExecThreadMap.entrySet().iterator();
emailExecThreadMap.forEach((emailId,emailExecThread)->{
try{
if(emailExecThread.getState() != State.TERMINATED && emailExecThread.isStop()){
final long nowTime = System.currentTimeMillis();
final long setStoptime = emailExecThread.getStopTime().getTime();
final long val = nowTime - setStoptime;
if(val >= taskProperties.getForceDeletedTime()){
log.info("关闭{}邮箱线程内部线程池资源",emailExecThread.getEmailProperties().getUsername());
emailExecThread.closeResource();
//遍历邮箱执行线程如果邮箱执行线程stop属性已被设置为true则关闭资源停止线程
final Iterator<Map.Entry<String, EmailParsingActuator>> iterator = emailExecThreadMap.entrySet().iterator();
emailExecThreadMap.forEach((emailId,emailExecThread)->{
try{
log.info("当前线程状态:{}", emailExecThread.getState());
if(emailExecThread.getState() != State.TERMINATED && emailExecThread.isStop()){
final long nowTime = System.currentTimeMillis();
final long setStoptime = emailExecThread.getStopTime().getTime();
final long val = nowTime - setStoptime;
if(val >= taskProperties.getForceDeletedTime()){
log.info("关闭{}邮箱线程内部线程池资源",emailExecThread.getEmailProperties().getUsername());
emailExecThread.closeResource();
}
}
}catch (Exception e){
e.printStackTrace();
log.error(e.getMessage(), e);
}finally {
if(emailExecThread.getState() != State.TERMINATED && emailExecThread.isStop()){
final long nowTime = System.currentTimeMillis();
final long setStoptime = emailExecThread.getStopTime().getTime();
final long val = nowTime - setStoptime;
if(val >= taskProperties.getForceDeletedTime()){
log.info("强制停止{}邮箱线程",emailExecThread.getEmailProperties().getUsername());
emailExecThread.stop();
}
}
}
}catch (Exception e){
e.printStackTrace();
log.error(e.getMessage(), e);
}finally {
if(emailExecThread.getState() != State.TERMINATED && emailExecThread.isStop()){
final long nowTime = System.currentTimeMillis();
final long setStoptime = emailExecThread.getStopTime().getTime();
final long val = nowTime - setStoptime;
if(val >= taskProperties.getForceDeletedTime()){
log.info("强制停止{}邮箱线程",emailExecThread.getEmailProperties().getUsername());
emailExecThread.stop();
}
}
}
});
});
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage(), e);
}
long end = System.currentTimeMillis();
long sleepTime = taskProperties.getDeletedMailThreadExecCycle() - (end-start);

View File

@ -0,0 +1,84 @@
package org.jeecg.modules.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.entity.data.ProvisionData;
import org.jeecg.modules.entity.data.StationInfo;
import java.util.List;
@Mapper
public interface CalCulStationInfoPgMapper {
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);
List<Integer> getUsed(Integer stationId);
//region 新加计算台站类型数据提供率
ProvisionData findPhdfProvisionRateSauna2(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
ProvisionData findPhdProvisionRateSauna2(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
ProvisionData findPhdProvisionEfficiencySauna2(@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 findSphdProvisionSauna2(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("stationId") String stationId);
ProvisionData findPhdfProvisionEfficiencySpalaxPLC(@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 findPhdProvisionRateSpalaxPLC(@Param("curDateTime") String curDateTime, @Param("pretime") String pretime, @Param("number") String number, @Param("stationId") String stationId);
ProvisionData findPhdProvisionEfficiencySpalaxPLC(@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);
//endregion
}

View File

@ -519,5 +519,4 @@
<select id="getUsed" resultType="java.lang.Integer">
SELECT DETECTOR_ID FROM CONFIGURATION.GARDS_DETECTORS WHERE STATION_ID = #{stationId} AND STATUS = 'Operating'
</select>
</mapper>

View File

@ -0,0 +1,522 @@
<?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.CalCulStationInfoPgMapper">
<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)/(ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,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.EFFIC_CALCUL_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="findPhdfProvisionRateSauna2" resultType="org.jeecg.modules.entity.data.ProvisionData">
select
count(sdata.station_id) dataNumber,
ROUND(count(sdata.station_id)/(ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,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.EFFIC_CALCUL_TYPE='SAUNA2'
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 ( ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1) * 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 ( ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1) * 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)) / ( (ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findPhdProvisionRateSauna2" 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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_TYPE='SAUNA2'
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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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))/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findPhdProvisionEfficiencySauna2" 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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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))/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_TYPE='SAUNA2'
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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findSphdProvisionSauna2" 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.EFFIC_CALCUL_TYPE='SAUNA2'
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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*24) BETWEEN ${collectLow} and ${collectHigh}
and sdata.quantity>${quantity} then 1 else 0 end)) / ((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findPhdfProvisionEfficiencySpalaxPLC" 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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*24) BETWEEN ${collectLow} and ${collectHigh}
and sdata.quantity>${quantity} then 1 else 0 end)) / ((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_TYPE='SPALAX_PLC'
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))/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findPhdProvisionRateSpalaxPLC" 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))/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_TYPE='SPALAX_PLC'
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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*24) BETWEEN ${collectLow} and ${collectHigh} and sdata.quantity>${quantity} then 1 else 0 end))/ ((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_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="findPhdProvisionEfficiencySpalaxPLC" 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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*24) BETWEEN ${collectLow} and ${collectHigh} and sdata.quantity>${quantity} then 1 else 0 end))/ ((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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.EFFIC_CALCUL_TYPE='SPALAX_PLC'
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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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} )/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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 (ROUND(EXTRACT(EPOCH FROM (SDATA.COLLECT_STOP - SDATA.COLLECT_START ))/86400,1)*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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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)/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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})/((ROUND(EXTRACT(EPOCH FROM (to_timestamp('${curDateTime}', 'yyyy-MM-dd HH24:mi:ss')-to_timestamp('${pretime}', 'yyyy-MM-dd HH24:mi:ss'))) / 86400,1)+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="getUsed" resultType="java.lang.Integer">
SELECT DETECTOR_ID FROM CONFIGURATION.GARDS_DETECTORS WHERE STATION_ID = #{stationId} AND STATUS = 'Operating'
</select>
</mapper>

View File

@ -1,16 +1,22 @@
package org.jeecg.modules.service.impl;
import com.baomidou.dynamic.datasource.DynamicRoutingDataSource;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import org.jeecg.modules.entity.data.ProvisionData;
import org.jeecg.modules.entity.data.StationInfo;
import org.jeecg.modules.mapper.CalCulStationInfoMapper;
import org.jeecg.modules.mapper.CalCulStationInfoPgMapper;
import org.jeecg.modules.service.ICalCulStationDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.PostConstruct;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.List;
import java.util.Objects;
@ -20,6 +26,20 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
@Autowired
private CalCulStationInfoMapper calCulStationInfoMapper;
@Autowired
private CalCulStationInfoPgMapper calCulStationInfoPgMapper;
@Autowired
private DataSource dataSource;
private DbType databaseType;
@PostConstruct
public void initDbType() throws SQLException {
DynamicRoutingDataSource ds = (DynamicRoutingDataSource) dataSource;
String databaseProductName = ds.getDataSource("ora").getConnection().getMetaData().getDatabaseProductName();
databaseType = DbType.getDbType(databaseProductName);
}
@Override
public StationInfo getStationInfo(String stationCode) {
@ -38,7 +58,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdfProvisionRateSauna(String curDateTime, String pretime, String number, String stationId) {
ProvisionData provisionRate = calCulStationInfoMapper.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
ProvisionData provisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionRate = calCulStationInfoPgMapper.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionRate = calCulStationInfoMapper.findPhdfProvisionRateSauna(curDateTime, pretime, number, stationId);
}
return provisionRate;
}
@ -62,7 +87,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData provisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionEfficiency = calCulStationInfoPgMapper.findPhdfProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
}
return provisionEfficiency;
}
@ -77,7 +107,13 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdProvisionRateSauna(String curDateTime, String pretime, String number, String stationId) {
ProvisionData provisionRate = calCulStationInfoMapper.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
ProvisionData provisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionRate = calCulStationInfoPgMapper.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionRate = calCulStationInfoMapper.findPhdProvisionRateSauna(curDateTime, pretime, number, stationId);
}
return provisionRate;
}
@ -101,7 +137,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData provisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionEfficiency = calCulStationInfoPgMapper.findPhdProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySauna(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
}
return provisionEfficiency;
}
@ -117,7 +158,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findMetProvisionSauna(String curDateTime, String pretime, String met, String stationId) {
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionSauna(curDateTime, pretime, met, stationId);
ProvisionData metProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
metProvision = calCulStationInfoPgMapper.findMetProvisionSauna(curDateTime, pretime, met, stationId);
} else if (databaseType== DbType.ORACLE) {
metProvision = calCulStationInfoMapper.findMetProvisionSauna(curDateTime, pretime, met, stationId);
}
return metProvision;
}
@ -132,7 +178,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSohProvisionSauna(String curDateTime, String pretime, String soh, String stationId) {
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
ProvisionData sohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sohProvision = calCulStationInfoPgMapper.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
} else if (databaseType== DbType.ORACLE) {
sohProvision = calCulStationInfoMapper.findSohProvisionSauna(curDateTime, pretime, soh, stationId);
}
return sohProvision;
}
@ -146,7 +197,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdProvisionSauna(String curDateTime, String pretime, String stationId) {
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionSauna(curDateTime, pretime, stationId);
ProvisionData sphdProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdProvision = calCulStationInfoPgMapper.findSphdProvisionSauna(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdProvision = calCulStationInfoMapper.findSphdProvisionSauna(curDateTime, pretime, stationId);
}
return sphdProvision;
}
@ -160,7 +216,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdMetProvisionSauna(String curDateTime, String pretime, String stationId) {
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSauna(curDateTime, pretime, stationId);
ProvisionData sphdMetProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetProvision = calCulStationInfoPgMapper.findSphdMetProvisionSauna(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSauna(curDateTime, pretime, stationId);
}
return sphdMetProvision;
}
@ -177,7 +238,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData sphdMetSohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetSohProvision = calCulStationInfoPgMapper.findSphdMetSohProvisionSauna(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionSauna(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
}
return sphdMetSohProvision;
}
@ -192,7 +258,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdfProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
ProvisionData phdfProvisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdfProvisionRate = calCulStationInfoPgMapper.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateSpalax(curDateTime, pretime, number, stationId);
}
return phdfProvisionRate;
}
@ -213,7 +284,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData phdfProvisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdfProvisionEfficiency = calCulStationInfoPgMapper.findPhdfProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
}
return phdfProvisionEfficiency;
}
@ -228,7 +304,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdProvisionRateSpalax(String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
ProvisionData phdProvisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionRate = calCulStationInfoPgMapper.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateSpalax(curDateTime, pretime, number, stationId);
}
return phdProvisionRate;
}
@ -249,7 +330,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData phdProvisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionEfficiency = calCulStationInfoPgMapper.findPhdProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySpalax(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
}
return phdProvisionEfficiency;
}
@ -264,7 +350,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findMetProvisionSpalax(String curDateTime, String pretime, String met, String stationId) {
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
ProvisionData metProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
metProvision = calCulStationInfoPgMapper.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
} else if (databaseType== DbType.ORACLE) {
metProvision = calCulStationInfoMapper.findMetProvisionSpalax(curDateTime, pretime, met, stationId);
}
return metProvision;
}
@ -279,7 +370,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSohProvisionSpalax(String curDateTime, String pretime, String soh, String stationId) {
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
ProvisionData sohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sohProvision = calCulStationInfoPgMapper.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
} else if (databaseType== DbType.ORACLE) {
sohProvision = calCulStationInfoMapper.findSohProvisionSpalax(curDateTime, pretime, soh, stationId);
}
return sohProvision;
}
@ -293,7 +389,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdProvisionSpalax(String curDateTime, String pretime, String stationId) {
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionSpalax(curDateTime, pretime, stationId);
ProvisionData sphdProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdProvision = calCulStationInfoPgMapper.findSphdProvisionSpalax(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdProvision = calCulStationInfoMapper.findSphdProvisionSpalax(curDateTime, pretime, stationId);
}
return sphdProvision;
}
@ -307,7 +408,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdMetProvisionSpalax(String curDateTime, String pretime, String stationId) {
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSpalax(curDateTime, pretime, stationId);
ProvisionData sphdMetProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetProvision = calCulStationInfoPgMapper.findSphdMetProvisionSpalax(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionSpalax(curDateTime, pretime, stationId);
}
return sphdMetProvision;
}
@ -324,7 +430,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData sphdMetSohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetSohProvision = calCulStationInfoPgMapper.findSphdMetSohProvisionSpalax(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionSpalax(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
}
return sphdMetSohProvision;
}
@ -339,7 +450,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdfProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
ProvisionData phdfProvisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdfProvisionRate = calCulStationInfoPgMapper.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdfProvisionRate = calCulStationInfoMapper.findPhdfProvisionRateParticulate(curDateTime, pretime, number, stationId);
}
return phdfProvisionRate;
}
@ -359,7 +475,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData phdfProvisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdfProvisionEfficiency = calCulStationInfoPgMapper.findPhdfProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
}
return phdfProvisionEfficiency;
}
@ -374,7 +495,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findPhdProvisionRateParticulate(String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
ProvisionData phdProvisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionRate = calCulStationInfoPgMapper.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateParticulate(curDateTime, pretime, number, stationId);
}
return phdProvisionRate;
}
@ -394,7 +520,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData phdProvisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionEfficiency = calCulStationInfoPgMapper.findPhdProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencyParticulate(liveLow, liveHigh, quantity, collectLow, collectHigh, curDateTime, pretime, number, stationId);
}
return phdProvisionEfficiency;
}
@ -409,7 +540,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findMetProvisionParticulate(String curDateTime, String pretime, String met, String stationId) {
ProvisionData metProvision = calCulStationInfoMapper.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
ProvisionData metProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
metProvision = calCulStationInfoPgMapper.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
} else if (databaseType== DbType.ORACLE) {
metProvision = calCulStationInfoMapper.findMetProvisionParticulate(curDateTime, pretime, met, stationId);
}
return metProvision;
}
@ -424,7 +560,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSohProvisionParticulate(String curDateTime, String pretime, String soh, String stationId) {
ProvisionData sohProvision = calCulStationInfoMapper.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
ProvisionData sohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sohProvision = calCulStationInfoPgMapper.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
} else if (databaseType== DbType.ORACLE) {
sohProvision = calCulStationInfoMapper.findSohProvisionParticulate(curDateTime, pretime, soh, stationId);
}
return sohProvision;
}
@ -438,7 +579,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdProvisionParticulate(String curDateTime, String pretime, String stationId) {
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionParticulate(curDateTime, pretime, stationId);
ProvisionData sphdProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdProvision = calCulStationInfoPgMapper.findSphdProvisionParticulate(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdProvision = calCulStationInfoMapper.findSphdProvisionParticulate(curDateTime, pretime, stationId);
}
return sphdProvision;
}
@ -452,7 +598,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@Override
public ProvisionData findSphdMetProvisionParticulate(String curDateTime, String pretime, String stationId) {
ProvisionData sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionParticulate(curDateTime, pretime, stationId);
ProvisionData sphdMetProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetProvision = calCulStationInfoPgMapper.findSphdMetProvisionParticulate(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetProvision = calCulStationInfoMapper.findSphdMetProvisionParticulate(curDateTime, pretime, stationId);
}
return sphdMetProvision;
}
@ -469,7 +620,12 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
*/
@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);
ProvisionData sphdMetSohProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdMetSohProvision = calCulStationInfoPgMapper.findSphdMetSohProvisionParticulate(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdMetSohProvision = calCulStationInfoMapper.findSphdMetSohProvisionParticulate(SPHD_NUM, MET_NUM, curDateTime, pretime, sphdMetSoh, stationId);
}
return sphdMetSohProvision;
}
@ -484,43 +640,82 @@ public class CalCulStationInfoServiceImpl implements ICalCulStationDataService {
//region 新加计算台站类型数据提供率方法
@Override
public ProvisionData findPhdfProvisionRateSauna2(String curDateTime, String pretime, String number, String stationId) {
ProvisionData provisionRate=calCulStationInfoMapper.findPhdfProvisionRateSauna2(curDateTime, pretime, number, stationId);
ProvisionData provisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionRate = calCulStationInfoPgMapper.findPhdfProvisionRateSauna2(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionRate = calCulStationInfoMapper.findPhdfProvisionRateSauna2(curDateTime, pretime, number, stationId);
}
return provisionRate;
}
@Override
public ProvisionData findPhdProvisionRateSauna2(String curDateTime, String pretime, String number, String stationId) {
ProvisionData provisionRate = calCulStationInfoMapper.findPhdProvisionRateSauna2(curDateTime, pretime, number, stationId);
ProvisionData provisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionRate = calCulStationInfoPgMapper.findPhdProvisionRateSauna2(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionRate = calCulStationInfoMapper.findPhdProvisionRateSauna2(curDateTime, pretime, number, stationId);
}
return provisionRate;
}
@Override
public ProvisionData findPhdProvisionEfficiencySauna2(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.findPhdProvisionEfficiencySauna2(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
ProvisionData provisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
provisionEfficiency = calCulStationInfoPgMapper.findPhdProvisionEfficiencySauna2(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
provisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySauna2(liveLow, liveHigh, quantity, mdc, collectLow, collectHigh, xeVolume, nuclideName, liveQc, curDateTime, pretime, number, stationId);
}
return provisionEfficiency;
}
@Override
public ProvisionData findSphdProvisionSauna2(String curDateTime, String pretime, String stationId) {
ProvisionData sphdProvision = calCulStationInfoMapper.findSphdProvisionSauna2(curDateTime, pretime, stationId);
ProvisionData sphdProvision = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
sphdProvision = calCulStationInfoPgMapper.findSphdProvisionSauna2(curDateTime, pretime, stationId);
} else if (databaseType== DbType.ORACLE) {
sphdProvision = calCulStationInfoMapper.findSphdProvisionSauna2(curDateTime, pretime, stationId);
}
return sphdProvision;
}
@Override
public ProvisionData findPhdfProvisionEfficiencySpalaxPLC(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
ProvisionData phdfProvisionEfficiency = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdfProvisionEfficiency = calCulStationInfoPgMapper.findPhdfProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdfProvisionEfficiency = calCulStationInfoMapper.findPhdfProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
}
return phdfProvisionEfficiency;
}
@Override
public ProvisionData findPhdProvisionRateSpalaxPLC(String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateSpalaxPLC(curDateTime, pretime, number, stationId);
ProvisionData phdProvisionRate = new ProvisionData();
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionRate = calCulStationInfoPgMapper.findPhdProvisionRateSpalaxPLC(curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionRate = calCulStationInfoMapper.findPhdProvisionRateSpalaxPLC(curDateTime, pretime, number, stationId);
}
return phdProvisionRate;
}
@Override
public ProvisionData findPhdProvisionEfficiencySpalaxPLC(String liveLow, String liveHigh, String quantity, String collectLow, String collectHigh, String liveQc, String curDateTime, String pretime, String number, String stationId) {
ProvisionData phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
ProvisionData phdProvisionEfficiency = new ProvisionData();
try{
if (databaseType== DbType.POSTGRE_SQL) {
phdProvisionEfficiency = calCulStationInfoPgMapper.findPhdProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
} else if (databaseType== DbType.ORACLE) {
phdProvisionEfficiency = calCulStationInfoMapper.findPhdProvisionEfficiencySpalaxPLC(liveLow, liveHigh, quantity, collectLow, collectHigh, liveQc, curDateTime, pretime, number, stationId);
}}
catch(Exception e){
System.out.println(e);
}
return phdProvisionEfficiency;
}