DutyRosterDao.java 4.64 KB
package com.zteits.park.dao;

import java.util.Date;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.zteits.clouds.api.dto.clouds.param.QueryEmployeeRequest;
import com.zteits.clouds.api.dto.park.dto.ChargerSignNumberStatisticsDTO;
import com.zteits.clouds.api.dto.park.param.dutyroster.*;
import com.zteits.park.domain.DutyRoster;

/**
 * Copyright: Copyright (c) 2018  zteits
 *
 * @ClassName: com.zteits.park.dao
 * @Description: 排班Dao层
 * @version: v1.0.0
 * @author: atao
 * @date: 2018/8/15   上午10:43
 * Modification History:
 * Date         Author          Version      Description
 * ---------------------------------------------------------*
 * 2018/8/15      atao          v1.0.0          创建
 */
public interface DutyRosterDao {

    /**
     * 查询排班计划
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/8/15 上午11:32
     */
    List<DutyRoster> queryDutyRoster(DutyRosterQueryReq req);

    /**
     * 更新排班计划
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/8/20 下午5:11
     */
    Integer updateDutyRosterByPrimaryKey(DutyRoster dutyRoster);

    /**
     * 根据停车场编号 及 planId 查询
     *
     * @param plNo
     * @return
     */
    List<Long> queryPlanIdsByPlNo(String plNo, List<Long> planIds,Integer dutyType);

    /**
     * 批量插入排班计划
     *
     * @param
     * @return
     * @Author: xiejianpeng
     * @Date: 2018/8/23 10:15
     */
    Integer insertDutyRosterForList(List<DutyRoster> dutyRosterList);

    /**
     * 插入排班计划
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/8/29 10:15
     */
    Integer insertDutyRosterSelectiv(DutyRoster dutyRoster);

    /**
     * 查询当前组织下面的休息的收费员信息
     *
     * @param
     * @return
     * @Author: xiejianpeng
     * @Date: 2018/8/23 17:26
     */
    List<DutyRoster> queryRelaxChargerList(DutyRosterRelaxChargerQueryReq req);

    /**
     * 根据收费员编号和上班时间,查询该时间段他可以登陆的区间信息
     *
     * @return 2018/8/23 20:05 zhaowg
     */
    List<DutyRoster> queryDutysByChargeCode(String chargeCode, Date workTime,List<Integer> workStates,Integer dutyType);

    /**
     * 删除排班计划
     *
     * @param orgId
     * @param planIds
     * @param starteDate
     * @param endDate
     * @return
     */
    Integer deleteDutyRoster(Long orgId, List<Long> planIds, Date starteDate, Date endDate,Integer dutyType);

    /**
     * 批量删除排班计划中的停车场
     *
     * @param req
     * @return
     */
    Integer deleteParkByPlanIdAndPlNosForRoster(DeleteParkForDutyRosterReq req);

    /**
     * 根据收费员删除排班计划
     * @param orgId
     * @param chargerCodes
     * @param starteDate
     * @param endDate
     * @return
     */
    Integer deleteDutyRosterByChargerCodes(Long orgId,List<String> chargerCodes,Date starteDate, Date endDate,Integer dutyType);

    /**
     * 查询值班日 某组织ID下 对应工作状态的 收费员编码
     *
     * @param req
     * @retur
     */
    List<String> queryChargerCodeForWorkState(ChargerCodeQueryForWorkStateReq req);

    /**
     * 根据收费员编码 更新排班信息
     *
     * @param chargerCode
     * @param base
     * @return
     */
    Integer updateDutyRosterByChargerCode(String chargerCode, DutyRoster base);

    /**
     *  调班,两个收费员调换工作区域
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018-11-23 16:36
     *
     */
    Integer exchangeDutyRoster(DutyRosteExchangeReq req);

    /**
     * 根据收费员编码 与 泊位区间编码 查询 排班信息
     * @return
     */
    List<DutyRoster> queryDutyRosterBychargerCodeAndBerthRangeNo(String chargerCode,String berthRangeNO,Date dutyDate,Integer dutyType);

    /**
     * 查询收费员签到信息数量
     * @param request
     * @return
     * 2019年3月18日 wangfei
     */
	ChargerSignNumberStatisticsDTO queryChargerSignInfoNumber(QueryEmployeeRequest request);

	/**
     * 查询排班计划
     *
     * @param
     * @return
     * @Author: atao
     * @Date: 2018/8/15 上午11:32
     */
    PageInfo<DutyRoster> queryChargerSignInfoList(DutyRosterQueryReq req);

    /**
     * 分页查询收费员排班签到详情
     * @param request
     * @return
     * 2019年11月8日 wangfei
     */
	PageInfo<DutyRoster> queryChargerDutyDetailByCondition(QueryEmployeeRequest request);

    /**
     * 根据planid查询最大排班时间
     * @param req
     * @return
     */
    String queryDutyRosterMaxDateByPlanId(ChargerCodeQueryForWorkStateReq req);
}