From 56424206be7af38a02be17f215654f3ca813ebcb Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 07 四月 2026 17:54:24 +0800
Subject: [PATCH] feat:销售记录excel导入(查询,删除)

---
 src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java    |   14 +
 src/main/java/com/ruoyi/sales/service/impl/WeighingRecordServiceImpl.java |   46 ++++++
 src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java            |    2 
 src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java          |   23 ++
 src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java                   |   13 +
 src/main/java/com/ruoyi/sales/pojo/WeighingRecord.java                    |   90 ++++++++++++
 src/main/java/com/ruoyi/sales/dto/WeighingRecordExcelDto.java             |   58 ++++++++
 src/main/resources/mapper/sales/InvoiceLedgerMapper.xml                   |   12 
 src/main/java/com/ruoyi/sales/mapper/WeighingRecordMapper.java            |    9 +
 src/main/java/com/ruoyi/sales/service/IWeighingRecordService.java         |   10 +
 src/main/java/com/ruoyi/sales/controller/WeighingRecordController.java    |  120 +++++++++++++++++
 src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java |    9 
 12 files changed, 388 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
index aa10b54..840d1f7 100644
--- a/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
+++ b/src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -9,13 +9,10 @@
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import com.ruoyi.framework.web.page.TableDataInfo;
-import com.ruoyi.purchase.dto.InvoicePurchaseDto;
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.dto.ReceiptPaymentRecordDto;
-import com.ruoyi.sales.dto.SalesLedgerDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
-import com.ruoyi.sales.pojo.SalesLedger;
 import com.ruoyi.sales.service.ReceiptPaymentService;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -80,6 +77,17 @@
     }
 
     /**
+     * 瀹㈡埛閿�鍞褰曟煡璇�
+     * @param receiptPaymentDto
+     * @return
+     */
+    @GetMapping("/customerSalesInteractions")
+    public AjaxResult customerSalesInteractions (InvoiceLedgerDto receiptPaymentDto) {
+        return AjaxResult.success(receiptPaymentService.customerSalesInteractions(receiptPaymentDto));
+    }
+
+
+    /**
      * 鍥炴鐧昏璇︽儏
      * @param id
      * @return
diff --git a/src/main/java/com/ruoyi/sales/controller/WeighingRecordController.java b/src/main/java/com/ruoyi/sales/controller/WeighingRecordController.java
new file mode 100644
index 0000000..9fd3351
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/controller/WeighingRecordController.java
@@ -0,0 +1,120 @@
+package com.ruoyi.sales.controller;
+
+import com.alibaba.excel.EasyExcel;
+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.ruoyi.common.utils.bean.BeanUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.R;
+import com.ruoyi.sales.dto.WeighingRecordExcelDto;
+import com.ruoyi.sales.pojo.WeighingRecord;
+import com.ruoyi.sales.service.IWeighingRecordService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 杩囩璁板綍锛堢鍗曞彴璐︼級Controller
+ *
+ * @author ruoyi
+ * @date 2026-04-07
+ */
+@Api(tags = "纾呭崟鍙拌处绠$悊")
+@RestController
+@RequestMapping("/sales/weighbridgeLedger")
+public class WeighingRecordController extends BaseController {
+
+    @Autowired
+    private IWeighingRecordService weighingRecordService;
+
+    /**
+     * 鍒嗛〉鏌ヨ纾呭崟鍙拌处鍒楄〃
+     */
+    @ApiOperation("鍒嗛〉鏌ヨ纾呭崟鍙拌处鍒楄〃")
+    @GetMapping("/listPage")
+    public R<IPage<WeighingRecord>> listPage(Page<WeighingRecord> page, WeighingRecord weighingRecord) {
+        IPage<WeighingRecord> list = weighingRecordService.listPage(page, weighingRecord);
+        return R.ok(list);
+    }
+
+    /**
+     * 瀵煎叆 Excel锛堟柊纾呭崟鍙拌处锛�
+     */
+    @ApiOperation("瀵煎叆Excel")
+    @Log(title = "纾呭崟鍙拌处", businessType = BusinessType.IMPORT)
+    @PostMapping("/import")
+    public R importWeighbridgeLedgerExcel(@RequestParam("file") MultipartFile file) throws Exception {
+        try {
+            List<WeighingRecordExcelDto> excelDataList = EasyExcel.read(file.getInputStream())
+                    .head(WeighingRecordExcelDto.class)
+                    .sheet()
+                    .doReadSync();
+
+            if (CollectionUtils.isEmpty(excelDataList)) {
+                return R.fail("妯℃澘閿欒鎴栧鍏ユ暟鎹负绌�");
+            }
+
+            // 杞崲涓哄疄浣撳璞�
+            List<WeighingRecord> weighingRecordList = new ArrayList<>();
+            for (WeighingRecordExcelDto dto : excelDataList) {
+                WeighingRecord record = new WeighingRecord();
+                BeanUtils.copyProperties(dto, record);
+                weighingRecordList.add(record);
+            }
+
+            // 鍘婚噸妫�鏌�
+            List<WeighingRecord> newRecordList = new ArrayList<>();
+            int duplicateCount = 0;
+
+            for (WeighingRecord record : weighingRecordList) {
+                LambdaQueryWrapper<WeighingRecord> wrapper = new LambdaQueryWrapper<>();
+                wrapper.eq(WeighingRecord::getSerialNo, record.getSerialNo());
+
+                long count = weighingRecordService.count(wrapper);
+                if (count == 0) {
+                    newRecordList.add(record);
+                } else {
+                    duplicateCount++;
+                }
+            }
+
+            if (newRecordList.isEmpty()) {
+                return R.fail("鎵�鏈夋暟鎹兘宸插瓨鍦紝鍏�" + duplicateCount + "鏉¢噸澶嶆暟鎹�");
+            }
+
+            // 鎵归噺鎻掑叆鏂版暟鎹�
+            weighingRecordService.saveBatch(newRecordList);
+
+            String message = String.format("瀵煎叆鎴愬姛锛�%d鏉★紝璺宠繃閲嶅锛�%d鏉�", newRecordList.size(), duplicateCount);
+            return R.ok(message);
+
+        } catch (Exception e) {
+            return R.fail("瀵煎叆澶辫触锛�" + e.getMessage());
+        }
+    }
+
+    /**
+     * 鍒犻櫎锛堟柊纾呭崟鍙拌处锛�
+     */
+    @ApiOperation("鍒犻櫎纾呭崟鍙拌处")
+    @Log(title = "纾呭崟鍙拌处", businessType = BusinessType.DELETE)
+    @DeleteMapping("/delete")
+    public R delWeighbridgeLedger(@RequestBody List<Long> ids) {
+        boolean success = weighingRecordService.removeByIds(ids);
+        if (success) {
+            return R.ok("鍒犻櫎鎴愬姛");
+        } else {
+            return R.fail("鍒犻櫎澶辫触");
+        }
+    }
+
+}
diff --git a/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java b/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
index c638ebb..126355e 100644
--- a/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/InvoiceLedgerDto.java
@@ -7,7 +7,6 @@
 import lombok.Data;
 
 import java.math.BigDecimal;
