From 7f269c516f306e196abf0cbe357783e6fb6ce891 Mon Sep 17 00:00:00 2001 From: zxy Date: Fri, 20 Mar 2026 11:56:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(heli):=20=E9=87=8D=E6=9E=84=E7=89=A9?= =?UTF-8?q?=E6=96=99=E7=BC=96=E7=A0=81=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20-=20=E5=B0=86=E7=89=A9=E6=96=99=E5=A4=A7=E7=B1=BB=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=AD=97=E6=AE=B5=E4=BB=8E=20matCatCode=20=E7=BB=9F?= =?UTF-8?q?=E4=B8=80=E6=94=B9=E4=B8=BA=20matTypeCode=20-=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=E5=89=8D=E7=AB=AF=E7=95=8C=E9=9D=A2=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=8C=89=E9=92=AE=E5=8A=9F=E8=83=BD=20-=20?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=A1=A8=E5=8D=95=E9=AA=8C=E8=AF=81=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E5=AF=B9=E6=9C=80=E5=A4=A7=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=8F=B7=E8=BF=9B=E8=A1=8C=E6=95=B0=E5=AD=97=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=92=8C=E9=95=BF=E5=BA=A6=E6=A0=A1=E9=AA=8C=20-=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E7=89=A9=E6=96=99=E7=BC=96=E7=A0=81=E7=94=9F=E6=88=90?= =?UTF-8?q?=E7=AE=97=E6=B3=95=EF=BC=8C=E4=BC=98=E5=8C=96=E6=B5=81=E6=B0=B4?= =?UTF-8?q?=E5=8F=B7=E9=80=92=E5=A2=9E=E9=80=BB=E8=BE=91=20-=20=E5=9C=A8?= =?UTF-8?q?=E7=89=A9=E6=96=99=E6=9B=B4=E6=96=B0=E6=97=B6=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=9B=B4=E6=96=B0=E5=AF=B9=E5=BA=94=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=A4=A7=E7=B1=BB=E7=9A=84=E6=9C=80=E5=A4=A7=E6=B5=81?= =?UTF-8?q?=E6=B0=B4=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/matcode/vo/MatCodePageReqVO.java | 3 -- .../admin/matcode/vo/MatCodeSaveReqVO.java | 4 -- .../dal/dataobject/matcode/MatCodeDO.java | 4 -- .../heli/dal/mysql/matcode/MatCodeMapper.java | 6 +-- .../heli/service/matcode/MatCodeService.java | 3 ++ .../service/matcode/MatCodeServiceImpl.java | 28 ++++++++----- .../service/material/MaterialServiceImpl.java | 7 ++++ .../src/views/heli/matcode/MatCodeForm.vue | 40 +++++++++++++++---- .../src/views/heli/matcode/index.vue | 15 ++----- 9 files changed, 68 insertions(+), 42 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodePageReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodePageReqVO.java index 5ada3c60..79a3d6b6 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodePageReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodePageReqVO.java @@ -14,9 +14,6 @@ import static com.chanko.yunxi.mes.framework.common.util.date.DateUtils.FORMAT_Y @ToString(callSuper = true) public class MatCodePageReqVO extends PageParam { - @Schema(description = "物料大类编码") - private String matCatCode; - @Schema(description = "物料物料大类名称", example = "芋艿") private String matCatName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodeSaveReqVO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodeSaveReqVO.java index d586363d..2eb41cdc 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodeSaveReqVO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/matcode/vo/MatCodeSaveReqVO.java @@ -13,10 +13,6 @@ public class MatCodeSaveReqVO { @Schema(description = "自增字段,唯一", requiredMode = Schema.RequiredMode.REQUIRED, example = "20351") private Long id; - @Schema(description = "物料大类编码", requiredMode = Schema.RequiredMode.REQUIRED) -// @NotEmpty(message = "物料大类编码不能为空") - private String matCatCode; - @Schema(description = "物料大类名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "刚材") // @NotEmpty(message = "大类名称不能为空") private String matCatName; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/matcode/MatCodeDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/matcode/MatCodeDO.java index 6f237968..0252038f 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/matcode/MatCodeDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/matcode/MatCodeDO.java @@ -24,10 +24,6 @@ public class MatCodeDO extends BaseDO { */ @TableId private Long id; - /** - * 物料大类编码 - */ - private String matCatCode; /** * 物料物料大类名称 */ diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matcode/MatCodeMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matcode/MatCodeMapper.java index 7de8cc78..9992225d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matcode/MatCodeMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/matcode/MatCodeMapper.java @@ -19,7 +19,7 @@ public interface MatCodeMapper extends BaseMapperX { default PageResult selectPage(MatCodePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MatCodeDO::getMatCatCode, reqVO.getMatCatCode()) + .eqIfPresent(MatCodeDO::getMatTypeCode, reqVO.getMatTypeCode()) .likeIfPresent(MatCodeDO::getMatCatName, reqVO.getMatCatName()) .eqIfPresent(MatCodeDO::getMatTypeCode, reqVO.getMatTypeCode()) .eqIfPresent(MatCodeDO::getCurMaxSeq, reqVO.getCurMaxSeq()) @@ -30,12 +30,12 @@ public interface MatCodeMapper extends BaseMapperX { default MatCodeDO selectByMatCatCode(String matCatCode) { return selectOne(new LambdaQueryWrapperX() - .eq(MatCodeDO::getMatCatCode, matCatCode)); + .eq(MatCodeDO::getMatTypeCode, matCatCode)); } default MatCodeDO selectByMatCatCodeAndIdNot(String matCatCode, Long id) { return selectOne(new LambdaQueryWrapperX() - .eq(MatCodeDO::getMatCatCode, matCatCode) + .eq(MatCodeDO::getMatTypeCode, matCatCode) .ne(MatCodeDO::getId, id)); } diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeService.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeService.java index a787f754..97d1819c 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeService.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeService.java @@ -30,6 +30,9 @@ public interface MatCodeService { */ void updateMatCode(@Valid MatCodeSaveReqVO updateReqVO); + + void updateCurMaxSeq(String matTypeCode); + /** * 删除物料大类编码维护 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeServiceImpl.java index 9deb7d65..21a45e23 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/matcode/MatCodeServiceImpl.java @@ -35,23 +35,24 @@ public class MatCodeServiceImpl implements MatCodeService { public static String generateMaterialCode(String matTypeCode, String curMaxSeq) { try { - int matCode = Integer.parseInt(matTypeCode); - // curMaxSeq 转换为数字 - int curMaxSeqNum = Integer.parseInt(curMaxSeq) + 1; - int ss = matCode + curMaxSeqNum; - - // ss 转为字符串,不足 5 位补 前面补充0 - return String.format("%05d", ss); + String curMax = getString(curMaxSeq); + return matTypeCode + curMax; } catch (Exception e) { throw exception(ErrorCodeConstants.MAT_CAT_CODE_ERROR); } } + private static String getString(String curMaxSeq) { + int length = curMaxSeq.length(); + int curMaxSeqNum = Integer.parseInt(curMaxSeq) + 1; + return String.format("%0" + length + "d", curMaxSeqNum); + } + @Override public Long createMatCode(MatCodeSaveReqVO createReqVO) { // 校验 matCatCode 唯一性 - validateMatCatCodeUnique(null, createReqVO.getMatCatCode()); + validateMatCatCodeUnique(null, createReqVO.getMatTypeCode()); // 插入 MatCodeDO matCode = BeanUtils.toBean(createReqVO, MatCodeDO.class); matCodeMapper.insert(matCode); @@ -64,12 +65,21 @@ public class MatCodeServiceImpl implements MatCodeService { // 校验存在 validateMatCodeExists(updateReqVO.getId()); // 校验 matCatCode 唯一性(更新时允许更新自己) - validateMatCatCodeUnique(updateReqVO.getId(), updateReqVO.getMatCatCode()); + validateMatCatCodeUnique(updateReqVO.getId(), updateReqVO.getMatTypeCode()); // 更新 MatCodeDO updateObj = BeanUtils.toBean(updateReqVO, MatCodeDO.class); matCodeMapper.updateById(updateObj); } + + @Override + public void updateCurMaxSeq(String matTypeCode) { + MatCodeDO matCode = getByMatCatCode(matTypeCode); + String string = getString(matCode.getCurMaxSeq()); + matCode.setCurMaxSeq(string); + matCodeMapper.updateById(matCode); + } + /** * 校验物料大类编码唯一性 * diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java index 281f80b1..5ff9ca4d 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/service/material/MaterialServiceImpl.java @@ -23,6 +23,7 @@ import com.chanko.yunxi.mes.module.heli.dal.mysql.material.MaterialMapper; import com.chanko.yunxi.mes.module.heli.dal.mysql.storageinventory.StorageInventoryMapper; import com.chanko.yunxi.mes.module.heli.enums.CodeEnum; import com.chanko.yunxi.mes.module.heli.enums.MaterialTypeEnum; +import com.chanko.yunxi.mes.module.heli.service.matcode.MatCodeService; import com.chanko.yunxi.mes.module.heli.service.serialnumber.SerialNumberService; import com.chanko.yunxi.mes.module.heli.service.storage.StorageService; import com.chanko.yunxi.mes.module.heli.service.storagelog.StorageLogService; @@ -65,6 +66,9 @@ public class MaterialServiceImpl implements MaterialService { @Resource private StorageInventoryMapper storageInventoryMapper; + @Resource + private MatCodeService matCodeService; + @PostConstruct public void init(){ @@ -131,6 +135,7 @@ public class MaterialServiceImpl implements MaterialService { } } + @Transactional(rollbackFor = Exception.class) @Override public void updateMaterial(MaterialSaveReqVO updateReqVO) { // 校验存在 @@ -140,6 +145,8 @@ public class MaterialServiceImpl implements MaterialService { // 重复性判断 validateMaterialRepeat(updateObj.getCode(), updateReqVO.getId()); materialMapper.updateById(updateObj); + // 更新物料大类最大流水 + matCodeService.updateCurMaxSeq(updateObj.getMatCate()); } @Override diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/MatCodeForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/MatCodeForm.vue index fba39195..919c13d2 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/MatCodeForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/MatCodeForm.vue @@ -8,8 +8,8 @@ label-width="180px" v-loading="formLoading" > - - + + + - + - + @@ -38,6 +39,7 @@ diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/index.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/index.vue index bcdf57b7..cd09a6e6 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/index.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/matcode/index.vue @@ -8,8 +8,8 @@ :inline="true" label-width="90px" > - - + + - @@ -78,14 +77,7 @@ > 编辑 - - 删除 - + @@ -120,7 +112,6 @@ const total = ref(0) // 列表的总页数 const queryParams = reactive({ pageNo: 1, pageSize: 10, - matCatCode: undefined, matCatName: undefined, matTypeCode: undefined, curMaxSeq: undefined,