| | |
| | | package com.ruoyi.sales.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.basic.excel.SupplierManageExcelDto; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.sales.dto.InvoiceRegistrationDto; |
| | | import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; |
| | | import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto; |
| | | import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; |
| | | import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; |
| | | import com.ruoyi.sales.pojo.InvoiceRegistration; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.ObjectUtils; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | public class InvoiceRegistrationServiceImpl extends ServiceImpl<InvoiceRegistrationMapper, InvoiceRegistration> implements InvoiceRegistrationService { |
| | |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto) { |
| | | public void invoiceRegistrationSaveOrUpdate(InvoiceRegistrationDto invoiceRegistrationDto) { |
| | | InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); |
| | | BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration); |
| | | // 新增开票登记 |
| | | invoiceRegistrationMapper.insert(invoiceRegistration); |
| | | List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList(); |
| | | // 新增开票登记 |
| | | if(invoiceRegistrationDto.getId() == null){ |
| | | invoiceRegistrationMapper.insert(invoiceRegistration); |
| | | // 新增开票产品登记 |
| | | if(CollectionUtils.isNotEmpty(productDtoList)){ |
| | | for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { |
| | |
| | | BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); |
| | | invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); |
| | | invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); |
| | | } |
| | | } |
| | | // 开票登记修改 |
| | | }else { |
| | | if(CollectionUtils.isNotEmpty(productDtoList)){ |
| | | for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { |
| | | InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); |
| | | BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); |
| | | invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct); |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | public List<InvoiceRegistrationProductDto> invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { |
| | | return invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto); |
| | | } |
| | | |
| | | /** |
| | | * 开票登记详情 |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Override |
| | | public InvoiceRegistrationDto invoiceRegistrationDetail(Integer id) { |
| | | InvoiceRegistration invoiceRegistration = invoiceRegistrationMapper.selectById(id); |
| | | if(ObjectUtils.isEmpty(invoiceRegistration)){ |
| | | throw new RuntimeException("开票登记信息查找失败"); |
| | | } |
| | | InvoiceRegistrationDto invoiceRegistrationDto = new InvoiceRegistrationDto(); |
| | | BeanUtils.copyProperties(invoiceRegistration, invoiceRegistrationDto); |
| | | QueryWrapper<InvoiceRegistrationProduct> queryWrapper = new QueryWrapper<>(); |
| | | queryWrapper.eq("invoice_registration_id", id); |
| | | List<InvoiceRegistrationProduct> invoiceRegistrationProductList = invoiceRegistrationProductMapper.selectList(queryWrapper); |
| | | List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductList.stream().map(item -> { |
| | | InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto(); |
| | | BeanUtils.copyProperties(item, invoiceRegistrationProductDto); |
| | | return invoiceRegistrationProductDto; |
| | | }).collect(Collectors.toList()); |
| | | invoiceRegistrationDto.setProductDtoList(invoiceRegistrationProductDtoList); |
| | | return invoiceRegistrationDto; |
| | | } |
| | | |
| | | /** |
| | | * 开票登记导出 |
| | | * @param response |
| | | * @param invoiceRegistrationDto |
| | | */ |
| | | @Override |
| | | public void invoiceRegistrationExport(HttpServletResponse response, InvoiceRegistrationDto invoiceRegistrationDto) { |
| | | List<InvoiceRegisAndProductExcelDto> invoiceRegisAndProductExcelDtoList = invoiceRegistrationMapper.invoiceRegisAndProductExcelDtoList(); |
| | | ExcelUtil<InvoiceRegisAndProductExcelDto> util = new ExcelUtil<InvoiceRegisAndProductExcelDto>(InvoiceRegisAndProductExcelDto.class); |
| | | util.exportExcel(response, invoiceRegisAndProductExcelDtoList, "开票登记信息"); |
| | | } |
| | | } |