diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java index a345dda..eca31d3 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/admin/SampleAnalysisController.java @@ -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) { diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleAndQcProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleAndQcProjectRespVO.java new file mode 100644 index 0000000..bba4d9d --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleAndQcProjectRespVO.java @@ -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 assayTaskAnalysisDataList; + + /** 检测方法分析项目补正系数 **/ + private List configAssayMethodProjectCoefficientList; + + /** 检测方法范围 **/ + private List configAssayMethodProjectRangeList; + + +} diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java index 10d8279..c1dbc4a 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/controller/vo/BusinessAssayTaskAnalysisSampleProjectRespVO.java @@ -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> datas; + + /** 检测方法分析项目补正系数 **/ + private List configAssayMethodProjectCoefficientList; /** 检测方法范围 **/ private List configAssayMethodProjectRangeList; diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCProjectDataMapper.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCProjectDataMapper.java index d5ed79e..e06bcf1 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCProjectDataMapper.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/dal/mapper/BusinessQCProjectDataMapper.java @@ -35,5 +35,10 @@ public interface BusinessQCProjectDataMapper extends BaseMapperX selectByBusinessQCDataIds(List businessQCDataIds) { + return selectList(new LambdaQueryWrapperX() + .in(BusinessQCProjectDataDO::getBusinessQCDataId, businessQCDataIds)); + } } \ No newline at end of file diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java index 5f248c0..9069f58 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisService.java @@ -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; /** * SampleAnalysisService @@ -30,6 +29,13 @@ public interface SampleAnalysisService { */ void saveBatchSampleAnalysis(BusinessAssayTaskAnalysisSampleProjectRespVO vo); + /** + * 根据分配任务id 获取任务分配单 分析样品项目及品控样品项目 + * @param businessAssayTaskId + * @return + */ + BusinessAssayTaskAnalysisSampleAndQcProjectRespVO batchSampleAndQcAnalysisByTaskId(Long businessAssayTaskId); + /** * 根据任务单id提交分析数据 * @param businessAssayTaskId 任务单id diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java index 05c2996..2881e9b 100644 --- a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/bus/service/SampleAnalysisServiceImpl.java @@ -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 configAssayMethodProjectRangeDOList = configAssayMethodProjectRangeMapper.selectList(new LambdaQueryWrapperX().eq(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); businessAssayTaskAnalysisSampleProjectRespVO.setConfigAssayMethodProjectRangeList(BeanUtils.toBean(configAssayMethodProjectRangeDOList, ConfigAssayMethodProjectRangeRespVO.class)); + //查询补正系数 + List configAssayMethodProjectCoefficientDOList = configAssayMethodProjectCoefficientMapper.selectList(new LambdaQueryWrapperX().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 configAssayMethodProjectRangeDOList = configAssayMethodProjectRangeMapper.selectList(new LambdaQueryWrapperX().eq(ConfigAssayMethodProjectRangeDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodProjectRangeList(BeanUtils.toBean(configAssayMethodProjectRangeDOList, ConfigAssayMethodProjectRangeRespVO.class)); + + //查询补正系数 + List configAssayMethodProjectCoefficientDOList = configAssayMethodProjectCoefficientMapper.selectList(new LambdaQueryWrapperX().eq(ConfigAssayMethodProjectCoefficientDO::getConfigAssayMethodId, businessAssayTaskDO.getConfigAssayMethodId())); + businessAssayTaskAnalysisSampleAndQcProjectRespVO.setConfigAssayMethodProjectCoefficientList(BeanUtils.toBean(configAssayMethodProjectCoefficientDOList, ConfigAssayMethodProjectCoefficientRespVO.class)); + + return businessAssayTaskAnalysisSampleAndQcProjectRespVO; + } + + private List getQcAnalysis(BusinessAssayTaskDO businessAssayTaskDO) { + List list = new ArrayList<>(); + List configQCSampleMethodList = configQCSampleMethodMapper.selectByConfigAssayMethodId(businessAssayTaskDO.getConfigAssayMethodId()); + List businessQCDataDOList = businessQCDataMapper.selectByBusinessAssayTaskId(businessAssayTaskDO.getConfigAssayMethodId()); + //businessQCProjectDataMapper.selectby + + return list; + } + + @Override public void submitSampleAnalysisByTaskId(Long businessAssayTaskId) { String loginUserNickname = SecurityFrameworkUtils.getLoginUserNickname(); diff --git a/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BusinessAssayTaskAnalysisDataRespVO.java b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BusinessAssayTaskAnalysisDataRespVO.java new file mode 100644 index 0000000..b62aec8 --- /dev/null +++ b/zt-module-qms/zt-module-qms-server/src/main/java/com/zt/plat/module/qms/business/config/controller/vo/BusinessAssayTaskAnalysisDataRespVO.java @@ -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 columns; + + /** 分析的数据 **/ + private List> datas; +}