From eba011c9c3a25e73763eb420e9c3275cc1112bab Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 20 一月 2026 14:05:31 +0800
Subject: [PATCH] yys 1.回款提醒,人力资源优化

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 6493d46..2754b09 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -1,5 +1,6 @@
 package com.ruoyi.sales.service.impl;
 
+import com.alibaba.druid.util.DaemonThreadFactory;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -28,6 +29,7 @@
 import com.ruoyi.sales.mapper.*;
 import com.ruoyi.sales.pojo.*;
 import com.ruoyi.sales.service.ISalesLedgerService;
+import com.ruoyi.sales.service.InvoiceRegistrationService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.io.FilenameUtils;
@@ -365,6 +367,9 @@
         return salesLedgerMapper.deleteBatchIds(idList);
     }
 
+    @Autowired
+    private InvoiceRegistrationService invoiceRegistrationService;
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public int addOrUpdateSalesLedger(SalesLedgerDto salesLedgerDto) {
@@ -417,7 +422,7 @@
             // 4. 澶勭悊瀛愯〃鏁版嵁
             List<SalesLedgerProduct> productList = salesLedgerDto.getProductData();
             if (productList != null && !productList.isEmpty()) {
-                handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType());
+                handleSalesLedgerProducts(salesLedgerDto,salesLedger.getId(), productList, salesLedgerDto.getType());
                 updateMainContractAmount(
                         salesLedger.getId(),
                         productList,
@@ -515,7 +520,7 @@
     }
 
 
-    private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
+    private void handleSalesLedgerProducts(SalesLedgerDto salesLedgerDto,Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
         // 鎸塈D鍒嗙粍锛屽尯鍒嗘柊澧炲拰鏇存柊鐨勮褰�
         Map<Boolean, List<SalesLedgerProduct>> partitionedProducts = products.stream()
                 .peek(p -> p.setSalesLedgerId(salesLedgerId))
@@ -535,10 +540,26 @@
         if (!insertList.isEmpty()) {
             for (SalesLedgerProduct salesLedgerProduct : insertList) {
                 salesLedgerProduct.setType(type);
-                salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
-                salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
+                salesLedgerProduct
+                        .setNoInvoiceNum(salesLedgerDto.getIsInvoice().equals(2) ? BigDecimal.ZERO :salesLedgerProduct.getQuantity());
+                salesLedgerProduct
+                        .setNoInvoiceAmount(salesLedgerDto.getIsInvoice().equals(2) ? BigDecimal.ZERO : salesLedgerProduct.getTaxInclusiveTotalPrice());
                 salesLedgerProductMapper.insert(salesLedgerProduct);
             }
+            if (salesLedgerDto.getIsInvoice().equals(2)) {
+                // 鏃犻渶寮�绁紝鎻愮ず绯荤粺鐢熸垚鍙戠エ
+                for (SalesLedgerProduct productDatum : insertList) {
+                    productDatum.setCurrentInvoiceAmount(productDatum.getTaxInclusiveTotalPrice());
+                    productDatum.setCurrentInvoiceNum(productDatum.getQuantity());
+                    productDatum.setInvoiceNum(productDatum.getQuantity());
+                    productDatum.setInvoiceAmount(productDatum.getTaxInclusiveTotalPrice());
+                }
+                salesLedgerDto.setId(salesLedgerId);
+                salesLedgerDto.setIssueDate(LocalDate.now());
+                salesLedgerDto.setInvoiceNo("姝ゅ彴璐︽棤闇�鎵嬪姩寮�绁紝绯荤粺灏嗘墍鏈変骇鍝佽嚜鍔ㄧ敓鎴愬紑绁ㄥ彴璐�");
+                salesLedgerDto.setCreateUser(SecurityUtils.getLoginUser().getNickName());
+                invoiceRegistrationService.invoiceRegistrationSave(salesLedgerDto);
+            }
         }
     }
 

--
Gitblit v1.9.3