原始记录横向纵向查询

This commit is contained in:
2025-12-20 17:13:19 +08:00
parent 9110b2a546
commit 054c3ddda1
9 changed files with 251 additions and 98 deletions

View File

@@ -21,6 +21,9 @@ import lombok.Data;
*/
@Data
public class BusinessAssayTaskExtendRespVO extends BusinessAssayTaskRespVO {
/** 任务单数据类型,横向horizontal纵向vertical **/
private String reportDataType;
/** 分析方法名称 **/
private String configAssayMethodName;

View File

@@ -139,6 +139,7 @@ public interface BusinessAssayTaskMapper extends BaseMapperX<BusinessAssayTaskDO
.selectAll(BusinessAssayTaskDO.class)
.selectAs(ConfigAssayMethodDO::getName, BusinessAssayTaskExtendRespVO::getConfigAssayMethodName)
.selectAs(ConfigAssayMethodDO::getMethodNameCategory, BusinessAssayTaskExtendRespVO::getConfigAssayMethodNameAndCategory)
.selectAs(ConfigAssayMethodDO::getReportDataType, BusinessAssayTaskExtendRespVO::getReportDataType)
.eq(BusinessAssayTaskDO::getId, id));
}

View File

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -11,6 +12,7 @@ import java.util.Objects;
import java.util.stream.Collectors;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang3.SerializationUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
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.toolkit.IdWorker;
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.security.core.util.SecurityFrameworkUtils;
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.BusinessAssayTaskDataDO;
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.BusinessQCCoefficientDataDO;
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.BusinessAssayTaskDetailMapper;
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.BusinessQCCoefficientDataMapper;
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.BusinessQCManagementParameterDataMapper;
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.BusinessSubParentSampleAssessmentProjectMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper;
@@ -107,6 +113,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
@Resource
private BusinessAssayTaskMapper businessAssayTaskMapper;
@Resource
private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper;
@Resource
private BusinessAssayTaskDetailMapper businessAssayTaskDetailMapper;
@@ -125,6 +134,9 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
@Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@Resource
private BusinessQCManagementSampleParameterDataMapper businessQCManagementSampleParameterDataMapper;
@Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
@@ -288,10 +300,13 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
JSONObject resultJsonObject = new JSONObject();
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
BusinessAssayTaskExtendRespVO businessAssayTaskDO = businessAssayTaskMapper.selectBusinessAssayTaskById(businessAssayTaskId);
if (businessAssayTaskDO == null) {
throw new ServiceException(1_032_100_000, "未找到任务分配单");
}
//原始记录数据类型
String reportDataType = businessAssayTaskDO.getReportDataType();
JSONArray jsonArray = new JSONArray();
String jsonString = JSON.toJSONString(businessAssayTaskDO, context);
@@ -307,106 +322,222 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
jsonArray.add(businessAssayTaskJson);
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<>();
for (BusinessAssayTaskDataDO businessAssayTaskDataDO : businessAssayTaskDataList) {
BusinessAssayTaskDetailDO businessAssayTaskDetailDO = businessAssayTaskDetailList.stream().filter(f -> f.getSampleId().equals(businessAssayTaskDataDO.getBusinessSubSampleId())).findFirst().orElse(null);
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"));
//横向数据
if ("horizontal".equals(reportDataType)) {
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO();
projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
// map.put("e" + ep.getDicId(), ep);
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" + p.getDicId(), p);
map.put(p.getName(), p.getValue());
}
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);
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"));
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);
// 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()) {
@@ -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());
resultJsonObject.put("fx", fxList);
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;
}

View File

@@ -46,6 +46,9 @@ public class ConfigAssayMethodPageReqVO extends PageParam {
@Schema(description = "任务单模板key")
private String configReportTemplateKey;
@Schema(description = "任务单数据类型,横向horizontal纵向vertical", example = "2")
private String reportDataType;
@Schema(description = "任务单编号规则")
private String codeRule;

View File

@@ -46,6 +46,9 @@ public class ConfigAssayMethodReqVO {
@Schema(description = "任务单模板key")
private String configReportTemplateKey;
@Schema(description = "任务单数据类型,横向horizontal纵向vertical", example = "2")
private String reportDataType;
@Schema(description = "任务单编号规则")
private String codeRule;

View File

@@ -56,6 +56,10 @@ public class ConfigAssayMethodRespVO {
@ExcelProperty("任务单模板key")
private String configReportTemplateKey;
@Schema(description = "任务单数据类型,横向horizontal纵向vertical", example = "2")
@ExcelProperty("任务单数据类型,横向horizontal纵向vertical")
private String reportDataType;
@Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("任务单编号规则")
private String codeRule;

View File

@@ -47,6 +47,9 @@ public class ConfigAssayMethodSaveReqVO {
@Schema(description = "任务单模板key")
private String configReportTemplateKey;
@Schema(description = "任务单数据类型,横向horizontal纵向vertical")
private String reportDataType;
@Schema(description = "任务单编号规则", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "任务单编号规则不能为空")
private String codeRule;

View File

@@ -87,6 +87,11 @@ public class ConfigAssayMethodDO extends BusinessBaseDO {
@TableField("CFG_RPT_TMPL_KY")
private String configReportTemplateKey;
/**
* 任务单数据类型,横向horizontal纵向vertical
*/
@TableField("RPT_DAT_TP")
private String reportDataType;
/**
* 任务单编号规则
*/
@TableField("CD_RUL")

View File

@@ -4,14 +4,12 @@ import java.util.*;
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.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodPageReqVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodReqVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import org.apache.ibatis.annotations.Mapper;
import com.zt.plat.module.qms.business.config.controller.vo.*;
/**
* 检测方法配置 Mapper
@@ -33,6 +31,7 @@ public interface ConfigAssayMethodMapper extends BaseMapperX<ConfigAssayMethodDO
.eqIfPresent(ConfigAssayMethodDO::getIsEnabled, reqVO.getIsEnabled())
.eqIfPresent(ConfigAssayMethodDO::getIsIngredients, reqVO.getIsIngredients())
.eqIfPresent(ConfigAssayMethodDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey())
.eqIfPresent(ConfigAssayMethodDO::getReportDataType, reqVO.getReportDataType())
.eqIfPresent(ConfigAssayMethodDO::getCodeRule, reqVO.getCodeRule())
.eqIfPresent(ConfigAssayMethodDO::getAssignWay, reqVO.getAssignWay())
.eqIfPresent(ConfigAssayMethodDO::getAssignPlatform, reqVO.getAssignPlatform())
@@ -59,6 +58,7 @@ public interface ConfigAssayMethodMapper extends BaseMapperX<ConfigAssayMethodDO
.eqIfPresent(ConfigAssayMethodDO::getIsEnabled, reqVO.getIsEnabled())
.eqIfPresent(ConfigAssayMethodDO::getIsIngredients, reqVO.getIsIngredients())
.eqIfPresent(ConfigAssayMethodDO::getConfigReportTemplateKey, reqVO.getConfigReportTemplateKey())
.eqIfPresent(ConfigAssayMethodDO::getReportDataType, reqVO.getReportDataType())
.eqIfPresent(ConfigAssayMethodDO::getCodeRule, reqVO.getCodeRule())
.eqIfPresent(ConfigAssayMethodDO::getAssignWay, reqVO.getAssignWay())
.eqIfPresent(ConfigAssayMethodDO::getAssignPlatform, reqVO.getAssignPlatform())