| | |
| | | <mapper namespace="com.ruoyi.quality.mapper.QualityInspectMapper"> |
| | | <select id="qualityInspectListPage" resultType="com.ruoyi.quality.pojo.QualityInspect"> |
| | | SELECT |
| | | qi.*, |
| | | qi.id, |
| | | qi.inspect_type, |
| | | qi.check_time, |
| | | qi.supplier, |
| | | qi.customer, |
| | | qi.process, |
| | | qi.check_name, |
| | | qi.product_id, |
| | | qi.product_name, |
| | | qi.model, |
| | | ifnull(pm.unit, qi.unit) as unit, |
| | | qi.quantity, |
| | | qi.check_company, |
| | | qi.check_result, |
| | | qi.create_time, |
| | | qi.create_user, |
| | | qi.update_time, |
| | | qi.update_user, |
| | | qi.tenant_id, |
| | | qi.inspect_state, |
| | | qi.approval_status, |
| | | qi.approve_user_ids, |
| | | qi.purchase_ledger_id, |
| | | qi.product_main_id, |
| | | qi.defective_phenomena, |
| | | qi.product_model_id, |
| | | qi.test_standard_id, |
| | | <choose> |
| | | <when test="qualityInspect.inspectType == 0"> |
| | | pl.purchase_contract_number as purchase_contract_no, |
| | | pm.thickness |
| | | </when> |
| | | <when test="qualityInspect.inspectType == 1"> |
| | | pwo.work_order_no, |
| | | pm.thickness |
| | | </when> |
| | | <otherwise> |
| | |
| | | <if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' "> |
| | | AND qi.check_time <= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d') |
| | | </if> |
| | | ORDER BY qi.check_time DESC |
| | | <if test="qualityInspect.approvalStatus != null"> |
| | | AND qi.approval_status = #{qualityInspect.approvalStatus} |
| | | </if> |
| | | <if test="qualityInspect.approveUserIds != null and qualityInspect.approveUserIds != '' "> |
| | | AND qi.approve_user_ids like concat('%',#{qualityInspect.approveUserIds},'%') |
| | | </if> |
| | | ORDER BY qi.id DESC |
| | | </select> |
| | | |
| | | <select id="qualityInspectExport" resultType="com.ruoyi.quality.pojo.QualityInspect"> |
| | |
| | | <if test="qualityInspect.productName != null and qualityInspect.productName != '' "> |
| | | AND product_name = #{qualityInspect.productName} |
| | | </if> |
| | | <if test="qualityInspect.approvalStatus != null"> |
| | | AND approval_status = #{qualityInspect.approvalStatus} |
| | | </if> |
| | | <if test="qualityInspect.approveUserIds != null and qualityInspect.approveUserIds != '' "> |
| | | AND approve_user_ids like concat('%',#{qualityInspect.approveUserIds},'%') |
| | | </if> |
| | | </select> |
| | | |
| | | <delete id="deleteByProductMainIds"> |
| | |
| | | id AS root_id, |
| | | product_name AS root_name |
| | | FROM product |
| | | WHERE product_name IN ('原料', '半成品', '成品') |
| | | WHERE product_name IN ('原材料', '半成品', '成品') |
| | | UNION ALL |
| | | SELECT p.id, |
| | | p.parent_id, |
| | |
| | | FROM product p |
| | | INNER JOIN product_tree pt ON p.parent_id = pt.id) |
| | | SELECT CASE pt.root_name |
| | | WHEN '原料' THEN 0 |
| | | WHEN '原材料' THEN 0 |
| | | WHEN '半成品' THEN 1 |
| | | WHEN '成品' THEN 2 |
| | | END AS modelType, |
| | |
| | | WITH RECURSIVE product_tree AS (SELECT id, |
| | | product_name, |
| | | CASE product_name |
| | | WHEN '原料' THEN 0 |
| | | WHEN '原材料' THEN 0 |
| | | WHEN '半成品' THEN 1 |
| | | WHEN '成品' THEN 2 |
| | | END AS modelType |
| | | FROM product |
| | | WHERE product_name IN ('原料', '半成品', '成品') |
| | | WHERE product_name IN ('原材料', '半成品', '成品') |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | product_tree AS (SELECT id, |
| | | product_name, |
| | | CASE product_name |
| | | WHEN '原料' THEN 0 |
| | | WHEN '原材料' THEN 0 |
| | | WHEN '半成品' THEN 1 |
| | | WHEN '成品' THEN 2 |
| | | END AS modelType |
| | | FROM product |
| | | WHERE product_name IN ('原料', '半成品', '成品') |
| | | WHERE product_name IN ('原材料', '半成品', '成品') |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | product_tree AS (SELECT id, |
| | | product_name, |
| | | CASE product_name |
| | | WHEN '原料' THEN 0 |
| | | WHEN '原材料' THEN 0 |
| | | WHEN '半成品' THEN 1 |
| | | WHEN '成品' THEN 2 |
| | | END AS modelType |
| | | FROM product |
| | | WHERE product_name IN ('原料', '半成品', '成品') |
| | | WHERE product_name IN ('原材料', '半成品', '成品') |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | WHERE month_num < 12), |
| | | product_tree AS (SELECT id, product_name AS root_name |
| | | FROM product |
| | | WHERE product_name IN ('原料', '半成品', '成品') |
| | | WHERE product_name IN ('原材料', '半成品', '成品') |
| | | |
| | | UNION ALL |
| | | |
| | |
| | | WHEN 12 THEN '十二月' |
| | | END AS month, |
| | | |
| | | COALESCE(SUM(CASE WHEN pt.root_name = '原料' THEN qi.quantity ELSE 0 END), 0) AS rawMaterialCount, |
| | | COALESCE(SUM(CASE WHEN pt.root_name = '原材料' THEN qi.quantity ELSE 0 END), 0) AS rawMaterialCount, |
| | | |
| | | COALESCE(SUM(CASE WHEN pt.root_name = '半成品' THEN qi.quantity ELSE 0 END), 0) AS processCount, |
| | | |
| | |
| | | root_node AS (SELECT id, product_name |
| | | FROM product |
| | | WHERE ( |
| | | (#{modelType} = 1 AND product_name = '原料') |
| | | (#{modelType} = 1 AND product_name = '原材料') |
| | | OR (#{modelType} = 2 AND product_name = '半成品') |
| | | OR (#{modelType} = 3 AND product_name = '成品') |
| | | )), |
| | |
| | | INNER JOIN target_ids ti ON p.parent_id = ti.id), |
| | | parameter_counts AS (SELECT qip.parameter_item AS name, |
| | | COUNT(*) AS count |
| | | FROM quality_inspect_param qip |
| | | JOIN quality_inspect qi ON qip.inspect_id = qi.id |
| | | WHERE qi.inspect_state = 1 |
| | | AND qi.product_id IN (SELECT id FROM target_ids) |
| | | GROUP BY qip.parameter_item), |
| | | FROM quality_inspect_param qip |
| | | JOIN quality_inspect qi ON qip.inspect_id = qi.id |
| | | WHERE qi.inspect_state = 1 |
| | | AND qi.product_id IN (SELECT id FROM target_ids) |
| | | GROUP BY qip.parameter_item), |
| | | ranked AS (SELECT name, count, ROW_NUMBER() OVER (ORDER BY count DESC) AS rn |
| | | FROM parameter_counts), |
| | | total AS (SELECT SUM(count) AS total_count |