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

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

View File

@ -2,6 +2,8 @@ package org.jeecg.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result; 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.jeecg.modules.base.entity.original.GardsSampleData;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.RequestParam; 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); 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; package org.jeecg.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS; 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.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.vo.Result; import org.jeecg.common.api.vo.Result;
import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.util.DateUtils; 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.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.mapper.GardsSampleStatAnalysisMapper;
import org.jeecg.service.ISampleStatAnalysisService; import org.jeecg.service.ISampleStatAnalysisService;
import org.jeecg.util.DistributionAnalysisToolkit; import org.jeecg.util.DistributionAnalysisToolkit;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.ZoneId; import java.time.ZoneId;
@ -25,7 +25,8 @@ import java.util.stream.Collectors;
@Service @Service
@DS("ora") @DS("ora")
public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalysisMapper, GardsSampleData> implements ISampleStatAnalysisService { public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalysisMapper, GardsSampleData> implements ISampleStatAnalysisService {
@Autowired
private SysDefaultNuclideMapper defaultNuclideMapper;
public Result getSampleMonitorResult(String sampleType, Integer dataSource, Date startDate, Date endDate) { public Result getSampleMonitorResult(String sampleType, Integer dataSource, Date startDate, Date endDate) {
Result result = new Result(); Result result = new Result();
@ -133,7 +134,7 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
} }
//key=核素名称,value=获取样品中识别到的核素集合 //key=核素名称,value=获取样品中识别到的核素集合
Map<String, List<NuclideActConcIntvl>> groupedByNuclideName = nuclideActConcIntvlList.stream() Map<String, List<NuclideActConcIntvl>> groupedByNuclideName = nuclideActConcIntvlList.stream()
.filter(p->p.getNuclideName()!=null) .filter(p -> p.getNuclideName() != null)
.collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName)); .collect(Collectors.groupingBy(NuclideActConcIntvl::getNuclideName));
//查询级别 getSample //查询级别 getSample
List<String> nuclideNames = new ArrayList<>(groupedByNuclideName.keySet()); List<String> nuclideNames = new ArrayList<>(groupedByNuclideName.keySet());
@ -434,5 +435,21 @@ public class SampleStatAnalysisService extends ServiceImpl<GardsSampleStatAnalys
return result; 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;
}
} }