复检结果查询优化

This commit is contained in:
2025-10-29 10:06:35 +08:00
parent 313e80b1b2
commit abd0ff713e
3 changed files with 29 additions and 1 deletions

View File

@@ -49,9 +49,11 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
default List<BusinessSubSampleAssessmentExtendRespVO> selectByBusinessSubParentSampleIdAndConfigAssayMethodId(Long businessSubParentSampleId, Long configAssayMethodId) {
return selectJoinList(BusinessSubSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubSampleAssessmentDO>()
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessSubSampleAssessmentDO::getConfigAssayMethodId)
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubSampleAssessmentDO::getDictionaryProjectId)
.selectAll(BusinessSubSampleAssessmentDO.class)
.selectAs(ConfigAssayMethodDO::getName, BusinessSubSampleAssessmentExtendRespVO::getConfigAssayMethodName)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectUnit)
.selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey)
.selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName)

View File

@@ -32,5 +32,11 @@ public interface BusinessSubSampleParentRecheckMapper extends BaseMapperX<Busine
.eqIfPresent(BusinessSubSampleParentRecheckDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessSubSampleParentRecheckDO::getId));
}
default List<BusinessSubSampleParentRecheckDO> selectByRecheckBusinessSubParentSampleIdsAndRecheckConfigAssayMethodId(List<Long> recheckBusinessSubParentSampleIds, Long recheckConfigAssayMethodId) {
return selectList(new LambdaQueryWrapperX<BusinessSubSampleParentRecheckDO>()
.in(BusinessSubSampleParentRecheckDO::getRecheckBusinessSubParentSampleId, recheckBusinessSubParentSampleIds)
.eq(BusinessSubSampleParentRecheckDO::getRecheckConfigAssayMethodId, recheckConfigAssayMethodId));
}
}

View File

@@ -137,12 +137,16 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
//获取结果判定数据
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentExtendRespVOList = businessSubSampleAssessmentMapper.selectByBusinessSubParentSampleIdsAndConfigAssayMethodId(businessSubParentSampleIds, configAssayMethodId);
//获取复测业务数据
List<BusinessSubSampleParentRecheckDO> businessSubSampleParentRecheckDOList = businessSubSampleParentRecheckMapper.selectByRecheckBusinessSubParentSampleIdsAndRecheckConfigAssayMethodId(businessSubParentSampleIds, configAssayMethodId);
//循环未上报的样品
for (NoReportSubParentSampleAssessmentRespVO noReportSubParentSampleAssessmentRespVO : noReportSubParentSampleAssessmentRespList) {
Map<String, Object> noReportSubParentSampleAssessmentMap = BeanUtil.beanToMap(noReportSubParentSampleAssessmentRespVO);
String sampleCode = businessSubSampleDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).map(m -> m.getSampleAssayCode()).distinct().collect(Collectors.joining(" | "));
noReportSubParentSampleAssessmentMap.put("sampleCode", sampleCode);
Map<String, Object> subSampleAssessmentBeforeMap = BeanUtil.copyProperties(noReportSubParentSampleAssessmentMap, Map.class);
Map<String, Object> subSampleAssessmentMap = BeanUtil.copyProperties(noReportSubParentSampleAssessmentMap, Map.class);
List<BusinessSubParentSampleAssessmentExtendRespVO> curBusinessSubParentSampleAssessmentDOList = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).collect(Collectors.toList());
noReportSubParentSampleAssessmentMap.put("configAssayMethodName", "报出结果");
@@ -150,6 +154,23 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
noReportSubParentSampleAssessmentMap.put(businessSubParentSampleAssessmentDO.getSimpleName(), businessSubParentSampleAssessmentDO.getAssessmentValue());
}
dataList.add(noReportSubParentSampleAssessmentMap);
//复测之前的判定数据
BusinessSubSampleParentRecheckDO businessSubSampleParentRecheckDO = businessSubSampleParentRecheckDOList.stream().filter(f -> f.getRecheckBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).findFirst().orElse(null);
if (businessSubSampleParentRecheckDO != null) {
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentExtendBeforeList = businessSubSampleAssessmentMapper.selectByBusinessSubParentSampleIdAndConfigAssayMethodId(businessSubSampleParentRecheckDO.getBusinessSubParentSampleId(), businessSubSampleParentRecheckDO.getConfigAssayMethodId());
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessmentExtendRespVO : businessSubSampleAssessmentExtendBeforeList) {
subSampleAssessmentBeforeMap.put("configAssayMethodName", businessSubSampleAssessmentExtendRespVO.getConfigAssayMethodName());
subSampleAssessmentBeforeMap.put(businessSubSampleAssessmentExtendRespVO.getSimpleName(), businessSubSampleAssessmentExtendRespVO.getAssessmentValue());
}
dataList.add(subSampleAssessmentBeforeMap);
}
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentExtendRespVOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(noReportSubParentSampleAssessmentRespVO.getBusinessSubParentSampleId())).collect(Collectors.toList());
@@ -158,7 +179,6 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
subSampleAssessmentMap.put(businessSubSampleAssessmentExtendRespVO.getSimpleName(), businessSubSampleAssessmentExtendRespVO.getAssessmentValue());
}
dataList.add(noReportSubParentSampleAssessmentMap);
dataList.add(subSampleAssessmentMap);
}