package org.jeecg.modules.mdc.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.vo.MdcCommonVo; import org.jeecg.modules.system.entity.MdcProduction; import org.jeecg.modules.system.service.IMdcProductionService; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; /** * @author Lius * @Description: MDC首页接口 * @date 2024/3/13 14:27 */ @Slf4j @Api(tags = "MDC首页接口") @RestController @RequestMapping("/mdc/home") public class MdcHomeController { @Resource private IMdcEquipmentService mdcEquipmentService; @Resource private IMdcProductionService mdcProductionService; @ApiOperation(value = "MDC首页接口-设备运行状态统计", notes = "MDC首页接口-设备运行状态统计") @GetMapping("/equipmentStatusStatistics") public Result equipmentStatusStatistics(String productionCode) { LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); Integer userType = user.getUserType(); String userId = user.getId(); String key = ""; if (StringUtils.isNotBlank(productionCode)) { //厂区 MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper().eq(MdcProduction::getProductionCode, productionCode).eq(MdcProduction::getDelFlag, CommonConstant.DEL_FLAG_0.toString())); key = mdcProduction.getId(); } else { //判断是公司级还是厂区 MdcProduction mdcProduction = mdcProductionService.getOne(new LambdaQueryWrapper().eq(MdcProduction::getParentId, "")); if (userType.equals(MdcConstant.USER_TYPE_4)) { //公司 key = mdcProduction.getId(); } else if (userType.equals(MdcConstant.USER_TYPE_3)) { //厂区 key = mdcProductionService.findFirstProduction(userId, mdcProduction.getId()); } } List resultMap = mdcEquipmentService.getEquipmentStatusStatistics(userId, key); return Result.OK(resultMap); } }