IndexController.java 3.18 KB
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;
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;

/**
 * @author zhongnanhuang
 * @version 1.0
 * @project order-erp
 * @description 首页
 * @date 2023/10/23 16:44:55
 */
@RestController
@RequestMapping("/order/erp/index")
public class IndexController {

    @Resource
    OrderBaseInfoService orderBaseInfoService;

    @Resource
    OrderInspectionStageService orderInspectionStageService;

    @Resource
    OrderProfitAnalysisService orderProfitAnalysisService;

    @Resource
    OrderCompletionReportService orderCompletionReportService;

    @GetMapping("/data")
    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());

        //当天订单数据
        IndexDataVO.ChartData chartData = orderBaseInfoService.countHoursFromDay();

        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);
        indexDataVo.setChartData(chartData);

        return ServerResult.success(indexDataVo);
    }
}