From df1917ff3b5be2a5fbd180cf9db7307dce919043 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期一, 24 八月 2026 16:31:53 +0800
Subject: [PATCH] feat 功能修正
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/packages/MesWmPackageLineMapper.java | 5 +++++
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineServiceImpl.java | 5 +++++
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java | 10 ++++++++++
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineService.java | 8 ++++++++
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/packages/MesWmPackageLineDO.java | 2 ++
5 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/packages/MesWmPackageLineDO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/packages/MesWmPackageLineDO.java
index bf432d7..6a9c04c 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/packages/MesWmPackageLineDO.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/packages/MesWmPackageLineDO.java
@@ -4,6 +4,7 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
@@ -54,6 +55,7 @@
*
* 鍏宠仈 {@link MesProWorkOrderDO#getId()}
*/
+ @TableField(exist = false)
private Long workOrderId;
/**
* 鏈夋晥鏈�
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/packages/MesWmPackageLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/packages/MesWmPackageLineMapper.java
index e906968..c8494d1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/packages/MesWmPackageLineMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/packages/MesWmPackageLineMapper.java
@@ -25,4 +25,9 @@
delete(MesWmPackageLineDO::getPackageId, packageId);
}
+ default Long selectCountByPackageId(Long packageId) {
+ return selectCount(new LambdaQueryWrapperX<MesWmPackageLineDO>()
+ .eq(MesWmPackageLineDO::getPackageId, packageId));
+ }
+
}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineService.java
index fdb9a1b..76c917e 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineService.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineService.java
@@ -58,4 +58,12 @@
*/
void deletePackageLineByPackageId(Long packageId);
+ /**
+ * 鏌ヨ瑁呯鏄庣粏鏁伴噺
+ *
+ * @param packageId 瑁呯鍗� ID
+ * @return 鏄庣粏鏁伴噺
+ */
+ Long getPackageLineCountByPackageId(Long packageId);
+
}
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineServiceImpl.java
index 295fc61..4040e56 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageLineServiceImpl.java
@@ -92,6 +92,11 @@
packageLineMapper.deleteByPackageId(packageId);
}
+ @Override
+ public Long getPackageLineCountByPackageId(Long packageId) {
+ return packageLineMapper.selectCountByPackageId(packageId);
+ }
+
// ========== 鏍¢獙鏂规硶 ==========
/**
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java
index edf4aad..64a29ac 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/packages/MesWmPackageServiceImpl.java
@@ -44,6 +44,7 @@
private CrmCustomerApi customerApi;
@Override
+ @Transactional(rollbackFor = Exception.class)
public Long createPackage(MesWmPackageSaveReqVO createReqVO) {
// 鏍¢獙缂栫爜鍞竴鎬�
validateCodeUnique(null, createReqVO.getCode());
@@ -61,6 +62,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void updatePackage(MesWmPackageSaveReqVO updateReqVO) {
// 鏍¢獙瀛樺湪涓斾负鑽夌
validatePackageExistsAndDraft(updateReqVO.getId());
@@ -101,9 +103,15 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void finishPackage(Long id) {
// 鏍¢獙瀛樺湪涓斾负鑽夌
validatePackageExistsAndDraft(id);
+
+ // 瑁呯鍗曞繀椤诲瓨鍦ㄨ绠辨槑缁�
+ if (packageLineService.getPackageLineCountByPackageId(id) == 0) {
+ throw exception(WM_PACKAGE_LINE_NOT_EXISTS);
+ }
// 鏇存柊鐘舵�佷负宸插畬鎴�
packageMapper.updateById(new MesWmPackageDO()
@@ -116,6 +124,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void addChildPackage(Long parentId, Long childId) {
// 鏍¢獙鐖剁瀛樺湪涓斾负鑽夌
validatePackageExistsAndDraft(parentId);
@@ -129,6 +138,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public void removeChildPackage(Long childId) {
// 鏍¢獙瀛愮瀛樺湪
MesWmPackageDO child = validatePackageExists(childId);
--
Gitblit v1.9.3