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