分析任务属性,取值,赋值等修改

This commit is contained in:
2026-02-24 21:08:05 +08:00
parent 85b91fb624
commit 1280ff5813
17 changed files with 1190 additions and 153 deletions

View File

@@ -27,6 +27,51 @@ import org.apache.ibatis.annotations.Param;
public interface BusinessAssayProjectDataMapper extends BaseMapperX<BusinessAssayProjectDataDO> {
default List<BusinessAssayProjectAndParameterRespVO> selectProjectAndParameterBy(BusinessAssayProjectDataReqVO reqVO) {
return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX<BusinessAssayProjectDataDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessAssayProjectDataDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId)
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectDO::getDictionaryBusinessId)
.selectAs(BusinessAssayProjectDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId)
.selectAs(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, BusinessAssayProjectAndParameterRespVO::getBizId)
.selectAs(BusinessAssayProjectDataDO::getDictionaryProjectId, BusinessAssayProjectAndParameterRespVO::getDicId)
.selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey)
//.selectAs(DictionaryProjectDO::getName, BusinessAssayProjectAndParameterRespVO::getName)
.selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectAndParameterRespVO::getName)
.selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectAndParameterRespVO::getShowName)
.selectAs(BusinessAssayProjectDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType)
.selectAs(BusinessAssayProjectDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition)
.selectAs(BusinessAssayProjectDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue)
.selectAs(BusinessAssayProjectDataDO::getSymbol, BusinessAssayProjectAndParameterRespVO::getSymbol)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodProjectDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull)
.selectAs(ConfigAssayMethodProjectDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodProjectDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo)
.selectAs("'project'", BusinessAssayProjectAndParameterRespVO::getType)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryBusinessKey, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessKey)
.selectAs(DictionaryBusinessDO::getName, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessName)
.eqIfPresent(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataId())
.inIfPresent(BusinessAssayProjectDataDO::getBusinessAssayTaskDataId, reqVO.getBusinessAssayTaskDataIdList())
.eqIfPresent(BusinessAssayProjectDataDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId())
.eqIfPresent(BusinessAssayProjectDataDO::getDictionaryProjectId, reqVO.getDictionaryProjectId())
.eqIfPresent(BusinessAssayProjectDataDO::getUsage, reqVO.getUsage())
.eqIfPresent(BusinessAssayProjectDataDO::getSymbol, reqVO.getSymbol())
.eqIfPresent(BusinessAssayProjectDataDO::getValue, reqVO.getValue())
.eqIfPresent(BusinessAssayProjectDataDO::getConfigAssayMethodProjectCoefficientId, reqVO.getConfigAssayMethodProjectCoefficientId())
.eqIfPresent(BusinessAssayProjectDataDO::getCoefficient, reqVO.getCoefficient())
.eqIfPresent(BusinessAssayProjectDataDO::getValueAfter, reqVO.getValueAfter())
.eqIfPresent(BusinessAssayProjectDataDO::getDataType, reqVO.getDataType())
.eqIfPresent(BusinessAssayProjectDataDO::getDecimalPosition, reqVO.getDecimalPosition())
.eqIfPresent(BusinessAssayProjectDataDO::getIsNotAssessment, reqVO.getIsNotAssessment())
.eqIfPresent(BusinessAssayProjectDataDO::getIsEnabled, reqVO.getIsEnabled())
.eqIfPresent(BusinessAssayProjectDataDO::getUpdateCount, reqVO.getUpdateCount())
.eqIfPresent(BusinessAssayProjectDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessAssayProjectDataDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessAssayProjectDataDO::getRemark, reqVO.getRemark())
.orderByAsc(ConfigAssayMethodProjectDO::getSortNo));
}
default List<BusinessAssayProjectAndParameterRespVO> selectProjectAndParameterByOld(BusinessAssayProjectDataReqVO reqVO) {
return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX<BusinessAssayProjectDataDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessAssayProjectDataDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessAssayProjectDataDO::getDictionaryProjectId)

View File

