package org.dromara.mp.service;

import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.mp.domain.MerTaskEnroll;
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 IMyTaskService
 * @description
 * @create 2024-05-08 18:44
 */
public interface IMyTaskService {


    /***
     * 查询任务广场
     * @param name
     * @param pageQuery
     * @return
     */
    TableDataInfo<MyTaskVo> selTastList(String name, PageQuery pageQuery);


    /***
     * 查询我的任务广场
     * @param name
     * @param pageQuery
     * @return
     */
    TableDataInfo<MyTaskVo> selMyTastList(String name, PageQuery pageQuery);



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


    /***
     * 接受任务
     * @param id 任务ID
     * @param no 任务编码
     * @return
     */
    Boolean acceptTask(Long id,String no);


    List<MyTaskVo> selMyCheckPro();


    TaskVo selMyTaskDetail(Long id);


    /***
     * 上传完工报告
     * @param enroll
     * @return
     */
    int updOverReport(MerTaskEnroll enroll);


    /***
     * 查询完工报告
     * @param id
     * @return
     */
    MerTaskEnrollVo selOverReport(Long id);



    TableDataInfo<UserWorkerBus> selMyHtList(String name, PageQuery pageQuery);


    /***
     * 查询我的项目确认单
     * @param name
     * @param pageQuery
     * @return
     */
    TableDataInfo<MerTaskEnrollVo> selProSureDoc(String name, PageQuery pageQuery);


    /***
     * 签到
     * @param id
     * @param domain
     * @return
     * @throws Exception
     */
    String   signPro(Long id,String domain)throws Exception;

    /***
     * 签到
     * @param id
     * @param domain
     * @return
     * @throws Exception
     */
    String   signProJzq(Long id,String domain)throws Exception;



    /***
     * 项目确认单连接
     * @param id
     * @param domain
     * @return
     * @throws Exception
     */
    public String   signSurePro(Long id,String domain)throws Exception;

    /***
     * 项目确认单连接
     * @param id
     * @param domain
     * @return
     * @throws Exception
     */
    public String   signSureProJzq(Long id,String domain)throws Exception;
}
