Merge remote-tracking branch 'origin/test' into test

This commit is contained in:
FCL
2025-11-10 18:04:58 +08:00
7 changed files with 172 additions and 2 deletions

View File

@@ -29,6 +29,12 @@ public class SampleAnalysisAuditController {
@Resource
private SampleAnalysisAuditService sampleAnalysisAuditService;
@GetMapping("/crossAuditByTaskId")
public CommonResult<?> crossAuditByTaskId(Long businessAssayTaskId) {
JSONObject result = sampleAnalysisAuditService.crossAuditByTaskId(businessAssayTaskId);
return success(result);
}
/**
* 交叉审核

View File

@@ -9,7 +9,13 @@ public class BusinessSampleEntrustDetailExtendRespVO extends BusinessSampleEntru
/** 样品大类名称 **/
private String baseSampleName;
/** 主样配置id **/
private Long configBaseSampleId;
/** 打印标签 **/
private String printTemplate;
private List<BusinessSampleEntrustProjectExtendRespVO> sampleEntrustDetailProjectList;
}

View File

@@ -6,8 +6,10 @@ 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.module.qms.business.bus.controller.vo.*;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessBaseSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSampleEntrustDetailDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.BaseSampleDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigBaseSampleDO;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
@@ -24,8 +26,12 @@ public interface BusinessSampleEntrustDetailMapper extends BaseMapperX<BusinessS
default List<BusinessSampleEntrustDetailExtendRespVO> selectList(BusinessSampleEntrustDetailReqVO reqVO) {
return selectJoinList(BusinessSampleEntrustDetailExtendRespVO.class, new MPJLambdaWrapperX<BusinessSampleEntrustDetailDO>()
.leftJoin(BaseSampleDO.class, BaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBaseSampleId)
.leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBusinessBaseSampleId)
.leftJoin(ConfigBaseSampleDO.class, ConfigBaseSampleDO::getId, BusinessBaseSampleDO::getConfigBaseSampleId)
.selectAll(BusinessSampleEntrustDetailDO.class)
.selectAs(BaseSampleDO::getName, BusinessSampleEntrustDetailExtendRespVO::getBaseSampleName)
.selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessSampleEntrustDetailExtendRespVO::getConfigBaseSampleId)
.selectAs(ConfigBaseSampleDO::getPrintTemplate, BusinessSampleEntrustDetailExtendRespVO::getPrintTemplate)
.eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId())
.eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId())
.eqIfPresent(BusinessSampleEntrustDetailDO::getBaseSampleId, reqVO.getBaseSampleId())
@@ -48,8 +54,12 @@ public interface BusinessSampleEntrustDetailMapper extends BaseMapperX<BusinessS
default PageResult<BusinessSampleEntrustDetailExtendRespVO> selectPage(BusinessSampleEntrustDetailPageReqVO reqVO) {
return selectJoinPage(reqVO, BusinessSampleEntrustDetailExtendRespVO.class, new MPJLambdaWrapperX<BusinessSampleEntrustDetailDO>()
.leftJoin(BaseSampleDO.class, BaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBaseSampleId)
.leftJoin(BusinessBaseSampleDO.class, BusinessBaseSampleDO::getId, BusinessSampleEntrustDetailDO::getBusinessBaseSampleId)
.leftJoin(ConfigBaseSampleDO.class, ConfigBaseSampleDO::getId, BusinessBaseSampleDO::getConfigBaseSampleId)
.selectAll(BusinessSampleEntrustDetailDO.class)
.selectAs(BaseSampleDO::getName, BusinessSampleEntrustDetailExtendRespVO::getBaseSampleName)
.selectAs(BusinessBaseSampleDO::getConfigBaseSampleId, BusinessSampleEntrustDetailExtendRespVO::getConfigBaseSampleId)
.selectAs(ConfigBaseSampleDO::getPrintTemplate, BusinessSampleEntrustDetailExtendRespVO::getPrintTemplate)
.eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessSampleEntrustRegistrationId, reqVO.getBusinessSampleEntrustRegistrationId())
.eqIfPresent(BusinessSampleEntrustDetailDO::getBusinessBaseSampleId, reqVO.getBusinessBaseSampleId())
.eqIfPresent(BusinessSampleEntrustDetailDO::getBaseSampleId, reqVO.getBaseSampleId())

View File

@@ -18,6 +18,8 @@ import com.alibaba.fastjson2.JSONObject;
*/
public interface SampleAnalysisAuditService {
JSONObject crossAuditByTaskId(Long businessAssayTaskId);
void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus);
JSONObject getSampleResultAssessmentList(Long configAssayMethodId, String assessmentStatus);
@@ -32,4 +34,5 @@ public interface SampleAnalysisAuditService {
JSONObject modifyParallelResultAssessment(Long businessSubSampleId, Long configAssayMethodId, Long businessSubSampleAssessmentId, List<Long> businessAssayProjectDataIds);
}

View File

@@ -13,12 +13,14 @@ import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.commons.collections4.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.nacos.shaded.io.grpc.Attributes.Key;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.ql.util.express.DefaultContext;
@@ -32,7 +34,10 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayProjectDa
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayReportDataDO;
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.BusinessBaseSampleDO;
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.BusinessSubParentSampleAssessmentDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubParentSampleDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleAssessmentDO;
@@ -44,6 +49,11 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDataMappe
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.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.BusinessSubParentSampleAssessmentMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubParentSampleMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleAssessmentMapper;
@@ -104,6 +114,21 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
@Resource
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
@Resource
private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper;
@Resource
private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper;
@Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@Resource
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
@Resource
private BusinessQCManagementParameterDataMapper businessQCManagementParameterDataMapper;
@Resource
private ConfigAssayMethodProjectAssessmentMapper configAssayMethodProjectAssessmentMapper;
@@ -254,6 +279,115 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
return null;
}
@Override
public JSONObject crossAuditByTaskId(Long businessAssayTaskId) {
JSONObject resultJsonObject = new JSONObject();
BusinessAssayTaskDO businessAssayTaskDO = businessAssayTaskMapper.selectById(businessAssayTaskId);
if (businessAssayTaskDO == null) {
throw new ServiceException(1_032_100_000, "未找到任务分配单");
}
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");
BusinessAssayProjectDataReqVO projectDataSearch2 = new BusinessAssayProjectDataReqVO();
projectDataSearch2.setBusinessAssayTaskDataId(businessAssayTaskDataDO.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessAssayProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
map.put("e" + ep.getDicId(), ep);
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);
}
}
}
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());
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO();
projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
map.put("e" + ep.getDicId(), ep);
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);
}
}
}
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());
BusinessQCCoefficientParameterDataReqVO parameterDataSearch2 = new BusinessQCCoefficientParameterDataReqVO();
parameterDataSearch2.setBusinessQCCoefficientDataId(businessQCCoefficientData.getId());
List<BusinessAssayProjectAndParameterRespVO> plist2 = businessQCCoefficientParameterDataMapper.selectProjectAndParameterBy(parameterDataSearch2);
for (BusinessAssayProjectAndParameterRespVO p : plist2) {
map.put("p" + p.getDicId(), p);
}
datas.add(map);
}
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()) {
resultJsonObject.put(entry.getKey(), entry.getValue());
}
return resultJsonObject;
}
@Override
public void crossAuditByByTaskId(Long businessAssayTaskId, String auditStatus) {
@@ -873,6 +1007,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
return getParallelResultAssessment(businessSubSampleId, configAssayMethodId);
}
}

