package cn.iocoder.yudao.module.flow.convert.outbound;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.basic.api.redis.dto.DealerInfoDTO;
import cn.iocoder.yudao.module.flow.api.outbound.dto.OutboundRespDTO;
import cn.iocoder.yudao.module.flow.controller.admin.outboundgoods.vo.OutboundGoodsSaveReqVO;
import cn.iocoder.yudao.module.flow.dal.dataobject.outboundgoods.OutboundGoodsDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.flow.controller.admin.outbound.vo.*;
import cn.iocoder.yudao.module.flow.dal.dataobject.outbound.OutboundDO;

/**
 * 出库单 Convert
 *
 * @author 芋道源码
 */
@Mapper
public interface OutboundConvert {

    OutboundConvert INSTANCE = Mappers.getMapper(OutboundConvert.class);

    OutboundDO convert(OutboundCreateReqVO bean);

    OutboundDO convert(OutboundUpdateReqVO bean);

    OutboundRespVO convert(OutboundDO bean);

    List<OutboundRespVO> convertList(List<OutboundDO> list);

    PageResult<OutboundRespVO> convertPage(PageResult<OutboundDO> page);

    List<OutboundExcelVO> convertList02(List<OutboundDO> list);

    List<OutboundGoodsDO> convertListCreate(List<OutboundGoodsSaveReqVO> list);

    List<OutboundRespDTO> convertToRespDTOList(List<OutboundDO> list);
}
