package cn.iocoder.yudao.module.mes.controller.admin.wm.statistics; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.mes.controller.admin.wm.statistics.vo.MesWmOutboundSummaryRespVO; import cn.iocoder.yudao.module.mes.controller.admin.wm.statistics.vo.MesWmSortSummaryRespVO; import cn.iocoder.yudao.module.mes.service.wm.statistics.MesWmSalesStatisticsService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; import java.util.List; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Tag(name = "管理后台 - MES 销售出库统计") @RestController @RequestMapping("/mes/wm/sales-statistics") @Validated public class MesWmSalesStatisticsController { @Resource private MesWmSalesStatisticsService salesStatisticsService; @GetMapping("/sort-summary") @Operation(summary = "获得分拣出库统计(按仓库汇总已完成分拣任务)") @Parameter(name = "warehouseId", description = "仓库编号,为空表示全部仓库") public CommonResult> getSortSummary( @RequestParam(value = "warehouseId", required = false) Long warehouseId, @RequestParam(value = "beginTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime beginTime, @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endTime) { return success(salesStatisticsService.getSortSummary(warehouseId, beginTime, endTime)); } @GetMapping("/outbound-summary") @Operation(summary = "获得销售出库统计(按物料汇总已完成销售出库单)") @Parameter(name = "itemId", description = "物料编号,为空表示全部物料") public CommonResult> getOutboundSummary( @RequestParam(value = "itemId", required = false) Long itemId, @RequestParam(value = "beginTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime beginTime, @RequestParam(value = "endTime", required = false) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) LocalDateTime endTime) { return success(salesStatisticsService.getOutboundSummary(itemId, beginTime, endTime)); } }