Blame view

src/main/java/com/order/erp/controller/IndexController.java 3.78 KB
1
2
3
4
5
6
7
8
9
package com.order.erp.controller;

import com.order.erp.common.constant.ServerResult;
import com.order.erp.domain.OrderStatusEnum;
import com.order.erp.domain.vo.IndexDataVO;
import com.order.erp.service.order.OrderBaseInfoService;
import com.order.erp.service.order.OrderCompletionReportService;
import com.order.erp.service.order.OrderInspectionStageService;
import com.order.erp.service.order.OrderProfitAnalysisService;
谢茂盛 authored
10
11
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
12
13
14
15
16
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
17
18
import java.util.List;
import java.util.Map;
19
20
21
22
23
24
25
26

/**
 * @author zhongnanhuang
 * @version 1.0
 * @project order-erp
 * @description 首页
 * @date 2023/10/23 16:44:55
 */
谢茂盛 authored
27
@Api(tags = "首页")
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
@RestController
@RequestMapping("/order/erp/index")
public class IndexController {

    @Resource
    OrderBaseInfoService orderBaseInfoService;

    @Resource
    OrderInspectionStageService orderInspectionStageService;

    @Resource
    OrderProfitAnalysisService orderProfitAnalysisService;

    @Resource
    OrderCompletionReportService orderCompletionReportService;

    @GetMapping("/data")
谢茂盛 authored
45
    @ApiOperation("首页统计数据")
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
    public ServerResult getData(){
        //订单总完成数
        long orderTotalFinished = orderBaseInfoService.countByOrderStatus(OrderStatusEnum.ORDER_FINISH.getStatus());
        //订单当月完成数
        long orderRecentMonthFinished = orderBaseInfoService.countRecentMonthByOrderStatus(OrderStatusEnum.ORDER_FINISH.getStatus());


        //跟单和质检中
        long inspecting  = orderInspectionStageService.countByOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus());
        long recentMonthInspecting  = orderInspectionStageService.countRecentMonthByOrderStatus(OrderStatusEnum.INSPECT_ING.getStatus());

        //利润分析表待审核
        long orderProfitWaitAudit = orderProfitAnalysisService.countByOrderStatus(OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus());
        long orderRecentWeekProfitWaitAudit = orderProfitAnalysisService.countRecentWeekByOrderStatus(OrderStatusEnum.PROFIT_WAIT_AUDIT.getStatus());

        //项目报告书待审核
        long orderReport = orderCompletionReportService.countByOrderStatus(OrderStatusEnum.REPORT_WAIT_AUDIT.getStatus());
        long orderYearReport = orderCompletionReportService.countYearByOrderStatus(OrderStatusEnum.REPORT_WAIT_AUDIT.getStatus());
65
66
67
68
        //总订单数
        long orderCount = orderBaseInfoService.countAll();
        //近一年订单数
        long orderRecentYearCount = orderBaseInfoService.countRecentYear();
69
70
71
72
73
74
75
76
77
78

        IndexDataVO indexDataVo = new IndexDataVO();
        indexDataVo.setOrderFinishedCount(orderTotalFinished);
        indexDataVo.setOrderRecentMonthFinishedCount(orderRecentMonthFinished);
        indexDataVo.setOrderInspectingCount(inspecting);
        indexDataVo.setOrderRecentMonthInspectingCount(recentMonthInspecting);
        indexDataVo.setOrderProfitWaitAuditCount(orderProfitWaitAudit);
        indexDataVo.setOrderRecentWeekProfitWaitAuditCount(orderRecentWeekProfitWaitAudit);
        indexDataVo.setOrderReportWaitAuditCount(orderReport);
        indexDataVo.setOrderReportRecentYearWaitAuditCount(orderYearReport);
79
80
        indexDataVo.setOrderCount(orderCount);
        indexDataVo.setOrderRecentYearCount(orderRecentYearCount);
81
82
83

        return ServerResult.success(indexDataVo);
    }
84
85

    @GetMapping("/chartData")
谢茂盛 authored
86
    @ApiOperation("首页订单趋势")
87
88
89
90
91
    public ServerResult getChartData(){
        //订单趋势数据
        List<Map<String,Integer>> chartData = orderBaseInfoService.countDaysOrder();
        return ServerResult.success(chartData);
    }
92
}