package cn.iocoder.yudao.module.mes.service.md.workstation; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationPageReqVO; import cn.iocoder.yudao.module.mes.controller.admin.md.workstation.vo.MesMdWorkstationSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO; 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 MesMdWorkstationService { /** * 创建工作站 * * @param createReqVO 创建信息 * @return 编号 */ Long createWorkstation(@Valid MesMdWorkstationSaveReqVO createReqVO); /** * 更新工作站 * * @param updateReqVO 更新信息 */ void updateWorkstation(@Valid MesMdWorkstationSaveReqVO updateReqVO); /** * 删除工作站 * * @param id 编号 */ void deleteWorkstation(Long id); /** * 校验工作站存在 * * @param id 编号 * @return 工作站 */ MesMdWorkstationDO validateWorkstationExists(Long id); /** * 校验工作站存在且启用 * * @param id 编号 * @return 工作站 */ MesMdWorkstationDO validateWorkstationExistsAndEnable(Long id); /** * 获得工作站 * * @param id 编号 * @return 工作站 */ MesMdWorkstationDO getWorkstation(Long id); /** * 获得工作站分页 * * @param pageReqVO 分页查询 * @return 工作站分页 */ PageResult getWorkstationPage(MesMdWorkstationPageReqVO pageReqVO); /** * 获得指定状态的工作站列表 * * @param status 状态 * @return 工作站列表 */ List getWorkstationListByStatus(Integer status); /** * 获得指定仓库下的工作站数量 * * @param warehouseId 仓库编号 * @return 工作站数量 */ Long getWorkstationCountByWarehouseId(Long warehouseId); /** * 获得指定库区下的工作站数量 * * @param locationId 库区编号 * @return 工作站数量 */ Long getWorkstationCountByLocationId(Long locationId); /** * 获得指定库位下的工作站数量 * * @param areaId 库位编号 * @return 工作站数量 */ Long getWorkstationCountByAreaId(Long areaId); /** * 获得指定车间下的工作站数量 * * @param workshopId 车间编号 * @return 工作站数量 */ Long getWorkstationCountByWorkshopId(Long workshopId); /** * 获得工作站列表 * * @param ids 编号数组 * @return 工作站列表 */ List getWorkstationList(Collection ids); /** * 获得工作站 Map * * @param ids 编号数组 * @return 工作站 Map */ default Map getWorkstationMap(Collection ids) { return convertMap(getWorkstationList(ids), MesMdWorkstationDO::getId); } }