package com.ruoyi.sales.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.sales.dto.InvoiceRegistrationDto; import com.ruoyi.sales.dto.InvoiceRegistrationProductDto; import com.ruoyi.sales.mapper.InvoiceRegistrationMapper; import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper; import com.ruoyi.sales.pojo.InvoiceRegistration; import com.ruoyi.sales.pojo.InvoiceRegistrationProduct; import com.ruoyi.sales.service.InvoiceRegistrationService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Collections; import java.util.List; @Service public class InvoiceRegistrationServiceImpl extends ServiceImpl implements InvoiceRegistrationService { private InvoiceRegistrationMapper invoiceRegistrationMapper; private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper; /** * 开票登记新增 * @param invoiceRegistrationDto * @return */ @Override @Transactional(rollbackFor = Exception.class) public void invoiceRegistrationAdd(InvoiceRegistrationDto invoiceRegistrationDto) { InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration); // 新增开票登记 invoiceRegistrationMapper.insert(invoiceRegistration); List productDtoList = invoiceRegistrationDto.getProductDtoList(); // 新增开票产品登记 if(CollectionUtils.isNotEmpty(productDtoList)){ for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId()); invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct); } } } /** * 开票登记删除 * @param ids * @return */ @Override @Transactional(rollbackFor = Exception.class) public int invoiceRegistrationDel(List ids) { int excuteNum = invoiceRegistrationMapper.deleteBatchIds(ids); LambdaQueryWrapper delWrapper = new LambdaQueryWrapper<>(); delWrapper.in(InvoiceRegistrationProduct::getInvoiceRegistrationId, ids); invoiceRegistrationProductMapper.delete(delWrapper); return excuteNum; } /** * 开票记录修改 * @param invoiceRegistrationDto * @return */ @Override public void invoiceRegistrationUpdate(InvoiceRegistrationDto invoiceRegistrationDto) { InvoiceRegistration invoiceRegistration = new InvoiceRegistration(); BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistration); // 开票登记修改 invoiceRegistrationMapper.updateById(invoiceRegistration); List productDtoList = invoiceRegistrationDto.getProductDtoList(); // 开票产品登记修改 if(CollectionUtils.isNotEmpty(productDtoList)){ for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) { InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct(); BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct); invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct); } } } /** * 开票登记分页查询 * @param page * @param invoiceRegistrationDto * @return */ @Override public IPage invoiceRegistrationListPage(Page page, InvoiceRegistrationDto invoiceRegistrationDto) { return null; } /** * 开票登记产品查询 * @param invoiceRegistrationProductDto * @return */ @Override public List invoiceRegistrationProductList(InvoiceRegistrationProductDto invoiceRegistrationProductDto) { return Collections.emptyList(); } }