EqpDao.java 5.23 KB
package com.zteits.park.dao;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.park.dto.*;
import com.zteits.clouds.api.dto.park.param.QueryEqpRequest;
import com.zteits.clouds.api.dto.pda.param.QueryEqpByPlNoAndOrtherRequest;
import com.zteits.park.domain.TpPEqp;

/**
 * 设备表
 *
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: EqpDao.java
 * @Description:
 * @version: v1.0.0
 * @author: wangfei
 * @date: 2017年8月21日   下午2:56:28
 * Modification History:
 * Date             Author          Version            Description
 *---------------------------------------------------------*
 * 2017年8月21日      wangfei              v1.0.0               创建
 */
public interface EqpDao {
	/**
	 * 通过主键更新设备状态
	 * @param eqpIsOnline
	 * @param electricity
	 * @param voltag
	 * @param heartbeatTime
	 * @param id
	 * @param gatewayNo 网关
	 * @param magRssi 信号
	 * @return
	 * 2017年8月25日 zhaowg
	 */
	int updateEqpStatusById(String eqpIsOnline,String electricity,
			String voltag,Date  inoutTime,Long id,String gatewayNo,Integer magRssi);
	/**
	 * 根据设备编号,厂家编号和设备类型更新设备状态
	 * @param eqpIsOnline
	 * @param heartbeatTime
	 * @param eqpNo
	 * @param eqpType
	 * @return
	 * 2017年8月26日 zhaowg
	 */
	int updateEqpStatusByEqpNo(String eqpIsOnline,Date heartbeatTime,List<String> eqpNo,Integer eqpType);

	/**
	 * 根据停车场编号,车位编号和设备类型,更新该车位对应的设备的在线/离线状态
	 * @param eqpIsOnline
	 * @param berthNos
	 * @param plNo
	 * @param eqpType
	 * @return
	 * 2017年9月1日 zhaowg
	 */
	int updateEqpStatusByBerthsNo(String eqpIsOnline,List<String> berthNos,String plNo,Integer eqpType);
	/**
	 * 根据设备编号查询设备信息
	 * @param eqpNo
	 * @return
	 * 2017年8月23日 zhaowg
	 */
	List<TpPEqp> selectEqpByEqpNo(String eqpNo);

	/**
	 * 根据设备编号查询设备信息
	 * @param eqpNo
	 * @return
	 * 2017年8月23日 zhaowg
	 */
	List<TpPEqp> selectEqpByEqpNo(Long orgId,String eqpNo);

	/**
	 * 根据车位编号和停车场编号查询设备信息
	 * @param berthNo
	 * @param plNo
	 * @param eqpType 设备类型 字典表[TD_P_EQP_EQP_TYPE] 1-地磁;2-视频桩;3-地锁等
	 * @param usedType 设备使用类型:10-调试中;20-商用中
	 * @return
	 * 2017年8月25日 zhaowg
	 */
	TpPEqp selectEqpByBerthNo(String berthNo,String plNo,int eqpType,Integer usedType);
	/**
	 * 根据设备编号和厂家编号查询设备信息
	 * @param eqpNo
	 * @return
	 * 2017年8月23日 zhaowg
	 */
	TpPEqp selectEqpByEqpNoAndFactory(String eqpNo,String factoryNo);
	/**
	 * 根据停车场编号和类型 批量更新设备状态为故障
	 * @param plNo
	 * @param eqpType
	 * @return
	 * 2017年9月1日 zhaowg
	 */
	Integer batchUpdateEqpStateForFault(String plNo,Integer eqpType);

	/**
	 * 根据停车场主键编号查看设备编号
	 *
	 * @return
	 */
	Map<String, List<Integer>> queryEqpTypeByPlNos(List<String> plNos);

	/**
	 * 分页查询设备数据
	 * @param request
	 * @return
	 * 2018年1月24日 zhaowg
	 */
	PageInfo<TpPEqp> queryEqpsForPage(QueryEqpRequest request);
	/**
	 * 新增设备
	 * @param tpPEqp
	 * 2018年1月24日 zhaowg
	 */
	void insertEqpInfo(TpPEqp tpPEqp);
	/**
	 * 按照主键删除-逻辑删除
	 * @param ids
	 * 2018年1月24日 zhaowg
	 */
	void deleteEqpsByIds(List<Long> ids,Long opId);

	/**
	 * 根据设备ID删除单个设备
	 * @param opId
	 */
	void deleteEqpById(TpPEqpDTO eqpDTO, Long opId,String appId,String secret,String baseUrl);
	/**
	 * 根据主键更新
	 * @param tpPEqp
	 * 2018年1月24日 zhaowg
	 */
	void updateEqpInfoById(TpPEqp tpPEqp);
	/**
	 * 统计设备数量-根据设备类型分组
	 * @param request
	 * @return key:eqpType
	 * 2018年5月10日 zhaowg
	 */
	Map<Integer,StatisticEqpCountByEqpTypeDTO> statisticEqpCountGroupByEqpType(QueryEqpRequest request);
	/**
	 * 统计设备数量-根据停车场编号分组
	 * @param request
	 * @return	key:plNo
	 * 2018年5月10日 zhaowg
	 */
	Map<String,List<StatisticEqpCountByPlNoDTO>> statisticEqpCountGroupByPlNo(QueryEqpRequest request);
	/**
	 * 统计设备数量-根据区县分组
	 * @param request
	 * @return key:countryId
	 * 2018年5月10日 zhaowg
	 */
	Map<Long,List<StatisticEqpCountByCountryDTO>> statisticEqpCountGroupByCountry(QueryEqpRequest request);

	/**
	 * 批量插入地磁信息.<br/>
	 * @param tpPEqp
	 * @return
	 */
	int batchInsertEqp(List<TpPEqp> tpPEqp);

	/**
	 * 根据ids绑定/解绑主机
	 * @param ids
	 * @param hostNo
	 * @param opId
	 * 2018年11月5日 wangfei
	 */
    int bindEqpHostByIds(List<Long> ids, String hostNo, Long opId);
	/**
	 * 通过主键更新设备状态
	 * @return
	 * 2017年8月25日 zhaowg
	 */
	int updateEqpById(TpPEqp tpPEqp);

	/**
	 * 根据停车场查询设备数量
	 * @param plNo
	 * @param eqpType
	 * @return
	 */
	Long queryEqpCountByPlNo(String plNo,Integer eqpType,Integer userType,String isOnline);

	/**
	 * 根据泊位区间编号和停车场编号和泊位或者地磁编号查询地磁信息
	 * @param
	 * @return
	 * @Author: xiejianpeng
	 * @Date: 2019/5/5 15:48
	 *
	 */
	List<BerthsDTO> queryEqpInfoByPlNoAndOther(QueryEqpByPlNoAndOrtherRequest request);
}