package com.qunzhixinxi.hnqz.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qunzhixinxi.hnqz.admin.entity.WmPayOff;
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
import com.qunzhixinxi.hnqz.common.core.util.R;

import java.util.List;

/**
 * 结算表
 *
 * @author Liujh
 * @date 2020-12-1
 */
public interface WmPayOffService extends IService<WmPayOff> {

	R saveSettleInfo(List<WmScorePackage> wsList) throws Exception;

	/**
	 * 获取结算信息
	 *
	 * @param input 参数
	 * @return 结算信息
	 */
	R settleById(WmScorePackageSettleInput input);

	R settleIssue(WmScorePackageSettleInput input);

	/**
	 * 业务保存操作
	 *
	 * @param input 提交信息
	 * @return 保存结果
	 */
	R settleSave(WmScorePackageSettleInput input);

	R settleReIssue(WmScorePackageSettleInput input);

	/**
	 * 业务提交结算信息到财务
	 *
	 * @param input 输入信息
	 * @return 提交结果
	 */
	R settleSubmit(WmScorePackageSettleInput input);

	/**
	 * 财务回退操作
	 *
	 * @param input 提交参数
	 * @return 操作结果
	 */
	R settleBack(WmScorePackageSettleInput input);

	/**
	 * 提交结算
	 *
	 * @param input 提交结算信息
	 * @return 提交结果
	 */
	R settleIssueBySubType(WmScorePackageSettleInput input);

	R settleReIssueBySubType(WmScorePackageSettleInput input);
}
