package com.dhcc.finance.main.service;
/**
 * 功能描述：会计科目版本操作接口
 * @author dml
 * @date 2019年3月21日 下午4:52:26
 * @修改日志：
 */

import java.util.List;

import com.dhcc.common.model.CurrencyMeta;
import com.dhcc.common.model.response.RestfulResponse;
import com.dhcc.finance.main.domain.CwBdAccsubj;
import com.dhcc.finance.main.domain.CwBdSubjscheme;
import com.dhcc.finance.main.model.CwBdSubjschemeAdd;
import com.github.pagehelper.PageInfo;

public interface CwBdSubjschemeService
{
	/**
	 * 功能描述：会计科目版本新增
	 * @param cwBdSubjscheme
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年3月21日 下午4:57:01
	 * @修改日志：
	 */
	RestfulResponse<Object, CurrencyMeta> addCwBdSubjscheme(CwBdSubjschemeAdd cwBdSubjschemeAdd);
	/**
	 * 功能描述：查询全部版本
	 * @param pageNum
	 * @param pageSize
	 * @param navigatePages
	 * @return RestfulResponse<PageInfo<CwBdSubjscheme>,CurrencyMeta>
	 * @author dml
	 * @date 2019年3月21日 下午7:19:34
	 * @修改日志：
	 */
	RestfulResponse<PageInfo<CwBdSubjscheme>, CurrencyMeta> searchCwBdSubjschemeAllData(int pageNum, int pageSize, int navigatePages,String nameLike);
	/**
	 * 功能描述：通过主键修改版本信息
	 * @param postId
	 * @param sysPostInfo
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年3月21日 下午7:51:36
	 * @修改日志：
	 */
	RestfulResponse<Object, CurrencyMeta> updateCwBdSubjschemeByPk(CwBdSubjscheme cwBdSubjscheme);
	/**
	 * 功能描述：逻辑删除版本信息
	 * @param pk
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年3月21日 下午8:16:35
	 * @修改日志：
	 */
	RestfulResponse<Object, CurrencyMeta> deleteCwBdSubjschemeByPk(String pk);
	
	/**
	 * 功能描述：会计科目版本启动
	 * @param cwBdSubjscheme
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author dml
	 * @date 2019年3月23日 上午11:46:28
	 * @修改日志：
	 */
	RestfulResponse<Integer, CurrencyMeta> updateEnablestate(CwBdSubjscheme cwBdSubjscheme);
	/**
	 * @return RestfulResponse<Object,CurrencyMeta>
	 *@author huangpeng
	 *@date 2019年3月29日 下午3:11:55
	 *@修改日志：
	 */
	RestfulResponse<List<CwBdSubjscheme>, CurrencyMeta> searchCwBdSubjschemePKandCode();
	/**查询正在启动的科目版本数目
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @author lipeng
	 * @date 2019年7月11日 下午3:11:55
	 * @修改日志：
	 */
	RestfulResponse<Object, CurrencyMeta> selectNumByEnablestate();
	/**
	 * @Title: selectAllSubjCode
	 * @Description: TODO(查询所有的科目编号)
	 * @author lipeng
	 * @param @return
	 * @return RestfulResponse<Object,CurrencyMeta>
	 * @see
	 * @throws
	 */
	RestfulResponse<List<CwBdAccsubj>, CurrencyMeta> selectAllSubjCode();
}
