Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -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;
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分析人
|
* 分析人
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user