From da9145e29ce483e8ee75c2c8ad63b542a63228da Mon Sep 17 00:00:00 2001 From: lijiaqi Date: Thu, 12 Sep 2024 15:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=BC=96=E7=A0=81=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E4=B8=AD=E6=96=B0=E5=A2=9E=E5=BA=8F=E5=88=97=E5=8F=B7?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增序列号生成服务,支持三种不同的编码规则: 1. 日期+递增数字(年月日或年月)。 2. 随机生成的8位序列号,包含大写字母和数字。 3. 默认规则,自增序列号。 实现具有不同前缀和后缀的序列号生成,包括年月日或年月作为前缀,校验位作为后缀。 --- .../module/drone/coding/controller/BatchesController.java | 4 ++-- .../workde/module/drone/coding/service/BatchesService.java | 6 ++++++ .../cn/workde/module/drone/coding/service/CodeService.java | 4 ++-- .../workde/module/drone/coding/wrapper/BatchesWrapper.java | 2 ++ .../cn/workde/module/drone/coding/wrapper/CodeWrapper.java | 2 ++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/cn/workde/module/drone/coding/controller/BatchesController.java b/src/main/java/cn/workde/module/drone/coding/controller/BatchesController.java index 4bfb3c9..513ad05 100644 --- a/src/main/java/cn/workde/module/drone/coding/controller/BatchesController.java +++ b/src/main/java/cn/workde/module/drone/coding/controller/BatchesController.java @@ -42,7 +42,7 @@ public class BatchesController extends _BaseController { @PostMapping("/add") @Operation(summary = "增加") - public Result add(@RequestBody BatchesVo vo) { + public Result add(@RequestBody @Validated BatchesVo vo) { return batchesService.addBatches(vo); } @@ -51,7 +51,7 @@ public class BatchesController extends _BaseController { @Parameters({ @Parameter(name = "batchId", description = "批次ID", required = true) }) - public Result edit(@RequestBody BatchesVo vo, @PathVariable String batchId) { + public Result edit(@RequestBody @Validated BatchesVo vo, @PathVariable String batchId) { return batchesService.editBatches(batchId, vo); } diff --git a/src/main/java/cn/workde/module/drone/coding/service/BatchesService.java b/src/main/java/cn/workde/module/drone/coding/service/BatchesService.java index 8fc3f39..6b5e369 100644 --- a/src/main/java/cn/workde/module/drone/coding/service/BatchesService.java +++ b/src/main/java/cn/workde/module/drone/coding/service/BatchesService.java @@ -253,7 +253,13 @@ public class BatchesService extends BaseService { return Result.fail("批次不存在"); } Mfc mfc = mfcService.getById(batches.getMfcId()); + if (ObjUtil.isNull(mfc)) { + return Result.fail("所属MFC不存在"); + } Rule rule = ruleService.getById(batches.getRuleId()); + if (ObjUtil.isNull(rule)) { + return Result.fail("规则不存在"); + } codeService.generateCode(batchesId, batches.getBatchesCode(), mfc.getId(), mfc.getMfcCode(), rule.getId(), rule.getRuleCode(), count); return Result.success("操作成功"); } diff --git a/src/main/java/cn/workde/module/drone/coding/service/CodeService.java b/src/main/java/cn/workde/module/drone/coding/service/CodeService.java index d44139b..51df583 100644 --- a/src/main/java/cn/workde/module/drone/coding/service/CodeService.java +++ b/src/main/java/cn/workde/module/drone/coding/service/CodeService.java @@ -137,7 +137,7 @@ public class CodeService extends BaseService{ code.setRuleCode(ruleCode); code.setSnCode(snCode); code.setSnPrefix(dateLong); - code.setSnSuffix(one.getSnSuffix() + 1); + code.setSnSuffix(ObjUtil.isNotNull(one) ?one.getSnSuffix() + 1 : maxCode); code.setSnLength("E"); code.setCode(mfcCode + "E" + snCode); boolean flag = save(code); @@ -190,7 +190,7 @@ public class CodeService extends BaseService{ code.setRuleCode(ruleCode); code.setSnCode(snCode); code.setSnPrefix(dateLong); - code.setSnSuffix(one.getSnSuffix() + 1); + code.setSnSuffix(ObjUtil.isNotNull(one) ?one.getSnSuffix() + 1 : maxCode); code.setSnLength("C"); code.setCode(mfcCode + "C" + snCode); boolean flag = save(code); diff --git a/src/main/java/cn/workde/module/drone/coding/wrapper/BatchesWrapper.java b/src/main/java/cn/workde/module/drone/coding/wrapper/BatchesWrapper.java index 135e94a..3ff7e95 100644 --- a/src/main/java/cn/workde/module/drone/coding/wrapper/BatchesWrapper.java +++ b/src/main/java/cn/workde/module/drone/coding/wrapper/BatchesWrapper.java @@ -1,5 +1,6 @@ package cn.workde.module.drone.coding.wrapper; +import cn.hutool.core.bean.BeanUtil; import cn.workde.core.base.BaseWrapper; import cn.workde.core.util.SpringUtil; import cn.workde.module.drone.coding.dto.BatchesDto; @@ -19,6 +20,7 @@ public interface BatchesWrapper extends BaseWrapper { @AfterMapping default void setOtherField(@Param("obj") Batches obj, @MappingTarget @Param("dto") BatchesDto dto) { + BeanUtil.copyProperties(obj, dto); MfcService mfcService = SpringUtil.getBean(MfcService.class); dto.setMfc(mfcService.getById(obj.getMfcId())); RuleService ruleService = SpringUtil.getBean(RuleService.class); diff --git a/src/main/java/cn/workde/module/drone/coding/wrapper/CodeWrapper.java b/src/main/java/cn/workde/module/drone/coding/wrapper/CodeWrapper.java index dc7a81b..e7caab6 100644 --- a/src/main/java/cn/workde/module/drone/coding/wrapper/CodeWrapper.java +++ b/src/main/java/cn/workde/module/drone/coding/wrapper/CodeWrapper.java @@ -1,5 +1,6 @@ package cn.workde.module.drone.coding.wrapper; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.extra.spring.SpringUtil; import cn.workde.core.base.BaseWrapper; import cn.workde.module.drone.coding.dto.CodeDto; @@ -19,6 +20,7 @@ public interface CodeWrapper extends BaseWrapper { @AfterMapping default void setOtherField(@Param("obj") Code obj, @MappingTarget @Param("dto") CodeDto dto) { + BeanUtil.copyProperties(obj, dto); BatchesService batchesService = SpringUtil.getBean(BatchesService.class); dto.setBatches(batchesService.getById(obj.getBatchesId())); MfcService mfcService = SpringUtil.getBean(MfcService.class);