From 9bd85b53d9b5ff00e48559f717e33f9ac89eecdf Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 6 Mar 2026 00:09:23 +0800 Subject: [PATCH] ✨ feat(mes): 添加条码相关组件和逻辑 --- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/barcode/MesWmBarcodeConfigMapper.java | 6 ------ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/barcode/MesWmBarcodeAutoGenerator.java | 74 -------------------------------------------------------------------------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigService.java | 10 ---------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigServiceImpl.java | 8 -------- yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeService.java | 10 ++++++++++ yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeServiceImpl.java | 22 ++++++++++++++++++++++ 6 files changed, 32 insertions(+), 98 deletions(-) delete mode 100644 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/barcode/MesWmBarcodeAutoGenerator.java diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/barcode/MesWmBarcodeConfigMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/barcode/MesWmBarcodeConfigMapper.java index cbf0a7f..d716f94 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/barcode/MesWmBarcodeConfigMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/barcode/MesWmBarcodeConfigMapper.java @@ -7,8 +7,6 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.barcode.vo.config.MesWmBa import cn.iocoder.yudao.module.mes.dal.dataobject.wm.barcode.MesWmBarcodeConfigDO; import org.apache.ibatis.annotations.Mapper; -import java.util.List; - /** * MES 条码配置 Mapper * @@ -31,8 +29,4 @@ public interface MesWmBarcodeConfigMapper extends BaseMapperX selectListByAutoGenerateFlag(Boolean autoGenerateFlag) { - return selectList(MesWmBarcodeConfigDO::getAutoGenerateFlag, autoGenerateFlag); - } - } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/barcode/MesWmBarcodeAutoGenerator.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/barcode/MesWmBarcodeAutoGenerator.java deleted file mode 100644 index ef828be..0000000 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/framework/barcode/MesWmBarcodeAutoGenerator.java +++ /dev/null @@ -1,74 +0,0 @@ -package cn.iocoder.yudao.module.mes.framework.barcode; - -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; -import cn.iocoder.yudao.module.mes.controller.admin.wm.barcode.vo.MesWmBarcodeSaveReqVO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.barcode.MesWmBarcodeConfigDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.barcode.MesWmBarcodeDO; -import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeConfigService; -import cn.iocoder.yudao.module.mes.service.wm.barcode.MesWmBarcodeService; -import jakarta.annotation.Resource; -import lombok.extern.slf4j.Slf4j; -import org.springframework.scheduling.annotation.Async; -import org.springframework.stereotype.Component; - -/** - * MES 条码自动生成器 - * - * @author 芋道源码 - */ -@Component -@Slf4j -public class MesWmBarcodeAutoGenerator { - - @Resource - private MesWmBarcodeConfigService barcodeConfigService; - - @Resource - private MesWmBarcodeService barcodeService; - - // TODO @AI:合并到 MesWmBarcodeServiceImpl 中; - /** - * 自动生成条码 - * - * @param bizType 业务类型 - * @param bizId 业务编号 - * @param bizCode 业务编码 - * @param bizName 业务名称 - */ - @Async - // TODO @AI:就不异步处理了,必要性不大; - public void autoGenerateBarcode(Integer bizType, Long bizId, String bizCode, String bizName) { - // TODO @AI:不要 try catch;;;;必须成功! - try { - // 1.1 检查是否配置自动生成 - MesWmBarcodeConfigDO config = barcodeConfigService.getBarcodeConfigByBizType(bizType); - if (config == null) { - return; - } - // TODO @AI:Boolean.False 去比较;跳过; - if (!config.getAutoGenerateFlag()) { - return; - } - // TODO @AI;CommonStatusEnum.isFalse(config.getStatus()) 去比较;把上面 3 个判断,合并下; - if (!CommonStatusEnum.ENABLE.getStatus().equals(config.getStatus())) { - return; - } - // 1.2 检查是否已存在条码 - MesWmBarcodeDO existBarcode = barcodeService.getBarcodeByBizTypeAndBizId(bizType, bizId); - if (existBarcode != null) { - return; - } - - // 2. 创建条码记录 - MesWmBarcodeSaveReqVO createReqVO = new MesWmBarcodeSaveReqVO() - .setFormat(config.getFormat()).setStatus(CommonStatusEnum.ENABLE.getStatus()) - .setBizType(bizType).setBizId(bizId).setBizCode(bizCode).setBizName(bizName); - Long barcodeId = barcodeService.createBarcode(createReqVO); - // TODO @AI:这里就不打日志了; - log.info("自动生成条码成功 [业务类型={}, 业务ID={}, 条码ID={}]", bizType, bizId, barcodeId); - } catch (Exception e) { - log.error("自动生成条码失败 [业务类型={}, 业务ID={}]", bizType, bizId, e); - } - } - -} diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigService.java index 1bbd356..c69d1b6 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigService.java @@ -6,8 +6,6 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.barcode.vo.config.MesWmBa import cn.iocoder.yudao.module.mes.dal.dataobject.wm.barcode.MesWmBarcodeConfigDO; import jakarta.validation.Valid; -import java.util.List; - /** * MES 条码配置 Service 接口 * @@ -69,12 +67,4 @@ public interface MesWmBarcodeConfigService { */ MesWmBarcodeConfigDO validateBarcodeConfigByBizType(Integer bizType); - // TODO @AI:是不是删除掉?貌似没用哈。 - /** - * 获取自动生成的条码配置列表 - * - * @return 条码配置列表 - */ - List getAutoGenerateBarcodeConfigList(); - } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigServiceImpl.java index 4c2800c..ae78e2a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeConfigServiceImpl.java @@ -11,8 +11,6 @@ import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; -import java.util.List; - import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; @@ -101,10 +99,4 @@ public class MesWmBarcodeConfigServiceImpl implements MesWmBarcodeConfigService return config; } - // TODO @AI:getBarcodeConfigListByAutoGenerateFlag,获取自动生成条码的配置列表(Boolean ) - @Override - public List getAutoGenerateBarcodeConfigList() { - return barcodeConfigMapper.selectListByAutoGenerateFlag(true); - } - } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeService.java index c662988..fdcca63 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeService.java @@ -60,4 +60,14 @@ public interface MesWmBarcodeService { */ MesWmBarcodeDO getBarcodeByBizTypeAndBizId(Integer bizType, Long bizId); + /** + * 自动生成条码 + * + * @param bizType 业务类型 + * @param bizId 业务编号 + * @param bizCode 业务编码 + * @param bizName 业务名称 + */ + void autoGenerateBarcode(Integer bizType, Long bizId, String bizCode, String bizName); + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeServiceImpl.java index 2cdbbba..7c089b8 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/barcode/MesWmBarcodeServiceImpl.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.mes.service.wm.barcode; import cn.hutool.core.util.StrUtil; +import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.wm.barcode.vo.MesWmBarcodePageReqVO; @@ -97,6 +98,27 @@ public class MesWmBarcodeServiceImpl implements MesWmBarcodeService { return barcodeMapper.selectByBizTypeAndBizId(bizType, bizId); } + @Override + public void autoGenerateBarcode(Integer bizType, Long bizId, String bizCode, String bizName) { + // 1.1 检查是否配置自动生成 + MesWmBarcodeConfigDO config = barcodeConfigService.getBarcodeConfigByBizType(bizType); + if (config == null || Boolean.FALSE.equals(config.getAutoGenerateFlag()) + || CommonStatusEnum.isDisable(config.getStatus())) { + return; + } + // 1.2 检查是否已存在条码 + MesWmBarcodeDO existBarcode = barcodeMapper.selectByBizTypeAndBizId(bizType, bizId); + if (existBarcode != null) { + return; + } + + // 2. 创建条码记录 + MesWmBarcodeSaveReqVO createReqVO = new MesWmBarcodeSaveReqVO() + .setFormat(config.getFormat()).setStatus(CommonStatusEnum.ENABLE.getStatus()) + .setBizType(bizType).setBizId(bizId).setBizCode(bizCode).setBizName(bizName); + createBarcode(createReqVO); + } + /** * 生成条码内容 * -- libgit2 0.21.4