package com.zcloud.mapper.datasource.bus;

import com.zcloud.entity.Page;
import com.zcloud.entity.PageData;

import java.util.List;

/**
 * 说明：外来人员
 * 作者：yangming
 * 时间：2022-04-09
 * 官网：www.zcloudchina.com
 */
public interface OutsidersMapper {

	/**新增
	 * @param pd
	 * @throws Exception
	 */
	void save(PageData pd);

	/**删除
	 * @param pd
	 * @throws Exception
	 */
	void delete(PageData pd);

	/**修改
	 * @param pd
	 * @throws Exception
	 */
	void edit(PageData pd);

	/**列表
	 * @param page
	 * @throws Exception
	 */
	List<PageData> datalistPage(Page page);

	/**列表(全部)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listAll(PageData pd);

	/**列表(首页)
	 * @param pd
	 * @throws Exception
	 */
	List<PageData> listIndexAll(PageData pd);

	/**通过id获取数据
	 * @param pd
	 * @throws Exception
	 */
	PageData findById(PageData pd);
	/**通过名称获取数据
	 * @param pd
	 * @throws Exception
	 */
	List<PageData>  findByName(PageData pd);

	/**批量删除
	 * @param ArrayDATA_IDS
	 * @throws Exception
	 */
	void deleteAll(String[] ArrayDATA_IDS);

	/**
	 *  查询部门审核列表
	 * @param
	 * @return
	 */
	List<PageData> examinelistPage(Page page);

	/**
	 *  只修改状态
	 * @param
	 * @return
	 */
	void editState(PageData pd);

	List<PageData> approvallistPage(Page page);

	List<PageData> confirmlistPage(Page page);

	/**
	 *	统计今日临时人员检测
	 * 		提交申请数[COUNTAPPLY]，门卫确认进入数[COUNTIN]，现场车辆数[COUNTSITE]，
	 * 		审核通过数[COUNPASS]，门卫确认离开数[COUNTOUT]，入场车辆比例[INRATIO]
	 * 	 	审核未通过数[COUNREFUSE]
	 * @param pd
	 * @return
	 * @throws Exception
	 */
    PageData statisticsOutsiderCount(PageData pd);

	/**
	 * 外来车辆、人员待办统计
	 * @param pd
	 * @return
	 * 	车辆	职能部门审核[COUNT_CAR_EXAMINE]，安监部门审批[COUNT_CAR_APPROVE]，现场确认[COUNT_CAR_CONFIRM]，
	 * 	人员	职能部门审核[COUNT_PEOPLE_EXAMINE]，安监部门审批[COUNT_PEOPLE_APPROVE]，现场确认[COUNT_PEOPLE_CONFIRM]
	 * @throws Exception
	 */
    PageData countCheck(PageData pd);
}

