From 665ffec07abac9fa14e7613fe1c73922a537ff77 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期二, 06 五月 2025 16:00:19 +0800 Subject: [PATCH] art: 设备管理-看板接口-维修统计接口 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java | 63 +++++++++++++++++++++++-------- 1 files changed, 47 insertions(+), 16 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java index 70b8ebd..109ffa9 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamDashboardController.java @@ -4,56 +4,87 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; +import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.EquipmentMaintenanceStatus; import org.jeecg.modules.eam.constant.EquipmentRepairStatus; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.service.IEamEquipmentService; -import org.jeecg.modules.eam.vo.EquipmentMaintenanceStatistics; +import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.jeecg.modules.eam.vo.EquipmentRepairStatistics; +import org.jeecg.modules.eam.vo.EquipmentStatusStatistics; 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.RequestParam; import org.springframework.web.bind.annotation.RestController; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.time.LocalDate; +import java.util.*; @Slf4j -@Api(tags="璁惧绠$悊-棣栭〉鐪嬫澘鎺ュ彛") +@Api(tags = "璁惧绠$悊-棣栭〉鐪嬫澘鎺ュ彛") @RestController @RequestMapping("/eam/dashboard") public class EamDashboardController { @Autowired private IEamEquipmentService eamEquipmentService; + @Autowired + private IEamReportRepairService reportRepairService; - @ApiOperation(value="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�", notes="鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�") + @ApiOperation(value = "鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�", notes = "鐪嬫澘鎺ュ彛-缁翠繚鐘舵�佺粺璁�") @GetMapping(value = "/equipmentStatusStatistics") public Result<?> equipmentStatusStatistics(@RequestParam(required = false, value = "productionId") String productionId) { List<EamEquipment> list = eamEquipmentService.queryByProductionId(productionId); //鍒濆鍖栬繑鍥� - Map<String, EquipmentMaintenanceStatistics> statisticsMap = new HashMap<>(); - statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "姝e父")); - statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "鐐规")); - statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentMaintenanceStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "淇濆吇")); - statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentMaintenanceStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "缁翠慨")); + Map<String, EquipmentStatusStatistics> statisticsMap = new HashMap<>(); + statisticsMap.put(EquipmentMaintenanceStatus.NORMAL.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.NORMAL.name(), "姝e父")); + statisticsMap.put(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.UNDER_INSPECTION.name(), "鐐规")); + statisticsMap.put(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), new EquipmentStatusStatistics(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name(), "淇濆吇")); + statisticsMap.put(EquipmentRepairStatus.UNDER_REPAIR.name(), new EquipmentStatusStatistics(EquipmentRepairStatus.UNDER_REPAIR.name(), "缁翠慨")); for (EamEquipment entity : list) { - if(EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { + if (EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getMaintenanceStatus()) && EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { //姝e父鐘舵�� statisticsMap.get(EquipmentMaintenanceStatus.NORMAL.name()).increase(); - }else if(!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { + } else if (!EquipmentMaintenanceStatus.NORMAL.name().equals(entity.getRepairStatus())) { //缁翠慨鐘舵�� statisticsMap.get(EquipmentRepairStatus.UNDER_REPAIR.name()).increase(); - } else if(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) { + } else if (EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) || EquipmentMaintenanceStatus.WAIT_CONFIRM.name().equals(entity.getMaintenanceStatus())) { //淇濆吇鐘舵�� statisticsMap.get(EquipmentMaintenanceStatus.UNDER_MAINTENANCE.name()).increase(); } else { statisticsMap.get(EquipmentMaintenanceStatus.UNDER_INSPECTION.name()).increase(); } } - List<EquipmentMaintenanceStatistics> resultList = new ArrayList<>(statisticsMap.values()); + List<EquipmentStatusStatistics> resultList = new ArrayList<>(statisticsMap.values()); + return Result.ok(resultList); + } + + @ApiOperation(value = "鐪嬫澘鎺ュ彛-缁翠慨缁熻", notes = "鐪嬫澘鎺ュ彛-缁翠慨缁熻") + @GetMapping(value = "/equipmentRepairStatistics") + public Result<?> equipmentRepairStatistics(@RequestParam(required = false, value = "productionId") String productionId) { + //缁熻缁撴潫鏃ユ湡 + LocalDate today = LocalDate.now(); + LocalDate localDate = today.minusMonths(5); + //缁熻寮�濮嬫棩鏈� + LocalDate firstOfMonth = DateUtils.getFirstOfMonth(localDate); + + //鍒濆鍖栬繑鍥炲�� + Map<String, EquipmentRepairStatistics> statisticsMap = new HashMap<>(); + List<String> monthsBetween = DateUtils.getMonthsBetween(firstOfMonth, today); + monthsBetween.forEach(month -> { + statisticsMap.put(month, new EquipmentRepairStatistics(month)); + }); + + List<EquipmentRepairStatistics> list = reportRepairService.equipmentRepairStatistics(productionId, firstOfMonth, today); + for (EquipmentRepairStatistics statistics : list) { + if (statisticsMap.containsKey(statistics.getMonthStr())) { + statisticsMap.put(statistics.getMonthStr(), statistics); + } + } + List<EquipmentRepairStatistics> resultList = new ArrayList<>(statisticsMap.values()); + //鎺掑簭 + resultList.sort(Comparator.comparing(EquipmentRepairStatistics::getMonthStr)); return Result.ok(resultList); } } -- Gitblit v1.9.3