package com.ruoyi.account.service.impl.purchase;
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.account.bean.dto.purchase.AccountPurchaseInvoiceDto;
import com.ruoyi.account.bean.vo.purchase.AccountPurchaseInvoiceVo;
import com.ruoyi.account.bean.vo.purchase.PurchaseInboundVo;
import com.ruoyi.account.mapper.purchase.AccountPurchaseInvoiceMapper;
import com.ruoyi.account.pojo.purchase.AccountPurchaseInvoice;
import com.ruoyi.account.service.purchase.AccountPurchaseInvoiceService;
import com.ruoyi.basic.mapper.StorageAttachmentMapper;
import com.ruoyi.common.utils.poi.ExcelUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 财务管理--进项发票 服务实现类
*
*
* @author 芯导软件(江苏)有限公司
* @since 2026-05-19 03:06:17
*/
@Service
@RequiredArgsConstructor
public class AccountPurchaseInvoiceServiceImpl extends ServiceImpl implements AccountPurchaseInvoiceService {
private final AccountPurchaseInvoiceMapper accountPurchaseInvoiceMapper;
private final StorageAttachmentMapper storageAttachmentMapper;
@Override
public IPage listPageAccountPurchaseInvoice(Page page, AccountPurchaseInvoiceDto accountPurchaseInvoiceDto) {
return accountPurchaseInvoiceMapper.listPageAccountPurchaseInvoice(page, accountPurchaseInvoiceDto);
}
@Override
public boolean deleteAccountPurchaseInvoice(List ids) {
List accountPurchaseInvoices = accountPurchaseInvoiceMapper.selectByIds(ids);
//删除附件
storageAttachmentMapper.deleteBatchIds(accountPurchaseInvoices.stream().map(AccountPurchaseInvoice::getStorageAttachmentId).toList());
return removeBatchByIds(ids);
}
@Override
public void exportAccountPurchaseInvoice(HttpServletResponse response, AccountPurchaseInvoiceDto accountPurchaseInvoiceDto) {
List list = accountPurchaseInvoiceMapper.listPageAccountPurchaseInvoice(new Page(1,-1),accountPurchaseInvoiceDto).getRecords();
ExcelUtil util = new ExcelUtil<>(AccountPurchaseInvoiceVo.class);
util.exportExcel(response, list , "进项发票");
}
@Override
public List getInboundBatchesBySupplier(Integer supplierId) {
return accountPurchaseInvoiceMapper.getInboundBatchesBySupplier(supplierId);
}
}