ISignInService.java 2.65 KB
package com.ruoyi.in.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.exception.file.FileUploadException;
import com.ruoyi.domain.driver.NewDriver;
import com.ruoyi.domain.scheduling.LinggangScheduling;
import com.ruoyi.driver.domain.Driver;
import com.ruoyi.in.domain.SignIn;
import com.ruoyi.pojo.response.SignInResponseVo;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.Collection;
import java.util.List;

/**
 * 签到Service接口
 *
 * @author guzijian
 * @date 2023-07-05
 */
public interface ISignInService extends IService<SignIn> {
    /**
     * 查询签到
     *
     * @param id 签到主键
     * @return 签到
     */
    public SignIn selectSignInById(Long id);

    List<SignIn> selectByEntityOrNewDriverId(SignIn signIn, Collection<String> jobCodes);

    /**
     * 查询签到列表
     *
     * @param signIn 签到
     * @return 签到集合
     */
    public List<SignInResponseVo> selectSignInList(SignInResponseVo signIn);

    List<SignIn> list(SignIn signIn);

    SignIn getLastOne(SignIn signIn);

    /**
     * 修改签到
     *
     * @param signIn 签到
     * @return 结果
     */
    public int updateSignIn(SignIn signIn);

    /**
     * 批量删除签到
     *
     * @param ids 需要删除的签到主键集合
     * @return 结果
     */
    public int deleteSignInByIds(Long[] ids);

    /**
     * 删除签到信息
     *
     * @param id 签到主键
     * @return 结果
     */
    public int deleteSignInById(Long id);

    /**
     * 设备签到
     *
     * @param signIn
     * @return
     */
    AjaxResult addSignIn(SignIn signIn) throws FileUploadException, IOException;

    AjaxResult getAjaxResultByDriverSignInfo(SignIn signIn, SignInResponseVo vo);

    AjaxResult addSign(SignIn signIn, Driver driver, LinggangScheduling scheduling) throws IOException;

    String repairSignRecord(HttpServletRequest request);

    String repairAllSignRecord(HttpServletRequest request, String date);

    AjaxResult supplementarySignature(SignIn signIn);

    List<SignInResponseVo> selectSignInByIds(List<Long> collect);

    /***
     *当日最后一次登签的签到状态
     *
     * @author liujun
     * @date 2024/7/12 10:25
     * @param driver
     * @return int 0:未签到,1:已签到
     */
    int signInType(NewDriver driver);

    /***
     *当日最后一次登签的签退状态
     *
     * @author liujun
     * @date 2024/7/12 10:25
     * @param driver
     * @return int 0:未签到,1:已签到
     */
    int signOutType(NewDriver driver);

    int count(Long scheduleId);
}