diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java index 0ff6cc3..2296d08 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisAuditController.java @@ -37,9 +37,9 @@ public class SampleAnalysisAuditController { } @GetMapping("/getSampleResultAssessmentList") - public CommonResult getSampleResultAssessmentList(Long configAssayMethodId) { + public CommonResult getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus) { - JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId); + JSONObject result = sampleAnalysisAuditService.getSampleResultAssessmentList(configAssayMethodId, assessmentStatus); return success(result); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java index 0eab1b2..b5ad86e 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/dataobject/BusinessSubSampleAssessmentDO.java @@ -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-超差 diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java index 9a731ae..98cdd3a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessSubSampleAssessmentMapper.java @@ -54,8 +54,14 @@ public interface BusinessSubSampleAssessmentMapper extends BaseMapperX() + .eq(BusinessSubSampleAssessmentDO::getBusinessSubSampleId, businessSubSampleId) + .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId) + .eq(BusinessSubSampleAssessmentDO::getConfigAssayMethodProjectId, configAssayMethodProjectId)); } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java index 4a11e07..cc3244c 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditService.java @@ -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); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java index 4f0dead..e3ac076 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisAuditServiceImpl.java @@ -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 configAssayMethodProjectDOList = configAssayMethodProjectMapper.selectByConfigAssayMethodId(configAssayMethodId); List> columnList = new ArrayList<>(); // columnList.add(new HashMap() {{ @@ -163,14 +163,16 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic Map 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 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 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 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 businessTeamAssessmentDOList = new ArrayList<>(); //平行样判定记录 - List businessSubSampleAssessmentDOList = new ArrayList<>(); + List saveBusinessSubSampleAssessmentDOList = new ArrayList<>(); + List updateBusinessSubSampleAssessmentDOList = new ArrayList<>(); BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId); if (QmsCommonConstant.APPROVE.equals(auditStatus)) { @@ -310,9 +321,17 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic List val1 = businessAssayProjectDataDOEntry.getValue(); BusinessAssayProjectDataDO businessAssayProjectDataDO = val1.get(0); List configAssayMethodProjectAssessmentDOList = configAssayMethodProjectAssessmentMapper.selectList(new LambdaQueryWrapperX().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 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 businessSubSampleAssessmentDOList = BeanUtil.copyToList(businessSubSampleAssessmentList, BusinessSubSampleAssessmentDO.class); + businessSubSampleAssessmentMapper.updateBatch(businessSubSampleAssessmentDOList); + } }