@@ -6,7 +6,6 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodParameterDO;
import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO;
@@ -49,9 +48,9 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX<Busine
.selectAs(BusinessAssayTaskParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType)
.selectAs(BusinessAssayTaskParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition)
.selectAs(BusinessAssayTaskParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue)
//.selectAs(ConfigAssayMethodParameterDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodParameterDO::getUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull)
//.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo)
.selectAs("'attribute'", BusinessAssayProjectAndParameterRespVO::getType)
.selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId)
@@ -74,5 +73,12 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX<Busine
);
}
default BusinessAssayTaskParameterDataDO selectByBusinessAssayTaskDataIdAndKey(Long businessAssayTaskDataId, String key) {
return selectJoinOne(BusinessAssayTaskParameterDataDO.class, new MPJLambdaWrapperX<BusinessAssayTaskParameterDataDO>()
.leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessAssayTaskParameterDataDO::getConfigAssayMethodParameterId)
.selectAll(BusinessAssayTaskParameterDataDO.class)
.eq(BusinessAssayTaskParameterDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataId)
.eq(ConfigAssayMethodParameterDO::getKey, key));
}
}

View File

@@ -6,7 +6,6 @@ import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.query.MPJLambdaWrapperX;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryProjectDO;
@@ -42,6 +41,47 @@ public interface BusinessQCManagementProjectDataMapper extends BaseMapperX<Busin
}
default List<BusinessAssayProjectAndParameterRespVO> selectProjectAndParameterBy(BusinessQCManagementProjectDataReqVO reqVO) {
return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX<BusinessQCManagementProjectDataDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessQCManagementProjectDataDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessQCManagementProjectDataDO::getDictionaryProjectId)
.leftJoin(DictionaryBusinessDO.class, DictionaryBusinessDO::getId, ConfigAssayMethodProjectDO::getDictionaryBusinessId)
.selectAs(BusinessQCManagementProjectDataDO::getId, BusinessAssayProjectAndParameterRespVO::getId)
.selectAs(BusinessQCManagementProjectDataDO::getBusinessQCManagementDataId, BusinessAssayProjectAndParameterRespVO::getBizId)
.selectAs(BusinessQCManagementProjectDataDO::getDictionaryProjectId, BusinessAssayProjectAndParameterRespVO::getDicId)
.selectAs(DictionaryProjectDO::getKey, BusinessAssayProjectAndParameterRespVO::getDicKey)
//.selectAs(DictionaryProjectDO::getName, BusinessAssayProjectAndParameterRespVO::getName)
.selectAs(DictionaryProjectDO::getSimpleName, BusinessAssayProjectAndParameterRespVO::getName)
.selectAs(DictionaryProjectDO::getShowName, BusinessAssayProjectAndParameterRespVO::getShowName)
.selectAs(BusinessQCManagementProjectDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType)
.selectAs(BusinessQCManagementProjectDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition)
.selectAs(BusinessQCManagementProjectDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue)
.selectAs(BusinessQCManagementProjectDataDO::getSymbol, BusinessAssayProjectAndParameterRespVO::getSymbol)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodProjectDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull)
.selectAs(ConfigAssayMethodProjectDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodProjectDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo)
.selectAs("'project'", BusinessAssayProjectAndParameterRespVO::getType)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId)
.selectAs(ConfigAssayMethodProjectDO::getDictionaryBusinessKey, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessKey)
.selectAs(DictionaryBusinessDO::getName, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessName)
.eqIfPresent(BusinessQCManagementProjectDataDO::getBusinessQCManagementDataId, reqVO.getBusinessQCManagementDataId())
.eqIfPresent(BusinessQCManagementProjectDataDO::getConfigAssayMethodProjectId, reqVO.getConfigAssayMethodProjectId())
.eqIfPresent(BusinessQCManagementProjectDataDO::getDictionaryProjectId, reqVO.getDictionaryProjectId())
.eqIfPresent(BusinessQCManagementProjectDataDO::getUsage, reqVO.getUsage())
.eqIfPresent(BusinessQCManagementProjectDataDO::getSymbol, reqVO.getSymbol())
.eqIfPresent(BusinessQCManagementProjectDataDO::getValue, reqVO.getValue())
.eqIfPresent(BusinessQCManagementProjectDataDO::getDataType, reqVO.getDataType())
.eqIfPresent(BusinessQCManagementProjectDataDO::getDecimalPosition, reqVO.getDecimalPosition())
.eqIfPresent(BusinessQCManagementProjectDataDO::getIsNotAssessment, reqVO.getIsNotAssessment())
.eqIfPresent(BusinessQCManagementProjectDataDO::getIsEnabled, reqVO.getIsEnabled())
.eqIfPresent(BusinessQCManagementProjectDataDO::getUpdateCount, reqVO.getUpdateCount())
.eqIfPresent(BusinessQCManagementProjectDataDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.betweenIfPresent(BusinessQCManagementProjectDataDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(BusinessQCManagementProjectDataDO::getRemark, reqVO.getRemark())
.orderByAsc(ConfigAssayMethodProjectDO::getSortNo));
}
default List<BusinessAssayProjectAndParameterRespVO> selectProjectAndParameterByOld(BusinessQCManagementProjectDataReqVO reqVO) {
return selectJoinList(BusinessAssayProjectAndParameterRespVO.class, new MPJLambdaWrapperX<BusinessQCManagementProjectDataDO>()
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessQCManagementProjectDataDO::getConfigAssayMethodProjectId)
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessQCManagementProjectDataDO::getDictionaryProjectId)

