| | |
| | | /** |
| | | * MES 生产任务 Service 接口 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | public interface MesProTaskService { |
| | | |
| | |
| | | * @return 生产任务分页 |
| | | */ |
| | | PageResult<MesProTaskDO> getTaskPage(MesProTaskPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * 获得待报工台账分页(进行中且仍有待报工量的任务) |
| | | * |
| | | * @param pageReqVO 分页查询 |
| | | * @return 待报工任务分页 |
| | | */ |
| | | PageResult<MesProTaskDO> getPendingFeedbackPage(MesProTaskPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * 根据工单编号列表,批量获得生产任务列表 |
| | |
| | | void cancelTaskByOrderId(Long workOrderId); |
| | | |
| | | /** |
| | | * 根据工作站绑定设备的生产效率和传送履带,计算生产时长(单位:小时) |
| | | * |
| | | * @param workstationId 工作站编号 |
| | | * @param quantity 排产数量 |
| | | * @return 生产时长(小时),无设备则返回 0 |
| | | */ |
| | | Integer calculateDuration(Long workstationId, BigDecimal quantity); |
| | | |
| | | /** |
| | | * 累加任务的已生产、合格、不合格数量 |
| | | * |
| | | * @param id 任务编号 |
| | |
| | | BigDecimal incrQualifyQuantity, |
| | | BigDecimal incrUnqualifyQuantity); |
| | | |
| | | /** |
| | | * 一键排产预览 |
| | | * |
| | | * @param reqVO 排产请求 |
| | | * @return 预生成任务列表 |
| | | */ |
| | | cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGeneratePreviewRespVO previewAutoGenerate( |
| | | cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGenerateReqVO reqVO); |
| | | |
| | | /** |
| | | * 一键排产执行 |
| | | * |
| | | * @param reqVO 排产请求 |
| | | * @return 生成的任务ID列表 |
| | | */ |
| | | List<Long> autoGenerateTasks( |
| | | cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskAutoGenerateReqVO reqVO); |
| | | |
| | | /** |
| | | * 生产任务停工 |
| | | * |
| | | * @param pauseReqVO 停工请求 |
| | | */ |
| | | void pauseTask(cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskPauseReqVO pauseReqVO); |
| | | |
| | | /** |
| | | * 生产任务复工 |
| | | * |
| | | * @param resumeReqVO 复工请求 |
| | | */ |
| | | void resumeTask(cn.iocoder.yudao.module.mes.controller.admin.pro.task.vo.MesProTaskResumeReqVO resumeReqVO); |
| | | |
| | | /** |
| | | * 获取生产任务的指定报工人员列表,按任务编号分组 |
| | | * |
| | | * @param taskIds 任务编号集合 |
| | | * @return 任务关联的人员列表 Map |
| | | */ |
| | | default Map<Long, List<cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO>> getTaskAssigneeMap(Collection<Long> taskIds) { |
| | | if (cn.hutool.core.collection.CollUtil.isEmpty(taskIds)) { |
| | | return java.util.Collections.emptyMap(); |
| | | } |
| | | return cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertMultiMap( |
| | | getTaskAssigneeListByTaskIds(taskIds), cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO::getTaskId); |
| | | } |
| | | |
| | | /** |
| | | * 根据任务编号集合获取关联人员列表 |
| | | */ |
| | | List<cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskAssigneeDO> getTaskAssigneeListByTaskIds(Collection<Long> taskIds); |
| | | |
| | | } |