package com.sunda.spmsoversea.service;

import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmsoversea.dto.WhsOperateLogSearchDTO;
import com.sunda.spmsoversea.entity.WhsOperateLog;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 库存操作日志表 服务类
 * </p>
 *
 * @author Wayne
 * @since 2021-09-10
 */
public interface IWhsOperateLogService extends IService<WhsOperateLog> {

    /** 海外仓新增储位库存操作记录，海外仓无仓库库存 */
    void insertWhsOperateLog(String uuidStorage,
                             String materialNo,
                             double quantity,
                             String operationType,
                             String relateDocumentNumber,
                             String comments,
                             String userId,
                             String remark,
                             String werks,
                             String whsLocationCode,
                             String movementType,
                             String itemNumber);

    /** 海外仓记录箱码到货日志，仅记录箱码到货 */
    void recordGetBoxNote(String boxNote,
                          String operationType,
                          String deliveryNoteSap,
                          String relateDocumentNumber,
                          String comments,
                          String userId,
                          String remark,
                          String werks,
                          String whsLocationCode,
                          String movementType,
                          String itemNumber);

    /** 海外仓日志查询，查询条件控制 documentType = 4，返回结构带关联单据号，分页 */
    ResponseResult getWhsOperateLog(WhsOperateLogSearchDTO operateLogSearchDTO);

    /** 海外仓日志查询，查询条件控制 documentType = 4，返回结构带关联单据号，不分页 */
    ResponseResult getWhsOperateLogList(WhsOperateLogSearchDTO operateLogSearchDTO, Map<String, String> orderKeyValueConfigs);

    /** 脏数据排查 20220310 */
    ResponseResult checkErrorDate();
}
