package org.jeecg.modules.mdc.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; import org.jeecg.modules.mdc.entity.MdcDowntime; import org.jeecg.modules.mdc.mapper.MdcDowntimeMapper; import org.jeecg.modules.mdc.service.IMdcDowntimeService; import org.jeecg.modules.mdc.service.IMdcEquipmentService; import org.jeecg.modules.mdc.vo.MdcDowntimeVo; import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * @Description: 待机停机表 * @Author: lius * @Date: 2025-03-12 */ @Service public class MdcDowntimeServiceImpl extends ServiceImpl implements IMdcDowntimeService { @Resource private IMdcEquipmentService mdcEquipmentService; /** * 分页列表查询 * * @param userId * @param page * @param mdcDowntimeVo * @param req * @return */ @Override public IPage pageList(String userId, Page page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req) { // 获取设备ID列表 List equipmentIds = getEquipmentIds(userId, mdcDowntimeVo); // 如果设备ID列表为空,直接返回空分页 if (equipmentIds == null || equipmentIds.isEmpty()) { return new Page<>(page.getCurrent(), page.getSize(), 0); } // 设置设备ID列表到查询条件中 mdcDowntimeVo.setEquipmentIdList(equipmentIds); // 执行分页查询 return this.baseMapper.pageList(page, mdcDowntimeVo); } private List getEquipmentIds(String userId, MdcDowntimeVo mdcDowntimeVo) { if (StringUtils.isNotEmpty(mdcDowntimeVo.getEquipmentId())) { return Collections.singletonList(mdcDowntimeVo.getEquipmentId()); } if (StringUtils.isNotEmpty(mdcDowntimeVo.getParentId())) { return "2".equals(mdcDowntimeVo.getTypeTree()) ? mdcEquipmentService.getEquipmentIdsByDepart(userId, mdcDowntimeVo.getParentId()) : mdcEquipmentService.getEquipmentIdsProduction(userId, mdcDowntimeVo.getParentId()); } return "2".equals(mdcDowntimeVo.getTypeTree()) ? mdcEquipmentService.getEquipmentIdsByDepart(userId, null) : mdcEquipmentService.getEquipmentIdsProduction(userId, null); } }