package cn.iocoder.yudao.module.mes.service.pro.line; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.pro.line.vo.MesProLinePageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.pro.line.vo.MesProLineSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.line.MesProLineDO; import jakarta.validation.Valid; import java.util.Collection; import java.util.List; import java.util.Map; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMap; /** * MES 产线维护 Service 接口 * * @author 超级管理员 */ public interface MesProLineService { /** * 创建产线 * * @param createReqVO 创建信息 * @return 编号 */ Long createLine(@Valid MesProLineSaveReqVO createReqVO); /** * 更新产线 * * @param updateReqVO 更新信息 */ void updateLine(@Valid MesProLineSaveReqVO updateReqVO); /** * 删除产线 * * @param id 编号 */ void deleteLine(Long id); /** * 获得产线 * * @param id 编号 * @return 产线 */ MesProLineDO getLine(Long id); /** * 获得产线列表 * * @param ids 编号列表 * @return 产线列表 */ List getLineList(Collection ids); /** * 获得产线分页 * * @param pageReqVO 分页查询 * @return 产线分页 */ PageResult getLinePage(MesProLinePageReqVO pageReqVO); /** * 获得指定状态的产线列表 * * @param status 状态 * @return 产线列表 */ List getLineListByStatus(Integer status); /** * 校验产线存在 * * @param id 编号 * @return 产线 */ MesProLineDO validateLineExists(Long id); /** * 校验产线存在且启用 * * @param id 编号 * @return 产线 */ MesProLineDO validateLineExistsAndEnable(Long id); /** * 获得产线 Map * * @param ids 编号列表 * @return 产线 Map */ default Map getLineMap(Collection ids) { return convertMap(getLineList(ids), MesProLineDO::getId); } }