From 8655501ffb8dbdaf2508e575933063e6731be714 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 28 八月 2026 17:14:40 +0800
Subject: [PATCH] refactor(mes): 重构MES生产批次和袋码管理功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/bagcode/MesProBagCodeController.java | 36 ++++++++++++++++++++++++++++++++++--
1 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/bagcode/MesProBagCodeController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/bagcode/MesProBagCodeController.java
index 61cb109..fa1455f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/bagcode/MesProBagCodeController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/bagcode/MesProBagCodeController.java
@@ -9,9 +9,13 @@
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindBatchReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeBindReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeGenerateReqVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodePageReqVO;
+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.controller.admin.pro.bagcode.vo.MesProBagCodeRespVO;
import cn.iocoder.yudao.module.mes.controller.admin.pro.bagcode.vo.MesProBagCodeTraceRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.mdm.MesMdmItemDO;
@@ -69,10 +73,18 @@
private MesMdmItemService mdmItemService;
@PostMapping("/generate")
- @Operation(summary = "鐢熸垚琚嬬爜鏁版嵁鍖咃紙涓�琚嬩竴鐮侊級")
+ @Operation(summary = "鐢熸垚琚嬬爜鏁版嵁鍖咃紙涓�琚嬩竴鐮侊級锛岀疮璁¤揪鍒伴槇鍊兼椂鑷姩鐢熸垚鎵樼洏鐮�")
@PreAuthorize("@ss.hasPermission('mes:pro-bag-code:create')")
- public CommonResult<String> generateBagCodes(@Valid @RequestBody MesProBagCodeGenerateReqVO generateReqVO) {
+ public CommonResult<MesProBagCodeGenerateRespVO> generateBagCodes(@Valid @RequestBody MesProBagCodeGenerateReqVO generateReqVO) {
return success(bagCodeService.generateBagCodes(generateReqVO));
+ }
+
+ @PostMapping("/replace")
+ @Operation(summary = "浣滃簾鐮存崯琚嬬爜骞剁敓鎴愮瓑閲忔浛鎹㈣鐮�")
+ @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:replace')")
+ public CommonResult<MesProBagCodeReplaceRespVO> replaceBagCodes(
+ @Valid @RequestBody MesProBagCodeReplaceReqVO replaceReqVO) {
+ return success(bagCodeService.replaceBagCodes(replaceReqVO));
}
@DeleteMapping("/delete-by-uuid")
@@ -81,6 +93,14 @@
@PreAuthorize("@ss.hasPermission('mes:pro-bag-code:delete')")
public CommonResult<Boolean> deleteBagCodesByUuid(@RequestParam("uuid") String uuid) {
bagCodeService.deleteBagCodesByUuid(uuid);
+ return success(true);
+ }
+
+ @PutMapping("/bind-batch")
+ @Operation(summary = "琚嬬爜褰曞叆鐢熶骇鎵规")
+ @PreAuthorize("@ss.hasPermission('mes:pro-bag-code:update')")
+ public CommonResult<Boolean> bindBatch(@Valid @RequestBody MesProBagCodeBindBatchReqVO bindReqVO) {
+ bagCodeService.bindBatch(bindReqVO);
return success(true);
}
@@ -203,6 +223,18 @@
private MesProBagCodeTraceRespVO buildBagCodeTraceRespVO(MesProBagCodeDO bagCode) {
MesProBagCodeTraceRespVO respVO = BeanUtils.toBean(bagCode, MesProBagCodeTraceRespVO.class);
+ var replacement = bagCode.getStatus() != null
+ && bagCode.getStatus().equals(cn.iocoder.yudao.module.mes.enums.pro.MesProBagCodeStatusEnum.CANCELED.getStatus())
+ ? bagCodeService.getReplacementByOldBagCodeId(bagCode.getId())
+ : bagCodeService.getReplacementByNewBagCodeId(bagCode.getId());
+ if (replacement != null) {
+ respVO.setReplacementUuid(replacement.getReplaceUuid());
+ if (bagCode.getId().equals(replacement.getOldBagCodeId())) {
+ respVO.setReplacedByCode(replacement.getNewCode());
+ } else {
+ respVO.setReplacementOfCode(replacement.getOldCode());
+ }
+ }
// 鎵规淇℃伅
MesProBatchDO batch = batchService.getBatch(bagCode.getBatchId());
if (batch != null) {
--
Gitblit v1.9.3