package com.ssm.manage.service;

import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.CardChangeList;
import com.ssm.manage.entity.CardChangeOutProject;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.query.CardChangeInProjectRequest;
import com.ssm.manage.query.CardChangeListRequest;
import com.ssm.manage.query.CardChangeOutProjectRequest;
import com.ssm.manage.response.CardChangeOutProjectResponse;

import java.util.List;

public interface SsmCardChangeOutProjectService extends BaseService<CardChangeOutProject> {
    List<CardChangeOutProject> selectList(CardChangeOutProjectRequest cardChangeOutProjectRequest);
    List<CardChangeOutProjectResponse> selectList1(CardChangeOutProjectRequest cardChangeOutProjectRequest);
    int insert(CardChangeList cardChangeList, List<CardChangeOutProjectRequest> cardChangeOutProjectRequests) throws SmsException;
    int insertNew(CardChangeList cardChangeList, List<CardChangeOutProjectRequest> cardChangeOutProjectRequests) throws SmsException;
    int inserts(CardChangeList cardChangeList, List<CardChangeOutProject> cardChangeOutProjectRequests) throws SmsException;
    int cancel(CardChangeList cardChangeList) throws SmsException;
    int updateStaff(List<CardChangeOutProjectRequest> cardChangeOutProjectRequestList) throws SmsException;
    int insertNT(CardChangeList cardChangeList, List<CardChangeOutProjectRequest> cardChangeOutProjectRequests) throws SmsException;
    int audit(CardChangeList cardChangeList) throws SmsException;
    int unAudit(CardChangeList cardChangeList) throws  SmsException;

    int insertLCNT(CardChangeList cardChangeList, CardChangeListRequest cardChangeListRequest) throws SmsException;

    int updateStaffLCNT(List<CardChangeOutProjectRequest> cardChangeOutProjectRequests) throws SmsException;

    List<CardChangeOutProject> selectNew(CardChangeListRequest cardChangeListRequest);
}
