以下是一个示例的SSM+JSP代码,实现了上述要求的销售记录展示和统计功能:

  1. 销售记录展示和查询功能:

Controller代码:

@Controller
@RequestMapping("/sales")
public class SalesController {

    @Autowired
    private SalesService salesService;

    @RequestMapping("/list")
    public String listSales(Model model, @RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "") String keyword) {
        PageHelper.startPage(pageNum, 10);
        List<Sales> salesList = salesService.getSalesList(keyword);
        PageInfo<Sales> pageInfo = new PageInfo<>(salesList);
        model.addAttribute("pageInfo", pageInfo);
        model.addAttribute("keyword", keyword);
        return "sales/list";
    }
}

JSP页面代码 (list.jsp):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="pagination" uri="http://www.dummy.com/pagination" %>

<html>
<head>
    <title>Sales List</title>
</head>
<body>
    <h1>Sales List</h1>
    <form action="${pageContext.request.contextPath}/sales/list" method="get">
        <input type="text" name="keyword" value="${keyword}" placeholder="Search">
        <button type="submit">Search</button>
    </form>
    <table>
        <tr>
            <th>Product</th>
            <th>Customer</th>
            <th>Region</th>
            <th>Store</th>
            <th>Date</th>
        </tr>
        <c:forEach items="${pageInfo.list}" var="sales">
            <tr>
                <td>${sales.product}</td>
                <td>${sales.customer}</td>
                <td>${sales.region}</td>
                <td>${sales.store}</td>
                <td>${sales.date}</td>
            </tr>
        </c:forEach>
    </table>
    <pagination:pagination pageInfo="${pageInfo}" url="${pageContext.request.contextPath}/sales/list"></pagination:pagination>
</body>
</html>
  1. 年度、月度、周度、日度销售统计功能:

Controller代码:

@Controller
@RequestMapping("/sales")
public class SalesController {

    @Autowired
    private SalesService salesService;

    @RequestMapping("/annualStatistics")
    public String annualStatistics(Model model) {
        List<SalesStatistics> statisticsList = salesService.getAnnualStatistics();
        model.addAttribute("statisticsList", statisticsList);
        return "sales/annualStatistics";
    }

    @RequestMapping("/monthlyStatistics")
    public String monthlyStatistics(Model model) {
        List<SalesStatistics> statisticsList = salesService.getMonthlyStatistics();
        model.addAttribute("statisticsList", statisticsList);
        return "sales/monthlyStatistics";
    }

    @RequestMapping("/weeklyStatistics")
    public String weeklyStatistics(Model model) {
        List<SalesStatistics> statisticsList = salesService.getWeeklyStatistics();
        model.addAttribute("statisticsList", statisticsList);
        return "sales/weeklyStatistics";
    }

    @RequestMapping("/dailyStatistics")
    public String dailyStatistics(Model model) {
        List<SalesStatistics> statisticsList = salesService.getDailyStatistics();
        model.addAttribute("statisticsList", statisticsList);
        return "sales/dailyStatistics";
    }
}

JSP页面代码(annualStatistics.jsp, monthlyStatistics.jsp, weeklyStatistics.jsp, dailyStatistics.jsp):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>

<html>
<head>
    <title>Sales Statistics</title>
</head>
<body>
    <h1>Sales Statistics</h1>
    <table>
        <tr>
            <th>Year</th>
            <th>Total Sales</th>
        </tr>
        <c:forEach items="${statisticsList}" var="statistics">
            <tr>
                <td>${statistics.year}</td>
                <td>${statistics.totalSales}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>
  1. 统计结果导出为Excel文件:

Controller代码:

@Controller
@RequestMapping("/sales")
public class SalesController {

    @Autowired
    private SalesService salesService;

    @RequestMapping("/exportExcel")
    public ResponseEntity<byte[]> exportExcel() throws IOException {
        List<Sales> salesList = salesService.getSalesList("");
        byte[] excelBytes = salesService.exportToExcel(salesList);
        HttpHeaders headers = new HttpHeaders();
        headers.setContentDispositionFormData("attachment", "sales.xlsx");
        headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        return new ResponseEntity<>(excelBytes, headers, HttpStatus.OK);
    }
}

SalesService代码:

@Service
public class SalesService {

    public List<Sales> getSalesList(String keyword) {
        // 查询销售记录并按照最近的数据展示在第一条
        // ...
    }

    public List<SalesStatistics> getAnnualStatistics() {
        // 年度销售统计
        // ...
    }

    public List<SalesStatistics> getMonthlyStatistics() {
        // 月度销售统计
        // ...
    }

    public List<SalesStatistics> getWeeklyStatistics() {
        // 周度销售统计
        // ...
    }

    public List<SalesStatistics> getDailyStatistics() {
        // 日度销售统计
        // ...
    }

    public byte[] exportToExcel(List<Sales> salesList) throws IOException {
        // 将销售记录导出为Excel文件
        // ...
    }
}

注意:以上代码仅为示例,实际应根据具体业务需求进行调整和完善。

1	销售记录展示带分页功能、模糊查询产品、客户、区域、门店、日期、最近的数据展示在第一条;2	年度销售统计功能按钮;3	月度销售统计功能按钮;4	周度销售统计功能按钮;5	日度销售统计功能按钮;6	统计结果导出为Excel文件。用ssm+jsp代码

原文地址: https://www.cveoy.top/t/topic/jb9v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录