DutyRosterPlanDao.java 2.26 KB
package com.zteits.park.dao;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.park.param.dutyroster.DutyRosterForAddRosterInfoReq;
import com.zteits.park.domain.DutyRosterPlan;
import com.zteits.park.domain.bean.DutyRosterPlanDO;

/**
 * 值班表计划dao
 * Copyright: Copyright (c) 2017  zteits
 *
 * @ClassName: DutyRosterPlanDao.java
 * @Description:
 * @version: v1.0.0
 * @author: wangfei
 * @date: 2018年8月20日   上午9:45:34
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2018年8月20日      wangfei          v1.0.0          创建
 */
public interface DutyRosterPlanDao {

    /**
     * 批量保存值班表计划
     * @param dutyRosterPlans
     * @return
     * 2018年8月20日 wangfei
     */

    Integer saveDutyRosterPlan(List<DutyRosterPlan> dutyRosterPlans);

    /**
     * 分页查询值班计划
     *
     * @param orgIds     组织ID集合 必填
     * @param dutyType 数据状态 必填 10-有效; 20-无效; 30-不限 默认 10-有效
     * @param planIds    排班计划id 集合 选填
     * @return
     */
    PageInfo<DutyRosterPlan> queryDutyRosterPlanForPage(List<Long> orgIds, List<Long> planIds,Integer dutyType, Integer pageNum,Integer pagesize);

    /**
     * 根据plainIds 及 组织ID 删除排班计划 (逻辑删除,将数据状态置为失效)
     *
     * @param orgId
     * @param planIds
     * @return
     */
    Integer deleteDutyRosterPlanByPlanIds(Long orgId, List<Long> planIds,Integer dutyType);

    /**
     * 查找当前生效的 排班计划ID
     * @return
     */
    List<Long> queryPlanIdOfEffectDutyRosterPlan(Integer dutyType);

    /**
     * 通过dutyDay查询查询小于dutyDay日期的最大排班记录.<br/>
     * @param dutyDay yyyy-MM-dd
     * @return
     */
    List<DutyRosterPlanDO> queryDutyPlanMaxDutyDay(String dutyDay,Integer dutyType );

    /**
     * 将删除停车场数量从plan表中减去
     */
    Integer decreasePlNumFromRosterPlan(Long planId, Integer plNum, Integer chargerNum);

    /**
     * 根据planid,更新duty_roster_plan数据
     */
    Integer updatePlNumAndEmployeeNumForRosterPlan(DutyRosterForAddRosterInfoReq req);
}