package cn.iocoder.yudao.module.mes.service.pro.pallet;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletBatchCreateReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletBindBatchReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletPageReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletPreGenerateReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO;
|
import jakarta.validation.Valid;
|
|
import java.util.Collection;
|
import java.util.List;
|
|
/**
|
* MES 托盘码 Service 接口
|
*
|
* @author 超级管理员
|
*/
|
public interface MesProPalletService {
|
|
/**
|
* 批量生成托盘码(码值 = 批次号-P+托盘序号),并回写批次托盘数量
|
*
|
* @param createReqVO 生成信息
|
* @return 生成的托盘码编号列表
|
*/
|
List<Long> batchCreatePallet(@Valid MesProPalletBatchCreateReqVO createReqVO);
|
|
/**
|
* 预生成托盘码二维码:不绑定生产批次,仅创建携带临时托盘码的记录
|
*
|
* @param reqVO 预生成信息
|
* @return 新建的托盘码记录(含临时托盘码)
|
*/
|
List<MesProPalletDO> preGeneratePallet(@Valid MesProPalletPreGenerateReqVO reqVO);
|
|
/**
|
* 托盘码绑定生产批次:生成正式托盘码(批次号-P+托盘序号),并回写批次托盘数量
|
*
|
* @param bindReqVO 绑定信息
|
* @return 本次绑定的托盘数量
|
*/
|
int bindBatch(@Valid MesProPalletBindBatchReqVO bindReqVO);
|
|
/**
|
* 删除托盘码(未绑定袋码才允许删除)
|
*
|
* @param id 编号
|
*/
|
void deletePallet(Long id);
|
|
/**
|
* 获得托盘码
|
*
|
* @param id 编号
|
* @return 托盘码
|
*/
|
MesProPalletDO getPallet(Long id);
|
|
/**
|
* 校验托盘码存在
|
*
|
* @param id 编号
|
* @return 托盘码
|
*/
|
MesProPalletDO validatePalletExists(Long id);
|
|
/**
|
* 根据托盘码(二维码内容)查询托盘码,用于扫码追溯
|
*
|
* @param code 托盘码
|
* @return 托盘码,不存在返回 null
|
*/
|
MesProPalletDO getPalletByCode(String code);
|
|
/**
|
* 获得托盘码分页
|
*
|
* @param pageReqVO 分页查询
|
* @return 托盘码分页
|
*/
|
PageResult<MesProPalletDO> getPalletPage(MesProPalletPageReqVO pageReqVO);
|
|
/**
|
* 获得批次的托盘码列表
|
*
|
* @param batchId 批次编号
|
* @return 托盘码列表
|
*/
|
List<MesProPalletDO> getPalletListByBatchId(Long batchId);
|
|
/**
|
* 获得托盘码列表(按编号列表)
|
*
|
* @param ids 编号列表
|
* @return 托盘码列表
|
*/
|
List<MesProPalletDO> getPalletListByIds(Collection<Long> ids);
|
|
/**
|
* 更新托盘已绑定袋码数量
|
*
|
* @param palletId 托盘编号
|
* @param bagCount 已绑定袋码数量
|
*/
|
void updatePalletBagCount(Long palletId, Integer bagCount);
|
|
/**
|
* 标记托盘码为已出库(记录销售出库单编号和出库时间)
|
*
|
* @param id 托盘码编号
|
* @param salesId 销售出库单编号
|
*/
|
void markOutbound(Long id, Long salesId);
|
|
/**
|
* 清除托盘码的出库标记(取消出库单时使用)
|
*
|
* @param id 托盘码编号
|
*/
|
void clearOutbound(Long id);
|
|
}
|