You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
14 KiB
Plaintext

SELECT * from (
SELECT
SOO.Contract "Site"
,SOO.DEPARTMENT_NO "Department"
,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END "Scheduled Resource"
,SOO2.Resource_ID
,SOO2.PREFERRED_RESOURCE_ID
,SOO.CF$_MOLD "Mold"
,SOO.OP_START_DATE "Start Date"
,SOO.OP_FINISH_DATE "End Date"
,SOO.ORDER_NO "Order No"
,SOO.RELEASE_NO "Release No"
,SOO.SEQUENCE_NO "Sequence No"
,SOO.CF$_LOT_BATCH_NO "Lot Batch"
,SOO.PART_NO "Part No"
,IP.Description
,SOO.CF$_COLOR "Color"
,SOO.CF$_PANTONE "Pantone"
,SOO.CF$_PCKG_SKETCH "Pckg Sketch"
,SOO.CF$_DECORATION "Decoration"
,SOO.CF$_PLATE_NO "Plate No"
,SOO.CF$_ASSY_CONFIG "Assy Config"
,SOO.CF$_INSERT_CONFIG "Insert Config"
,LastUtil.ATTR_VALUE_ALPHA "Last Insert Config"
,LastUtil.Part_No "Last Tool Usage Part"
,LastUtil.Description "Last Tool Usage Part Description"
,CASE when SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Mold Change"
,CASE when SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_MOLD else '' end "Mold Change details"
,CASE when SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Color Change"
,CASE when SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_COLOR else '' end "Color change details"
,CASE when SOO.CF$_PANTONE <> LAG(SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Pantone Change"
,CASE when SOO.CF$_PANTONE <> LAG(SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_PANTONE,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_PANTONE else '' end "Pantone change details"
,CASE when CF$_PCKG_SKETCH <> LAG(CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Pckg Sketch Change"
,CASE when CF$_PCKG_SKETCH <> LAG(CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (CF$_PCKG_SKETCH,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_PCKG_SKETCH else '' end "Pckg Sketch change details"
,CASE when SOO.CF$_DECORATION <> LAG(SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Decoration Change"
,CASE when SOO.CF$_DECORATION <> LAG(SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_DECORATION,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_DECORATION else '' end "Decoration change details"
,CASE when SOO.CF$_INSERT_CONFIG <> LAG(SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Insert Change"
,CASE when SOO.CF$_INSERT_CONFIG <> LAG(SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_INSERT_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_INSERT_CONFIG else '' end "Insert change details"
,CASE when SOO.CF$_ASSY_CONFIG <> LAG(SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 1 else 0 end "Assy Config Change"
,CASE when SOO.CF$_ASSY_CONFIG <> LAG(SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) then 'From ' || LAG (SOO.CF$_ASSY_CONFIG,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE) || ' to ' || SOO.CF$_ASSY_CONFIG else '' end "Assy Config change details"
,SOO.NEED_DATE "Need Date"
,SOOM.Remaining_mfg_hours "Rem Hrs"
,SOOM.Remaining_qty_to_report "Rem Qty"
,SOO.CF$_CARTON_REMAINING "Rem Carton"
,CASE
WHEN SOO.CF$_MOLD <> LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
and SOO.MACH_SETUP_TIME=0
then 'Mold change Machine SetUp time should not be 0'
WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
and SOO.MACH_SETUP_TIME<>0
and SOO.CF$_COLOR = LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
then 'No Machine or Color change. SetUp time should be 0'
WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
and SOO.MACH_SETUP_TIME=0
and SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
then 'Color change Machine SetUp time should not be 0'
WHEN SOO.CF$_MOLD = LAG(SOO.CF$_MOLD,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
and SOO.MACH_SETUP_TIME>'&Color_Chg_Std_Duration'
and SOO.CF$_COLOR <> LAG(SOO.CF$_COLOR,1) OVER (PARTITION BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END ORDER BY SOO.DEPARTMENT_NO,CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END,SOO.OP_START_DATE)
then 'Color change SetUp time higher than standard'
else '' end "SetUp Validation"
,SOO.MACH_SETUP_TIME "SetUp"
,SOO.LABOR_SETUP_TIME "Labor SetUp"
,SOO.STATE "SO Status"
,SOO.OPER_STATUS_CODE "Oper Status"
,SOO.ROUTING_ALTERNATIVE "Alternative"
,SOO.CF$_COMMODITY "Commodity"
,SOO.MACH_RUN_FACTOR "PPH"
,SOO.CREW_SIZE "Crew Size"
,CF$_BAFFLE Baffle
,CF$_WHEEL Wheel
,SOO.BOM_TYPE "Shop Order Type"
,sysdate "Report execution"
FROM
SHOP_ORDER_OPERATION_JOIN_cfv SOO
inner join Inventory_Part IP on SOO.Contract=IP.Contract and SOO.Part_No=IP.Part_No
inner join SHOP_ORDER_OPERATION SOO2 on SOO.Order_No=SOO2.Order_No and SOO.Release_No=SOO2.Release_No and SOO.Sequence_No=SOO2.Sequence_No and SOO.Operation_No=SOO2.Operation_No
left join Shop_Order_Operation_mvb SOOM on SOO.Order_No=SOOM.Order_No and SOO.Release_No=SOOM.Release_No and SOO.Sequence_No=SOOM.Sequence_No and SOO.Operation_No=SOOM.Operation_No
left join
(Select
LTU.Tool_ID
,LTU.Contract
,LTU.Part_No
,IP.Description
,C.ATTR_VALUE_ALPHA
from
(Select
LC.TOOL_ID
,LC.Contract
,LC.Part_No
FROM
(Select T.Tool_ID,T.Contract,T.PART_NO,T.Order_No,T.Release_No,T.Sequence_No, row_number() over (partition By Tool_ID order by REPORTED_TIME desc) RN from SHOP_ORD_OPER_TOOL_USAGE T) LC
WHERE RN=1) LTU
inner join Inventory_Part_Char_All C on C.Contract=LTU.Contract and C.Part_No=LTU.Part_No and C.CHARACTERISTIC_CODE='00013'
inner join Inventory_Part IP on IP.Contract=LTU.Contract and IP.Part_No=LTU.Part_No
) LastUtil on LastUtil.Contract=SOO.Contract and LastUtil.Tool_ID=SOO.CF$_MOLD
WHERE
SOO.Operation_No='10'
and SOO.STATE in ('Planned','Released','Reserved','Started','Parked')
and SOO.OPER_STATUS_CODE in ('Planned','Released','Partially Reported','Setup Started','Reserved','Setup Completed','Parked','In Process')
and SOOM.remaining_qty_to_report>0
and SOO.CONTRACT LIKE '%&Site%'
and SOO.DEPARTMENT_NO like nvl ('&Department' , '%' )
and CASE WHEN SOO2.Resource_ID is not null THEN SOO2.Resource_ID ELSE SOO2.PREFERRED_RESOURCE_ID END like nvl( '&Scheduled_Resource','%')
Order By
SOO.DEPARTMENT_NO
,CASE WHEN SOO2.Resource_ID is not null then SOO2.Resource_ID else SOO2.PREFERRED_RESOURCE_ID end
,SOO.OP_START_DATE
)
WHERE
"Mold Change" like NVL('&Mold_Changeover','%')
or "Color Change" like NVL('&Color_Changeover','%')
or "Pantone Change" like NVL('&Pantone_Changeover','%')
or "Pckg Sketch Change" like NVL('&Pckg_Sketch_Changeover','%')
or "Decoration Change" like NVL('&Decoration_Changeover','%')
or "Insert Change" like NVL('&Insert_Changeover','%')
or "Assy Config Change" like NVL('&Assy_Config_Changeover','%')