SELECT
pmo."id" AS mo_id,
pmo.mo_no AS mo_no,
pmoro.operation_id,
pmoro.ID AS mo_routing_operation_id,
pmoro.technology_routing_operation_id AS routing_operation_id,
bto.operation_no,
bto."name" AS operation_name,
pmo.technology_routing_id AS routing_id,
pmoro.work_center,
pmoro.part_id,
bp.part_no,
bp.part_name,
bp.unit,
bp.sunit,
pmo.manufacture_attr,
CASE
WHEN pmso.qpa IS NULL THEN
pmo.qty_required
ELSE pmo.qty_required * pmso.qpa
END AS planned_quantity,
pmo.required_date AS planned_finish_date,
timezone('UTC' :: TEXT, now()) AS planned_start_date
FROM
plan_manufacturing_order_routing_operation pmoro
LEFT JOIN plan_manufacturing_order pmo ON pmoro.mo_id = pmo."id"
LEFT JOIN technology_operation bto ON bto."id" = pmoro.operation_id
LEFT JOIN basic_part bp ON bp."id" = pmoro.part_id
LEFT JOIN (SELECT * FROM plan_mo_structure_component WHERE plan_manufacturing_order_id = #{moId}) pmso
ON pmso.part_id = pmoro.part_id and pmso.operation_id = pmoro.operation_id
WHERE
pmoro.mo_id = #{moId}
SELECT
P.part_name,
P.part_no,
P.unit,
o.NAME operation_name,
T.*,
G.mo_no,
w.name as workstation_name
FROM
production_operation_task T
LEFT JOIN basic_part P ON T.part_id = P.ID
LEFT JOIN plan_manufacturing_order_routing_operation ro ON ro.ID = T.mo_routing_operation_id
LEFT JOIN technology_operation o ON o.ID = ro.operation_id
LEFT JOIN production_operation_task_supply F ON f.operation_task_id = T."id"
LEFT JOIN plan_manufacturing_order G ON G."id" = F.mo_id
LEFT JOIN basic_workstation w on T.workstation_id = w.id
SELECT
pot.*,
bp.part_name,
part_no,
bw."name" AS workstation_name
FROM
production_operation_task pot
LEFT JOIN basic_part bp ON bp."id" = pot.part_id
LEFT JOIN basic_workstation bw ON pot.workstation_id = bw."id"
LEFT JOIN warehouse_pallet_transports_optask wpto ON wpto.operation_task_id = pot."id"
WHERE wpto.transports_id = #{palletId}
DELETE
FROM production_operation_task
A
WHERE A."id" = #{id};
DELETE
FROM production_operation_task_material
B
WHERE B.operation_task_id = #{id};
DELETE
FROM production_operation_task_supply
D
WHERE D.operation_task_id = #{id};
UPDATE production_operation_task_produce
SET operation_task_id = NULL
WHERE
operation_task_id = #{id}
select temp.*
from
(SELECT
P.part_name,
P.part_no,
P.unit,
o.NAME operation_name,
T.*,
G.mo_no,
w.name workstation_name,
pmps.mps_no,
pco.customer_name,
pco.customer_order_no,
round( T.completed_quantity / T.planned_quantity * 100, 2 ) AS ratio
FROM
production_operation_task T
LEFT JOIN basic_part P ON T.part_id = P.ID
LEFT JOIN plan_manufacturing_order_routing_operation ro ON ro.ID = T.mo_routing_operation_id
LEFT JOIN technology_operation o ON o.ID = ro.operation_id
LEFT JOIN production_operation_task_supply F ON f.operation_task_id = T."id"
LEFT JOIN plan_manufacturing_order G ON G."id" = F.mo_id
LEFT JOIN plan_master_production_schedule pmps ON pmps."id" = G.mps_id
LEFT JOIN plan_join_model_customer pjmc ON pjmc.model_id = pmps."id"
AND pjmc.model = 'plan_master_production_schedule'
LEFT JOIN plan_customer_order pco ON pco."id" = pjmc.customer_order_id
LEFT JOIN basic_workstation w on T.workstation_id = w.id
) temp
${ew.customSqlSegment}
where t.workstation_id =#{workstationId} and t.state!='04completed' order by id desc limit 3
select oot."id",
oot.optask_no,
oot."state",
oot.planned_quantity,
oot.completed_quantity,
oot.priority,
oot.planned_start_date,
oot.planned_finish_date,
oot.actual_start_date,
oot.actual_finish_date,
oot.remark,
oot.workstation_id,
bp.part_no,
bp.part_name,
bp.unit,
oot.part_id,
oot.routing_id,
oot.mo_routing_operation_id,
pmo.mo_no,
pmo.mps_id,
top."name" operation_name,
oot.create_time,
oot.disc_num,
oot.sunit,
oot.splanned_quantity,
oot.manufacture_attr,
oot.reel_spec,
tr.id mo_routing_id,
tr.routing_no technology_name,
tro.operation_id,
tro.remark routing_operation_remark,
pmps.mps_no,
pco.customer_name,
pco.id as pco_id,
pco.customer_order_no,
pbp.part_name product_name,
oot.reel_spec
from production_operation_task oot
LEFT JOIN basic_part bp on bp."id" = oot.part_id
LEFT JOIN plan_manufacturing_order_routing_operation tro on tro."id" = oot.mo_routing_operation_id
LEFT JOIN plan_manufacturing_order_routing tr on tr."id" = tro.mo_routing_id
LEFT JOIN technology_operation top on top."id" = tro.operation_id
LEFT JOIN production_operation_task_supply pots on pots.operation_task_id = oot."id"
LEFT JOIN plan_manufacturing_order pmo on pmo."id" = pots.mo_id
LEFT JOIN plan_master_production_schedule pmps ON pmps.ID = pmo.mps_id
LEFT JOIN plan_join_model_customer pjmc
ON pjmc.model_id = pmps."id" AND pjmc.model = 'plan_master_production_schedule'
LEFT JOIN plan_customer_order pco ON pco."id" = pjmc.customer_order_id
LEFT JOIN basic_part pbp ON pbp."id" = pmps.part_id
oot.state != '04completed' and oot.state != '05canceled' and oot.state != '06combined' and oot.state != '07unsubmit' and oot.state IS NOT NULL
AND ${ew.SqlSegment}
AND pmo.id IN (SELECT DISTINCT current_mo_id FROM plan_manufacturing_order_sn_generate WHERE product_sn = #{productSn} AND current_mo_id IS NOT null)
AND pco.customer_order_no like #{salesOrder}
AND pbp.part_name like #{productName}
AND pmo.mo_no = (select distinct pmo.mo_no
from production_operation_task pot
left join production_operation_task_supply pots on pots.operation_task_id = pot.id
left join plan_manufacturing_order pmo on pmo.id = pots.mo_id
left join production_product_main ppm on ppm.operation_task_id = pot.id
left join production_product_output ppo on ppo.product_main_id = ppm.id
where ppo.out_batch_no =#{outBatchNo} )
AND pmps.mps_no = (select distinct pmps.mps_no
from production_operation_task pot
left join production_operation_task_supply pots on pots.operation_task_id = pot.id
left join plan_manufacturing_order pmo on pmo.id = pots.mo_id
left join plan_master_production_schedule pmps on pmo.mps_id = pmps.id
left join production_product_main ppm on ppm.operation_task_id = pot.id
left join production_product_output ppo on ppo.product_main_id = ppm.id
where ppo.out_batch_no =#{outBatchNo} )
AND pmps.mps_no like #{mpsNo}
order by oot.priority, oot.planned_finish_date:: date
SELECT
pot.*,
bp.part_name,
bp.part_no,
bp.unit,
ar.resource_name,
bw."name" workstation_name,
pmor.routing_no,
bto."name" operation_name,
pots.quantity_supply,
pmo.mo_no,
pmo.ID mo_id,
pmoro.operation_id,
to_char(planned_start_date, 'yyyy-MM-dd hh24:mi:ss') || ',' ||
to_char(planned_finish_date, 'yyyy-MM-dd hh24:mi:ss') planed_start_end_time
FROM
production_operation_task pot
LEFT JOIN basic_part bp ON pot.part_id = bp."id"
LEFT JOIN aps_resource ar ON ar."id" = pot.resource_id
LEFT JOIN basic_workstation bw ON bw."id" = pot.workstation_id
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pmoro.ID = pot.mo_routing_operation_id
LEFT JOIN plan_manufacturing_order_routing pmor ON pmoro.mo_routing_id = pmor."id"
LEFT JOIN technology_operation bto ON bto.ID = pmoro.operation_id
LEFT JOIN production_operation_task_supply pots ON pots.operation_task_id = pot."id"
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pots.mo_id
WHERE pot."id" = #{id}
UPDATE production_operation_task
SET completed_quantity = completed_quantity + #{diffQuantity}
WHERE id = #{id}
SELECT id,
optask_no,
"state",
priority,
planned_quantity,
sunit,
splanned_quantity,
completed_quantity,
part_no,
part_name,
workstation_no,
workstation_name,
operation_no,
operation_name,
manufacture_attr
FROM (
SELECT pot.optask_no,
pot.priority,
pot.planned_quantity,
pot.completed_quantity,
pot."id",
pot.sunit,
pot.splanned_quantity,
pot.manufacture_attr,
bp.part_no,
bp.part_name,
bw.workstation_no,
bw."name" workstation_name,
top.operation_no,
top."name" operation_name,
pot."state"
FROM production_operation_task pot
LEFT JOIN basic_part bp on bp."id" = pot.part_id
LEFT JOIN basic_workstation bw on bw."id" = pot.workstation_id
LEFT JOIN plan_manufacturing_order_routing_operation tro on tro."id" = pot.mo_routing_operation_id
LEFT JOIN technology_operation top on top."id" = tro.operation_id
) tempA
${ew.SqlSegment}
order by "id" desc
SELECT
pot.*
FROM
production_operation_task pot
LEFT JOIN production_operation_task_supply pots ON pots.operation_task_id = pot."id"
WHERE pot.routing_operation_id = (SELECT trof.to_id
FROM technology_routing_operation_ref trof
LEFT JOIN technology_routing_operation tro ON trof.from_id = tro."id"
LEFT JOIN production_operation_task pots ON tro."id" = pots.routing_operation_id
WHERE pots."id" = #{operationTaskId})
AND pots.mo_id = (SELECT apots.mo_id
FROM production_operation_task_supply apots
LEFT JOIN production_operation_task apot ON apots.operation_task_id = apot."id"
WHERE apot."id" = #{operationTaskId})
SELECT
ot.*,
mo.bom_id,
ro.operation_id
FROM production_operation_task ot
LEFT JOIN production_operation_task_supply ts ON ts.operation_task_id = ot."id"
LEFT JOIN technology_routing_operation ro ON ro.ID = ot.routing_operation_id
LEFT JOIN plan_manufacturing_order mo ON mo."id" = ts.mo_id
where ot.id IN
#{id}
SELECT
P.part_name,
P.part_no,
P.unit,
o.NAME operation_name,
T.*,
G.mo_no,
w.name workstation_name
FROM
production_operation_task T
LEFT JOIN basic_part P ON T.part_id = P.ID
LEFT JOIN plan_manufacturing_order_routing_operation ro ON ro.ID = T.mo_routing_operation_id
LEFT JOIN technology_operation o ON o.ID = ro.operation_id
LEFT JOIN production_operation_task_supply F ON f.operation_task_id = T."id"
LEFT JOIN plan_manufacturing_order G ON G."id" = F.mo_id
LEFT JOIN basic_workstation w ON T.workstation_id = w.id
WHERE
T.combine_task_id = #{id}
SELECT DISTINCT value,label
FROM sys_dict_item
WHERE type = 'apply_report_type'
SELECT pot.optask_no
FROM warehouse_pallet_transports_optask wpto
LEFT JOIN production_operation_task pot ON pot."id" = wpto.operation_task_id
WHERE wpto.operation_task_id IN
#{id}
SELECT bl.*
FROM (SELECT * FROM basic_workstation_location WHERE location_type = 1) bwl --库位类型为投料库位
INNER JOIN (SELECT * FROM basic_workstation WHERE workstation_no = #{workstationNo}) bw ON bwl.workstation_id = bw."id"
INNER JOIN (SELECT * FROM basic_location WHERE active = 't' AND loc_status = 1) bl ON bwl.location_id = bl."id" --有效且状态为使用
SELECT pot.*,bp.part_no,bp.part_name
FROM (SELECT * FROM production_operation_task WHERE "state" = '02inProgress' OR "state" = '01pending') pot --工单状态为进行中或等待中
INNER JOIN (SELECT * FROM basic_workstation WHERE workstation_no = #{workstationNo}) bw ON pot.workstation_id = bw."id"
INNER JOIN basic_part bp ON pot.part_id = bp."id"
SELECT pot.*,bp.part_no,bp.part_name
FROM (SELECT * FROM production_operation_task WHERE workstation_id IS NULL AND work_center IS NOT NULL AND ("state" = '02inProgress' OR "state" = '01pending')) pot --工单状态为进行中或等待中
INNER JOIN (SELECT * FROM basic_workstation WHERE work_center IS NOT NULL AND workstation_no = #{workstationNo}) bw ON pot.work_center = bw.work_center
INNER JOIN basic_part bp ON pot.part_id = bp."id"
SELECT
pot.*,
bp.part_name,
bp.part_no,
bp.unit,
ar.resource_name,
bw."name" workstation_name,
pmor.routing_no,
bto."name" operation_name,
pots.quantity_supply,
pmo.mo_no,
pmo.ID mo_id,
pmoro.operation_id,
pmo.outer_color,
pmo.insulation_color,
pmps.mps_no,
pco.customer_order_no
FROM
production_operation_task pot
LEFT JOIN basic_part bp ON pot.part_id = bp."id"
LEFT JOIN aps_resource ar ON ar."id" = pot.resource_id
LEFT JOIN basic_workstation bw ON bw."id" = pot.workstation_id
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pmoro.ID = pot.mo_routing_operation_id
LEFT JOIN plan_manufacturing_order_routing pmor ON pmoro.mo_routing_id = pmor."id"
LEFT JOIN technology_operation bto ON bto.ID = pmoro.operation_id
LEFT JOIN production_operation_task_supply pots ON pots.operation_task_id = pot."id"
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pots.mo_id
LEFT JOIN plan_master_production_schedule pmps ON pmps."id" = pmo.mps_id
LEFT JOIN plan_join_model_customer pjmc
ON pjmc.model_id = pmps."id" AND pjmc.model = 'plan_master_production_schedule'
LEFT JOIN plan_customer_order pco ON pco."id" = pjmc.customer_order_id
WHERE pot."id" = #{id}
update
production_operation_task
set
priority = (
COALESCE ( (SELECT MAX ( priority ) FROM production_operation_task), 0 )
) + 1
where
id = #{id}
update
production_operation_task
set actual_finish_date = null
where
id = #{id}
SELECT COALESCE(SUM(product_qty),0) product_qty FROM production_product_output WHERE out_batch_no = #{batchNo}
SELECT pmoro.operation_id FROM
(SELECT * FROM production_product_output WHERE out_batch_no = #{batchNo}) ppo
INNER JOIN
production_product_main ppm ON ppo.product_main_id = ppm."id"
INNER JOIN
production_operation_task pot ON ppm.operation_task_id = pot."id"
INNER JOIN
plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id"
select pmo.mo_no
from production_operation_task pot
left join production_operation_task_supply pots on pots.operation_task_id = pot.id
left join plan_manufacturing_order pmo on pmo.id = pots.mo_id
where pot.id = #{id};
SELECT
pot.state
FROM production_operation_task pot
LEFT JOIN production_operation_task_supply pots on pots.operation_task_id = pot.id
WHERE pots.mo_id = (SELECT mo_id
FROM production_operation_task_supply
WHERE operation_task_id = #{id})
SELECT
pmoro.is_last
FROM (SELECT * FROM production_operation_task WHERE id = #{id}) pot
INNER JOIN production_operation_task_supply pots ON pot."id" = pots.operation_task_id
INNER JOIN plan_manufacturing_order_routing_operation pmoro
ON pots.mo_id = pmoro.mo_id AND
pot.routing_operation_id = pmoro.technology_routing_operation_id;
SELECT pmoro.operation_id
FROM plan_manufacturing_order_routing_operation pmoro
LEFT JOIN production_operation_task_supply pots on pmoro.mo_id = pots.mo_id
LEFT JOIN production_operation_task pot
on pot.id = pots.operation_task_id
WHERE pot.id = #{operationTaskId}
ORDER BY pmoro.operation_order ASC
limit 1
SELECT pmoro.operation_id
FROM plan_manufacturing_order_routing_operation pmoro
left join production_operation_task pot on pmoro.id = pot.mo_routing_operation_id
WHERE pot.id = #{operationTaskId}
SELECT
pot.work_center,
bw."name" workstation_name,
too."name" operation_name,
pot."id",
pot.optask_no,
pot."state",
pot.planned_start_date,
pot.planned_finish_date,
pot.actual_start_date,
pot.actual_finish_date,
bp.part_name,
bp.part_no,
bp.unit,
pmo.mo_no,
pmps.mps_no,
pco.customer_name,
pco.customer_order_no,
pot.completed_quantity completed_quantity,
pot.planned_quantity planned_quantity,
round(pot.completed_quantity / pot.planned_quantity * 100, 2) AS ratio
FROM
production_operation_task pot
LEFT JOIN basic_part bp ON pot.part_id = bp."id"
LEFT JOIN plan_manufacturing_order_routing_operation ro ON ro.ID = pot.mo_routing_operation_id
LEFT JOIN technology_operation too ON too.ID = ro.operation_id
LEFT JOIN production_operation_task_supply pots ON pots.operation_task_id = pot."id"
LEFT JOIN plan_manufacturing_order pmo ON pmo."id" = pots.mo_id
LEFT JOIN plan_master_production_schedule pmps ON pmps."id" = pmo.mps_id
LEFT JOIN plan_join_model_customer pjmc ON pjmc.model_id = pmps."id"
AND pjmc.model = 'plan_master_production_schedule'
LEFT JOIN plan_customer_order pco ON pco."id" = pjmc.customer_order_id
LEFT JOIN basic_workstation bw ON pot.workstation_id = bw.ID
WHERE pco."id" = #{customerOrderId}
ORDER BY pmo.schedule_theory_quantity_id ASC