From 96eecc97de7fc863fc76b63294d4c12bd9683ae4 Mon Sep 17 00:00:00 2001
From: chenrui <1187576398@qq.com>
Date: 星期二, 20 五月 2025 15:36:40 +0800
Subject: [PATCH] 回款台账

---
 /dev/null                                                                      |   53 -------------
 src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java |  108 +++++++-------------------
 src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java          |    7 +
 src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java                     |   13 ++
 src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java         |   26 ------
 src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java    |   11 +-
 src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java     |    5 
 7 files changed, 55 insertions(+), 168 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java b/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java
index f344ac6..71724b0 100644
--- a/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java
+++ b/src/main/java/com/ruoyi/sales/controller/InvoiceRegistrationController.java
@@ -4,6 +4,7 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.sales.dto.InvoiceRegistrationDto;
 import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.dto.SalesLedgerDto;
 import com.ruoyi.sales.service.InvoiceRegistrationService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -19,13 +20,13 @@
     private InvoiceRegistrationService invoiceRegistrationService;
 
     /**
-     * 寮�绁ㄧ櫥璁版柊澧�
-     * @param invoiceRegistrationDto
+     * 寮�绁ㄧ櫥璁拌褰曟柊澧�
+     * @param salesLedgerDto
      * @return
      */
