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

import cn.estsh.i3plus.ext.mes.pojo.bean.MesRepairJudgeType;
import cn.estsh.i3plus.ext.mes.pojo.model.BatchIdModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;

import java.util.List;
import java.util.Map;

public interface IJxRepairJudgeTypeService {

    /**
     * 分页查询出货检验项目
     *
     * @param oqcProject 查询条件
     * @param pager 分页条件
     * @return 出货检验项目分页数据
     */
    @ApiOperation(value = "分页查询出货检验项目", notes = "分页查询出货检验项目")
    ListPager<MesRepairJudgeType> queryRepairJudgeTypePager(MesRepairJudgeType oqcProject, Pager pager);

    /**
     * 新增出货检验项目
     * @param model 出货检验项目信息
     */
    @ApiOperation(value = "新增出货检验项目", notes = "新增出货检验项目")
    MesRepairJudgeType insertRepairJudgeType(MesRepairJudgeType model);

    /**
     * 编辑出货检验项目
     * @param model 出货检验项目信息
     */
    @ApiOperation(value = "编辑出货检验项目", notes = "编辑出货检验项目")
    void updateRepairJudgeType(MesRepairJudgeType model);

    /**
     * 根据ID启用或禁用出货检验项目
     * @param model
     * @param userName
     */
    @ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目")
    int updateRepairJudgeTypeValidById(BatchIdModel model, String userName);

    /**
     * 根据ID启用或禁用出货检验项目
     * @param model
     * @param userName
     */
    @ApiOperation(value = "根据ID启用或禁用出货检验项目", notes = "根据ID启用或禁用出货检验项目")
    int deleteRepairJudgeTypeValidById(BatchIdModel model, String userName);

    /**
     * 获取维修判定类型信息集合
     * @param organizeCode 组织代码
     * @return 维修判定类型信息集合
     */
    @ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合")
    List<MesRepairJudgeType> queryRepairJudgeList(String organizeCode);

    /**
     * 获取维修判定类型信息集合
     * @param organizeCode 组织代码
     * @return 维修判定类型信息集合
     */
    @ApiOperation(value = "获取维修判定类型信息集合", notes = "获取维修判定类型信息集合")
    Map<String, String> queryRepairJudgeMap(String organizeCode);
}
