package cn.estsh.i3plus.ext.mes.pcn.api.base;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProcess;
import cn.estsh.i3plus.pojo.mes.bean.MesRouteProcess;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Author: wangjie
 * @CreateDate: 2021/01/19 15:06 下午
 * @Description:
 **/
public interface IRouteProcessExtService {

    /**
     * 按条件分页查询工序信息
     * @param process 查询条件
     * @param pager 分页条件
     * @return 工序信息
     */
    @ApiOperation(value = "按条件分页查询工序信息", notes = "按条件分页查询工序信息")
    ListPager<MesProcess> queryProcessByPager(MesProcess process, Pager pager);

    /**
     * 根据工序编码获取工序信息
     * @param organizeCode 组织代码
     * @param processCode 工序代码
     * @return
     */
    @ApiOperation(value = "根据工序编码获取工序信息", notes = "根据工序编码获取工序信息")
    MesProcess getProcessByCode(String organizeCode, String processCode);

    /**
     * 根据流程编码,工序编码获取流程工序信息
     * @param organizeCode 组织代码
     * @param routeCode 流程代码
     * @param processCode 工序代码
     * @return 流程工序信息
     */
    @ApiOperation(value = "根据流程编码,工序编码获取流程工序信息", notes = "根据流程编码,工序编码获取流程工序信息")
    MesRouteProcess getRouteProcessByCode(String organizeCode, String routeCode, String processCode);

    /**
     * 根据流程编码获取流程工序信息集合
     * @param organizeCode 组织代码
     * @param routeCode 流程代码
     * @return 流程工序信息
     */
    @ApiOperation(value = "根据流程编码获取流程工序信息集合", notes = "根据流程编码获取流程工序信息集合")
    List<MesRouteProcess> getRouteProcessByRoute(String organizeCode, String routeCode);
}