-    @PostMapping("/saveOrUpdate")
-    public AjaxResult invoiceRegistrationSaveOrUpdate(@RequestBody InvoiceRegistrationDto invoiceRegistrationDto) {
-        invoiceRegistrationService.invoiceRegistrationSaveOrUpdate(invoiceRegistrationDto);
+    @PostMapping("/save")
+    public AjaxResult invoiceRegistrationSave(@RequestBody SalesLedgerDto salesLedgerDto) {
+        invoiceRegistrationService.invoiceRegistrationSave(salesLedgerDto);
         return AjaxResult.success();
     }
 
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
index a42f2b4..8e14547 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerProductController.java
@@ -38,11 +38,10 @@
      * 鏌ヨ浜у搧淇℃伅鍒楄〃
      */
     @GetMapping("/list")
-    public TableDataInfo list(SalesLedgerProduct salesLedgerProduct)
+    public List<SalesLedgerProduct> list(SalesLedgerProduct salesLedgerProduct)
     {
-        startPage();
         List<SalesLedgerProduct> list = salesLedgerProductService.selectSalesLedgerProductList(salesLedgerProduct);
-        return getDataTable(list);
+        return list;
     }
 
     /**
diff --git a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductRecordMapper.java b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductRecordMapper.java
deleted file mode 100644
index 89652ec..0000000
--- a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationProductRecordMapper.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.ruoyi.sales.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
-import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
-import com.ruoyi.sales.pojo.InvoiceRegistrationProductRecord;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface InvoiceRegistrationProductRecordMapper extends BaseMapper<InvoiceRegistrationProductRecord> {
-
-}
diff --git a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationRecordMapper.java b/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationRecordMapper.java
deleted file mode 100644
index 6b14609..0000000
--- a/src/main/java/com/ruoyi/sales/mapper/InvoiceRegistrationRecordMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.ruoyi.sales.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.sales.dto.InvoiceRegistrationDto;
-import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto;
-import com.ruoyi.sales.pojo.InvoiceRegistration;
-import com.ruoyi.sales.pojo.InvoiceRegistrationRecord;
-import org.apache.ibatis.annotations.Param;
-
-import java.util.List;
-
-public interface InvoiceRegistrationRecordMapper extends BaseMapper<InvoiceRegistrationRecord> {
-
-}
diff --git a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProductRecord.java b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProductRecord.java
deleted file mode 100644
index e34f56e..0000000
--- a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationProductRecord.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.ruoyi.sales.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-
-@TableName("invoice_registration_product_record")
-@Data
-public class InvoiceRegistrationProductRecord {
-
-    /**
-     * 搴忓彿
-     */
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty(value = "鍏宠仈閿�鍞彴璐︿富琛ㄤ富閿�")
-    private Integer salesLedgerId;
-
-    @ApiModelProperty(value = "sales_ledger_product涓婚敭")
-    private Integer salesLedgerProductId;
-
-    @ApiModelProperty(value = "寮�绁ㄧ櫥璁拌〃invoice_registration_record涓婚敭")
-    private Integer invoiceRegistrationRecordId;
-
-    @ApiModelProperty(value = "浜у搧澶х被")
-    private String productCategory;
-
-    @ApiModelProperty(value = "瑙勬牸鍨嬪彿")
-    private String specificationModel;
-
-    @ApiModelProperty(value = "鍗曚綅")
-    private String unit;
-
-    @ApiModelProperty(value = "鏁伴噺")
-    private BigDecimal quantity;
-
-    @ApiModelProperty(value = "绋庣巼")
-    private BigDecimal taxRate;
-
-    @ApiModelProperty(value = "鍚◣鍗曚环")
-    private BigDecimal taxInclusiveUnitPrice;
-
-    @ApiModelProperty(value = "鍚◣鎬讳环")
-    private BigDecimal taxInclusiveTotalPrice;
-
-    @ApiModelProperty(value = "涓嶅惈绋庢�讳环")
-    private BigDecimal taxExclusiveTotalPrice;
-
-    @ApiModelProperty(value = "鍙戠エ绫诲瀷")
-    private String invoiceType;
-
-    @ApiModelProperty(value = "寮�绁ㄦ暟")
-    private Integer invoiceNum;
-
-    @ApiModelProperty(value = "鏈紑绁ㄦ暟")
-    private Integer noInvoiceNum;
-
-    @ApiModelProperty(value = "寮�绁ㄩ噾棰�")
-    private BigDecimal invoiceAmount;
-
-    @ApiModelProperty(value = "鏈紑绁ㄩ噾棰�")
-    private BigDecimal noInvoiceAmount;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-    @ApiModelProperty(value = "淇敼鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "绉熸埛ID")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer tenantId;
-}
diff --git a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationRecord.java b/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationRecord.java
deleted file mode 100644
index 695d426..0000000
--- a/src/main/java/com/ruoyi/sales/pojo/InvoiceRegistrationRecord.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package com.ruoyi.sales.pojo;
-
-import com.baomidou.mybatisplus.annotation.*;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Data
-@TableName("invoice_registration_record")
-public class InvoiceRegistrationRecord {
-
-    /**
-     * 搴忓彿
-     */
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-
-    @ApiModelProperty(value = "閿�鍞彴璐ales_ledger涓婚敭")
-    private Integer salesLedgerId;
-
-    @ApiModelProperty(value = "閿�鍞悎鍚屽彿")
-    private String salesContractNo;
-
-    @ApiModelProperty(value = "瀹㈡埛鍚嶇ОID")
-    private Integer customerId;
-
-    @ApiModelProperty(value = "涓氬姟鍛�")
-    private String salesman;
-
-    @ApiModelProperty(value = "椤圭洰鍚嶇О")
-    private String projectName;
-
-    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
-    @TableField(fill = FieldFill.INSERT)
-    private LocalDateTime createTime;
-
-    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer createUser;
-
-    @ApiModelProperty(value = "淇敼鏃堕棿")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private LocalDateTime updateTime;
-
-    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
-    @TableField(fill = FieldFill.INSERT_UPDATE)
-    private Integer updateUser;
-
-    @ApiModelProperty(value = "绉熸埛ID")
-    @TableField(fill = FieldFill.INSERT)
-    private Integer tenantId;
-}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
index cfb1789..30ae659 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -3,6 +3,7 @@
 import java.math.BigDecimal;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
@@ -102,12 +103,12 @@
     private BigDecimal ticketsAmount;
 
     /**
-     * 鏈紑绁ㄦ暟
+     * 鏈潵寮�绁ㄦ暟
      */
     private Long futureTickets;
 
     /**
-     * 鏈紑绁ㄩ噾棰�(鍏�)
+     * 鏈潵寮�绁ㄩ噾棰�(鍏�)
      */
     private BigDecimal futureTicketsAmount;
 
@@ -122,4 +123,12 @@
 
     @ApiModelProperty(value = "鏈紑绁ㄩ噾棰�")
     private BigDecimal noInvoiceAmount;
+
+    @ApiModelProperty(value = "鏈寮�绁ㄦ暟")
+    @TableField(exist = false)
+    private Integer currentInvoiceNum;
+
+    @TableField(exist = false)
+    @ApiModelProperty(value = "鏈寮�绁ㄩ噾棰�")
+    private BigDecimal currentInvoiceAmount;
 }
