package com.xisc.pm.app.service;

import com.xisc.pm.api.dto.*;
import io.choerodon.core.domain.Page;
import io.choerodon.mybatis.pagehelper.domain.PageRequest;

import java.util.List;

/**
 * 合同结构规格表(PmSpecTableColumn)应用服务
 *
 * @author 纪文桃 wentao.ji01@hand-china.com
 * @since 2024-10-12 09:10:24
 */
public interface PmSpecTableColumnService {

    /**
     * 查询数据
     *
     * @param dto      查询参数
     * @param tenantId 租户id
     * @return
     */
    PmRuntimeContractResDTO selectList(PmRuntimeContractReqDTO dto, Long tenantId);

    /**
     * 查询行信息
     *
     * @param dto      查询参数
     * @param tenantId 租户id
     * @return
     */
    Page<PmRuntimeContractLineReqDTO> listLine(PmRuntimeContractLineDTO dto, Long tenantId, PageRequest pageRequest);

    /**
     * 手工执行
     *
     * @param stNoList 钢种
     * @param tenantId 租户
     */
    void manualExecution(List<String> stNoList, Long tenantId);

    /**
     * 更改
     *
     * @param dto      入参
     * @param tenantId 租户
     */
    void chage(PmRuntimeContractChangeDTO dto, Long tenantId);

    /**
     * 指定
     *
     * @param dto      参数
     * @param tenantId 租户
     */
    void appoint(PmRuntimeContractAppointDTO dto, Long tenantId);

    /**
     * 取消指定
     *
     * @param orderNoList 合同号
     * @param tenantId    租户
     */
    void cancelAppoint(List<String> orderNoList, Long tenantId);
}

