|
|
|
|
@@ -6,7 +6,6 @@ import java.time.LocalDateTime;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Arrays;
|
|
|
|
|
import java.util.HashMap;
|
|
|
|
|
import java.util.Iterator;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.Objects;
|
|
|
|
|
@@ -19,11 +18,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
|
|
import com.ql.util.express.ExpressRunner;
|
|
|
|
|
import com.zt.plat.framework.common.exception.ServiceException;
|
|
|
|
|
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
|
|
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.controller.vo.*;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayParameterDataDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDataDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDO;
|
|
|
|
|
@@ -32,6 +33,7 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessTeamAssessmentDO;
|
|
|
|
|
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.BusinessAssayReportDataMapper;
|
|
|
|
|
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMapper;
|
|
|
|
|
@@ -575,6 +577,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private BusinessSubSampleMapper businessSubSampleMapper;
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
private BusinessAssayParameterDataMapper businessAssayParameterDataMapper;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
@@ -584,10 +589,81 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
|
|
|
|
|
|
|
|
|
//子样配置数据
|
|
|
|
|
ConfigSubSampleDO configSubSampleDO = configSubSampleMapper.selectById(businessSubSampleDO.getConfigSubSampleId());
|
|
|
|
|
if (StringUtils.isBlank(configSubSampleDO.getRecheckFlowNodeKey())) {
|
|
|
|
|
throw new ServiceException(500, "未配置复检流程,不能发起复检委托!");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<BusinessAssayTaskDataDO> newBusinessAssayTaskDataDOList = new ArrayList<>();
|
|
|
|
|
List<BusinessAssayProjectDataDO> newBusinessAssayProjectDataDOList = new ArrayList<>();
|
|
|
|
|
List<BusinessAssayParameterDataDO> newBusinessAssayParameterDataDOList = new ArrayList<>();
|
|
|
|
|
|
|
|
|
|
BusinessAssayTaskDataDO newBusinessAssayTaskDataDO = null;
|
|
|
|
|
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = businessAssayTaskDataMapper.selectMaxAnalysisCountByBusinessSubSampleIdAndConfigAssayMethodId(businessSubSampleId, configAssayMethodId);
|
|
|
|
|
List<Long> businessAssayTaskDataDOIdList = businessAssayTaskDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList());
|
|
|
|
|
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataDOList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(businessAssayTaskDataDOIdList);
|
|
|
|
|
List<Long> businessAssayProjectDataDOIdList = businessAssayProjectDataDOList.stream().map(m -> m.getId()).collect(Collectors.toList());
|
|
|
|
|
List<BusinessAssayParameterDataDO> businessAssayParameterDataDOList = businessAssayParameterDataMapper.selectByBusinessAssayProjectDataIds(businessAssayProjectDataDOIdList);
|
|
|
|
|
|
|
|
|
|
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataDOList) {
|
|
|
|
|
// 子样检测任务
|
|
|
|
|
newBusinessAssayTaskDataDO = new BusinessAssayTaskDataDO();
|
|
|
|
|
newBusinessAssayTaskDataDO.setId(IdWorker.getId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setBusinessBaseSampleId(businessAssayTaskDataDO.getBusinessBaseSampleId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setBusinessSubParentSampleId(businessAssayTaskDataDO.getBusinessSubParentSampleId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setBusinessSubSampleId(businessAssayTaskDataDO.getBusinessSubSampleId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setConfigAssayMethodId(businessAssayTaskDataDO.getConfigAssayMethodId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setAssayType(businessAssayTaskDataDO.getAssayType());
|
|
|
|
|
newBusinessAssayTaskDataDO.setTaskType(businessAssayTaskDataDO.getTaskType());
|
|
|
|
|
newBusinessAssayTaskDataDO.setConfigSampleFlowId(businessAssayTaskDataDO.getConfigSampleFlowId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setSampleFlowNodeKey(configSubSampleDO.getRecheckFlowNodeKey());
|
|
|
|
|
newBusinessAssayTaskDataDO.setSampleFlowNodeTime(LocalDateTime.now());
|
|
|
|
|
newBusinessAssayTaskDataDO.setAssayDepartmentId(businessAssayTaskDataDO.getAssayDepartmentId());
|
|
|
|
|
newBusinessAssayTaskDataDO.setAssayDepartmentName(businessAssayTaskDataDO.getAssayDepartmentName());
|
|
|
|
|
newBusinessAssayTaskDataDO.setAnalysisCount(businessAssayTaskDataDO.getAnalysisCount() + 1);
|
|
|
|
|
newBusinessAssayTaskDataDO.setAssayProject(businessAssayTaskDataDO.getAssayProject());
|
|
|
|
|
|
|
|
|
|
List<BusinessAssayProjectDataExtendRespVO> businessAssayProjectDataList = businessAssayProjectDataDOList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskDataDO.getId())).collect(Collectors.toList());
|
|
|
|
|
for (BusinessAssayProjectDataExtendRespVO businessAssayProjectData : businessAssayProjectDataList) {
|
|
|
|
|
//检测项目
|
|
|
|
|
BusinessAssayProjectDataDO businessAssayProjectDataDO = new BusinessAssayProjectDataDO();
|
|
|
|
|
businessAssayProjectDataDO.setId(IdWorker.getId());
|
|
|
|
|
businessAssayProjectDataDO.setBusinessAssayTaskDataId(newBusinessAssayTaskDataDO.getId());
|
|
|
|
|
businessAssayProjectDataDO.setConfigAssayMethodProjectId(businessAssayProjectData.getConfigAssayMethodProjectId());
|
|
|
|
|
businessAssayProjectDataDO.setDictionaryProjectId(businessAssayProjectData.getDictionaryProjectId());
|
|
|
|
|
businessAssayProjectDataDO.setDataType(businessAssayProjectData.getDataType());
|
|
|
|
|
businessAssayProjectDataDO.setDecimalPosition(businessAssayProjectData.getDecimalPosition());
|
|
|
|
|
businessAssayProjectDataDO.setIsEnabled(businessAssayProjectData.getIsEnabled());
|
|
|
|
|
businessAssayProjectDataDO.setIsNotAssessment(0);
|
|
|
|
|
|
|
|
|
|
newBusinessAssayProjectDataDOList.add(businessAssayProjectDataDO);
|
|
|
|
|
|
|
|
|
|
List<BusinessAssayParameterDataDO> businessAssayParameterDataList = businessAssayParameterDataDOList.stream().filter(f -> f.getBusinessAssayProjectDataId().equals(businessAssayProjectData.getId())).collect(Collectors.toList());
|
|
|
|
|
for (BusinessAssayParameterDataDO businessAssayParameterData : businessAssayParameterDataList) {
|
|
|
|
|
BusinessAssayParameterDataDO businessAssayParameterDataDO = new BusinessAssayParameterDataDO();
|
|
|
|
|
businessAssayParameterDataDO.setId(IdWorker.getId());
|
|
|
|
|
businessAssayParameterDataDO.setBusinessAssayProjectDataId(businessAssayProjectDataDO.getId());
|
|
|
|
|
businessAssayParameterDataDO.setConfigAssayMethodProjectParameterId(businessAssayParameterData.getConfigAssayMethodProjectParameterId());
|
|
|
|
|
businessAssayParameterDataDO.setDictionaryParameterId(businessAssayParameterData.getDictionaryParameterId());
|
|
|
|
|
businessAssayParameterDataDO.setDataType(businessAssayParameterData.getDataType());
|
|
|
|
|
businessAssayParameterDataDO.setDecimalPosition(businessAssayParameterData.getDecimalPosition());
|
|
|
|
|
|
|
|
|
|
newBusinessAssayParameterDataDOList.add(businessAssayParameterDataDO);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
newBusinessAssayTaskDataDOList.add(newBusinessAssayTaskDataDO);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if (newBusinessAssayTaskDataDOList.size() > 0) {
|
|
|
|
|
businessAssayTaskDataMapper.insertBatch(newBusinessAssayTaskDataDOList);
|
|
|
|
|
}
|
|
|
|
|
if (newBusinessAssayProjectDataDOList.size() > 0) {
|
|
|
|
|
businessAssayProjectDataMapper.insertBatch(newBusinessAssayProjectDataDOList);
|
|
|
|
|
}
|
|
|
|
|
if (newBusinessAssayParameterDataDOList.size() > 0) {
|
|
|
|
|
businessAssayParameterDataMapper.insertBatch(newBusinessAssayParameterDataDOList);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//businessAssayTaskDataMapper.select
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|