From 429866e3d0a2eee95916407b2e1dfa7de6f407ea Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期三, 26 八月 2026 17:18:47 +0800
Subject: [PATCH] feat(erp): 采购来票登记过滤已开完票订单
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java | 29 ++++++++++++++++++++++++++++-
1 files changed, 28 insertions(+), 1 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
index 01f0303..9576e9b 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/purchase/ErpPurchaseOrderMapper.java
@@ -2,6 +2,7 @@
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.query.MPJLambdaWrapperX;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderPageReqVO;
import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO;
@@ -10,12 +11,13 @@
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 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
*/
@Mapper
public interface ErpPurchaseOrderMapper extends BaseMapperX<ErpPurchaseOrderDO> {
@@ -55,6 +57,11 @@
query.eq(ErpPurchaseOrderDO::getStatus, ErpAuditStatus.APPROVE.getStatus())
.apply("t.return_count < t.in_count");
}
+ // 鍙潵绁ㄧ櫥璁帮紙鍓╀綑鍙紑绁ㄩ噾棰� > 0锛夛細閲戦宸插紑瀹岀殑璁㈠崟涓嶅睍绀�
+ if (Boolean.TRUE.equals(reqVO.getRemainPriceEnable())) {
+ query.apply("t.total_price > (SELECT IFNULL(SUM(i.price), 0) FROM erp_purchase_invoice i "
+ + "WHERE i.purchase_order_id = t.id AND i.deleted = 0)");
+ }
if (reqVO.getProductId() != null) {
query.leftJoin(ErpPurchaseOrderItemDO.class, ErpPurchaseOrderItemDO::getOrderId, ErpPurchaseOrderDO::getId)
.eq(reqVO.getProductId() != null, ErpPurchaseOrderItemDO::getProductId, reqVO.getProductId())
@@ -72,4 +79,24 @@
return selectOne(ErpPurchaseOrderDO::getNo, no);
}
+ default ErpPurchaseOrderDO selectByProcessInstanceId(String processInstanceId) {
+ return selectOne(ErpPurchaseOrderDO::getProcessInstanceId, processInstanceId);
+ }
+
+ default List<ErpPurchaseOrderDO> selectList(Long supplierId, Integer status) {
+ return selectList(new LambdaQueryWrapperX<ErpPurchaseOrderDO>()
+ .eqIfPresent(ErpPurchaseOrderDO::getSupplierId, supplierId)
+ .eqIfPresent(ErpPurchaseOrderDO::getStatus, status)
+ .orderByDesc(ErpPurchaseOrderDO::getId));
+ }
+
+ /**
+ * 鎸夋潵婧愭煡璇㈤噰璐鍗曪紙鐢ㄤ簬杩芥函鏉ユ簮宸ュ崟瀵瑰簲鐨勯噰璐鍗曪級
+ */
+ default List<ErpPurchaseOrderDO> selectListBySource(Integer sourceType, Long sourceId) {
+ return selectList(new LambdaQueryWrapperX<ErpPurchaseOrderDO>()
+ .eq(ErpPurchaseOrderDO::getSourceType, sourceType)
+ .eq(ErpPurchaseOrderDO::getSourceId, sourceId));
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.3