package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.DailyReportStatus;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Shawn
 */
public interface SysDailyMapper {

    /**
     * 查询表所有字段
     * @param num 那张表
     * @return
     */
    List<DailyReportStatus> selectAll(@Param("num") Integer num);

    /**
     * 新增userid字段
     * @param num 那张表
     */
    void addUserIdColumn(@Param("num") Integer num);

    /**
     * 批量更新
     * @param list  数据集合
     * @param num  那张表
     */
    void updateList(@Param("list") List<DailyReportStatus> list, @Param("num") Integer num);

    //查询特定用户特定日期的日报状态
    List<String> selectStatus(@Param("id") String id,@Param("dateAt") String dateAt,@Param("num") String num);

    //查询特定用户特定日期特定项目的日报状态
    String selectStatusByprojectId(@Param("id") String id,@Param("dateAt") String dateAt,@Param("projectId") String projectId,@Param("num") String num);

    //查询日报状态表集合
    List<DailyReportStatus> selectDailyReportStatusList(@Param("projectId") String projectId,@Param("date") String date,@Param("num") String num);

    //上传日报状态表
    int insertDailyStatus(@Param("id") String id, @Param("username") String username, @Param("projectId") String projectId,@Param("dateAt") String dateAt,@Param("num") String num);

    //审核后改变日报状态
    int updateDailyReportStatus (@Param("id") String id,@Param("projectId") String projectId,@Param("dateAt") String dateAt,@Param("num") String num);

    //删除周报后改变日报状态
    int delWeekPpdateDailyReportStatus (@Param("projectId") String projectId,@Param("dateAt") String dateAt,@Param("num") String num);

    //查询日报状态表集合
    List<DailyReportStatus> weekSelectList(@Param("projectId") String projectId,@Param("from") String from,@Param("to") String to);

    //删除日报状态表的信息
    int delDailyStatus(@Param("id") String id,@Param("projectId") String projectId,@Param("dateAt") String dateAt,@Param("num") String num);

}
