zouyu
8 天以前 09394848ce262aff81897503d32ec334fd3f2b6f
src/main/java/com/ruoyi/purchase/service/impl/ProductRecordServiceImpl.java
@@ -5,13 +5,16 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.enums.FileNameType;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.purchase.dto.ProductRecordDto;
import com.ruoyi.purchase.dto.TicketRegistrationDto;
import com.ruoyi.purchase.mapper.ProductRecordMapper;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.mapper.TicketRegistrationMapper;
import com.ruoyi.purchase.pojo.ProductRecord;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.purchase.pojo.TicketRegistration;
import com.ruoyi.purchase.service.IProductRecordService;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
@@ -60,6 +63,8 @@
    @Override
    public IPage<ProductRecordDto> productRecordPage(Page page, TicketRegistrationDto ticketRegistrationDto) {
        Long userId = SecurityUtils.getUserId();
        ticketRegistrationDto.setUserId(userId);
        IPage<ProductRecordDto> productRecordDtoIPage1 = productRecordMapper.productRecordPage(page, ticketRegistrationDto);
        page.setSize(productRecordDtoIPage1.getTotal());
        IPage<ProductRecordDto> productRecordDtoIPage = productRecordMapper.productRecordPage(page, ticketRegistrationDto);
@@ -69,6 +74,8 @@
        });
        return productRecordDtoIPage;
    }
    private final TicketRegistrationMapper ticketRegistrationMapper;
    @Override
    public AjaxResult updateRecord(ProductRecordDto productRecordDto) {
@@ -88,13 +95,28 @@
        BeanUtils.copyProperties(productRecordDto,productRecord);
        productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice()));
        productRecordMapper.updateById(productRecord);
        // 修改发票号
        TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(productRecord.getTicketRegistrationId());
        if(ticketRegistration != null){
            ticketRegistration.setInvoiceNumber(productRecordDto.getInvoiceNumber());
            ticketRegistrationMapper.updateById(ticketRegistration);
        }
        return AjaxResult.success("修改成功");
    }
    @Override
    public ProductRecordDto getProductRecordById(Long id) {
        ProductRecordDto productRecordDto = productRecordMapper.getProductRecordById(id);
        return productRecordDto;
     @Override
    public ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto) {
        List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto);
        if(productRecordDtoList != null && productRecordDtoList.size() > 0){
            ProductRecordDto productRecordDto1 = productRecordDtoList.get(productRecordDtoList.size() - 1);
            // 过滤出与传入的 productRecordDto 主键相同的记录
            ProductRecordDto productRecordDto2 = productRecordDtoList.stream().filter(item ->
                            item.getId().equals(productRecordDto.getId()))
                    .findFirst().orElse(null);
            productRecordDto2.setFutureTickets(productRecordDto1.getFutureTickets());
            productRecordDto2.setFutureTicketsAmount(productRecordDto1.getFutureTicketsAmount());
            return productRecordDto2;
        }
        return null;
    }
}