gongchunyi
8 小时以前 43f520b4da427cd91a16a23f6446670091cf02e9
src/main/java/com/ruoyi/stock/service/impl/StockInventoryServiceImpl.java
@@ -37,10 +37,7 @@
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * <p>
@@ -169,7 +166,10 @@
        stockInRecordDto.setWarnNum(stockInventoryDto.getWarnNum());
        stockInRecordDto.setType("0");
        stockInRecordDto.setRemark(stockInventoryDto.getRemark());
        stockInRecordService.add(stockInRecordDto);
        StockInRecord stockInRecord = stockInRecordService.add(stockInRecordDto);
        stockInRecordService.batchApprove(Collections.singletonList(stockInRecord.getId()),1);
        return true;
    }
@@ -251,7 +251,7 @@
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean addStockOutRecordOnly(StockInventoryDto stockInventoryDto) {
    public StockOutRecordDto addStockOutRecordOnly(StockInventoryDto stockInventoryDto) {
        LambdaQueryWrapper<StockInventory> eq = new LambdaQueryWrapper<>();
        eq.eq(StockInventory::getProductModelId, stockInventoryDto.getProductModelId());
        if (StringUtils.isEmpty(stockInventoryDto.getBatchNo())) {
@@ -287,8 +287,8 @@
        stockOutRecordDto.setProductModelId(stockInventoryDto.getProductModelId());
        stockOutRecordDto.setType("0");
        stockOutRecordDto.setRemark(stockInventoryDto.getRemark());
        stockOutRecordService.add(stockOutRecordDto);
        return true;
        StockOutRecordDto add = stockOutRecordService.add(stockOutRecordDto);
        return add;
    }
    @Override
@@ -391,7 +391,6 @@
    @Override
    public void exportStockInventory(HttpServletResponse response, StockInventoryDto stockInventoryDto) {
        List<StockInventoryExportData> list = stockInventoryMapper.listStockInventoryExportData(stockInventoryDto);
        ExcelUtil<StockInventoryExportData> util = new ExcelUtil<>(StockInventoryExportData.class);
        util.exportExcel(response, list, "库存信息");
@@ -399,7 +398,36 @@
    @Override
    public IPage<StockInRecordDto> stockInventoryPage(StockInventoryDto stockInventoryDto, Page page) {
        return stockInventoryMapper.stockInventoryPage(stockInventoryDto, page);
        IPage<StockInRecordDto> result = stockInventoryMapper.stockInventoryPage(stockInventoryDto, page);
        formatCurrentStock(result.getRecords());
        return result;
    }
    @Override
    public void exportStockInventoryPage(HttpServletResponse response, StockInventoryDto stockInventoryDto) {
        List<StockInRecordDto> list = stockInventoryMapper.stockInventoryPage(stockInventoryDto,new Page(-1,-1)).getRecords();
        formatCurrentStock(list);
        ExcelUtil<StockInRecordDto> util = new ExcelUtil<>(StockInRecordDto.class);
        util.exportExcel(response, list, "库存报表导出");
    }
    /**
     * 格式化现存量
     */
    private void formatCurrentStock(List<StockInRecordDto> list) {
        if (list == null || list.isEmpty()) {
            return;
        }
        for (StockInRecordDto record : list) {
            String currentStock = record.getCurrentStock();
            if (StringUtils.isEmpty(currentStock)) {
                continue;
            }
            try {
                record.setCurrentStock(new BigDecimal(currentStock).stripTrailingZeros().toPlainString());
            } catch (NumberFormatException ignored) {
            }
        }
    }
    @Override
@@ -432,7 +460,7 @@
    }
    @Override
    public List<StockInventory> getByModelId(Long modelId) {
    public List<StockInventoryDto> getByModelId(Long modelId) {
        return stockInventoryMapper.getByModelId(modelId);
    }