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


import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdShiftContext;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProdShiftRecord;
import cn.estsh.i3plus.pojo.mes.model.StationKvBean;
import io.swagger.annotations.ApiOperation;

import java.util.List;

/**
 * @Description: 开关班记录
 * @Author: gsz
 * @Date: 2024/5/25 18:16
 * @Modify:
 */
public interface IMesProdShiftRecordService  {

    @ApiOperation(value = "分页查询开关班记录")
    ListPager<MesProdShiftRecord> queryMesProdShiftRecordByPager(MesProdShiftRecord partInspection, Pager pager);

    //缓存班次数据
    @ApiOperation(value = "新增开关班记录")
    void insertMesProdShiftRecord(MesProdShiftRecord item);

    //如果结班,会清除缓存中的班次数据
    @ApiOperation(value = "保存开关班记录")
    void saveMesProdShiftRecord(MesProdShiftRecord item);

    @ApiOperation(value = "查询开关班记录")
    MesProdShiftRecord queryMesProdShiftRecord(MesProdShiftRecord mesProdShiftRecord);

    @ApiOperation(value = "查询最新的开班记录")
    MesProdShiftRecord getProdShiftRecordOpenStatus(String organizeCode, String workCenterCode);

    @ApiOperation(value = "查询最新的开班记录")
    MesProdShiftRecord getProdShiftRecordCdtDesc(String organizeCode, String workCenterCode);

    @ApiOperation(value = "封装展示组件班组班次内容")
    List<StationKvBean> getProdShiftData(MesProdShiftRecord record);

    @ApiOperation(value = "获取展示组件班组班次内容")
    List<StationKvBean> getShiftRecordStationKvBeans(String organizeCode, String workCenterCode);

    @ApiOperation(value = "获取生产线的当前班组班次信息")
    MesProdShiftContext getMesProdShiftKvBean(String organizeCode, String workCenterCode);

    @ApiOperation(value = "封装当前班组班次信息")
    MesProdShiftContext getMesProdShiftKvBean(List<StationKvBean> prodShiftDataContext);

}
