| | |
| | | |
| | | 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; |
| | |
| | | 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> { |
| | |
| | | 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()) |
| | |
| | | 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)); |
| | | } |
| | | |
| | | } |