select a.jh,c.kc,ksjs,c.js,d.zb,to_char((case when kc ='1' then b.KZRQ1 when kc ='2' then b.KZRQ2 when kc ='3' then b.KZRQ3 when kc ='4' then b.KZRQ4 when kc ='5' then b.KZRQ5 else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when kc ='1' then b.KZSJ1 when kc ='2' then b.KZSJ2 when kc ='3' then b.KZSJ3 when kc ='4' then b.KZSJ4 when kc ='5' then b.KZSJ5 else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS kssj
,to_char((case when kc ='1' then b.KZRQ2 when kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJRQ else KZRQ3 end ) when kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJRQ else KZRQ4 end ) when kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJRQ else KZRQ5 end ) when kc ='5' then b.WJRQ else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when kc ='1' then b.KZSJ2 when kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJSJ else KZSJ3 end ) when kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJSJ else KZSJ4 end ) when kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJSJ else KZSJ5 end ) when kc ='5' then b.WJSJ else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS JSSJ
select a.jh,c.kc,ksjs,c.js,d.zb,to_char((case when c.kc ='1' then b.KZRQ1 when c.kc ='2' then b.KZRQ2 when c.kc ='3' then b.KZRQ3 when c.kc ='4' then b.KZRQ4 when c.kc ='5' then b.KZRQ5 else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when c.kc ='1' then b.KZSJ1 when c.kc ='2' then b.KZSJ2 when c.kc ='3' then b.KZSJ3 when c.kc ='4' then b.KZSJ4 when c.kc ='5' then b.KZSJ5 else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS kssj
,to_char((case when c.kc ='1' then b.KZRQ2 when c.kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJRQ else KZRQ3 end ) when c.kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJRQ else KZRQ4 end ) when c.kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJRQ else KZRQ5 end ) when c.kc ='5' then b.WJRQ else null end ),'YYYY-MM-DD') || ' ' ||
TO_CHAR(TO_DATE((case when c.kc ='1' then b.KZSJ2 when c.kc ='2' then (case when KZRQ3 is null or KZRQ3 ='' then WJSJ else KZSJ3 end ) when c.kc ='3' then (case when KZRQ4 is null or KZRQ4 ='' then WJSJ else KZSJ4 end ) when c.kc ='4' then (case when KZRQ5 is null or KZRQ5 ='' then WJSJ else KZSJ5 end ) when c.kc ='5' then b.WJSJ else null end ), 'HH24MI'), 'HH24:MI') || ':00' AS JSSJ
from JSBA a
left join jsaa b on a.jh = b.jh
left join (
...
...
@@ -239,12 +240,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM JSDB jsdb
where jsdb.tgcc not like '%导管%'
order by jh) c on a.jh=c.jh
left join (select jh,
ZZJS,
ROUND(SUM(jc) / case when SUM(JCSJHJ) / 24 = 0 then 1 else SUM(JCSJHJ) / 24 end, 2) zb
from JSHA
group by jh, ZZJS -- 按 jh 和 ZZJS 分组,确保对应关系
order by ZZJS) d on a.JH = d.jh and d.zzjs > c.ksjs and d.zzjs <= c.js
left join (
SELECT
a.jh,
ROUND(
SUM( jc ) /
CASE
WHEN SUM( JCSJHJ ) / 24 = 0 THEN
1 ELSE SUM( JCSJHJ ) / 24
END,
2
) zb,
b.kc
FROM
JSHA a
LEFT JOIN (
SELECT
jh,
ROW_NUMBER () OVER ( PARTITION BY jh ORDER BY js ) AS kc,
JS,
LAG ( JS, 1, 0 ) OVER ( PARTITION BY jh ORDER BY js ) AS ksjs
FROM
JSDB
) b ON a.JH = b.jh and a.ZZJS>ksjs and a.ZZJS <=js
GROUP BY
a.jh,
kc
ORDER BY
kc
) d on a.JH = d.jh
where 1=1
<iftest="jdhzb!=null">
and ABS(#{jdhzb} - a.jdhzb) < #{jl}
...
...
@@ -420,7 +445,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{item}
</foreach>
</if>
order by jkjl asc) where ROWNUM <= 8
order by jkjl asc) where ROWNUM <= 5
union all
select *
from (
...
...
@@ -476,6 +501,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"