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

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

@@ -1,17 +1,30 @@
package com.zt.plat.module.qms.business.bus.service; package com.zt.plat.module.qms.business.bus.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.alibaba.fastjson2.JSON;
import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
@@ -35,6 +48,15 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
@Resource @Resource
private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
@Resource
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
@Resource
private BusinessAssayParameterDataMapper businessAssayParameterDataMapper;
@Resource
private ConfigSubSampleMethodMapper configSubSampleMethodMapper;
@Override @Override
public BusinessAssayTaskDataRespVO createBusinessAssayTaskData(BusinessAssayTaskDataSaveReqVO createReqVO) { public BusinessAssayTaskDataRespVO createBusinessAssayTaskData(BusinessAssayTaskDataSaveReqVO createReqVO) {
// 插入 // 插入
@@ -100,12 +122,86 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
@Override @Override
public List<BusinessAssayTaskDataExtendRespVO> getBusinessAssayTaskDataList(BusinessAssayTaskDataReqVO reqVO) { public List<BusinessAssayTaskDataExtendRespVO> getBusinessAssayTaskDataList(BusinessAssayTaskDataReqVO reqVO) {
return businessAssayTaskDataMapper.selectList(reqVO); List<BusinessAssayTaskDataExtendRespVO> list = businessAssayTaskDataMapper.selectList(reqVO);
List<Long> configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).collect(Collectors.toList());
List<ConfigSubSampleMethodExtendRespVO> configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, reqVO.getConfigAssayMethodId());
List<Long> businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
List<Long> businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目参数
List<BusinessAssayParameterDataExtendRespVO> businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : list) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessAssayTaskData.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskData.getConfigAssayMethodId())).findFirst().orElse(null);
String configInfomation = configSubSampleMethod.getConfigInfomation();
if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
List<ConfigSubSampleMethodConfItem> getParamList = configSubSampleMethodConfInfo.getGetParam();
StringBuilder ingredientInfoBuilder = new StringBuilder();
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : getParamList) {
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
List<String> projectList = Arrays.asList(target.getProject().split(","));//来源可以有多个
for (String project : projectList) {
String parameter = target.getParameter();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && 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 (currentBusinessAssayParameterData != null && StringUtils.isNotBlank(currentBusinessAssayParameterData.getValue())) {
ingredientInfoBuilder.append(currentBusinessAssayParameterData.getParameterName()).append("").append(currentBusinessAssayParameterData.getValue()).append("");
break;
}
}
}
if (ingredientInfoBuilder.length() > 0) {
ingredientInfoBuilder.delete(ingredientInfoBuilder.length() - 1, ingredientInfoBuilder.length());
}
businessAssayTaskData.setIngredientInfo(ingredientInfoBuilder.toString());
}
}
return list;
} }
@Override @Override
public PageResult<BusinessAssayTaskDataExtendRespVO> getBusinessAssayTaskDataPage(BusinessAssayTaskDataPageReqVO pageReqVO) { public PageResult<BusinessAssayTaskDataExtendRespVO> getBusinessAssayTaskDataPage(BusinessAssayTaskDataPageReqVO pageReqVO) {
return businessAssayTaskDataMapper.selectPage(pageReqVO); PageResult<BusinessAssayTaskDataExtendRespVO> page = businessAssayTaskDataMapper.selectPage(pageReqVO);
List<BusinessAssayTaskDataExtendRespVO> list = page.getList();
List<Long> configSubSampleIdList = list.stream().map(m -> m.getConfigSubSampleId()).collect(Collectors.toList());
List<ConfigSubSampleMethodExtendRespVO> configSubSampleMethodList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, pageReqVO.getConfigAssayMethodId());
List<Long> businessAssayTaskDataIdList = list.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
List<Long> businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目参数
List<BusinessAssayParameterDataExtendRespVO> businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : list) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessAssayTaskData.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskData.getConfigAssayMethodId())).findFirst().orElse(null);
String configInfomation = configSubSampleMethod.getConfigInfomation();
if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
List<ConfigSubSampleMethodConfItem> getParamList = configSubSampleMethodConfInfo.getGetParam();
StringBuilder ingredientInfoBuilder = new StringBuilder();
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : getParamList) {
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
List<String> projectList = Arrays.asList(target.getProject().split(","));//来源可以有多个
for (String project : projectList) {
String parameter = target.getParameter();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && 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 (currentBusinessAssayParameterData != null && StringUtils.isNotBlank(currentBusinessAssayParameterData.getValue())) {
ingredientInfoBuilder.append(currentBusinessAssayParameterData.getParameterName()).append("").append(currentBusinessAssayParameterData.getValue()).append("");
break;
}
}
}
if (ingredientInfoBuilder.length() > 0) {
ingredientInfoBuilder.delete(ingredientInfoBuilder.length() - 1, ingredientInfoBuilder.length());
}
businessAssayTaskData.setIngredientInfo(ingredientInfoBuilder.toString());
}
}
return page;
} }
} }

