添加探测器模拟及联符合校正因子库数据

This commit is contained in:
duwenyuan 2026-07-08 14:57:53 +08:00
parent a55343a10e
commit 165f009892
12 changed files with 442 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 探测器模拟及联符合校正因子库数据
@ -89,4 +90,8 @@ public class GardsCorrectionFactor implements Serializable {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date moddate;
@TableField(exist = false)
private List<GardsCorrectionFactorDetail> details;
}

View File

@ -0,0 +1,67 @@
package org.jeecg.modules.base.entity.configuration;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 探测器模拟及联符合校正因子库数据---校正因子
*
*/
@Data
@TableName("CONFIGURATION.GARDS_CORRECTION_FACTOR_DETAIL")
public class GardsCorrectionFactorDetail {
/**
* 校正因子ID
*/
@TableId(value = "ID", type = IdType.AUTO)
private Integer id;
/**
* 台站ID
*/
@TableField(value = "STATION_ID")
private Integer stationId;
/**
* 探测器ID
*/
@TableField(value = "DETECTOR_ID")
private Integer detectorId;
/**
* 能量
*/
@Excel(name = "核素", width = 20, height = 20, orderNum = "1")
@TableField(value = "NUCLIDE_NAME")
private String nuclideName;
/**
* 能量
*/
@Excel(name = "能量", width = 20, height = 20, orderNum = "2")
@TableField(value = "ENERGY")
private Double energy;
/**
* 校正因子
*/
@Excel(name = "校正因子", width = 20, height = 20, orderNum = "3")
@TableField(value = "CORRECTION_FACTOR")
private Double correctionFactor;
/**
* 修改时间
*/
@TableField(value = "MODDATE", fill = FieldFill.INSERT_UPDATE)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date moddate;
}

View File

@ -0,0 +1,67 @@
package org.jeecg.modules.base.entity.configuration;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 探测器模拟及联符合校正因子库数据---效率
*
*/
@Data
@TableName("CONFIGURATION.GARDS_CORRECTION_FACTOR_EFF")
public class GardsCorrectionFactorEff {
/**
* 主键ID
*/
@TableId(value = "ID", type = IdType.AUTO)
private Integer id;
/**
* 台站ID
*/
@TableField(value = "STATION_ID")
private Integer stationId;
/**
* 探测器ID
*/
@TableField(value = "DETECTOR_ID")
private Integer detectorId;
/**
* 峰效率
*/
@Excel(name = "峰效率", width = 20, height = 20, orderNum = "1")
@TableField(value = "PEAK_EFFICIENCY")
private Double peakEfficiency;
/**
* 总效率
*/
@Excel(name = "总效率", width = 20, height = 20, orderNum = "2")
@TableField(value = "TOTAL_EFFICIENCY")
private Double totalEfficiency;
/**
* 能量
*/
@Excel(name = "能量", width = 20, height = 20, orderNum = "3")
@TableField(value = "ENERGY")
private Double energy;
/**
* 修改时间
*/
@TableField(value = "MODDATE", fill = FieldFill.INSERT_UPDATE)
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date moddate;
}

View File

@ -0,0 +1,25 @@
package org.jeecg.modules.base.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.base.entity.configuration.GardsCorrectionFactorDetail;
import org.jeecg.modules.base.vo.GardsCorrectionFactorDetailVO;
import java.util.List;
import java.util.Map;
public interface GardsCorrectionFactorDetailMapper extends BaseMapper<GardsCorrectionFactorDetail> {
IPage<GardsCorrectionFactorDetailVO> selectCombinedPage(
Page<GardsCorrectionFactorDetailVO> page,@Param("stationCode")String stationCode,@Param("detectorCode") String detectorCode,@Param("nuclideName") String nuclideName);
List<GardsCorrectionFactorDetailVO> findList(@Param("stationCode")String stationCode,@Param("detectorCode") String detectorCode,@Param("nuclideName") String nuclideName);
List<Map<String, Object>>selectStations();
List<Map<String, Object>>selectdetectors();
}

View File

