package cn.com.lzt.projarrangedetail.service; import java.io.Serializable; import java.util.List; import java.util.Map; import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.minidao.annotation.Arguments; import org.jeecgframework.minidao.annotation.ResultType; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import cn.com.lzt.arrangeduty.dto.ArrangeDutyDto; import cn.com.lzt.arrangedutyoperate.dto.ArrangeDutyOperateDto; import cn.com.lzt.arrangedutyoperate.service.ArrangeDutyOperateServiceI; import cn.com.lzt.calendar.dto.CalendarAscDto; import cn.com.lzt.projarrangedetail.dto.ProjArrangeDetailAndUserDto; import cn.com.lzt.projarrangedetail.dto.UserAndShiftDto; import cn.com.lzt.projarrangedetail.dto.UserArrangeCalendarDto; import cn.com.lzt.projarrangedetail.entity.ProjarrangeDetailEntity; import cn.com.lzt.projarrangegeneral.entity.ProjArrangeGeneralEntity; import cn.com.lzt.userarrangedetail.dto.UserArrangeDetailDto; import cn.com.lzt.userarrangedetail.entity.UserArrangeDetailEntity; public interface ArrangeDutyAndOndutyServiceI extends CommonService{ public void delete(ProjarrangeDetailEntity entity) throws Exception; public Serializable save(ProjarrangeDetailEntity entity) throws Exception; public void saveOrUpdate(ProjarrangeDetailEntity entity) throws Exception; /** * 员工排班上报天数和时间算法 * 只有运转方式为其他的可以编辑保存,要考虑上班天数,值班天数,超时加班小时,国定加班小时的增删改 * 做五休二和其他运转天数时间计算 * @author zbw * 2017-11-22 * @param projarrangeDetailEntity * @param myMap * @return */ public ProjarrangeDetailEntity getDayAndTimeFO(ProjarrangeDetailEntity projarrangeDetailEntity,Map myMap) throws Exception; /** * 员工排班上报天数和时间算法(项目内所有人的) * 只有运转方式为其他的可以编辑保存,要考虑上班天数,值班天数,超时加班小时,国定加班小时的增删改 * 做五休二和其他运转天数时间计算 * @author zbw * 2017-11-22 * @param projarrangeDetailEntity * @param myMap * @return */ public ProjarrangeDetailEntity getDayAndTimeFO4ProjAllUsers(ProjarrangeDetailEntity projarrangeDetailEntity,Map myMap) throws Exception; /** * 员工排班上报天数和时间算法 * 只有运转方式为其他的可以编辑保存,要考虑上班天数,值班天数,超时加班小时,国定加班小时的增删改 * 三班两运转,四班两运转天数时间计算 * @author zbw * 2017-11-22 * @param projarrangeDetailEntity * @param myMap * @return */ public ProjarrangeDetailEntity getDayAndTimeTT(ProjarrangeDetailEntity projarrangeDetailEntity,Map myMap) throws Exception; /** * 员工排班上报天数和时间算法 * 要考虑上班天数,值班天数,超时加班小时,国定加班小时的增删改 * 两班倒运转天数时间计算 * @author dgq * 2019-11-25 * @param projarrangeDetailEntity * @param myMap * @return */ public ProjarrangeDetailEntity getDayAndTime2ban( ProjarrangeDetailEntity projarrangeDetailEntity, Map myMap) throws Exception; /** * 员工排班上报页面 * 上报总方法 * 编辑后保存总方法 * 项目排班详细表 * @author zbw * 2017-11-7 * @param projarrangeDetailEntity * @param myMap * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveProjarrangeDetail(ProjarrangeDetailEntity projarrangeDetailEntity, Map myMap, String arrangeDutyStatus) throws Exception; /** * 员工排班上报页 * 员工排班详情表 * 保存新增/更新的行数据 * @author zbw * 2017-10-27 * @param userArrangeDetailEntity * @param request * @return */ public AjaxJson saveUserArrangeDetail(UserArrangeDetailEntity userArrangeDetailEntity) throws Exception; /** * 员工排班上报页 * 项目排班总揽表 * 保存新增/更新的行数据 * @author zbw * 2017-10-28 * @param projArrangeGeneralEntity * @return */ public AjaxJson saveProjArrangeGeneral(ProjArrangeGeneralEntity projArrangeGeneralEntity) throws Exception; /** * 月度排班总方法; * @author zbw * 2017-11-7 * @param arrangeDutyOperateId * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperate(String arrangeDutyOperateId,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 月度排班 * 做五休二(计加班费) * 做五休二(无加班费) * @author zbw * 2017-11-5 * @param arrangeDutyOperateDto * @param CalendarEntityList * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperateF2T(ArrangeDutyOperateDto arrangeDutyOperateDto,List calendarAscDtoList ,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 月度排班 * 其他(计加班费) * 其他(无加班费) * @author zbw * 2017-11-5 * @param arrangeDutyOperateDto * @param CalendarEntityList * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperateOther(ArrangeDutyOperateDto arrangeDutyOperateDto,List calendarAscDtoList ,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 月度排班 * 三班两运转-做二休一(计加班费) * @author zbw * 2017-11-6 * @param arrangeDutyOperateDto * @param calendarAscDtoList * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperateT2O(ArrangeDutyOperateDto arrangeDutyOperateDto,List calendarAscDtoList ,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 四班两运转A-做一休一(无加班费) * @author zbw * 2017-11-11 * @param arrangeDutyOperateDto * @param calendarAscDtoList * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperateO2OWU(ArrangeDutyOperateDto arrangeDutyOperateDto,List calendarAscDtoList ,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 四班两运转B-做二休二(计加班费) * @author zbw * 2017-11-11 * @param arrangeDutyOperateDto * @param calendarAscDtoList * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveMonthArrangeDutyOperateT2TWU(ArrangeDutyOperateDto arrangeDutyOperateDto,List calendarAscDtoList ,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 轮流值班/加班排班总方法; * @author zbw * 2017-11-7 * @param arrangeDutyOperateId * @param yearmonth * @param pid * @param arrangeDutyStatus * @return */ public AjaxJson saveOndutyArrangeDutyOperate(String onDutyOperateId,String yearmonth,String pid,String arrangeDutyStatus) throws Exception; /** * 轮流值班/加班排班 * 批量循环轮流值班/加班算法明细 * @author zbw * 2017-11-24 * @param projarrangeDetailEntityList * @param calendarAscDtoList * @param arrangeDutyDto * @param everydayPeopleNum * @return */ public AjaxJson ondutyArrangeOperate(List projarrangeDetailEntityList, List calendarAscDtoList,ArrangeDutyDto arrangeDutyDto,int everydayPeopleNum) throws Exception; /** * 根据用户id删除项目排班详细表数据和员工排班详情表数据 * @author zbw * 2017-11-24 * @param userid * @param yearmonth * @return */ //public AjaxJson ondutyArrangeDeleteByUserId(String userid,String yearmonth); /** * 根据项目id和月度查询月度排班操作表需要排班的数据id; * 根据项目排班详细表确定数据是否有排班 * 当项目排班详细表无数据,而月度排班操作表有数据,则要进行排班操作; * @author zbw * 2017-12-4 * @param pid * @param yearmonth * @return */ public List getArrangeDutyIdListByPidMonth(String pid,String yearmonth); /** * 根据项目id和月度查询值班排班操作表需要排班的数据id; * 根据值班开始时间查询员工排班详情表查看是否已经排班; * @author zbw * 2017-12-4 * @param pid * @param yearmonth * @return */ public List getOnArrangeDutyIdListByPidMonth(String pid,String yearmonth); public AjaxJson saveProjarrangeDetail(ProjarrangeDetailEntity projarrangeDetailEntity, Map myMap,String arrangeDutyStatus,boolean backupUserArrangeDetail) throws Exception ; }