SELECT qa.apply_type FROM
quality_apply_part AS qap
INNER JOIN
(SELECT * FROM quality_apply WHERE apply_type IS NOT NULL) AS qa
ON qap.apply_id = qa.id
WHERE qap.lot_batch_no = #{sn}
UPDATE quality_apply_part
SET report_id = #{reportId}
WHERE lot_batch_no = #{sn}
UPDATE quality_report
SET is_submit = #{state}
WHERE id = #{reportId}
UPDATE production_product_output
SET ifs_sync = #{isSynIfs}
WHERE system_no = #{systemNo}
SELECT qap.report_id,pmo.ifs_order_no,pmo.ifs_release_no,pmo.ifs_sequence_no,qap.part_no,ppo.ifs_batch_no,ppo.out_batch_no,qap.qty_arrived,bp.eng_chg_level,pot.workstation_id,pdr.now_duty_date,bs.name as shift_name,qap.total_length,qap.scrap_arrived FROM
(SELECT * FROM quality_apply_part WHERE "id" = #{applyPartId}) qap
LEFT JOIN
production_product_output ppo ON qap.system_no = ppo.system_no
LEFT JOIN
production_product_main ppm ON ppo.product_main_id = ppm."id"
LEFT JOIN
production_operation_task pot ON ppm.operation_task_id = pot.id
LEFT JOIN
production_operation_task_supply pots ON pot."id" = pots.operation_task_id
LEFT JOIN
plan_manufacturing_order pmo ON pots.mo_id = pmo."id"
LEFT JOIN
basic_part bp ON qap.part_id = bp."id" --防止零件号重复
LEFT JOIN
basic_workstation bw ON pot.workstation_id = bw.id
left join
(select max(product_out_id) product_out_id,max(duty_record_id) duty_record_id
from production_product_output_staff group by product_out_id, duty_record_id
) T ON T.product_out_id = ppo.id
left join production_duty_record pdr on T.duty_record_id = pdr.id
left join basic_shift bs on bs."id"=pdr.shift_id
SELECT bl.ifs_location FROM
(SELECT * FROM basic_workstation WHERE id = #{workstationId}) bw
LEFT JOIN
(SELECT * FROM basic_workstation_location WHERE location_type = #{locationType}) bwl
ON bw."id" = bwl.workstation_id
LEFT JOIN
basic_location bl ON bwl.location_id = bl."id" LIMIT 1
SELECT COALESCE(pmoro.is_last, FALSE) is_last
FROM
(SELECT * FROM production_product_output WHERE system_no = #{systemNo}) 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
COALESCE(qap.is_erp,FALSE) is_erp, --null值默认为false
qr.report_type,
bp.planning_method,
COALESCE(pmoro.is_last,FALSE) is_last, --null值默认为false
COALESCE(pmoro.inspection,FALSE) inspection, --null值默认为false
COALESCE(pmo.is_report_operation,FALSE) is_report_operation, --null值默认为false
COALESCE(ppo.ifs_sync,FALSE) ifs_sync --null值默认为false
FROM
(SELECT * FROM quality_apply_part WHERE "id" = #{id}) qap --is_erp 是否是erp报检、part_id 零件id
LEFT JOIN quality_report qr ON qap.report_id = qr."id" --report_type 检测汇报类型
LEFT JOIN basic_part bp ON qap.part_id = bp."id" --planning_method 计划方法
LEFT JOIN production_product_output ppo ON qap.system_no = ppo.system_no --product_main_id 报工单主表
LEFT JOIN production_product_main ppm ON ppo.product_main_id = ppm."id" --operation_task_id 工单id
LEFT JOIN production_operation_task_supply pots ON ppm.operation_task_id = pots.operation_task_id --mo_id
LEFT JOIN plan_manufacturing_order pmo ON pots.mo_id = pmo."id" --is_report_operation IFS车间订单接收时报告工序
LEFT JOIN production_operation_task pot ON ppm.operation_task_id = pot."id" --mo_routing_operation_id 车间订单工艺工序id
LEFT JOIN plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id" --is_last 是否是最后一道工序
LIMIT 1
SELECT
DISTINCT
ppo.scrap_qty,
ppo.scrap_qty un_scrap_qty,
pmo.ifs_order_no,
pmo.ifs_release_no,
pmo.ifs_sequence_no,
pmoro.operation_order * 10 operation_order -- mes工序排序 * 10 传给ifs
FROM
(SELECT SUM(scrap_qty) scrap_qty,MAX(product_main_id) product_main_id FROM production_product_output WHERE out_batch_no = #{batchNo} AND scrap_qty > 0 GROUP BY out_batch_no) ppo --对报废数量按批次号进行汇总,并取最大的报工单主表id进行后续关联
LEFT JOIN
production_product_main ppm ON ppo.product_main_id = ppm."id"
LEFT JOIN
production_operation_task pot ON ppm.operation_task_id = pot."id" -- mo_routing_operation_id
LEFT JOIN
production_operation_task_supply pots ON pot."id" = pots.operation_task_id
LEFT JOIN
plan_manufacturing_order pmo ON pots.mo_id = pmo."id" -- ifs_order_no、ifs_release_no、ifs_sequence_no
LEFT JOIN
plan_manufacturing_order_routing_operation pmoro ON pot.mo_routing_operation_id = pmoro."id" --operation_order
SELECT
DISTINCT
ppo.product_qty,
pmo.ifs_order_no,
pmo.ifs_release_no,
pmo.ifs_sequence_no,
pmo."id" mo_id
FROM
(
SELECT SUM(product_qty) product_qty,MAX(product_main_id) product_main_id FROM production_product_output WHERE out_batch_no IN
(SELECT out_batch_no FROM production_product_output WHERE system_no = #{systemNo}) AND product_qty > 0
) ppo
LEFT JOIN
production_product_main ppm ON ppo.product_main_id = ppm."id"
LEFT JOIN
production_operation_task pot ON ppm.operation_task_id = pot."id"
LEFT JOIN
production_operation_task_supply pots ON pot."id" = pots.operation_task_id
LEFT JOIN
plan_manufacturing_order pmo ON pots.mo_id = pmo."id"
SELECT operation_order * 10 operation_order FROM plan_manufacturing_order_routing_operation WHERE mo_id = #{moId} ORDER BY operation_order ASC