| | |
| | | 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(), "正常")); |
| | | 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(), "正常")); |
| | | 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())) { |
| | | //正常状态 |
| | | 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); |
| | | } |
| | | } |