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

import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesShiftExt;
import cn.estsh.i3plus.pojo.mes.bean.MesShift;
import io.swagger.annotations.ApiOperation;

import java.util.List;

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

    /**
     * 查询班次所有有效数据
     * @param shiftExt 班次信息
     * @return 班次集合
     */
    @ApiOperation(value = "查询班次所有有效数据", notes = "查询班次所有有效数据")
    List<MesShiftExt> queryShiftAll(MesShiftExt shiftExt);

    /**
     * 根据生产线代码,班次代码获取班次扩展信息
     * @param organizeCode 组织代码
     * @param workCenterCode 生产线代码
     * @param shiftCode 班次代码
     * @return 物料信息
     */
    @ApiOperation(value = "根据生产线代码,班次代码获取班次扩展信息", notes = "根据生产线代码,班次代码获取班次扩展信息")
    MesShiftExt getShiftExtByShiftCodeAndCenterCode(String organizeCode, String workCenterCode, String shiftCode);

    /**
     * 根据生产线代码,班次代码获取班次信息
     * @param organizeCode 组织代码
     * @param workCenterCode 生产线代码
     * @param shiftCode 班次代码
     * @return 物料信息
     */
    @ApiOperation(value = "根据生产线代码,班次代码获取班次信息", notes = "根据生产线代码,班次代码获取班次信息")
    MesShift getShiftByShiftCodeAndCenterCode(String organizeCode, String workCenterCode, String shiftCode);

    /**
     * 根据生产线代码获取班次信息集合
     * @param organizeCode 组织代码
     * @param workCenterCode 生产线代码
     * @return 班次信息集合
     */
    @ApiOperation(value = "根据生产线代码获取班次信息集合", notes = "根据生产线代码获取班次信息集合")
    List<MesShift> getShiftListbyCenterCode(String organizeCode, String workCenterCode);

    /**
     * 获取班次信息集合
     * @param organizeCode 组织代码
     * @return 班次信息集合
     */
    @ApiOperation(value = "获取班次信息集合", notes = "获取班次信息集合")
    List<MesShift> getShiftList(String organizeCode);
}
