From 53bdb26a0ae994418e92d93aab23d6f5e7225f37 Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期一, 19 五月 2025 16:20:56 +0800 Subject: [PATCH] 产品 --- src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | 134 +++++++++++++++++++++++++++----------------- 1 files changed, 82 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java index 1f871d6..d21a2dd 100644 --- a/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java +++ b/src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java @@ -1,49 +1,53 @@ package com.ruoyi.sales.controller; -import java.util.List; -import javax.servlet.http.HttpServletResponse; - import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.sales.pojo.SalesLedger; -import com.ruoyi.sales.service.ISalesLedgerService; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; 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.SalesLedgerDto; +import com.ruoyi.sales.pojo.SalesLedger; +import com.ruoyi.sales.service.ICommonFileService; +import com.ruoyi.sales.service.ISalesLedgerService; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.util.List; /** * 閿�鍞彴璐ontroller - * + * * @author ruoyi * @date 2025-05-08 */ @RestController @RequestMapping("/sales/ledger") -public class SalesLedgerController extends BaseController -{ - @Autowired +@AllArgsConstructor +public class SalesLedgerController extends BaseController { + private ISalesLedgerService salesLedgerService; + + private ICommonFileService commonFileService; /** * 鏌ヨ閿�鍞彴璐﹀垪琛� */ @GetMapping("/list") - public TableDataInfo list(SalesLedger salesLedger) - { + public TableDataInfo list(SalesLedgerDto salesLedgerDto) { startPage(); - List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedger); + List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); return getDataTable(list); + } + + /** + * 鏌ヨ閿�鍞彴璐﹀拰浜у搧鐖跺瓙鍒楄〃 + */ + @GetMapping("/getSalesLedgerWithProducts") + public SalesLedgerDto getSalesLedgerWithProducts(SalesLedgerDto salesLedgerDto) { + return salesLedgerService.getSalesLedgerWithProducts(salesLedgerDto); } /** @@ -51,49 +55,75 @@ */ @Log(title = "閿�鍞彴璐�", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, SalesLedger salesLedger) - { - List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedger); + public void export(HttpServletResponse response, SalesLedgerDto salesLedgerDto) { + List<SalesLedger> list = salesLedgerService.selectSalesLedgerList(salesLedgerDto); ExcelUtil<SalesLedger> util = new ExcelUtil<SalesLedger>(SalesLedger.class); util.exportExcel(response, list, "閿�鍞彴璐︽暟鎹�"); } /** - * 鑾峰彇閿�鍞彴璐﹁缁嗕俊鎭� - */ - @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { - return success(salesLedgerService.selectSalesLedgerById(id)); - } - - /** - * 鏂板閿�鍞彴璐� + * 鏂板淇敼閿�鍞彴璐� */ @Log(title = "閿�鍞彴璐�", businessType = BusinessType.INSERT) - @PostMapping ("/insertSalesLedger") - public AjaxResult add(@RequestBody SalesLedger salesLedger) - { - return toAjax(salesLedgerService.insertSalesLedger(salesLedger)); - } - - /** - * 淇敼閿�鍞彴璐� - */ - @Log(title = "閿�鍞彴璐�", businessType = BusinessType.UPDATE) - @PostMapping ("/updateSalesLedger") - public AjaxResult edit(@RequestBody SalesLedger salesLedger) - { - return toAjax(salesLedgerService.updateSalesLedger(salesLedger)); + @PostMapping("/addOrUpdateSalesLedger") + public AjaxResult add(@RequestBody SalesLedgerDto salesLedgerDto) { + return toAjax(salesLedgerService.addOrUpdateSalesLedger(salesLedgerDto)); } /** * 鍒犻櫎閿�鍞彴璐� */ @Log(title = "閿�鍞彴璐�", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { + @DeleteMapping("/delLedger") + public AjaxResult remove(@RequestBody Long[] ids) { + if (ids == null || ids.length == 0) { + return AjaxResult.error("璇蜂紶鍏ヨ鍒犻櫎鐨処D"); + } 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 amount = salesLedgerService.getContractAmount(); + return AjaxResult.success(amount != null ? amount : BigDecimal.ZERO); + } catch (Exception e) { + return AjaxResult.error("鑾峰彇鍚堝悓閲戦澶辫触锛�" + e.getMessage()); + } + } + + /** + * 瀹㈡埛鍚堝悓閲戦TOP5缁熻 + */ + @GetMapping("/getTopFiveList") + public AjaxResult getTopFiveList() { + return AjaxResult.success(salesLedgerService.getTopFiveList()); + } } -- Gitblit v1.9.3