select sum(PLAN_QTY) qty, '计划数量' as name
from imos_ta_material
where DISPLAY_FLAG = 1
union
select sum(QTY3) as qty, '实际产量' as name
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
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
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME)+1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end) as order_type
, Sum(Store_Qty) as stock
, Store_Code
from IMOS_LO_STORE_DETIAL losd
where Store_Code =#{id}
and Material_Code is not null
and Store_Qty > 0
group by material_name, Store_Code
order by material_name
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)
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
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
group by name
select round(count(STORE_BIN) / 3.3, 2) as rate, Store_Code as name
from IMOS_LO_BIN_DETIAL losd
where Store_Code in ('S001', 'S002')
and MATERIAL_STATE = '1'
group by Store_Code
select PLAN_NO as plan_code,
substr(MATERIAL_NAME,6,Length(MATERIAL_NAME)) as name,
PLAN_QTY as plan_number,
ACTUAL_QTY as actual_number,
round(ACTUAL_QTY / PLAN_QTY * 100,2) as rate,
START_TIME as day
from IMOS_PR_PLAN t
where process_code = 1002
and delete_flag = '0'
and to_char(plan_date, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
order by START_TIME desc
select TO_CHAR(CREATION_DATE, 'hh24') || ':30' as name,
sum(ACTUAL_QTY) as qty
from IMOS_PR_PLAN t
where process_code = 1002
and delete_flag = '0'
and CREATION_DATE > (select *
from (select CREATE_TIME from HAIWEI.XK_H_QTY order by CREATE_TIME desc)
where ROWNUM = 1)
group by TO_CHAR(CREATION_DATE, 'hh24')
select H_NAME as name ,QTY_C as qty,ZS_C as record_qty from HAIWEI.XK_H_QTY xhq
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
order by xhq.CREATE_TIME
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME) + 1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
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
from IMOS_PR_FOAMING_MONITOR irfm
left join (
select PLAN_QTY plan_number, MATERIAL_NAME as name1
from imos_ta_material
where DISPLAY_FLAG = 1) plan on plan.name1 = MATERIAL_NAME
where PRODUCT_QTY > 0
group by MATERIAL_NAME, plan_number
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME) + 1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
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
from IMOS_PR_FOAMING_MONITOR irfm
left join (
select PLAN_QTY plan_number, MATERIAL_NAME as name1
from imos_ta_material
where DISPLAY_FLAG = 1) plan on plan.name1 = MATERIAL_NAME
where PRODUCT_QTY > 0 and plan_number>0
group by MATERIAL_NAME, plan_number
select sum(PLAN_QTY) qty, '当班计划' as name
from imos_ta_material
where DISPLAY_FLAG = 1
union
select sum(PRODUCT_QTY) qty, '实际产量' as name
from IMOS_PR_FOAMING_MONITOR
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '-', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '-', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME) + 1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
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,
sum(STORE_QTY) as qty
from IMOS_LO_BIN
where MATERIAL_NAME like '发泡箱体%'
and STORE_QTY > 0
group by MATERIAL_NAME
select count(1) as qty, '订单数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
union
select count(1) as qty, '完成数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
and ORDER_QTY - ACTUAL_QTY < 6
union
select round(
(
select count(1)
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
and ORDER_QTY - ACTUAL_QTY < 6
) /
(
select count(1)
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7))
) * 100, 2) as qty, '清单率' as name
from DUAL
-- union
-- select count(1)as qty, '入库订单统计' as name
-- from IMOS_PR_PRODUCT_BARCODE ippb
-- where DETIAL_TYPE_CODE = '1004'
-- and to_char(SCAN_TIME, 'yyyy-MM-dd') =to_char(SYSDATE, 'yyyy-MM-dd')
select case
when ITEM_CODE = '1001' then '成品检漏'
when ITEM_CODE = '1002' then '内胆检漏'
when ITEM_CODE = '1003' then '安全检测'
when ITEM_CODE = '1005' then '测温性能'
when ITEM_CODE = '1006' then '成品外观' end as code,
to_char(CREATION_DATE, 'MM-dd') as name,
round((CASE
WHEN SUM(ALL_QTY) = 0 THEN 0.00
ELSE (SUM(ALL_QTY) - SUM(H_Unqualified_Qty)) / SUM(ALL_QTY) END) *
100.00, 2) as rate
from view_imos_pr_barcode sqlwhere
where CREATION_DATE between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
and ITEM_CODE in ('1001', '1002', '1003', '1005', '1006')
group by ITEM_CODE, to_char(CREATION_DATE, 'MM-dd')
union
select '横坐标' as code,
to_char(day, 'MM-dd') name,
0 rate
from HAIWEI.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
select to_char(DAY, 'MM-dd') as code, qty, '计划' as name
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
union
select to_char(PRODUCTION_DATE, 'MM-dd') as code, count(1) as qty, '产量' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') in
(
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
)
group by to_char(PRODUCTION_DATE, 'MM-dd')
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name
from IMOS_QA_PRODUCT_QUALITY
where CREATION_DATE between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc
)
where ROWNUM < 11
select substr(ORDER_NO, 5, length(ORDER_NO)) as plan_code,
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)) as name ,
ORDER_QTY as plan_number,
ACTUAL_QTY as actual_number
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in
(
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt < 4
)
select substr(ORDER_NO, 5, length(ORDER_NO)) as plan_code,
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)) as name,
ORDER_QTY as plan_number,
ACTUAL_QTY as actual_number,
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
case
when instr(MATERIAL_NAME, ',', 1, 1) < 6 then instr(MATERIAL_NAME, ',', 1, 2)
else instr(MATERIAL_NAME, ',', 1, 1) end-1 - instr(MATERIAL_NAME, '-', 1))
as name_sub,
FINISH_DATE as day,
round(ACTUAL_QTY / ORDER_QTY * 100, 2) as rate
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in
(
select to_char(DAY, 'yyyy-MM-dd')
from haiwei.BASE_PRODUCT_QTY
where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
)
order by FINISH_DATE
select *
from (
select QUALITY_DEFECTS_DESC as type,
base.ITEM_NAME as item,
count(1) as qty,
round(count(1) / (
select sum(qty)
from (
select QUALITY_DEFECTS_DESC as type,
base.ITEM_NAME as item,
count(1) as qty
from IMOS_QA_PRODUCT_QUALITY record
left join IMOS_QA_QUALITY_ITEM base on record.ITEM_CODE = base.ITEM_CODE
where to_char(record.CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by base.ITEM_NAME, QUALITY_DEFECTS_DESC
order by count(1) desc)
where ROWNUM < 11
)*100 ,2) as rate
from IMOS_QA_PRODUCT_QUALITY record
left join IMOS_QA_QUALITY_ITEM base on record.ITEM_CODE = base.ITEM_CODE
where to_char(record.CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by base.ITEM_NAME, QUALITY_DEFECTS_DESC
order by count(1) desc)
where ROWNUM < 11
select STATION_NO,
nvl(FOAMING_PARA_POLPRESSURE,'0') as pol_yl,
nvl(FOAMING_PARA_SOPRESSURE, '0') as so_yl,
nvl(FOAMING_PARA_POLTEMPERATURE, '0') as pol_wd,
nvl(FOAMING_PARA_SOTEMPERATURE, '0') as so_wd
from IMOS_PR_FOAMING_STATION
where FOAMING_PARA_POLPRESSURE is not null
order by to_number(STATION_NO)
select substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '/', 1, 1) = 0 then instr(MATERIAL_NAME, ',', 1, 1) + 1
else instr(MATERIAL_NAME, '/', 1, 1) + 1
end,
case
when instr(MATERIAL_NAME, ',', 1, 2) = 0 then Length(MATERIAL_NAME) + 1
else instr(MATERIAL_NAME, ',', 1, 2)
end
-
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,
STATION_NO,
0 as target,
case
when PRODUCT_STATUS = 0 then '未生产'
else '生产中' end as status,
nvl(plan_number, 0) as plan_number,
PRODUCT_QTY as qty,
round(PRODUCT_QTY / CURRENTPLAN_QTY * 100, 2) as rate,
HOUR_QTY1 as h1,
HOUR_QTY2 as h2,
HOUR_QTY3 as h3,
HOUR_QTY4 as h4,
HOUR_QTY5 as h5,
HOUR_QTY6 h6,
HOUR_QTY7 h7,
HOUR_QTY8 h8,
HOUR_QTY9 h9,
HOUR_QTY10 h10,
HOUR_QTY11 h11,
HOUR_QTY12 h12
from IMOS_PR_FOAMING_MONITOR ipr
left join (
select round(PLAN_QTY / num, 0) as plan_number, itm.MATERIAL_NAME AS NAME
from imos_ta_material itm
left join (select count(1) as num, MATERIAL_NAME
from IMOS_PR_FOAMING_MONITOR
group by MATERIAL_NAME) cou
on cou.MATERIAL_NAME = itm.MATERIAL_NAME
where DISPLAY_FLAG = 1
) ta
on ta.name = ipr.MATERIAL_NAME
order by to_number(STATION_NO)
TRUNCATE TABLE temp1
insert into haiwei.temp1 (
select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day,
(select * from (select RHYTHM from haiwei.BASE_RHYTHM where ROWNUM = 1 order by ID desc)) as rhy
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1 = 1
where ippb.PRODUCTION_DATE 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 DETIAL_TYPE_CODE = '1004'
)
select ROUND(sum(ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM) / 60, 2)-
nvl(case
when sysdate > to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
then
case
when sysdate > to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
then 60 else 30 end
end
, 0) as qty,
1 as name
from (select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t1
left join
(select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
where 0 < ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
union
select count(1) as qty,
2 as name
from (select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t1
left join
(select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
where 0 < ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
and ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM < = 180
union
select count(1) as qty,
3 as name
from (select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t1
left join
(select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
where 180 < ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
and ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM < = 600
union
select
case when qty < 0 then 0 else qty end as qty,name
from
(
select count(1)-nvl(case
when sysdate > to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
then
case
when sysdate > to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
then 2 else 1 end
end
, 0) as qty,
4 as name
from (select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t1
left join
(select row_number() over (order by PRODUCTION_DATE) as row_number,
PRODUCTION_DATE as day
from IMOS.IMOS_PR_PRODUCT_BARCODE ippb
left join (select *
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END end
and DETIAL_TYPE_CODE = '1004') t2 on t1.row_number = t2.row_number + 1
left join
(select * from (select RHYTHM from haiwei.BASE_RHYTHM order by ID desc) where ROWNUM = 1) t3 on 1 = 1
where 600 < ROUND(TO_NUMBER(t1.day - t2.day) * 24 * 60 * 60) - t3.RHYTHM
)
select
substr(MATERIAL_NAME,
case
when instr(MATERIAL_NAME, '-', 1, 1) = 0 then 1
else instr(MATERIAL_NAME, '-', 1, 1) + 1
end,
instr(MATERIAL_NAME, ',', 1, 1)
-
case
when instr(MATERIAL_NAME, '-', 1, 1) = 0 then 1
else instr(MATERIAL_NAME, '-', 1, 1) + 1
end) as name,
sum(IN_QTY ) as qty
from IMOS_PR_PRODUCT_IN
where CREATION_DATE
between to_date(to_char(SYSDATE-2, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
group by MATERIAL_NAME
select (
case when
TO_CHAR(SYSDATE, 'hh24')-1 < 0
then '23:30' else TO_CHAR(SYSDATE, 'hh24')-1 || ':30' end
) as name,
nvl(sum(actual_qty), 0) as qty
from IMOS.IMOS_PR_PLAN xhq
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1 = 1
where to_date(xhq.START_TIME, 'yyyy-MM-dd hh24:mi:ss') 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 plan_date is not null
and process_code = 1002
and delete_flag = '0'
select nvl(sum(actual_qty), 0)
from IMOS.IMOS_PR_PLAN ipp
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb on 1=1
where plan_date is not null
and process_code = 1002
and delete_flag = '0'
and to_date(ipp.START_TIME, 'yyyy-MM-dd hh24:mi:ss') 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
-- select nvl(sum(actual_qty), 0)
-- from IMOS.IMOS_PR_PLAN
-- where plan_date is not null
-- and process_code = 1002
-- and delete_flag = '0'
-- -- and to_char(plan_date, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
-- and CREATION_DATE >
-- case
-- when to_char(sysdate, 'hh24') > 7 and to_char(sysdate, 'hh24') < 20 then to_date(
-- to_char(SYSDATE, 'yyyy-MM-dd') || '07:30:00',
-- 'yyyy-MM-dd hh24:mi:ss')
-- when to_char(sysdate, 'hh24') < 7 then to_date(to_char(SYSDATE - 1, 'yyyy-MM-dd') || '19:30:00',
-- 'yyyy-MM-dd hh24:mi:ss')
-- else to_date(to_char(SYSDATE - 1, 'yyyy-MM-dd') || '19:30:00', 'yyyy-MM-dd hh24:mi:ss')
-- end
-- and CREATION_DATE <
-- case
-- when to_char(sysdate, 'hh24') > 7 and to_char(sysdate, 'hh24') < 20 then to_date(
-- to_char(SYSDATE, 'yyyy-MM-dd') || '19:30:00',
-- 'yyyy-MM-dd hh24:mi:ss')
-- when to_char(sysdate, 'hh24') < 7 then to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '07:30:00',
-- 'yyyy-MM-dd hh24:mi:ss')
-- else to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '24:00:00', 'yyyy-MM-dd hh24:mi:ss')
-- end
select * from ( select nvl(ZS_C, 0) from haiwei.XK_H_QTY order by CREATE_TIME desc) where ROWNUM=1
insert into XK_H_QTY(H_NAME, QTY, QTY_C,ZS_C)
values (#{name},#{nowOut},#{cha},#{zs})
select case when sysdate < = W_END then 0 else 1 end
from (select *
from (select w_end from BASE_DAY_WBTIME BASE_DAY_WBTIME order by CREATE_TIME desc)
where ROWNUM = 1)
select to_char(PRODUCTION_DATE, 'hh24') || ':30' as name, count(1) as qty
from IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by to_char(PRODUCTION_DATE, 'hh24')
order by to_char(PRODUCTION_DATE, 'hh24')
select name,qty
from (
select '19:30' as name, nvl(count(1), 0) as qty,1 as ord
from IMOS_PR_PRODUCT_BARCODE 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)
where qt = 1
) t1 on 1 = 1
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '20:30' as name, nvl(count(1), 0) as qty,2 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '21:30' as name, nvl(count(1), 0) as qty,3 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '22:30' as name, nvl(count(1), 0) as qty,4 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '23:30' as name, nvl(count(1), 0) as qty,5 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '00:30' as name, nvl(count(1), 0) as qty,6 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '01:30' as name, nvl(count(1), 0) as qty,7 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '02:30' as name, nvl(count(1), 0) as qty,8 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '03:30' as name, nvl(count(1), 0) as qty,9 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '04:30' as name, nvl(count(1), 0) as qty,10 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '05:30' as name, nvl(count(1), 0) as qty,11 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
union
select '06:30' as name, nvl(count(1), 0) as qty,12 as ord
from IMOS_PR_PRODUCT_BARCODE 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 DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between day1 and day2
)
order by ord
select '07:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '07:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '08:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '08:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '08:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '09:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '09:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '10:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '10:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '10:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '11:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '11:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '11:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '12:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '12:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '12:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '13:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '13:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '13:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '14:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '14:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '15:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '15:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '15:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '16:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '16:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '16:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '17:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '17:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '17:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '18:30:00', 'yyyy-MM-dd hh24:mi:ss')
union
select '18:30' as name, nvl(count(1),0) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and SCAN_TIME between to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '18:30:00', 'yyyy-MM-dd hh24:mi:ss')
and to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '19:30:00', 'yyyy-MM-dd hh24:mi:ss')
select nvl(qty1, 0) as qty,
name,
nvl(round((qty1 / a.qty) * 100, 2), 0) as rate
from (
select to_char(PRODUCTION_DATE, 'hh24') || ':30' as name, count(1) as qty
from IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by to_char(PRODUCTION_DATE, 'hh24')
order by to_char(PRODUCTION_DATE, 'hh24')
) a
left join (select count(1) as qty1, to_char(CREATION_DATE, 'hh24') || ':30' as name1
from IMOS_QA_PRODUCT_QUALITY
where ITEM_CODE = '1006'
and to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by to_char(CREATION_DATE, 'hh24')) on name = name1
order by name
select sum(qty) as qty,
name,
sum (rate) as rate
from
(select nvl(qty1,0) as qty,
name,
nvl(round((qty1/a.qty)*100,2),0) as rate
from (
select to_char(PRODUCTION_DATE, 'hh24') || ':30' as name, count(1) as qty
from IMOS_PR_PRODUCT_BARCODE ippb
left join (select * from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc) where ROWNUM = 1) wb
on 1 = 1
where ippb.PRODUCTION_DATE between
case
when #{state} = 1 then W_START
when #{state} = 2 then W_END
end
and
case
when #{state} = 1 then W_END
when #{state} = 2 then B_END
end
and DETIAL_TYPE_CODE = '1004'
group by to_char(PRODUCTION_DATE, 'hh24')
order by to_char(PRODUCTION_DATE, 'hh24')
) a
left join (select count(1) as qty1, to_char(CREATION_DATE, 'hh24') || ':30' as name1
from IMOS_QA_PRODUCT_QUALITY
where ITEM_CODE = '1006'
and to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
group by to_char(CREATION_DATE, 'hh24')) on name=name1
union
select 0 as qty ,case
when #{state} = 1 then '07:30'
when #{state} = 2 then '19:30'
end as name ,0 as rate from dual
)
group by name
order by name
select * from (select RHYTHM as qty, '节拍' as name from haiwei.BASE_RHYTHM where ROWNUM = 1 order by ID desc)
-- select sum(QTY) as qty, '目标' as name
-- from haiwei.BASE_PRODUCT_QTY
-- where DAY between (TRUNC(sysdate, 'D') + 1) and (TRUNC(sysdate, 'D') + 7)
-- union
select sum(QTY) as qty, '进度目标' as name
from haiwei.BASE_PRODUCT_QTY
where to_char(DAY, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
union
select count(1) as qty,'实际' as name
from IMOS.IMOS_PR_PRODUCT_BARCODE
where to_char(PRODUCTION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd')
select ippi.ORDER_NO as plan_code,
po.ACTUAL_QTY as actual_number,
substr(ippi.MATERIAL_NAME,
case
when instr(ippi.MATERIAL_NAME, '/', 1, 1) = 0 then 0
else instr(ippi.MATERIAL_NAME, '/', 1, 1) + 1
end,
length(ippi.MATERIAL_NAME)) as name,
ORDER_QTY as plan_number ,
round( po.ACTUAL_QTY/ORDER_QTY *100,2) as reat,
ippi.CREATION_DATE as day
from IMOS_PR_PRODUCT_IN ippi
left join IMOS.IMOS_PR_ORDER po on ippi.ORDER_NO = po.ORDER_NO
where to_char(ippi.CREATION_DATE, 'yyyy-MM-dd') = to_char(sysdate, 'yyyy-MM-dd') and ippi. DELETE_FLAG=0
select count(1) as qty, '订单数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt < 4)
union
select count(1) as qty, '完成数量' as name
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt < 4)
and ORDER_QTY - ACTUAL_QTY < 6
union
select round(
(
select count(1)
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt < 4)
and ORDER_QTY - ACTUAL_QTY < 6
) /
(
select count(1)
from IMOS_PR_ORDER
where to_char(FINISH_DATE, 'yyyy-MM-dd') in (
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY, ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt < 4)
) * 100, 2) as qty, '清单率' as name
from DUAL
union
select count(1)as qty, '入库订单统计' as name
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and to_char(SCAN_TIME, 'yyyy-MM-dd') =to_char(SYSDATE, 'yyyy-MM-dd')
select substr(ORDER_NO, 5, length(ORDER_NO)) || '(' || substr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)),
0,
instr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)), ',', 1, 1) - 1) || ')' as name
,
round(ACTUAL_QTY / ORDER_QTY * 100, 2) as rate,
case when round(ACTUAL_QTY / ORDER_QTY * 100, 2) < 100 then 1 else 0 end as qty
from IMOS_PR_ORDER
where to_char(FINISH_DATE,'yyyy-MM-dd') =
(
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY,ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt =3)
union
select substr(ORDER_NO, 5, length(ORDER_NO)) || '(' || substr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)),
0,
instr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)), ',', 1, 1) - 1) || ')' as name
,
round(ACTUAL_QTY / ORDER_QTY * 100, 2) as rate,
case when round(ACTUAL_QTY / ORDER_QTY * 100, 2) < 100 then 2 else 0 end as qty
from IMOS_PR_ORDER
where to_char(FINISH_DATE,'yyyy-MM-dd') =
(
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY,ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt =2)
union
select substr(ORDER_NO, 5, length(ORDER_NO)) || '(' || substr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)),
0,
instr(
substr(MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
length(MATERIAL_NAME)), ',', 1, 1) - 1) || ')' as name
,
round(ACTUAL_QTY / ORDER_QTY * 100, 2) as rate,
case when round(ACTUAL_QTY / ORDER_QTY * 100, 2) < 100 then 3 else 0 end as qty
from IMOS_PR_ORDER
where to_char(FINISH_DATE,'yyyy-MM-dd') =
(
select to_char(DAY, 'yyyy-MM-dd')
from (
select DAY,ROWNUM as qt
from haiwei.BASE_PRODUCT_QTY
where DAY < to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
order by DAY desc)
where qt =1)
select * from (select rate,'不合格率目标' from haiwei.BASE_ONE_UNQUQLIFIED_RATE order by CREATE_TIME desc) where ROWNUM=1
select count(1)
from IMOS.IMOS_PR_PRODUCT_BARCODE
where PRODUCTION_DATE > (
select W_END + interval '5' MINUTE
from (select * from haiwei.BASE_DAY_WBTIME order by CREATE_TIME desc )
where ROWNUM = 1
)
and ROWNUM < 10
select round((CASE
WHEN Sum_Value = 0 THEN 0.00
ELSE (Sum_Value - H_Unqualified_Qty) / Sum_Value END) *
100.00, 2) as rate,
case
when ITEM_CODE = '1001' then '成品检漏'
when ITEM_CODE = '1002' then '内胆检漏'
when ITEM_CODE = '1003' then '安全检测'
when ITEM_CODE = '1005' then '测温性能'
when ITEM_CODE = '1006' then '成品外观' end as name
from (
select ITEM_CODE,
SUM(ALL_QTY) AS Sum_Value,
SUM(H_Unqualified_Qty) H_Unqualified_Qty
from view_imos_pr_barcode sqlwhere
where SCAN_TIME between
to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
and
to_date(to_char(SYSDATE+1, 'yyyy-MM-dd') || '00:59:00', 'yyyy-MM-dd hh24:mi:ss')
and ITEM_CODE in ('1001', '1002', '1003', '1005', '1006')
group by ITEM_CODE
)
select nvl(count(1),0) as qty,
substr(
MATERIAL_NAME,
instr(MATERIAL_NAME, '-', 1, 1) + 1,
instr(MATERIAL_NAME, ',', 1, 1) - 2 - instr(MATERIAL_NAME, '-', 1, 1) + 1) as name
from IMOS_PR_PRODUCT_BARCODE ippb
where DETIAL_TYPE_CODE = '1004'
and to_char(SCAN_TIME, 'yyyy-MM-dd') =to_char(SYSDATE, 'yyyy-MM-dd')
group by MATERIAL_NAME
-- 1002,内胆预装检漏
-- 1003,安全检测
-- 1001,成品检漏
-- 1005,测温附加检测
-- 1006,成品外观检测
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'成品检漏' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
and ITEM_CODE = '1001'
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 4
union
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'内胆检漏' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
and ITEM_CODE = '1002'
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 4
union
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'安全检测' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
and ITEM_CODE = '1003'
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 4
union
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'测温性能' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
and ITEM_CODE = '1005'
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 4
union
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'成品外观' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
and ITEM_CODE = '1006'
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 4
union
select *
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name,
'柱状图' as code
from IMOS_QA_PRODUCT_QUALITY
where to_char(CREATION_DATE, 'yyyy-MM-dd') = to_char(SYSDATE, 'yyyy-MM-dd')
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc)
where ROWNUM < 11
select to_number(to_char(PRODUCTION_DATE, 'MM')) as name, count(1) as qty
from IMOS.IMOS_PR_PRODUCT_BARCODE
where PRODUCTION_DATE > TRUNC(sysdate, 'YYYY')
group by to_char(PRODUCTION_DATE, 'MM')
order by name
select round(qty / (select count(1)
from IMOS_PR_PRODUCT_BARCODE
where PRODUCTION_DATE > LAST_DAY(ADD_MONTHS(
to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
, -1)) + 1) * 100, 2) as rate,
name
from (
select count(1) as qty,
QUALITY_DEFECTS_DESC as name
from IMOS_QA_PRODUCT_QUALITY
where CREATION_DATE > LAST_DAY(ADD_MONTHS(
to_date(to_char(SYSDATE, 'yyyy-MM-dd') || '00:00:00', 'yyyy-MM-dd hh24:mi:ss')
, -1)) + 1
group by QUALITY_DEFECTS_DESC, ITEM_CODE
order by count(1) desc
)
where ROWNUM < 11