From 5d818f39c862884b7087488d588fef5b7ce47386 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期三, 28 十月 2026 18:33:55 +0800
Subject: [PATCH] feat(mes): 增加销售退货单与出库单关联功能
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java | 36 +++++++++++++++++++++++++++++-------
1 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
index 6c1b01f..804e94a 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/pallet/MesProPalletMapper.java
@@ -3,9 +3,12 @@
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.framework.mybatis.core.util.MyBatisUtils;
import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletPageReqVO;
+import cn.iocoder.yudao.module.mes.controller.admin.pro.pallet.vo.MesProPalletUnboundPageReqVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.pallet.MesProPalletDO;
import cn.iocoder.yudao.module.mes.enums.pro.MesProPalletStatusEnum;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -47,14 +50,20 @@
return selectList(MesProPalletDO::getBatchId, batchId);
}
- /** 鏌ヨ鏈粦瀹氱敓浜ф壒娆$殑涓存椂鎵樼洏锛堟棤姝e紡鎵樼洏鐮佷笖鏈綔搴燂級锛屼緵鎵规鏂板/琛ュ綍缁戝畾鎵樼洏涓嬫媺浣跨敤 */
- default List<MesProPalletDO> selectUnboundList() {
- return selectList(new LambdaQueryWrapperX<MesProPalletDO>()
- .isNull(MesProPalletDO::getBatchId)
- .isNull(MesProPalletDO::getCode)
- .eq(MesProPalletDO::getStatus, MesProPalletStatusEnum.IN_USE.getStatus())
- .orderByAsc(MesProPalletDO::getId));
+ /**
+ * 鍒嗛〉鏌ヨ鏈粦瀹氱敓浜ф壒娆$殑涓存椂鎵樼洏锛堟棤姝e紡鎵樼洏鐮佷笖鏈綔搴燂級锛屼緵鎵规鏂板/琛ュ綍缁戝畾鎵樼洏涓嬫媺浣跨敤銆�
+ * <p>
+ * 鍏抽敭瀛楀悓鏃跺尮閰嶄复鏃舵墭鐩樼爜涓庡叧鑱斿搧绉嶇殑缂栫爜銆佸悕绉帮紝渚夸簬涓嬫媺杈撳叆妗嗙洿鎺ユ寜鍝佺妫�绱€��
+ */
+ default PageResult<MesProPalletDO> selectUnboundPage(MesProPalletUnboundPageReqVO reqVO) {
+ IPage<MesProPalletDO> result = selectUnboundPage(MyBatisUtils.buildPage(reqVO),
+ reqVO.getKeyword(), MesProPalletStatusEnum.IN_USE.getStatus());
+ return new PageResult<>(result.getRecords(), result.getTotal());
}
+
+ IPage<MesProPalletDO> selectUnboundPage(IPage<MesProPalletDO> page,
+ @Param("keyword") String keyword,
+ @Param("status") Integer status);
/**
* 鏌ヨ琚嬬爜缁戝畾鎵樼洏鏃跺彲閫夌殑鐩爣鎵樼洏锛氭湭浣滃簾鐨勪复鏃舵墭鐩樹笌姝e紡鎵樼洏銆�
@@ -96,6 +105,19 @@
@Select("SELECT IFNULL(MAX(pallet_no), 0) FROM mes_pro_pallet WHERE batch_id = #{batchId}")
Integer selectMaxPalletNo(@Param("batchId") Long batchId);
+ /**
+ * 鐗╃悊鍒犻櫎鏌愪釜鐢熸垚缁勪笅灏氭湭缁戝畾鎵规鐨勪复鏃舵墭鐩橈紙浠呯敤浜庣敓鎴愬け璐�/鍙栨秷鍚庣殑鍗婃垚鍝佹竻鐞嗭級
+ * <p>
+ * 宸茬粦瀹氭壒娆$殑鎵樼洏鍙兘宸茶鍚庣画涓氬姟浣跨敤锛屽嵆浣垮甫鏈夌敓鎴愮粍鏍囪涔熶笉鑳藉垹銆�
+ *
+ * @param generateUuid 鐢熸垚缁� UUID
+ * @param limit 鍗曟鏈�澶氬垹闄よ鏁�
+ * @return 瀹為檯鍒犻櫎琛屾暟
+ */
+ @org.apache.ibatis.annotations.Delete("DELETE FROM mes_pro_pallet WHERE generate_uuid = #{generateUuid} "
+ + "AND batch_id IS NULL AND code IS NULL LIMIT #{limit}")
+ int deletePhysicallyByGenerateUuidChunk(@Param("generateUuid") String generateUuid, @Param("limit") int limit);
+
@org.apache.ibatis.annotations.Update("UPDATE mes_pro_pallet SET sales_id = #{salesId}, outbound_time = #{outboundTime}, update_time = NOW() "
+ "WHERE id = #{id} AND deleted = 0")
void markOutbound(@Param("id") Long id, @Param("salesId") Long salesId,
--
Gitblit v1.9.3