package com.gunshi.project.ss.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gunshi.project.ss.mapper.InspectTaskMapper; import com.gunshi.project.ss.mapper.JcskByInspectTaskMapper; import com.gunshi.project.ss.common.model.InspectTask; import com.gunshi.project.ss.model.JcskByInspectTask; import com.gunshi.project.ss.common.model.JcskByR; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Slf4j @Transactional(rollbackFor = Exception.class) public class JcskByInspectTaskService extends ServiceImpl { @Autowired private InspectTaskService inspectTaskService; @Autowired private InspectTaskDetailService inspectTaskDetailService; @Autowired private InspectTaskMapper inspectTaskMapper; public InspectTask queryInspectTask(JcskByR record) { InspectTask res = null; LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); //测点编号+开始时间+结束时间 可以唯一确定一条关联数据 queryWrapper.eq(JcskByInspectTask::getOrder, record.getOrder()); queryWrapper.le(JcskByInspectTask::getObDate, record.getObDate()); // 任务开始时间 <= record的开始时间 queryWrapper.ge(JcskByInspectTask::getObResolveDate, record.getObDate()); // 任务结束时间 >= record的开始时间 JcskByInspectTask jcskByInspectTask = this.baseMapper.selectOne(queryWrapper); if (jcskByInspectTask != null) { //获取关联的巡检任务的ID Long inspectTaskId = jcskByInspectTask.getInspectTaskId(); //查询数据 res = inspectTaskService.getById(inspectTaskId); Integer countIsHandle = inspectTaskMapper.countIsHandle(inspectTaskId); Integer countIsNormal = inspectTaskMapper.countIsNormal(inspectTaskId); if(res != null){ res.setProblemNum(countIsNormal); res.setHandleNum(countIsHandle); } } return res; } }