Merge remote-tracking branch 'origin/test' into test
This commit is contained in:
@@ -16,7 +16,6 @@ import jakarta.annotation.Resource;
|
||||
import static com.zt.plat.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@@ -17,4 +17,7 @@ public class BusinessSubParentSampleAssessmentExtendRespVO extends BusinessSubPa
|
||||
|
||||
@Schema(description = "显示名称")
|
||||
private String showName;
|
||||
|
||||
@Schema(description = "分析方法")
|
||||
private String configAssayMethodName;
|
||||
}
|
||||
|
||||
@@ -31,4 +31,9 @@ public class ReportFieldValueData implements Serializable {
|
||||
@Schema(description = "用途,ingredient-配料、report-报出、ingredient_report-配料及报出")
|
||||
private String usage;
|
||||
|
||||
@Schema(description = "分析方法")
|
||||
private String methodName;
|
||||
|
||||
@Schema(description = "下限值")
|
||||
private String minLimitValue;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ 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.BusinessSubParentSampleAssessmentDO;
|
||||
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.dic.dal.dataobject.DictionaryProjectDO;
|
||||
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
|
||||
@@ -52,11 +53,13 @@ public interface BusinessSubParentSampleAssessmentMapper extends BaseMapperX<Bus
|
||||
return selectJoinList(BusinessSubParentSampleAssessmentExtendRespVO.class, new MPJLambdaWrapperX<BusinessSubParentSampleAssessmentDO>()
|
||||
.leftJoin(ConfigAssayMethodProjectDO.class, ConfigAssayMethodProjectDO::getId, BusinessSubParentSampleAssessmentDO::getConfigAssayMethodProjectId)
|
||||
.leftJoin(DictionaryProjectDO.class, DictionaryProjectDO::getId, BusinessSubParentSampleAssessmentDO::getDictionaryProjectId)
|
||||
.leftJoin(ConfigAssayMethodDO.class, ConfigAssayMethodDO::getId, BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId)
|
||||
.selectAll(BusinessSubParentSampleAssessmentDO.class)
|
||||
.selectAs(ConfigAssayMethodProjectDO::getDictionaryProjectUnit, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectUnit)
|
||||
.selectAs(DictionaryProjectDO::getKey, BusinessSubSampleAssessmentExtendRespVO::getDictionaryProjectKey)
|
||||
.selectAs(DictionaryProjectDO::getSimpleName, BusinessSubSampleAssessmentExtendRespVO::getSimpleName)
|
||||
.selectAs(DictionaryProjectDO::getShowName, BusinessSubSampleAssessmentExtendRespVO::getShowName)
|
||||
.selectAs(ConfigAssayMethodDO::getName, BusinessSubSampleAssessmentExtendRespVO::getConfigAssayMethodName)
|
||||
.in(BusinessSubParentSampleAssessmentDO::getBusinessSubParentSampleId, businessSubParentSampleIds)
|
||||
.eq(BusinessSubParentSampleAssessmentDO::getConfigAssayMethodId, configAssayMethodId));
|
||||
}
|
||||
|
||||
@@ -351,7 +351,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
List<ConfigSampleReportDO> configSampleReportDOList = configSampleReportList.stream().filter(f -> f.getConfigBaseSampleId().equals(configBaseSampleId)).collect(Collectors.toList());
|
||||
for (ConfigSampleReportDO configSampleReport : configSampleReportDOList) {
|
||||
BusinessAssayReportDataDO businessAssayReportDataDO = new BusinessAssayReportDataDO();
|
||||
businessAssayReportDataDO.setBusinessBaseSampleId(configBaseSampleId);
|
||||
businessAssayReportDataDO.setBusinessBaseSampleId(businessBaseSampleDO.getId());
|
||||
businessAssayReportDataDO.setDataSource(configSampleReport.getDataSource());
|
||||
businessAssayReportDataDO.setConfigReportTypeId(configSampleReport.getConfigReportTypeId());
|
||||
businessAssayReportDataDO.setConfigSampleReportId(configSampleReport.getId());
|
||||
@@ -487,7 +487,8 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
if (isSjEntrust && isAssayAuAg && sort == 0 && !isCreateZhy && sDictionaryProjectId.equals(configAssayMethodProjectDO.getDictionaryProjectId())) {//是商检样品,分析金银,第一个样品,不创建综合样,并且是S值
|
||||
businessAssayProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT_REPORT);
|
||||
}
|
||||
|
||||
|
||||
businessAssayProjectDataDO.setMinimumLimitValue(configAssayMethodProjectDO.getMinimumLimitValue());
|
||||
businessAssayProjectDataDO.setIsEnabled(1);
|
||||
businessAssayProjectDataDO.setIsNotAssessment(0);
|
||||
|
||||
@@ -575,7 +576,7 @@ public class SampleEntrustGenSampleDataCmp extends NodeComponent {
|
||||
businessAssayProjectDataDO.setDataType(configAssayMethodProjectDO.getDataType());
|
||||
businessAssayProjectDataDO.setDecimalPosition(configAssayMethodProjectDO.getDecimalPosition());
|
||||
businessAssayProjectDataDO.setUsage(QmsCommonConstant.ASSAY_PROJECT_USAGE_INGREDIENT);
|
||||
|
||||
businessAssayProjectDataDO.setMinimumLimitValue(configAssayMethodProjectDO.getMinimumLimitValue());
|
||||
businessAssayProjectDataDO.setIsEnabled(1);
|
||||
businessAssayProjectDataDO.setIsNotAssessment(0);
|
||||
|
||||
|
||||
@@ -559,6 +559,7 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
businessSubSampleAssessmentDO.setAssayType(businessAssayTaskDataDO.getAssayType());
|
||||
businessSubSampleAssessmentDO.setTaskType(businessAssayTaskDataDO.getTaskType());
|
||||
businessSubSampleAssessmentDO.setUsage(businessAssayProjectDataDO.getUsage());
|
||||
businessSubSampleAssessmentDO.setMinimumLimitValue(businessAssayProjectDataDO.getMinimumLimitValue());
|
||||
businessSubSampleAssessmentDO.setSymbol(businessAssayProjectDataDO.getSymbol());
|
||||
businessSubSampleAssessmentDO.setAssessmentStatus(QmsCommonConstant.NORMAL);
|
||||
businessSubSampleAssessmentDO.setAssessmentValue(businessAssayProjectDataDO.getValue());
|
||||
@@ -722,6 +723,8 @@ public class SampleAnalysisAuditServiceImpl implements SampleAnalysisAuditServic
|
||||
businessSubParentSampleAssessmentDO.setAssayType(businessSubSampleAssessment.getAssayType());
|
||||
businessSubParentSampleAssessmentDO.setDataType(businessSubSampleAssessment.getDataType());
|
||||
businessSubParentSampleAssessmentDO.setDecimalPosition(businessSubSampleAssessment.getDecimalPosition());
|
||||
businessSubParentSampleAssessmentDO.setUsage(businessSubSampleAssessment.getUsage());
|
||||
businessSubParentSampleAssessmentDO.setMinimumLimitValue(businessSubParentSampleAssessmentDO.getMinimumLimitValue());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodId(businessSubSampleAssessment.getConfigAssayMethodId());
|
||||
businessSubParentSampleAssessmentDO.setConfigAssayMethodProjectId(businessSubSampleAssessment.getConfigAssayMethodProjectId());
|
||||
businessSubParentSampleAssessmentDO.setDictionaryProjectId(businessSubSampleAssessment.getDictionaryProjectId());
|
||||
|
||||
@@ -471,8 +471,12 @@ public class SampleResultReportingServiceImpl implements SampleResultReportingSe
|
||||
reportFieldValueData.setFieldName(configReportField.getFieldName());
|
||||
reportFieldValueData.setFieldValue(businessSubParentSampleAssessment.getAssessmentValue());
|
||||
reportFieldValueData.setDataType(configReportField.getDataType());
|
||||
reportFieldValueData.setDecimalPosition(configReportField.getDecimalPosition());
|
||||
reportFieldValueData.setMathSymbol("=");
|
||||
reportFieldValueData.setUnit(configProjectFeild.getDictionaryProjectUnit());
|
||||
reportFieldValueData.setUnit(configProjectFeild.getDictionaryProjectUnit());
|
||||
reportFieldValueData.setUsage(businessSubParentSampleAssessment.getUsage());
|
||||
reportFieldValueData.setMinLimitValue(businessSubParentSampleAssessment.getMinimumLimitValue());
|
||||
reportFieldValueData.setMethodName(businessSubParentSampleAssessment.getConfigAssayMethodName());
|
||||
assayDataJson.put(configReportField.getField(), reportFieldValueData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.ConfigXRFLineRespVO;
|
||||
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.*;
|
||||
import com.zt.plat.module.qms.thirdpartyapi.service.XRFDataService;
|
||||
|
||||
@@ -26,7 +25,7 @@ public class XRFDataController {
|
||||
|
||||
@GetMapping("/xrf-line-list")
|
||||
public CommonResult<?> getXrfLineList(@RequestParam("deviceNo") String deviceNo) {
|
||||
List<ConfigXRFLineRespVO> list = xrfDataService.getXrfLineList(deviceNo);
|
||||
List<ConfigXRFLineCustomRespVO> list = xrfDataService.getXrfLineList(deviceNo);
|
||||
return CommonResult.success(list);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
package com.zt.plat.module.qms.thirdpartyapi.controller.vo;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class ConfigXRFLineCustomRespVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 4827957658423219091L;
|
||||
|
||||
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "10711")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String deviceNo;
|
||||
|
||||
@Schema(description = "荧光线名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
|
||||
private String lineName;
|
||||
|
||||
@Schema(description = "是否启用,0、未启用;1、启用;")
|
||||
private Integer isUse;
|
||||
|
||||
@Schema(description = "连接字符串")
|
||||
private String connectString;
|
||||
|
||||
@Schema(description = "数据源类型,(1:rdb,2:mdb)", example = "1")
|
||||
private Integer dataSourceType;
|
||||
|
||||
@Schema(description = "末次同步数据时间")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class) // 反序列化(请求)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime lastSynchronousDataTime;
|
||||
|
||||
@Schema(description = "末次检查数据时间")
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class) // 反序列化(请求)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime lastCheckDataTime;
|
||||
|
||||
@Schema(description = "所属部门")
|
||||
private String systemDepartmentCode;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class) // 反序列化(请求)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
}
|
||||
@@ -7,6 +7,10 @@ import java.util.List;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
@@ -43,6 +47,8 @@ public class XRFDeviceSampleReqVO implements Serializable {
|
||||
/**
|
||||
* 样品时间
|
||||
*/
|
||||
@JsonSerialize(using = LocalDateTimeSerializer.class) // 序列化(响应)
|
||||
@JsonDeserialize(using = LocalDateDeserializer.class) // 反序列化(请求)
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@Schema(description = "样品时间")
|
||||
|
||||
@@ -2,12 +2,11 @@ package com.zt.plat.module.qms.thirdpartyapi.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.ConfigXRFLineRespVO;
|
||||
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.XRFDeviceSampleReqVO;
|
||||
import com.zt.plat.module.qms.thirdpartyapi.controller.vo.*;
|
||||
|
||||
public interface XRFDataService {
|
||||
|
||||
List<ConfigXRFLineRespVO> getXrfLineList(String deviceNo);
|
||||
List<ConfigXRFLineCustomRespVO> getXrfLineList(String deviceNo);
|
||||
|
||||
int submitXrfData(List<XRFDeviceSampleReqVO> reqList);
|
||||
|
||||
|
||||
@@ -14,6 +14,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
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;
|
||||
@@ -22,7 +23,6 @@ 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.BusinessXRFDataMapper;
|
||||
import com.zt.plat.module.qms.business.config.controller.vo.*;
|
||||
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.ConfigXRFProjectDO;
|
||||
@@ -62,9 +62,9 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
private BusinessAssayProjectDataMapper businessAssayProjectDataMapper;
|
||||
|
||||
@Override
|
||||
public List<ConfigXRFLineRespVO> getXrfLineList(String deviceNo) {
|
||||
public List<ConfigXRFLineCustomRespVO> getXrfLineList(String deviceNo) {
|
||||
List<ConfigXRFLineDO> list = configXRFLineMapper.selectByDeviceNo(deviceNo);
|
||||
return BeanUtils.toBean(list, ConfigXRFLineRespVO.class);
|
||||
return BeanUtils.toBean(list, ConfigXRFLineCustomRespVO.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -118,6 +118,12 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
busYgData.setSampleTime(ygDeviceSample.getSampleTime());
|
||||
busYgData.setAssayOperator(ygDeviceSample.getAssayOper());
|
||||
busYgData.setIsCheckCreate(ygDeviceSample.getIsCheck() ? 1 : 0);
|
||||
|
||||
JSONObject assayDataJson = new JSONObject();
|
||||
String assayData = busYgData.getAssayData();
|
||||
if (StringUtils.isNotBlank(assayData)) {
|
||||
assayDataJson = JSON.parseObject(assayData);
|
||||
}
|
||||
|
||||
|
||||
//处理匹配
|
||||
@@ -147,7 +153,7 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
} else {
|
||||
conYgElement = conYgElementList.stream().filter(f -> f.getXRFProjectName().equals(ygDeviceSampleElement.getXRFProjectName()) && (StringUtils.isBlank(f.getXRFProjectUnit()) || StringUtils.isBlank(ygDeviceSampleElement.getXRFProjectUnit()) || f.getXRFProjectUnit().equals(ygDeviceSampleElement.getXRFProjectUnit()))).findFirst().orElse(null);
|
||||
}
|
||||
if(conYgElement != null) {
|
||||
if(conYgElement != null) {
|
||||
//数据转换
|
||||
BigDecimal elementValue = BigDecimal.ZERO;
|
||||
Integer conYgElementDataType = 0;
|
||||
@@ -177,6 +183,14 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
busElementValueList.add(BeanUtils.toBean(busElementValue, BusinessAssayProjectDataDO.class));
|
||||
}
|
||||
|
||||
ReportFieldValueData reportFieldValueData = new ReportFieldValueData();
|
||||
reportFieldValueData.setFieldName(conYgElement.getSaveColumn());
|
||||
reportFieldValueData.setFieldValue(ygDeviceSampleElement.getXRFProjectName());
|
||||
reportFieldValueData.setDecimalPosition(ygDeviceSampleElement.getValueDecimals());
|
||||
reportFieldValueData.setMathSymbol("=");
|
||||
reportFieldValueData.setUnit(ygDeviceSampleElement.getXRFProjectUnit());
|
||||
assayDataJson.put(conYgElement.getSaveColumn(), reportFieldValueData);
|
||||
|
||||
// if(conYgElementDataType != null && conYgElementDataType.intValue() > -1) {
|
||||
// BeanUtil.setFieldValue(busYgData, conYgElement.getSaveColumn(), elementValue.setScale(conYgElementDataType, BigDecimal.ROUND_HALF_EVEN).toPlainString());//数据格式化-四舍六入五单双
|
||||
// } else {
|
||||
@@ -192,6 +206,9 @@ public class XRFDataServiceImpl implements XRFDataService {
|
||||
}
|
||||
}
|
||||
|
||||
//设置分析数据
|
||||
busYgData.setAssayData(assayDataJson.toJSONString());
|
||||
|
||||
if (businessAssayTaskData != null) {
|
||||
busYgData.setIsMatched(QmsCommonConstant.YES);
|
||||
busYgData.setBusinessBaseSampleId(businessAssayTaskData.getBusinessBaseSampleId());
|
||||
|
||||
Reference in New Issue
Block a user