-import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 
@@ -54,4 +53,16 @@
     private Integer salesLedgerId;
 
     private String paymentMethod;
+
+    @ApiModelProperty(value = "璐у悕")
+    private String goodsName;
+
+    @ApiModelProperty(value = "瑙勬牸")
+    private String specificationModel;
+
+    @ApiModelProperty(value = "宸插彂璐�")
+    private String shippedQuantity;
+
+    @ApiModelProperty(value = "鏈彂璐�")
+    private String unshippedQuantity;
 }
diff --git a/src/main/java/com/ruoyi/sales/dto/WeighingRecordExcelDto.java b/src/main/java/com/ruoyi/sales/dto/WeighingRecordExcelDto.java
new file mode 100644
index 0000000..69092ef
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/dto/WeighingRecordExcelDto.java
@@ -0,0 +1,58 @@
+package com.ruoyi.sales.dto;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 杩囩璁板綍Excel瀵煎叆瀵煎嚭DTO
+ */
+@Data
+@ApiModel(value = "WeighingRecordExcelDto", description = "杩囩璁板綍Excel瀵煎叆瀵煎嚭")
+public class WeighingRecordExcelDto {
+
+    @ExcelProperty(value = "娴佹按鍙�")
+    private String serialNo;
+
+    @ExcelProperty(value = "杞﹀彿")
+    private String carNo;
+
+    @ExcelProperty(value = "鍙戣揣鍗曚綅")
+    private String shipUnit;
+
+    @ExcelProperty(value = "鏀惰揣鍗曚綅")
+    private String receiveUnit;
+
+    @ExcelProperty(value = "璐у悕")
+    private String goodsName;
+
+    @ExcelProperty(value = "瑙勬牸")
+    private String specification;
+
+    @ExcelProperty(value = "姣涢噸")
+    private BigDecimal grossWeight;
+
+    @ExcelProperty(value = "鐨噸")
+    private BigDecimal tareWeight;
+
+    @ExcelProperty(value = "鍑�閲�")
+    private BigDecimal netWeight;
+
+    @ExcelProperty(value = "涓�娆¤繃纾呮椂闂�")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime firstWeighTime;
+
+    @ExcelProperty(value = "浜屾杩囩鏃堕棿")
+    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime secondWeighTime;
+
+    @ExcelProperty(value = "鍘熷彂")
+    private String originalSender;
+
+    @ExcelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
index 576ebd7..060ee0b 100644
--- a/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
+++ b/src/main/java/com/ruoyi/sales/mapper/ReceiptPaymentMapper.java
@@ -11,7 +11,6 @@
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
 import java.util.List;
 
 public interface ReceiptPaymentMapper extends BaseMapper<ReceiptPayment> {
@@ -84,4 +83,5 @@
     List<ReceiptPaymentExeclDto> bindInvoiceNoRegListByIds(List<Long> ids,Long tenantId);
 
 
+    List<InvoiceLedgerDto> customerSalesInteractions(InvoiceLedgerDto receiptPaymentDto);
 }
diff --git a/src/main/java/com/ruoyi/sales/mapper/WeighingRecordMapper.java b/src/main/java/com/ruoyi/sales/mapper/WeighingRecordMapper.java
new file mode 100644
index 0000000..99cb313
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/mapper/WeighingRecordMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.sales.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.sales.pojo.WeighingRecord;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface WeighingRecordMapper extends BaseMapper<WeighingRecord> {
+}
diff --git a/src/main/java/com/ruoyi/sales/pojo/WeighingRecord.java b/src/main/java/com/ruoyi/sales/pojo/WeighingRecord.java
new file mode 100644
index 0000000..14ed2c3
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/pojo/WeighingRecord.java
@@ -0,0 +1,90 @@
+package com.ruoyi.sales.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 杩囩璁板綍瀹炰綋绫�
+ */
+@Data
+@TableName("weighing_record")
+@ApiModel(value = "WeighingRecord", description = "杩囩璁板綍")
+public class WeighingRecord implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "涓婚敭ID")
+    private Long id;
+
+    @ApiModelProperty(value = "娴佹按鍙�")
+    private String serialNo;
+
+    @ApiModelProperty(value = "杞﹀彿")
+    private String carNo;
+
+    @ApiModelProperty(value = "鍙戣揣鍗曚綅")
+    private String shipUnit;
+
+    @ApiModelProperty(value = "鏀惰揣鍗曚綅")
+    private String receiveUnit;
+
+    @ApiModelProperty(value = "璐у悕")
+    private String goodsName;
+
+    @ApiModelProperty(value = "瑙勬牸")
+    private String specification;
+
+    @ApiModelProperty(value = "姣涢噸")
+    private BigDecimal grossWeight;
+
+    @ApiModelProperty(value = "鐨噸")
+    private BigDecimal tareWeight;
+
+    @ApiModelProperty(value = "鍑�閲�")
+    private BigDecimal netWeight;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "涓�娆¤繃纾呮椂闂�")
+    private LocalDateTime firstWeighTime;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "浜屾杩囩鏃堕棿")
+    private LocalDateTime secondWeighTime;
+
+    @ApiModelProperty(value = "鍘熷彂")
+    private String originalSender;
+
+    @ApiModelProperty(value = "鏇存柊浜�")
+    private String updateBy;
+
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+    @TableField(fill = FieldFill.INSERT)
+    private LocalDateTime createTime;
+
+    @ApiModelProperty(value = "淇敼鏃堕棿")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private LocalDateTime updateTime;
+
+    @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT)
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Integer createUser;
+
+    @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Integer updateUser;
+
+    @ApiModelProperty(value = "绉熸埛ID")
+    @TableField(fill = FieldFill.INSERT)
+    private Long tenantId;
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/sales/service/IWeighingRecordService.java b/src/main/java/com/ruoyi/sales/service/IWeighingRecordService.java
new file mode 100644
index 0000000..19eb505
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/IWeighingRecordService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.sales.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.sales.pojo.WeighingRecord;
+
+public interface IWeighingRecordService extends IService<WeighingRecord> {
+    IPage<WeighingRecord> listPage(Page<WeighingRecord> page, WeighingRecord weighingRecord);
+}
diff --git a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
index dbe8971..8ad9711 100644
--- a/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
+++ b/src/main/java/com/ruoyi/sales/service/ReceiptPaymentService.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ruoyi.sales.dto.CustomerInteractionDto;
 import com.ruoyi.sales.dto.InvoiceLedgerDto;
 import com.ruoyi.sales.dto.ReceiptPaymentDto;
 import com.ruoyi.sales.pojo.ReceiptPayment;
