云
22 小时以前 704265308b1227dbada5a36b2027b588c062ded2
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/bagcode/MesProBagCodeService.java
@@ -6,6 +6,7 @@
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodePageReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeRawGenerateReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeReplaceRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO;
@@ -30,6 +31,15 @@
     * @return 生成组 UUID(标记同一次生成的数据包)
     */
    MesProBagCodeGenerateRespVO generateBagCodes(@Valid MesProBagCodeGenerateReqVO generateReqVO);
    /**
     * 生成原始袋码:仅选品种+袋码数量,不校验计量单位类型、不生成托盘;
     * 袋码带品种冗余,后续可正常录入批次/绑定托盘
     *
     * @param rawGenerateReqVO 生成信息
     * @return 生成组 UUID 与数量(type/perPallet/palletIds 为空)
     */
    MesProBagCodeGenerateRespVO generateRawBagCodes(@Valid MesProBagCodeRawGenerateReqVO rawGenerateReqVO);
    void bindBatch(@Valid MesProBagCodeBindBatchReqVO bindReqVO);
@@ -90,6 +100,12 @@
     */
    MesProBagCodeDO getBagCodeByCode(String code);
    /** 内部查询识别业务码及历史追溯码,不用于公众追溯入口。 */
    MesProBagCodeDO getBagCodeByScanCode(String code);
    /** 补生成历史袋码业务码;已有码保持不变,返回新生成数量。 */
    int generateBusinessCodes(List<Long> ids);
    /**
     * 查询袋码替换记录
     */
@@ -130,6 +146,25 @@
    List<MesProBagCodeDO> getBagCodeListByBatchId(Long batchId);
    /**
     * 获得某批次下可印刷的袋码列表(排除已作废袋码,按袋序号升序),用于批量导出二维码标签
     * <p>
     * 已作废的袋码(破损替换后作废)不得再印刷:其标签若贴到产品上,消费者扫码会被提示
     * 「该追溯码已作废,谨防假冒」,导致真品被误判为假货。
     *
     * @param batchId 批次编号
     * @return 可印刷的袋码列表
     */
    List<MesProBagCodeDO> getPrintableBagCodeListByBatchId(Long batchId);
    /**
     * 获得某生成组下可印刷的袋码列表(排除已作废袋码),用于批量导出二维码标签
     *
     * @param uuid 生成组 UUID
     * @return 可印刷的袋码列表
     */
    List<MesProBagCodeDO> getPrintableBagCodeListByUuid(String uuid);
    /**
     * 标记袋码为已出库(记录销售出库单编号和出库时间)
     *
     * @param id      袋码编号