liyong
4 天以前 f90d9f53beb844265c4153159aadb0baf81bafdb
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/sale/ErpSaleOrderMapper.java
@@ -27,12 +27,15 @@
                .eqIfPresent(ErpSaleOrderDO::getCustomerId, reqVO.getCustomerId())
                .betweenIfPresent(ErpSaleOrderDO::getOrderTime, reqVO.getOrderTime())
                .eqIfPresent(ErpSaleOrderDO::getStatus, reqVO.getStatus())
                .eqIfPresent(ErpSaleOrderDO::getOutStatus, reqVO.getOutStatus())
                .eqIfPresent(ErpSaleOrderDO::getProductionStatus, reqVO.getProductionStatus())
                .likeIfPresent(ErpSaleOrderDO::getRemark, reqVO.getRemark())
                .eqIfPresent(ErpSaleOrderDO::getCreator, reqVO.getCreator())
                .orderByDesc(ErpSaleOrderDO::getId);
        if (reqVO.getProductId() != null) {
        if (reqVO.getProductId() != null || reqVO.getNeedProduction() != null) {
            query.leftJoin(ErpSaleOrderItemDO.class, ErpSaleOrderItemDO::getOrderId, ErpSaleOrderDO::getId)
                    .eq(reqVO.getProductId() != null, ErpSaleOrderItemDO::getProductId, reqVO.getProductId())
                    .eq(reqVO.getNeedProduction() != null, ErpSaleOrderItemDO::getNeedProduction, reqVO.getNeedProduction())
                    .groupBy(ErpSaleOrderDO::getId); // 避免 1 对多查询,产生相同的 1
        }
        return selectJoinPage(reqVO, ErpSaleOrderDO.class, query);
@@ -47,6 +50,8 @@
                .eqIfPresent(ErpSaleOrderDO::getCustomerId, reqVO.getCustomerId())
                .betweenIfPresent(ErpSaleOrderDO::getOrderTime, reqVO.getOrderTime())
                .eqIfPresent(ErpSaleOrderDO::getStatus, reqVO.getStatus())
                .eqIfPresent(ErpSaleOrderDO::getOutStatus, reqVO.getOutStatus())
                .eqIfPresent(ErpSaleOrderDO::getProductionStatus, reqVO.getProductionStatus())
                .likeIfPresent(ErpSaleOrderDO::getRemark, reqVO.getRemark())
                .eqIfPresent(ErpSaleOrderDO::getCreator, reqVO.getCreator())
                .orderByDesc(ErpSaleOrderDO::getId);
@@ -57,9 +62,10 @@
            }
            query.in(ErpSaleOrderDO::getCustomerId, permittedCustomerIds);
        }
        if (reqVO.getProductId() != null) {
        if (reqVO.getProductId() != null || reqVO.getNeedProduction() != null) {
            query.leftJoin(ErpSaleOrderItemDO.class, ErpSaleOrderItemDO::getOrderId, ErpSaleOrderDO::getId)
                    .eq(reqVO.getProductId() != null, ErpSaleOrderItemDO::getProductId, reqVO.getProductId())
                    .eq(reqVO.getNeedProduction() != null, ErpSaleOrderItemDO::getNeedProduction, reqVO.getNeedProduction())
                    .groupBy(ErpSaleOrderDO::getId); // 避免 1 对多查询,产生相同的 1
        }
        return selectJoinPage(reqVO, ErpSaleOrderDO.class, query);