package com.gunshi.project.xyt.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.xyt.entity.dto.InspectItemDto; import com.gunshi.project.xyt.entity.so.AttCctvBasePage; import com.gunshi.project.xyt.mapper.InspectItemMapper; import com.gunshi.project.xyt.mapper.InspectTaskDetailMapper; import com.gunshi.project.xyt.model.InspectItem; import com.gunshi.project.xyt.model.InspectTaskDetail; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Objects; /** * 描述: 巡检项 * author: xusan * date: 2024-08-29 09:58:10 */ @Service @Slf4j @Transactional(rollbackFor = Exception.class) public class InspectItemService extends ServiceImpl { @Autowired private InspectTaskDetailMapper taskDetailMapper; public Page pageQuery(AttCctvBasePage page) { LambdaQueryWrapper query = Wrappers.lambdaQuery(); if (ObjectUtils.isNotNull(page.getMenuId())) { query.eq(InspectItem::getPointId, page.getMenuId()); } query.orderByAsc(InspectItem::getStatus).orderByAsc(InspectItem::getOrderIndex); Page res = this.page(page.getPageSo().toPage(), query); return res; } public String startStop(InspectItemDto dto) { Integer status = dto.getStatus(); InspectItem item = super.getById(dto.getId()); if (item == null) { throw new IllegalArgumentException("当前数据不存在"); } item.setStatus(status); boolean flag = super.updateById(item); if (flag) { return status == 0 ? "启用成功" : "禁用成功"; } return status == 0 ? "启用失败" : "禁用失败"; } public Boolean delData(Long id) { if (Objects.isNull(this.getById(id))) { throw new IllegalArgumentException("当前数据不存在"); } Long count = taskDetailMapper.selectCount(new QueryWrapper().eq("item_id", id)); if(count > 0){ throw new IllegalArgumentException("该巡检项已被巡检任务使用,不可删除"); } return this.removeById(id); } }