diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/controller/IndexController.java b/ruoyi-admin/src/main/java/com/ruoyi/index/controller/IndexController.java new file mode 100644 index 0000000..e770e1b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/controller/IndexController.java @@ -0,0 +1,97 @@ +package com.ruoyi.index.controller; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import com.ruoyi.index.domain.ViewIndexJob; +import com.ruoyi.index.mapper.ViewIndexJobMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +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.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.index.domain.BillStatusCount; +import com.ruoyi.index.domain.CargoSpaceCount; +import com.ruoyi.index.domain.IndexCount; +import com.ruoyi.index.service.IBillStatusCountService; +import com.ruoyi.index.service.ICargoSpaceCountService; +import com.ruoyi.index.service.IIndexCountService; +import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.service.IMydoJobService; +import com.ruoyi.system.service.ISysDictDataService; + +/** + * 首页统计信息Controller + * + * @author ruoyi + */ +@RestController +@RequestMapping("/index") +public class IndexController extends BaseController { + @Autowired + private IBillStatusCountService billStatusCountService; + + @Autowired + private ICargoSpaceCountService cargoSpaceCountService; + + @Autowired + private IIndexCountService indexCountService; + + @Autowired + private IMydoJobService mydoJobService; + + @Autowired + private ISysDictDataService dictDataService; + + /** + * 查询单据状态统计 + */ + @PreAuthorize("@ss.hasPermi('index:bill:list')") + @GetMapping("/bill/status") + public AjaxResult getBillStatusCount() { + List list = billStatusCountService.selectAllBillStatusCount(); + return success(list); + } + + /** + * 查询各状态货位数量 + */ + @PreAuthorize("@ss.hasPermi('index:cargospace:list')") + @GetMapping("/cargospace/count") + public AjaxResult getCargoSpaceCount() { + CargoSpaceCount cargoSpaceCount = cargoSpaceCountService.selectStatusCount(); + return success(cargoSpaceCount); + } + + /** + * 查询已完成单据数量统计 + */ + @PreAuthorize("@ss.hasPermi('index:count:list')") + @GetMapping("/finishCount") + public AjaxResult getFinishCount() { + IndexCount indexCount = indexCountService.selectFinishCount(); + return success(indexCount); + } + + @Autowired + private ViewIndexJobMapper viewIndexJobMapper; + + + /** + * 获取任务状态统计 + */ + @GetMapping("/job/status") + public AjaxResult getJobStatusCount() { + List allJobs = viewIndexJobMapper.selectViewIndexJobByStatus(null); + Map> result = new HashMap<>(); + result.put("status2", allJobs.stream().filter(job -> "2".equals(job.getStatus())).collect(Collectors.toList())); + result.put("status3", allJobs.stream().filter(job -> "3".equals(job.getStatus())).collect(Collectors.toList())); + return AjaxResult.success(result); + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/controller/WeekJobCountController.java b/ruoyi-admin/src/main/java/com/ruoyi/index/controller/WeekJobCountController.java new file mode 100644 index 0000000..72382d1 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/controller/WeekJobCountController.java @@ -0,0 +1,34 @@ +package com.ruoyi.index.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.index.domain.WeekJobCount; +import com.ruoyi.index.service.IWeekJobCountService; + +/** + * 每周作业数量统计Controller + * + * @author ruoyi + * @date 2025-06-05 + */ +@RestController +@RequestMapping("/index/weekjob") +public class WeekJobCountController +{ + @Autowired + private IWeekJobCountService weekJobCountService; + + /** + * 获取近一周的入库和出库作业数量统计 + */ + @GetMapping("/count") + public AjaxResult getWeekJobCount() + { + WeekJobCount weekJobCount = weekJobCountService.getWeekJobCount(); + return AjaxResult.success(weekJobCount); + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/domain/BillStatusCount.java b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/BillStatusCount.java new file mode 100644 index 0000000..21da387 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/BillStatusCount.java @@ -0,0 +1,18 @@ +package com.ruoyi.index.domain; + +import lombok.Data; + +/** + * 单据状态统计对象 + */ +@Data +public class BillStatusCount { + /** 单据ID */ + private String id; + + /** 单据状态(1:未执行,2:审核中,3:正执行) */ + private String status; + + /** 单据类型(1:入库,2:出库,3:盘点) */ + private String type; +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/domain/CargoSpaceCount.java b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/CargoSpaceCount.java new file mode 100644 index 0000000..bb4b06f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/CargoSpaceCount.java @@ -0,0 +1,19 @@ +package com.ruoyi.index.domain; + +import java.util.List; + +/** + * 货位状态统计对象 + */ +public class CargoSpaceCount { + /** 各状态货位数量 */ + private List statusCounts; + + public List getStatusCounts() { + return statusCounts; + } + + public void setStatusCounts(List statusCounts) { + this.statusCounts = statusCounts; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/domain/IndexCount.java b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/IndexCount.java new file mode 100644 index 0000000..f98e3a4 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/IndexCount.java @@ -0,0 +1,53 @@ +package com.ruoyi.index.domain; + +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 首页统计信息对象 + * + * @author ruoyi + * @date 2025-05-29 + */ +public class IndexCount extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 入库单数量 */ + private Integer stockinCount; + + /** 出库单数量 */ + private Integer stockoutCount; + + /** 盘点单数量 */ + private Integer stockcheckCount; + + public void setStockinCount(Integer stockinCount) + { + this.stockinCount = stockinCount; + } + + public Integer getStockinCount() + { + return stockinCount; + } + + public void setStockoutCount(Integer stockoutCount) + { + this.stockoutCount = stockoutCount; + } + + public Integer getStockoutCount() + { + return stockoutCount; + } + + public void setStockcheckCount(Integer stockcheckCount) + { + this.stockcheckCount = stockcheckCount; + } + + public Integer getStockcheckCount() + { + return stockcheckCount; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/domain/ViewIndexJob.java b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/ViewIndexJob.java new file mode 100644 index 0000000..972ef93 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/ViewIndexJob.java @@ -0,0 +1,83 @@ +package com.ruoyi.index.domain; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 首页任务视图对象 view_index_job + */ +public class ViewIndexJob extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 作业ID */ + @Excel(name = "作业ID") + private String jobId; + + /** 状态 */ + @Excel(name = "状态") + private String status; + + /** 状态标签 */ + @Excel(name = "状态标签") + private String statusLabel; + + /** 任务类型 */ + @Excel(name = "任务类型") + private String inOrOut; + + /** 任务类型标签 */ + @Excel(name = "任务类型标签") + private String inOrOutLabel; + + /** 优先级 */ + @Excel(name = "优先级") + private Integer priority; + + public String getJobId() { + return jobId; + } + + public void setJobId(String jobId) { + this.jobId = jobId; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getStatusLabel() { + return statusLabel; + } + + public void setStatusLabel(String statusLabel) { + this.statusLabel = statusLabel; + } + + public String getInOrOut() { + return inOrOut; + } + + public void setInOrOut(String inOrOut) { + this.inOrOut = inOrOut; + } + + public String getInOrOutLabel() { + return inOrOutLabel; + } + + public void setInOrOutLabel(String inOrOutLabel) { + this.inOrOutLabel = inOrOutLabel; + } + + public Integer getPriority() { + return priority; + } + + public void setPriority(Integer priority) { + this.priority = priority; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/domain/WeekJobCount.java b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/WeekJobCount.java new file mode 100644 index 0000000..90bc870 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/domain/WeekJobCount.java @@ -0,0 +1,38 @@ +package com.ruoyi.index.domain; + +import java.util.List; + +/** + * 每周作业数量统计对象 + * + * @author ruoyi + * @date 2025-06-05 + */ +public class WeekJobCount +{ + /** 入库作业数量列表 */ + private List inJobCounts; + + /** 出库作业数量列表 */ + private List outJobCounts; + + public List getInJobCounts() + { + return inJobCounts; + } + + public void setInJobCounts(List inJobCounts) + { + this.inJobCounts = inJobCounts; + } + + public List getOutJobCounts() + { + return outJobCounts; + } + + public void setOutJobCounts(List outJobCounts) + { + this.outJobCounts = outJobCounts; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/BillStatusCountMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/BillStatusCountMapper.java new file mode 100644 index 0000000..a3ed2db --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/BillStatusCountMapper.java @@ -0,0 +1,30 @@ +package com.ruoyi.index.mapper; + +import java.util.List; +import com.ruoyi.index.domain.BillStatusCount; + +/** + * 单据状态统计Mapper接口 + */ +public interface BillStatusCountMapper { + /** + * 查询入库单据状态统计 + * + * @return 入库单据状态统计列表 + */ + public List selectStockinStatusCount(); + + /** + * 查询出库单据状态统计 + * + * @return 出库单据状态统计列表 + */ + public List selectStockoutStatusCount(); + + /** + * 查询盘点单据状态统计 + * + * @return 盘点单据状态统计列表 + */ + public List selectStockcheckStatusCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/CargoSpaceCountMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/CargoSpaceCountMapper.java new file mode 100644 index 0000000..4c05686 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/CargoSpaceCountMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.index.mapper; + +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; +import java.util.Map; + +/** + * 货位状态统计Mapper接口 + */ +@Mapper +public interface CargoSpaceCountMapper { + /** + * 查询各状态货位数量 + * + * @return 各状态货位数量列表 + */ + public List> selectStatusCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/IndexCountMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/IndexCountMapper.java new file mode 100644 index 0000000..8815c5b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/IndexCountMapper.java @@ -0,0 +1,31 @@ +package com.ruoyi.index.mapper; + +/** + * 首页统计信息Mapper接口 + * + * @author ruoyi + * @date 2025-05-29 + */ +public interface IndexCountMapper +{ + /** + * 查询已完成入库单数量 + * + * @return 入库单数量 + */ + public Integer selectStockinFinishCount(); + + /** + * 查询已完成出库单数量 + * + * @return 出库单数量 + */ + public Integer selectStockoutFinishCount(); + + /** + * 查询已完成盘点单数量 + * + * @return 盘点单数量 + */ + public Integer selectStockcheckFinishCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/ViewIndexJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/ViewIndexJobMapper.java new file mode 100644 index 0000000..fdf94fb --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/ViewIndexJobMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.index.mapper; + +import java.util.List; +import com.ruoyi.index.domain.ViewIndexJob; + +/** + * 首页任务视图Mapper接口 + */ +public interface ViewIndexJobMapper { + /** + * 根据状态查询任务列表 + * + * @param status 任务状态 + * @return 任务列表 + */ + public List selectViewIndexJobByStatus(String status); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/WeekJobCountMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/WeekJobCountMapper.java new file mode 100644 index 0000000..26f7b18 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/mapper/WeekJobCountMapper.java @@ -0,0 +1,31 @@ +package com.ruoyi.index.mapper; + +import java.util.List; +import org.apache.ibatis.annotations.Param; + +/** + * 每周作业数量统计Mapper接口 + * + * @author ruoyi + * @date 2025-06-05 + */ +public interface WeekJobCountMapper +{ + /** + * 查询指定日期范围内每天的入库作业数量 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return 每天的入库作业数量列表 + */ + public List selectInJobCounts(@Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 查询指定日期范围内每天的出库作业数量 + * + * @param startDate 开始日期 + * @param endDate 结束日期 + * @return 每天的出库作业数量列表 + */ + public List selectOutJobCounts(@Param("startDate") String startDate, @Param("endDate") String endDate); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/IBillStatusCountService.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IBillStatusCountService.java new file mode 100644 index 0000000..8e0b2fd --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IBillStatusCountService.java @@ -0,0 +1,16 @@ +package com.ruoyi.index.service; + +import java.util.List; +import com.ruoyi.index.domain.BillStatusCount; + +/** + * 单据状态统计Service接口 + */ +public interface IBillStatusCountService { + /** + * 查询所有类型单据的状态统计 + * + * @return 单据状态统计列表 + */ + public List selectAllBillStatusCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/ICargoSpaceCountService.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/ICargoSpaceCountService.java new file mode 100644 index 0000000..85dd02c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/ICargoSpaceCountService.java @@ -0,0 +1,15 @@ +package com.ruoyi.index.service; + +import com.ruoyi.index.domain.CargoSpaceCount; + +/** + * 货位状态统计Service接口 + */ +public interface ICargoSpaceCountService { + /** + * 查询各状态货位数量 + * + * @return 货位状态统计对象 + */ + public CargoSpaceCount selectStatusCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/IIndexCountService.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IIndexCountService.java new file mode 100644 index 0000000..f17185b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IIndexCountService.java @@ -0,0 +1,19 @@ +package com.ruoyi.index.service; + +import com.ruoyi.index.domain.IndexCount; + +/** + * 首页统计信息Service接口 + * + * @author ruoyi + * @date 2025-05-29 + */ +public interface IIndexCountService +{ + /** + * 查询已完成单据数量统计 + * + * @return 统计结果 + */ + public IndexCount selectFinishCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/IWeekJobCountService.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IWeekJobCountService.java new file mode 100644 index 0000000..b703b43 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/IWeekJobCountService.java @@ -0,0 +1,19 @@ +package com.ruoyi.index.service; + +import com.ruoyi.index.domain.WeekJobCount; + +/** + * 每周作业数量统计Service接口 + * + * @author ruoyi + * @date 2025-06-05 + */ +public interface IWeekJobCountService +{ + /** + * 获取近一周的入库和出库作业数量统计 + * + * @return 近一周的入库和出库作业数量统计 + */ + public WeekJobCount getWeekJobCount(); +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/BillStatusCountServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/BillStatusCountServiceImpl.java new file mode 100644 index 0000000..9a9073f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/BillStatusCountServiceImpl.java @@ -0,0 +1,51 @@ +package com.ruoyi.index.service.impl; + +import java.util.ArrayList; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.index.mapper.BillStatusCountMapper; +import com.ruoyi.index.domain.BillStatusCount; +import com.ruoyi.index.service.IBillStatusCountService; + +/** + * 单据状态统计Service实现 + */ +@Service +public class BillStatusCountServiceImpl implements IBillStatusCountService { + @Autowired + private BillStatusCountMapper billStatusCountMapper; + + /** + * 查询所有类型单据的状态统计 + * + * @return 单据状态统计列表 + */ + @Override + public List selectAllBillStatusCount() { + List resultList = new ArrayList<>(); + + // 查询入库单据状态统计 + List stockinList = billStatusCountMapper.selectStockinStatusCount(); + if (stockinList != null) { + resultList.addAll(stockinList); + } + + // 查询出库单据状态统计 + List stockoutList = billStatusCountMapper.selectStockoutStatusCount(); + if (stockoutList != null) { + resultList.addAll(stockoutList); + } + + // 查询盘点单据状态统计 + List stockcheckList = billStatusCountMapper.selectStockcheckStatusCount(); + if (stockcheckList != null) { + resultList.addAll(stockcheckList); + } + + // 按照status降序排序(3、2、1) + resultList.sort((a, b) -> b.getStatus().compareTo(a.getStatus())); + + return resultList; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/CargoSpaceCountServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/CargoSpaceCountServiceImpl.java new file mode 100644 index 0000000..22298af --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/CargoSpaceCountServiceImpl.java @@ -0,0 +1,50 @@ +package com.ruoyi.index.service.impl; + +import com.ruoyi.index.domain.CargoSpaceCount; +import com.ruoyi.index.mapper.CargoSpaceCountMapper; +import com.ruoyi.index.service.ICargoSpaceCountService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * 货位状态统计Service实现 + */ +@Service +public class CargoSpaceCountServiceImpl implements ICargoSpaceCountService { + @Autowired + private CargoSpaceCountMapper cargoSpaceCountMapper; + + /** + * 查询各状态货位数量 + * + * @return 货位状态统计对象 + */ + @Override + public CargoSpaceCount selectStatusCount() { + // 查询各状态货位数量 + List> statusCounts = cargoSpaceCountMapper.selectStatusCount(); + + // 初始化结果数组,默认所有状态数量为0 + List counts = new ArrayList<>(); + for (int i = 0; i < 6; i++) { + counts.add(0); + } + + // 填充实际统计数量 + for (Map count : statusCounts) { + int status = Integer.parseInt(count.get("status").toString()); + long countValue = Long.parseLong(count.get("count").toString()); + counts.set(status - 1, (int)countValue); + } + + // 封装结果 + CargoSpaceCount result = new CargoSpaceCount(); + result.setStatusCounts(counts); + + return result; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/IndexCountServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/IndexCountServiceImpl.java new file mode 100644 index 0000000..75921ab --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/IndexCountServiceImpl.java @@ -0,0 +1,35 @@ +package com.ruoyi.index.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.index.mapper.IndexCountMapper; +import com.ruoyi.index.domain.IndexCount; +import com.ruoyi.index.service.IIndexCountService; + +/** + * 首页统计信息Service业务层处理 + * + * @author ruoyi + * @date 2025-05-29 + */ +@Service +public class IndexCountServiceImpl implements IIndexCountService +{ + @Autowired + private IndexCountMapper indexCountMapper; + + /** + * 查询已完成单据数量统计 + * + * @return 统计结果 + */ + @Override + public IndexCount selectFinishCount() + { + IndexCount indexCount = new IndexCount(); + indexCount.setStockinCount(indexCountMapper.selectStockinFinishCount()); + indexCount.setStockoutCount(indexCountMapper.selectStockoutFinishCount()); + indexCount.setStockcheckCount(indexCountMapper.selectStockcheckFinishCount()); + return indexCount; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/WeekJobCountServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/WeekJobCountServiceImpl.java new file mode 100644 index 0000000..a3e7381 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/index/service/impl/WeekJobCountServiceImpl.java @@ -0,0 +1,81 @@ +package com.ruoyi.index.service.impl; + +import java.time.DayOfWeek; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import com.ruoyi.index.domain.WeekJobCount; +import com.ruoyi.index.mapper.WeekJobCountMapper; +import com.ruoyi.index.service.IWeekJobCountService; + +/** + * 每周作业数量统计Service业务层处理 + * + * @author ruoyi + * @date 2025-06-05 + */ +@Service +public class WeekJobCountServiceImpl implements IWeekJobCountService +{ + @Autowired + private WeekJobCountMapper weekJobCountMapper; + + /** + * 获取近一周的入库和出库作业数量统计 + * + * @return 近一周的入库和出库作业数量统计 + */ + @Override + public WeekJobCount getWeekJobCount() + { + // 获取当前日期 + LocalDate now = LocalDate.now(); + + // 获取本周一的日期 + LocalDate monday = now.with(DayOfWeek.MONDAY); + + // 获取本周日的日期 + LocalDate sunday = now.with(DayOfWeek.SUNDAY); + + // 格式化日期 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String startDate = monday.format(formatter); + String endDate = sunday.format(formatter); + + // 初始化一周的数组,默认值为0 + List inJobCounts = Arrays.asList(0, 0, 0, 0, 0, 0, 0); + List outJobCounts = Arrays.asList(0, 0, 0, 0, 0, 0, 0); + + // 查询近一周的入库和出库作业数量 + List queryInCounts = weekJobCountMapper.selectInJobCounts(startDate, endDate); + List queryOutCounts = weekJobCountMapper.selectOutJobCounts(startDate, endDate); + + // 如果查询结果不为空,更新对应日期的数量 + if (queryInCounts != null && !queryInCounts.isEmpty()) { + inJobCounts = new ArrayList<>(inJobCounts); + for (int i = 0; i < queryInCounts.size(); i++) { + inJobCounts.set(i, queryInCounts.get(i)); + } + } + + if (queryOutCounts != null && !queryOutCounts.isEmpty()) { + outJobCounts = new ArrayList<>(outJobCounts); + for (int i = 0; i < queryOutCounts.size(); i++) { + outJobCounts.set(i, queryOutCounts.get(i)); + } + } + + // 封装结果 + WeekJobCount weekJobCount = new WeekJobCount(); + weekJobCount.setInJobCounts(inJobCounts); + weekJobCount.setOutJobCounts(outJobCounts); + + return weekJobCount; + } +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/index/BillStatusCountMapper.xml b/ruoyi-admin/src/main/resources/mapper/index/BillStatusCountMapper.xml new file mode 100644 index 0000000..0344afe --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/index/BillStatusCountMapper.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/index/CargoSpaceCountMapper.xml b/ruoyi-admin/src/main/resources/mapper/index/CargoSpaceCountMapper.xml new file mode 100644 index 0000000..bf1ef20 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/index/CargoSpaceCountMapper.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/index/IndexCountMapper.xml b/ruoyi-admin/src/main/resources/mapper/index/IndexCountMapper.xml new file mode 100644 index 0000000..f893692 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/index/IndexCountMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/index/ViewIndexJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/index/ViewIndexJobMapper.xml new file mode 100644 index 0000000..7998f67 --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/index/ViewIndexJobMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/index/WeekJobCountMapper.xml b/ruoyi-admin/src/main/resources/mapper/index/WeekJobCountMapper.xml new file mode 100644 index 0000000..207da0d --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/index/WeekJobCountMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index 99643ed..a8531ba 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = ForTucky WMS system +VUE_APP_TITLE = "ForTucky WMS system" # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index b4893b0..8074604 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = "ForTucky WMS system" # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/src/api/index.js b/ruoyi-ui/src/api/index.js new file mode 100644 index 0000000..b3a037d --- /dev/null +++ b/ruoyi-ui/src/api/index.js @@ -0,0 +1,42 @@ +import request from '@/utils/request' + +// 所有的单据数量 +export function finishCount(query) { + return request({ + url: '/index/finishCount', + method: 'get', + params: query + }) +} +//周出库入库作业数量 +export function weekjob(query) { + return request({ + url: '/index/weekjob/count', + method: 'get', + params: query + }) +} +// 库位统计 +export function cargospace(query) { + return request({ + url: '/index/cargospace/count', + method: 'get', + params: query + }) +} +// 单据列表 +export function billStatus(query) { + return request({ + url: '/index/bill/status', + method: 'get', + params: query + }) +} +//正执行待执行任务 +export function jobStatus(query) { + return request({ + url: '/index/job/status', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/views/dashboard/LineChart.vue b/ruoyi-ui/src/views/dashboard/LineChart.vue index 702ff73..6593719 100644 --- a/ruoyi-ui/src/views/dashboard/LineChart.vue +++ b/ruoyi-ui/src/views/dashboard/LineChart.vue @@ -90,16 +90,15 @@ export default { } }, legend: { - data: ['expected', 'actual'] + data: ['入库', '出库'] }, series: [{ - name: 'expected', itemStyle: { - normal: { - color: '#FF005A', - lineStyle: { - color: '#FF005A', - width: 2 - } + name: '入库', + itemStyle: { + color: '#ff4d00', + lineStyle: { + color: '#ff4d00', + width: 2 } }, smooth: true, @@ -109,21 +108,19 @@ export default { animationEasing: 'cubicInOut' }, { - name: 'actual', + name: '出库', smooth: true, type: 'line', itemStyle: { - normal: { - color: '#3888fa', - lineStyle: { - color: '#3888fa', - width: 2 - }, - areaStyle: { - color: '#f3f8ff' - } + color: '#3f9dfd', + lineStyle: { + color: '#3f9dfd', + width: 2 } }, + areaStyle: { + color: '#f3f8ff' + }, data: actualData, animationDuration: 2800, animationEasing: 'quadraticOut' diff --git a/ruoyi-ui/src/views/dashboard/PieChart.vue b/ruoyi-ui/src/views/dashboard/PieChart.vue index 63f0d84..9708509 100644 --- a/ruoyi-ui/src/views/dashboard/PieChart.vue +++ b/ruoyi-ui/src/views/dashboard/PieChart.vue @@ -1,38 +1,68 @@ - diff --git a/ruoyi-ui/src/views/index_old.vue b/ruoyi-ui/src/views/index_old.vue new file mode 100644 index 0000000..32edbf5 --- /dev/null +++ b/ruoyi-ui/src/views/index_old.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/ruoyi-ui/src/views/kpi/spacePlan/index.vue b/ruoyi-ui/src/views/kpi/spacePlan/index.vue index 218a4ab..82b7200 100644 --- a/ruoyi-ui/src/views/kpi/spacePlan/index.vue +++ b/ruoyi-ui/src/views/kpi/spacePlan/index.vue @@ -97,7 +97,11 @@ this.getWarehouseList() /** 查询仓库列表 */ getWarehouseList() { // TODO: 调用获取仓库列表接口 - listWarehouse().then(response => { + var quaryParam = { + pageNum:1, + pageSize:99 + } + listWarehouse(quaryParam).then(response => { this.warehouseOptions = response.rows; }); // this.warehouseOptions = [{warehouseId: "01", warehouseName: "仓库1"}, {warehouseId: "02", warehouseName: "仓库2"}]; @@ -321,13 +325,13 @@ this.getWarehouseList() formatTooltip(params) { if (params.seriesName !== '满位') { // 排 - if (this.$i18n.locale ==='zh-cn') { + if (this.$i18n.locale ==='zh-cn') { return params.seriesName + '
' + this.queryParams.thePlatoon + '排' + (params.data[0] + 1) + '列' + (params.data[1] + 1) + '层'; } else{ return params.seriesName + '
' + this.$t('KPIAnalysis_CargoPlan.row') + ':' + this.queryParams.thePlatoon + ' ' + this.$t('KPIAnalysis_CargoPlan.column') + ':' + (params.data[0] + 1) + ' ' + this.$t('KPIAnalysis_CargoPlan.floor') + ': ' + (params.data[1] + 1); } - + } const returnData = {