package nccloud.pubitf.gl.lightgl.voucher;

import java.util.HashMap;
import java.util.Map;
import nc.vo.gl.pubvoucher.VoucherVO;
import nc.vo.pub.BusinessException;
import nc.vo.pub.lang.UFDate;
import nc.vo.pub.lang.UFDouble;
import nccloud.dto.gl.lightgl.VoucherMDVO;
import nccloud.dto.gl.lightgl.VoucherWebVO;

public interface IVoucherWebService {
  Map<String, Object> insertVoucher(VoucherVO paramVoucherVO, boolean paramBoolean, UFDate paramUFDate) throws BusinessException;
  
  Map<Integer, String> saveAllVoucher(Map<Integer, VoucherVO> paramMap) throws BusinessException;
  
  Map<String, Object> tempSaveVoucher(VoucherWebVO paramVoucherWebVO) throws BusinessException;
  
  Map<String, Object> updateVoucher(VoucherVO paramVoucherVO, boolean paramBoolean, UFDate paramUFDate) throws BusinessException;
  
  Map<String, Object> deleteVoucher(String[] paramArrayOfString) throws BusinessException;
  
  // 【双百】2020-11-26：凭证删除方法（系统原理的删除方法和Rest API删除凭证的方法校验逻辑不一样，所以新加了一个方法）
  Map<String, Object> deleteVoucher4RestAPI(String[] paramArrayOfString) throws BusinessException;
  
  Map<String, Object> copyVoucher(VoucherVO paramVoucherVO, String paramString) throws BusinessException;
  
  HashMap<String, Object> checkVoucher(String[] paramArrayOfString, boolean paramBoolean1, boolean paramBoolean2) throws BusinessException;
  
  HashMap<String, Object> tallyVoucher(String[] paramArrayOfString, String paramString, boolean paramBoolean1, boolean paramBoolean2) throws BusinessException;
  
  HashMap<String, Object> abandonVoucher(String[] paramArrayOfString, boolean paramBoolean1, boolean paramBoolean2) throws BusinessException;
  
  HashMap<String, Object> signVoucher(String[] paramArrayOfString, String paramString1, boolean paramBoolean1, boolean paramBoolean2, String paramString2) throws BusinessException;
  
  Map<String, Integer> getVoucherNo(VoucherWebVO paramVoucherWebVO) throws BusinessException;
  
  Map<String, Object> saveError(VoucherWebVO paramVoucherWebVO) throws BusinessException;
  
  Map<String, Object> offsetVoucher(String paramString1, String paramString2) throws BusinessException;
  
  VoucherMDVO showSumDetail(String paramString) throws BusinessException;
  
  Map<String, Object> apportion(VoucherVO paramVoucherVO, int paramInt, UFDouble paramUFDouble, String paramString) throws BusinessException;
  
  void exportXML(String[] paramArrayOfString, String paramString, boolean paramBoolean) throws BusinessException;
  
  Map<String, Object> doParallel(VoucherVO paramVoucherVO, boolean paramBoolean) throws BusinessException;
  
  Map<String, Object> botCreatVoucher(Map<String, Object> paramMap) throws BusinessException;
  
  Map<String, Object> queryAccbookInfo(Map<String, Object> paramMap) throws BusinessException;
}