@@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode ;
import java.math.RoundingMode ;
import java.time.LocalDateTime ;
import java.time.LocalDateTime ;
import java.util.ArrayList ;
import java.util.ArrayList ;
import java.util.Arrays ;
import java.util.HashMap ;
import java.util.HashMap ;
import java.util.List ;
import java.util.List ;
import java.util.Map ;
import java.util.Map ;
@@ -11,6 +12,7 @@ import java.util.Objects;
import java.util.stream.Collectors ;
import java.util.stream.Collectors ;
import org.apache.commons.collections4.map.HashedMap ;
import org.apache.commons.collections4.map.HashedMap ;
import org.apache.commons.lang3.SerializationUtils ;
import org.apache.commons.lang3.StringUtils ;
import org.apache.commons.lang3.StringUtils ;
import org.springframework.stereotype.Service ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
import org.springframework.transaction.annotation.Transactional ;
@@ -26,6 +28,7 @@ import com.alibaba.qlexpress4.QLResult;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper ;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper ;
import com.baomidou.mybatisplus.core.toolkit.IdWorker ;
import com.baomidou.mybatisplus.core.toolkit.IdWorker ;
import com.zt.plat.framework.common.exception.ServiceException ;
import com.zt.plat.framework.common.exception.ServiceException ;
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.util.SecurityFrameworkUtils ;
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.controller.vo.* ;
@@ -34,6 +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.BusinessAssayTaskDO ;
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.dataobject.BusinessAssayTaskDetailDO ;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO ;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskParameterDataDO ;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO ;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO ;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO ;
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.BusinessQCManagementDataDO ;
@@ -49,12 +53,14 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayReportDataMap
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.bus.dal.mapper.BusinessAssayTaskDetailMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessBaseSampleMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCCoefficientParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementSampleParameterDataMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleAssessmentProjectMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper ;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper ;
@@ -107,6 +113,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
@Resource
@Resource
private BusinessAssayTaskMapper businessAssayTaskMapper ;
private BusinessAssayTaskMapper businessAssayTaskMapper ;
@Resource
private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper ;
@Resource
@Resource
private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper ;
private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper ;
@@ -125,6 +134,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
@Resource
@Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper ;
private BusinessQCManagementDataMapper businessQCManagementDataMapper ;
@Resource
private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper ;
@Resource
@Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper ;
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper ;
@@ -288,10 +300,13 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
JSONObject resultJsonObject = new JSONObject ( ) ;
JSONObject resultJsonObject = new JSONObject ( ) ;
BusinessAssayTaskD O businessAssayTaskDO = businessAssayTaskMapper . selectById ( businessAssayTaskId ) ;
BusinessAssayTaskExtendRespV O businessAssayTaskDO = businessAssayTaskMapper . selectBusinessAssayTaskB yId ( businessAssayTaskId ) ;
if ( businessAssayTaskDO = = null ) {
if ( businessAssayTaskDO = = null ) {
throw new ServiceException ( 1_032_100_000 , " 未找到任务分配单 " ) ;
throw new ServiceException ( 1_032_100_000 , " 未找到任务分配单 " ) ;
}
}
//原始记录数据类型
String reportDataType = businessAssayTaskDO . getReportDataType ( ) ;
JSONArray jsonArray = new JSONArray ( ) ;
JSONArray jsonArray = new JSONArray ( ) ;
String jsonString = JSON . toJSONString ( businessAssayTaskDO , context ) ;
String jsonString = JSON . toJSONString ( businessAssayTaskDO , context ) ;
@@ -307,106 +322,222 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
jsonArray . add ( businessAssayTaskJson ) ;
jsonArray . add ( businessAssayTaskJson ) ;
resultJsonObject . put ( " businessAssayTask " , jsonArray ) ;
resultJsonObject . put ( " businessAssayTask " , jsonArray ) ;
List < BusinessAssayTaskDetailDO > businessAssayTaskDetailList = businessAssayTaskDetailMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDetailDO > ( ) . eq ( BusinessAssayTaskDetailDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) ) ;
//处理数据
List < BusinessAssayTaskDataDO > businessAssayTaskDataList = businessAssayTaskDataMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDataDO > ( ) . eq ( BusinessAssayTaskDataDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) . eq ( BusinessAssayTaskDataDO : : getConfigAssayMethodId , businessAssayTaskDO . getConfigAssayMethodId ( ) ) ) ;
// BusinessAssayTaskDataDO businessAssayTaskData = businessAssayTaskDataList.get(0);
//处理数据
List < Map < String , Object > > datas = new ArrayList < > ( ) ;
List < Map < String , Object > > datas = new ArrayList < > ( ) ;
for ( BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList ) {
//横向数据
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList . stream ( ) . filter ( f - > f . getSampleId ( ) . equals ( businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ) . findFirst ( ) . orElse ( null ) ;
if ( " horizontal " . equals ( reportDataType ) ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessAssayTaskDataDO . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessAssayTaskDataDO . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ;
map . put ( " businessSubParentSampleId " , businessAssayTaskDataDO . getBusinessSubParentSampleId ( ) ) ;
map . put ( " configAssayMethodId " , businessAssayTaskDataDO . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , businessAssayTaskDetailDO . getId ( ) ) ;
map . put ( " sampleCode " , businessAssayTaskDetailDO . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessAssayTaskDetailDO . getSampleName ( ) ) ;
map . put ( " analysisType " , " analysis " ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO ( ) ;
List < BusinessAssayTaskDetailDO > businessAssayTaskDetailList = businessAssayTaskDetailMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDetailDO > ( ) . eq ( BusinessAssayTaskDetailDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) ) ;
projectDataSearch2 . setBusinessAssayTaskDataId ( businessAssayTaskDataDO . get Id ( ) ) ;
List < BusinessAssayTaskDataDO > businessAssayTaskDataList = businessAssayTaskDataMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDataDO > ( ) . eq ( BusinessAssayTaskDataDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) . eq ( BusinessAssayTaskDataDO : : getConfigAssayMethodId , businessAssayTaskDO . getConfigAssayMethod Id( ) ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessAssayProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameter List2 ) {
for ( BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskData List ) {
// map.put("e" + ep.getDicId(), ep) ;
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList . stream ( ) . filter ( f - > f . getSampleId ( ) . equals ( businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ) . findFirst ( ) . orElse ( null ) ;
map . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
Map < String , Object > map = new HashedMap < > ( ) ;
BusinessAssayParameterDataReqVO parameterDataSearch = new B usinessAssayParameterDataReqVO ( ) ;
map . put ( " businessAssayTaskDataId " , b usinessAssayTaskDataDO . getId ( ) ) ;
parameterDataSearch . setBusinessAssayProjectDataId ( ep . get Id ( ) ) ;
map . put ( " businessAssayTaskId " , businessAssayTaskDataDO . getBusinessAssayTask Id ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessAssayParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
map . put ( " businessSubSampleId " , businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
map . put ( " businessSubParentSampleId " , businessAssayTaskDataDO . getBusinessSubParentSampleId ( ) ) ;
// map.put("p" + p.getDicId(), p) ;
map . put ( " configAssayMethodId " , businessAssayTaskDataDO . getConfigAssayMethodId ( ) ) ;
map . put ( p . getName ( ) , p . getValue ( ) ) ;
map . put ( " businessAssayTaskDetailId " , businessAssayTaskDetailDO . getId ( ) ) ;
}
map . put ( " sampleCode " , businessAssayTaskDetailDO . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessAssayTaskDetailDO . getSampleName ( ) ) ;
map . put ( " analysisType " , " analysis " ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
List < BusinessAssayProjectAndParameterRespVO > businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper . selectByBusinessAssayTaskDataIds ( Arrays . asList ( businessAssayTaskDataDO . getId ( ) ) ) ;
for ( BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList ) {
map . put ( businessAssayTaskParameterDataDO . getName ( ) , businessAssayTaskParameterDataDO . getValue ( ) ) ;
}
}
}
datas . add ( map ) ;
}
List < BusinessQCManagementDataDO > businessQCManagementDataDOList = businessQCManagementDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO ( ) ;
projectDataSearch2 . setBusinessAssayTaskDataId ( businessAssayTaskDataDO . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessAssayProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2 ) {
map . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO ( ) ;
parameterDataSearch . setBusinessAssayProjectDataId ( ep . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessAssayParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
}
}
datas . add ( map ) ;
}
List < BusinessQCManagementDataDO > businessQCManagementDataDOList = businessQCManagementDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
for ( BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCManagementData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCManagementData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCManagementData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCManagementData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCManagementData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCManagementData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
List < BusinessAssayProjectAndParameterRespVO > businessQCManagementSampleParameterDataList = businessQCManagementSampleParameterDataMapper . selectByBusinessQCManagementDataIds ( Arrays . asList ( businessQCManagementData . getId ( ) ) ) ;
for ( BusinessAssayProjectAndParameterRespVO businessQCManagementSampleParameterData : businessQCManagementSampleParameterDataList ) {
map . put ( businessQCManagementSampleParameterData . getName ( ) , businessQCManagementSampleParameterData . getValue ( ) ) ;
}
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO ( ) ;
projectDataSearch2 . setBusinessQCManagementDataId ( businessQCManagementData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessQCManagementProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2 ) {
map . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO ( ) ;
parameterDataSearch . setBusinessQCManagementProjectDataId ( ep . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessQCManagementParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
}
}
datas . add ( map ) ;
}
List < BusinessQCCoefficientDataDO > businessQCCoefficientDataDOList = businessQCCoefficientDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
for ( BusinessQCCoefficientDataDO businessQCCoefficientData : businessQCCoefficientDataDOList ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCCoefficientData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCCoefficientData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCCoefficientData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCCoefficientData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCCoefficientData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCCoefficientData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO ( ) ;
parameterDataSearch2 . setBusinessQCCoefficientDataId ( businessQCCoefficientData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist2 = businessQCCoefficientParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist2 ) {
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
datas . add ( map ) ;
}
} else if ( " vertical " . equals ( reportDataType ) ) { //纵向数据
List < BusinessAssayTaskDetailDO > businessAssayTaskDetailList = businessAssayTaskDetailMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDetailDO > ( ) . eq ( BusinessAssayTaskDetailDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) ) ;
List < BusinessAssayTaskDataDO > businessAssayTaskDataList = businessAssayTaskDataMapper . selectList ( new LambdaQueryWrapperX < BusinessAssayTaskDataDO > ( ) . eq ( BusinessAssayTaskDataDO : : getBusinessAssayTaskId , businessAssayTaskDO . getId ( ) ) . eq ( BusinessAssayTaskDataDO : : getConfigAssayMethodId , businessAssayTaskDO . getConfigAssayMethodId ( ) ) ) ;
for ( BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList ) {
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList . stream ( ) . filter ( f - > f . getSampleId ( ) . equals ( businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ) . findFirst ( ) . orElse ( null ) ;
HashedMap < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessAssayTaskDataDO . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessAssayTaskDataDO . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , businessAssayTaskDataDO . getBusinessSubSampleId ( ) ) ;
map . put ( " businessSubParentSampleId " , businessAssayTaskDataDO . getBusinessSubParentSampleId ( ) ) ;
map . put ( " configAssayMethodId " , businessAssayTaskDataDO . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , businessAssayTaskDetailDO . getId ( ) ) ;
map . put ( " sampleCode " , businessAssayTaskDetailDO . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessAssayTaskDetailDO . getSampleName ( ) ) ;
map . put ( " analysisType " , " analysis " ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
List < BusinessAssayProjectAndParameterRespVO > businessAssayTaskParameterDataList = businessAssayTaskParameterDataMapper . selectByBusinessAssayTaskDataIds ( Arrays . asList ( businessAssayTaskDataDO . getId ( ) ) ) ;
for ( BusinessAssayProjectAndParameterRespVO businessAssayTaskParameterDataDO : businessAssayTaskParameterDataList ) {
map . put ( businessAssayTaskParameterDataDO . getName ( ) , businessAssayTaskParameterDataDO . getValue ( ) ) ;
}
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO ( ) ;
projectDataSearch2 . setBusinessAssayTaskDataId ( businessAssayTaskDataDO . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessAssayProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2 ) {
HashedMap < String , Object > newMap = SerializationUtils . clone ( map ) ;
newMap . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
BusinessAssayParameterDataReqVO parameterDataSearch = new BusinessAssayParameterDataReqVO ( ) ;
parameterDataSearch . setBusinessAssayProjectDataId ( ep . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessAssayParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
newMap . put ( p . getName ( ) , p . getValue ( ) ) ;
}
}
datas . add ( newMap ) ;
}
}
List < BusinessQCManagementDataDO > businessQCManagementDataDOList = businessQCManagementDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
for ( BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList ) {
HashedMap < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCManagementData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCManagementData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCManagementData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCManagementData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCManagementData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCManagementData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
List < BusinessAssayProjectAndParameterRespVO > businessQCManagementSampleParameterDataList = businessQCManagementSampleParameterDataMapper . selectByBusinessQCManagementDataIds ( Arrays . asList ( businessQCManagementData . getId ( ) ) ) ;
for ( BusinessAssayProjectAndParameterRespVO businessQCManagementSampleParameterData : businessQCManagementSampleParameterDataList ) {
map . put ( businessQCManagementSampleParameterData . getName ( ) , businessQCManagementSampleParameterData . getValue ( ) ) ;
}
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO ( ) ;
projectDataSearch2 . setBusinessQCManagementDataId ( businessQCManagementData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessQCManagementProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2 ) {
HashedMap < String , Object > newMap = SerializationUtils . clone ( map ) ;
newMap . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO ( ) ;
parameterDataSearch . setBusinessQCManagementProjectDataId ( ep . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessQCManagementParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
newMap . put ( p . getName ( ) , p . getValue ( ) ) ;
}
}
datas . add ( newMap ) ;
}
}
List < BusinessQCCoefficientDataDO > businessQCCoefficientDataDOList = businessQCCoefficientDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
for ( BusinessQCCoefficientDataDO businessQCCoefficientData : businessQCCoefficientDataDOList ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCCoefficientData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCCoefficientData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCCoefficientData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCCoefficientData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCCoefficientData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCCoefficientData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO ( ) ;
parameterDataSearch2 . setBusinessQCCoefficientDataId ( businessQCCoefficientData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist2 = businessQCCoefficientParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist2 ) {
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
datas . add ( map ) ;
}
}
for ( BusinessQCManagementDataDO businessQCManagementData : businessQCManagementDataDOList ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCManagementData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCManagementData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCManagementData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCManagementData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCManagementData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCManagementData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO ( ) ;
projectDataSearch2 . setBusinessQCManagementDataId ( businessQCManagementData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > projectAndParameterList2 = businessQCManagementProjectDataMapper . selectProjectAndParameterBy ( projectDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2 ) {
// map.put("e" + ep.getDicId(), ep);
map . put ( ep . getName ( ) , ep . getValue ( ) ) ;
if ( StringUtils . isNotEmpty ( ep . getFormula ( ) ) ) {
BusinessQCManagementParameterDataReqVO parameterDataSearch = new BusinessQCManagementParameterDataReqVO ( ) ;
parameterDataSearch . setBusinessQCManagementProjectDataId ( ep . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist = businessQCManagementParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist ) {
// map.put("p" + p.getDicId(), p);
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
}
}
datas . add ( map ) ;
}
List < BusinessQCCoefficientDataDO > businessQCCoefficientDataDOList = businessQCCoefficientDataMapper . selectByBusinessAssayTaskId ( businessAssayTaskDO . getId ( ) ) ;
for ( BusinessQCCoefficientDataDO businessQCCoefficientData : businessQCCoefficientDataDOList ) {
Map < String , Object > map = new HashedMap < > ( ) ;
map . put ( " businessAssayTaskDataId " , businessQCCoefficientData . getId ( ) ) ;
map . put ( " businessAssayTaskId " , businessQCCoefficientData . getBusinessAssayTaskId ( ) ) ;
map . put ( " businessSubSampleId " , " " ) ;
map . put ( " businessSubParentSampleId " , " " ) ;
map . put ( " configAssayMethodId " , businessQCCoefficientData . getConfigAssayMethodId ( ) ) ;
map . put ( " businessAssayTaskDetailId " , " " ) ;
map . put ( " sampleCode " , businessQCCoefficientData . getSampleCode ( ) ) ;
map . put ( " sampleName " , businessQCCoefficientData . getSampleName ( ) ) ;
map . put ( " analysisType " , businessQCCoefficientData . getDictionaryBusinessKey ( ) ) ;
map . put ( " assayTime " , businessAssayTaskJson . get ( " assayTime " ) ) ;
BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO ( ) ;
parameterDataSearch2 . setBusinessQCCoefficientDataId ( businessQCCoefficientData . getId ( ) ) ;
List < BusinessAssayProjectAndParameterRespVO > plist2 = businessQCCoefficientParameterDataMapper . selectProjectAndParameterBy ( parameterDataSearch2 ) ;
for ( BusinessAssayProjectAndParameterRespVO p : plist2 ) {
// map.put("p" + p.getDicId(), p);
map . put ( p . getName ( ) , p . getValue ( ) ) ;
}
datas . add ( map ) ;
}
// resultJsonObject.put("all", datas);
// resultJsonObject.put("all", datas);
// Map<String, List<Map<String, Object>>> map = datas.stream().collect(Collectors.groupingBy(g -> (String) g.get("analysisType")));
// Map<String, List<Map<String, Object>>> map = datas.stream().collect(Collectors.groupingBy(g -> (String) g.get("analysisType")));
// for (Map.Entry<String, List<Map<String, Object>>> entry : map.entrySet()) {
// for (Map.Entry<String, List<Map<String, Object>>> entry : map.entrySet()) {
@@ -416,7 +547,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
List < Map < String , Object > > fxList = datas . stream ( ) . filter ( f - > " analysis " . equals ( f . get ( " analysisType " ) ) | | " zky " . equals ( f . get ( " analysisType " ) ) | | " kby " . equals ( f . get ( " analysisType " ) ) ) . collect ( Collectors . toList ( ) ) ;
List < Map < String , Object > > fxList = datas . stream ( ) . filter ( f - > " analysis " . equals ( f . get ( " analysisType " ) ) | | " zky " . equals ( f . get ( " analysisType " ) ) | | " kby " . equals ( f . get ( " analysisType " ) ) ) . collect ( Collectors . toList ( ) ) ;
resultJsonObject . put ( " fx " , fxList ) ;
resultJsonObject . put ( " fx " , fxList ) ;
List < Map < String , Object > > byList = datas . stream ( ) . filter ( f - > " by " . equals ( f . get ( " analysisType " ) ) ) . collect ( Collectors . toList ( ) ) ;
List < Map < String , Object > > byList = datas . stream ( ) . filter ( f - > " by " . equals ( f . get ( " analysisType " ) ) ) . collect ( Collectors . toList ( ) ) ;
resultJsonObject . put ( " by " , byList ) ;
resultJsonObject . put ( " by " , byList ) ;
return resultJsonObject ;
return resultJsonObject ;
}
}