<?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.railway.business.baseinfo.mapper.BaseDeptLineMapper">

  <resultMap id="BaseResultMap" type="com.railway.business.baseinfo.domain.BaseDeptLine">
    <result column="id" property="id"/>
    <result column="line_id" property="lineId"/>
    <result column="dept_id" property="deptId"/>
    <result column="dept_name" property="deptName"/>
    <result column="line_ktrq" property="lineKtrq"/>
    <result column="line_start_marker" property="lineStartMarker"/>
    <result column="line_end_marker" property="lineEndMarker"/>
    <result column="line_gdfs" property="lineGdfs"/>
    <result column="line_xglx" property="lineXglx"/>
    <result column="line_qt" property="lineQt"/>
    <result column="line_sjbh" property="lineSjbh"/>
    <result column="order_num" property="orderNum"/>
    <result column="del_flag" property="delFlag"/>
    <result column="create_by" property="createBy"/>
    <result column="create_time" property="createTime"/>
    <result column="update_by" property="updateBy"/>
    <result column="update_time" property="updateTime"/>
  </resultMap>

  <sql id="Base_Column_List">
    t.id,
    t.line_id,
    t.dept_id,
    t.line_ktrq,
    t.line_start_marker,
    t.line_end_marker,
    t.line_gdfs,
    t.line_xglx,
    t.line_qt,
    t.line_sjbh,
    t.order_num
  </sql>

  <insert id="insert" parameterType="com.railway.business.baseinfo.domain.BaseDeptLine">
    INSERT INTO base_dept_line
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test='null != deptId'>
        dept_id,
      </if>
      <if test='null != lineId'>
        line_id,
      </if>
      <if test='null != lineKtrq'>
        line_ktrq,
      </if>
      <if test='null != lineStartMarker'>
        line_start_marker,
      </if>
      <if test='null != lineEndMarker'>
        line_end_marker,
      </if>
      <if test='null != lineGdfs'>
        line_gdfs,
      </if>
      <if test='null != lineXglx'>
        line_xglx,
      </if>
      <if test='null != lineQt'>
        line_qt,
      </if>
      <if test='null != lineSjbh'>
        line_sjbh,
      </if>
      <if test='null != orderNum'>
        order_num,
      </if>
      <if test='null != delFlag'>
        del_flag,
      </if>
      <if test='null != createBy'>
        create_by,
      </if>
      <if test='null != createTime'>
        create_time,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test='null != deptId'>
        #{deptId},
      </if>
      <if test='null != lineId'>
        #{lineId},
      </if>
      <if test='null != lineKtrq'>
        #{lineKtrq},
      </if>
      <if test='null != lineStartMarker'>
        #{lineStartMarker},
      </if>
      <if test='null != lineEndMarker'>
        #{lineEndMarker},
      </if>
      <if test='null != lineGdfs'>
        #{lineGdfs},
      </if>
      <if test='null != lineXglx'>
        #{lineXglx},
      </if>
      <if test='null != lineQt'>
        #{lineQt},
      </if>
      <if test='null != lineSjbh'>
        #{lineSjbh},
      </if>
      <if test='null != orderNum'>
        #{orderNum},
      </if>
      <if test='null != delFlag'>
        #{delFlag},
      </if>
      <if test='null != createBy'>
        #{createBy},
      </if>
      <if test='null != createTime'>
        #{createTime},
      </if>
    </trim>
  </insert>

  <delete id="delete">
    UPDATE base_dept_line
    set del_flag='1'
    WHERE line_id = #{lineId}
  </delete>

  <select id="getList" resultMap="BaseResultMap">
    SELECT
    <include refid="Base_Column_List"/>, d.dept_name
    FROM base_dept_line t
    LEFT JOIN sys_dept d on t.dept_id = d.dept_id
    <where>
      t.del_flag='0'
      <if test="lineId!=null and lineId!=''">
        and t.line_id=#{lineId}
      </if>
    </where>
  </select>

  <select id="getDeptByLineId" resultMap="BaseResultMap">
    SELECT t.dept_id, d.dept_name
    FROM base_dept_line t
    LEFT JOIN sys_dept d on t.dept_id = d.dept_id
    <where>
      t.del_flag='0'
      <if test="lineId!=null and lineId!=''">
        and t.line_id=#{lineId}
      </if>
    </where>
  </select>

</mapper>