比对预检测

This commit is contained in:
caozehui
2025-08-11 08:36:19 +08:00
parent f520234e55
commit c16c1f8e1d
33 changed files with 1393 additions and 630 deletions

View File

@@ -13,13 +13,13 @@ public interface DetectionDataDealService extends IReplenishMybatisService<SimAn
Boolean acceptAdNon(List<SimAndDigNonHarmonicResult> SimAndDigNonHarmonicResultList,String code);
Boolean acceptAdNon(List<? extends BaseResult> nonHarmonicResultList,String code);
Boolean acceptAd(List<SimAndDigHarmonicResult> SimAndDigHarmonicResultList,String code);
Boolean acceptAd(List<? extends BaseResult> harmonicResultList,String code);
Boolean acceptNonHarmonicResult(List<? extends BaseResult> nonHarmonicResultList, String code);
Boolean acceptAdResult(List<SimAndDigHarmonicResult> SimAndDigHarmonicResultList,String code);
Boolean acceptHarmonicResult(List<? extends BaseResult> SimAndDigHarmonicResultList,String code);
/**
* 根据终端id查询终端所有监测项目是否合格

View File

@@ -6,13 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
import com.njcn.db.mybatisplus.service.impl.ReplenishMybatisServiceImpl;
import com.njcn.gather.storage.mapper.DetectionDataDealMapper;
import com.njcn.gather.storage.pojo.po.BaseResult;
import com.njcn.gather.storage.pojo.po.ContrastNonHarmonicResult;
import com.njcn.gather.storage.pojo.po.SimAndDigHarmonicResult;
import com.njcn.gather.storage.pojo.po.SimAndDigNonHarmonicResult;
import com.njcn.gather.storage.service.ContrastNonHarmonicService;
import com.njcn.gather.storage.service.DetectionDataDealService;
import com.njcn.gather.storage.service.SimAndDigNonHarmonicService;
import com.njcn.gather.storage.pojo.po.*;
import com.njcn.gather.storage.service.*;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -32,42 +27,81 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<DetectionDataDealMapper, SimAndDigHarmonicResult> implements DetectionDataDealService {
private final SimAndDigNonHarmonicService adNonHarmonicService;
private final SimAndDigNonHarmonicService simAndDigNonHarmonicService;
private final SimAndDigHarmonicService simAndDigHarmonicService;
private final ContrastNonHarmonicService contrastNonHarmonicService;
private final ContrastHarmonicService contrastHarmonicService;
private final DetectionDataDealMapper detectionDataDealMapper;
@Override
@Transactional
public Boolean acceptAdNon(List<SimAndDigNonHarmonicResult> SimAndDigNonHarmonicResultList, String code) {
String adNonTable = "ad_non_harmonic_";
DynamicTableNameHandler.setTableName(adNonTable + code);
List<String> monitorIds = SimAndDigNonHarmonicResultList.stream().map(SimAndDigNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
adNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigNonHarmonicResult::getScriptId, SimAndDigNonHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigNonHarmonicResult::getSort, SimAndDigNonHarmonicResultList.get(0).getSort()));
adNonHarmonicService.saveBatch(SimAndDigNonHarmonicResultList, 100);
public Boolean acceptAdNon(List<? extends BaseResult> nonHarmonicResultList, String code) {
if (CollUtil.isNotEmpty(nonHarmonicResultList)) {
String adNonTable = "ad_non_harmonic_";
DynamicTableNameHandler.setTableName(adNonTable + code);
if (nonHarmonicResultList.get(0) instanceof SimAndDigNonHarmonicResult) {
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
List<String> monitorIds = simAndDigNonHarmonicResults.stream().map(SimAndDigNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResults.get(0).getScriptId())
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResults.get(0).getSort()));
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResults, 100);
}
}
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, ContrastNonHarmonicResult.class);
List<String> monitorIds = contrastNonHarmonicResults.stream().map(ContrastNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
contrastNonHarmonicService.remove(new LambdaQueryWrapper<ContrastNonHarmonicResult>().in(ContrastNonHarmonicResult::getMonitorId, monitorIds)
.eq(ContrastNonHarmonicResult::getErrorId, contrastNonHarmonicResults.get(0).getErrorId())
.eq(ContrastNonHarmonicResult::getNum, contrastNonHarmonicResults.get(0).getNum()));
contrastNonHarmonicService.saveBatch(contrastNonHarmonicResults, 100);
}
}
DynamicTableNameHandler.remove();
return true;
}
DynamicTableNameHandler.remove();
return true;
return false;
}
@Override
@Transactional
public Boolean acceptAd(List<SimAndDigHarmonicResult> SimAndDigHarmonicResultList, String code) {
String adTable = "ad_harmonic_";
DynamicTableNameHandler.setTableName(adTable + code);
List<String> monitorIds = SimAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
this.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigHarmonicResult::getScriptId, SimAndDigHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigHarmonicResult::getSort, SimAndDigHarmonicResultList.get(0).getSort()));
this.saveBatch(SimAndDigHarmonicResultList, 100);
public Boolean acceptAd(List<? extends BaseResult> harmonicResultList, String code) {
if (CollUtil.isEmpty(harmonicResultList)) {
String adTable = "ad_harmonic_";
DynamicTableNameHandler.setTableName(adTable + code);
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList, 100);
}
}
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
List<String> monitorIds = contrastHarmonicResultList.stream().map(ContrastHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
contrastHarmonicService.remove(new LambdaQueryWrapper<ContrastHarmonicResult>().in(ContrastHarmonicResult::getMonitorId, monitorIds)
.eq(ContrastHarmonicResult::getErrorId, contrastHarmonicResultList.get(0).getErrorId())
.eq(ContrastHarmonicResult::getNum, contrastHarmonicResultList.get(0).getNum()));
contrastHarmonicService.saveBatch(contrastHarmonicResultList, 100);
}
}
DynamicTableNameHandler.remove();
return true;
}
DynamicTableNameHandler.remove();
return true;
return false;
}
@Override
@@ -80,10 +114,10 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResultList = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
List<String> monitorIds = simAndDigNonHarmonicResultList.stream().map(SimAndDigNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
adNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResultList.get(0).getSort()));
adNonHarmonicService.saveBatch(simAndDigNonHarmonicResultList, 100);
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResultList, 100);
}
}
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
@@ -103,18 +137,35 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
@Override
@Transactional
public Boolean acceptAdResult(List<SimAndDigHarmonicResult> simAndDigHarmonicResultList, String code) {
String adTableResult = "ad_harmonic_result_";
DynamicTableNameHandler.setTableName(adTableResult + code);
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
this.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
this.saveBatch(simAndDigHarmonicResultList, 100);
public Boolean acceptHarmonicResult(List<? extends BaseResult> harmonicResultList, String code) {
if (CollUtil.isNotEmpty(harmonicResultList)) {
String adTableResult = "ad_harmonic_result_";
DynamicTableNameHandler.setTableName(adTableResult + code);
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList, 100);
}
}
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
List<String> monitorIds = contrastHarmonicResultList.stream().map(ContrastHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
if (CollUtil.isNotEmpty(monitorIds)) {
contrastHarmonicService.remove(new LambdaQueryWrapper<ContrastHarmonicResult>().in(ContrastHarmonicResult::getMonitorId, monitorIds)
.eq(ContrastHarmonicResult::getErrorId, contrastHarmonicResultList.get(0).getErrorId())
.eq(ContrastHarmonicResult::getNum, contrastHarmonicResultList.get(0).getNum()));
contrastHarmonicService.saveBatch(contrastHarmonicResultList, 100);
}
}
DynamicTableNameHandler.remove();
return true;
}
DynamicTableNameHandler.remove();
return true;
return false;
}
@Override
@@ -123,7 +174,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
List<SimAndDigNonHarmonicResult> noHarm = new ArrayList<>();
for (String id : ids) {
DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code);
noHarm.addAll(adNonHarmonicService.list(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>()
noHarm.addAll(simAndDigNonHarmonicService.list(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>()
.like(SimAndDigNonHarmonicResult::getMonitorId, id)
.notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), SimAndDigNonHarmonicResult::getSort, disabledScriptDtlIndexs)
.in(CollUtil.isNotEmpty(valueType), SimAndDigNonHarmonicResult::getAdType, valueType)