| | |
| | | package cn.iocoder.yudao.module.mes.service.pro.workorder; |
| | | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderImportExcelVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderImportRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; |
| | |
| | | /** |
| | | * MES 生产工单 Service 接口 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | public interface MesProWorkOrderService { |
| | | |
| | |
| | | MesProWorkOrderDO getWorkOrder(String code); |
| | | |
| | | /** |
| | | * 导入生产工单 |
| | | * |
| | | * @param importList 导入列表 |
| | | * @param updateSupport 是否支持更新 |
| | | * @return 导入结果 |
| | | */ |
| | | MesProWorkOrderImportRespVO importWorkOrderList(List<MesProWorkOrderImportExcelVO> importList, |
| | | boolean updateSupport); |
| | | |
| | | /** |
| | | * 获得生产工单分页 |
| | | * |
| | | * @param pageReqVO 分页查询 |
| | |
| | | PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * 获得生产工单分页(带调度状态) |
| | | * |
| | | * @param pageReqVO 分页查询 |
| | | * @return 生产工单分页 |
| | | */ |
| | | PageResult<MesProWorkOrderDO> getWorkOrderSchedulePage(MesProWorkOrderPageReqVO pageReqVO); |
| | | |
| | | /** |
| | | * 获得工单列表 |
| | | * |
| | | * @param ids 编号数组 |
| | | * @return 工单列表 |
| | | */ |
| | | List<MesProWorkOrderDO> getWorkOrderList(Collection<Long> ids); |
| | | List<MesProWorkOrderDO> getWorkOrderList(java.util.Collection<Long> ids); |
| | | |
| | | /** |
| | | * 获得工单 Map |
| | |
| | | void updateProducedQuantity(Long id, BigDecimal incrQuantityProduced); |
| | | |
| | | /** |
| | | * 累加工单的已排产数量 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param incrQuantityScheduled 本次排产数量增量 |
| | | */ |
| | | void updateScheduledQuantity(Long id, BigDecimal incrQuantityScheduled); |
| | | |
| | | /** |
| | | * 校验排产数量不超过工单数量 |
| | | * |
| | | * @param id 工单编号 |
| | | * @param scheduleQuantity 本次排产数量 |
| | | */ |
| | | void validateScheduleQuantity(Long id, BigDecimal scheduleQuantity); |
| | | |
| | | /** |
| | | * 检查并自动完成工单 |
| | | * |
| | | * @param id 工单编号 |
| | | * @return true=已自动完成, false=未满足条件 |
| | | */ |
| | | boolean checkAndAutoFinishWorkOrder(Long id); |
| | | |
| | | /** |
| | | * 根据供应商 ID 统计工单数量 |
| | | * |
| | | * @param vendorId 供应商 ID |
| | |
| | | */ |
| | | Long getWorkOrderCountByVendorId(Long vendorId); |
| | | |
| | | /** |
| | | * 获得工单进度详情(含工序进度和任务列表) |
| | | * |
| | | * @param id 工单编号 |
| | | * @return 工单进度详情 |
| | | */ |
| | | cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderProgressRespVO getWorkOrderProgress(Long id); |
| | | |
| | | } |