View File

@@ -21,7 +21,6 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray; import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.common.exception.ServiceException; import com.zt.plat.framework.common.exception.ServiceException;
import com.zt.plat.framework.common.util.date.DateUtils;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.security.core.LoginUser; import com.zt.plat.framework.security.core.LoginUser;
@@ -85,7 +84,6 @@ import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleMethodDO;
import com.zt.plat.module.qms.business.config.dal.mapper.BaseSampleMapper; import com.zt.plat.module.qms.business.config.dal.mapper.BaseSampleMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectCoefficientMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectCoefficientMapper;
@@ -98,9 +96,7 @@ import com.zt.plat.module.qms.common.dic.controller.vo.DictionaryBusinessExtendR
import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper; import com.zt.plat.module.qms.common.dic.dal.mapper.DictionaryBusinessMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@@ -663,9 +659,10 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
String sourceProject = source.getProject(); String sourceProject = source.getProject();
//String sourceParameter = source.getParameter(); //String sourceParameter = source.getParameter();
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();//目标 ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();//目标
String targetProject = target.getProject();
List<String> projectList = Arrays.asList(target.getProject().split(","));//目标可以有多个
for (String targetProject : projectList) {
String targetParameter = target.getParameter(); String targetParameter = target.getParameter();
BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(businessAssayTaskDataDO.getId(), targetProject, targetParameter); BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(businessAssayTaskDataDO.getId(), targetProject, targetParameter);
@@ -744,6 +741,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
} }
} }
} }
}
Map<String, Object> map = new HashedMap<>(); Map<String, Object> map = new HashedMap<>();
@@ -1275,8 +1273,56 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
businessAssayTaskDO.setFinishStatus(QmsCommonConstant.IN_PROGRESS); businessAssayTaskDO.setFinishStatus(QmsCommonConstant.IN_PROGRESS);
businessAssayTaskDO.setFlowStatus(QmsCommonConstant.IN_PROGRESS); businessAssayTaskDO.setFlowStatus(QmsCommonConstant.IN_PROGRESS);
//设置参数值
List<BusinessAssayParameterDataDO> updateBusinessAssayParameterDataList = new ArrayList<>();
List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataExtendList = businessAssayTaskDataMapper.selectExtendByBusinessAssayTaskId(businessAssayTaskId); List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataExtendList = businessAssayTaskDataMapper.selectExtendByBusinessAssayTaskId(businessAssayTaskId);
//查询检测项目
List<Long> businessAssayTaskDataIdList = businessAssayTaskDataExtendList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataExtendList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
//子样配置id列表
List<Long> configSubSampleIdList = businessAssayTaskDataExtendList.stream().map(m -> m.getConfigSubSampleId()).distinct().collect(Collectors.toList());
//子样方法配置列表
List<ConfigSubSampleMethodExtendRespVO> configSubSampleMethodDOList = configSubSampleMethodMapper.selectByConfigSubSampleIdsAndConfigAssayMethodId(configSubSampleIdList, businessAssayTaskDO.getConfigAssayMethodId());
//循环任务,赋值
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : businessAssayTaskDataExtendList) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodDOList.stream().filter(f -> f.getConfigBaseSampleId().equals(businessAssayTaskData.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskData.getConfigAssayMethodId())).findFirst().orElse(null);
String configInfomation = configSubSampleMethod.getConfigInfomation();
if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
List<ConfigSubSampleMethodConfItem> setParamList = configSubSampleMethodConfInfo.getSetParam();
String methodKey = setParamList.stream().map(m -> m.getTarget().getMethodKey()).distinct().findFirst().orElse(null);
List<BusinessAssayTaskDataDO> targetBusinessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndMethodKey(businessAssayTaskData.getBusinessSubSampleId(), methodKey);
List<Long> targetBusinessAssayTaskDataIdList = targetBusinessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<BusinessAssayProjectDataExtendRespVO> targetBusinessAssayProjectDataExtendList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(targetBusinessAssayTaskDataIdList);
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : setParamList) {
ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
String project = source.getProject();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataExtendList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null);
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
for (BusinessAssayTaskDataDO targetBusinessAssayTaskData : targetBusinessAssayTaskDataList) {
List<String> targetProjectList = Arrays.asList(target.getProject().split(","));
String targetParameter = target.getParameter();
for (String targetProject : targetProjectList) {
BusinessAssayProjectDataExtendRespVO targetBusinessAssayProjectData = targetBusinessAssayProjectDataExtendList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(targetBusinessAssayTaskData.getId()) && f.getSimpleName().equals(targetProject)).findFirst().orElse(null);
BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(targetBusinessAssayProjectData.getId(), targetProject, targetParameter);
if (businessAssayParameterDataDO != null) {
businessAssayParameterDataDO.setValue(currentBusinessAssayProjectData.getValue());
updateBusinessAssayParameterDataList.add(businessAssayParameterDataDO);
}
}
}
}
}
}
//补正系数列表 //补正系数列表
List<ConfigAssayMethodProjectCoefficientDO> configAssayMethodProjectCoefficientList = new ArrayList<>(); List<ConfigAssayMethodProjectCoefficientDO> configAssayMethodProjectCoefficientList = new ArrayList<>();
if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) {//如果是需要配料,并且是人工配料的 if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) {//如果是需要配料,并且是人工配料的
@@ -1284,8 +1330,6 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
configAssayMethodProjectCoefficientList = configAssayMethodProjectCoefficientMapper.selectByConfigBaseSampleIds(configBaseSampleIdList); configAssayMethodProjectCoefficientList = configAssayMethodProjectCoefficientMapper.selectByConfigBaseSampleIds(configBaseSampleIdList);
} }
List<Long> businessAssayTaskDataIdList = businessAssayTaskDataExtendList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataExtendList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtend : businessAssayProjectDataExtendList) { for (BusinessAssayProjectDataExtendRespVO businessAssayProjectDataExtend : businessAssayProjectDataExtendList) {
if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) { if (businessAssayTaskDO.getIsIngredients().equals(QmsCommonConstant.YES) && QmsCommonConstant.MANUAL.equals(businessAssayTaskDO.getIngredientsWay())) {
ConfigAssayMethodProjectCoefficientDO configAssayMethodProjectCoefficientDO = configAssayMethodProjectCoefficientList.stream().filter(f -> ConfigAssayMethodProjectCoefficientDO configAssayMethodProjectCoefficientDO = configAssayMethodProjectCoefficientList.stream().filter(f ->
@@ -1313,6 +1357,10 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList); businessAssayProjectDataMapper.updateBatch(businessAssayProjectDataList);
} }
if (updateBusinessAssayParameterDataList.size() > 0) {
businessAssayParameterDataMapper.updateBatch(updateBusinessAssayParameterDataList);
}
businessAssayTaskMapper.updateById(businessAssayTaskDO); businessAssayTaskMapper.updateById(businessAssayTaskDO);
} }
@@ -1461,7 +1509,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
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(","));//来源可以有多个
for (String project : projectList) {
String parameter = source.getParameter(); String parameter = source.getParameter();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null); BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = businessAssayProjectDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId()) && 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); BusinessAssayParameterDataExtendRespVO currentBusinessAssayParameterData = businessAssayParameterDataList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(currentBusinessAssayProjectData.getId()) && f.getParameterKey().equals(parameter)).findFirst().orElse(null);
@@ -1470,6 +1520,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
} }
} }
} }
}
} }
} }

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(","));//来源可以有多个
for (String project : projectList) {
String parameter = source.getParameter(); String parameter = source.getParameter();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = currentBusinessAssayProjectDataList.stream().filter(f -> f.getSimpleName().equals(project)).findFirst().orElse(null); 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); 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(); ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
String field = target.getField(); String field = target.getField();
BeanUtil.setFieldValue(autoIngredientsTaskDetailRespVO, field, currentBusinessAssayParameterData.getValue()); BeanUtil.setFieldValue(autoIngredientsTaskDetailRespVO, field, currentBusinessAssayParameterData.getValue());
break;
}
}
} }
} }
} }
@@ -239,8 +244,8 @@ 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)) {
@@ -251,7 +256,7 @@ public class AutoIngredientsServiceImpl implements AutoIngredientsService {
currentBusinessAssayParameterData.setValue(fieldValue.toString()); currentBusinessAssayParameterData.setValue(fieldValue.toString());
updateBusinessAssayParameterDataDOList.add(BeanUtils.toBean(currentBusinessAssayParameterData, BusinessAssayParameterDataDO.class)); updateBusinessAssayParameterDataDOList.add(BeanUtils.toBean(currentBusinessAssayParameterData, BusinessAssayParameterDataDO.class));
} }
}
} }
} }
} }