package com.prolog.upcloud.base.wh.operate.service;

import com.prolog.cs.biz.outbound.model.dto.InfTaskOutBackDTO;
import com.prolog.entity.vo.CompleteTaskVO;
import com.prolog.entity.vo.OutboundTaskCallbackItemVO;
import com.prolog.entity.vo.OutboundTaskCallbackVO;
import com.prolog.framework.core.pojo.Page;
import com.prolog.upcloud.base.wh.operate.vo.InvCheckDetailPdaVO;
import com.prolog.upcloud.base.wh.operate.vo.InvCheckListVO;
import com.prolog.upcloud.base.wh.operate.vo.WmsInvCheckAddVO;
import com.prolog.upcloud.base.wh.operate.vo.WmsInvCheckUpdateVO;

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

/**
 * @author zzz
 * @desc 盘点
 * @date 2021-04-07
 */
public interface InvCheckService {

    void addInvCheck(WmsInvCheckAddVO invCheckAddVO);

    void updateInvCheck(List<WmsInvCheckUpdateVO> list);

    void examineInvCheck(Map<String, Object> map);

    Page<InvCheckListVO> getCheckList(String warehouseId);

    InvCheckDetailPdaVO getCurrentCheckDetail(String checkHeaderId, String warehouseId, String locatorId, String containerCode);

    void addInvCheckRe(Map<String, Object> map);

    Object countSheetReceive(Map<String, Object> map);

    void sendDeviceOrder4Check(List<String> list);

    void invCheckOutBack(InfTaskOutBackDTO vo);

    /**
     * EIS盘点完成确认回告WMS
     *
     * @param backList 入参
     */
    void eisBackUpdateCheckD(List<CompleteTaskVO> backList);

    void updateStatus4CheckByEis(OutboundTaskCallbackVO vo);
}
