修改findPhdProvisionEfficiencySauna SQl查询条件MDC小于指定值,修改findPhdfProvisionEfficiencyParticulate查询有效率低的问题,添加DATATYPE=Q计数

This commit is contained in:
duwenyuan 2025-06-30 10:05:55 +08:00
parent 1c739466e2
commit be5ef47c10
2 changed files with 89 additions and 15 deletions

View File

@ -53,7 +53,7 @@
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 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}'
@ -64,7 +64,7 @@
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 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}'
@ -118,12 +118,12 @@
<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 sdata.quantity> ${quantity} and xe.MDC &lt; ${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}
ROUND((sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh} and sdata.quantity>${quantity} and xe.MDC &lt; ${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)
@ -142,12 +142,12 @@
<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 sdata.quantity> ${quantity} and xe.MDC &lt; ${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}
ROUND((sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh} and sdata.quantity>${quantity} and xe.MDC &lt; ${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)
@ -415,7 +415,7 @@
</where>
</select>
<select id="findPhdfProvisionEfficiencyParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
<select id="findPhdfProvisionEfficiencyParticulate1" 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
@ -435,6 +435,42 @@
</where>
</select>
<select id="findPhdfProvisionEfficiencyParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
SELECT
dataNumber,
ROUND(
dataNumber / (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
(
SELECT
COUNT(
CASE
WHEN sdata.data_type = 'Q' THEN
1
WHEN sdata.data_type = 'S'
AND sdata.acquisition_live_sec BETWEEN #{liveLow}
AND #{liveHigh}
AND (sdata.COLLECT_STOP - sdata.COLLECT_START) BETWEEN #{ collectLow }
AND #{collectHigh}
AND sdata.quantity > #{quantity} THEN
1
END
) AS dataNumber
FROM
ORIGINAL.GARDS_SAMPLE_DATA sdata
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta ON sta.station_id = sdata.station_id
WHERE
SDATA.SAMPLE_TYPE = 'P'
AND sdata.spectral_qualifie = 'FULL'
AND sta.station_code LIKE '__P%'
AND sdata.station_id = #{stationId}
AND sdata.ACQUISITION_START BETWEEN TO_DATE('${pretime}', 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE('${curDateTime}', 'YYYY-MM-DD hh24:mi:ss')
)
</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

View File

@ -53,7 +53,7 @@
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 xe.MDC &lt; ${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}'
@ -64,7 +64,7 @@
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 xe.MDC &lt; ${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}'
@ -118,12 +118,12 @@
<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 sdata.quantity> ${quantity} and xe.MDC &lt; ${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}
ROUND((sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh} and sdata.quantity>${quantity} and xe.MDC &lt; ${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)
@ -142,12 +142,12 @@
<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 sdata.quantity> ${quantity} and xe.MDC &lt; ${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}
ROUND((sum(case when ROUND(sdata.acquisition_live_sec/60/60.00) BETWEEN ${liveLow} and ${liveHigh} and sdata.quantity>${quantity} and xe.MDC &lt; ${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)
@ -415,7 +415,7 @@
</where>
</select>
<select id="findPhdfProvisionEfficiencyParticulate" resultType="org.jeecg.modules.entity.data.ProvisionData">
<select id="findPhdfProvisionEfficiencyParticulate1" 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
@ -434,7 +434,45 @@
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
dataNumber,
ROUND(
dataNumber / (
(
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
) * 2
) * 100,
2
) dataEfficiency
FROM
(
SELECT
COUNT(
CASE
WHEN sdata.data_type = 'Q' THEN
1
WHEN sdata.data_type = 'S'
AND sdata.acquisition_live_sec BETWEEN #{liveLow}
AND #{liveHigh}
AND EXTRACT(EPOCH FROM (sdata.COLLECT_STOP - sdata.COLLECT_START)) / 86400 BETWEEN #{ collectLow }
AND #{collectHigh}
AND sdata.quantity > #{quantity} THEN
1
END
) AS dataNumber
FROM
ORIGINAL.GARDS_SAMPLE_DATA sdata
LEFT JOIN CONFIGURATION.GARDS_STATIONS sta ON sta.station_id = sdata.station_id
WHERE
SDATA.SAMPLE_TYPE = 'P'
AND sdata.spectral_qualifie = 'FULL'
AND sta.station_code LIKE '__P%'
AND sdata.station_id = #{stationId}
AND sdata.ACQUISITION_START BETWEEN TO_DATE('${pretime}', 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE('${curDateTime}', 'YYYY-MM-DD hh24:mi:ss')
)
</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