TpPRegionAreaSMapper.xml 3.13 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.TpPRegionAreaSMapper">
  <resultMap id="BaseResultMap" type="com.zteits.park.domain.TpPRegionArea">
    <id column="id" jdbcType="BIGINT" property="id" />
    <result column="pl_no" jdbcType="VARCHAR" property="plNo" />
    <result column="park_area_code" jdbcType="VARCHAR" property="parkAreaCode" />
    <result column="park_area_name" jdbcType="VARCHAR" property="parkAreaName" />
    <result column="remark" jdbcType="VARCHAR" property="remark" />
    <result column="data_state" jdbcType="INTEGER" property="dataState" />
    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
    <result column="create_op" jdbcType="BIGINT" property="createOp" />
    <result column="modify_time" jdbcType="TIMESTAMP" property="modifyTime" />
    <result column="modify_op" jdbcType="BIGINT" property="modifyOp" />
    <result column="opt_flg" jdbcType="CHAR" property="optFlg" />
  </resultMap>
  <sql id="Base_Column_List">
    id, pl_no, park_area_code, park_area_name, remark, data_state, create_time, create_op, 
    modify_time, modify_op, opt_flg
  </sql>
  
  <!-- langlw 2017-9-1 -->
  <select id="queryTpPRegionAreaForPage"  resultType="com.zteits.park.domain.TpPRegionAreaDO">
  	SELECT
  		area.id as id,
		area.pl_no AS plNo,
		area.park_area_name AS parkAreaName,
		area.park_area_code AS parkAreaCode,
		lot.pl_name AS plName,
		IFNULL( berthsNum, 0 ) AS berthsNum 
	FROM
		tp_p_region_area area
		JOIN parking_lot lot ON area.pl_no = lot.pl_no
		LEFT JOIN ( 
		SELECT b.park_area_code, count( 1 ) berthsNum FROM tp_p_berths b 
		WHERE b.data_state = 1 
		<if test="plNos != null and plNos.size>0">
        	and b.pl_no IN 
	      <foreach collection="plNos" open="(" close=")" separator="," item="plNo">
	         #{plNo}
	      </foreach>
     </if>
		GROUP BY b.park_area_code 
		) t ON t.park_area_code = area.park_area_code 
	WHERE
		area.data_state = 1 
		AND lot.data_status =1
  	<if test="plNos != null and plNos.size>0">
        	and area.pl_no IN 
	      <foreach collection="plNos" open="(" close=")" separator="," item="plNo">
	         #{plNo}
	      </foreach>
     </if>
     order by park_area_name
  	
  </select>
  
  <!-- 根据车位号和停车场编号查询区间信息 -->
  <select id="queryRegionAreaByBerthNo" resultMap="BaseResultMap">
  	SELECT
		area.*
	FROM
		tp_p_region_area area
	JOIN tp_p_berths berths ON berths.park_area_code = area.park_area_code
	WHERE
		berths.pl_no = #{plNo}
	AND berths.berth_no = #{berthNo}
	AND berths.data_state = 1
	AND area.data_state = 1;
  </select>
  <!-- 判断泊位区间下是否有泊位信息,有则不可以删除 -->
  <select id="queryNotAllowDeleteBerthAreaInfo" resultMap="BaseResultMap">
  	SELECT
		area.* 
	FROM
		tp_p_region_area area
		JOIN tp_p_berths b ON area.park_area_code = b.park_area_code 
	WHERE
		b.data_state = 1 
		AND area.data_state = 1 
		and area.id IN 
		<foreach collection="ids" open="(" close=")" separator="," item="id">
		         #{id}
		</foreach>
  </select>
  
</mapper>