View File

@@ -48,9 +48,9 @@ public interface BusinessQCManagementSampleParameterDataMapper extends BaseMappe
.selectAs(BusinessQCManagementSampleParameterDataDO::getDataType, BusinessAssayProjectAndParameterRespVO::getDataType)
.selectAs(BusinessQCManagementSampleParameterDataDO::getDecimalPosition, BusinessAssayProjectAndParameterRespVO::getDecimalPosition)
.selectAs(BusinessQCManagementSampleParameterDataDO::getValue, BusinessAssayProjectAndParameterRespVO::getValue)
//.selectAs(ConfigAssayMethodParameterDO::getDictionaryProjectUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodParameterDO::getUnit, BusinessAssayProjectAndParameterRespVO::getUnit)
.selectAs(ConfigAssayMethodParameterDO::getIsNull, BusinessAssayProjectAndParameterRespVO::getIsNull)
//.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodParameterDO::getFormula, BusinessAssayProjectAndParameterRespVO::getFormula)
.selectAs(ConfigAssayMethodParameterDO::getSortNo, BusinessAssayProjectAndParameterRespVO::getParamNo)
.selectAs("'attribute'", BusinessAssayProjectAndParameterRespVO::getType)
.selectAs(ConfigAssayMethodParameterDO::getDictionaryBusinessId, BusinessAssayProjectAndParameterRespVO::getGroupDictionaryBusinessId)

View File

