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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; 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; import java.util.List; import java.util.Map; /** * @author zhongnanhuang * @version 1.0 * @project order-erp * @description 首页 * @date 2023/10/23 16:44:55 */ @Api(tags = "首页") @RestController @RequestMapping("/order/erp/index") public class IndexController { @Resource OrderBaseInfoService orderBaseInfoService; @Resource OrderInspectionStageService orderInspectionStageService; @Resource OrderProfitAnalysisService orderProfitAnalysisService; @Resource OrderCompletionReportService orderCompletionReportService; @GetMapping("/data") @ApiOperation("首页统计数据") 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()); //总订单数 long orderCount = orderBaseInfoService.countAll(); //近一年订单数 long orderRecentYearCount = orderBaseInfoService.countRecentYear(); 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.setOrderCount(orderCount); indexDataVo.setOrderRecentYearCount(orderRecentYearCount); return ServerResult.success(indexDataVo); } @GetMapping("/chartData") @ApiOperation("首页订单趋势") public ServerResult getChartData(){ //订单趋势数据 List<Map<String,Integer>> chartData = orderBaseInfoService.countDaysOrder(); return ServerResult.success(chartData); } }