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.MesProPalletPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO; import jakarta.validation.Valid; import java.util.List; /** * MES 托盘码 Service 接口 * * @author 超级管理员 */ public interface MesProPalletService { /** * 批量生成托盘码(码值 = 批次号-P+托盘序号),并回写批次托盘数量 * * @param createReqVO 生成信息 * @return 生成的托盘码编号列表 */ List batchCreatePallet(@Valid MesProPalletBatchCreateReqVO createReqVO); /** * 删除托盘码(未绑定袋码才允许删除) * * @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 getPalletPage(MesProPalletPageReqVO pageReqVO); /** * 获得批次的托盘码列表 * * @param batchId 批次编号 * @return 托盘码列表 */ List getPalletListByBatchId(Long batchId); /** * 更新托盘已绑定袋码数量 * * @param palletId 托盘编号 * @param bagCount 已绑定袋码数量 */ void updatePalletBagCount(Long palletId, Integer bagCount); }