<?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.dy.pmsGlobal.daoSta.StaWipSnExMapper"> 
 | 
  
 | 
    <resultMap id="BaseResultMap" type="com.dy.pmsGlobal.pojoSta.StaWipSnEx"> 
 | 
            <id property="id" column="id" jdbcType="BIGINT"/> 
 | 
            <result property="deviceNo" column="device_no" jdbcType="VARCHAR"/> 
 | 
            <result property="productId" column="product_id" jdbcType="BIGINT"/> 
 | 
            <result property="productName" column="product_name" jdbcType="VARCHAR"/> 
 | 
            <result property="productNo" column="product_no" jdbcType="VARCHAR"/> 
 | 
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/> 
 | 
            <result property="createBy" column="create_by" jdbcType="BIGINT"/> 
 | 
    </resultMap> 
 | 
  
 | 
    <sql id="Base_Column_List"> 
 | 
        id,device_no,product_id, 
 | 
        product_name,product_no,create_time, 
 | 
        create_by 
 | 
    </sql> 
 | 
  
 | 
    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
        select 
 | 
        <include refid="Base_Column_List" /> 
 | 
        from sta_wip_sn_ex 
 | 
        where  id = #{id,jdbcType=BIGINT}  
 | 
    </select> 
 | 
    <select id="selectByDeviceNo" resultType="com.dy.pmsGlobal.pojoSta.StaWipSnEx"> 
 | 
        SELECT 
 | 
        <include refid="Base_Column_List" /> 
 | 
        FROM ( 
 | 
        SELECT 
 | 
        <include refid="Base_Column_List" /> 
 | 
          , ROW_NUMBER() OVER (PARTITION BY device_no,product_no ORDER BY create_time DESC) AS rn 
 | 
        FROM sta_wip_sn_ex   WHERE device_no = #{deviceNo,jdbcType=VARCHAR} 
 | 
        ) t 
 | 
        WHERE rn = 1; 
 | 
    </select> 
 | 
  
 | 
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
        delete from sta_wip_sn_ex 
 | 
        where  id = #{id,jdbcType=BIGINT}  
 | 
    </delete> 
 | 
    <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoSta.StaWipSnEx" useGeneratedKeys="true"> 
 | 
        insert into sta_wip_sn_ex 
 | 
        ( id,device_no,product_id 
 | 
        ,product_name,product_no,create_time 
 | 
        ,create_by) 
 | 
        values (#{id,jdbcType=BIGINT},#{deviceNo,jdbcType=VARCHAR},#{productId,jdbcType=BIGINT} 
 | 
        ,#{productName,jdbcType=VARCHAR},#{productNo,jdbcType=VARCHAR},#{createTime,jdbcType=TIMESTAMP} 
 | 
        ,#{createBy,jdbcType=BIGINT}) 
 | 
    </insert> 
 | 
    <insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoSta.StaWipSnEx" useGeneratedKeys="true"> 
 | 
        insert into sta_wip_sn_ex 
 | 
        <trim prefix="(" suffix=")" suffixOverrides=","> 
 | 
                <if test="id != null">id,</if> 
 | 
                <if test="deviceNo != null and deviceNo !=''">device_no,</if> 
 | 
                <if test="productId != null">product_id,</if> 
 | 
                <if test="productName != null and productName !=''">product_name,</if> 
 | 
                <if test="productNo!= null and productNo !=''">product_no,</if> 
 | 
                <if test="createTime != null">create_time,</if> 
 | 
                <if test="createBy != null">create_by,</if> 
 | 
        </trim> 
 | 
        <trim prefix="values (" suffix=")" suffixOverrides=","> 
 | 
                <if test="id != null">#{id,jdbcType=BIGINT},</if> 
 | 
                <if test="deviceNo != null and deviceNo !=''">#{deviceNo,jdbcType=VARCHAR},</if> 
 | 
                <if test="productId != null">#{productId,jdbcType=BIGINT},</if> 
 | 
                <if test="productName != null and productName !=''">#{productName,jdbcType=VARCHAR},</if> 
 | 
                <if test="productNo!= null and productNo !=''">#{productNo,jdbcType=VARCHAR},</if> 
 | 
                <if test="createTime != null">#{createTime,jdbcType=TIMESTAMP},</if> 
 | 
                <if test="createBy != null">#{createBy,jdbcType=BIGINT},</if> 
 | 
        </trim> 
 | 
    </insert> 
 | 
    <update id="updateByPrimaryKeySelective" parameterType="com.dy.pmsGlobal.pojoSta.StaWipSnEx"> 
 | 
        update sta_wip_sn_ex 
 | 
        <set> 
 | 
                <if test="deviceNo != null and deviceNo !=''"> 
 | 
                    device_no = #{deviceNo,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
                <if test="productId != null"> 
 | 
                    product_id = #{productId,jdbcType=BIGINT}, 
 | 
                </if> 
 | 
                <if test="productName != null and productName !=''"> 
 | 
                    product_name = #{productName,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
                <if test="productNo!= null and productNo !=''"> 
 | 
                    product_no = #{productNo,jdbcType=VARCHAR}, 
 | 
                </if> 
 | 
                <if test="createTime != null"> 
 | 
                    create_time = #{createTime,jdbcType=TIMESTAMP}, 
 | 
                </if> 
 | 
                <if test="createBy != null"> 
 | 
                    create_by = #{createBy,jdbcType=BIGINT}, 
 | 
                </if> 
 | 
        </set> 
 | 
        where   id = #{id,jdbcType=BIGINT}  
 | 
    </update> 
 | 
    <update id="updateByPrimaryKey" parameterType="com.dy.pmsGlobal.pojoSta.StaWipSnEx"> 
 | 
        update sta_wip_sn_ex 
 | 
        set  
 | 
            device_no =  #{deviceNo,jdbcType=VARCHAR}, 
 | 
            product_id =  #{productId,jdbcType=BIGINT}, 
 | 
            product_name =  #{productName,jdbcType=VARCHAR}, 
 | 
            product_no =  #{productNo,jdbcType=VARCHAR}, 
 | 
            create_time =  #{createTime,jdbcType=TIMESTAMP}, 
 | 
            create_by =  #{createBy,jdbcType=BIGINT} 
 | 
        where   id = #{id,jdbcType=BIGINT}  
 | 
    </update> 
 | 
</mapper> 
 |