package com.bonus.sgzb.material.mapper;

import com.bonus.sgzb.base.api.domain.MachIneDto;
import com.bonus.sgzb.material.domain.PutInStorageBean;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
* @description 入库盘点
* @author hay
* @date   2024/3/27 13:33
*/
@Mapper
public interface InventoryAndWarehousingMapper {

    /**
     * 查询入库盘点列表
     * @param bean
     * @return 结果
     */
    List<PutInStorageBean> getList(PutInStorageBean bean);

    /**
     * 新增ma_type_put_in_storage_details表
     * @param machIneDto
     * @return
     */
    Integer saveDetails(MachIneDto machIneDto);

    /**
     * 插入ma_type_put_in_storage_info表
     * @param machIneDto
     * @return
     */
    int saveInfo(MachIneDto machIneDto);

    /**
     * 更新matype表中num数量
     * @param typeId
     * @param num
     * @return
     */
    int updateMaType(@Param("typeId") String typeId, @Param("num") Integer num);

    /**
     * 新增ma_machine表
     * @param machIneDto
     * @return
     */
    int insertMachine(MachIneDto machIneDto);

    /**
     * 新增ma_machine_label
     * @param machIneDto
     * @return
     */
    int insertMachineLabel(MachIneDto machIneDto);

    /**
     * 新增ma_label_bind
     * @param machIneDto
     * @return
     */
    int insertLabelBind(MachIneDto machIneDto);

    /**
     * 查询
     * @param nowDate
     * @return
     */
    int selectTaskNumByMonth(@Param("date") Date nowDate);

    /**
     * 根据二维码code查重
     * @param code
     * @return
     */
    int selectByCode(String code);

    /**
     * 根据入库单号查看详情
     * @param bean
     * @return
     */
    List<PutInStorageBean> getDetails(PutInStorageBean bean);

    /**
     * 根据macode查重
     * @param maCode
     * @return
     */
    int selectByMaCode(String maCode);
}
