package com.jwipc.supplier.convert;

import com.jwipc.supplier.dto.*;
import com.jwipc.supplier.entity.SupplierPurchaseCategory;
import com.jwipc.supplier.entity.SupplierPurchaseCategoryVersion;
import com.jwipc.supplier.model.po.SupplierBankDMPO;
import com.jwipc.supplier.model.po.SupplierContactsDMPO;
import com.jwipc.supplier.model.po.SupplierProductTypeDMPO;
import com.jwipc.supplier.model.po.SupplierPurchaseCategoryListPO;
import org.mapstruct.Mapper;

import java.util.List;


@Mapper(componentModel = "spring")
public interface SupplierPurchaseCategoryConvert {
    List<SupplierPurchaseCategoryBaseDTO> entities2Dtos(List<SupplierPurchaseCategory> list);

    List<SupplierPurchaseCategory> dtos2Entities(List<SupplierPurchaseCategoryBaseDTO> items);

    List<SupplierPurchaseCategorySelectorDTO> entities2ListDtos(List<SupplierPurchaseCategory> list);

    List<SupplierPotentialListDTO> pos2PotentialDtos(List<SupplierPurchaseCategoryListPO> categoryListPOS);

    List<SupplierSmallbatchListDTO> pos2SmallbatchDtos(List<SupplierPurchaseCategoryListPO> categoryListPOS);

    List<SupplierQualifiedListDTO> pos2QualifiedDtos(List<SupplierPurchaseCategoryListPO> categoryListPOS);

    SupplierPurchaseCategory dto2Entity(SupplierPurchaseCategoryBaseDTO supplierPurchaseCategoryBaseDTO);

    List<SupplierMainDataListDTO> pos2MainData(List<SupplierPurchaseCategoryListPO> categoryListPOS);

    List<SupplierBankDMDTO> pos2MainData1(List<SupplierBankDMPO> data);

    List<SupplierProductTypeDMDTO> pos2MainData2(List<SupplierProductTypeDMPO> data);

    List<SupplierContactsDMDTO> pos2MainData3(List<SupplierContactsDMPO> supplierContactsDMPOS);

    List<SupplierPurchaseCategory> versionEntities2Entities(List<SupplierPurchaseCategoryVersion> addOrUpdate);

    SupplierPurchaseCategoryBaseDTO entities2Dto(SupplierPurchaseCategory supplierPurchaseCategory);
}
