添加获取台站信息和核素信息接口

This commit is contained in:
duwenyuan 2025-10-17 18:55:24 +08:00
parent 913490643e
commit 98a5d1d78d
6 changed files with 355 additions and 267 deletions

View File

@ -5,6 +5,8 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.util.DateUtils;
import org.jeecg.entity.GardsStations;
import org.jeecg.entity.SysDefaultNuclide;
import org.jeecg.service.ISampleStatAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
@ -14,7 +16,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@RestController
@ -127,4 +131,33 @@ public class DataAnalysisController {
}
@GetMapping("/findStationList")
public Result findStationList(String systemType) {
Result result = new Result();
try {
List<GardsStations> gardsStations = sampleStatAnalysisService.findStationListByMenuName();
result.setCode(200);
result.setSuccess(true);
result.setResult(gardsStations);
} catch (Exception e) {
result.setCode(500);
result.setSuccess(false);
}
return result;
}
@GetMapping("/findNuclideList")
public Result findNuclideList(String systemType) {
Result result = new Result();
try {
List<SysDefaultNuclide> defaultNuclides = sampleStatAnalysisService.findNuclideList();
result.setCode(200);
result.setSuccess(true);
result.setResult(defaultNuclides);
} catch (Exception e) {
result.setCode(500);
result.setSuccess(false);
}
return result;
}
}

View File

@ -0,0 +1,61 @@
package org.jeecg.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SysDefaultNuclide implements Serializable {
private static final long serialVersionUID = 1L;
/**
* id
*/
@TableId(type = IdType.ASSIGN_ID)
private String id;
/**
* 核素名称
*/
@Excel(name = "核素名称", width = 15)
private String nuclideName;
/**
* 核素用途
*/
@Excel(name = "核素用途", width = 15)
private Integer useType;
/**
* 核素类型
*/
@Excel(name = "核素类型", width = 8)
private String nuclideType;
/**
* 创建时间
*/
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 更新人
*/
private String createBy;
}

View File

@ -0,0 +1,9 @@
package org.jeecg.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.jeecg.entity.SysDefaultNuclide;
@Mapper
public interface SysDefaultNuclideMapper extends BaseMapper<SysDefaultNuclide>
{
}

View File

