From e5e8464e8a6385683187b3459f8bfb5f9682a8ae Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 22 一月 2026 14:37:54 +0800
Subject: [PATCH] yys  发货台账优化

---
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index acab688..32bccc4 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -7,6 +7,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.utils.OrderUtils;
+import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.production.mapper.*;
 import com.ruoyi.production.pojo.*;
@@ -32,6 +34,7 @@
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.function.Function;
@@ -98,10 +101,10 @@
                         if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){
                             invoiceNum =  invoiceNum.add(registrationProductDto.getInvoiceNum());
                             invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount());
-                            noInvoiceNum = ledgerProduct.getQuantity().subtract(invoiceNum);
-                            noInvoiceAmount = ledgerProduct.getTaxInclusiveTotalPrice().subtract(invoiceAmount);
                         }
                     }
+                    noInvoiceNum = ledgerProduct.getQuantity().subtract(invoiceNum);
+                    noInvoiceAmount = ledgerProduct.getTaxInclusiveTotalPrice().subtract(invoiceAmount);
                     ledgerProduct.setInvoiceNum(invoiceNum);
                     ledgerProduct.setInvoiceAmount(invoiceAmount);
                     ledgerProduct.setNoInvoiceNum(noInvoiceNum);
@@ -260,11 +263,18 @@
     /**
      * 鏂板鐢熶骇鏁版嵁
      */
+    @Transactional(rollbackFor = Exception.class)
     public void addProductionData(SalesLedgerProduct salesLedgerProduct) {
+        // 鍥犱负鐢熶骇闇�姹傛敼鍔紝闇�瑕侀澶栫粰sales_ledger_product鏂板鏁版嵁锛宼ype锛�3
+        salesLedgerProduct.setType(3);
+        salesLedgerProduct.setRegister(SecurityUtils.getLoginUser().getNickName());
+        salesLedgerProduct.setRegisterDate(LocalDateTime.now());
+
+        salesLedgerProductMapper.insert(salesLedgerProduct);
         ProductOrder productOrder = new ProductOrder();
         productOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
         productOrder.setProductModelId(salesLedgerProduct.getId());
-        productOrder.setNpsNo("SC" + String.format("%08d", salesLedgerProduct.getId()));
+        productOrder.setNpsNo(OrderUtils.countTodayByCreateTime(productOrderMapper, "SC"));
         productOrder.setQuantity(salesLedgerProduct.getQuantity());//闇�姹傛暟閲�
         productOrder.setCompleteQuantity(BigDecimal.ZERO);//瀹屾垚鏁伴噺
         productOrderMapper.insert(productOrder);
@@ -422,9 +432,9 @@
         salesLedgerProductDtoIPage.getRecords().forEach(item -> {
             // 鍒ゆ柇鐘舵��
             if(item.getTaxInclusiveTotalPrice().compareTo(item.getInvoiceTotal()) == 0){
-                item.setStatusName("宸插畬鎴愪粯娆�");
+                item.setStatusName("宸插畬鎴愬洖娆�");
             }else{
-                item.setStatusName("鏈畬鎴愪粯娆�");
+                item.setStatusName("鏈畬鎴愬洖娆�");
             }
         });
         return salesLedgerProductDtoIPage;

--
Gitblit v1.9.3