package com.gaotao.modules.handlingunit.service; import com.baomidou.mybatisplus.extension.service.IService; import com.gaotao.modules.handlingunit.entity.HandlingUnit; import com.gaotao.modules.handlingunit.entity.dto.*; import com.gaotao.modules.handlingunit.entity.dto.HuCreateDto; import com.gaotao.modules.handlingunit.entity.dto.HuContentsDto; import com.gaotao.modules.handlingunit.entity.dto.HuPackingDto; import com.gaotao.modules.handlingunit.entity.dto.HuMergingDto; import com.gaotao.modules.handlingunit.entity.dto.HuSplittingDto; import com.gaotao.modules.handlingunit.entity.dto.MaterialInfoDto; import java.util.List; public interface HandlingUnitService extends IService { /** * 查询处理单元列表 */ List getHandlingUnitList(HandlingUnitDto dto); /** * 查询处理单元详情 */ HandlingUnitDto getHandlingUnitDetail(String site, String unitId); /** 操作型扫码:保留详情查询的site条件和空结果,仅对查到的标签增加公共栈板绑定拦截 - rqrq */ HandlingUnitDto scanHandlingUnitLabel(String site, String unitId); /** 取消预定扫码:保持原标签查询及库存状态判断,仅追加公共栈板绑定校验,不用于拆标签 - rqrq */ HandlingUnit scanLabelForCancelReserve(String site, String unitId); /** * @author rqrq * @Description PDA标签查询:请求 site 是登录大工厂,先取 site_sub 全部小工厂,再按标签号查询。查无返回 null;同一标签落在多个小工厂时抛异常。- rqrq * @param bigSite 登录大工厂,不能用标签上的小工厂代替 - rqrq * @param unitId 标签号 - rqrq * @return 唯一标签;不存在返回 null - rqrq */ HandlingUnit queryPdaLabelByBigSite(String bigSite, String unitId); /** * 对外接口:扫描处理单元标签 */ HandlingUnit getHandlingUnit(String site, String unitId); HandlingUnitDto scanHandlingUnitLabelForYiKu(String site, String unitId); HandlingUnitDto scanHandlingUnitLabelForOther(String site, String unitId); /** * 装Handling Unit(托盘/箱) */ String packHandlingUnit(HandlingUnitPackDto packDto); /** * 合并Handling Unit(托盘/箱) */ String mergeHandlingUnit(HandlingUnitMergeDto mergeDto); /** * 拆Handling Unit(托盘/箱) */ void unpackHandlingUnit(HandlingUnitUnpackDto unpackDto); /** * 立库下的合托 */ List mergePallets(PalletMergeDto palletMergeDto); /** * 补打印Handling Unit(托盘/箱)标签 */ void reprintLabels(HandlingUnitPrintDto printDto); /** * 查看Handling Unit(托盘/箱)货物 */ HandlingUnitDto viewHandlingUnitGoods(String site, String unitId); /** * 查询可装箱的单元 */ List getAvailableUnitsForPacking(String site, String locationId, String warehouseId); /** * 查询可合并的单元 */ List getAvailableUnitsForMerge(String site, String partNo, String batchNo, String locationId); // ==================== 新的HU管理方法 ==================== /** * 创建新HU */ HandlingUnitDto createNewHu(HuCreateDto createDto); /** * 获取HU内容 */ HuContentsDto getHuContents(String site, String unitId); /** * 完成装载HU */ void completePacking(HuPackingDto packingDto); /** * 合并多个HU到目标HU */ void mergeHandlingUnits(HuMergingDto mergingDto); /** * 拆分HU */ void splitHandlingUnit(HuSplittingDto splittingDto); /** * 查询物料信息 */ MaterialInfoDto getMaterialInfo(String site, String partNo); /** * 根据站点和接收单号查询HandlingUnit列表 */ List getHandlingUnitsBySiteAndOrderRef2(String site, String orderRef2); List getHandlingUnitsBySiteAndUnid(String site, String unid); }