@@ -439,14 +439,14 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodList.stream().filter(f -> f.getId().equals(configAssayMethodId)).findFirst().orElse(null);
//查询子样对应的分析方法
ConfigSubSampleMethodExtendRespVO configSubSampleMethodDO = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null);
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getIsDefaultUse().equals(QmsCommonConstant.YES) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getConfigSubSampleId().equals(configSubSample.getId())).findFirst().orElse(null);
if (configSubSampleMethodDO == null) {
if (configSubSampleMethod == null) {
throw new ServiceException(1_032_100_000, "未找到子样对应的分析方法配置!");
}
//扩展配置信息
String configInfomation = configSubSampleMethodDO.getConfigInfomation();
String configInfomation = configSubSampleMethod.getConfigInfomation();
List<ConfigSubSampleMethodConfItem> getParamList = null;
if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
@@ -520,7 +520,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
}
//根据任务数判断是平行还是
String assayType = configSubSampleMethodDO.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
String assayType = configSubSampleMethod.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP;
//分样判定数据
BusinessSubParentSampleAssessmentDO businessSubParentSampleAssessmentDO = businessSubParentSampleAssessmentDOList.stream().filter(f -> f.getBusinessSubParentSampleId().equals(businessSubSampleDO.getBusinessSubParentSampleId()) && f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getAssayType().equals(assayType)).findFirst().orElse(null);//防止重复添加,先从列表过滤
@@ -551,7 +551,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
}
//根据任务数循环
for (int i = 0; i < configSubSampleMethodDO.getTaskCount(); i++) {
for (int i = 0; i < configSubSampleMethod.getTaskCount(); i++) {
Long businessSubSampleId = businessSubSampleDO.getId();
Long businessSubSampleAssessmentId = businessSubSampleAssessmentDO.getId();
BusinessAssayTaskDataDO businessAssayTaskDataDO = businessAssayTaskDataDOList.stream().filter(f -> {
@@ -594,6 +594,26 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) {
businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue());
}
//来样品位赋值
if (getParamList != null) {
List<String> targetAttributeList = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getAttribute()) && f.getTarget().getAttribute().contains(configAssayMethodParameterDO.getKey())).map(m -> m.getTarget().getAttribute()).collect(Collectors.toList());
String forecastResult = businessSampleEntrustDetailDO.getForecastResult();
if (StringUtils.isNotBlank(forecastResult)) {
JSONArray array = JSON.parseArray(forecastResult);
for (int forecIndex = 0; forecIndex < array.size(); forecIndex++) {
JSONObject item = array.getJSONObject(forecIndex);
if (targetAttributeList.contains(item.getString("simpleName")) && StringUtils.isNotBlank(configAssayMethodParameterDO.getKey()) && configAssayMethodParameterDO.getKey().equals(item.getString("simpleName"))) {
businessAssayTaskParameterDataDO.setValue(item.getString("value"));
break;
}
}
}
}
businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
}
@@ -652,7 +672,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
//来样品位赋值
if (getParamList != null) {
List<String> targetParameterList = getParamList.stream().filter(f -> f.getTarget().getProject().contains(configAssayMethodProjectDO.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
List<String> targetParameterList = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getProject()) && f.getTarget().getProject().contains(configAssayMethodProjectDO.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
String forecastResult = businessSampleEntrustDetailDO.getForecastResult();
if (StringUtils.isNotBlank(forecastResult)) {
JSONArray array = JSON.parseArray(forecastResult);
@@ -688,7 +708,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
//来样品位赋值
if (getParamList != null) {
List<String> targetParameterList = getParamList.stream().filter(f -> f.getTarget().getProject().contains(configAssayMethodProjectDO.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
List<String> targetParameterList = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getProject()) && f.getTarget().getProject().contains(configAssayMethodProjectDO.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
String forecastResult = businessSampleEntrustDetailDO.getForecastResult();
if (StringUtils.isNotBlank(forecastResult)) {
JSONArray array = JSON.parseArray(forecastResult);
@@ -891,6 +911,10 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType());
businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition());
if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) {
businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue());
}
businessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
}

View File

@@ -278,6 +278,9 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent {
businessQCManagementParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId());
businessQCManagementParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType());
businessQCManagementParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition());
if (StringUtils.isNotBlank(configAssayMethodProjectParameterDO.getDefaultValue())) {
businessQCManagementParameterDataDO.setValue(configAssayMethodProjectParameterDO.getDefaultValue());
}
businessQCManagementParameterDataDOList.add(businessQCManagementParameterDataDO);
}

View File

