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

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

import com.jpsoft.shinestar.modules.base.entity.CompanyInfo;
import com.jpsoft.shinestar.modules.base.entity.WorkShiftCompany;
import com.jpsoft.shinestar.modules.base.entity.WorkShiftInfo;
import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.common.dto.Sort;

public interface WorkShiftInfoService {
	WorkShiftInfo get(String id);
	boolean exist(String id);
	int insert(WorkShiftInfo model);
	int update(WorkShiftInfo model);
	int updateAndInsert(WorkShiftInfo workShiftInfo,List<CompanyInfo> list);
	int delete(String id);
	List<WorkShiftInfo> list();
	Page<WorkShiftInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);

	List<WorkShiftInfo> findByCompanyId(String companyId);
	List<WorkShiftInfo> findByCompanyIds(List<String> companyIds);

	String findNumberById(String id);

	List<String> sortIdsByNumber(List<String> shiftIds);

	WorkShiftInfo findByNumber(String number);
}