View File

@@ -576,7 +576,7 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
map.put("sampleName", businessQCManagementData.getSampleName());
BusinessQCManagementProjectDataReqVO projectDataSearch2 = new BusinessQCManagementProjectDataReqVO();
projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementDataDO.getId());
projectDataSearch2.setBusinessQCManagementDataId(businessQCManagementData.getId());
List<BusinessAssayProjectAndParameterRespVO> projectAndParameterList2 = businessQCManagementProjectDataMapper.selectProjectAndParameterBy(projectDataSearch2);
for (BusinessAssayProjectAndParameterRespVO ep : projectAndParameterList2) {
map.put("e" + ep.getDicId(), ep);

View File

@@ -149,6 +149,15 @@ public class ConfigReportTemplateController implements BusinessControllerMarker
return success(BeanUtils.toBean(configReportTemplate, ConfigReportTemplateRespVO.class));
}
@GetMapping("/getByKey")
@Operation(summary = "获得报表模版配置")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('qms:config-report-template:query')")
public CommonResult<ConfigReportTemplateRespVO> getConfigReportTemplate(@RequestParam("key") String key) {
ConfigReportTemplateDO configReportTemplate = configReportTemplateService.getConfigReportTemplateByKey(key);
return success(BeanUtils.toBean(configReportTemplate, ConfigReportTemplateRespVO.class));
}
@GetMapping("/page")
@Operation(summary = "获得报表模版配置分页")
//@PreAuthorize("@ss.hasPermission('qms:config-report-template:query')")