From 7c03ac9182b338a13dce52631b2924da7793dd5e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 17 十月 2026 18:36:50 +0800
Subject: [PATCH] feat(mes): 仓储物流单据跨模块关联字段支持手工填写
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/salesnotice/MesWmSalesNoticeMapper.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/salesnotice/MesWmSalesNoticeMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/salesnotice/MesWmSalesNoticeMapper.java
index 3ac2683..7cad04f 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/salesnotice/MesWmSalesNoticeMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/salesnotice/MesWmSalesNoticeMapper.java
@@ -1,11 +1,15 @@
package cn.iocoder.yudao.module.mes.dal.mysql.wm.salesnotice;
+import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.mes.controller.admin.wm.salesnotice.vo.MesWmSalesNoticePageReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.salesnotice.MesWmSalesNoticeDO;
import org.apache.ibatis.annotations.Mapper;
+
+import java.util.Collection;
+import java.util.List;
/**
* MES 鍙戣揣閫氱煡鍗� Mapper
@@ -19,8 +23,37 @@
.likeIfPresent(MesWmSalesNoticeDO::getName, reqVO.getName())
.likeIfPresent(MesWmSalesNoticeDO::getSaleOrderCode, reqVO.getSaleOrderCode())
.eqIfPresent(MesWmSalesNoticeDO::getClientId, reqVO.getClientId())
+ .likeIfPresent(MesWmSalesNoticeDO::getClientName, reqVO.getClientName())
.eqIfPresent(MesWmSalesNoticeDO::getStatus, reqVO.getStatus())
.orderByDesc(MesWmSalesNoticeDO::getId));
+ }
+
+ /**
+ * 鍒嗛〉鏌ヨ锛堝甫瀹㈡埛鏉冮檺杩囨护锛�
+ *
+ * @param reqVO 鏌ヨ鏉′欢
+ * @param permittedClientIds 鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃锛坣ull 琛ㄧず涓嶉檺鍒讹級
+ * @return 鍒嗛〉缁撴灉
+ */
+ default PageResult<MesWmSalesNoticeDO> selectPage(MesWmSalesNoticePageReqVO reqVO, List<Long> permittedClientIds) {
+ LambdaQueryWrapperX<MesWmSalesNoticeDO> wrapper = new LambdaQueryWrapperX<MesWmSalesNoticeDO>()
+ .likeIfPresent(MesWmSalesNoticeDO::getCode, reqVO.getCode())
+ .likeIfPresent(MesWmSalesNoticeDO::getName, reqVO.getName())
+ .likeIfPresent(MesWmSalesNoticeDO::getSaleOrderCode, reqVO.getSaleOrderCode())
+ .eqIfPresent(MesWmSalesNoticeDO::getClientId, reqVO.getClientId())
+ .likeIfPresent(MesWmSalesNoticeDO::getClientName, reqVO.getClientName())
+ .eqIfPresent(MesWmSalesNoticeDO::getStatus, reqVO.getStatus())
+ .orderByDesc(MesWmSalesNoticeDO::getId);
+ // 瀹㈡埛鏉冮檺杩囨护锛涙墜宸ュ~鍐欏鎴峰悕绉帮紙鏈叧鑱斿鎴锋。妗堬級鐨勫崟鎹笉灞炰簬浠讳綍瀹㈡埛鏉冮檺鑼冨洿锛屽缁堝彲瑙�
+ if (permittedClientIds != null) {
+ wrapper.and(w -> {
+ w.isNull(MesWmSalesNoticeDO::getClientId);
+ if (CollUtil.isNotEmpty(permittedClientIds)) {
+ w.or().in(MesWmSalesNoticeDO::getClientId, permittedClientIds);
+ }
+ });
+ }
+ return selectPage(reqVO, wrapper);
}
default MesWmSalesNoticeDO selectByCode(String code) {
@@ -31,4 +64,13 @@
return selectOne(MesWmSalesNoticeDO::getSaleOrderId, saleOrderId);
}
+ /**
+ * 鏌ヨ宸插瓨鍦ㄥ彂璐ч�氱煡鍗曠殑閿�鍞鍗� ID 鍒楄〃
+ */
+ default List<Long> selectExistingSaleOrderIds(Collection<Long> saleOrderIds) {
+ return selectObjs(new LambdaQueryWrapperX<MesWmSalesNoticeDO>()
+ .select(MesWmSalesNoticeDO::getSaleOrderId)
+ .in(MesWmSalesNoticeDO::getSaleOrderId, saleOrderIds));
+ }
+
}
--
Gitblit v1.9.3