From 964da2cddac64db309ee25a001f2f56607e8928d Mon Sep 17 00:00:00 2001 From: chenrui <1187576398@qq.com> Date: 星期一, 26 五月 2025 17:35:26 +0800 Subject: [PATCH] 基础配置修改 --- src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 101 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 92 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java index 7f4f39a..c7b7ccf 100644 --- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java +++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java @@ -1,19 +1,26 @@ package com.ruoyi.sales.controller; -import java.util.*; -import javax.servlet.http.HttpServletResponse; - import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.sales.dto.SalesLedgerDto; -import com.ruoyi.sales.pojo.SalesLedger; -import com.ruoyi.sales.service.ISalesLedgerService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; 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.AjaxResult; import com.ruoyi.framework.web.page.TableDataInfo; +import com.ruoyi.sales.dto.InvoiceLedgerDto; +import com.ruoyi.sales.dto.SalesLedgerDto; +import com.ruoyi.sales.mapper.InvoiceLedgerMapper; +import com.ruoyi.sales.pojo.SalesLedger; +import com.ruoyi.sales.service.ICommonFileService; +import com.ruoyi.sales.service.ISalesLedgerService; +import lombok.AllArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.util.List; +import java.util.stream.Collectors; /** * 閿�鍞彴璐ontroller @@ -23,9 +30,15 @@ */ @RestController @RequestMapping("/sales/ledger") +@AllArgsConstructor public class SalesLedgerController extends BaseController { - @Autowired + private ISalesLedgerService salesLedgerService; + + private ICommonFileService commonFileService; + + @Autowired + private InvoiceLedgerMapper invoiceLedgerMapper; /** * 鏌ヨ閿�鍞彴璐﹀垪琛� @@ -34,6 +47,23 @@ public TableDataInfo list(SalesLedgerDto salesLedgerDto) { startPage(); List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); + // 璁$畻宸插紑绁ㄩ噾棰�/鏈紑绁ㄩ噾棰�(宸插~鍐欏彂绁ㄩ噾棰濅负鍑�) + if(CollectionUtils.isEmpty(list)){ + return getDataTable(list); + } + List<Long> salesLedgerIds = list.stream().map(SalesLedger::getId).collect(Collectors.toList()); + List<InvoiceLedgerDto> invoiceLedgerDtoList = invoiceLedgerMapper.invoicedTotal(salesLedgerIds); + if(CollectionUtils.isEmpty(invoiceLedgerDtoList)){ + return getDataTable(list); + } + for (SalesLedger salesLedger : list) { + for (InvoiceLedgerDto invoiceLedgerDto : invoiceLedgerDtoList) { + if (salesLedger.getId().intValue() == invoiceLedgerDto.getSalesLedgerId()) { + BigDecimal noInvoiceAmountTotal = salesLedger.getContractAmount().subtract(invoiceLedgerDto.getInvoiceTotal()); + salesLedger.setNoInvoiceAmountTotal(noInvoiceAmountTotal); + } + } + } return getDataTable(list); } @@ -76,4 +106,57 @@ } return toAjax(salesLedgerService.deleteSalesLedgerByIds(ids)); } + + /** + * 鏌ヨ閿�鍞彴璐︿笉鍒嗛〉 + * + * @param salesLedgerDto + * @return + */ + @GetMapping("/listNoPage") + public AjaxResult listNoPage(SalesLedgerDto salesLedgerDto) { + List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); + return AjaxResult.success(list); + } + + /** + * 閿�鍞彴璐﹂檮浠跺垹闄� + */ + @Log(title = "閿�鍞彴璐﹂檮浠跺垹闄�", businessType = BusinessType.DELETE) + @DeleteMapping("/delLedgerFile") + public AjaxResult delLedgerFile(@RequestBody Long[] ids) { + if (ids == null || ids.length == 0) { + return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + } + return toAjax(commonFileService.deleteSalesLedgerByIds(ids)); + } + + /** + * 鏈湀閿�鍞悎鍚岄噾棰� + */ + @GetMapping("/getContractAmount") + public AjaxResult getContractAmount() { + try { + BigDecimal contractAmount = salesLedgerService.getContractAmount(); + return AjaxResult.success(contractAmount != null ? contractAmount : BigDecimal.ZERO); + } catch (Exception e) { + return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage()); + } + } + + /** + * 瀹㈡埛鍚堝悓閲戦TOP5缁熻 + */ + @GetMapping("/getTopFiveList") + public AjaxResult getTopFiveList() { + return AjaxResult.success(salesLedgerService.getTopFiveList()); + } + + /** + * 杩戝崐骞村紑绁�,鍥炴閲戦 + */ + @GetMapping("/getAmountHalfYear") + public AjaxResult getAmountHalfYear() { + return AjaxResult.success(salesLedgerService.getAmountHalfYear()); + } } -- Gitblit v1.9.3