package com.unis.base.server.dao;

import com.unis.base.common.vo.*;
import com.unis.base.server.entity.MeetingRecordDO;
import com.unis.base.server.entity.PersonMeetingDO;
import com.unis.base.server.entity.PersonSystemDO;
import com.unis.base.server.entity.TrainDO;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface PersonMeetingDao {
    /*void insertOne(PersonMeetingVO personMeetingVO);*/

    List<TrainDO> selectAll();

//    List<PersonMeetingVO> selectBath(String meetingName);

    List<TrainDO> selectInFo(String trainName,String status,String userId);

    List<TrainDO> selectPerson(String trainName,String status);

    List<TrainDO> selectStatus(String trainName,String status);

    void insertBatch(List<TrainDO> dolist);

    List<TrainDO> selectAllS();

    void deleteAll();

    List<MeetingRecordDO> selectRecord();

    void insertRecord(List<MeetingRecordDO> recordVOS);

    void delectRecord();


    void insertPn(List<RecordVO> voList);

    List<ResultRecodrdVO> selectSoRecords(String trainName, String userId);

    List<ResultRecodrdVO> selectTrain();


    List<InsertRecordVO> selectPersonRecord(String fid,String trainPersonName,String trainPersonDeptName, String userId);

    void insertPersonRecord(List<InsertRecordVO> voList);

    List<CountPersonVO> selectCountPerson(CountPersonmeetingVO countPersonmeetingVO);

    List<CountPersonVO> selectApplication();

    List<CountPersonVO> selectPost();

    List<MeetingRecordVO> meetingDetialRecodrd(String deptId);

    List<ResultRecodrdVO> selectJoined();

    List<ResultRecodrdVO> selectCreator();

    List<MeetingRecordDO> selectDetails(String trainPersonName, String creatorCode,String deptCode);

    List<CountPersonVO> selectIn();

    List<CountPersonVO> selectOut();

    void delectOne();

    void insertIn(List<RecordVO> recordVOList);

    void updateStatus(RecordVO recordVO);

    void deletePerson(InsertRecordVO insertRecordVO);

    void setstatus(InsertRecordVO insertRecordVO);

    void deleteContent(InsertRecordVO insertRecordVO);


    void updateS(RecordVO recordVO);

    void updateStatusP(InsertRecordVO insertRecordVO);

    void deleteContt(DelGetRecordVO getRecordVO);

    void insertFed(List<RecordVO> recordVOList);

    void deletePp(String trainName, String trainPersonName);

    List<RecordVO> selectPp(String trainName);

    void insertFin(List<RecordVO> recordVOList);

    String selectDepp(String trainPersonId);

    List<String> selectUser(String userId);

    List<MeetingRecordVO> selectAllP(String userName);

    List<String> selectDapt(String userId);

    List<MeetingRecordVO> selectAllperson(String deptId);

    List<MeetingRecordVO> selectDett(String mainFid,String trainPersonDeptCode);

    void updatePerson(InsertRecordVO insertRecordVO);

    List<MeetingRecordVO> selectAllpp(String fid);

    List<MainRecordVO> selefe(String fid);

    List<MeetingRecordVO> selectallus(PageRecordSVO recordVO);

    void updateStatusPs(InsertRecordVO insertRecordVO);

    void setstatuss(InsertRecordVO insertRecordVO);

    void deleteFeedbackByMainFidAndDeptCode(String mainFid, String trainPersonDeptCode);

    void deleteContentByMainFidAndDeptCode(String mainFid, String trainPersonDeptCode);

    int countContent(String fid, String trainPersonDeptCode);

    List<TrainMainVo> pageInfoForPx(TrainMainQueryVo viewObj);

    void fbSjForTrainMain(String mainFid);
}
