package com.cnbm.packing.service;

import com.cnbm.common.page.PageData;
import com.cnbm.common.service.CrudService;
import com.cnbm.packing.dto.ChangePackingBoxDTO;
import com.cnbm.packing.dto.WoPackagingBoxSubstrateDTO;
import com.cnbm.packing.entity.WoPackagingBoxSubstrate;

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

/**
 * 包装箱基板关联表
 *
 * @author codeGenerator
 * @since  2023-02-16
 */
public interface WoPackagingBoxSubstrateServiceBiz extends CrudService<WoPackagingBoxSubstrate, WoPackagingBoxSubstrateDTO> {

    PageData<WoPackagingBoxSubstrateDTO> page (Map<String, Object> params);

    WoPackagingBoxSubstrateDTO get(Long id);

    void save(WoPackagingBoxSubstrateDTO dto);

    void update(WoPackagingBoxSubstrateDTO dto);

    void delete(Long[] ids);

    void removeSubstrate(Long id);

    void insertSubstrate(ChangePackingBoxDTO dto);

    void replaceSubstrate(ChangePackingBoxDTO[] dtos);

    void insertSubstrateManual(ChangePackingBoxDTO[] dtos);

    void updateSubstrateManual(ChangePackingBoxDTO[] dtos);

    WoPackagingBoxSubstrate getBySubId(String subId);

    List<WoPackagingBoxSubstrateDTO> substrateList (String woSubstrateId);


    int updatePackagingBoxIdAndSlotByWoSubstrateId(String packagingBoxId,Integer slot,String woSubstrateId);
}