<?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.yuanchu.limslaboratory.mapper.ReportMapper">
|
|
<!--查询检验报告-->
|
<select id="selectAllReport" resultType="com.yuanchu.limslaboratory.pojo.vo.ReportVo">
|
select r.id,
|
im.code materialCode,
|
r.code reportCode,
|
i.code inspectionCode,
|
im.name materialName,
|
r.conclusion,
|
r.status,
|
r.approver approver,
|
i.type,
|
check_time,
|
u.name
|
from lims_laboratory.report r
|
join lims_laboratory.inspection i on r.inspection_id = i.id
|
join lims_laboratory.user u on i.user_id = u.id
|
join lims_laboratory.inspection_material im on i.id = im.inspection_id
|
<where>
|
r.state = 1
|
<if test="status != null">
|
and r.status = #{status}
|
</if>
|
<if test="name != null and name != ''">
|
and im.code like concat('%', #{name}, '%')
|
or i.code like concat('%', #{name}, '%')
|
or r.code like concat('%', #{name}, '%')
|
</if>
|
</where>
|
order by r.id
|
</select>
|
|
<resultMap id="report" type="map">
|
<id property="rcode" column="rcode"/>
|
<result property="name" column="name"/>
|
<result property="num" column="num"/>
|
<result property="specifications" column="specifications"/>
|
<result property="supplier" column="supplier"/>
|
<result property="insCode" column="ins_code"/>
|
<result property="type" column="type"/>
|
<result property="imCode" column="im_code"/>
|
<result property="createTime" column="create_time"/>
|
<result property="checkTime" column="check_time"/>
|
<result property="inspectionStatus" column="inspection_status"/>
|
<result property="notes" column="notes"/>
|
<result property="iUserName" column="iUserName"/>
|
<collection property="products" resultMap="products" javaType="java.util.List"/>
|
<collection property="equipment" resultMap="equipment" javaType="java.util.List"/>
|
</resultMap>
|
|
<resultMap id="products" type="map">
|
<id property="code" column="id"/>
|
<result property="ipName" column="ip_name"/>
|
<result property="unit" column="unit"/>
|
<result property="required" column="required"/>
|
<result property="testValue" column="test_value"/>
|
<result property="testState" column="test_state"/>
|
<result property="ipName" column="ipName"/>
|
</resultMap>
|
<resultMap id="equipment" type="map">
|
<result property="eId" column="eId"/>
|
<result property="eName" column="eName"/>
|
<result property="eType" column="eType"/>
|
<result property="eCode" column="eCode"/>
|
<result property="validty" column="validty"/>
|
</resultMap>
|
|
<select id="getReportContext" resultMap="report">
|
SELECT r.`code` rcode,
|
date_format(r.create_time, '%Y-%m-%d') create_time,
|
date_format(r.check_time, '%Y-%m-%d') check_time,
|
i.inspection_status,
|
im.`name`,
|
im.num,
|
im.specifications,
|
im.supplier,
|
im.`code` im_code,
|
i.`code` ins_code,
|
i.type,
|
ip.id,
|
ip.`name` ip_name,
|
im.form_time formTime,
|
ip.unit,
|
ip.required,
|
ip.test_value,
|
ip.test_state,
|
(SELECT u.`name` FROM `user` u WHERE u.id = i.user_id) iUserName,
|
im.notes,
|
ins.id eId,
|
ins.equipment_name eName,
|
ins.specifications_models eType,
|
ins.equipment_code eCode,
|
DATE_FORMAT(DATE_ADD(mi.end_date, INTERVAL ins.term_validity MONTH), '%Y-%m-%d') validty
|
FROM report r
|
LEFT JOIN inspection i ON r.inspection_id = i.id
|
LEFT JOIN inspection_material im ON im.inspection_id = i.id
|
LEFT JOIN inspection_product ip ON ip.inspection_material_id = im.id
|
LEFT JOIN `user` u ON ip.user_id = u.id
|
LEFT JOIN instrument ins ON ip.instrument_id = ins.id
|
LEFT JOIN metrical_information mi on ins.id = mi.instrument_id
|
WHERE ip.state != 0
|
AND im.state != 0
|
AND ins.state != 0
|
AND u.state != 0
|
AND i.state != 0
|
AND r.`code` = #{code}
|
ORDER BY mi.end_date DESC
|
LIMIT 1
|
</select>
|
|
</mapper>
|