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<MdcDowntimeMapper, MdcDowntime> implements IMdcDowntimeService {
|
|
@Resource
|
private IMdcEquipmentService mdcEquipmentService;
|
|
/**
|
* 分页列表查询
|
*
|
* @param userId
|
* @param page
|
* @param mdcDowntimeVo
|
* @param req
|
* @return
|
*/
|
@Override
|
public IPage<MdcDowntime> pageList(String userId, Page<MdcDowntime> page, MdcDowntimeVo mdcDowntimeVo, HttpServletRequest req) {
|
// 获取设备ID列表
|
List<String> 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<String> 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);
|
}
|
|
}
|