@ -2,19 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.mapper.GardsSampleStatAnalysisMapper">
<select id="getSampleStatAnalysis" resultType="org.jeecg.modules.base.entity.original.GardsSampleData">
SELECT
SAMPLE_ID,
STATION_ID,
ACQUISITION_START,
GRADING
FROM
ORIGINAL.GARDS_SAMPLE_DATA
WHERE
STATION_CODE = #{ stationCode }
AND ACQUISITION_START BETWEEN TO_DATE(#{ startTime }, 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE(#{ endTime }, 'YYYY-MM-DD HH24:MI:SS')
ORDER BY
ACQUISITION_START
SELECT SAMPLE_ID,
STATION_ID,
ACQUISITION_START,
GRADING
FROM ORIGINAL.GARDS_SAMPLE_DATA
WHERE STATION_CODE = #{ stationCode }
AND ACQUISITION_START BETWEEN TO_DATE(#{ startTime }, 'YYYY-MM-DD HH24:MI:SS')
AND TO_DATE(#{ endTime }, 'YYYY-MM-DD HH24:MI:SS')
ORDER BY ACQUISITION_START
</select>
<select id="selectByStationIds" resultType="org.jeecg.entity.ThresholdMetric">
SELECT
@ -36,38 +32,32 @@
</select>
<select id="getRnAutoSampleGradeAnalysis" resultType="org.jeecg.entity.SampleLevelData">
SELECT
t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
t2.CATEGORY
FROM
ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNAUTO.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
WHERE
t1.STATION_ID=#{station}
AND t1.SAMPLE_TYPE=#{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
t2.CATEGORY
FROM ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNAUTO.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
WHERE t1.STATION_ID = #{station}
AND t1.SAMPLE_TYPE = #{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<select id="getRnManSampleGradeAnalysis" resultType="org.jeecg.entity.SampleLevelData">
SELECT
t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
t2.CATEGORY
FROM
ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
WHERE
t1.STATION_ID=#{station}
AND t1.SAMPLE_TYPE=#{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
t2.CATEGORY
FROM ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
WHERE t1.STATION_ID = #{station}
AND t1.SAMPLE_TYPE = #{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
@ -77,135 +67,121 @@
<select id="getRnAutoSampleLevel" resultType="org.jeecg.entity.SampleLevelData">
select a.SAMPLE_ID,
a.COLLECT_STOP,
b.CATEGORY
from
ORIGINAL.GARDS_SAMPLE_DATA a,
RNAUTO.GARDS_ANALYSES b
WHERE a.SAMPLE_ID=b.SAMPLE_ID
AND a.STATION_ID=#{station}
AND a.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
a.COLLECT_STOP,
b.CATEGORY
from ORIGINAL.GARDS_SAMPLE_DATA a,
RNAUTO.GARDS_ANALYSES b
WHERE a.SAMPLE_ID = b.SAMPLE_ID
AND a.STATION_ID = #{station}
AND a.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<select id="getRnManSampleLevel" resultType="org.jeecg.entity.SampleLevelData">
select a.SAMPLE_ID,
a.COLLECT_STOP,
b.CATEGORY
from
ORIGINAL.GARDS_SAMPLE_DATA a,
RNMAN.GARDS_ANALYSES b
WHERE a.SAMPLE_ID=b.SAMPLE_ID
AND a.STATION_ID=#{station}
AND a.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
a.COLLECT_STOP,
b.CATEGORY
from ORIGINAL.GARDS_SAMPLE_DATA a,
RNMAN.GARDS_ANALYSES b
WHERE a.SAMPLE_ID = b.SAMPLE_ID
AND a.STATION_ID = #{station}
AND a.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- 获取样品中元素的浓度活度、MDC信息-->
<select id="getRnautoPNuclideActConcIntvl" resultType="org.jeecg.entity.NuclideActConcIntvl">
SELECT
a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
c.CATEGORY,
b.NUCLIDENAME NUCLIDE_NAME,
b.CONCENTRATION AS conc,
b.MDC,
b.ACTIV_KEY_ERR AS concErr
FROM
ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNAUTO.GARDS_ANALYSES c
ON a.SAMPLE_ID=c.SAMPLE_ID
INNER JOIN
RNAUTO.GARDS_NUCL_IDED b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE
a.SAMPLE_TYPE = #{sampleType}
AND a.STATION_ID=#{station}
AND b.NUCLIDENAME=#{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
c.CATEGORY,
b.NUCLIDENAME NUCLIDE_NAME,
b.CONCENTRATION AS conc,
b.MDC,
b.ACTIV_KEY_ERR AS concErr
FROM ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNAUTO.GARDS_ANALYSES c
ON a.SAMPLE_ID = c.SAMPLE_ID
INNER JOIN
RNAUTO.GARDS_NUCL_IDED b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE a.SAMPLE_TYPE = #{sampleType}
AND a.STATION_ID = #{station}
AND b.NUCLIDENAME = #{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- 获取样品类型=气体 元素的浓度活度、MDC信息-->
<select id="getRnautoNuclideActConcIntvl" resultType="org.jeecg.entity.NuclideActConcIntvl">
SELECT
a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDE_NAME,
b.CONC,
b.MDC,
b.CONC_ERR
FROM
ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNAUTO.GARDS_XE_RESULTS b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE
a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID=#{station}
AND b.NUCLIDENAME=#{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDE_NAME,
b.CONC,
b.MDC,
b.CONC_ERR
FROM ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNAUTO.GARDS_XE_RESULTS b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID = #{station}
AND b.NUCLIDENAME = #{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- 数据源 RNMAN-->
<!-- 获取样品中元素的浓度活度、MDC信息-->
<select id="getRnmanPNuclideActConcIntvl" resultType="org.jeecg.entity.NuclideActConcIntvl">
SELECT
a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDENAME NUCLIDE_NAME,
b.CONCENTRATION AS conc,
b.MDC,
b.ACTIV_KEY_ERR AS concErr
FROM
ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNMAN.GARDS_NUCL_IDED b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE
a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID=#{station}
AND b.NUCLIDENAME=#{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDENAME NUCLIDE_NAME,
b.CONCENTRATION AS conc,
b.MDC,
b.ACTIV_KEY_ERR AS concErr
FROM ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNMAN.GARDS_NUCL_IDED b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID = #{station}
AND b.NUCLIDENAME = #{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- 获取样品类型=气体 元素的浓度活度、MDC信息-->
<select id="getRnmanNuclideActConcIntvl" resultType="org.jeecg.entity.NuclideActConcIntvl">
SELECT
a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDE_NAME,
b.CONC,
b.MDC,
b.CONC_ERR
FROM
ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNMAN.GARDS_XE_RESULTS b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE
a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID=#{station}
AND b.NUCLIDENAME=#{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT a.SAMPLE_ID,
a.COLLECT_STOP,
a.SAMPLE_TYPE,
a.STATION_ID,
a.STATUS,
b.NUCLIDE_NAME,
b.CONC,
b.MDC,
b.CONC_ERR
FROM ORIGINAL.GARDS_SAMPLE_DATA a
INNER JOIN
RNMAN.GARDS_XE_RESULTS b
ON a.SAMPLE_ID = b.SAMPLE_ID
WHERE a.SAMPLE_TYPE = '#{sampleType}'
AND a.STATION_ID = #{station}
AND b.NUCLIDENAME = #{nuclideName}
AND a.COLLECT_START BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
@ -245,77 +221,72 @@
AND t1.SAMPLE_ID = t3.SAMPLE_ID
WHERE t1.STATION_ID = #{station}
AND t1.STATUS != 'F'
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}
, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}
, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- RnAuto 核素等级时序分析-->
<select id="getRnAutoNuclideTimeSeriesAnalysis" resultType="org.jeecg.entity.SampleLevelData">
SELECT
A.SAMPLE_ID AS "sampleId",
A.COLLECT_STOP AS "collectStop",
B.CATEGORY AS "grading"
FROM
ORIGINAL.GARDS_SAMPLE_DATA A
INNER JOIN
RNAUTO.GARDS_ANALYSES B
ON A.SAMPLE_ID = B.SAMPLE_ID
WHERE
A.STATION_ID = #{station}
AND A.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT A.SAMPLE_ID AS "sampleId",
A.COLLECT_STOP AS "collectStop",
B.CATEGORY AS "grading"
FROM ORIGINAL.GARDS_SAMPLE_DATA A
INNER JOIN
RNAUTO.GARDS_ANALYSES B
ON A.SAMPLE_ID = B.SAMPLE_ID
WHERE A.STATION_ID = #{station}
AND A.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- RnMan 获取样品中识别到的核素集合-->
<select id="getRnManIdentifiedNuclides" resultType="org.jeecg.entity.NuclideActConcIntvl">
SELECT
t1.SAMPLE_ID AS sampleId,
t1.COLLECT_STOP AS collectStop,
t1.SAMPLE_TYPE AS sampleType,
t1.STATION_ID AS stationId,
t1.STATUS AS status,
CASE
WHEN t1.SAMPLE_TYPE = 'P' THEN
t2.NUCLIDENAME
WHEN t1.SAMPLE_TYPE = 'B' THEN
t3.NUCLIDE_NAME
END AS NUCLIDE_NAME,
CASE
WHEN t1.SAMPLE_TYPE = 'P' THEN
TO_NUMBER(REGEXP_REPLACE(t2.CONCENTRATION, '[^0-9.Ee-]', ''))
WHEN t1.SAMPLE_TYPE = 'B' THEN
t3.CONC
END AS conc
FROM
ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_NUCL_IDED t2 ON t1.SAMPLE_TYPE = 'P'
AND t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN RNMAN.GARDS_XE_RESULTS t3 ON t1.SAMPLE_TYPE = 'B'
AND t1.SAMPLE_ID = t3.SAMPLE_ID
WHERE
t1.STATION_ID = #{station}
AND t1.STATUS != 'F'
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT t1.SAMPLE_ID AS sampleId,
t1.COLLECT_STOP AS collectStop,
t1.SAMPLE_TYPE AS sampleType,
t1.STATION_ID AS stationId,
t1.STATUS AS status,
CASE
WHEN t1.SAMPLE_TYPE = 'P' THEN
t2.NUCLIDENAME
WHEN t1.SAMPLE_TYPE = 'B' THEN
t3.NUCLIDE_NAME
END AS NUCLIDE_NAME,
CASE
WHEN t1.SAMPLE_TYPE = 'P' THEN
TO_NUMBER(REGEXP_REPLACE(t2.CONCENTRATION, '[^0-9.Ee-]', ''))
WHEN t1.SAMPLE_TYPE = 'B' THEN
t3.CONC
END AS conc
FROM ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_NUCL_IDED t2 ON t1.SAMPLE_TYPE = 'P'
AND t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN RNMAN.GARDS_XE_RESULTS t3 ON t1.SAMPLE_TYPE = 'B'
AND t1.SAMPLE_ID = t3.SAMPLE_ID
WHERE t1.STATION_ID = #{station}
AND t1.STATUS != 'F'
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}
, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}
, 'YYYY-MM-DD hh24:mi:ss')
</select>
<!-- RnMan 核素等级时序分析-->
<select id="getRnManNuclideTimeSeriesAnalysis" resultType="org.jeecg.entity.SampleLevelData">
SELECT
A.SAMPLE_ID AS "sampleId",
A.COLLECT_STOP AS "collectStop",
B.CATEGORY AS "grading"
FROM
ORIGINAL.GARDS_SAMPLE_DATA A
INNER JOIN
RNMAN.GARDS_ANALYSES B
ON A.SAMPLE_ID = B.SAMPLE_ID
WHERE
A.STATION_ID = #{station}
AND A.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
SELECT A.SAMPLE_ID AS "sampleId",
A.COLLECT_STOP AS "collectStop",
B.CATEGORY AS "grading"
FROM ORIGINAL.GARDS_SAMPLE_DATA A
INNER JOIN
RNMAN.GARDS_ANALYSES B
ON A.SAMPLE_ID = B.SAMPLE_ID
WHERE A.STATION_ID = #{station}
AND A.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
</select>
<select id="selectByStationAndNuclide" resultType="org.jeecg.entity.GardsThresholdResultHis">
@ -362,7 +333,8 @@
<foreach collection="nuclideNames" item="nuclideName" open="(" separator="," close=")">
#{nuclideName}
</foreach>
AND CALCULATION_TIME BETWEEN TO_DATE(#{ startTime }, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{ endTime }, 'YYYY-MM-DD HH24:MI:SS')
AND CALCULATION_TIME BETWEEN TO_DATE(#{ startTime }, 'YYYY-MM-DD HH24:MI:SS') AND TO_DATE(#{ endTime },
'YYYY-MM-DD HH24:MI:SS')
ORDER BY CALCULATION_TIME DESC
</select>
@ -370,7 +342,7 @@
SELECT * FROM ${schemaName}.GARDS_THRESHOLD_RESULT_HIS
<where>
<if test="stationIds != null and stationIds.size() > 0">
AND STATION_ID IN
AND STATION_ID IN
<foreach collection="stationIds" item="stationId" open="(" separator="," close=")">
#{stationId}
</foreach>
@ -392,9 +364,6 @@
</select>
<!-- 核素活度浓度对比分析-->
<select id="getRnAutoAnalyzeNuclideActivityConc" resultType="org.jeecg.entity.NuclideActConcIntvl">
@ -450,7 +419,6 @@
</if>
</select>
@ -510,63 +478,57 @@
<!--样品监测结果-->
<!-- 先查出台站信息-->
<!-- 再根据台站级别信息-->
<!-- 先查出台站信息-->
<!-- 再根据台站级别信息-->
<select id="getRnAutoSampleResult" resultType="org.jeecg.entity.StationInfoData">
SELECT
t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
c1.STATION_CODE,
c1.COUNTRY_CODE,
c1.TYPE,
c1.LON,
c1.LAT,
c1.STATUS,
c1.DESCRIPTION,
t2.CATEGORY
FROM
ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNAUTO.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN CONFIGURATION.GARDS_STATIONS c1
ON t1.STATION_ID=c1.STATION_ID
WHERE
t1.SAMPLE_TYPE=#{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
ORDER BY
t1.COLLECT_STOP ASC
SELECT t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
c1.STATION_CODE,
c1.COUNTRY_CODE,
c1.TYPE,
c1.LON,
c1.LAT,
c1.STATUS,
c1.DESCRIPTION,
t2.CATEGORY
FROM ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNAUTO.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN CONFIGURATION.GARDS_STATIONS c1
ON t1.STATION_ID = c1.STATION_ID
WHERE t1.SAMPLE_TYPE = #{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
ORDER BY t1.COLLECT_STOP ASC
</select>
<select id="getRnManSampleResult" resultType="org.jeecg.entity.StationInfoData">
SELECT
t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
c1.STATION_CODE,
c1.COUNTRY_CODE,
c1.TYPE,
c1.LON,
c1.LAT,
c1.STATUS,
c1.DESCRIPTION,
t2.CATEGORY
FROM
ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN CONFIGURATION.GARDS_STATIONS c1
ON t1.STATION_ID=c1.STATION_ID
WHERE
t1.SAMPLE_TYPE=#{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
ORDER BY
t1.COLLECT_STOP ASC
SELECT t1.SAMPLE_ID,
t1.COLLECT_STOP,
t1.STATION_ID,
c1.STATION_CODE,
c1.COUNTRY_CODE,
c1.TYPE,
c1.LON,
c1.LAT,
c1.STATUS,
c1.DESCRIPTION,
t2.CATEGORY
FROM ORIGINAL.GARDS_SAMPLE_DATA t1
LEFT JOIN RNMAN.GARDS_ANALYSES t2
ON t1.SAMPLE_ID = t2.SAMPLE_ID
LEFT JOIN CONFIGURATION.GARDS_STATIONS c1
ON t1.STATION_ID = c1.STATION_ID
WHERE t1.SAMPLE_TYPE = #{sampleType}
AND t1.COLLECT_STOP BETWEEN TO_DATE(#{startTime}, 'YYYY-MM-DD hh24:mi:ss')
AND TO_DATE(#{endTime}, 'YYYY-MM-DD hh24:mi:ss')
ORDER BY t1.COLLECT_STOP ASC
</select>
<select id="findStationListByMenuName" resultType="org.jeecg.entity.GardsStations">
SELECT * FROM CONFIGURATION.GARDS_STATIONS
</select>
</mapper>

View File

@ -2,6 +2,8 @@ package org.jeecg.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.entity.GardsStations;
import org.jeecg.entity.SysDefaultNuclide;
import org.jeecg.modules.base.entity.original.GardsSampleData;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.RequestParam;
@ -24,4 +26,8 @@ public interface ISampleStatAnalysisService extends IService<GardsSampleData> {
Result getNuclideActivityConcAnalyze(String sampleType, Integer[] stationIds, String nuclideName, Integer dataSource, Date startDate, Date endDate);
List<GardsStations> findStationListByMenuName();
List<SysDefaultNuclide> findNuclideList();
}

View File

@ -1,19 +1,19 @@
package org.jeecg.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.DateUtils;
import org.jeecg.entity.GardsThresholdResultHis;
import org.jeecg.entity.*;
import org.jeecg.mapper.SysDefaultNuclideMapper;
import org.jeecg.modules.base.entity.original.GardsSampleData;
import org.jeecg.entity.NuclideActConcIntvl;
import org.jeecg.entity.SampleLevelData;
import org.jeecg.entity.StationInfoData;
import org.jeecg.mapper.GardsSampleStatAnalysisMapper;
import org.jeecg.service.ISampleStatAnalysisService;
import org.jeecg.util.DistributionAnalysisToolkit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.ZoneId;
@ -25,7 +25,8 @@ import java.util.stream.Collectors;
@Service
@DS("ora")
public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalysisMapper, GardsSampleData> implements ISampleStatAnalysisService {
@Autowired
private SysDefaultNuclideMapper defaultNuclideMapper;
public Result getSampleMonitorResult(String sampleType, Integer dataSource, Date startDate, Date endDate) {
Result result = new Result();
@ -133,7 +134,7 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
}
//key=核素名称,value=获取样品中识别到的核素集合
Map<String, List<NuclideActConcIntvl>> groupedByNuclideName = nuclideActConcIntvlList.stream()
.filter(p->p.getNuclideName()!=null)
.filter(p -> p.getNuclideName() != null)
.collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName));
//查询级别 getSample
List<String> nuclideNames = new ArrayList<>(groupedByNuclideName.keySet());
@ -434,5 +435,21 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
return result;
}
@Override
public List<GardsStations> findStationListByMenuName() {
List<GardsStations> gardsStations = new LinkedList<>();
//获取台站信息
gardsStations = this.baseMapper.findStationListByMenuName();
return gardsStations;
}
@Override
@DS("master")
public List<SysDefaultNuclide> findNuclideList() {
LambdaQueryWrapper<SysDefaultNuclide> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(SysDefaultNuclide::getUseType, 4);
List<SysDefaultNuclide> defaultNuclides = defaultNuclideMapper.selectList(queryWrapper);
return defaultNuclides;
}
}