package com.ruoyi.purchase.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.purchase.dto.ProductRecordDto; import com.ruoyi.purchase.dto.TicketRegistrationDto; import com.ruoyi.purchase.mapper.ProductRecordMapper; import com.ruoyi.purchase.pojo.ProductRecord; import com.ruoyi.purchase.service.IProductRecordService; import com.ruoyi.sales.mapper.CommonFileMapper; import com.ruoyi.sales.pojo.CommonFile; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 采购台账产品开票记录Service业务层处理 * * @author ruoyi * @date 2025-05-23 */ @Service @AllArgsConstructor public class ProductRecordServiceImpl extends ServiceImpl implements IProductRecordService { @Autowired private ProductRecordMapper productRecordMapper; @Autowired private CommonFileMapper commonFileMapper; /** * 查询采购台账产品开票记录 * * @param ticketRegistrationDto 采购台账产品开票记录主键 * @return 采购台账产品开票记录 */ @Override public List selectProductRecordList(TicketRegistrationDto ticketRegistrationDto) { return productRecordMapper.selectList(new LambdaQueryWrapper().eq(ProductRecord::getTicketRegistrationId, ticketRegistrationDto.getId()) .eq(ProductRecord::getType, "2")); } @Override public IPage productRecordPage(Page page, TicketRegistrationDto ticketRegistrationDto) { IPage productRecordDtoIPage = productRecordMapper.productRecordPage(page, ticketRegistrationDto); productRecordDtoIPage.getRecords().forEach(productRecordDto -> { productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper().eq(CommonFile::getCommonId, productRecordDto.getTicketRegistrationId()) .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue()))); }); return productRecordDtoIPage; } }