| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
| | | <mapper namespace="com.ruoyi.quality.mapper.QualityInspectMapper"> |
| | | <select id="qualityInspectListPage" resultType="com.ruoyi.quality.pojo.QualityInspect"> |
| | | <select id="qualityInspectListPage" resultType="com.ruoyi.quality.dto.QualityInspectDto"> |
| | | SELECT |
| | | * |
| | | FROM quality_inspect |
| | | where |
| | | qi.*, |
| | | <choose> |
| | | <when test="qualityInspect.inspectType == 0"> |
| | | pl.purchase_contract_number as purchase_contract_no |
| | | </when> |
| | | <otherwise> |
| | | pot.work_order_no, |
| | | po_sales.sales_contract_no |
| | | </otherwise> |
| | | </choose> |
| | | FROM |
| | | quality_inspect qi |
| | | <choose> |
| | | <when test="qualityInspect.inspectType == 0 "> |
| | | LEFT JOIN purchase_ledger pl ON pl.id = qi.purchase_ledger_id |
| | | </when> |
| | | <otherwise> |
| | | LEFT JOIN production_product_main ppm ON qi.product_main_id = ppm.id |
| | | LEFT JOIN production_operation_task pot ON ppm.production_operation_task_id = pot.id |
| | | left join production_order po ON po.id = pot.production_order_id |
| | | left join ( |
| | | select po2.id as order_id, |
| | | group_concat(distinct sl2.sales_contract_no order by sl2.sales_contract_no separator ',') as sales_contract_no |
| | | from production_order po2 |
| | | left join production_plan pp2 |
| | | on find_in_set(pp2.id, replace(replace(replace(po2.production_plan_ids, '[', ''), ']', ''), ' ', '')) > 0 |
| | | left join sales_ledger sl2 on sl2.id = pp2.sales_ledger_id |
| | | group by po2.id |
| | | ) po_sales ON po_sales.order_id = po.id |
| | | </otherwise> |
| | | </choose> |
| | | WHERE |
| | | inspect_type=#{qualityInspect.inspectType} |
| | | <if test="qualityInspect.supplier != null and qualityInspect.supplier != '' "> |
| | | AND supplier like concat('%',#{qualityInspect.supplier},'%') |
| | | AND qi.supplier like concat('%',#{qualityInspect.supplier},'%') |
| | | </if> |
| | | <if test="qualityInspect.customer != null and qualityInspect.customer != '' "> |
| | | AND customer like concat('%',#{qualityInspect.customer},'%') |
| | | AND qi.customer like concat('%',#{qualityInspect.customer},'%') |
| | | </if> |
| | | <if test="qualityInspect.process != null and qualityInspect.process != '' "> |
| | | AND process like concat('%',#{qualityInspect.process},'%') |
| | | AND qi.process like concat('%',#{qualityInspect.process},'%') |
| | | </if> |
| | | <if test="qualityInspect.productName != null and qualityInspect.productName != '' "> |
| | | AND product_name like concat('%',#{qualityInspect.productName},'%') |
| | | AND qi.product_name like concat('%',#{qualityInspect.productName},'%') |
| | | </if> |
| | | <if test="qualityInspect.entryDateStart != null and qualityInspect.entryDateStart != '' "> |
| | | AND check_time >= DATE_FORMAT(#{qualityInspect.entryDateStart},'%Y-%m-%d') |
| | | AND qi.check_time >= DATE_FORMAT(#{qualityInspect.entryDateStart},'%Y-%m-%d') |
| | | </if> |
| | | <if test="qualityInspect.entryDateEnd != null and qualityInspect.entryDateEnd != '' "> |
| | | AND check_time <= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d') |
| | | AND qi.check_time <= DATE_FORMAT(#{qualityInspect.entryDateEnd},'%Y-%m-%d') |
| | | </if> |
| | | ORDER BY check_time DESC |
| | | <if test="qualityInspect.purchaseContractNo != null and qualityInspect.purchaseContractNo != '' "> |
| | | AND pl.purchase_contract_number like concat('%',#{qualityInspect.purchaseContractNo},'%') |
| | | </if> |
| | | <if test="qualityInspect.workOrderNo != null and qualityInspect.workOrderNo != '' "> |
| | | AND pot.work_order_no like concat('%',#{qualityInspect.workOrderNo},'%') |
| | | </if> |
| | | <if test="qualityInspect.salesContractNo != null and qualityInspect.salesContractNo != '' "> |
| | | AND po_sales.sales_contract_no like concat('%',#{qualityInspect.salesContractNo},'%') |
| | | </if> |
| | | ORDER BY qi.check_time DESC |
| | | </select> |
| | | |
| | | <select id="qualityInspectExport" resultType="com.ruoyi.quality.pojo.QualityInspect"> |
| | | SELECT |
| | | * |
| | |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 |
| | | AND qi.check_result = '合格' |
| | | THEN qi.quantity |
| | | THEN qi.qualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS qualifiedCount, |
| | |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 |
| | | AND qi.check_result = '不合格' |
| | | THEN qi.quantity |
| | | THEN qi.unqualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS unqualifiedCount, |
| | |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 |
| | | AND qi.check_result = '合格' |
| | | THEN qi.quantity |
| | | THEN qi.qualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) |
| | |
| | | /* 合格 */ |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 AND qi.check_result = '合格' |
| | | THEN qi.quantity |
| | | WHEN qi.inspect_state = 1 |
| | | THEN qi.qualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS qualifiedCount, |
| | |
| | | /* 不合格 */ |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 AND qi.check_result = '不合格' |
| | | THEN qi.quantity |
| | | WHEN qi.inspect_state = 1 |
| | | THEN qi.unqualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS unqualifiedCount, |
| | |
| | | ROUND( |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN qi.inspect_state = 1 AND qi.check_result = '合格' |
| | | THEN qi.quantity |
| | | WHEN qi.inspect_state = 1 |
| | | THEN qi.qualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) |
| | |
| | | |
| | | <select id="getYearlyPassRateStatistics" resultType="com.ruoyi.quality.dto.QualityPassRateDto"> |
| | | SELECT t.modelType, |
| | | |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN pp.product_name = '原材料' AND t.modelType = 0 THEN qi.quantity |
| | |
| | | WHEN pp.product_name = '成品' AND t.modelType = 2 THEN qi.quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS totalCount |
| | | |
| | | ), 0) AS totalCount, |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN pp.product_name = '原材料' AND t.modelType = 0 THEN qi.qualified_quantity |
| | | WHEN pp.product_name = '半成品' AND t.modelType = 1 THEN qi.qualified_quantity |
| | | WHEN pp.product_name = '成品' AND t.modelType = 2 THEN qi.qualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS qualifiedCount, |
| | | COALESCE(SUM( |
| | | CASE |
| | | WHEN pp.product_name = '原材料' AND t.modelType = 0 THEN qi.unqualified_quantity |
| | | WHEN pp.product_name = '半成品' AND t.modelType = 1 THEN qi.unqualified_quantity |
| | | WHEN pp.product_name = '成品' AND t.modelType = 2 THEN qi.unqualified_quantity |
| | | ELSE 0 |
| | | END |
| | | ), 0) AS unqualifiedCount |
| | | FROM (SELECT 0 AS modelType |
| | | UNION ALL |
| | | SELECT 1 |
| | |
| | | ON qi.product_model_id = pm.id |
| | | AND YEAR(qi.check_time) = #{year} |
| | | AND qi.inspect_state = 1 |
| | | AND qi.check_result = '合格' |
| | | |
| | | GROUP BY t.modelType |
| | | ORDER BY t.modelType; |
| | | </select> |