diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementParameterDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementParameterDataMapper.java index 8ee512af..7f9bd8e1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementParameterDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCManagementParameterDataMapper.java @@ -6,10 +6,8 @@ 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.BusinessQCCoefficientParameterDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO; -import com.zt.plat.module.qms.business.dic.dal.dataobject.DictionaryParameterDO; import com.zt.plat.module.qms.common.dic.dal.dataobject.DictionaryBusinessDO; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import org.apache.ibatis.annotations.Mapper; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java index b49197d5..20d06329 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/liteflow/sample/taskassign/SampleTaskAssignQCSampleCmp.java @@ -248,7 +248,10 @@ public class SampleTaskAssignQCSampleCmp extends NodeComponent { businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); - businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) { + businessQCManagementSampleParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue()); + } businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO); } diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java index 541478d2..4ebc6015 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleTaskAssignServiceImpl.java @@ -12,6 +12,7 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.alibaba.fastjson2.JSON; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.yomahub.liteflow.core.FlowExecutor; import com.yomahub.liteflow.flow.LiteflowResponse; @@ -65,6 +66,8 @@ import com.zt.plat.module.qms.business.bus.liteflow.slot.SampleTaskAssignContext import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO; +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.ConfigSubSampleMethodExtendRespVO; import com.zt.plat.module.qms.business.config.controller.vo.MaterialAssayStandardMethodExtendRespVO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO; @@ -435,6 +438,14 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { break; } + //扩展配置 + String configInfomation = configSubSampleMethod.getConfigInfomation(); + List getParamList = null; + if (StringUtils.isNotBlank(configInfomation)) { + //解析配置 + ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); + getParamList = configSubSampleMethodConfInfo.getGetParam(); + } //根据任务数判断是平行还是 String assayType = configSubSampleMethod.getTaskCount() > 1 ? QmsCommonConstant.ASSAY_TYPE_SINGLE_PARALLEL : QmsCommonConstant.ASSAY_TYPE_SINGLE_CUP; @@ -478,6 +489,11 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { List oldBusinessAssayTaskDataIdList = businessAssayTaskDataDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); //添加到删除列表 removeAssayTaskDataIdList.addAll(oldBusinessAssayTaskDataIdList); + if (oldBusinessAssayTaskDataIdList.size() > 0) { + List oldBusinessAssayTaskParameterDataIdList = businessAssayTaskParameterDataList.stream().filter(f -> oldBusinessAssayTaskDataIdList.contains(f.getBusinessAssayTaskDataId())).map(m -> m.getId()).collect(Collectors.toList()); + //添加分析任务属性删除列表 + removeAssayTaskParameterDataIdList.addAll(oldBusinessAssayTaskParameterDataIdList); + } //查询旧的子样判定 List oldBusinessSubSampleAssesmentIdList = businessSubSampleAssessmentDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessSubParentSampleId().equals(businessSubParentSampleAssessment.getBusinessSubParentSampleId())).map(m -> m.getId()).collect(Collectors.toList()); //添加到删除列表 @@ -520,6 +536,32 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessAssayTaskDataDO.setAssayDepartmentId(configAssayMethodDO.getAssayDepartmentId()); businessAssayTaskDataDO.setAssayDepartmentName(configAssayMethodDO.getAssayDepartmentName()); + //子样检测任务参数 + List currConfigAssayMethodParameterDOList = configAssayMethodParameterDOList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).collect(Collectors.toList()); + BusinessAssayTaskParameterDataDO businessAssayTaskParameterDataDO = null; + for (ConfigAssayMethodParameterDO configAssayMethodParameterDO : currConfigAssayMethodParameterDOList) { + businessAssayTaskParameterDataDO = new BusinessAssayTaskParameterDataDO(); + businessAssayTaskParameterDataDO.setId(IdWorker.getId()); + businessAssayTaskParameterDataDO.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId()); + businessAssayTaskParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); + businessAssayTaskParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); + businessAssayTaskParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + + if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) { + businessAssayTaskParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue()); + } + if (getParamList != null) { + BusinessAssayTaskParameterDataExtendRespVO oldBusinessAssayTaskParameterData = businessAssayTaskParameterDataList.stream().filter(f -> f.getConfigAssayMethodId().equals(configAssayMethodId) && f.getBusinessAssayTaskDataId().equals(oldBusinessAssayTaskDataDO.getId()) && f.getKey().equals(configAssayMethodParameterDO.getKey())).findFirst().orElse(null); + ConfigSubSampleMethodConfItem targetAttribute = getParamList.stream().filter(f -> StringUtils.isNotBlank(f.getTarget().getAttribute()) && f.getTarget().getAttribute().equals(oldBusinessAssayTaskParameterData.getKey())).findFirst().orElse(null); + if (targetAttribute != null) { + businessAssayTaskParameterDataDO.setValue(oldBusinessAssayTaskParameterData.getValue()); + } + } + + saveBusinessAssayTaskParameterDataDOList.add(businessAssayTaskParameterDataDO); + } + + List configAssayMethodProjectDOList = configAssayMethodProjectList.stream().filter(f -> f.getConfigAssayMethodId().equals(changeConfigAssayMethodId)).collect(Collectors.toList()); StringBuilder assayProjectBuilder = new StringBuilder(); @@ -559,6 +601,10 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessAssayParameterDataDO.setDataType(configAssayMethodProjectParameterDO.getDataType()); businessAssayParameterDataDO.setDecimalPosition(configAssayMethodProjectParameterDO.getDecimalPosition()); + if (StringUtils.isNotBlank(configAssayMethodProjectParameterDO.getDefaultValue())) { + businessAssayParameterDataDO.setValue(configAssayMethodProjectParameterDO.getDefaultValue()); + } + saveBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO); } } @@ -1479,7 +1525,10 @@ public class SampleTaskAssignServiceImpl implements SampleTaskAssignService { businessQCManagementSampleParameterDataDO.setBusinessQCManagementDataId(businessQCManagementDataDO.getId()); businessQCManagementSampleParameterDataDO.setConfigAssayMethodParameterId(configAssayMethodParameterDO.getId()); businessQCManagementSampleParameterDataDO.setDataType(configAssayMethodParameterDO.getDataType()); - businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + businessQCManagementSampleParameterDataDO.setDecimalPosition(configAssayMethodParameterDO.getDecimalPosition()); + if (StringUtils.isNotBlank(configAssayMethodParameterDO.getDefaultValue())) { + businessQCManagementSampleParameterDataDO.setValue(configAssayMethodParameterDO.getDefaultValue()); + } businessQCManagementSampleParameterDataDOList.add(businessQCManagementSampleParameterDataDO); }