diff --git a/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java b/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java
index 6313b93..19af693 100644
--- a/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java
+++ b/src/main/java/com/ruoyi/sales/service/InvoiceRegistrationService.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.sales.dto.InvoiceRegistrationDto;
 import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
+import com.ruoyi.sales.dto.SalesLedgerDto;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.servlet.http.HttpServletResponse;
@@ -12,11 +13,11 @@
 public interface InvoiceRegistrationService {
 
     /**
-     * 寮�绁ㄧ櫥璁版柊澧�
-     * @param invoiceRegistrationDto
+     * 寮�绁ㄧ櫥璁拌褰曟柊澧�
+     * @param salesLedgerDto
      * @return
      */
-    void invoiceRegistrationSaveOrUpdate(InvoiceRegistrationDto invoiceRegistrationDto);
+    void invoiceRegistrationSave(SalesLedgerDto salesLedgerDto);
 
     /**
      * 寮�绁ㄧ櫥璁板垹闄�
diff --git a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
index baaeee9..7f8bd60 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/InvoiceRegistrationServiceImpl.java
@@ -5,19 +5,17 @@
 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.dto.SalesLedgerDto;
 import com.ruoyi.sales.excel.InvoiceRegisAndProductExcelDto;
 import com.ruoyi.sales.mapper.InvoiceRegistrationMapper;
 import com.ruoyi.sales.mapper.InvoiceRegistrationProductMapper;
-import com.ruoyi.sales.mapper.InvoiceRegistrationProductRecordMapper;
-import com.ruoyi.sales.mapper.InvoiceRegistrationRecordMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
 import com.ruoyi.sales.pojo.InvoiceRegistration;
 import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
-import com.ruoyi.sales.pojo.InvoiceRegistrationProductRecord;
-import com.ruoyi.sales.pojo.InvoiceRegistrationRecord;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
 import com.ruoyi.sales.service.InvoiceRegistrationService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.BeanUtils;
@@ -27,7 +25,6 @@
 import org.springframework.util.ObjectUtils;
 
 import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -41,85 +38,40 @@
     private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
 
     @Autowired
-    private InvoiceRegistrationRecordMapper invoiceRegistrationRecordMapper;
-
-    @Autowired
-    private InvoiceRegistrationProductRecordMapper invoiceRegistrationProductRecordMapper;
-
+    private SalesLedgerProductMapper salesLedgerProductMapper;
 
     /**
-     * 寮�绁ㄧ櫥璁版柊澧�
-     * @param invoiceRegistrationDto
+     * 寮�绁ㄧ櫥璁拌褰曟柊澧�
+     * @param salesLedgerDto
      * @return
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void invoiceRegistrationSaveOrUpdate(InvoiceRegistrationDto invoiceRegistrationDto) {
-        List<InvoiceRegistrationProductDto> productDtoList = invoiceRegistrationDto.getProductDtoList();
-        Integer salesLedgerId = invoiceRegistrationDto.getSalesLedgerId();
-        if (null == salesLedgerId){
-            throw new RuntimeException("鏈叧鑱旈攢鍞悎鍚�");
-        }
-        QueryWrapper<InvoiceRegistration> inRegWrapper = new QueryWrapper<>();
-        inRegWrapper.eq("sales_ledger_id", salesLedgerId);
-        InvoiceRegistration invoiceRegistration = invoiceRegistrationMapper.selectOne(inRegWrapper);
-        Integer invoiceRegistrationId = null;
-        // 鍒ゆ柇鏄惁宸茬粡鍋氳繃鐧昏锛屽鏋滄湁鍚堝苟锛屽鏋滄病鏈夋柊澧�
-        if(ObjectUtils.isEmpty(invoiceRegistration)){
-            InvoiceRegistration insertInvocieReg = new InvoiceRegistration();
-            BeanUtils.copyProperties(invoiceRegistrationDto, insertInvocieReg);
-            invoiceRegistrationMapper.insert(insertInvocieReg);
-            invoiceRegistrationId = insertInvocieReg.getId();
-        }else {
-            invoiceRegistrationId = invoiceRegistration.getId();
-        }
-        // 鏌ヨ浜у搧鏄惁宸茬粡鐧昏
-        if(CollectionUtils.isNotEmpty(productDtoList)){
-            QueryWrapper<InvoiceRegistrationProduct> inRegProductWrapper = new QueryWrapper<>();
-            inRegProductWrapper.eq("invoice_registration_id", invoiceRegistrationId);
-            List<InvoiceRegistrationProduct> invoiceRegistrationProductList = invoiceRegistrationProductMapper.selectList(inRegProductWrapper);
-            if(CollectionUtils.isNotEmpty(invoiceRegistrationProductList)){
-                // 鎵归噺鏇存柊
-                for (InvoiceRegistrationProduct invoiceRegistrationProduct : invoiceRegistrationProductList) {
-                    for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) {
-                        if( null != invoiceRegistrationProductDto.getId() && null != invoiceRegistrationProduct.getSalesLedgerProductId()
-                                && invoiceRegistrationProductDto.getId() == invoiceRegistrationProduct.getSalesLedgerProductId().longValue() ){
-                            // 璁$畻宸插紑绁ㄦ暟
-                            invoiceRegistrationProduct.setInvoiceNum(invoiceRegistrationProduct.getInvoiceNum() + invoiceRegistrationProductDto.getInvoiceNum());
-                            // 璁$畻宸插紑绁ㄩ噾棰�
-                            invoiceRegistrationProduct.setInvoiceAmount(invoiceRegistrationProduct.getInvoiceAmount().add(invoiceRegistrationProductDto.getInvoiceAmount()));
-//                            // 璁$畻鏈紑绁ㄦ暟
-                            invoiceRegistrationProduct.setNoInvoiceNum(invoiceRegistrationProductDto.getNoInvoiceNum());
-//                            // 璁$畻鏈紑绁ㄩ噾棰� 鍚◣鎬讳环-寮�绁ㄩ噾棰�
-                            invoiceRegistrationProduct.setNoInvoiceAmount(invoiceRegistrationProductDto.getNoInvoiceAmount());
-                            invoiceRegistrationProductMapper.updateById(invoiceRegistrationProduct);
-                        }
-                    }
+    public void invoiceRegistrationSave(SalesLedgerDto salesLedgerDto) {
+        InvoiceRegistration invoiceRegistration = new InvoiceRegistration();
+        BeanUtils.copyProperties(salesLedgerDto, invoiceRegistration);
+        invoiceRegistration.setId(null);
+        invoiceRegistration.setCustomerId(salesLedgerDto.getCustomerId().intValue());
+        invoiceRegistration.setSalesLedgerId(salesLedgerDto.getId().intValue());
+        invoiceRegistrationMapper.insert(invoiceRegistration);
+        List<SalesLedgerProduct> productData = salesLedgerDto.getProductData();
+        if(CollectionUtils.isNotEmpty(productData)){
+            for (SalesLedgerProduct productDatum : productData) {
+                // 濡傛灉寮�绁ㄦ暟涓�0 璺宠繃
+                Integer currentInvoiceNum = productDatum.getCurrentInvoiceNum();
+                if(null == currentInvoiceNum || currentInvoiceNum == 0){
+                    continue;
                 }
-            }else {
-                // 鎵归噺鎻掑叆
-                for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) {
-                    InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
-                    BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProduct);
-                    invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistrationId);
-                    invoiceRegistrationProduct.setSalesLedgerProductId(invoiceRegistrationProductDto.getId());
-                    invoiceRegistrationProduct.setId(null);
-                    invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct);
-                }
-            }
-        }
-        // 淇濆瓨鏈寮�绁ㄧ櫥璁拌褰�
-        InvoiceRegistrationRecord invoiceRegistrationRecord = new InvoiceRegistrationRecord();
-        BeanUtils.copyProperties(invoiceRegistrationDto, invoiceRegistrationRecord);
-        invoiceRegistrationRecordMapper.insert(invoiceRegistrationRecord);
-        if(CollectionUtils.isNotEmpty(productDtoList)){
-            for (InvoiceRegistrationProductDto invoiceRegistrationProductDto : productDtoList) {
-                InvoiceRegistrationProductRecord invoiceRegistrationProductRecord = new InvoiceRegistrationProductRecord();
-                BeanUtils.copyProperties(invoiceRegistrationProductDto, invoiceRegistrationProductRecord);
-                invoiceRegistrationProductRecord.setInvoiceRegistrationRecordId(invoiceRegistrationRecord.getId());
-                invoiceRegistrationProductRecord.setSalesLedgerProductId(invoiceRegistrationProductDto.getId());
-                invoiceRegistrationProductRecord.setId(null);
-                invoiceRegistrationProductRecordMapper.insert(invoiceRegistrationProductRecord);
+                InvoiceRegistrationProduct invoiceRegistrationProduct = new InvoiceRegistrationProduct();
+                BeanUtils.copyProperties(productDatum, invoiceRegistrationProduct);
+                invoiceRegistrationProduct.setId(null);
+                invoiceRegistrationProduct.setSalesLedgerId(salesLedgerDto.getId().intValue());
+                invoiceRegistrationProduct.setInvoiceRegistrationId(invoiceRegistration.getId());
+                invoiceRegistrationProduct.setInvoiceAmount(productDatum.getCurrentInvoiceAmount());
+                invoiceRegistrationProduct.setInvoiceNum(productDatum.getCurrentInvoiceNum());
+                invoiceRegistrationProduct.setSalesLedgerProductId(productDatum.getId().intValue());
+                invoiceRegistrationProductMapper.insert(invoiceRegistrationProduct);
+                salesLedgerProductMapper.updateById(productDatum);
             }
         }
     }
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 9163f8b..c20172e 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -103,30 +103,6 @@
         LambdaQueryWrapper<SalesLedgerProduct> productWrapper = new LambdaQueryWrapper<>();
         productWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedger.getId());
         List<SalesLedgerProduct> products = salesLedgerProductMapper.selectList(productWrapper);
-        // 鏌ヨ鏈紑绁ㄩ噾棰�/鏈紑绁ㄦ暟
-        if (CollectionUtils.isNotEmpty(products)) {
-            QueryWrapper<InvoiceRegistrationProduct> productQueryWrapper = new QueryWrapper<>();
-            List<Long> productIds = products.stream().map(SalesLedgerProduct::getId).collect(Collectors.toList());
-            productQueryWrapper.in("sales_ledger_product_id", productIds);
-            List<InvoiceRegistrationProduct> invoiceRegistrationProductList = invoiceRegistrationProductMapper.selectList(productQueryWrapper);
-            if(CollectionUtils.isNotEmpty(invoiceRegistrationProductList)){
-                for (SalesLedgerProduct product : products) {
-                    for (InvoiceRegistrationProduct invoiceRegistrationProduct : invoiceRegistrationProductList) {
-                        Integer salesLedgerProductId = invoiceRegistrationProduct.getSalesLedgerProductId();
-                        Long id = product.getId();
-                        if( null !=  id && null != salesLedgerProductId && id == salesLedgerProductId.longValue()){
-                            product.setFutureTickets(Long.valueOf(invoiceRegistrationProduct.getNoInvoiceNum()));
-                            product.setFutureTicketsAmount(invoiceRegistrationProduct.getNoInvoiceAmount());
-                        }
-                    }
-                }
-            }else {
-                for (SalesLedgerProduct product : products) {
-                    product.setFutureTickets(product.getQuantity().longValue());
-                    product.setFutureTicketsAmount(product.getTaxInclusiveTotalPrice());
-                }
-            }
-        }
 
         // 3.鏌ヨ涓婁紶鏂囦欢
         LambdaQueryWrapper<CommonFile> salesLedgerFileWrapper = new LambdaQueryWrapper<>();
@@ -369,6 +345,8 @@
         if (!insertList.isEmpty()) {
             for (SalesLedgerProduct salesLedgerProduct : insertList) {
                 salesLedgerProduct.setType(type);
+                salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity().intValue());
+                salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
                 salesLedgerProductMapper.insert(salesLedgerProduct);
             }
         }

--
Gitblit v1.9.3