SampleMapper.xml 4.21 KB
Newer Older
qinhu's avatar
1  
qinhu committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
<?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="cn.wise.sc.cement.business.mapper.SampleMapper">
    <sql id="where">
        <where>
            and s.parallel_code = s.cement_code
            <if test="params.sampleName != null and params.sampleName != ''">
                and s.name like concat('%', #{params.sampleName}, '%')
            </if>
            <if test="params.cementCode != null and params.cementCode != ''">
                and s.cement_code = #{params.cementCode}
            </if>
        </where>
    </sql>

    <select id="getPage" resultType="cn.wise.sc.cement.business.model.vo.SampleVo">
        select s.*, e.project_id as projectId, e.project_name as projectName,e.project_code as projectCode
        from sample s
        left join entrust e on e.id = s.entrust_id
        <include refid="where"/>
        order by s.name
    </select>

    <select id="exportList" resultType="java.util.HashMap">
        SELECT
        e.project_name as 项目名称,
        e.project_code as 项目编号,
        s.name as 样品名称,
        s.sample_form as 样品状态,
        s.sample_code as 来样编号,
        s.cement_code as 本所编号,
        IF(ISNULL(s.original_position),'',s.original_position) 小样保存位置,
        IF(ISNULL(s.register_time),'',s.register_time) as 保存日期,
        IF(ISNULL(s.destruction_time),'',s.destruction_time)  as 销毁日期,
        IF(ISNULL(su.name),'',su.name) as 批准人,
        IF(ISNULL(s.remark),'',s.remark) as 备注
        from sample s
        left join entrust e on e.id = s.entrust_id
        left join sys_user su on su.id = s.operator_id
        <include refid="where"/>
        order by s.create_time desc
    </select>

    <select id="getDetail" resultType="cn.wise.sc.cement.business.model.vo.SampleVo">
        select s.*,s.name as sampleName, s.cement_code as cementCode, s.weight as weight
        from sample s
        left join entrust e on e.id = s.entrust_id
        left join project p on p.id = e.project_id
        where s.id = #{id}
    </select>


    <select id="getSampleSaveList" resultType="cn.wise.sc.cement.business.model.SampleSaveDto">
        SELECT
            s.id,
            s.entrust_id,
            s.`name`,
            s.`sample_form`,
            s.cement_code,
            s.sample_code,
            s.little_position,
            DATE_FORMAT(s.register_time,'%Y/%m/%d') as register_time,
            DATE_FORMAT(s.destruction_time,'%Y/%m/%d') as destruction_time,
            s.operator_id,
            s.remark,
            e.project_name,
            e.project_code,
            su.`name` as user_name
        FROM
            `sample` s
        LEFT JOIN entrust e
        ON s.entrust_id = e.id
        LEFT JOIN sys_user su
        ON su.id = s.operator_id
    </select>



    <sql id="whereNew">
        <where>
            and s.parallel_code = s.cement_code
            <if test="params.sampleName != null and params.sampleName != ''">
                and s.name like concat('%', #{params.sampleName}, '%')
            </if>
            <if test="params.cementCode != null and params.cementCode != ''">
                and s.cement_code = #{params.cementCode}
            </if>
            <if test="params.start !=null">
                and s.create_time <![CDATA[>=]]> #{params.start}
            </if>
            <if test="params.end !=null">
                and s.create_time <![CDATA[<=]]> #{params.end}
            </if>
        </where>
    </sql>

    <select id="exportWordList" resultType="cn.wise.sc.cement.business.model.SampleWord">
        SELECT
            e.project_name AS project_name,
            e.entrust_code,
            s.name,
            s.cement_code,
            s.weight,
            s.original_position,
            date_format(s.create_time, '%Y/%m/%d') as create_time,
            s.remark,
            date_format(s.destruction_time, '%Y/%m/%d') as destruction_time,
            su.name AS user_name
        FROM
            sample s
            LEFT JOIN entrust e ON s.entrust_id = e.id
            LEFT JOIN sys_user su ON su.id = s.operator_id
            <include refid="whereNew"/>
    </select>


</mapper>