ParkingLotAreasSMapper.xml 8.74 KB
<?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.zteits.park.mapper.smapper.ParkingLotAreasSMapper">
  <resultMap id="BaseResultMap" type="com.zteits.park.domain.ParkingLotAreas">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="pl_no" jdbcType="VARCHAR" property="plNo" />
    <result column="parent_id" jdbcType="BIGINT" property="parentId" />
    <result column="area_name" jdbcType="VARCHAR" property="areaName" />
    <result column="area_description" jdbcType="VARCHAR" property="areaDescription" />
    <result column="whether_charge" jdbcType="CHAR" property="whetherCharge" />
    <result column="area_type" jdbcType="INTEGER" property="areaType" />
    <result column="area_level" jdbcType="INTEGER" property="areaLevel" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="create_op" jdbcType="VARCHAR" property="createOp" />
    <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
    <result column="modify_op" jdbcType="VARCHAR" property="modifyOp" />
    <result column="remark" jdbcType="VARCHAR" property="remark" />
    <result column="inner_area_number" jdbcType="BIGINT" property="innerAreaNumber" />
    <result column="inner_area_mon_number" jdbcType="BIGINT" property="innerAreaMonNumber" />
    <result column="inner_area_private_number" jdbcType="BIGINT" property="innerAreaPrivateNumber" />
    <result column="inner_area_big_number" jdbcType="BIGINT" property="innerAreaBigNumber" />
      <result column="inner_area_berth_number" jdbcType="BIGINT" property="innerAreaBerthNumber" />
      <result column="data_status" jdbcType="INTEGER" property="dataStatus" />
      <result column="area_name_label" jdbcType="VARCHAR" property="label" />
      <result column="pl_name" jdbcType="VARCHAR" property="plName" />
  </resultMap>
  <sql id="Example_Where_Clause">
    <where>
      <foreach collection="oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Update_By_Example_Where_Clause">
    <where>
      <foreach collection="example.oredCriteria" item="criteria" separator="or">
        <if test="criteria.valid">
          <trim prefix="(" prefixOverrides="and" suffix=")">
            <foreach collection="criteria.criteria" item="criterion">
              <choose>
                <when test="criterion.noValue">
                  and ${criterion.condition}
                </when>
                <when test="criterion.singleValue">
                  and ${criterion.condition} #{criterion.value}
                </when>
                <when test="criterion.betweenValue">
                  and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
                </when>
                <when test="criterion.listValue">
                  and ${criterion.condition}
                  <foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
                    #{listItem}
                  </foreach>
                </when>
              </choose>
            </foreach>
          </trim>
        </if>
      </foreach>
    </where>
  </sql>
  <sql id="Base_Column_List">
    id, pl_no, parent_id, area_name, area_description, whether_charge, area_type, area_level,
    create_time, create_op, modify_time, modify_op, remark, inner_area_number, inner_area_mon_number, 
    inner_area_private_number, inner_area_big_number, inner_area_berth_number
  </sql>


    <select id="selectByExampleLabel" parameterType="com.zteits.clouds.api.dto.park.param.closecarpark.QueryParkAreaListRequest" resultMap="BaseResultMap">
        select
        a.id,
        a.pl_no,
        a.parent_id,
        a.area_name,
        a.area_name AS area_name_label,
        a.area_description,
        a.whether_charge,
        a.area_type,
        a.area_level,
        a.create_time,
        a.create_op,
        a.modify_time,
        a.modify_op,
        a.remark,
        a.inner_area_number,
        a.inner_area_mon_number,
        a.inner_area_private_number,
        a.inner_area_big_number,
        a.inner_area_berth_number,
        l.pl_name
        from parking_lot_areas a
        LEFT JOIN parking_lot l on a.pl_no = l.pl_no
        <where>
            a.data_status = 1
            <if test="plNo != null and plNo != ''">
              and  a.pl_no = #{plNo}
            </if>
        </where>

    </select>


    <select id="queryParkingAreaRuleList" parameterType="com.zteits.clouds.api.dto.park.param.closecarpark.QueryParkAreaListRequest"
            resultType="com.zteits.clouds.api.dto.park.dto.ParkingAreaRuleListDTO">
        select
        a.id,
        a.pl_no plNo,
        a.parent_id parentId,
        a.area_name areaName,
        a.area_name AS areaNameLabel ,
        a.area_description areaDescription,
        a.whether_charge whetherCharge,
        a.area_type areaType,
        a.area_level areaLevel,
        a.create_time createTime,
        a.create_op createOp,
        a.modify_time modifyTime,
        a.modify_op modifyOp,
        a.remark,
        a.inner_area_number innerAreaNumber,
        a.inner_area_mon_number innerAreaMonNumber,
        a.inner_area_private_number innerAreaPrivateNumber,
        a.inner_area_big_number innerAreaBigNumber,
        a.inner_area_berth_number innerAreaBerthNumber,
        l.pl_name plName
        from parking_lot_areas a
        LEFT JOIN parking_lot l on a.pl_no = l.pl_no
        <where>
            a.data_status = 1
            <if test="plNo != null and plNo != ''">
                and  a.pl_no = #{plNo}
            </if>
        </where>

    </select>




    <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
        select
        a.id, a.pl_no, a.parent_id, a.area_name, a.area_description, a.whether_charge, a.area_type, a.area_level,
        a.create_time, a.create_op, a.modify_time, a.modify_op, a.remark, a.inner_area_number, a.inner_area_mon_number,
        a.inner_area_private_number, a.inner_area_big_number,a.inner_area_berth_number,l.pl_name
        from parking_lot_areas a
        left join parking_lot l on a.pl_no = l.pl_no
        where id = #{id,jdbcType=BIGINT}
     </select>
    <!-- 根据停车场编号以及道闸编号,获取对应的区域信息 -->
    <select id="getParkingLotAreasByPlNoAndChannel"  resultMap="BaseResultMap">
         select
              a.id, a.pl_no, a.parent_id, a.area_name, a.area_description, a.whether_charge, a.area_type, a.area_level,
              a.create_time, a.create_op, a.modify_time, a.modify_op, a.remark

            from
            parking_lot_channel c
            left join parking_lot_areas a
            on c.area_id = a.id
            where c.data_status  = 1
            and a.data_status = 1
            and a.pl_no = #{plNo}
            and c.channel_number = #{channelNumber}
            limit 1

    </select>

    <!-- 获取所有的免费的停车场区域的信息 -->
    <select id="getAllFreeChargeAreas"
            resultType="com.zteits.clouds.api.dto.park.dto.closecarpark.ParkingLotChannelAreaDTO">

        select
                a.id as areaId,
                a.pl_no as plNo,
                a.parent_id as parentAreaId,
                a.area_name as areaName,
                a.whether_charge as whetherCharge,
                a.area_type as areaType,
                c.id as channelId,
                c.channel_name as channelName,
                c.channel_number as channelNumber,
                c.channel_direction as channelDirection
            from
                parking_lot_channel c
            left join parking_lot_areas a
            on c.area_id = a.id
            where c.data_status  = 1
            and a.data_status = 1
            and a.whether_charge = 0
    </select>


</mapper>