package cn.estsh.i3plus.ext.mes.pcn.api.busi.bu3;

import cn.estsh.i3plus.ext.mes.pcn.pojo.bean.MesEsopCenterRemainCfg;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import io.swagger.annotations.ApiOperation;

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

    /**
     * 获取作业指导书生产线切替数量配置信息
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @return 作业指导书生产线切替数量配置信息
     */
    @ApiOperation(value = "获取作业指导书生产线切替数量配置信息", notes = "获取作业指导书生产线切替数量配置信息")
    MesEsopCenterRemainCfg getEsopCenterRemainCfg(String organizeCode, String workCenterCode);

    /**
     * 缓存作业指导书生产线切替数量配置信息
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @return 切替数量
     */
    @ApiOperation(value = "缓存作业指导书生产线切替数量配置信息", notes = "缓存作业指导书生产线切替数量配置信息")
    String doCachedEsopCenterRemainCfg(String organizeCode, String workCenterCode);

    /**
     * 缓存作业指导书执行的生产工单
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @param workOrder 生产工单
     * @return 作业指导书执行的生产工单
     */
    @ApiOperation(value = "缓存作业指导书执行的生产工单", notes = "缓存作业指导书执行的生产工单")
    String doCachedOrderByEsopCenterRemainCfg(String organizeCode, String workCenterCode, MesWorkOrder workOrder);

    /**
     * 缓存作业指导书生产线执行工单号
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @param workOrderNo 生产工单号
     * @return
     */
    @ApiOperation(value = "缓存作业指导书生产线执行工单号", notes = "缓存作业指导书生产线执行工单号")
    String doCachedOrderByEsopCenter(String organizeCode, String workCenterCode, String workOrderNo);

    /**
     * 获取作业指导书生产线缓存生产工单号
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @return 作业指导书生产线缓存生产工单号
     */
    @ApiOperation(value = "获取作业指导书生产线缓存生产工单号", notes = "获取作业指导书生产线缓存生产工单号")
    String getCachedOrderByEsopCenter(String organizeCode, String workCenterCode);

    /**
     * 获取作业指导书生产线缓存查阅记录
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @return 作业指导书生产线缓存查阅记录
     */
    @ApiOperation(value = "获取作业指导书生产线缓存查阅记录", notes = "获取作业指导书生产线缓存查阅记录")
    String getCachedReadRecordByEsopCenter(String organizeCode, String workCenterCode);

    /**
     * 缓存作业指导书生产线查阅记录
     * @param organizeCode 工厂代码
     * @param workCenterCode 生产线代码
     * @param workOrderNo 生产工单号
     */
    @ApiOperation(value = "缓存作业指导书生产线查阅记录", notes = "缓存作业指导书生产线查阅记录")
    void doCachedReadRecordByEsopCenter(String organizeCode, String workCenterCode, String workOrderNo);

}
