package org.jeecg.modules.eam.controller; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.jeecg.common.api.vo.Result; 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.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; @Slf4j @Api(tags="设备管理-首页看板接口") @RestController @RequestMapping("/eam/dashboard") public class EamDashboardController { @Autowired private IEamEquipmentService eamEquipmentService; @ApiOperation(value="看板接口-维保状态统计", notes="看板接口-维保状态统计") @GetMapping(value = "/equipmentStatusStatistics") public Result equipmentStatusStatistics(@RequestParam(required = false, value = "productionId") String productionId) { List list = eamEquipmentService.queryByProductionId(productionId); //初始化返回 Map 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(), "维修")); for (EamEquipment entity : list) { 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())) { //维修状态 statisticsMap.get(EquipmentRepairStatus.UNDER_REPAIR.name()).increase(); } 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 resultList = new ArrayList<>(statisticsMap.values()); return Result.ok(resultList); } }