zss
7 天以前 13fd47c5aa585b74bfc8b77722bde3f7a2399587
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -4,52 +4,36 @@
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.pojo.AccountIncome;
import com.ruoyi.account.service.AccountIncomeService;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.sales.dto.CustomerInteractionDto;
import com.ruoyi.sales.dto.InvoiceLedgerDto;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
import com.ruoyi.sales.dto.ReceiptPaymentExeclDto;
import com.ruoyi.sales.mapper.InvoiceLedgerMapper;
import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.InvoiceLedger;
import com.ruoyi.sales.pojo.ReceiptPayment;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import com.ruoyi.sales.service.ReceiptPaymentService;
import org.springframework.beans.factory.annotation.Autowired;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import jakarta.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.YearMonth;
import java.util.*;
import java.util.stream.Collectors;
@Service
@RequiredArgsConstructor
public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper,ReceiptPayment> implements ReceiptPaymentService {
    @Autowired
    private ReceiptPaymentMapper receiptPaymentMapper;
    @Autowired
    private SalesLedgerMapper salesLedgerMapper;
    @Autowired
    private SalesLedgerProductMapper salesLedgerProductMapper;
    @Autowired
    private InvoiceLedgerMapper invoiceLedgerMapper;
    @Autowired
    private AccountIncomeService accountIncomeService;
    private final ReceiptPaymentMapper receiptPaymentMapper;
    private final SalesLedgerMapper salesLedgerMapper;
    private final SalesLedgerProductMapper salesLedgerProductMapper;
    /**
     * 回款登记新增
@@ -76,19 +60,6 @@
                salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount()));
                salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
                receiptPaymentMapper.insert(receiptPayment);
                // 增加财务收入记录
                AccountIncome accountIncome = new AccountIncome();
                accountIncome.setIncomeDate(salesLedger.getEntryDate());
                accountIncome.setIncomeType("3");
                accountIncome.setCustomerName(salesLedger.getCustomerName());
                accountIncome.setIncomeMoney(receiptPayment.getReceiptPaymentAmount());
                accountIncome.setIncomeMethod("0");
                accountIncome.setInputTime(new Date());
                accountIncome.setInputUser(salesLedger.getEntryPerson());
                accountIncome.setIncomeDescribed("回款收入");
                accountIncome.setBusinessId(Long.parseLong(receiptPayment.getId().toString()));
                accountIncome.setBusinessType(1);
                accountIncomeService.save(accountIncome);
            }else {
                BigDecimal subtract = byId.getReceiptPaymentAmount().subtract(receiptPayment.getReceiptPaymentAmount());
                salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract));
@@ -96,15 +67,6 @@
                receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount());
                receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType());
                receiptPaymentMapper.updateById(receiptPayment);
                // 修改财务收入记录
                LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>();
                accountIncomeLambdaQueryWrapper.eq(AccountIncome::getBusinessId, receiptPayment.getId())
                        .eq(AccountIncome::getBusinessType, 1);
                AccountIncome accountIncome = accountIncomeService.getOne(accountIncomeLambdaQueryWrapper);
                if(null!=accountIncome){
                    accountIncome.setIncomeMoney(receiptPayment.getReceiptPaymentAmount());
                    accountIncomeService.updateById(accountIncome);
                }
            }
            salesLedgerProductMapper.updateById(salesLedgerProduct);
        }
@@ -133,15 +95,6 @@
        BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount());
        salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract));
        salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
        // 修改财务收入记录
        LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>();
        accountIncomeLambdaQueryWrapper.eq(AccountIncome::getBusinessId, receiptPayment.getId())
                .eq(AccountIncome::getBusinessType, 1);
        AccountIncome accountIncome = accountIncomeService.getOne(accountIncomeLambdaQueryWrapper);
        if(null!=accountIncome){
            accountIncome.setIncomeMoney(receiptPayment.getReceiptPaymentAmount());
            accountIncomeService.updateById(accountIncome);
        }
        salesLedgerProductMapper.updateById(salesLedgerProduct);
        receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount());
        receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType());
@@ -166,11 +119,6 @@
            salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
            salesLedgerProductMapper.updateById(salesLedgerProduct);
        }
        // 删除财务收入记录
        LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>();
        accountIncomeLambdaQueryWrapper.in(AccountIncome::getBusinessId, ids)
                .eq(AccountIncome::getBusinessType, 1);
        accountIncomeService.remove(accountIncomeLambdaQueryWrapper);
        return receiptPaymentMapper.delete(delQuery);
    }
@@ -263,16 +211,6 @@
        return receiptPaymentDtoIPage;
    }
    /**
     * 开票台账详情
     * @param id
     * @return
     */
    @Override
    public InvoiceLedgerDto invoiceInfo(Integer id) {
        return receiptPaymentMapper.invoiceInfo(id);
    }
    @Override
    public Map<String,BigDecimal> getAmountMouth() {
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null);
@@ -317,16 +255,6 @@
    @Override
    public IPage<ReceiptPaymentDto> receiptPaymentHistoryListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
        return receiptPaymentMapper.receiptPaymentHistoryListPage(page, receiptPaymentDto);
    }
    /**
     * 客户往来记录查询
     * @param receiptPaymentDto
     * @return
     */
    @Override
    public List<InvoiceLedgerDto> customerInteractions(InvoiceLedgerDto receiptPaymentDto) {
        return receiptPaymentMapper.invoiceLedgerSalesAccount(receiptPaymentDto);
    }
    /**