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

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("成功");
}
//提交分析
@PostMapping("/submitSampleAnalysisByTaskId")
public CommonResult<?> submitSampleAnalysisByTaskId(Long businessAssayTaskId) {
sampleAnalysisService.submitSampleAnalysisByTaskId(businessAssayTaskId);

View File

@@ -44,4 +44,7 @@ public class BusinessAssayTaskDataExtendRespVO extends BusinessAssayTaskDataResp
private Integer asmtIsRecheck;
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) {
return selectJoinList(BusinessAssayTaskDataExtendRespVO.class, new MPJLambdaWrapperX<BusinessAssayTaskDataDO>()
.leftJoin(BusinessSubSampleDO.class, BusinessSubSampleDO::getId, BusinessAssayTaskDataDO::getBusinessSubSampleId)
.leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessAssayTaskDataDO::getBusinessBaseSampleId)
.selectAll(BusinessAssayTaskDataDO.class)
.selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessAssayTaskDataExtendRespVO::getConfigBaseSampleId)
.selectAs(BusinessSubSampleDO::getConfigSubSampleId, BusinessAssayTaskDataExtendRespVO::getConfigSubSampleId)
.eq(BusinessAssayTaskDataDO::getBusinessAssayTaskId, businessAssayTaskId));
}
@@ -390,6 +392,18 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
.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 List<ConfigSubSampleMethodConfItem> setParam;
/** 分析方法参数取值配置 **/
private List<ConfigSubSampleMethodConfItem> getParam;

View File

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

View File

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