package com.storlead.trade.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.storlead.trade.dto.SopDetailCreateDTO;
import com.storlead.trade.dto.SopDetailUpdateDTO;
import com.storlead.trade.dto.SopResponseDTO;
import com.storlead.trade.entity.SopEntity;
import com.storlead.framework.common.result.Result;

import java.util.List;

/**
 * SOP Service接口
 */
public interface SopService extends IService<SopEntity> {

    /**
     * 创建SOP（包含明细）
     */
    Result<Object> createSop(String name, List<SopDetailCreateDTO> details);

    /**
     * 更新SOP（包含明细）
     */
    void updateSop(Long id, String name, List<SopDetailUpdateDTO> details);

    /**
     * 删除SOP（级联删除明细）
     */
    void deleteSop(Long id);

    /**
     * 获取SOP详情（包含明细）
     */
    SopResponseDTO getSopDetail(Long id);

    /**
     * 分页查询SOP列表
     */
    IPage<SopResponseDTO> listSopPage(
            SopResponseDTO dto);
}
