package cn.superdesk.uniorder.dubbo.facade.sys.notify;


import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.common.security.dto.LoginSysUser;
import cn.superdesk.uniorder.dao.entity.sys.notify.SysNotify;
import cn.superdesk.uniorder.dto.param.system.notify.SysNotifyClearByDatabaseRecordCriteria;
import cn.superdesk.uniorder.dto.param.system.notify.SysNotifyParam;
import com.github.pagehelper.PageInfo;

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

/**
 * @Description:
 * @Author: linjinyu
 * @Email linjinyu@avic-s.com
 * @CreateDate: 2021-03-01 17:37:17
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021-03-01 17:37:17
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public interface DubboSysNotifyService {


	/****************************************** 客户结算 开票申请 列表导出 Excel数据 start ******************************************/

	void notifyExportExcelInvoiceApplyFocusUnifiedDimGoods(SysNotify sysNotify, LoginSysUser loginSysUser);

	void notifyExportExcelInvoiceApplyFocusScoreDimCredit(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 客户结算 开票申请 列表导出 Excel数据   end ******************************************/

	/****************************************** 客户结算 导出应收账款 start ******************************************/

	void notifyExportExcelInvoiceInvoiceds(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 客户结算 导出应收账款   end ******************************************/



	/****************************************** 开票申请(发票) 详情 20210303 start ******************************************/

	void notifyExportExcelUnifiedCustomerInvoice2GoodsDetail(SysNotify sysNotify, LoginSysUser loginSysUser);

	void notifyExportExcelUnifiedCustomerInvoice2CreditDetail(SysNotify sysNotify, LoginSysUser loginSysUser);

	void notifyExportExcelDimUnifiedInvoiceRegister4E6(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 开票申请(发票) 详情 20210305   end ******************************************/

	/****************************************** 订单管理 导出报表 导出成本 20210303 start ******************************************/

	void notifyExportExcelOrderManagerGoodsData(SysNotify sysNotify, LoginSysUser loginSysUser);

	void notifyExportExcelOrderManagerGoodsCostPrice(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 订单管理 导出报表 导出成本 20210303   end ******************************************/


	/****************************************** 客户结算 未对账 导出表格 20210316 start ******************************************/

	void notifyExportExcelAccountingCustomerNotYetDimOrder(SysNotify sysNotify, LoginSysUser loginSysUser);

	void notifyExportExcelAccountingCustomerNotYetDimGoods(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 客户结算 未对账 导出表格 20210316   end ******************************************/


	/****************************************** 积分结算 未对账 start ******************************************/

	void notifyExportExcelScoreOrderReconciliationNotYet(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 积分结算 未对账   end ******************************************/


	/****************************************** 供应商结算 未对账 详情 start ******************************************/

	void notifyExportExcelAccountingSupplierNotYetDimGoods(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 供应商结算 未账单 详情   end ******************************************/


	/****************************************** 客户结算 对账单 详情 start ******************************************/

	void notifyExportCustomerStatementOfAccountDetailCompatible(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 客户结算 对账单 详情   end ******************************************/

	/****************************************** 供应商结算 对账单 列表 start ******************************************/

	void notifyExportExcelUnifiedSupplierList(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 供应商结算 对账单 列表 end ******************************************/

	/****************************************** 供应商结算 对账单 详情 start ******************************************/

	void notifyExportSupplierStatementOfAccountDetailCompatible(SysNotify sysNotify, LoginSysUser loginSysUser);

	/****************************************** 供应商结算 对账单 详情   end ******************************************/

	/****************************************** 供应商结算 京东对账 start ******************************************/

	void notifyAsyncExcelImportFullVersion(SysNotify sysNotify, String batchId, LoginSysUser loginSysUser);

	void notifyAsyncExcelImportLiteVersion(SysNotify sysNotify, String batchId, LoginSysUser loginSysUser);

	void notifyAsyncCompareOrderAndCheckUpThenReport(SysNotify sysNotify, String batchId, LoginSysUser loginSysUser);

	void notifyAsyncCompareOrderAndCheckUpThenReportOnlyException(SysNotify sysNotify, String batchId, LoginSysUser loginSysUser);

	/****************************************** 供应商结算 京东对账   end ******************************************/

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

	@Deprecated
	void addObj(SysNotifyParam param);

	@Deprecated
	void updateObj(SysNotifyParam param);

	@Deprecated
	void deleteObj(Long id);

	@Deprecated
	SysNotify findById(Long id);

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

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

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


	void addSysNotify(SysNotifyParam param);

	void updateSysNotify(SysNotifyParam param);

	void deleteSysNotify(Long id);

	SysNotify findSysNotifyById(Long id);

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

	void clearByDatabaseRecord(SysNotifyClearByDatabaseRecordCriteria sysNotifyClearByDatabaseRecordCriteria);

	void clearByFileSystem(SysNotifyClearByDatabaseRecordCriteria sysNotifyClearByDatabaseRecordCriteria);
}
