package org.dromara.mp.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.dromara.mp.domain.MerTaskSure;
import org.dromara.mp.domain.UserWorkerBiz;
import org.dromara.mp.domain.vo.MerTaskEnrollVo;
import org.dromara.mp.domain.vo.MyTaskVo;
import org.dromara.mp.domain.vo.TaskVo;
import org.dromara.mp.domain.vo.UserWorkerBus;

import java.util.List;

/**
 * @author sunzexing
 * @version 1.0
 * @title MyTaskMapper
 * @description 我的任务接口
 * @create 2024-05-08 18:43
 */
public interface MyTaskMapper {


    /***
     * 任务广场查询
     * @param name
     * @param workId
     * @param page
     * @return
     */
    Page<MyTaskVo> selTastList(@Param("name") String name,@Param("workId")  Long workId, @Param("page") IPage page);


    /****
     * 任务广场- 任务详情
     * @param id
     * @return
     */
    TaskVo selTaskListDetail(Long id);


    /***
     *  我的任务
     * @param name
     * @param workId
     * @param page
     * @return
     */
    Page<MyTaskVo> selectMyTaskList(@Param("name") String name,@Param("workId")  Long workId, @Param("page") IPage page);


    /***
     * 签到 查询项目
     * @param workId
     * @return
     */
    List<MyTaskVo> selMyCheckPro(Long workId);


    TaskVo selMyTaskDetail(@Param("id") Long id,@Param("workId") Long workId);


    /***
     * 个人签约查询
     * @param workId
     * @param page
     * @return
     */
    Page<UserWorkerBus>  selHtListByWorkId(@Param("workId") Long workId, @Param("page") IPage page);


    /****
     * 项目确认单查询
     * @param workId
     * @param page
     * @return
     */
    Page<MerTaskEnrollVo>  selProSureDoc(@Param("workId") Long workId, @Param("page") IPage page);


    /***
     * 获取合同信息
     * @param id
     * @return
     */
        UserWorkerBiz selectHtInfoByUwbId(Long id);


    int updateUserWorkerHtInfoByBizId(UserWorkerBiz uwbiz);


    /****
     * 项目确认单
     * @param id
     * @return
     */
    MerTaskSure selectTaskSure(Long id);


    /***
     * 更新项目确认单
     * @param mts
     * @return
     */
    int updateTaskSure(MerTaskSure mts);


    /**
     * 更新CA状态
     */
    void updateCAStatus(String name);
}



