结果判定

This commit is contained in:
2025-10-16 14:52:02 +08:00
parent 7fd6bb5e29
commit 0dd61c6867
5 changed files with 55 additions and 18 deletions

View File

@@ -37,9 +37,9 @@ public class SampleAnalysisAuditController {
}
@GetMapping("/getSampleResultAssessmentList")
public CommonResult<JSONObject> getSampleResultAssessmentList(Long configAssayMethodId) {
public CommonResult<JSONObject> getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) {
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId);
JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId, assessmentStatus);
return success(result);
}

View File

@@ -75,7 +75,7 @@ public class BusinessSubSampleAssessmentDO extends BusinessBaseDO {
/**
* 判定值
*/
@TableField("ASMT_VAL")
@TableField(value = "ASMT_VAL", updateStrategy = FieldStrategy.ALWAYS)
private String assessmentValue;
/**
* 判定状态in_progress-进行中 normal-正常exceeds_tolerance-超差

View File

@@ -54,8 +54,14 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX<BusinessS
.selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName)
.selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName)
.eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId)
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)
);
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId));
}
default BusinessSubSampleAssessmentDO selectByBusinessSubSampleIdAndConfigAssayMethodIdAndConfigAssayMethodProjectId(Long businessSubSampleId, Long configAssayMethodId, Long configAssayMethodProjectId) {
return selectOne(new LambdaQueryWrapperX<BusinessSubSampleAssessmentDO>()
.eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId)
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId)
.eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId, configAssayMethodProjectId));
}
}

View File

@@ -18,7 +18,7 @@ public interface SampleAnalysisAuditService {
void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus);
JSONObject getSampleResultAssessmentList(Long configAssayMethodId);
JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus);
JSONObject getParallelResultAssessment(Long businessSubSampleId, Long configAssayMethodId);

View File

@@ -106,7 +106,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper;
@Override
public JSONObject getSampleResultAssessmentList(Long configAssayMethodId) {
public JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) {
List<ConfigAssayMethodProjectExtendRespVO> configAssayMethodProjectDOList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configAssayMethodId);
List<Map<String, Object>> columnList = new ArrayList<>();
// columnList.add(new HashMap<String, Object>() {{
@@ -163,14 +163,16 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
Map<String,Object> businessAssayTaskDataAssessmentMap = BeanUtil.copyProperties(businessAssayTaskDataMap, Map.class);
businessAssayTaskDataAssessmentMap.put("assayOperator", "判定结果");
businessAssayTaskDataAssessmentMap.put("reportTime", null);
businessAssayTaskDataAssessmentMap.put("assessmentStatus", QmsCommonConstant.IN_PROGRESS);
boolean isExis = dataList.stream().anyMatch(f ->
//查询是否已添加过判定记录
Map<String,Object> assessmentMap = dataList.stream().filter(f ->
Objects.equals(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), f.get("businessSubSampleId")) &&
Objects.equals(businessAssayTaskDataExtendRespVO.getConfigAssayMethodId(), f.get("configAssayMethodId")) &&
"判定结果".equals(f.get("assayOperator"))
);
if (!isExis) {
).findFirst().orElse(null);
//为空则未添加过判定记录
if (assessmentMap == null) {
if ("平行".equals(businessAssayTaskDataExtendRespVO.getAssayType())) {
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessAssayTaskDataExtendRespVO.getBusinessSubSampleId(), configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessment : businessSubSampleAssessmentList) {
@@ -183,17 +185,25 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
//businessTeamAssessmentMapper.selectBy
}
dataList.add(businessAssayTaskDataAssessmentMap);
//赋值
assessmentMap = businessAssayTaskDataAssessmentMap;
}
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataId(businessAssayTaskDataExtendRespVO.getId());
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectData : businessAssayProjectDataList) {
businessAssayTaskDataMap.put(businessAssayProjectData.getSimpleName(), businessAssayProjectData.getValue());
//添加判定状态
businessAssayTaskDataMap.put("assessmentStatus", assessmentMap.get("assessmentStatus"));
}
dataList.add(businessAssayTaskDataMap);
}
if (StringUtils.isNotBlank(assessmentStatus)) {
dataList = dataList.stream().filter(f -> assessmentStatus.equals(f.get("assessmentStatus"))).collect(Collectors.toList());
}
JSONObject json = new JSONObject();
json.put("columns", columnList);
@@ -268,7 +278,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessTeamAssessmentDO> businessTeamAssessmentDOList = new ArrayList<>();
//平行样判定记录
List<BusinessSubSampleAssessmentDO> businessSubSampleAssessmentDOList = new ArrayList<>();
List<BusinessSubSampleAssessmentDO> saveBusinessSubSampleAssessmentDOList = new ArrayList<>();
List<BusinessSubSampleAssessmentDO> updateBusinessSubSampleAssessmentDOList = new ArrayList<>();
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
if (QmsCommonConstant.APPROVE.equals(auditStatus)) {
@@ -310,9 +321,17 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessAssayProjectDataDO> val1 = businessAssayProjectDataDOEntry.getValue();
BusinessAssayProjectDataDO businessAssayProjectDataDO = val1.get(0);
List<ConfigAssayMethodProjectAssessmentDO> configAssayMethodProjectAssessmentDOList = configAssayMethodProjectAssessmentMapper.selectList(new LambdaQueryWrapperX<ConfigAssayMethodProjectAssessmentDO>().eq(ConfigAssayMethodProjectAssessmentDO::getConfigAssayMethodId, businessAssayTaskDataDO.getConfigAssayMethodId()).eq(ConfigAssayMethodProjectAssessmentDO::getConfigAssayMethodProjectId, businessAssayProjectDataDO.getConfigAssayMethodProjectId()));
//查询判定结果数据
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodIdAndConfigAssayMethodProjectId(businessSubSampleId, businessAssayTaskDataDO.getConfigAssayMethodId(), businessAssayProjectDataDO.getConfigAssayMethodProjectId());
if (businessSubSampleAssessmentDO == null) {
businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
saveBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
} else {
updateBusinessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
}
//判定结果数据
BusinessSubSampleAssessmentDO businessSubSampleAssessmentDO = new BusinessSubSampleAssessmentDO();
businessSubSampleAssessmentDO.setBusinessSubSampleId(businessSubSampleId);
businessSubSampleAssessmentDO.setConfigAssayMethodId(businessAssayTaskDataDO.getConfigAssayMethodId());
businessSubSampleAssessmentDO.setConfigAssayMethodProjectId(businessAssayProjectDataDO.getConfigAssayMethodProjectId());
@@ -359,10 +378,10 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
BigDecimal diff = sortedValues.get(i + 1).subtract(sortedValues.get(i)).abs();
if (diff.compareTo(allowValue) > 0) {
businessSubSampleAssessmentDO.setAssessmentStatus(QmsCommonConstant.EXCEEDS_TOLERANCE);
break;
}
}
businessSubSampleAssessmentDOList.add(businessSubSampleAssessmentDO);
}
@@ -406,8 +425,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
businessAssayTaskMapper.updateById(businessAssayTaskDO);
//插入平行判定记录
if (businessSubSampleAssessmentDOList.size() > 0) {
businessSubSampleAssessmentMapper.insertBatch(businessSubSampleAssessmentDOList);
if (saveBusinessSubSampleAssessmentDOList.size() > 0) {
businessSubSampleAssessmentMapper.insertBatch(saveBusinessSubSampleAssessmentDOList);
}
//插入双杯判定记录
@@ -654,6 +673,15 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
newBusinessAssayTaskDataDOList.add(newBusinessAssayTaskDataDO);
}
//修改判定状态
//查询判定值
List<BusinessSubSampleAssessmentExtendRespVO> businessSubSampleAssessmentList = businessSubSampleAssessmentMapper.selectByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
for (BusinessSubSampleAssessmentExtendRespVO businessSubSampleAssessmentExtendRespVO : businessSubSampleAssessmentList) {
businessSubSampleAssessmentExtendRespVO.setAssessmentValue(null);
businessSubSampleAssessmentExtendRespVO.setAssessmentStatus(QmsCommonConstant.IN_PROGRESS);
}
if (newBusinessAssayTaskDataDOList.size() > 0) {
businessAssayTaskDataMapper.insertBatch(newBusinessAssayTaskDataDOList);
}
@@ -663,7 +691,10 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
if (newBusinessAssayParameterDataDOList.size() > 0) {
businessAssayParameterDataMapper.insertBatch(newBusinessAssayParameterDataDOList);
}
if (businessSubSampleAssessmentList.size() > 0) {
List<BusinessSubSampleAssessmentDO> businessSubSampleAssessmentDOList = BeanUtil.copyToList(businessSubSampleAssessmentList, BusinessSubSampleAssessmentDO.class);
businessSubSampleAssessmentMapper.updateBatch(businessSubSampleAssessmentDOList);
}
}