@@ -16,6 +15,7 @@
 
     /**
      * 鍥炴鐧昏鏂板
+     *
      * @param receiptPayment
      * @return
      */
@@ -23,6 +23,7 @@
 
     /**
      * 鍥炴鐧昏淇敼
+     *
      * @param receiptPayment
      * @return
      */
@@ -30,6 +31,7 @@
 
     /**
      * 鍥炴鐧昏鍒犻櫎
+     *
      * @param ids
      * @return
      */
@@ -37,14 +39,16 @@
 
     /**
      * 鍥炴鐧昏鍒嗛〉鏌ヨ
+     *
      * @param page
      * @param receiptPaymentDto
      * @return
      */
-    IPage<ReceiptPaymentDto> receiptPaymentListPage (Page page, ReceiptPaymentDto receiptPaymentDto);
+    IPage<ReceiptPaymentDto> receiptPaymentListPage(Page page, ReceiptPaymentDto receiptPaymentDto);
 
     /**
      * 鍥炴鐧昏璇︽儏
+     *
      * @param id
      * @return
      */
@@ -54,6 +58,7 @@
 
     /**
      * 鏌ヨ宸茬粡缁戝畾鍙戠エ鐨勫紑绁ㄥ彴璐�
+     *
      * @param page
      * @param receiptPaymentDto
      * @return
@@ -62,12 +67,13 @@
 
     /**
      * 寮�绁ㄥ彴璐﹁鎯�
+     *
      * @param id
      * @return
      */
     InvoiceLedgerDto invoiceInfo(Integer id);
 
