package cn.iocoder.yudao.module.mes.service.wm.sorting;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.sorting.vo.MesWmSortPendingNoticeRespVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.sorting.vo.MesWmSortProductionRequestRespVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.sorting.vo.MesWmSortTaskPageReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.sorting.vo.MesWmSortTaskRespVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.wm.sorting.vo.MesWmSortTaskScanReqVO;
|
|
import java.util.List;
|
|
/**
|
* MES 分拣任务 Service 接口
|
*
|
* 需求 5.3:订单分拣 —— 依据清单和货位指引执行分拣,支持扫码校验,完成后触发配送
|
*/
|
public interface MesWmSortTaskService {
|
|
/**
|
* 从发货通知单生成分拣任务(按 FIFO 自动分配货位)
|
*
|
* @param noticeId 发货通知单编号
|
* @return 分拣任务编号
|
*/
|
Long createSortTaskFromNotice(Long noticeId);
|
|
/**
|
* 扫码校验分拣明细
|
*/
|
void scanLine(MesWmSortTaskScanReqVO scanReqVO);
|
|
/**
|
* 完成分拣(触发配送:生成销售出库单并记录承运信息)
|
*
|
* @param id 分拣任务编号
|
* @param carrier 承运商
|
* @param shippingNumber 物流单号
|
* @param remark 备注
|
*/
|
void finishSortTask(Long id, String carrier, String shippingNumber, String remark);
|
|
/**
|
* 取消分拣任务
|
*/
|
void cancelSortTask(Long id);
|
|
/**
|
* 删除分拣任务(仅待分拣/已取消可删除)
|
*/
|
void deleteSortTask(Long id);
|
|
/**
|
* 记录打印次数
|
*/
|
void updatePrintCount(Long id);
|
|
/**
|
* 提交生产申请:为分拣任务涉及的销售订单明细补建生产申请(MPS 草稿)
|
*
|
* @param id 分拣任务编号
|
* @return 提交结果(新建数量、跳过数量、失败明细)
|
*/
|
MesWmSortProductionRequestRespVO submitProductionRequest(Long id);
|
|
/**
|
* 获得分拣任务
|
*/
|
MesWmSortTaskRespVO getSortTask(Long id);
|
|
/**
|
* 获得分拣任务分页
|
*/
|
PageResult<MesWmSortTaskRespVO> getSortTaskPage(MesWmSortTaskPageReqVO pageReqVO);
|
|
/**
|
* 获得待分拣的发货通知单列表(已审核、未出库、且无未完成分拣任务)
|
*/
|
List<MesWmSortPendingNoticeRespVO> getPendingNoticeList(String noticeCode);
|
|
}
|