This commit is contained in:
2025-11-05 16:53:15 +08:00
parent a4105aef49
commit fb8706441b
7 changed files with 181 additions and 2 deletions

View File

@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.service.SampleAnalysisService;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
@@ -39,6 +39,12 @@ public class SampleAnalysisController {
return success("成功");
}
@GetMapping("/batchSampleAndQcAnalysisByTaskId")
public CommonResult<?> batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId) {
BusinessAssayTaskAnalysisSampleAndQcProjectRespVO businessAssayTaskAnalysisSampleAndQcProject = sampleAnalysisService.batchSampleAndQcAnalysisByTaskId(businessAssayTaskId);
return success(businessAssayTaskAnalysisSampleAndQcProject);
}
@PostMapping("/submitSampleAnalysisByTaskId")
public CommonResult<?> submitSampleAnalysisByTaskId(Long businessAssayTaskId) {

View File

@@ -0,0 +1,56 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import java.time.LocalDateTime;
import java.util.List;
import com.zt.plat.module.qms.business.config.controller.vo.*;
import lombok.Data;
/**
* 分配任务单 分析样品及质控样品检测项目
*/
@Data
public class BusinessAssayTaskAnalysisSampleAndQcProjectRespVO {
/** 分配任务单id **/
private Long businessAssayTaskId;
/** 任务分配单编号 **/
private String businessAssayTasNo;
/** 任务分配单名称 **/
private String businessAssayTasName;
/** 分析人员 **/
private String assayOperator;
/** 分析时间 **/
private LocalDateTime assayTime;
/** 检测方法id **/
private Long configAssayMethodId;
/** 检测方法名称 **/
private String configAssayMethodName;
/** 数据集key **/
private String dataCollectionKey;
/** 数据集id **/
private Long dataCollectionId;
/** 动态表单值 **/
private String formValue;
/** 分配任务的分析数据 **/
private List<BusinessAssayTaskAnalysisDataRespVO> assayTaskAnalysisDataList;
/** 检测方法分析项目补正系数 **/
private List<ConfigAssayMethodProjectCoefficientRespVO> configAssayMethodProjectCoefficientList;
/** 检测方法范围 **/
private List<ConfigAssayMethodProjectRangeRespVO> configAssayMethodProjectRangeList;
}

View File

@@ -4,6 +4,7 @@ import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectCoefficientRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO;
import lombok.Data;
@@ -48,6 +49,9 @@ public class BusinessAssayTaskAnalysisSampleProjectRespVO {
/** 分析的数据 **/
private List<Map<String, Object>> datas;
/** 检测方法分析项目补正系数 **/
private List<ConfigAssayMethodProjectCoefficientRespVO> configAssayMethodProjectCoefficientList;
/** 检测方法范围 **/
private List<ConfigAssayMethodProjectRangeRespVO> configAssayMethodProjectRangeList;

View File

@@ -35,5 +35,10 @@ public interface BusinessQCProjectDataMapper extends BaseMapperX<BusinessQCProje
.eqIfPresent(BusinessQCProjectDataDO::getRemark, reqVO.getRemark())
.orderByDesc(BusinessQCProjectDataDO::getId));
}
default List<BusinessQCProjectDataDO> selectByBusinessQCDataIds(List<Long> businessQCDataIds) {
return selectList(new LambdaQueryWrapperX<BusinessQCProjectDataDO>()
.in(BusinessQCProjectDataDO::getBusinessQCDataId, businessQCDataIds));
}
}

View File