@@ -1,6 +1,5 @@
package com.zt.plat.module.qms.business.bus.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
@@ -13,11 +12,11 @@ import org.springframework.validation.annotation.Validated;
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.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.BusinessAssayTaskParameterDataMapper;
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;
@@ -25,15 +24,8 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMetho
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
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.util.object.BeanUtils;
import com.zt.plat.framework.security.core.LoginUser;
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
import com.zt.plat.framework.tenant.core.context.TenantContextHolder;
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.diffList;
import static com.zt.plat.module.qms.enums.ErrorCodeConstants.*;
/**
@@ -48,6 +40,9 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
@Resource
private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
@Resource
private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper;
@Resource
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
@@ -148,6 +143,9 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
List<Long> businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目参数
List<BusinessAssayParameterDataExtendRespVO> businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
//查询分析任务属性
List<BusinessAssayTaskParameterDataExtendRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectExtendByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : list) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessAssayTaskData.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskData.getConfigAssayMethodId())).findFirst().orElse(null);
@@ -158,6 +156,7 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
StringBuilder ingredientInfoBuilder = new StringBuilder();
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : getParamList) {
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
if (StringUtils.isNotBlank(target.getProject())) {//来自检测项目参数
List<String> projectList = Arrays.asList(target.getProject().split(","));//来源可以有多个
for (String project : projectList) {
String parameter = target.getParameter();
@@ -171,6 +170,14 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
break;
}
}
} else if (StringUtils.isNotBlank(target.getAttribute())) {//来自分析任务属性
BusinessAssayTaskParameterDataExtendRespVO currentBusinessAssayTaskParameterData = businessAssayTaskParameterDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && target.getAttribute().endsWith(f.getKey())).findFirst().orElse(null);
if (currentBusinessAssayTaskParameterData != null && StringUtils.isNotBlank(currentBusinessAssayTaskParameterData.getValue())) {
ingredientInfoBuilder.append(currentBusinessAssayTaskParameterData.getParameterName()).append("").append(currentBusinessAssayTaskParameterData.getValue()).append("");
}
}
}
if (ingredientInfoBuilder.length() > 0) {
ingredientInfoBuilder.delete(ingredientInfoBuilder.length() - 1, ingredientInfoBuilder.length());
@@ -205,6 +212,8 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
List<Long> businessAssayProjectDataIdList = businessAssayProjectDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询检测项目参数
List<BusinessAssayParameterDataExtendRespVO> businessAssayParameterDataList = businessAssayParameterDataMapper.selectExtendByBusinessAssayProjectDataIds(businessAssayProjectDataIdList);
//查询分析任务属性
List<BusinessAssayTaskParameterDataExtendRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectExtendByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : list) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodList.stream().filter(f -> f.getConfigSubSampleId().equals(businessAssayTaskData.getConfigSubSampleId()) && f.getConfigAssayMethodId().equals(businessAssayTaskData.getConfigAssayMethodId())).findFirst().orElse(null);
@@ -215,6 +224,7 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
StringBuilder ingredientInfoBuilder = new StringBuilder();
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : getParamList) {
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
if (StringUtils.isNotBlank(target.getProject())) {//来自检测项目参数
List<String> projectList = Arrays.asList(target.getProject().split(","));//来源可以有多个
for (String project : projectList) {
String parameter = target.getParameter();
@@ -228,6 +238,12 @@ public class BusinessAssayTaskDataServiceImpl implements BusinessAssayTaskDataSe
break;
}
}
} else if (StringUtils.isNotBlank(target.getAttribute())) {//来自分析任务属性
BusinessAssayTaskParameterDataExtendRespVO currentBusinessAssayTaskParameterData = businessAssayTaskParameterDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && target.getAttribute().endsWith(f.getKey())).findFirst().orElse(null);
if (currentBusinessAssayTaskParameterData != null && StringUtils.isNotBlank(currentBusinessAssayTaskParameterData.getValue())) {
ingredientInfoBuilder.append(currentBusinessAssayTaskParameterData.getParameterName()).append("").append(currentBusinessAssayTaskParameterData.getValue()).append("");
}
}
}
if (ingredientInfoBuilder.length() > 0) {
ingredientInfoBuilder.delete(ingredientInfoBuilder.length() - 1, ingredientInfoBuilder.length());

View File

@@ -37,7 +37,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDa
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleAssessmentDO;
@@ -68,7 +68,6 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmen
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
import com.zt.plat.module.qms.business.config.controller.vo.*;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectAssessmentDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigRuleDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigSubSampleDO;
@@ -196,6 +195,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskDataExtendRespVO : resultAssessmentList) {
Map<String,Object> businessAssayTaskDataMap = BeanUtil.beanToMap(businessAssayTaskDataExtendRespVO);
@SuppressWarnings("unchecked")
Map<String,Object> businessAssayTaskDataAssessmentMap = BeanUtil.copyProperties(businessAssayTaskDataMap, Map.class);
businessAssayTaskDataAssessmentMap.put("assayOperator", "判定结果");
businessAssayTaskDataAssessmentMap.put("reportTime", null);
@@ -1094,6 +1094,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessAssayTaskDataDO> newBusinessAssayTaskDataDOList = new ArrayList<>();
List<BusinessAssayTaskParameterDataDO> newBusinessAssayTaskParameterDataDOList = new ArrayList<>();
List<BusinessAssayProjectDataDO> newBusinessAssayProjectDataDOList = new ArrayList<>();
List<BusinessAssayParameterDataDO> newBusinessAssayParameterDataDOList = new ArrayList<>();
@@ -1105,6 +1106,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectMaxRecheckCountByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
//查询分析任务Id列表
List<Long> businessAssayTaskDataDOIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList());
//查询分析任务属性
List<BusinessAssayTaskParameterDataExtendRespVO> businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper.selectExtendByBusinessAssayTaskDataIds(businessAssayTaskDataDOIdList);
//查询检测项目
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataDOList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataDOIdList);
//查询检测项目id列表
@@ -1142,6 +1145,29 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
newBusinessAssayTaskDataDO.setRetestCount(businessAssayTaskDataDO.getRetestCount());
newBusinessAssayTaskDataDO.setAssayProject(businessAssayTaskDataDO.getAssayProject());
//分析任务属性
List<BusinessAssayTaskParameterDataExtendRespVO> currentBusinessAssayTaskParameterDataList = businessAssayTaskParameterDataList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId())).collect(Collectors.toList());
for (BusinessAssayTaskParameterDataExtendRespVO currentBusinessAssayTaskParameterData : currentBusinessAssayTaskParameterDataList) {
BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO();
businessAssayTaskParameterDataDO.setId(IdWorker.getId());
businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(newBusinessAssayTaskDataDO.getId());
businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(currentBusinessAssayTaskParameterData.getConfigAssayMethodParameterId());
businessAssayTaskParameterDataDO.setDataType(currentBusinessAssayTaskParameterData.getDataType());
businessAssayTaskParameterDataDO.setDecimalPosition(currentBusinessAssayTaskParameterData.getDecimalPosition());
// if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) {
// businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue());
// }
if (getParamList != null) {
ConfigSubSampleMethodConfItem targetAttribute = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getAttribute()) && f.getTarget().getAttribute().equals(currentBusinessAssayTaskParameterData.getKey())).findFirst().orElse(null);
if (targetAttribute != null) {
businessAssayTaskParameterDataDO.setValue(currentBusinessAssayTaskParameterData.getValue());
}
}
newBusinessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO);
}
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataDOList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId())).collect(Collectors.toList());
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectData : businessAssayProjectDataList) {
//检测项目
@@ -1175,8 +1201,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
}
if (getParamList != null) {
List<String> targetParameterList = getParamList.stream().filter(f -> f.getTarget().getProject().contains(businessAssayProjectData.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
if (StringUtils.isNotBlank(businessAssayParameterData.getParameterKey()) && targetParameterList.contains(businessAssayParameterData.getParameterKey())) {
List<String> targetParameterList = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getProject()) && f.getTarget().getProject().contains(businessAssayProjectData.getSimpleName())).map(m -> m.getTarget().getParameter()).collect(Collectors.toList());
if (StringUtils.isNotBlank(businessAssayParameterData.getParameterKey()) && CollUtil.isNotEmpty(targetParameterList) && targetParameterList.contains(businessAssayParameterData.getParameterKey())) {
businessAssayParameterDataDO.setValue(businessAssayParameterData.getValue());
}
}
@@ -1204,6 +1230,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
if (newBusinessAssayTaskDataDOList.size() > 0) {
businessAssayTaskDataMapper.insertBatch(newBusinessAssayTaskDataDOList);
}
if (newBusinessAssayTaskParameterDataDOList.size() > 0) {
businessAssayTaskParameterDataMapper.insertBatch(newBusinessAssayTaskParameterDataDOList);
}
if (newBusinessAssayProjectDataDOList.size() > 0) {
businessAssayProjectDataMapper.insertBatch(newBusinessAssayProjectDataDOList);
}

View File

@@ -1483,6 +1483,9 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService {
businessQCManagementParameterDataDO.setDictionaryParameterId(configAssayMethodProjectParameterDO.getDictionaryParameterId());
businessQCManagementParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType());
businessQCManagementParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition());
if (StringUtils.isNotBlank(configAssayMethodProjectParameterDO.getDefaultValue())) {
businessQCManagementParameterDataDO.setValue(configAssayMethodProjectParameterDO.getDefaultValue());
}
businessQCManagementParameterDataDOList.add(businessQCManagementParameterDataDO);
}

Some files were not shown because too many files have changed in this diff Show More