-    Map<String,BigDecimal> getAmountMouth();
+    Map<String, BigDecimal> getAmountMouth();
 
     /**
      * 鏌ヨ鍥炴璁板綍
@@ -81,10 +87,11 @@
 
     /**
      * 瀹㈡埛寰�鏉ヨ褰曟煡璇�
+     *
      * @param receiptPaymentDto
      * @return
      */
-    List<InvoiceLedgerDto> customerInteractions (InvoiceLedgerDto receiptPaymentDto);
+    List<InvoiceLedgerDto> customerInteractions(InvoiceLedgerDto receiptPaymentDto);
 
     /**
      * 鏌ヨ鍥炴璁板綍鍒嗛〉
@@ -100,4 +107,12 @@
      * 閮ㄥ垎瀵煎嚭鍥炴鍒楄〃
      */
     void exportPaymentList(HttpServletResponse response, List<Long> ids);
+
+    /**
+     * 瀹㈡埛閿�鍞褰曟煡璇�
+     *
+     * @param receiptPaymentDto
+     * @return
+     */
+    List<InvoiceLedgerDto> customerSalesInteractions(InvoiceLedgerDto receiptPaymentDto);
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
index b667be2..7b0d4db 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -8,7 +8,6 @@
 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;
@@ -16,7 +15,6 @@
 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;
@@ -32,7 +30,6 @@
 import java.time.LocalDate;
 import java.time.YearMonth;
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Service
 public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper,ReceiptPayment> implements ReceiptPaymentService {
@@ -357,4 +354,10 @@
         }
 
     }
+
+    @Override
+    public List<InvoiceLedgerDto> customerSalesInteractions(InvoiceLedgerDto receiptPaymentDto) {
+        receiptPaymentDto.getCustomerId();
+        return receiptPaymentMapper.customerSalesInteractions(receiptPaymentDto);
+    }
 }
