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

This commit is contained in:
shusir
2026-02-05 08:32:13 +08:00
12 changed files with 222 additions and 10 deletions

View File

@@ -0,0 +1,30 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@Data
public class BusinessAssayTaskParameterDataExtendRespVO extends BusinessAssayTaskParameterDataRespVO {
@Schema(description = "检测方法ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "29823")
@ExcelProperty("检测方法ID")
private Long configAssayMethodId;
@Schema(description = "参数名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
@ExcelProperty("参数名称")
private String parameterName;
@Schema(description = "参数简称", example = "张三")
@ExcelProperty("参数简称")
private String shortName;
@Schema(description = "参数序号", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("参数序号")
private Integer no;
@Schema(description = "键值")
@ExcelProperty("键值")
private String key;
}

View File

@@ -32,6 +32,14 @@ public class BusinessXRFDataPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleTime; private LocalDateTime[] sampleTime;
@Schema(description = "样品开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleStartTime;
@Schema(description = "样品结束时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleEndTime;
@Schema(description = "分析人") @Schema(description = "分析人")
private String assayOperator; private String assayOperator;

View File

@@ -35,6 +35,14 @@ public class BusinessXRFDataReqVO {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleTime; private LocalDateTime[] sampleTime;
@Schema(description = "样品开始时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleStartTime;
@Schema(description = "样品结束时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] sampleEndTime;
@Schema(description = "分析人") @Schema(description = "分析人")
private String assayOperator; private String assayOperator;

View File

@@ -40,6 +40,14 @@ public class BusinessXRFDataRespVO {
@ExcelProperty("样品时间") @ExcelProperty("样品时间")
private LocalDateTime sampleTime; private LocalDateTime sampleTime;
@Schema(description = "样品开始时间")
@ExcelProperty("样品开始时间")
private LocalDateTime sampleStartTime;
@Schema(description = "样品结束时间")
@ExcelProperty("样品结束时间")
private LocalDateTime sampleEndTime;
@Schema(description = "分析人") @Schema(description = "分析人")
@ExcelProperty("分析人") @ExcelProperty("分析人")
private String assayOperator; private String assayOperator;

View File

@@ -34,6 +34,12 @@ public class BusinessXRFDataSaveReqVO {
@Schema(description = "样品时间") @Schema(description = "样品时间")
private LocalDateTime sampleTime; private LocalDateTime sampleTime;
@Schema(description = "样品开始时间")
private LocalDateTime sampleStartTime;
@Schema(description = "样品结束时间")
private LocalDateTime sampleEndTime;
@Schema(description = "分析人") @Schema(description = "分析人")
private String assayOperator; private String assayOperator;

View File

@@ -2,10 +2,7 @@ package com.zt.plat.module.qms.business.bus.dal.dataobject;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO;
/** /**
@@ -64,6 +61,16 @@ public class BusinessXRFDataDO extends BusinessBaseDO {
@TableField("SMP_TM") @TableField("SMP_TM")
private LocalDateTime sampleTime; private LocalDateTime sampleTime;
/** /**
* 样品开始时间
*/
@TableField("SMP_STRT_TM")
private LocalDateTime sampleStartTime;
/**
* 样品结束时间
*/
@TableField("SMP_END_TM")
private LocalDateTime sampleEndTime;
/**
* 分析人 * 分析人
*/ */
@TableField("ASY_OPTR") @TableField("ASY_OPTR")

View File

@@ -290,6 +290,7 @@ public interface BusinessAssayTaskDataMapper extends BaseMapperX<BusinessAssayTa
.selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayTaskDataExtendRespVO::getSampleName) .selectAs(BusinessSubSampleDO::getSampleName, BusinessAssayTaskDataExtendRespVO::getSampleName)
.selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayTaskDataExtendRespVO::getSampleCode) .selectAs(BusinessSubSampleDO::getSampleCode, BusinessAssayTaskDataExtendRespVO::getSampleCode)
.selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayTaskDataExtendRespVO::getSampleAssayCode) .selectAs(BusinessSubSampleDO::getSampleAssayCode, BusinessAssayTaskDataExtendRespVO::getSampleAssayCode)
.selectAs(BusinessSubSampleDO::getConfigSubSampleId, BusinessAssayTaskDataExtendRespVO::getConfigSubSampleId)
.in(BusinessSubSampleDO::getSampleAssayCode, sampleAssayCodes) .in(BusinessSubSampleDO::getSampleAssayCode, sampleAssayCodes)
.eq(ConfigAssayMethodDO::getDictionaryBusinessKey, configAssayMethodDictionaryBusinessKey) .eq(ConfigAssayMethodDO::getDictionaryBusinessKey, configAssayMethodDictionaryBusinessKey)
.eq(BusinessAssayTaskDataDO::getIsReported, QmsCommonConstant.NO)); .eq(BusinessAssayTaskDataDO::getIsReported, QmsCommonConstant.NO));

View File

@@ -61,4 +61,18 @@ public interface BusinessAssayTaskParameterDataMapper extends BaseMapperX<Busine
.orderByAsc(ConfigAssayMethodParameterDO::getSortNo)); .orderByAsc(ConfigAssayMethodParameterDO::getSortNo));
} }
default List<BusinessAssayTaskParameterDataExtendRespVO> selectExtendByBusinessAssayTaskDataIds(List<Long> businessAssayTaskDataIdList) {
return selectJoinList(BusinessAssayTaskParameterDataExtendRespVO.class, new MPJLambdaWrapperX<BusinessAssayTaskParameterDataDO>()
.leftJoin(ConfigAssayMethodParameterDO.class, ConfigAssayMethodParameterDO::getId, BusinessAssayTaskParameterDataDO::getConfigAssayMethodParameterId)
.selectAll(BusinessAssayTaskParameterDataDO.class)
.selectAs(ConfigAssayMethodParameterDO::getConfigAssayMethodId, BusinessAssayTaskParameterDataExtendRespVO::getConfigAssayMethodId)
.selectAs(ConfigAssayMethodParameterDO::getParameterName, BusinessAssayTaskParameterDataExtendRespVO::getParameterName)
.selectAs(ConfigAssayMethodParameterDO::getShortName, BusinessAssayTaskParameterDataExtendRespVO::getShortName)
.selectAs(ConfigAssayMethodParameterDO::getKey, BusinessAssayTaskParameterDataExtendRespVO::getKey)
.selectAs(ConfigAssayMethodParameterDO::getNo, BusinessAssayTaskParameterDataExtendRespVO::getNo)
.in(BusinessAssayTaskParameterDataDO::getBusinessAssayTaskDataId, businessAssayTaskDataIdList)
);
}
} }

