<?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.report.mapper.TestItemDataMapper">
|
|
<!-- 分页查询检测项目数据 -->
|
<select id="pageTestItemData" resultType="com.ruoyi.report.vo.TestItemDataVo">
|
SELECT
|
p.id AS productId,
|
s.id AS sampleId,
|
s.sample_code AS sampleCode,
|
s.sample AS sampleName,
|
o.production AS productionOrder,
|
o.entrust_code AS batchNo,
|
p.inspection_item AS itemName,
|
p.last_value AS lastValue,
|
p.ask AS standardValue,
|
p.ins_result AS insResult,
|
p.unit AS unit,
|
u.name AS insUser,
|
o.ins_time AS insTime,
|
r.code AS reportCode
|
FROM ins_product p
|
LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
|
LEFT JOIN ins_order o ON s.ins_order_id = o.id
|
LEFT JOIN ins_report r ON o.id = r.ins_order_id
|
LEFT JOIN ins_product_user pu ON p.id = pu.ins_product_id
|
LEFT JOIN user u ON pu.create_user = u.id
|
WHERE 1=1
|
<if test="dto.productionOrder != null and dto.productionOrder != ''">
|
AND o.production LIKE CONCAT('%', #{dto.productionOrder}, '%')
|
</if>
|
<if test="dto.batchNo != null and dto.batchNo != ''">
|
AND o.entrust_code LIKE CONCAT('%', #{dto.batchNo}, '%')
|
</if>
|
<if test="dto.sampleCode != null and dto.sampleCode != ''">
|
AND s.sample_code LIKE CONCAT('%', #{dto.sampleCode}, '%')
|
</if>
|
<if test="dto.sampleName != null and dto.sampleName != ''">
|
AND s.sample LIKE CONCAT('%', #{dto.sampleName}, '%')
|
</if>
|
<if test="dto.itemName != null and dto.itemName != ''">
|
AND p.inspection_item LIKE CONCAT('%', #{dto.itemName}, '%')
|
</if>
|
<if test="dto.insState != null">
|
AND o.ins_state = #{dto.insState}
|
</if>
|
<if test="dto.startTime != null and dto.startTime != ''">
|
AND o.ins_time >= #{dto.startTime}
|
</if>
|
<if test="dto.endTime != null and dto.endTime != ''">
|
AND o.ins_time <= #{dto.endTime}
|
</if>
|
ORDER BY o.ins_time DESC
|
</select>
|
|
<!-- 查询检测项目详情 -->
|
<select id="getDetail" resultType="com.ruoyi.report.vo.TestItemDataVo">
|
SELECT
|
p.id AS productId,
|
s.id AS sampleId,
|
s.sample_code AS sampleCode,
|
s.sample AS sampleName,
|
o.production AS productionOrder,
|
o.entrust_code AS batchNo,
|
p.inspection_item AS itemName,
|
p.last_value AS lastValue,
|
p.ask AS standardValue,
|
p.ins_result AS insResult,
|
p.unit AS unit,
|
u.name AS insUser,
|
o.ins_time AS insTime,
|
r.code AS reportCode
|
FROM ins_product p
|
LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
|
LEFT JOIN ins_order o ON s.ins_order_id = o.id
|
LEFT JOIN ins_report r ON o.id = r.ins_order_id
|
LEFT JOIN ins_product_user pu ON p.id = pu.ins_product_id
|
LEFT JOIN user u ON pu.create_user = u.id
|
WHERE s.id = #{sampleId}
|
ORDER BY p.inspection_item ASC
|
</select>
|
|
<!-- 查询检测项名称列表 -->
|
<select id="getItemNames" resultType="java.lang.String">
|
SELECT DISTINCT p.inspection_item
|
FROM ins_product p
|
LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
|
LEFT JOIN ins_order o ON s.ins_order_id = o.id
|
WHERE 1=1
|
<if test="dto.sampleName != null and dto.sampleName != ''">
|
AND s.sample LIKE CONCAT('%', #{dto.sampleName}, '%')
|
</if>
|
<if test="dto.startTime != null and dto.startTime != ''">
|
AND o.ins_time >= #{dto.startTime}
|
</if>
|
<if test="dto.endTime != null and dto.endTime != ''">
|
AND o.ins_time <= #{dto.endTime}
|
</if>
|
ORDER BY p.inspection_item ASC
|
</select>
|
|
<!-- 根据样品ID列表查询检测数据 -->
|
<select id="listBySampleIds" resultType="com.ruoyi.report.vo.TestItemDataVo">
|
SELECT
|
p.id AS productId,
|
s.id AS sampleId,
|
s.sample_code AS sampleCode,
|
s.sample AS sampleName,
|
o.production AS productionOrder,
|
o.entrust_code AS batchNo,
|
p.inspection_item AS itemName,
|
p.last_value AS lastValue,
|
p.ask AS standardValue,
|
p.ins_result AS insResult,
|
p.unit AS unit,
|
u.name AS insUser,
|
o.ins_time AS insTime,
|
r.code AS reportCode
|
FROM ins_product p
|
LEFT JOIN ins_sample s ON p.ins_sample_id = s.id
|
LEFT JOIN ins_order o ON s.ins_order_id = o.id
|
LEFT JOIN ins_report r ON o.id = r.ins_order_id
|
LEFT JOIN ins_product_user pu ON p.id = pu.ins_product_id
|
LEFT JOIN user u ON pu.create_user = u.id
|
WHERE s.id IN
|
<foreach collection="sampleIds" item="id" open="(" separator="," close=")">
|
#{id}
|
</foreach>
|
ORDER BY s.sample_code ASC, p.inspection_item ASC
|
</select>
|
|
</mapper>
|