package com.jpsoft.shinestar.modules.base.service;

import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.base.entity.CanteenDiningRecord;
import com.jpsoft.shinestar.modules.common.dto.Sort;

public interface CanteenDiningRecordService {
	CanteenDiningRecord get(String id);
	boolean exist(String id);
	int insert(CanteenDiningRecord model);
	int update(CanteenDiningRecord model);
	int delete(String id);
	List<CanteenDiningRecord> list();
	int findCountByPersonId(Long personId);
	int findCountByPersonIdAndAddress(Map<String, Object> searchParams);
	List<CanteenDiningRecord> findByPersonId(Long personId);
	CanteenDiningRecord lastEatTime(Long personId);
	Page<CanteenDiningRecord> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
	Page<Map> canteenDiningRecordDetailList(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList);
	Page<Map> canteenDiningRecordCompanyList(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList);
	Page<Map> canteenDiningRecordCompanyDetail(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList);
	Page<Map> canteenDiningRecordDetail(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList);
	Page<Map> canteenHqPersonList(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList);
	boolean punchIn(String deviceNo, Long personId, Date recordTime) throws ParseException;
}