@ -0,0 +1,36 @@
package org.jeecg.modules.base.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.jeecg.modules.base.entity.configuration.GardsCorrectionFactorEff;
import org.jeecg.modules.base.vo.DetectorMapDTO;
import org.jeecg.modules.base.vo.DetectorOptionVO;
import org.jeecg.modules.base.vo.GardsCorrectionFactorEffVO;
import org.jeecg.modules.base.vo.StationOptionVO;
import java.util.List;
public interface GardsCorrectionFactorEffMapper extends BaseMapper<GardsCorrectionFactorEff> {
IPage<GardsCorrectionFactorEffVO> selectCombinedPage(
Page<GardsCorrectionFactorEffVO> page,
@Param("stationCode") String stationCode, @Param("detectorCode") String detectorCode);
List<GardsCorrectionFactorEffVO> selectVOList(@Param("stationCode") String stationCode,
@Param("detectorCode") String detectorCode);
@Select("SELECT DETECTOR_ID, DETECTOR_CODE, STATION_ID FROM CONFIGURATION.GARDS_DETECTORS")
List<DetectorMapDTO> queryAllDetectorRef();
// 获取所有站点
List<StationOptionVO> getStationOptions();
// 根据站点联动获取探测器
List<DetectorOptionVO> getDetectorOptions(@Param("stationId")Long stationId);
}

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.GardsCorrectionFactorDetailMapper">
<select id="selectCombinedPage" resultType="org.jeecg.modules.base.vo.GardsCorrectionFactorDetailVO">
SELECT
e.*,
f.DETECTOR_CODE,
f.STATION_CODE
FROM
CONFIGURATION.GARDS_CORRECTION_FACTOR_DETAIL e
INNER JOIN (
SELECT
d.DETECTOR_ID,
d.DETECTOR_CODE,
s.STATION_ID,
s.STATION_CODE
FROM
CONFIGURATION.GARDS_DETECTORS d
INNER JOIN CONFIGURATION.GARDS_STATIONS s ON d.STATION_ID = s.STATION_ID
) f ON e.STATION_ID = f.STATION_ID
AND e.DETECTOR_ID = f.DETECTOR_ID
<where>
<if test="stationCode != null and stationCode != ''">
AND f.STATION_CODE = #{stationCode}
</if>
<if test="detectorCode != null and detectorCode != ''">
AND f.DETECTOR_CODE = #{detectorCode}
</if>
<if test="nuclideName != null and nuclideName != ''">
AND e.NUCLIDE_NAME = #{nuclideName}
</if>
</where>
</select>
<select id="findList" resultType="org.jeecg.modules.base.vo.GardsCorrectionFactorDetailVO">
SELECT
e.*,
f.DETECTOR_CODE,
f.STATION_CODE
FROM
CONFIGURATION.GARDS_CORRECTION_FACTOR_DETAIL e
INNER JOIN (
SELECT
d.DETECTOR_ID,
d.DETECTOR_CODE,
s.STATION_ID,
s.STATION_CODE
FROM
CONFIGURATION.GARDS_DETECTORS d
INNER JOIN CONFIGURATION.GARDS_STATIONS s ON d.STATION_ID = s.STATION_ID
) f ON e.STATION_ID = f.STATION_ID
AND e.DETECTOR_ID = f.DETECTOR_ID
<where>
<if test="stationCode != null and stationCode != ''">
AND f.STATION_CODE = #{stationCode}
</if>
<if test="detectorCode != null and detectorCode != ''">
AND f.DETECTOR_CODE = #{detectorCode}
</if>
<if test="nuclideName != null and nuclideName != ''">
AND e.NUCLIDE_NAME LIKE CONCAT('%', #{nuclideName}, '%')
</if>
</where>
</select>
<select id="selectStations" resultType="java.util.HashMap">
SELECT DETECTOR_ID,
DETECTOR_CODE,
STATION_ID
FROM "CONFIGURATION"."GARDS_STATIONS"
WHERE STATION_ID IS NOT NULL
</select>
<select id="selectdetectors" resultType="java.util.HashMap">
SELECT
STATION_ID,
STATION_CODE
FROM
"CONFIGURATION"."GARDS_DETECTORS"
</select>
</mapper>

View File

@ -0,0 +1,85 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.base.mapper.GardsCorrectionFactorEffMapper">
<select id="selectCombinedPage" resultType="org.jeecg.modules.base.vo.GardsCorrectionFactorEffVO">
SELECT
e.*,
f.DETECTOR_CODE,
f.STATION_CODE
FROM
CONFIGURATION.GARDS_CORRECTION_FACTOR_EFF e
INNER JOIN (
SELECT
d.DETECTOR_ID,
d.DETECTOR_CODE,
s.STATION_ID,
s.STATION_CODE
FROM
CONFIGURATION.GARDS_DETECTORS d
INNER JOIN CONFIGURATION.GARDS_STATIONS s
ON d.STATION_ID = s.STATION_ID
) f
ON e.STATION_ID = f.STATION_ID
AND e.DETECTOR_ID = f.DETECTOR_ID
<where>
<if test="stationCode != null and stationCode != ''">
AND f.STATION_CODE = #{stationCode}
</if>
<if test="detectorCode != null and detectorCode != ''">
AND f.DETECTOR_CODE = #{detectorCode}
</if>
</where>
</select>
<select id="selectVOList" resultType="org.jeecg.modules.base.vo.GardsCorrectionFactorEffVO">
SELECT
e.*,
f.DETECTOR_CODE,
f.STATION_CODE
FROM
CONFIGURATION.GARDS_CORRECTION_FACTOR_DETAIL e
INNER JOIN (
SELECT
d.DETECTOR_ID,
d.DETECTOR_CODE,
s.STATION_ID,
s.STATION_CODE
FROM
CONFIGURATION.GARDS_DETECTORS d
INNER JOIN CONFIGURATION.GARDS_STATIONS s
ON d.STATION_ID = s.STATION_ID
) f
ON e.STATION_ID = f.STATION_ID
AND e.DETECTOR_ID = f.DETECTOR_ID
<where>
<if test="stationCode != null and stationCode != ''">
AND f.STATION_CODE = #{stationCode}
</if>
<if test="detectorCode != null and detectorCode != ''">
AND f.DETECTOR_CODE = #{detectorCode}
</if>
</where>
</select>
<select id="getStationOptions" resultType="org.jeecg.modules.base.vo.StationOptionVO">
SELECT
STATION_ID as "stationId",
STATION_CODE as "stationCode"
FROM "CONFIGURATION"."GARDS_STATIONS"
WHERE STATUS = 'Operating'
ORDER BY STATION_CODE ASC
</select>
<select id="getDetectorOptions" resultType="org.jeecg.modules.base.vo.DetectorOptionVO">
SELECT
DETECTOR_ID as "detectorId",
DETECTOR_CODE as "detectorCode"
FROM "CONFIGURATION"."GARDS_DETECTORS"
WHERE STATION_ID = #{stationId}
ORDER BY DETECTOR_CODE ASC
</select>
</mapper>

View File

@ -0,0 +1,10 @@
package org.jeecg.modules.base.vo;
import lombok.Data;
@Data
public class DetectorMapDTO {
private Integer detectorId;
private String detectorCode;
private Integer stationId;
}

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.base.vo;
import lombok.Data;
@Data
public class DetectorOptionVO {
private Long detectorId;
private String detectorCode;
public DetectorOptionVO(Long detectorId, String detectorCode) {
this.detectorId = detectorId;
this.detectorCode = detectorCode;
}
}

View File

@ -0,0 +1,18 @@
package org.jeecg.modules.base.vo;
import lombok.Data;
import org.jeecg.modules.base.entity.configuration.GardsCorrectionFactorDetail;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
import java.util.Date;
@Data
public class GardsCorrectionFactorDetailVO extends GardsCorrectionFactorDetail implements Serializable {
@Excel(name = "台站编码", orderNum = "0")
private String stationCode;
@Excel(name = "探测器编码", orderNum = "0")
private String detectorCode;
}

View File

@ -0,0 +1,16 @@
package org.jeecg.modules.base.vo;
import lombok.Data;
import org.jeecg.modules.base.entity.configuration.GardsCorrectionFactorEff;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
@Data
public class GardsCorrectionFactorEffVO extends GardsCorrectionFactorEff implements Serializable {
@Excel(name = "台站编码", orderNum = "0")
private String stationCode;
@Excel(name = "探测器编码", orderNum = "0")
private String detectorCode;
}

View File

@ -0,0 +1,14 @@
package org.jeecg.modules.base.vo;
import lombok.Data;
@Data
public class StationOptionVO {
private Long stationId;
private String stationCode;
public StationOptionVO(Long stationId, String stationCode) {
this.stationId = stationId;
this.stationCode = stationCode;
}
}