荧光取数接口添加管理样和标准样匹配
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
package com.zt.plat.module.qms.business.bus.dal.mapper;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
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.BusinessQCCoefficientDataDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
|
||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
||||
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -82,4 +84,13 @@ public interface BusinessQCCoefficientDataMapper extends BaseMapperX<BusinessQCC
|
||||
.eq(BusinessQCCoefficientDataDO::getDictionaryBusinessKey, dictionaryBusinessKey));
|
||||
}
|
||||
|
||||
default List<BusinessQCCoefficientDataDO> selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(List<String> sampleCodeList, String configAssayMethodDictionaryBusinessKey) {
|
||||
return selectJoinList(BusinessQCCoefficientDataDO.class, new MPJLambdaWrapperX<BusinessQCCoefficientDataDO>()
|
||||
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessQCCoefficientDataDO::getConfigAssayMethodId)
|
||||
.selectAll(BusinessQCCoefficientDataDO.class)
|
||||
.in(BusinessQCCoefficientDataDO::getSampleCode, sampleCodeList)
|
||||
.eq(BusinessQCCoefficientDataDO::getIsReported, QmsCommonConstant.NO)
|
||||
.eq(ConfigAssayMethodDO::getDictionaryBusinessKey, configAssayMethodDictionaryBusinessKey));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,8 +4,11 @@ import java.util.*;
|
||||
|
||||
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.BusinessQCManagementDataDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
|
||||
import com.zt.plat.module.qms.enums.QmsCommonConstant;
|
||||
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@@ -76,4 +79,13 @@ public interface BusinessQCManagementDataMapper extends BaseMapperX<BusinessQCMa
|
||||
.eq(BusinessQCManagementDataDO::getBusinessAssayTaskId, businessAssayTaskId));
|
||||
}
|
||||
|
||||
default List<BusinessQCManagementDataDO> selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(List<String> sampleCodeList, String configAssayMethodDictionaryBusinessKey){
|
||||
return selectJoinList(BusinessQCManagementDataDO.class, new MPJLambdaWrapperX<BusinessQCManagementDataDO>()
|
||||
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessQCManagementDataDO::getConfigAssayMethodId)
|
||||
.selectAll(BusinessQCManagementDataDO.class)
|
||||
.in(BusinessQCManagementDataDO::getSampleCode, sampleCodeList)
|
||||
.eq(ConfigAssayMethodDO::getDictionaryBusinessKey, configAssayMethodDictionaryBusinessKey)
|
||||
.eq(BusinessQCManagementDataDO::getIsReported, QmsCommonConstant.NO));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,8 +2,6 @@ package com.zt.plat.module.qms.business.bus.service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -33,12 +31,9 @@ import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataD
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDetailDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementParameterDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCManagementProjectDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCParameterDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCProjectDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessSubSampleDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayParameterDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayProjectDataMapper;
|
||||
@@ -48,12 +43,9 @@ import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskDetailMap
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessAssayTaskMapper;
|
||||
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.BusinessQCDataMapper;
|
||||
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.BusinessQCParameterDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessQCProjectDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessSubSampleMapper;
|
||||
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignManualParam;
|
||||
import com.zt.plat.module.qms.business.bus.liteflow.param.SampleTaskAssignMethodParam;
|
||||
@@ -64,7 +56,6 @@ import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethod
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.ConfigQCSampleMethodParameterExtendRespVO;
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.ConfigSubSampleMethodExtendRespVO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigAssayMethodProjectParameterDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodMapper;
|
||||
import com.zt.plat.module.qms.business.config.dal.mapper.ConfigAssayMethodProjectMapper;
|
||||
|
||||
@@ -19,9 +19,17 @@ 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.dal.dataobject.BusinessAssayProjectDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessAssayTaskDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientDataDO;
|
||||
import com.zt.plat.module.qms.business.bus.dal.dataobject.BusinessQCCoefficientParameterDataDO;
|
||||
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.BusinessXRFDataDO;
|
||||
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.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.BusinessQCManagementProjectDataMapper;
|
||||
import com.zt.plat.module.qms.business.bus.dal.mapper.BusinessXRFDataMapper;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFConversionRateDO;
|
||||
import com.zt.plat.module.qms.business.config.dal.dataobject.ConfigXRFLineDO;
|
||||
@@ -60,6 +68,18 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
|
||||
@Resource
|
||||
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessQCManagementDataMapper businessQCManagementDataMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessQCManagementProjectDataMapper businessQCManagementProjectDataMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessQCCoefficientDataMapper businessQCCoefficientDataMapper;
|
||||
|
||||
@Resource
|
||||
private BusinessQCCoefficientParameterDataMapper businessQCCoefficientParameterDataMapper;
|
||||
|
||||
@Override
|
||||
public List<ConfigXRFLineCustomRespVO> getXrfLineList(String deviceNo) {
|
||||
@@ -101,9 +121,17 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
|
||||
//根据样品编号及分析方法类型,获取检测任务数据
|
||||
List<BusinessAssayTaskDataExtendRespVO> businessAssayTaskDataList = businessAssayTaskDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
|
||||
|
||||
//管理样和标准样
|
||||
List<BusinessQCManagementDataDO> businessQCManagementDataList = businessQCManagementDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
|
||||
|
||||
//空白样和标样
|
||||
// List<BusinessQCCoefficientDataDO> businessQCCoefficientDataList = businessQCCoefficientDataMapper.selectBySampleAssayCodesAndConfigAssayMethodDictionaryBusinessKey(sampleCodeList, "xshxyggpf");
|
||||
|
||||
List<BusinessAssayTaskDataDO> businessAssayTaskDataDOList = new ArrayList<>();
|
||||
List<BusinessAssayProjectDataDO> busElementValueList = new ArrayList<>();
|
||||
List<BusinessQCManagementProjectDataDO> busQcManageElementValueList = new ArrayList<>();
|
||||
// List<BusinessQCCoefficientParameterDataDO> busQccParameterValueList = new ArrayList<>();
|
||||
List<BusinessXRFDataDO> busYgDataList = new ArrayList<>();
|
||||
BusinessXRFDataDO busYgData = null;
|
||||
for (XRFDeviceSampleReqVO ygDeviceSample : xrfDeviceSampleList) {
|
||||
@@ -133,6 +161,7 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
|
||||
|
||||
//处理匹配
|
||||
//a. 分析样
|
||||
List<BusinessAssayProjectDataExtendRespVO> tempBusElementValueList = new ArrayList<>();
|
||||
List<BusinessAssayTaskDataExtendRespVO> currBusinessAssayTaskDataList = businessAssayTaskDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleAssayCode())).collect(Collectors.toList());
|
||||
if (currBusinessAssayTaskDataList != null && currBusinessAssayTaskDataList.size() > 0) {
|
||||
@@ -141,6 +170,24 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
tempBusElementValueList.addAll(busElementValues);
|
||||
}
|
||||
}
|
||||
//b. 管理样和标准样
|
||||
List<BusinessQCManagementProjectDataDO> tempBusinessQCManagementProjectDataList = new ArrayList<>();
|
||||
List<BusinessQCManagementDataDO> currBusinessQCManagementDataList = businessQCManagementDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleCode())).collect(Collectors.toList());
|
||||
if (currBusinessQCManagementDataList != null && currBusinessQCManagementDataList.size() > 0) {
|
||||
for (BusinessQCManagementDataDO businessQCManagementData : currBusinessQCManagementDataList) {
|
||||
List<BusinessQCManagementProjectDataDO> businessQCManagementProjectDataList = businessQCManagementProjectDataMapper.selectByBusinessQCManagementDataId(businessQCManagementData.getId());
|
||||
tempBusinessQCManagementProjectDataList.addAll(businessQCManagementProjectDataList);
|
||||
}
|
||||
}
|
||||
//c. 空白样和标样
|
||||
// List<BusinessQCCoefficientParameterDataDO> tempBusinessQCCoefficientParameterDataList = new ArrayList<>();
|
||||
// List<BusinessQCCoefficientDataDO> currBusinessQCCoefficientDataList = businessQCCoefficientDataList.stream().filter(f -> ygDeviceSample.getSampleCode().equals(f.getSampleCode())).collect(Collectors.toList());
|
||||
// if (currBusinessQCCoefficientDataList != null && currBusinessQCCoefficientDataList.size() > 0) {
|
||||
// for (BusinessQCCoefficientDataDO businessQCCoefficientDataDO : currBusinessQCCoefficientDataList) {
|
||||
// List<BusinessQCCoefficientParameterDataDO> businessQCCoefficientParameterDataList = businessQCCoefficientParameterDataMapper.selectByBusinessQCCoefficientDataId(businessQCCoefficientDataDO.getId());
|
||||
// tempBusinessQCCoefficientParameterDataList.addAll(businessQCCoefficientParameterDataList);
|
||||
// }
|
||||
// }
|
||||
|
||||
//分析元素
|
||||
for (XRFDeviceSampleProjectReqVO ygDeviceSampleElement : sampleElements) {
|
||||
@@ -192,6 +239,21 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
}
|
||||
}
|
||||
|
||||
List<BusinessQCManagementProjectDataDO> currBusQcElementValueList = tempBusinessQCManagementProjectDataList.stream().filter(f -> f.getDictionaryProjectId().equals(elementId) && f.getIsEnabled().equals(1)).collect(Collectors.toList());
|
||||
if (currBusQcElementValueList != null && currBusQcElementValueList.size() > 0) {
|
||||
for (BusinessQCManagementProjectDataDO busElementValue : currBusQcElementValueList) {
|
||||
//化验数据小数精度四舍六入五单双
|
||||
if("decimal".equals(busElementValue.getDataType())) {
|
||||
busElementValue.setValue(elementValue.setScale(busElementValue.getDecimalPosition(), RoundingMode.HALF_EVEN).toPlainString());
|
||||
} else {
|
||||
busElementValue.setValue(elementValue.setScale(conYgElementDataType, RoundingMode.HALF_EVEN).toPlainString());
|
||||
}
|
||||
busElementValue.setRemark(conYgElement.getShowName() + ": " + busElementValue.getValue());
|
||||
busQcManageElementValueList.add(busElementValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ReportFieldValueData reportFieldValueData = new ReportFieldValueData();
|
||||
reportFieldValueData.setFieldName(conYgElement.getSaveColumn());
|
||||
reportFieldValueData.setFieldValue(elementValue.setScale(conYgElementDataType, RoundingMode.HALF_EVEN).toPlainString());
|
||||
@@ -244,6 +306,14 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
if (busElementValueList.size() > 0) {
|
||||
businessAssayProjectDataMapper.updateBatch(busElementValueList);
|
||||
}
|
||||
//荧光管理样和标准样
|
||||
if (busQcManageElementValueList.size() > 0) {
|
||||
businessQCManagementProjectDataMapper.updateBatch(busQcManageElementValueList);
|
||||
}
|
||||
//荧光空白样和标样
|
||||
// if (busQccParameterValueList.size() > 0) {
|
||||
// businessQCCoefficientParameterDataMapper.updateBatch(busQccParameterValueList);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user