package com.ruoyi.warehouseBusiness.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.reportManagement.domain.TWhgenleg;
import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;

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

/**
 * 建行仓库接口
 *
 * @author s
 */
public interface IWarehouseBillsCcbService {

    /**
     * 出入库
     *
     * @param billType 单据类型
     * @param cargos 出入库数据
     * @return 结果
     */
    AjaxResult inAndOutStock(String billType, List<TWarehousebillsitems> cargos);

    /**
     * 获取库存
     *
     * @param takeVoucher 保管凭证号
     * @param corpName 客户名
     * @return 库存列表
     */
    List<Map<String, Object>> getStockList(String takeVoucher, String corpName);

    /**
     * 锁定库存
     *
     * @param belongTo 归属人
     * @param billNoList 业务编号
     * @param isWrNumber 是否仓单编号请求
     * @return 结果
     */
    AjaxResult lockStock(String belongTo, List<String> billNoList, boolean isWrNumber);

    /**
     * 解锁库存
     *
     * @param billNoList 业务编号
     * @param isWrNumber 是否仓单编号请求
     * @return 结果
     */
    AjaxResult unlockStock(List<String> billNoList, boolean isWrNumber);

    /**
     * 获取同步客户
     *
     * @param page 页数
     * @param size 单页大小
     * @param time 注册时间
     * @return 结果
     */
    List<Map<String, Object>> getSyncOrg(Integer page, Integer size, String time);

    /**
     * 获取电子标签
     *
     * @param billNo 业务编号
     * @return 结果
     */
    List<String> getLabel(String billNo);

    /**
     * 获取库存
     *
     * @param blNumber 提单号
     * @param corpName 客户名
     * @return 库存列表
     */
    List<Map<String, Object>> selectBlNumber(String blNumber, String corpName);
}
