From 8e4eee5ad4d74e1a4e6ab4de3a9c28000700dce0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 03 十一月 2026 13:49:04 +0800
Subject: [PATCH] 修复采购退货页面 ERP 模块已禁用报错
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 insertions(+), 0 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java
new file mode 100644
index 0000000..c155d8c
--- /dev/null
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseInMapper.java
@@ -0,0 +1,70 @@
+package cn.iocoder.yudao.module.erp.dal.mysql.purchase;
+
+
+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.MPJLambdaWrapperX;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.in.ErpPurchaseInPageReqVO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInDO;
+import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseInItemDO;
+import cn.iocoder.yudao.module.erp.enums.ErpAuditStatus;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * ERP 閲囪喘鍏ュ簱 Mapper
+ *
+ * @author 鑺嬮亾婧愮爜
+ */
+@Mapper
+public interface ErpPurchaseInMapper extends BaseMapperX<ErpPurchaseInDO> {
+
+ default PageResult<ErpPurchaseInDO> selectPage(ErpPurchaseInPageReqVO reqVO) {
+ MPJLambdaWrapperX<ErpPurchaseInDO> query = new MPJLambdaWrapperX<ErpPurchaseInDO>()
+ .likeIfPresent(ErpPurchaseInDO::getNo, reqVO.getNo())
+ .eqIfPresent(ErpPurchaseInDO::getSupplierId, reqVO.getSupplierId())
+ .betweenIfPresent(ErpPurchaseInDO::getInTime, reqVO.getInTime())
+ .eqIfPresent(ErpPurchaseInDO::getStatus, reqVO.getStatus())
+ .likeIfPresent(ErpPurchaseInDO::getRemark, reqVO.getRemark())
+ .eqIfPresent(ErpPurchaseInDO::getCreator, reqVO.getCreator())
+ .eqIfPresent(ErpPurchaseInDO::getAccountId, reqVO.getAccountId())
+ .likeIfPresent(ErpPurchaseInDO::getOrderNo, reqVO.getOrderNo())
+ .orderByDesc(ErpPurchaseInDO::getId);
+ // 浠樻鐘舵�併�備负浠�涔堥渶瑕� t. 鐨勫師鍥狅紝鏄洜涓鸿仈琛ㄦ煡璇㈡椂锛岄渶瑕佹寚瀹氳〃鍚嶏紝涓嶇劧浼氭姤瀛楁涓嶅瓨鍦ㄧ殑閿欒
+ if (Objects.equals(reqVO.getPaymentStatus(), ErpPurchaseInPageReqVO.PAYMENT_STATUS_NONE)) {
+ query.eq(ErpPurchaseInDO::getPaymentPrice, 0);
+ } else if (Objects.equals(reqVO.getPaymentStatus(), ErpPurchaseInPageReqVO.PAYMENT_STATUS_PART)) {
+ query.gt(ErpPurchaseInDO::getPaymentPrice, 0).apply("t.payment_price < t.total_price");
+ } else if (Objects.equals(reqVO.getPaymentStatus(), ErpPurchaseInPageReqVO.PAYMENT_STATUS_ALL)) {
+ query.apply("t.payment_price = t.total_price");
+ }
+ if (Boolean.TRUE.equals(reqVO.getPaymentEnable())) {
+ query.eq(ErpPurchaseInDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
+ .apply("t.payment_price < t.total_price");
+ }
+ if (reqVO.getWarehouseId() != null || reqVO.getProductId() != null) {
+ query.leftJoin(ErpPurchaseInItemDO.class, ErpPurchaseInItemDO::getInId, ErpPurchaseInDO::getId)
+ .eq(reqVO.getWarehouseId() != null, ErpPurchaseInItemDO::getWarehouseId, reqVO.getWarehouseId())
+ .eq(reqVO.getProductId() != null, ErpPurchaseInItemDO::getProductId, reqVO.getProductId())
+ .groupBy(ErpPurchaseInDO::getId); // 閬垮厤 1 瀵瑰鏌ヨ锛屼骇鐢熺浉鍚岀殑 1
+ }
+ return selectJoinPage(reqVO, ErpPurchaseInDO.class, query);
+ }
+
+ default int updateByIdAndStatus(Long id, Integer status, ErpPurchaseInDO updateObj) {
+ return update(updateObj, new LambdaUpdateWrapper<ErpPurchaseInDO>()
+ .eq(ErpPurchaseInDO::getId, id).eq(ErpPurchaseInDO::getStatus, status));
+ }
+
+ default ErpPurchaseInDO selectByNo(String no) {
+ return selectOne(ErpPurchaseInDO::getNo, no);
+ }
+
+ default List<ErpPurchaseInDO> selectListByOrderId(Long orderId) {
+ return selectList(ErpPurchaseInDO::getOrderId, orderId);
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.3