From 832d71055f45712a263c678b1eac252f0a50c451 Mon Sep 17 00:00:00 2001 From: "DESKTOP-J7ED0MB\\yinjinlu" <411641505@qq.com> Date: Tue, 25 Oct 2022 20:44:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=8B=E7=A0=81=E8=87=AA=E5=8A=A8=E7=94=9F?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ktg/common/constant/UserConstants.java | 12 ++++- .../java/com/ktg/mes/aspect/BarcodeGen.java | 14 +++++ .../com/ktg/mes/aspect/BarcodeGenAspect.java | 51 +++++++++++++++++++ .../mes/md/controller/MdItemController.java | 2 + .../impl/WmBarcodeConfigServiceImpl.java | 2 +- 5 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGen.java create mode 100644 ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGenAspect.java diff --git a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java index 56211d6..03d39fe 100644 --- a/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java +++ b/ktg-common/src/main/java/com/ktg/common/constant/UserConstants.java @@ -185,11 +185,21 @@ public class UserConstants public static final String VIRTUAL_WA ="XBKKW_VIRTUAL"; /** - * 条码类型 + * 条码格式 */ public static final String QR_CODE = "QR_CODE"; public static final String EAN_CODE = "EAN_CODE"; public static final String UPC_CODE = "UPC_CODE"; public static final String CODE39_CODE = "CODE39_CODE"; + /** + * 条码类型 + */ + public static final String BARCODE_TYPE_ITEM = "ITEM"; + public static final String BARCODE_TYPE_PACKAGE = "PACKAGE"; + public static final String BARCODE_TYPE_STOCK = "STOCK"; + public static final String BARCODE_TYPE_MACHINERY = "MACHINERY"; + public static final String BARCODE_TYPE_WORKSTATION = "WORKSTATION"; + public static final String BARCODE_TYPE_WAREHOUSE = "WAREHOUSE"; + } diff --git a/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGen.java b/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGen.java new file mode 100644 index 0000000..ca90b03 --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGen.java @@ -0,0 +1,14 @@ +package com.ktg.mes.aspect; + +import java.lang.annotation.*; + +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface BarcodeGen { + /** + * 业务类型 + * @return + */ + String barcodeType(); +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGenAspect.java b/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGenAspect.java new file mode 100644 index 0000000..109477d --- /dev/null +++ b/ktg-mes/src/main/java/com/ktg/mes/aspect/BarcodeGenAspect.java @@ -0,0 +1,51 @@ +package com.ktg.mes.aspect; + +import com.ktg.common.constant.UserConstants; +import com.ktg.common.core.domain.AjaxResult; +import com.ktg.mes.wm.domain.WmBarcodeConfig; +import com.ktg.mes.wm.service.IWmBarcodeConfigService; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.AfterReturning; +import org.aspectj.lang.annotation.Aspect; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.util.CollectionUtils; + +import java.util.List; + +@Aspect +@Component +public class BarcodeGenAspect { + + private static final Logger log = LoggerFactory.getLogger(BarcodeGenAspect.class); + + @Autowired + private IWmBarcodeConfigService wmBarcodeConfigService; + + /** + * 根据业务controller的类型和返回值生成对应的条码 + * @param joinPoint + * @param gen + * @param returnResult + */ + @AfterReturning(pointcut = "@annotation(gen)",returning = "returnResult") + public void doAfter(JoinPoint joinPoint, BarcodeGen gen, AjaxResult returnResult){ + //先判断当前类型的业务是否配置了需要自动生成条码 + if(!wmBarcodeConfigService.isAutoGen(gen.barcodeType())){ + //无需自动生成条码 + return ; + } + WmBarcodeConfig param = new WmBarcodeConfig(); + param.setBarcodeType(gen.barcodeType()); + List confgs = wmBarcodeConfigService.selectWmBarcodeConfigList(param); + if(CollectionUtils.isEmpty(confgs)){ + log.warn("当前类型的业务未配置对应的条码生成规则!{}",gen.barcodeType()); + } + + Long businessId = (Long)returnResult.get("data"); //获取业务ID + + } + +} diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java index af0eb1f..4f69e45 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java @@ -1,5 +1,6 @@ package com.ktg.mes.md.controller; +import com.ktg.mes.aspect.BarcodeGen; import com.ktg.mes.md.service.IMdItemService; import com.ktg.common.annotation.Log; import com.ktg.common.constant.UserConstants; @@ -59,6 +60,7 @@ public class MdItemController extends BaseController { */ @PreAuthorize("@ss.hasPermi('mes:md:mditem:add')") @Log(title = "物料管理",businessType = BusinessType.INSERT) + @BarcodeGen(barcodeType = UserConstants.BARCODE_TYPE_ITEM) @PostMapping public AjaxResult add(@Validated @RequestBody MdItem mdItem){ if(UserConstants.NOT_UNIQUE.equals(mdItemService.checkItemCodeUnique(mdItem))){ diff --git a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmBarcodeConfigServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmBarcodeConfigServiceImpl.java index 7791c02..6341aeb 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmBarcodeConfigServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/wm/service/impl/WmBarcodeConfigServiceImpl.java @@ -108,7 +108,7 @@ public class WmBarcodeConfigServiceImpl implements IWmBarcodeConfigService param.setBarcodeType(barcodeType); List configs = wmBarcodeConfigMapper.selectWmBarcodeConfigList(param); if(!CollectionUtils.isEmpty(configs)){ - return configs.get(0).getAutoGenFlag() == UserConstants.YES ?true:false; + return UserConstants.YES.equals(configs.get(0).getAutoGenFlag())?true:false; } return false; }