TpPBerthsSMapper.java 5.55 KB
package com.zteits.park.mapper.smapper;

import java.util.List;

import com.zteits.clouds.api.dto.park.dto.BerthsDTO;
import com.zteits.clouds.api.dto.park.dto.berth.BerthsStatisticDTO;
import com.zteits.clouds.api.dto.park.param.parksource.QueryParkSourceByOrgIdsRequest;
import com.zteits.clouds.api.dto.pda.param.*;
import com.zteits.clouds.api.dto.rocketmq.datacollection.freeberths.ParkAreaFreeBerthsMsgVO;
import org.apache.ibatis.annotations.Param;

import com.zteits.clouds.api.dto.park.dto.ParkOccupancyRateDTO;
import com.zteits.clouds.api.dto.park.param.CheckUniqueForBerthNoRequest;
import com.zteits.clouds.api.dto.park.param.QueryBerthForPageRequest;
import com.zteits.park.domain.ParkingLot;
import com.zteits.park.domain.TpPBerths;
import com.zteits.park.domain.TpPBerthsDO;

public interface TpPBerthsSMapper {
    

    /**
     * 通过车位对象查询车位信息
     * query berths by berth
     * langlw 2017-8-31
     * @param tpPBerths
     * @return
     */
    List<TpPBerthsDO> queryBerthByBerth(QueryBerthForPageRequest request);
    /**
     * 分组查询停车场车位占用率
     * langlw 2017-8-31
     * @param plNo
     * @param parkAreaCode
     * @return
     */
	List<ParkOccupancyRateDTO> queryParkOccupancyRate(@Param("plNo")String plNo, @Param("parkAreaCode")String parkAreaCode);
    
	/**
	 * 逻辑删除泊位信息根据泊位区间编号
	 * langlw 2017-9-4
	 * @param parkAreaCodes 不能为空
	 * @return
	 */
	int updateBerthByParkAreaCodesForDelete(@Param("parkAreaCodes")List<String> parkAreaCodes);
	/**
	 * 根据停车场查询泊位信息
	 * @param plNo
	 * @return
	 */
	List<String> getBerthNoByPlNo(@Param("plNo")String plNo);
	/**
	 * 根据停车场编号查询车位数
	 * @param plNos
	 * @return
	 */
	List<ParkingLot> queryBerthNumByPlNo(@Param("plNos") List<String> plNos);
	/**
	 * 根据停车场编号和条件查询空闲车位总数
	 * @param plNo
	 * @return
	 * 2017年8月30日 zhaowg
	 */
	Long queryFreeBerthNum(@Param("plNo") String plNo,@Param("where")String where);
	
	/**
	 * 根据泊位区间编号查询泊位信息
	 * @param parkAreaCodes
	 * @return
	 */
	List<TpPBerthsDO> queryBerthByAreaCodes(@Param("parkAreaCodes") List<String> parkAreaCodes);
	
	/**
	 * 校验泊位编码的唯一性.<br/>
	 * @param request
	 * @return
	 * 2018年1月5日  wangfs.<br/>
	 */
	 int checkUniqueForBerthNo(CheckUniqueForBerthNoRequest request);
	 /**
	  * 查询不允许删除的泊位,有在停车辆或者已经关联了地磁,则不允许删除
	  * @param ids
	  * 2018年1月6日 zhaowg
	  */
	List<TpPBerthsDO> queryNotAllowDeleteBerthInfo(@Param("ids")List<Long> ids,@Param("plNo")String plNo);
	 
 /**
	 * 批量保存泊位信息.<br/>
	 * @param
	 * @return
	 * 2018年1月6日  wangfs.<br/>
	 */
	int batchSaveBerthInfo(@Param("berthList") List<TpPBerths> list);
	/**
	 * 获取未绑定地磁的泊位信息
	 * @param plNo
	 * @return
	 * 2018年1月24日 zhaowg
	 */
	List<TpPBerths> getBerthNoBindGeoByPlNo(@Param("plNo") String plNo);

	/**
	 * 根据泊位区间编号和停车场编号和泊位或者地磁编号查询车位信息
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2018/5/31 14:34
	 *
	 */
	List<BerthsDTO> queryBerthInfoByPlNoAndOther(QueryBerthByPlNoAndOrtherRequest request);

	/**
	 * 根据停车场编号和泊位编号查询车位信息
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2018/5/31 15:56
	 *
	 */
	BerthsDTO queryBerthInfoByPlNoAndBerthNo(QueryBerthByPlNoAndBerthNoRequest request);

	/**
	 * 根据泊位区间编号查询泊位信息
	 * @param request
	 * @return
	 * 2017年10月31日 zhaowg
	 */
	List<TpPBerths> queryBerthInfoByRangeNos(QueryBerthByRangeNosRequest request);

	/**
	 * 停车场的泊位统计-根据orgIds
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2018/12/29 10:22
	 *
	 */
	BerthsStatisticDTO queryBerthStatisticByOrgIds(QueryParkSourceByOrgIdsRequest request);

	/**
	 * 各个组织对应的泊位数统计查询
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2019/1/6 22:27
	 *
	 */
	List<BerthsStatisticDTO> queryBerthStatisticForOrgId(QueryParkSourceByOrgIdsRequest request);


	/**
	 * 根据泊位区间编码查询存在地磁的泊位编码
	 * @param berthRangeNo
	 * @param plNo 
	 * @return
	 */
	List<String> queryBerthNoWithEqpNoByBerthRangeNo(@Param("berthRangeNo") String berthRangeNo,@Param("plNo") String plNo);

	/**
	 * 入场-修改泊位信息(仅仅用于pda入场)
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2019/9/10 14:49
	 *
	 */
    Integer updateBerthInfoForInPark(TpPBerths tpPBerths);

    /**
	 * 更改泊位地磁出场时间
     *
     * @param
     * @return
     * @Author: xiejianpeng
     * @Date: 2019/11/18 22:48
     *
     */
    Integer updateBerthEqpOutTime(UpdateBerthRequest request);

	/**
	 * 高位增加,PDA更新泊位车辆信息
	 *
	 * @param
	 * @return
	 * @Author: xq
	 * @Date: 2021/7/22 18:48
	 *
	 */
	Integer updateBerthInfoByPDA(UpdateBerthByOrderIdRequest request);

    /**
     * 统计车场泊位区间对应的空闲车位
     * @param
     * @return
     * @Author: xiejianpeng
     * @Date: 2020/8/5 16:01
     *
     */
    List<ParkAreaFreeBerthsMsgVO> qyeryParkAreaBerthNumstatistic(@Param("plNo")String plNo);

	/**
	 * 根据排班的停车场编号列表以及泊位号模糊查询对应的泊位信息
	 * @return
	 */
	List<BerthsDTO> queryBerthInfoByKeyWord(@Param("plNos") List<String> plNos, @Param("berthNo") String berthNo);

	/**
	 * 验证泊位号
	 * @param berthNo
	 * @return
	 */
	BerthsDTO queryBerthsByBerthNo(@Param("berthNo") String berthNo);
}