package com.foreverwin.mesnac.production.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.production.model.SfcDataAssemble;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

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

/**
 * <p>
 * 生产执行数据装配 Mapper 接口
 * </p>
 *
 * @author Philip
 * @since 2021-07-19
 */
@Repository
public interface SfcDataAssembleMapper extends BaseMapper<SfcDataAssemble> {
    /**
     * 初始化查询装配数据
     * @param sfcDispatchBo 生产操作面板主表BO
     * @return
     */
    List<Map<String, Object>> querySfcAssemble(@Param("sfcDispatchBo") String sfcDispatchBo);

    /**
     * 拆机是查询是否已装配
     * @param site
     * @param sfc
     * @param inventoryId
     * @param itemBo
     * @return
     */
    List<Map<String, Object>> queryAssembleDate(@Param("site") String site, @Param("sfc") String sfc, @Param("inventoryId") String inventoryId, @Param("itemBo") String itemBo);

    /**
     * 查询物料消耗数据
     * @param handle
     * @return
     */
    List<Map<String, Object>> sfcAssembleDate(@Param("handle") String handle);

    /**
     * 校验条码装配
     * @param
     * @return
     */
    List<Map<String, Object>> validateSfcAssemble(@Param(value = "site") String site, @Param(value = "inventoryId") String inventoryId, @Param(value = "handle") String handle);

    /**
     * 查询拆机数据
     * @param handle
     * @return
     */
    Map<String, Object> querySfcDismantling(@Param("handle") String handle);

    List<Map<String, Object>> selectInventoryAnomaly(@Param("site") String site, @Param("inventory") String inventory);

    List<Map<String, Object>> selectSfcBomComponent(@Param("sfcDataMainBo") String sfcDataMainBo, @Param("sfcBo") String sfcBo, @Param("stepId") String stepId, @Param("item") String item);
    /**
     * 根据 sfc 和物料条码 查询图号
     * @param site
     * @param sfcorinv
     * @return
     */
    List<Map<String, Object>> queryDrawBySfcOrInv(@Param("site") String site, @Param("sfcorinv") String sfcorinv);
}