package com.engine.htsc.subpayment.service;

import java.util.Map;

public interface SubPaymentService {

  /**
   * 资金虚拟部门拉取超预算数据
   * @return json,浪潮返回
   */
  Map<String, Object> queryOverBudget(Map<String, Object> maps) throws Exception;

  /**
   * 从 cus_fielddata 取field11, id为参数(ngr)
   * @param ngr id
   * @return 报销地
   */
  String queryReiPlace(String ngr) throws Exception;

  /**
   * 从 uf_lhclyxxx 建模中获取银行信息
   * @param uid 工号
   */
  Map<String, String> queryBankInfoByUid(String uid) throws Exception;

  /**
   * 批量处理付款
   * @param rids 多rid，逗号分隔
   * @return id对应核算结果
   * @throws Exception 异常
   */
  Map<String, String> doPaymentByBatchId(String rids) throws Exception;

  /**
   * 批量处理预算
   * @param rid 多id，逗号分隔
   * @param isDiscard 预算废弃(-1)、实占(1)标志符
   * @return id对应预算结果
   * @throws Exception 异常
   */
  Map<String, String> doBudgetByBatchId(String rid, String isDiscard) throws Exception;

  /**
   * 批量处理核算
   * @param rids 多id，逗号分隔
   * @return id对应核算结果
   * @throws Exception 异常
   */
  Map<String, String> doAccountByBatchId(String rids) throws Exception;

  /**
   * 更新手动付款状态
   * @param rids 多id，逗号分隔
   * @return 更新是否成功
   */
  String updateManualPaymentStatus(String rids);
}
