package com.persagy.calendar.service;

import java.util.List;
import java.util.Set;

import com.persagy.calendar.pojo.dto.WorkCalendar;
import com.persagy.db.service.ISuperService;

/**
 * 工作历主表
 * 
 * @version 1.0.0
 * @company persagy 
 * @author zhangqiankun
 * @date 2020-10-02 11:33:00
 */
public interface IWorkCalendarService extends ISuperService<WorkCalendar> {
	
	/**
	 * 查询工作历类型列表，包含所对应的对象
	 * @param calendar
	 * @return
	 */
	List<WorkCalendar> queryCalendarObjectList(WorkCalendar calendar);
	
	/**
	 * @param id
	 * @param groupCode 允许为空
	 * @param projectId 允许为空
	 * @return
	 */
	WorkCalendar getById(String id, String groupCode, String projectId);
	
	/**
	 * 判断对应的groupId和calendarName，是否可以被插入或更新
	 * @param id,更新时，需要传入，原ID
	 * @param projectId
	 * @param groupCode 集团编码
	 * @param calendarName
	 * @return true-可以，false-不可以
	 */
	boolean checkProjetcIdAndName(String id, String projectId, String groupCode, String calendarName);
	
	boolean createWorkCalendar(WorkCalendar workCalendar, Set<String> objIds);
	
	boolean updateWorkCalendar(WorkCalendar workCalendar);
	
	boolean deleteWorkCalendar(String id, String updateUser);

}

