package cn.superdesk.uniorder.service.scheduler;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.scheduler.SysQuartzScheduleTaskStatementOfAccount;
import cn.superdesk.uniorder.dto.param.accounting.AutoCreateScheduleTaskStatementOfAccountParam;
import cn.superdesk.uniorder.dto.param.accounting.AutoCreateScheduleTaskStatementOfAccountReportVo;
import cn.superdesk.uniorder.service.base.BaseService;
import com.github.pagehelper.PageInfo;

import java.util.List;
import java.util.Map;


/**
 * @Description: 定时任务-时刻任务-对账单
 * @Author: linjinyu
 * @Email linjinyu@avic-s.com
 * @CreateDate: 2020-12-17 16:35:26
 * @UpdateUser: linjinyu
 * @UpdateDate: 2020-12-17 16:35:26
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface SysQuartzScheduleTaskStatementOfAccountService extends BaseService<SysQuartzScheduleTaskStatementOfAccount> {


	/****************************************** extends BaseService 部分 start ******************************************/

	int insertSelective(SysQuartzScheduleTaskStatementOfAccount entity);

    int updateByPrimaryKeySelective(SysQuartzScheduleTaskStatementOfAccount entity);

	@Deprecated
	void deleteObj(Long id);

	@Deprecated
	SysQuartzScheduleTaskStatementOfAccount findById(Long id);

	@Deprecated
	PageInfo<SysQuartzScheduleTaskStatementOfAccount> findByPaging(Map<String, Object> conditions, Integer pageNun, Integer pageSize);

	@Deprecated
	List<SysQuartzScheduleTaskStatementOfAccount> findAll(Map<String, Object> queryMap);

	/****************************************** extends BaseService 部分   end ******************************************/


	/****************************************** 基础业务部分 start ******************************************/

	void addSysQuartzScheduleTaskStatementOfAccount(SysQuartzScheduleTaskStatementOfAccount entity);

	void updateSysQuartzScheduleTaskStatementOfAccount(SysQuartzScheduleTaskStatementOfAccount entity);

	void deleteSysQuartzScheduleTaskStatementOfAccount(Long id);

	SysQuartzScheduleTaskStatementOfAccount findSysQuartzScheduleTaskStatementOfAccountById(Long id);

	R<List<SysQuartzScheduleTaskStatementOfAccount>> pageQuery(Map<String, Object> conditions, int pageNun, int pageSize);

	/****************************************** 基础业务部分   end ******************************************/


	AutoCreateScheduleTaskStatementOfAccountReportVo autoCreateScheduleTaskStatementOfAccountDimOrder(String token, AutoCreateScheduleTaskStatementOfAccountParam params);

	AutoCreateScheduleTaskStatementOfAccountReportVo autoCreateScheduleTaskStatementOfAccountDimGoods(String token, AutoCreateScheduleTaskStatementOfAccountParam params);

	List<SysQuartzScheduleTaskStatementOfAccount> getToDoSysQuartzScheduleTaskStatementOfAccountList(int pageNun, int pageSize);

	void runTaskSysQuartzScheduleTaskStatementOfAccount(SysQuartzScheduleTaskStatementOfAccount entity);


}