gongchunyi
5 小时以前 3c83bac9f2f447b6f1c77fa53d9df9e7c20d6041
feat: 退货台账客户列表返回已发货客户
已修改5个文件
46 ■■■■ 文件已修改
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/dto/SalesLedgerProductDto.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/ShippingInfoMapper.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
@@ -403,4 +404,11 @@
        return AjaxResult.success();
    }
    @GetMapping("/shippedCustomers")
    @ApiOperation("已发货客户名单")
    public AjaxResult shippedCustomers() {
        List<Customer> list = salesLedgerService.shippedCustomers();
        return AjaxResult.success(list);
    }
}
src/main/java/com/ruoyi/sales/dto/SalesLedgerProductDto.java
@@ -1,17 +1,12 @@
package com.ruoyi.sales.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.pojo.SalesLedgerProductProcess;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
@Data
@@ -67,6 +62,9 @@
    @ApiModelProperty(value = "退货总数")
    private BigDecimal totalReturnNum;
    @ApiModelProperty("产品规格-单位(product_model)")
    private String productModelUnit;
    @ApiModelProperty("销售产品额外加工")
    private List<SalesLedgerProductProcess> salesProductProcessList;
src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -3,9 +3,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.aftersalesservice.pojo.AfterSalesService;
import com.ruoyi.basic.pojo.Customer;
import com.ruoyi.common.enums.SaleEnum;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.sales.dto.*;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProcessRoute;
@@ -68,4 +67,7 @@
    List<SalesLabelDto> salesLabel(Long salesLedgerId);
    void salesStock(SalesProductStockDto dto);
    List<Customer> shippedCustomers();
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1694,4 +1694,21 @@
        ledger.setStockStatus(allStocked ? 2 : (hasStocked ? 1 : 0));
        baseMapper.updateById(ledger);
    }
    @Override
    public List<Customer> shippedCustomers() {
        List<SalesLedger> ledgers = list(Wrappers.<SalesLedger>lambdaQuery()
                .eq(SalesLedger::getDeliveryStatus, 5)
                .isNotNull(SalesLedger::getCustomerId)
                .select(SalesLedger::getCustomerId));
        if (CollectionUtils.isEmpty(ledgers)) {
            return Collections.emptyList();
        }
        Set<Long> customerIds = ledgers.stream()
                .map(SalesLedger::getCustomerId)
                .collect(Collectors.toCollection(LinkedHashSet::new));
        return customerMapper.selectList(Wrappers.<Customer>lambdaQuery()
                .in(Customer::getId, customerIds)
                .orderByAsc(Customer::getCustomerName));
    }
}
src/main/resources/mapper/sales/ShippingInfoMapper.xml
@@ -58,13 +58,17 @@
        FROM shipping_info s
                 LEFT JOIN sales_ledger sl ON s.sales_ledger_id = sl.id
    </select>
    <select id="getReturnManagementDtoById" resultType="com.ruoyi.sales.dto.SalesLedgerProductDto">
        SELECT
        slp.*,
        GREATEST(slp.quantity - COALESCE(rs.total_return_num, 0), 0) AS un_quantity,
        COALESCE(rs.total_return_num, 0) AS total_return_num
        COALESCE(rs.total_return_num, 0) AS total_return_num,
        pm.unit AS product_model_unit,
        pm.thickness AS thickness
        FROM shipping_info si
        LEFT JOIN sales_ledger_product slp ON si.sales_ledger_product_id = slp.id and slp.type = 1
        LEFT JOIN product_model pm ON slp.product_model_id = pm.id
        LEFT JOIN (
        SELECT
        return_sale_ledger_product_id,
@@ -81,6 +85,7 @@
            </if>
        </where>
    </select>
    <select id="getShippingInfoByCustomerName" resultType="com.ruoyi.sales.pojo.ShippingInfo">
        select * from shipping_info si
        left join sales_ledger sl on si.sales_ledger_id = sl.id