From bc84930d80e48d5546182f6c9f60534062600392 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=AB=E7=8C=ABguowen?= <9290821+guowen-the-cat@user.noreply.gitee.com> Date: Wed, 11 Jun 2025 15:50:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A7=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/JobStatisticsController.java | 36 ++++++++ .../mapper/JobStatisticsMapper.java | 14 ++- .../api/service/IJobStatisticsService.java | 20 ++++ .../impl/JobStatisticsServiceImpl.java | 91 +++++++++++++++++++ .../controller/JobStatisticsController.java | 53 ----------- .../service/IJobStatisticsService.java | 24 ----- .../impl/JobStatisticsServiceImpl.java | 63 ------------- .../job/mydojob/mapper/MydoJobMapper.java | 8 +- .../mapper/api/JobStatisticsMapper.xml | 15 ++- .../resources/mapper/job/MydoJobMapper.xml | 5 + 10 files changed, 186 insertions(+), 143 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/controller/JobStatisticsController.java rename ruoyi-admin/src/main/java/com/ruoyi/api/{statistics => }/mapper/JobStatisticsMapper.java (61%) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/service/IJobStatisticsService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/JobStatisticsServiceImpl.java delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/statistics/controller/JobStatisticsController.java delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/IJobStatisticsService.java delete mode 100644 ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/impl/JobStatisticsServiceImpl.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/JobStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/JobStatisticsController.java new file mode 100644 index 0000000..43a19db --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/JobStatisticsController.java @@ -0,0 +1,36 @@ +package com.ruoyi.api.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.api.service.IJobStatisticsService; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 作业统计 Controller + */ +@RestController +@RequestMapping("/api") +public class JobStatisticsController { + + @Autowired + private IJobStatisticsService jobStatisticsService; + + /** + * 获取统计数据,包含: + * 1. 当日入库和出库数量统计 + * 2. 货位状态统计 + * 3. 当前任务列表 + */ + @GetMapping("/daily") + public AjaxResult getDailyStatistics() { + Map result = jobStatisticsService.getDailyStatistics(); + return AjaxResult.success(result); + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/mapper/JobStatisticsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/api/mapper/JobStatisticsMapper.java similarity index 61% rename from ruoyi-admin/src/main/java/com/ruoyi/api/statistics/mapper/JobStatisticsMapper.java rename to ruoyi-admin/src/main/java/com/ruoyi/api/mapper/JobStatisticsMapper.java index eb2c895..7db96da 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/mapper/JobStatisticsMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/mapper/JobStatisticsMapper.java @@ -1,6 +1,8 @@ -package com.ruoyi.api.statistics.mapper; +package com.ruoyi.api.mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; /** * 作业统计 Mapper 接口 @@ -22,4 +24,14 @@ public interface JobStatisticsMapper { * @return 出库数量 */ public int selectDailyOutCount(@Param("createTime") String createTime); + + /** + * 查询当月每日入库出库统计 + * + * @param year 年份 + * @param month 月份 + * @return 每日入库出库统计列表 + */ + public List> selectMonthlyStatistics(@Param("year") int year, @Param("month") int month); + } \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IJobStatisticsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IJobStatisticsService.java new file mode 100644 index 0000000..5a4cdf8 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IJobStatisticsService.java @@ -0,0 +1,20 @@ +package com.ruoyi.api.service; + +import com.ruoyi.common.core.domain.AjaxResult; +import java.util.Map; + +/** + * 作业统计 Service 接口 + */ +public interface IJobStatisticsService { + + /** + * 获取统计数据,包含: + * 1. 当日入库和出库数量统计 + * 2. 货位状态统计 + * 3. 当前任务列表 + * + * @return 统计结果 + */ + public Map getDailyStatistics(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/JobStatisticsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/JobStatisticsServiceImpl.java new file mode 100644 index 0000000..ff01129 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/JobStatisticsServiceImpl.java @@ -0,0 +1,91 @@ +package com.ruoyi.api.service.impl; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.api.service.IJobStatisticsService; +import com.ruoyi.api.mapper.JobStatisticsMapper; +import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper; +import com.ruoyi.job.mydojob.mapper.MydoJobMapper; +import com.ruoyi.job.mydojob.domain.MydoJob; + +/** + * 作业统计 Service 实现 + */ +@Service +public class JobStatisticsServiceImpl implements IJobStatisticsService { + + @Autowired + private JobStatisticsMapper jobStatisticsMapper; + + @Autowired + private BasCargoSpaceMapper basCargoSpaceMapper; + + @Autowired + private MydoJobMapper mydoJobMapper; + + /** + * 获取当日入库和出库数量统计 + */ + @Override + public Map getDailyStatistics() { + // 获取当前日期 + String today = DateUtils.getDate(); + + // 查询当日入库数量 + int inCount = jobStatisticsMapper.selectDailyInCount(today); + + // 查询当日出库数量 + int outCount = jobStatisticsMapper.selectDailyOutCount(today); + + // 获取货位状态统计 + List> statusCounts = basCargoSpaceMapper.selectStatusCount(); + List> cargoSpaceStatus = new ArrayList<>(); + Map statusNameMap = new HashMap<>(); + statusNameMap.put("1", "空货位"); + statusNameMap.put("2", "满货位"); + statusNameMap.put("3", "入库已分配"); + statusNameMap.put("4", "出库已分配"); + statusNameMap.put("5", "入库需盘点"); + statusNameMap.put("6", "出库需盘点"); + + for (Map.Entry entry : statusNameMap.entrySet()) { + Map item = new HashMap<>(); + String status = entry.getKey(); + item.put("name", entry.getValue()); + item.put("value", 0); + for (Map count : statusCounts) { + if (status.equals(String.valueOf(count.get("status")))) { + item.put("value", count.get("count")); + break; + } + } + cargoSpaceStatus.add(item); + } + + // 获取当前任务列表 + List currentTasks = mydoJobMapper.selectCurrentTasks(); + + // 获取当前年月 + int year = Integer.parseInt(DateUtils.dateTimeNow("yyyy")); + int month = Integer.parseInt(DateUtils.dateTimeNow("MM")); + + // 获取当月每日统计数据 + List> dailyStats = jobStatisticsMapper.selectMonthlyStatistics(year, month); + + // 返回统计结果 + Map result = new HashMap<>(); + result.put("drrk", String.valueOf(inCount)); + result.put("drck", String.valueOf(outCount)); + result.put("cargoSpaceStatus", cargoSpaceStatus); + result.put("currentTask", currentTasks); + result.put("statistic", dailyStats); + return result; + } + + +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/controller/JobStatisticsController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/controller/JobStatisticsController.java deleted file mode 100644 index c64696f..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/controller/JobStatisticsController.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.ruoyi.api.statistics.controller; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.common.core.domain.AjaxResult; -import com.ruoyi.api.statistics.service.IJobStatisticsService; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * 作业统计 Controller - */ -@RestController -@RequestMapping("/api/statistics") -public class JobStatisticsController { - - @Autowired - private IJobStatisticsService jobStatisticsService; - - /** - * 获取当日入库和出库数量统计,以及货位状态统计 - */ - @GetMapping("/daily") - public AjaxResult getDailyStatistics() { - Map result = jobStatisticsService.getDailyStatistics(); - Map statusCount = jobStatisticsService.getCargoSpaceStatusCount(); - - // 将状态统计转换为饼图所需的格式 - List> pieData = new ArrayList<>(); - Map statusMap = new HashMap<>(); - statusMap.put("1", "空货位"); - statusMap.put("2", "满货位"); - statusMap.put("3", "入库分配"); - statusMap.put("4", "出库分配"); - statusMap.put("5", "入库需盘点"); - statusMap.put("6", "出库需盘点"); - - for (Map.Entry entry : statusMap.entrySet()) { - Map item = new HashMap<>(); - item.put("name", entry.getValue()); - item.put("value", statusCount.getOrDefault(entry.getKey(), 0)); - pieData.add(item); - } - - result.put("pie", pieData); - return AjaxResult.success(result); - } -} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/IJobStatisticsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/IJobStatisticsService.java deleted file mode 100644 index 7ee2710..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/IJobStatisticsService.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.ruoyi.api.statistics.service; - -import com.ruoyi.common.core.domain.AjaxResult; -import java.util.Map; - -/** - * 作业统计 Service 接口 - */ -public interface IJobStatisticsService { - - /** - * 获取当日入库和出库数量统计 - * - * @return 统计结果 - */ - public Map getDailyStatistics(); - - /** - * 获取货位状态统计 - * - * @return 状态统计结果,key为状态值,value为数量 - */ - public Map getCargoSpaceStatusCount(); -} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/impl/JobStatisticsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/impl/JobStatisticsServiceImpl.java deleted file mode 100644 index e185eea..0000000 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/statistics/service/impl/JobStatisticsServiceImpl.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.ruoyi.api.statistics.service.impl; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.common.utils.DateUtils; -import com.ruoyi.api.statistics.service.IJobStatisticsService; -import com.ruoyi.api.statistics.mapper.JobStatisticsMapper; -import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper; - -/** - * 作业统计 Service 实现 - */ -@Service -public class JobStatisticsServiceImpl implements IJobStatisticsService { - - @Autowired - private JobStatisticsMapper jobStatisticsMapper; - - @Autowired - private BasCargoSpaceMapper basCargoSpaceMapper; - - /** - * 获取当日入库和出库数量统计 - */ - @Override - public Map getDailyStatistics() { - // 获取当前日期 - String today = DateUtils.getDate(); - - // 查询当日入库数量 - int inCount = jobStatisticsMapper.selectDailyInCount(today); - - // 查询当日出库数量 - int outCount = jobStatisticsMapper.selectDailyOutCount(today); - - // 返回统计结果 - Map result = new HashMap<>(); - result.put("drrk", String.valueOf(inCount)); - result.put("drck", String.valueOf(outCount)); - return result; - } - - /** - * 获取货位状态统计 - */ - @Override - public Map getCargoSpaceStatusCount() { - List> statusCounts = basCargoSpaceMapper.selectStatusCount(); - Map result = new HashMap<>(); - - // 将查询结果转换为所需格式 - for (Map count : statusCounts) { - String status = String.valueOf(count.get("status")); - Object countValue = count.get("count"); - result.put(status, countValue); - } - - return result; - } -} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index 035af2c..95468aa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -9,8 +9,14 @@ import com.ruoyi.job.mydojob.domain.MydoJob; * @author ruoyi * @date 2025-05-23 */ -public interface MydoJobMapper +public interface MydoJobMapper { + /** + * 查询当前任务列表 + * + * @return 当前任务列表 + */ + public List selectCurrentTasks(); /** * 查询任务表 * diff --git a/ruoyi-admin/src/main/resources/mapper/api/JobStatisticsMapper.xml b/ruoyi-admin/src/main/resources/mapper/api/JobStatisticsMapper.xml index 10fb8e8..709a9d8 100644 --- a/ruoyi-admin/src/main/resources/mapper/api/JobStatisticsMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/api/JobStatisticsMapper.xml @@ -2,7 +2,7 @@ - + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml index 033f30f..5098ec1 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobMapper.xml @@ -196,4 +196,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{jobId} + +