任务分配及分析任务提交时配料值赋值

This commit is contained in:
2026-02-04 16:17:51 +08:00
parent 8121c7a97f
commit 5a82d9abd8
8 changed files with 278 additions and 102 deletions

View File

@@ -71,6 +71,7 @@ public class SampleAnalysisController implements BusinessControllerMarker {
return success("成功"); return success("成功");
} }
//提交分析
@PostMapping("/submitSampleAnalysisByTaskId") @PostMapping("/submitSampleAnalysisByTaskId")
public CommonResult<?> submitSampleAnalysisByTaskId(Long businessAssayTaskId) { public CommonResult<?> submitSampleAnalysisByTaskId(Long businessAssayTaskId) {
sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId); sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId);

View File

@@ -44,4 +44,7 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
private Integer asmtIsRecheck; private Integer asmtIsRecheck;
private String asmtReportedStatus; private String asmtReportedStatus;
@Schema(description = "配料信息")
private String ingredientInfo;
} }

View File

@@ -374,9 +374,11 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
*/ */
default List<BusinessAssayTaskDataExtendRespVO> selectExtendByBusinessAssayTaskId(Long businessAssayTaskId) { default List<BusinessAssayTaskDataExtendRespVO> selectExtendByBusinessAssayTaskId(Long businessAssayTaskId) {
return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX<BusinessAssayTaskDataDO>() return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX<BusinessAssayTaskDataDO>()
.leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleId)
.leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayTaskDataDO::getBusinessBaseSampleId) .leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayTaskDataDO::getBusinessBaseSampleId)
.selectAll(BusinessAssayTaskDataDO.class) .selectAll(BusinessAssayTaskDataDO.class)
.selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessAssayTaskDataExtendRespVO::getConfigBaseSampleId) .selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessAssayTaskDataExtendRespVO::getConfigBaseSampleId)
.selectAs(BusinessSubSampleDO::getConfigSubSampleId, BusinessAssayTaskDataExtendRespVO::getConfigSubSampleId)
.eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId)); .eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId));
} }
@@ -390,6 +392,18 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
.eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId)); .eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId));
} }
/**
* 根据子样及分析方法Key查询分析任务
* @param businessSubSampleId 子样id
* @param methodKey 分析方法key
* @return
*/
default List<BusinessAssayTaskDataDO> selectByBusinessSubSampleIdAndMethodKey(Long businessSubSampleId, String methodKey) {
String inSql = "SELECT tcam.ID FROM T_CFG_ASY_MTHD tcam WHERE tcam.DELETED = 0 AND tcam.DIC_BSN_KY = '" + methodKey + "'";
return selectList(new LambdaQueryWrapperX<BusinessAssayTaskDataDO>()
.eq(BusinessAssayTaskDataDO::getBusinessSubSampleId, businessSubSampleId)
.inSql(BusinessAssayTaskDataDO::getConfigAssayMethodId, inSql));
}
/** /**
* 根据子样及分析部门查询分析任务 * 根据子样及分析部门查询分析任务

View File

@@ -10,6 +10,9 @@ public class ConfigSubSampleMethodConfInfo {
/** 添加分析任务 **/ /** 添加分析任务 **/
private ConfigSubSampleMethodConfAdd addAssayTask; private ConfigSubSampleMethodConfAdd addAssayTask;
/** 分析方法参数设置值配置 **/
private List<ConfigSubSampleMethodConfItem> setParam;
/** 分析方法参数取值配置 **/ /** 分析方法参数取值配置 **/
private List<ConfigSubSampleMethodConfItem> getParam; private List<ConfigSubSampleMethodConfItem> getParam;

View File

@@ -8,7 +8,10 @@ public class ConfigSubSampleMethodConfPoint {
/** 分析方法id **/ /** 分析方法id **/
private Long methodId; private Long methodId;
/** 检测项目 **/ /** 分析方法Key **/
private String methodKey;
/** 检测项目,多个以“,”号分割 **/
private String project; private String project;
/** 参数 **/ /** 参数 **/

View File

@@ -154,13 +154,18 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService {
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : downIngredients) { for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : downIngredients) {
if (configSubSampleMethodConfItem.getRequired()) { if (configSubSampleMethodConfItem.getRequired()) {
ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource(); ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
String project = source.getProject(); List<String> projectList = Arrays.asList(source.getProject().split(","));//来源可以有多个
String parameter = source.getParameter(); for (String project : projectList) {
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = currentBusinessAssayProjectDataList.stream().filter(f -> f.getSimpleName().equals(project)).findFirst().orElse(null); String parameter = source.getParameter();
BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null); BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = currentBusinessAssayProjectDataList.stream().filter(f -> f.getSimpleName().equals(project)).findFirst().orElse(null);
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget(); BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
String field = target.getField(); if (StringUtils.isNotBlank(currentBusinessAssayParameterData.getValue())) {
BeanUtil.setFieldValue(autoIngredientsTaskDetailRespVO, field, currentBusinessAssayParameterData.getValue()); ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
String field = target.getField();
BeanUtil.setFieldValue(autoIngredientsTaskDetailRespVO, field, currentBusinessAssayParameterData.getValue());
break;
}
}
} }
} }
} }
@@ -239,19 +244,19 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService {
// System.out.println("fieldValue:" + fieldValue); // System.out.println("fieldValue:" + fieldValue);
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget(); ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
String project = target.getProject(); List<String> projectList = Arrays.asList(target.getProject().split(","));//目标可以有多个
for (String project : projectList) {
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(autoIngredientsTaskDetailAssayResultReqVO.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null); BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(autoIngredientsTaskDetailAssayResultReqVO.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null);
String parameter = target.getParameter(); String parameter = target.getParameter();
if (StringUtils.isBlank(parameter)) { if (StringUtils.isBlank(parameter)) {
currentBusinessAssayProjectData.setValue(fieldValue.toString()); currentBusinessAssayProjectData.setValue(fieldValue.toString());
updateBusinessAssayProjectDataDOList.add(BeanUtils.toBean(currentBusinessAssayProjectData, BusinessAssayProjectDataDO.class)); updateBusinessAssayProjectDataDOList.add(BeanUtils.toBean(currentBusinessAssayProjectData, BusinessAssayProjectDataDO.class));
} else { } else {
BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null); BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
currentBusinessAssayParameterData.setValue(fieldValue.toString()); currentBusinessAssayParameterData.setValue(fieldValue.toString());
updateBusinessAssayParameterDataDOList.add(BeanUtils.toBean(currentBusinessAssayParameterData, BusinessAssayParameterDataDO.class)); updateBusinessAssayParameterDataDOList.add(BeanUtils.toBean(currentBusinessAssayParameterData, BusinessAssayParameterDataDO.class));
}
} }
} }
} }
} }