diff --git a/src/main/java/com/ruoyi/sales/service/impl/WeighingRecordServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/WeighingRecordServiceImpl.java
new file mode 100644
index 0000000..e1a4d06
--- /dev/null
+++ b/src/main/java/com/ruoyi/sales/service/impl/WeighingRecordServiceImpl.java
@@ -0,0 +1,46 @@
+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.common.utils.StringUtils;
+import com.ruoyi.sales.mapper.WeighingRecordMapper;
+import com.ruoyi.sales.pojo.WeighingRecord;
+import com.ruoyi.sales.service.IWeighingRecordService;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+@Service
+@Slf4j
+@RequiredArgsConstructor
+public class WeighingRecordServiceImpl extends ServiceImpl<WeighingRecordMapper, WeighingRecord> implements IWeighingRecordService {
+
+    private final WeighingRecordMapper weighingRecordMapper;
+
+    @Override
+    public IPage<WeighingRecord> listPage(Page<WeighingRecord> page, WeighingRecord weighingRecord) {
+        LambdaQueryWrapper<WeighingRecord> queryWrapper = new LambdaQueryWrapper<>();
+        // 娴佹按鍙凤紙妯$硦鏌ヨ锛�
+        queryWrapper.like(StringUtils.isNotBlank(weighingRecord.getSerialNo()),
+                WeighingRecord::getSerialNo, weighingRecord.getSerialNo());
+
+        // 杞﹀彿锛堟ā绯婃煡璇級
+        queryWrapper.like(StringUtils.isNotBlank(weighingRecord.getCarNo()),
+                WeighingRecord::getCarNo, weighingRecord.getCarNo());
+
+        // 璐у悕锛堟ā绯婃煡璇級
+        queryWrapper.like(StringUtils.isNotBlank(weighingRecord.getGoodsName()),
+                WeighingRecord::getGoodsName, weighingRecord.getGoodsName());
+
+        // 鏀惰揣鍗曚綅锛堟ā绯婃煡璇級
+        queryWrapper.like(StringUtils.isNotBlank(weighingRecord.getReceiveUnit()),
+                WeighingRecord::getReceiveUnit, weighingRecord.getReceiveUnit());
+
+        // 鍙戣揣鍗曚綅锛堢簿纭煡璇紝鍙�夛級
+        queryWrapper.eq(StringUtils.isNotBlank(weighingRecord.getShipUnit()),
+                WeighingRecord::getShipUnit, weighingRecord.getShipUnit());
+        return weighingRecordMapper.selectPage(page, queryWrapper);
+    }
+}
diff --git a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
index 2874f48..1e96ba0 100644
--- a/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
+++ b/src/main/resources/mapper/sales/InvoiceLedgerMapper.xml
@@ -111,11 +111,11 @@
 
     <select id="invoiceLedgerSalesAccount" resultType="com.ruoyi.sales.dto.InvoiceLedgerDto">
         SELECT
-            T1.customer_id as id,
-            T1.customer_name,
-            SUM(contract_amount) AS invoice_total,
-            IFNULL( SUM(T2.receipt_payment_amount) , 0 ) AS receipt_payment_amount,
-            IFNULL((IFNULL(SUM(contract_amount),0)  - IFNULL(SUM(T2.receipt_payment_amount),0)),0) AS unReceipt_payment_amount
+        T1.customer_id AS id,
+        T1.customer_name,
+        SUM(contract_amount) AS invoice_total,
+        IFNULL(SUM(T2.receipt_payment_amount), 0) AS receipt_payment_amount,
+        IFNULL(SUM(contract_amount), 0) - IFNULL(SUM(T2.receipt_payment_amount), 0) AS unReceipt_payment_amount
         FROM sales_ledger T1
         LEFT JOIN receipt_payment T2 ON T1.id = T2.sales_ledger_id
         <where>
@@ -123,7 +123,7 @@
                 T1.customer_name LIKE CONCAT ('%',#{invoiceLedgerDto.searchText},'%')
             </if>
         </where>
-        GROUP BY T1.customer_name
+        GROUP BY T1.customer_id, T1.customer_name
     </select>
 
     <select id="invoiceLedgerProductInfo" resultType="com.ruoyi.sales.dto.InvoiceRegistrationProductDto">

--
Gitblit v1.9.3