diff --git a/ruoyi-system/src/main/resources/mapper/system/BroadDataMapper.xml b/ruoyi-system/src/main/resources/mapper/system/BroadDataMapper.xml index 3def6be..50f0bc2 100644 --- a/ruoyi-system/src/main/resources/mapper/system/BroadDataMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/BroadDataMapper.xml @@ -12,10 +12,14 @@ - delete from HAIWEI.BASE_DAY_WBTIME where CREATE_TIME < sysdate - interval '15' DAY + delete + from HAIWEI.BASE_DAY_WBTIME + where CREATE_TIME < sysdate - interval '15' DAY - delete from IMOS.BASE_BOX_OUTPUT_RECORD where CREATE_TIME < sysdate - interval '10' DAY + delete + from IMOS.BASE_BOX_OUTPUT_RECORD + where CREATE_TIME < sysdate - interval '10' DAY select substr(name, - case - when instr(name, '/', 1, 1) = 0 then instr(name, ',', 1, 1) + 1 - else instr(name, '/', 1, 1) + 1 - end, - case - when instr(name, ',', 1, 2) = 0 then Length(name) + 1 - else instr(name, ',', 1, 2) - end - - - case - when instr(name, '/', 1, 1) = 0 then instr(name, ',', 1, 1) + 1 - else instr(name, '/', 1, 1) + 1 - end) as name, - sum(QTY3) as qty + case + when instr(name, '/', 1, 1) = 0 then instr(name, ',', 1, 1) + 1 + else instr(name, '/', 1, 1) + 1 + end, + case + when instr(name, ',', 1, 2) = 0 then Length(name) + 1 + else instr(name, ',', 1, 2) + end + - + case + when instr(name, '/', 1, 1) = 0 then instr(name, ',', 1, 1) + 1 + else instr(name, '/', 1, 1) + 1 + end) as name, + sum(QTY3) as qty from IMOS.BASE_BOX_OUTPUT_RECORD xhq - left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb - on 1 = 1 + left join (select * + from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) + where ROWNUM = 1) wb + on 1 = 1 where xhq.CREATE_TIME between case when sysdate <= wb.W_END then W_START else W_END end - and case when sysdate <= wb.W_END then W_END else B_END end - and QTY3 > 0 + and case when sysdate <= wb.W_END then W_END else B_END end + and QTY3 > 0 group by name @@ -92,12 +100,12 @@ group by Store_Code select name, qty from ( - select '19:30' as name, sum(QTY3) as qty,1 as ord + select '19:30' as name, sum(QTY3) as qty, 1 as ord from IMOS.BASE_BOX_OUTPUT_RECORD ippb left join ( select W_END as day1, W_END + interval '1' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) where qt = 1 ) t1 on 1 = 1 - where ippb.CREATE_TIME >= day1 and ippb.CREATE_TIME < day2 - union - select '20:30' as name, sum(QTY3) as qty, 2 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-28 20:30:00 - select W_END + interval '1' HOUR as day1, W_END + interval '2' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 - union - select '21:30' as name, sum(QTY3) as qty, 3 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-28 21:30:00 - select W_END + interval '2' HOUR as day1, W_END + interval '3' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 - union - select '22:30' as name, sum(QTY3) as qty, 4 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-28 22:30:00 - select W_END + interval '3' HOUR as day1, W_END + interval '4' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 - union - select '23:30' as name, sum(QTY3) as qty, 5 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-28 23:30:00 - select W_END + interval '4' HOUR as day1, W_END + interval '5' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + where ippb.CREATE_TIME >= day1 + and ippb.CREATE_TIME < day2 + union + select '20:30' as name, sum(QTY3) as qty, 2 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-28 20:30:00 + select W_END + interval '1' HOUR as day1, W_END + interval '2' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 + union + select '21:30' as name, sum(QTY3) as qty, 3 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-28 21:30:00 + select W_END + interval '2' HOUR as day1, W_END + interval '3' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 + union + select '22:30' as name, sum(QTY3) as qty, 4 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-28 22:30:00 + select W_END + interval '3' HOUR as day1, W_END + interval '4' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 + union + select '23:30' as name, sum(QTY3) as qty, 5 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-28 23:30:00 + select W_END + interval '4' HOUR as day1, W_END + interval '5' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '00:30' as name, sum(QTY3) as qty, 6 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-29 00:30:00 - select W_END + interval '5' HOUR as day1, W_END + interval '6' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '00:30' as name, sum(QTY3) as qty, 6 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-29 00:30:00 + select W_END + interval '5' HOUR as day1, W_END + interval '6' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '01:30' as name, sum(QTY3) as qty, 7 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - -- 2022-07-29 01:30:00 - select W_END + interval '6' HOUR as day1, W_END + interval '7' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '01:30' as name, sum(QTY3) as qty, 7 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + -- 2022-07-29 01:30:00 + select W_END + interval '6' HOUR as day1, W_END + interval '7' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '02:30' as name, sum(QTY3) as qty, 8 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - select W_END + interval '7' HOUR as day1, W_END + interval '8' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '02:30' as name, sum(QTY3) as qty, 8 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + select W_END + interval '7' HOUR as day1, W_END + interval '8' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '03:30' as name, sum(QTY3) as qty, 9 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - select W_END + interval '8' HOUR as day1, W_END + interval '9' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '03:30' as name, sum(QTY3) as qty, 9 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + select W_END + interval '8' HOUR as day1, W_END + interval '9' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '04:30' as name, sum(QTY3) as qty, 10 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - select W_END + interval '9' HOUR as day1, W_END + interval '10' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '04:30' as name, sum(QTY3) as qty, 10 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + select W_END + interval '9' HOUR as day1, W_END + interval '10' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '05:30' as name, sum(QTY3) as qty, 11 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - select W_END + interval '10' HOUR as day1, W_END + interval '11' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 + union + select '05:30' as name, sum(QTY3) as qty, 11 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + select W_END + interval '10' HOUR as day1, W_END + interval '11' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 - union - select '06:30' as name, sum(QTY3) as qty, 12 as ord - from IMOS.BASE_BOX_OUTPUT_RECORD ippb - left join ( - select W_END + interval '11' HOUR as day1, W_END + interval '12' HOUR as day2 - from (select W_END, row_number() over (order by CREATE_TIME desc) as qt from haiwei.BASE_DAY_WBTIME) - where qt = 1 - ) t1 on 1 = 1 - where ippb.CREATE_TIME > - = day1 and ippb.CREATE_TIME < - day2 - ) - order by ord + union + select '06:30' as name, sum(QTY3) as qty, 12 as ord + from IMOS.BASE_BOX_OUTPUT_RECORD ippb + left join ( + select W_END + interval '11' HOUR as day1, W_END + interval '12' HOUR as day2 + from (select W_END, row_number() over (order by CREATE_TIME desc) as qt + from haiwei.BASE_DAY_WBTIME) + where qt = 1 + ) t1 on 1 = 1 + where ippb.CREATE_TIME > + = day1 + and ippb.CREATE_TIME < + day2 + ) + order by ord @@ -422,7 +454,8 @@ end) as name, STATION_NO, (select QTY - from (select QTY, row_number() over (order by CREATE_TIME desc) row_n from HAIWEI.BASE_FP_PLANQTY) + from (select QTY, row_number() over (order by CREATE_TIME desc) row_n + from HAIWEI.BASE_FP_PLANQTY) where row_n = 1) as target, case when PRODUCT_STATUS = 0 then '未生产' @@ -432,73 +465,73 @@ round(PRODUCT_QTY / CURRENTPLAN_QTY * 100, 2) as rate, CURRENTPLAN_QTY, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '07:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY1 else 0 end as h1, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '08:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY2 else 0 end as h2, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '09:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY3 else 0 end as h3, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '10:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY4 else 0 end as h4, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '11:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY5 else 0 end as h5, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '12:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY6 else 0 end h6, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '13:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY7 else 0 end h7, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '14:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY8 else 0 end h8, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '15:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY9 else 0 end h9, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '16:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY10 else 0 end h10, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '17:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY11 else 0 end h11, case - when sysdate > + when sysdate > to_date(to_char(sysdate, 'yyyy-mm-dd') || '18:29:59', 'yyyy-mm-dd hh24:mi:ss') then HOUR_QTY12 @@ -530,10 +563,10 @@ case when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1 else instr(MATERIAL_NAME, '/', 1, 1) + 1 - end) as name, - nvl(plan_number, 0) as plan_number, - sum(PRODUCT_QTY) as actual_number, - round( sum(PRODUCT_QTY)/nvl(plan_number, 1)*100,2) as rate + end) as name, + nvl(plan_number, 0) as plan_number, + sum(PRODUCT_QTY) as actual_number, + round(sum(PRODUCT_QTY) / nvl(plan_number, 1) * 100, 2) as rate from IMOS_PR_FOAMING_MONITOR irfm left join ( select PLAN_QTY plan_number, MATERIAL_NAME as name1 @@ -544,7 +577,7 @@ @@ -619,89 +652,87 @@ when instr(MATERIAL_NAME, '-', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1 else instr(MATERIAL_NAME, '-', 1, 1) + 1 end) as name, - sum(STORE_QTY) as qty - from IMOS_LO_BIN - where MATERIAL_NAME like '发泡箱体%' - and STORE_QTY > 0 + sum(STORE_QTY) as qty + from IMOS_LO_BIN + where MATERIAL_NAME like '发泡箱体%' + and STORE_QTY > 0 group by MATERIAL_NAME