@@ -1,7 +1,6 @@
package com.zt.plat.module.qms.business.bus.service;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
/**
* <b>SampleAnalysisService</b>
@@ -30,6 +29,13 @@ public interface SampleAnalysisService {
*/
void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo);
/**
* 根据分配任务id 获取任务分配单 分析样品项目及品控样品项目
* @param businessAssayTaskId
* @return
*/
BusinessAssayTaskAnalysisSampleAndQcProjectRespVO batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId);
/**
* 根据任务单id提交分析数据
* @param businessAssayTaskId 任务单id

View File

@@ -23,22 +23,33 @@ import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColu
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayParameterDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectAndParameterRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayProjectDataReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleAndQcProjectRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessAssayTaskAnalysisSampleProjectRespVO;
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.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.BusinessQCDataDO;
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.BusinessAssayTaskDetailMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCParameterDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCProjectDataMapper;
import com.zt.plat.module.qms.business.config.controller.vo.BusinessAssayTaskAnalysisDataRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectCoefficientRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigAssayMethodProjectRangeRespVO;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodExtendRespVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectCoefficientDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectRangeDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectCoefficientMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectRangeMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigQCSampleMethodMapper;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataCollectionDO;
import com.zt.plat.module.qms.common.data.service.DataCollectionService;
import com.zt.plat.module.qms.enums.QmsCommonConstant;
@@ -67,6 +78,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Resource
private ConfigAssayMethodProjectRangeMapper configAssayMethodProjectRangeMapper;
@Resource
private ConfigAssayMethodProjectCoefficientMapper configAssayMethodProjectCoefficientMapper;
@Resource
private BusinessAssayTaskMapper businessAssayTaskMapper;
@@ -82,6 +96,18 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
@Resource
private BusinessAssayParameterDataMapper businessAssayParameterDataMapper;
@Resource
private ConfigQCSampleMethodMapper configQCSampleMethodMapper;
@Resource
private BusinessQCDataMapper businessQCDataMapper;
@Resource
private BusinessQCProjectDataMapper businessQCProjectDataMapper;
@Resource
private BusinessQCParameterDataMapper businessQCParameterDataMapper;
@Resource
private DataCollectionService dataCollectionService;
@@ -180,6 +206,10 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
List<ConfigAssayMethodProjectRangeDO> configAssayMethodProjectRangeDOList = configAssayMethodProjectRangeMapper.selectList(new LambdaQueryWrapperX<ConfigAssayMethodProjectRangeDO>().eq(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodProjectRangeList(BeanUtils.toBean(configAssayMethodProjectRangeDOList, ConfigAssayMethodProjectRangeRespVO.class));
//查询补正系数
List<ConfigAssayMethodProjectCoefficientDO> configAssayMethodProjectCoefficientDOList = configAssayMethodProjectCoefficientMapper.selectList(new LambdaQueryWrapperX<ConfigAssayMethodProjectCoefficientDO>().eq(ConfigAssayMethodProjectCoefficientDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodProjectCoefficientList(BeanUtils.toBean(configAssayMethodProjectCoefficientDOList, ConfigAssayMethodProjectCoefficientRespVO.class));
return businessAssayTaskAnalysisSampleProjectRespVO;
}
@@ -304,6 +334,50 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
}
}
@Override
public BusinessAssayTaskAnalysisSampleAndQcProjectRespVO batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId) {
BusinessAssayTaskAnalysisSampleAndQcProjectRespVO businessAssayTaskAnalysisSampleAndQcProjectRespVO = new BusinessAssayTaskAnalysisSampleAndQcProjectRespVO();
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
if (businessAssayTaskDO == null) {
throw new ServiceException(1_032_100_000, "未找到任务分配单");
}
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setBusinessAssayTaskId(businessAssayTaskId);
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setBusinessAssayTasNo(businessAssayTaskDO.getTaskNo());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setBusinessAssayTasName(businessAssayTaskDO.getTaskName());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setAssayOperator(businessAssayTaskDO.getAssayOperator());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setAssayTime(businessAssayTaskDO.getAssayTime());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setDataCollectionId(businessAssayTaskDO.getFormDataCollectionId());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setFormValue(businessAssayTaskDO.getFormValue());
ConfigAssayMethodDO configAssayMethodDO = configAssayMethodMapper.selectById(businessAssayTaskDO.getConfigAssayMethodId());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodName(configAssayMethodDO.getName());
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setDataCollectionKey(configAssayMethodDO.getDataCollectionKey());
//查询区间范围
List<ConfigAssayMethodProjectRangeDO> configAssayMethodProjectRangeDOList = configAssayMethodProjectRangeMapper.selectList(new LambdaQueryWrapperX<ConfigAssayMethodProjectRangeDO>().eq(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodProjectRangeList(BeanUtils.toBean(configAssayMethodProjectRangeDOList, ConfigAssayMethodProjectRangeRespVO.class));
//查询补正系数
List<ConfigAssayMethodProjectCoefficientDO> configAssayMethodProjectCoefficientDOList = configAssayMethodProjectCoefficientMapper.selectList(new LambdaQueryWrapperX<ConfigAssayMethodProjectCoefficientDO>().eq(ConfigAssayMethodProjectCoefficientDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId()));
businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodProjectCoefficientList(BeanUtils.toBean(configAssayMethodProjectCoefficientDOList, ConfigAssayMethodProjectCoefficientRespVO.class));
return businessAssayTaskAnalysisSampleAndQcProjectRespVO;
}
private List<BusinessAssayTaskAnalysisDataRespVO> getQcAnalysis(BusinessAssayTaskDO businessAssayTaskDO) {
List<BusinessAssayTaskAnalysisDataRespVO> list = new ArrayList<>();
List<ConfigQCSampleMethodExtendRespVO> configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId());
List<BusinessQCDataDO> businessQCDataDOList = businessQCDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getConfigAssayMethodId());
//businessQCProjectDataMapper.selectby
return list;
}
@Override
public void submitSampleAnalysisByTaskId(Long businessAssayTaskId) {
String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname();

View File

@@ -0,0 +1,28 @@
package com.zt.plat.module.qms.business.config.controller.vo;
import java.util.List;
import java.util.Map;
import com.zt.plat.module.qms.business.bus.controller.vo.BatchSampleAnalysisColumnRespVO;
import lombok.Data;
/**
* 分析数据
*/
@Data
public class BusinessAssayTaskAnalysisDataRespVO {
/** 分析类型 **/
private String analysisType;
/** 排序号 **/
private Integer sortNo;
/** 分析的列 **/
private List<BatchSampleAnalysisColumnRespVO> columns;
/** 分析的数据 **/
private List<Map<String, Object>> datas;
}