View File

@@ -666,11 +666,11 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
String targetParameter = target.getParameter(); String targetParameter = target.getParameter();
BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(businessAssayTaskDataDO.getId(), targetProject, targetParameter); BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(businessAssayTaskDataDO.getId(), targetProject, targetParameter);
if (businessAssayParameterDataDO == null) { // if (businessAssayParameterDataDO == null) {
throw new ServiceException(1_032_100_000, "子样检测方法映射配置错误"); // throw new ServiceException(1_032_100_000, "子样检测方法映射配置错误");
} // }
if (StringUtils.isBlank(businessAssayParameterDataDO.getValue())) { if (businessAssayParameterDataDO != null && StringUtils.isBlank(businessAssayParameterDataDO.getValue())) {
//1 查询委托明细 //1 查询委托明细
BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = businessSampleEntrustDetailMapper.selectByBusinessBaseSampleId(businessAssayTaskDataDO.getBusinessBaseSampleId()); BusinessSampleEntrustDetailDO businessSampleEntrustDetailDO = businessSampleEntrustDetailMapper.selectByBusinessBaseSampleId(businessAssayTaskDataDO.getBusinessBaseSampleId());
//2 查询样品大类 //2 查询样品大类
@@ -1295,6 +1295,9 @@ public class SampleAnalysisServiceImpl implements SampleAnalysisService {
if (StringUtils.isNotBlank(configInfomation)) { if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class); ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
List<ConfigSubSampleMethodConfItem> setParamList = configSubSampleMethodConfInfo.getSetParam(); List<ConfigSubSampleMethodConfItem> setParamList = configSubSampleMethodConfInfo.getSetParam();
if (CollUtil.isEmpty(setParamList)) {
continue;//跳出循环
}
String methodKey = setParamList.stream().map(m -> m.getTarget().getMethodKey()).distinct().findFirst().orElse(null); String methodKey = setParamList.stream().map(m -> m.getTarget().getMethodKey()).distinct().findFirst().orElse(null);
List<BusinessAssayTaskDataDO> targetBusinessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndMethodKey(businessAssayTaskData.getBusinessSubSampleId(), methodKey); List<BusinessAssayTaskDataDO> targetBusinessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndMethodKey(businessAssayTaskData.getBusinessSubSampleId(), methodKey);

View File

@@ -214,9 +214,17 @@ public class ReportDocumentMainServiceImpl implements ReportDocumentMainService,
//委托单号 //委托单号
String entrustCode = ""; String entrustCode = "";
if(!ObjectUtils.isEmpty(entrustList)){ if(!ObjectUtils.isEmpty(entrustList)){
for(BusinessSampleEntrustRegistrationDO entrust : entrustList){ for(BusinessSampleEntrustRegistrationDO entrust : entrustList){
entrustCode += entrust.getEntrustNumber() + ","; entrustCode += entrust.getEntrustNumber() + ",";
String externalInfomation = entrust.getExternalInfomation();
if(!ObjectUtils.isEmpty(externalInfomation)){
JSONObject externalInfomationJson = JSONObject.parseObject(externalInfomation);
String sampleCategory = externalInfomationJson.getString("sampleCategory");
if(!ObjectUtils.isEmpty(sampleCategory))
formDataJson.put("sampleCategory", sampleCategory);
}
break; break;
} }
} }

View File

@@ -54,6 +54,26 @@ public class XRFDeviceSampleReqVO implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "样品时间") @Schema(description = "样品时间")
private LocalDateTime sampleTime; private LocalDateTime sampleTime;
/**
* 样品开始时间
*/
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
@JsonDeserialize(using = LocalDateTimeDeserializer.class) // 反序列化(请求)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "样品开始时间")
private LocalDateTime sampleStartTime;
/**
* 样品结束时间
*/
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
@JsonDeserialize(using = LocalDateTimeDeserializer.class) // 反序列化(请求)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Schema(description = "样品结束时间")
private LocalDateTime sampleEndTime;
/** /**
* 分析人 * 分析人

View File

@@ -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.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -17,29 +18,40 @@ import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.qms.business.bus.controller.vo.*; import com.zt.plat.module.qms.business.bus.controller.vo.*;
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.BusinessAssayProjectDataDO;
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.BusinessAssayTaskParameterDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO;
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessXRFDataDO; import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessXRFDataDO;
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.BusinessAssayProjectDataMapper;
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.BusinessAssayTaskParameterDataMapper;
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.BusinessQCManagementProjectDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCManagementProjectDataMapper;
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessXRFDataMapper; import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessXRFDataMapper;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfInfo;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfItem;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodConfPoint;
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFConversionRateDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFConversionRateDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFLineDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFLineDO;
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFProjectDO; import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFProjectDO;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigSubSampleMethodMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFConversionRateMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFConversionRateMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFLineMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFLineMapper;
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFProjectMapper; import com.zt.plat.module.qms.business.config.dal.mapper.ConfigXRFProjectMapper;
import com.zt.plat.module.qms.enums.QmsCommonConstant; import com.zt.plat.module.qms.enums.QmsCommonConstant;
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.*; import com.zt.plat.module.qms.thirdpartyapi.controller.vo.*;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -59,15 +71,24 @@ public class XRFDataServiceImpl implements XRFDataService {
@Resource @Resource
private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper; private ConfigAssayMethodProjectMapper configAssayMethodProjectMapper;
@Resource
private ConfigSubSampleMethodMapper configSubSampleMethodMapper;
@Resource @Resource
private BusinessXRFDataMapper businessXRFDataMapper; private BusinessXRFDataMapper businessXRFDataMapper;
@Resource @Resource
private BusinessAssayTaskDataMapper businessAssayTaskDataMapper; private BusinessAssayTaskDataMapper businessAssayTaskDataMapper;
@Resource
private BusinessAssayTaskParameterDataMapper businessAssayTaskParameterDataMapper;
@Resource @Resource
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper; private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
@Resource
private BusinessAssayParameterDataMapper businessAssayParameterDataMapper;
@Resource @Resource
private BusinessQCManagementDataMapper businessQCManagementDataMapper; private BusinessQCManagementDataMapper businessQCManagementDataMapper;
@@ -120,6 +141,11 @@ public class XRFDataServiceImpl implements XRFDataService {
//根据样品编号及分析方法类型,获取检测任务数据 //根据样品编号及分析方法类型,获取检测任务数据
List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf"); List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
List<Long> businessAssayTaskDataIdList = businessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
//获取检测参数
List<BusinessAssayTaskParameterDataExtendRespVO> businessAssayTaskParameterDataExtendList = businessAssayTaskParameterDataMapper.selectExtendByBusinessAssayTaskDataIds(businessAssayTaskDataIdList);
//管理样和标准样 //管理样和标准样
List<BusinessQCManagementDataDO> businessQCManagementDataList = businessQCManagementDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf"); List<BusinessQCManagementDataDO> businessQCManagementDataList = businessQCManagementDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
@@ -128,7 +154,11 @@ public class XRFDataServiceImpl implements XRFDataService {
// List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf"); // List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = new ArrayList<>(); List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = new ArrayList<>();
List<BusinessAssayTaskParameterDataDO> businessAssayTaskParameterDataList = new ArrayList<>();
List<BusinessAssayProjectDataDO> busElementValueList = new ArrayList<>(); List<BusinessAssayProjectDataDO> busElementValueList = new ArrayList<>();
List<BusinessAssayParameterDataDO> updateBusinessAssayParameterDataList = new ArrayList<>();
List<BusinessQCManagementProjectDataDO> busQcManageElementValueList = new ArrayList<>(); List<BusinessQCManagementProjectDataDO> busQcManageElementValueList = new ArrayList<>();
// List<BusinessQCCoefficientParameterDataDO> busQccParameterValueList = new ArrayList<>(); // List<BusinessQCCoefficientParameterDataDO> busQccParameterValueList = new ArrayList<>();
List<BusinessXRFDataDO> busYgDataList = new ArrayList<>(); List<BusinessXRFDataDO> busYgDataList = new ArrayList<>();
@@ -149,6 +179,8 @@ public class XRFDataServiceImpl implements XRFDataService {
busYgData.setXRFSampleId(ygDeviceSample.getSampleId()); busYgData.setXRFSampleId(ygDeviceSample.getSampleId());
busYgData.setSampleCode(ygDeviceSample.getSampleCode()); busYgData.setSampleCode(ygDeviceSample.getSampleCode());
busYgData.setSampleTime(ygDeviceSample.getSampleTime()); busYgData.setSampleTime(ygDeviceSample.getSampleTime());
busYgData.setSampleStartTime(ygDeviceSample.getSampleStartTime());
busYgData.setSampleEndTime(ygDeviceSample.getSampleEndTime());
busYgData.setAssayOperator(ygDeviceSample.getAssayOper()); busYgData.setAssayOperator(ygDeviceSample.getAssayOper());
busYgData.setIsCheckCreate(ygDeviceSample.getIsCheck() ? 1 : 0); busYgData.setIsCheckCreate(ygDeviceSample.getIsCheck() ? 1 : 0);
@@ -164,7 +196,26 @@ public class XRFDataServiceImpl implements XRFDataService {
List<BusinessAssayProjectDataExtendRespVO> tempBusElementValueList = new ArrayList<>(); List<BusinessAssayProjectDataExtendRespVO> tempBusElementValueList = new ArrayList<>();
List<BusinessAssayTaskDataExtendRespVO> currBusinessAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleAssayCode())).collect(Collectors.toList()); List<BusinessAssayTaskDataExtendRespVO> currBusinessAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleAssayCode())).collect(Collectors.toList());
if (currBusinessAssayTaskDataList != null && currBusinessAssayTaskDataList.size() > 0) { if (currBusinessAssayTaskDataList != null && currBusinessAssayTaskDataList.size() > 0) {
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : currBusinessAssayTaskDataList) { for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : currBusinessAssayTaskDataList) {
//处理任务参数
List<BusinessAssayTaskParameterDataExtendRespVO> currBusinessAssayTaskParameterDataExtendList = businessAssayTaskParameterDataExtendList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId())).collect(Collectors.toList());
for (BusinessAssayTaskParameterDataExtendRespVO currBusinessAssayTaskParameterDataExtend : currBusinessAssayTaskParameterDataExtendList) {
switch (currBusinessAssayTaskParameterDataExtend.getKey()) {
case "lineName":
currBusinessAssayTaskParameterDataExtend.setValue(busYgData.getLineName());
businessAssayTaskParameterDataList.add(BeanUtils.toBean(currBusinessAssayTaskParameterDataExtend, BusinessAssayTaskParameterDataDO.class));
break;
case "sampleStartTime":
currBusinessAssayTaskParameterDataExtend.setValue(DateUtil.formatLocalDateTime(busYgData.getSampleStartTime()));
businessAssayTaskParameterDataList.add(BeanUtils.toBean(currBusinessAssayTaskParameterDataExtend, BusinessAssayTaskParameterDataDO.class));
break;
case "sampleEndTime":
currBusinessAssayTaskParameterDataExtend.setValue(DateUtil.formatLocalDateTime(busYgData.getSampleEndTime()));
businessAssayTaskParameterDataList.add(BeanUtils.toBean(currBusinessAssayTaskParameterDataExtend, BusinessAssayTaskParameterDataDO.class));
break;
}
}
List<BusinessAssayProjectDataExtendRespVO> busElementValues = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataId(businessAssayTaskData.getId()); List<BusinessAssayProjectDataExtendRespVO> busElementValues = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataId(businessAssayTaskData.getId());
tempBusElementValueList.addAll(busElementValues); tempBusElementValueList.addAll(busElementValues);
} }
@@ -295,6 +346,43 @@ public class XRFDataServiceImpl implements XRFDataService {
if (currBusinessAssayTaskDataList != null && currBusinessAssayTaskDataList.size() > 0) { if (currBusinessAssayTaskDataList != null && currBusinessAssayTaskDataList.size() > 0) {
for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : currBusinessAssayTaskDataList) { for (BusinessAssayTaskDataExtendRespVO businessAssayTaskData : currBusinessAssayTaskDataList) {
ConfigSubSampleMethodExtendRespVO configSubSampleMethod = configSubSampleMethodMapper.selectByConfigSubSampleIdAndConfigAssayMethodId(businessAssayTaskData.getConfigSubSampleId(), businessAssayTaskData.getConfigAssayMethodId());
String configInfomation = configSubSampleMethod.getConfigInfomation();
if (StringUtils.isNotBlank(configInfomation)) {
ConfigSubSampleMethodConfInfo configSubSampleMethodConfInfo = JSON.parseObject(configInfomation, ConfigSubSampleMethodConfInfo.class);
List<ConfigSubSampleMethodConfItem> setParamList = configSubSampleMethodConfInfo.getSetParam();
if (CollUtil.isEmpty(setParamList)) {
continue;//跳出循环
}
String methodKey = setParamList.stream().map(m -> m.getTarget().getMethodKey()).distinct().findFirst().orElse(null);
List<BusinessAssayTaskDataDO> targetBusinessAssayTaskDataList = businessAssayTaskDataMapper.selectByBusinessSubSampleIdAndMethodKey(businessAssayTaskData.getBusinessSubSampleId(), methodKey);
List<Long> targetBusinessAssayTaskDataIdList = targetBusinessAssayTaskDataList.stream().map(m -> m.getId()).collect(Collectors.toList());
List<BusinessAssayProjectDataExtendRespVO> targetBusinessAssayProjectDataExtendList = businessAssayProjectDataMapper.selectByBusinessAssayTaskDataIds(targetBusinessAssayTaskDataIdList);
for (ConfigSubSampleMethodConfItem configSubSampleMethodConfItem : setParamList) {
ConfigSubSampleMethodConfPoint source = configSubSampleMethodConfItem.getSource();
String project = source.getProject();
BusinessAssayProjectDataExtendRespVO currentBusinessAssayProjectData = tempBusElementValueList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(businessAssayTaskData.getId()) && f.getSimpleName().equals(project)).findFirst().orElse(null);
ConfigSubSampleMethodConfPoint target = configSubSampleMethodConfItem.getTarget();
for (BusinessAssayTaskDataDO targetBusinessAssayTaskData : targetBusinessAssayTaskDataList) {
List<String> targetProjectList = Arrays.asList(target.getProject().split(","));
String targetParameter = target.getParameter();
for (String targetProject : targetProjectList) {
BusinessAssayProjectDataExtendRespVO targetBusinessAssayProjectData = targetBusinessAssayProjectDataExtendList.stream().filter(f -> f.getBusinessAssayTaskDataId().equals(targetBusinessAssayTaskData.getId()) && f.getSimpleName().equals(targetProject)).findFirst().orElse(null);
BusinessAssayParameterDataDO businessAssayParameterDataDO = businessAssayParameterDataMapper.selectByBusinessAssayTaskDataIdAndProjectSimpleNameAndParameterKey(targetBusinessAssayProjectData.getId(), targetProject, targetParameter);
if (businessAssayParameterDataDO != null) {
businessAssayParameterDataDO.setValue(currentBusinessAssayProjectData.getValue());
updateBusinessAssayParameterDataList.add(businessAssayParameterDataDO);
}
}
}
}
}
busYgData.setIsMatched(QmsCommonConstant.YES); busYgData.setIsMatched(QmsCommonConstant.YES);
busYgData.setBusinessBaseSampleId(businessAssayTaskData.getBusinessBaseSampleId()); busYgData.setBusinessBaseSampleId(businessAssayTaskData.getBusinessBaseSampleId());
busYgData.setBusinessSubParentSampleId(businessAssayTaskData.getBusinessSubParentSampleId()); busYgData.setBusinessSubParentSampleId(businessAssayTaskData.getBusinessSubParentSampleId());
@@ -326,11 +414,22 @@ public class XRFDataServiceImpl implements XRFDataService {
//保存荧光数据 //保存荧光数据
businessXRFDataMapper.insertBatch(busYgDataList); businessXRFDataMapper.insertBatch(busYgDataList);
//更新任务参数
if (businessAssayTaskParameterDataList.size() > 0) {
businessAssayTaskParameterDataMapper.updateBatch(businessAssayTaskParameterDataList);
}
//更新分析结果 //更新分析结果
if (busElementValueList.size() > 0) { if (busElementValueList.size() > 0) {
businessAssayProjectDataMapper.updateBatch(busElementValueList); businessAssayProjectDataMapper.updateBatch(busElementValueList);
} }
//更新检测项目参数
if (updateBusinessAssayParameterDataList.size() > 0) {
businessAssayParameterDataMapper.updateBatch(updateBusinessAssayParameterDataList);
}
//荧光管理样和标准样 //荧光管理样和标准样
if (busQcManageElementValueList.size() > 0) { if (busQcManageElementValueList.size() > 0) {
businessQCManagementProjectDataMapper.updateBatch(busQcManageElementValueList); businessQCManagementProjectDataMapper.updateBatch(busQcManageElementValueList);