From 834e3231b9ca0e5a5f43f55ce2675ace9e90dd4e Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 16 九月 2025 16:21:00 +0800
Subject: [PATCH] yys 支付与发货管理接口开发
---
src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 50 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
index 4b3aaf6..a18d5c4 100644
--- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
+++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -1,5 +1,7 @@
package com.ruoyi.sales.controller;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
@@ -21,6 +23,7 @@
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -62,6 +65,7 @@
if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) {
BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal());
salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
+
}
}
}
@@ -157,7 +161,51 @@
* 杩戝崐骞村紑绁�,鍥炴閲戦
*/
@GetMapping("/getAmountHalfYear")
- public AjaxResult getAmountHalfYear() {
- return AjaxResult.success(salesLedgerService.getAmountHalfYear());
+ public AjaxResult getAmountHalfYear(@RequestParam(value = "type",defaultValue = "1") Integer type) {
+ return AjaxResult.success(salesLedgerService.getAmountHalfYear(type));
+ }
+
+ /**
+ * 鏌ヨ閿�鍞彴璐﹀垪琛�
+ */
+ @GetMapping("/listPage")
+ public IPage<SalesLedger> listPage(Page page, SalesLedgerDto salesLedgerDto) {
+ IPage<SalesLedger> iPage = salesLedgerService.selectSalesLedgerListPage(page,salesLedgerDto);
+ // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�)
+ if(CollectionUtils.isEmpty(iPage.getRecords())){
+ return iPage;
+ }
+ List<Long> salesLedgerIds = iPage.getRecords().stream().map(SalesLedger::getId).collect(Collectors.toList());
+ List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds);
+ if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){
+ iPage.setTotal(iPage.getRecords().size());
+ return iPage;
+ }
+ for (SalesLedger salesLedger : iPage.getRecords()) {
+ boolean existFlag = false;
+ BigDecimal noInvoiceAmountTotal = BigDecimal.ZERO;
+ BigDecimal invoiceTotal = BigDecimal.ZERO;
+ for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) {
+ if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) {
+ noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal());
+ invoiceTotal = invoiceLedgerDto.getInvoiceTotal();
+ existFlag = true;
+ break;
+ }
+ }
+ if(existFlag){
+ salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal);
+ }else {
+ salesLedger.setNoInvoiceAmountTotal(salesLedger.getContractAmount());
+ }
+ salesLedger.setInvoiceTotal(invoiceTotal);
+ }
+ if (ObjectUtils.isNotEmpty(salesLedgerDto.getStatus())) {
+ if (salesLedgerDto.getStatus()) {
+ iPage.getRecords().removeIf(salesLedger -> Objects.equals(salesLedger.getNoInvoiceAmountTotal(), new BigDecimal("0.00")));
+ }
+ }
+ iPage.setTotal(iPage.getRecords().size());
+ return iPage;
}
}
--
Gitblit v1.9.3