maven
4 天以前 70a56e3ba7596074f11d6b8f406aae0b61ab0152
yys  修改附件问题
已修改7个文件
116 ■■■■■ 文件已修改
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDtoCopy.java
@@ -18,6 +18,8 @@
    private Integer id;
    private String ids;
    private Long createUser;
    /**
src/main/java/com/ruoyi/procurementrecord/pojo/CustomStorage.java
@@ -18,6 +18,8 @@
@Data
public class CustomStorage {
    @TableField(exist = false)
    private String ids;
    private static final long serialVersionUID = 1L;
src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -532,34 +532,21 @@
    public IPage<ProcurementPageDtoCopy> listPageCopyByProduction(Page page, ProcurementPageDto procurementDto) {
        IPage<ProcurementPageDtoCopy> procurementPageDtoCopyIPage = procurementRecordMapper.listPageCopyByProduction(page, procurementDto);
        List<ProcurementPageDtoCopy> procurementPageDtoCopyList = procurementPageDtoCopyIPage.getRecords();
        // 计算待入库数量
        // 查询采购记录已入库数量
        List<Integer> collect = procurementPageDtoCopyList.stream().map(ProcurementPageDtoCopy::getId).collect(Collectors.toList());
        if(CollectionUtils.isEmpty( collect)){
            return procurementPageDtoCopyIPage;
        }
        LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
        procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, collect);
        procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType, 2);
        List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
        if(CollectionUtils.isEmpty( procurementRecords)){
            return procurementPageDtoCopyIPage;
        }
        for (ProcurementPageDtoCopy dto : procurementPageDtoCopyList) {
            // 根据采购台账ID筛选对应的出库记录
            List<ProcurementRecordOut> collect1 = procurementRecords.stream()
                    .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId()))
                    .collect(Collectors.toList());
            // 如果没有相关的出库记录,跳过该条数据
            if(CollectionUtils.isEmpty(collect1)){
        for (ProcurementPageDtoCopy dto : procurementPageDtoCopyList) {
            List<Long> longs = listCopyIds(dto.getIds());
            LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
            procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, longs);
            procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType, 2);
            List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
            if(CollectionUtils.isEmpty(procurementRecords)){
                dto.setInboundNum0(dto.getInboundNum());
                dto.setTotalInboundNum(BigDecimal.ZERO);
                continue;
                return procurementPageDtoCopyIPage;
            }
            // 计算已出库数量总和,并设置待出库数量
            BigDecimal totalInboundNum = collect1.stream()
            BigDecimal totalInboundNum = procurementRecords.stream()
                    .map(ProcurementRecordOut::getInboundNum)
                    .reduce(BigDecimal.ZERO, BigDecimal::add);
            // 出库数量 = 总数量 - 待出库数量
@@ -577,36 +564,23 @@
    @Override
    public IPage<CustomStorage> listPageCopyByCustom(Page page, CustomStorage customStorage) {
        IPage<CustomStorage> pageList = customStorageMapper.listPageCopyByCustom(page, customStorage);
        List<CustomStorage> procurementPageDtoCopyList = pageList.getRecords();
        // 计算待入库数量
        // 查询采购记录已入库数量
        List<Integer> collect = procurementPageDtoCopyList.stream().map(CustomStorage::getId).collect(Collectors.toList());
        if(CollectionUtils.isEmpty( collect)){
            return pageList;
        }
        LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
        procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, collect);
        procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType, 3);
        List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
        if(CollectionUtils.isEmpty( procurementRecords)){
            return pageList;
        }
        for (CustomStorage dto : procurementPageDtoCopyList) {
            // 根据采购台账ID筛选对应的出库记录
            List<ProcurementRecordOut> collect1 = procurementRecords.stream()
                    .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId()))
                    .collect(Collectors.toList());
            // 如果没有相关的出库记录,跳过该条数据
            if(CollectionUtils.isEmpty(collect1)){
            List<Long> longs = listCopyIds(dto.getIds());
            LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
            procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, longs);
            procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType, 3);
            List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
            if(CollectionUtils.isEmpty(procurementRecords)){
                dto.setInboundNum0(dto.getInboundNum());
                dto.setTotalInboundNum(BigDecimal.ZERO);
                continue;
                return pageList;
            }
            // 计算已出库数量总和,并设置待出库数量
            BigDecimal totalInboundNum = collect1.stream()
            BigDecimal totalInboundNum = procurementRecords.stream()
                    .map(ProcurementRecordOut::getInboundNum)
                    .reduce(BigDecimal.ZERO, BigDecimal::add);
            // 出库数量 = 总数量 - 待出库数量
@@ -742,38 +716,32 @@
        return procurementPageDtoIPage;
    }
    public List<Long> listCopyIds(String ids) {
        List<Long> idsSet = new ArrayList<>();
        String[] split = ids.split(",");
        for (String s : split) {
            idsSet.add(Long.valueOf(s));
        }
        return idsSet;
    }
    @Override
    public IPage<ProcurementPageDtoCopy> listPageCopy(Page page, ProcurementPageDto procurementDto) {
        IPage<ProcurementPageDtoCopy> procurementPageDtoCopyIPage = procurementRecordMapper.listPageCopy(page, procurementDto);
        List<ProcurementPageDtoCopy> procurementPageDtoCopyList = procurementPageDtoCopyIPage.getRecords();
        // 计算待入库数量
        // 查询采购记录已入库数量
        List<Integer> collect = procurementPageDtoCopyList.stream().map(ProcurementPageDtoCopy::getId).collect(Collectors.toList());
        if(CollectionUtils.isEmpty( collect)){
            return procurementPageDtoCopyIPage;
        }
        LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
        procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, collect);
        procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType,1);
        List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
        if(CollectionUtils.isEmpty( procurementRecords)){
            return procurementPageDtoCopyIPage;
        }
        for (ProcurementPageDtoCopy dto : procurementPageDtoCopyList) {
            // 根据采购台账ID筛选对应的出库记录
            List<ProcurementRecordOut> collect1 = procurementRecords.stream()
                    .filter(ProcurementRecordOut -> ProcurementRecordOut.getProcurementRecordStorageId().equals(dto.getId()) && ProcurementRecordOut.getType().equals(1))
                    .collect(Collectors.toList());
            // 如果没有相关的出库记录,跳过该条数据
            if(CollectionUtils.isEmpty(collect1)){
            List<Long> longs = listCopyIds(dto.getIds());
            LambdaQueryWrapper<ProcurementRecordOut> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
            procurementRecordLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, longs);
            procurementRecordLambdaQueryWrapper.eq(ProcurementRecordOut::getType,1);
            List<ProcurementRecordOut> procurementRecords = procurementRecordOutMapper.selectList(procurementRecordLambdaQueryWrapper);
            if(CollectionUtils.isEmpty(procurementRecords)){
                dto.setInboundNum0(dto.getInboundNum());
                dto.setTotalInboundNum(BigDecimal.ZERO);
                continue;
                return procurementPageDtoCopyIPage;
            }
            // 计算已出库数量总和,并设置待出库数量
            BigDecimal totalInboundNum = collect1.stream()
            BigDecimal totalInboundNum = procurementRecords.stream()
                    .map(ProcurementRecordOut::getInboundNum)
                    .reduce(BigDecimal.ZERO, BigDecimal::add);
            // 出库数量 = 总数量 - 待出库数量
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -22,6 +22,7 @@
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -129,6 +130,7 @@
        int result;
        Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
        if (salesLedgerProduct.getId() == null) {
            salesLedgerProduct.setRegisterDate(LocalDateTime.now());
            result = salesLedgerProductMapper.insert(salesLedgerProduct);
        } else {
            salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
src/main/resources/mapper/procurementrecord/CustomStorageMapper.xml
@@ -4,6 +4,7 @@
    <select id="listPageCopyByCustom" resultType="com.ruoyi.procurementrecord.pojo.CustomStorage">
        select t1.*,
               group_concat(t1.id) as ids,
               sum(t1.inbound_num) as inboundNum,
               sum(t1.inbound_num) as inboundNum0,
               sum(t1.tax_inclusive_total_price) as taxInclusiveTotalPrice,
src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -126,6 +126,7 @@
        t3.purchase_contract_number,
        t2.product_category,
        t1.id,
        GROUP_CONCAT(t1.id) as ids,
        t1.sales_ledger_product_id,
        t1.create_user,
        t2.specification_model,
@@ -288,6 +289,7 @@
        t3.customer_name,
        t2.product_category,
        t1.id,
        group_concat(t1.id) as ids,
        t1.sales_ledger_product_id,
        t1.create_user,
        t2.specification_model,
src/main/resources/mapper/sales/InvoiceRegistrationProductMapper.xml
@@ -116,10 +116,7 @@
                AND T3.invoice_date &lt;= date_format(#{invoiceRegistrationProductDto.invoiceDateEnd}, '%Y-%m-%d')
            </if>
            <if test="invoiceRegistrationProductDto.createTimeStart != null ">
                AND T1.create_time &gt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')
            </if>
            <if test="invoiceRegistrationProductDto.createTimeEnd != null ">
                AND T1.create_time &lt;= date_format(#{invoiceRegistrationProductDto.createTimeStart}, '%Y-%m-%d %H:%i:%s')+interval 1 day
                AND T1.create_time like CONCAT(#{invoiceRegistrationProductDto.createTimeStart}, '%')
            </if>
        </where>
        ORDER BY T1.create_time DESC