55 lines
2.3 KiB
Java
55 lines
2.3 KiB
Java
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<JcskByInspectTaskMapper, JcskByInspectTask> {
|
|
|
|
@Autowired
|
|
private InspectTaskService inspectTaskService;
|
|
|
|
@Autowired
|
|
private InspectTaskDetailService inspectTaskDetailService;
|
|
|
|
@Autowired
|
|
private InspectTaskMapper inspectTaskMapper;
|
|
|
|
public InspectTask queryInspectTask(JcskByR record) {
|
|
InspectTask res = null;
|
|
LambdaQueryWrapper<JcskByInspectTask> 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;
|
|
}
|
|
}
|