package com.ssm.manage.service;

import com.github.pagehelper.PageInfo;
import com.ssm.core.service.BaseService;
import com.ssm.manage.entity.BaseProject;
import com.ssm.manage.entity.SmsException;
import com.ssm.manage.query.ProjectRequest;

import java.util.List;

public interface SsmProjectService extends BaseService<BaseProject> {
    PageInfo<BaseProject> selectPage(ProjectRequest projectRequest);
    PageInfo<BaseProject> repeatPage(ProjectRequest projectRequest);
    PageInfo<BaseProject> selectPageNew(ProjectRequest projectRequest)throws SmsException;
    PageInfo<BaseProject> selectPageType(ProjectRequest projectRequest);

    int addProject(ProjectRequest projectRequest,String phone) throws SmsException;

    int updateProject(ProjectRequest projectRequest,String phone) throws SmsException;

    int deleteProject(ProjectRequest projectRequest) throws SmsException;

    int updateStates(ProjectRequest projectRequest) throws SmsException;
    int importProject(List<BaseProject> projectRequest, String userNum) throws SmsException;
    int assignProjectList(List< ProjectRequest> projectRequest, String userNum) throws SmsException;
    int assignProject(ProjectRequest projectRequest, String userNum) throws SmsException;

    int setAchiComm(ProjectRequest projectRequest) throws SmsException;
    int setAchiComms(ProjectRequest projectRequest) throws SmsException;

    BaseProject one(ProjectRequest projectRequest);

    //旧项目导入
    List<BaseProject> insertBatch(List<BaseProject> list, Long storeId, String storeName, String phone) throws SmsException;
    //优1
    List<BaseProject> insertBatch1(List<BaseProject> list, Long storeId, String storeName, String phone) throws SmsException;
    //新（优化2）项目导入
    List<BaseProject> insertBatch2(List<BaseProject> list, Long storeId, String storeName, String phone) throws SmsException;


    BaseProject copyProject(ProjectRequest projectRequest)throws SmsException;

    List<BaseProject> selectList(List<Long> collect);

}
