<?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.mom.mapper.InsSampleMapper">
|
|
<resultMap id="BaseResultMap" type="com.yuanchu.mom.pojo.InsSample">
|
<id property="id" column="id" jdbcType="INTEGER"/>
|
<result property="insResult" column="ins_result" jdbcType="INTEGER"/>
|
<result property="insOrderId" column="ins_order_id" jdbcType="INTEGER"/>
|
<result property="joinModel" column="join_model" jdbcType="VARCHAR"/>
|
<result property="joinName" column="join_name" jdbcType="VARCHAR"/>
|
<result property="sampleCode" column="sample_code" jdbcType="VARCHAR"/>
|
<result property="factory" column="factory" jdbcType="VARCHAR"/>
|
<result property="laboratory" column="laboratory" jdbcType="VARCHAR"/>
|
<result property="sampleType" column="sample_type" jdbcType="VARCHAR"/>
|
<result property="sample" column="sample" jdbcType="VARCHAR"/>
|
<result property="model" column="model" jdbcType="VARCHAR"/>
|
<result property="isLeave" column="is_leave" jdbcType="INTEGER"/>
|
<result property="leaveNum" column="leave_num" jdbcType="INTEGER"/>
|
<result property="insProgress" column="ins_progress" jdbcType="VARCHAR"/>
|
<result property="insState" column="ins_state" jdbcType="INTEGER"/>
|
<result property="sendTime" column="send_time" jdbcType="TIMESTAMP"/>
|
<result property="joinNum" column="join_num" jdbcType="INTEGER"/>
|
<result property="remark" column="remark" jdbcType="VARCHAR"/>
|
<result property="appointed" column="appointed" jdbcType="TIMESTAMP"/>
|
<result property="createUser" column="create_user" jdbcType="INTEGER"/>
|
<result property="updateUser" column="update_user" jdbcType="INTEGER"/>
|
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
|
</resultMap>
|
|
<sql id="Base_Column_List">
|
id,ins_result,ins_order_id,
|
join_model,join_name,sample_code,
|
factory,laboratory,sample_type,
|
sample,model,is_leave,
|
leave_num,ins_progress,ins_state,
|
send_time,join_num,remark,
|
appointed,create_user,update_user,
|
create_time,update_time
|
</sql>
|
<select id="findInsSampleAndOrder" resultType="com.yuanchu.mom.vo.InsOrderPlanVO">
|
SELECT DISTINCT
|
io.entrust_code,
|
io.type,
|
tempA.id,
|
tempA.sample,
|
tempA.sample_code,
|
tempA.send_time,
|
tempA.appointed,
|
tempA.ins_state,
|
tempA.ins_result,
|
tempA.user_id,
|
tempA.ins_order_id,
|
tempA.sample_user_id,
|
ipr.son_laboratory
|
FROM
|
(
|
SELECT
|
temp.*
|
FROM
|
(
|
SELECT
|
isa.id,
|
isa.sample,
|
isa.sample_code,
|
isa.send_time,
|
isa.appointed,
|
isa.ins_state,
|
isa.ins_result,
|
isu.user_id,
|
isa.ins_order_id,
|
isu.id as sample_user_id
|
FROM
|
ins_sample isa
|
LEFT JOIN ins_sample_user isu ON isa.id = isu.ins_sample_id
|
) AS temp
|
WHERE
|
temp.user_id = #{ew.userId}
|
OR ( SELECT COUNT(*) FROM ins_sample_user WHERE ins_sample_id = temp.id ) = 0
|
) AS tempA
|
LEFT JOIN ins_order io ON tempA.ins_order_id = io.id
|
LEFT JOIN ins_product ipr ON tempA.id = ipr.ins_sample_id
|
WHERE
|
io.state = #{ew.state}
|
AND ipr.state = 1
|
AND ipr.son_laboratory = #{ew.childrenLaboratory}
|
<if test="ew.insState!=null and ew.insState!=''">
|
AND tempA.ins_state = #{ew.insState}
|
</if>
|
<if test="ew.sampleName!=null and ew.sampleName!=''">
|
AND tempA.sample like concat('%',#{ew.sampleName},'%')
|
</if>
|
<if test="ew.viewSelf==true">
|
AND tempA.sample_user_id is not null
|
</if>
|
ORDER BY io.type DESC
|
</select>
|
</mapper>
|