fix:1.RRR公式修正 2.TableInfo重构
This commit is contained in:
parent
329e6859b9
commit
a970060ad5
|
@ -0,0 +1,41 @@
|
|||
package org.jeecg.common.constant;
|
||||
|
||||
public interface DBSQL {
|
||||
|
||||
/* PostgreSQL */
|
||||
String DBNAMES_PG = "SELECT datname FROM pg_database WHERE datistemplate = false";
|
||||
String DBINFO_PG = " SELECT relname AS tableName, 0 AS numRow, 0.0 AS used," +
|
||||
"ROUND( pg_relation_size ( relid ) / ( 1024 * 1024 ), 2 ) AS dataSize," +
|
||||
"ROUND( pg_indexes_size ( relid ) / ( 1024 * 1024 ), 2 ) AS indexSize " +
|
||||
"FROM pg_stat_user_tables WHERE schemaname = 'public'";
|
||||
String DBROWNUM_PG = "SELECT relname AS tableName, reltuples AS numRow," +
|
||||
"0.0 AS used, 0.0 AS dataSize, 0.0 AS indexSize " +
|
||||
"FROM pg_class WHERE relkind = 'r' AND relname NOT LIKE 'pg_%' AND relname NOT LIKE 'sql_%'";
|
||||
|
||||
/* Oracle */
|
||||
String DBNAMES_OR = "SELECT username FROM all_users";
|
||||
String DBINFO_OR = "SELECT a.table_name AS tableName, a.num_rows AS numRow," +
|
||||
"COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS dataSize, " +
|
||||
"COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS indexSize, " +
|
||||
"COALESCE(ROUND((d.bytes / d.max_size) * 100, 3), 0) AS used " +
|
||||
"FROM all_tables a LEFT JOIN dba_segments d " +
|
||||
"ON a.owner = d.owner AND a.table_name = d.segment_name " +
|
||||
"AND d.segment_type = 'TABLE' WHERE a.owner = '%s' " +
|
||||
"ORDER BY a.table_name";
|
||||
String DBINDEX_OR = "SELECT a.table_name AS tableName, a.num_rows AS numRow," +
|
||||
"COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS dataSize, " +
|
||||
"COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS indexSize, " +
|
||||
"COALESCE(ROUND((d.bytes / d.max_size) * 100, 3), 0) AS used " +
|
||||
"FROM all_tables a LEFT JOIN dba_segments d " +
|
||||
"ON a.owner = d.owner AND a.table_name = d.segment_name " +
|
||||
"AND d.segment_type = 'INDEX' WHERE a.owner = '%s' " +
|
||||
"ORDER BY a.table_name";
|
||||
|
||||
/* MySQL */
|
||||
String DBNAMES_MY = "SHOW DATABASES";
|
||||
String DBINFO_MY = "SELECT TABLE_NAME AS tableName, TABLE_ROWS AS numRow," +
|
||||
"round((data_length / 1024 / 1024), 2) AS dataSize, " +
|
||||
"round((index_length / 1024 / 1024), 2) AS indexSize, " +
|
||||
"0.0 AS used " +
|
||||
"FROM information_schema.tables WHERE table_schema = '%s' ORDER BY TABLE_NAME";
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package org.jeecg.common.constant.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum DbType {
|
||||
MYSQL55("1", "MySQL5.5"), ORACLE("2", "Oracle"),
|
||||
POSTGRESQL("6","PostgreSQL"), MYSQL57("4", "MySQL5.7+");
|
||||
|
||||
private String type;
|
||||
|
||||
private String text;
|
||||
|
||||
public static DbType typeOf(String type){
|
||||
for (DbType dbType : DbType.values()) {
|
||||
if (dbType.getType().equals(type))
|
||||
return dbType;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
package org.jeecg.common.util;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.jdbc.datasource.DriverManagerDataSource;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.sql.*;
|
||||
import java.util.Properties;
|
||||
|
||||
public class JDBCUtil {
|
||||
|
||||
public static JdbcTemplate template(String url, String driver, String user, String pass){
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource();
|
||||
dataSource.setUrl(url);
|
||||
dataSource.setDriverClassName(driver);
|
||||
dataSource.setUsername(user);
|
||||
dataSource.setPassword(pass);
|
||||
return new JdbcTemplate(dataSource);
|
||||
}
|
||||
|
||||
public static JdbcTemplate templateMy(String ip, String port, String db, String user, String pass){
|
||||
return new JdbcTemplate(dataSourceMy(ip, port, db, user, pass));
|
||||
}
|
||||
|
||||
public static JdbcTemplate templateMy(String ip, String db, String user, String pass){
|
||||
return templateMy(ip, "3306", db, user, pass);
|
||||
}
|
||||
|
||||
public static JdbcTemplate templateOr(String ip, String port, String db, String user, String pass){
|
||||
return new JdbcTemplate(dataSourceOr(ip, port, db, user, pass));
|
||||
}
|
||||
|
||||
public static JdbcTemplate templateOr(String ip, String db, String user, String pass){
|
||||
return templateOr(ip, "1521", db, user, pass);
|
||||
}
|
||||
|
||||
public static JdbcTemplate templatePg(String ip, String port, String db, String user, String pass){
|
||||
return new JdbcTemplate(dataSourcePg(ip, port, db, user, pass));
|
||||
}
|
||||
|
||||
public static JdbcTemplate templatePg(String ip, String db, String user, String pass){
|
||||
return templatePg(ip, "5432", db, user, pass);
|
||||
}
|
||||
|
||||
private static DataSource dataSourceMy(String ip, String port, String db, String user, String pass) {
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource();
|
||||
dataSource.setUrl(MySQLUrl(ip, port, db));
|
||||
dataSource.setUsername(user);
|
||||
dataSource.setPassword(pass);
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
private static DataSource dataSourceOr(String ip, String port, String db, String user, String pass) {
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource();
|
||||
dataSource.setUrl(OracleUrl(ip, port, db));
|
||||
dataSource.setUsername(user);
|
||||
dataSource.setPassword(pass);
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
private static DataSource dataSourcePg(String ip, String port, String db, String user, String pass) {
|
||||
DriverManagerDataSource dataSource = new DriverManagerDataSource();
|
||||
dataSource.setUrl(PostgreUrl(ip, port, db));
|
||||
dataSource.setUsername(user);
|
||||
dataSource.setPassword(pass);
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private static String MySQLUrl(String ip, String port, String db){
|
||||
return "jdbc:mysql://" + ip + ":" + port + "/" + db +
|
||||
"?characterEncoding=UTF-8&useUnicode=true&" +
|
||||
"useSSL=false&tinyInt1isBit=false&" +
|
||||
"allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai";
|
||||
}
|
||||
|
||||
private static String OracleUrl(String ip, String port, String db){
|
||||
return "jdbc:oracle:thin:@" + ip + ":" + port + ":" + db;
|
||||
}
|
||||
|
||||
private static String PostgreUrl(String ip, String port, String db){
|
||||
return "jdbc:postgresql://" + ip + ":" + port + "/" + db +
|
||||
"?stringtype=unspecified";
|
||||
}
|
||||
}
|
|
@ -11,6 +11,8 @@ public class DSSwitcher {
|
|||
|
||||
private final static String PGSQL = "master";
|
||||
|
||||
private final static String MYSQL = "mysql";
|
||||
|
||||
public static void switchToOracle(){
|
||||
DynamicDataSourceContextHolder.push(ORACLE);
|
||||
}
|
||||
|
@ -19,6 +21,10 @@ public class DSSwitcher {
|
|||
DynamicDataSourceContextHolder.push(PGSQL);
|
||||
}
|
||||
|
||||
public static void switchToMySql(){
|
||||
DynamicDataSourceContextHolder.push(MYSQL);
|
||||
}
|
||||
|
||||
public static void clear(){
|
||||
DynamicDataSourceContextHolder.clear();
|
||||
}
|
||||
|
|
|
@ -33,35 +33,32 @@ public class SysDatabase implements Serializable {
|
|||
@TableField(value = "status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* ip地址
|
||||
*/
|
||||
@TableField(value = "ip_address")
|
||||
private String ipAddress;
|
||||
|
||||
/**
|
||||
* 端口
|
||||
*/
|
||||
@TableField(value = "port")
|
||||
private String port;
|
||||
|
||||
/**
|
||||
* 用户名称
|
||||
*/
|
||||
@TableField(value = "username")
|
||||
private String username;
|
||||
@TableField("db_username")
|
||||
private String dbUsername;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@TableField(value = "password")
|
||||
private String password;
|
||||
@TableField("db_password")
|
||||
private String dbPassword;
|
||||
|
||||
/**
|
||||
* 数据库类型
|
||||
*/
|
||||
@TableField(value = "type")
|
||||
private String type;
|
||||
@TableField("db_type")
|
||||
private String dbType;
|
||||
|
||||
@TableField("db_url")
|
||||
private String dbUrl;
|
||||
|
||||
@TableField("db_driver")
|
||||
private String dbDriver;
|
||||
|
||||
@TableField("db_name")
|
||||
private String dbName;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
|
|
Binary file not shown.
|
@ -248,6 +248,7 @@
|
|||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Net count</td>
|
||||
<td width="453" height="40">Lc</td>
|
||||
</tr>
|
||||
<tr th:each="roiResult : ${roiResults}">
|
||||
<td width="463" height="40" th:text="${roiResult.roi}"></td>
|
||||
|
|
|
@ -0,0 +1,322 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
<h4 align="center">CNL06 GENERATED REPORT
|
||||
<br>REVIEWED RADIONUCLIDE REPORT
|
||||
<br>(Noble Gas Version)
|
||||
<br th:text="'Creation Date ' + ${now}">
|
||||
<br>
|
||||
</h4>
|
||||
<table border="1" align="center" bordercolor="black" cellspacing="0">
|
||||
<tr>
|
||||
<td colspan="5" height="40">#FILE INFORMATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> SampleMeasID:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${measurement_id}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> GASBKMeasID:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${gas_bk_measurement_id}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> SRID:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${sample_ref_id}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Detector Type:</td>
|
||||
<td width="453" height="40" colspan="4">3D b-g</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#COLLECTION INFORMATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Station CODE:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${site_code}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Detector CODE:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${detector_code}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Collection Start:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${collection_start_date + ' ' +collection_start_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Collection Stop:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${collection_stop_date + ' ' + collection_stop_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Collection TIME(h):</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${collection_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Air Volume[cm3]:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${air_volume}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Xe Volume[cm3]:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${sample_volume_of_Xe}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#ACQUISITION INFORMATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Acquisition Start:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${acquisition_start_date + ' ' + acquisition_start_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Acq Real Time(s):</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${acquisition_real_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Acq Live Time:</td>
|
||||
<td width="453" height="40" colspan="4" th:text="${acquisition_live_time}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#SOFTWARE</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> version:</td>
|
||||
<td width="453" height="40" colspan="4">1.0.1</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#SAMPLE Old CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Old Beta</td>
|
||||
<td width="453" height="40">Old Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#SAMPLE New CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> New Beta</td>
|
||||
<td width="453" height="40">New Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = ([[${betaCalibrationSEC.coeff1}]])+([[${betaCalibrationSEC.coeff2}]])*x+([[${betaCalibrationSEC.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> CH(x) = ([[${gammaCalibrationSEC.coeff1}]])+([[${gammaCalibrationSEC.coeff2}]])*x+([[${gammaCalibrationSEC.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = ([[${betaCalibrationSCE.coeff1}]])+([[${betaCalibrationSCE.coeff2}]])*x+([[${betaCalibrationSCE.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> E(x) = ([[${gammaCalibrationSCE.coeff1}]])+([[${gammaCalibrationSCE.coeff2}]])*x+([[${gammaCalibrationSCE.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#SAMPLE: LIMITS PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Beta</td>
|
||||
<td width="103" height="40"> Gamma</td>
|
||||
</tr>
|
||||
<tr th:each="roiChannel : ${roiChannelsS}">
|
||||
<td width="463" height="40" th:text="${roiChannel.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiChannel.bChanStr}"></td>
|
||||
<td width="103" height="40" th:text="${roiChannel.gChanStr}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#DET Old CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Old Beta</td>
|
||||
<td width="453" height="40">Old Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#DET New CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> New Beta</td>
|
||||
<td width="453" height="40">New Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = ([[${betaCalibrationDEC.coeff1}]])+([[${betaCalibrationDEC.coeff2}]])*x+([[${betaCalibrationDEC.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> CH(x) = ([[${gammaCalibrationDEC.coeff1}]])+([[${gammaCalibrationDEC.coeff2}]])*x+([[${gammaCalibrationDEC.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = ([[${betaCalibrationDCE.coeff1}]])+([[${betaCalibrationDCE.coeff2}]])*x+([[${betaCalibrationDCE.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> E(x) = ([[${gammaCalibrationDCE.coeff1}]])+([[${gammaCalibrationDCE.coeff2}]])*x+([[${gammaCalibrationDCE.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#DET: LIMITS PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Beta</td>
|
||||
<td width="103" height="40"> Gamma</td>
|
||||
</tr>
|
||||
<tr th:each="roiChannel : ${roiChannelsD}">
|
||||
<td width="463" height="40" th:text="${roiChannel.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiChannel.bChanStr}"></td>
|
||||
<td width="103" height="40" th:text="${roiChannel.gChanStr}"></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#GAS Old CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Old Beta</td>
|
||||
<td width="453" height="40">Old Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> CH(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
<td width="453" height="40"> E(x) = (?1)+(?2)*x+(?3)x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#GAS New CALIBRATION</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> New Beta</td>
|
||||
<td width="453" height="40">New Gamma</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> CH(x) = ([[${betaCalibrationGEC.coeff1}]])+([[${betaCalibrationGEC.coeff2}]])*x+([[${betaCalibrationGEC.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> CH(x) = ([[${gammaCalibrationGEC.coeff1}]])+([[${gammaCalibrationGEC.coeff2}]])*x+([[${gammaCalibrationGEC.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> E(x) = ([[${betaCalibrationGCE.coeff1}]])+([[${betaCalibrationGCE.coeff2}]])*x+([[${betaCalibrationGCE.coeff3}]])x*x</td>
|
||||
<td width="453" height="40"> E(x) = ([[${gammaCalibrationGCE.coeff1}]])+([[${gammaCalibrationGCE.coeff2}]])*x+([[${gammaCalibrationGCE.coeff3}]])x*x</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#GAS: LIMITS PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Beta</td>
|
||||
<td width="103" height="40"> Gamma</td>
|
||||
</tr>
|
||||
<tr th:each="roiChannel : ${roiChannelsG}">
|
||||
<td width="463" height="40" th:text="${roiChannel.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiChannel.bChanStr}"></td>
|
||||
<td width="103" height="40" th:text="${roiChannel.gChanStr}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#GROSS COUNTS PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Sample</td>
|
||||
<td width="103" height="40">GasBkgnd</td>
|
||||
<td width="123" height="40">DetBkgnd</td>
|
||||
</tr>
|
||||
<tr th:each="roiResult : ${roiResults}">
|
||||
<td width="463" height="40" th:text="${roiResult.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiResult.sGross}"></td>
|
||||
<td width="103" height="40" th:text="${roiResult.gGross}"></td>
|
||||
<td width="123" height="40" th:text="${roiResult.bGross}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#NET COUNTS AND LC PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Net count</td>
|
||||
</tr>
|
||||
<tr th:each="roiResult : ${roiResults}">
|
||||
<td width="463" height="40" th:text="${roiResult.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiResult.netCount}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#CONCENTRATION AND LC PER ROI</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Roi</td>
|
||||
<td width="453" height="40">Conc(mBq/m3)</td>
|
||||
<td width="103" height="40">LC(mBq/m3)</td>
|
||||
<td width="123" height="40">MDC(mBq/m3):</td>
|
||||
</tr>
|
||||
<tr th:each="roiResult : ${roiResults}">
|
||||
<td width="463" height="40" th:text="${roiResult.roi}"></td>
|
||||
<td width="453" height="40" th:text="${roiResult.concStr}"></td>
|
||||
<td width="453" height="40" th:text="${roiResult.lc}"></td>
|
||||
<td width="453" height="40" th:text="${roiResult.mdc}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40">#RESULT SUMMARY</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="463" height="40"> Nuclide Name</td>
|
||||
<td width="453" height="40">Conc</td>
|
||||
<td width="103" height="40">LC</td>
|
||||
<td width="123" height="40">MDC</td>
|
||||
<td width="83" height="40">NID Flag</td>
|
||||
</tr>
|
||||
<tr th:each="xeResult : ${xeResults}">
|
||||
<td width="463" height="40" th:text="${xeResult.nuclideName}"></td>
|
||||
<td width="453" height="40" th:text="${xeResult.concStr}"></td>
|
||||
<td width="103" height="40" th:text="${xeResult.lc}"></td>
|
||||
<td width="123" height="40" th:text="${xeResult.mdc}"></td>
|
||||
<td width="83" height="40" th:text="${xeResult.nidFlag}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="5" height="40"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</html>
|
|
@ -66,14 +66,14 @@ public class SysDatabaseController {
|
|||
|
||||
@GetMapping("dbNames")
|
||||
@ApiOperation(value = "数据库名列表",notes = "数据库名列表")
|
||||
public Result<?> dbNames(@RequestParam String dbType){
|
||||
return Result.OK(sysDatabaseService.dbNames(dbType));
|
||||
public Result<?> dbNames(@RequestParam String sourceId){
|
||||
return Result.OK(sysDatabaseService.dbNames(sourceId));
|
||||
}
|
||||
|
||||
@GetMapping("dbInfo")
|
||||
@ApiOperation(value = "数据库表详情信息",notes = "数据库表详情信息")
|
||||
public Result<?> dbInfo(@RequestParam String dbType,
|
||||
@RequestParam String dataBase) {
|
||||
return Result.OK(sysDatabaseService.dbInfo(dbType, dataBase));
|
||||
public Result<?> dbInfo(@RequestParam String sourceId,
|
||||
@RequestParam String dbName) {
|
||||
return Result.OK(sysDatabaseService.dbInfo(sourceId, dbName));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
package org.jeecg.modules.mapper;
|
||||
|
||||
import org.jeecg.modules.base.dto.DBInfo;
|
||||
import org.springframework.jdbc.core.RowMapper;
|
||||
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
|
||||
public class DBRowMapper implements RowMapper<DBInfo> {
|
||||
|
||||
@Override
|
||||
public DBInfo mapRow(ResultSet rs, int rowNum) throws SQLException {
|
||||
DBInfo dbInfo = new DBInfo();
|
||||
dbInfo.setTableName(rs.getString("tableName"));
|
||||
dbInfo.setNumRow(rs.getInt("numRow"));
|
||||
dbInfo.setDataSize(rs.getDouble("dataSize"));
|
||||
dbInfo.setIndexSize(rs.getDouble("indexSize"));
|
||||
dbInfo.setUsed(rs.getDouble("used"));
|
||||
return dbInfo;
|
||||
}
|
||||
}
|
|
@ -50,73 +50,4 @@
|
|||
LIMIT #{pageSize} OFFSET #{pageStart}
|
||||
</if>
|
||||
</select>
|
||||
<select id="dbNamesPG" resultType="java.lang.String">
|
||||
SELECT datname FROM pg_database WHERE datistemplate = false;
|
||||
</select>
|
||||
<select id="dbNamesMY" resultType="java.lang.String">
|
||||
SHOW DATABASES;
|
||||
</select>
|
||||
<select id="dbNamesOR" resultType="java.lang.String">
|
||||
SELECT username FROM all_users;
|
||||
</select>
|
||||
<select id="dbInfoOR" resultType="org.jeecg.modules.base.dto.DBInfo">
|
||||
SELECT
|
||||
a.table_name AS tableName,
|
||||
a.num_rows AS numRow,
|
||||
COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS dataSize,
|
||||
COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS indexSize,
|
||||
COALESCE(ROUND((d.bytes / d.max_size) * 100, 3), 0) AS used
|
||||
FROM
|
||||
all_tables a
|
||||
LEFT JOIN dba_segments d ON a.owner = d.owner AND a.table_name = d.segment_name AND d.segment_type = 'TABLE'
|
||||
WHERE
|
||||
a.owner = #{owner}
|
||||
ORDER BY a.table_name
|
||||
</select>
|
||||
<select id="dbIndexOR" resultType="org.jeecg.modules.base.dto.DBInfo">
|
||||
SELECT
|
||||
a.table_name AS tableName,
|
||||
COALESCE(ROUND((d.bytes / (1024 * 1024)), 2), 0) AS indexSize
|
||||
FROM
|
||||
all_tables a
|
||||
LEFT JOIN dba_segments d ON a.owner = d.owner AND a.table_name = d.segment_name AND d.segment_type = 'INDEX'
|
||||
WHERE
|
||||
a.owner = #{owner}
|
||||
ORDER BY a.table_name
|
||||
</select>
|
||||
|
||||
<select id="dbInfoPG" resultType="org.jeecg.modules.base.dto.DBInfo">
|
||||
SELECT
|
||||
relname AS tableName,
|
||||
ROUND( pg_relation_size ( relid ) / ( 1024 * 1024 ), 2 ) AS dataSize,
|
||||
ROUND( pg_indexes_size ( relid ) / ( 1024 * 1024 ), 2 ) AS indexSize
|
||||
FROM
|
||||
pg_stat_user_tables
|
||||
WHERE
|
||||
schemaname = 'public'
|
||||
</select>
|
||||
<select id="dbRowNumPG" resultType="org.jeecg.modules.base.dto.DBInfo">
|
||||
SELECT
|
||||
relname AS tableName,
|
||||
reltuples AS numRow
|
||||
FROM
|
||||
pg_class
|
||||
WHERE
|
||||
relkind = 'r'
|
||||
AND relname NOT LIKE 'pg_%'
|
||||
AND relname NOT LIKE 'sql_%'
|
||||
</select>
|
||||
|
||||
<select id="dbInfoMY" resultType="org.jeecg.modules.base.dto.DBInfo">
|
||||
SELECT
|
||||
TABLE_NAME AS tableName,
|
||||
TABLE_ROWS AS numRow,
|
||||
round((data_length / 1024 / 1024), 2) AS dataSize,
|
||||
round((index_length / 1024 / 1024), 2) AS indexSize
|
||||
FROM
|
||||
information_schema.tables
|
||||
WHERE
|
||||
table_schema = #{owner};
|
||||
ORDER BY TABLE_NAME
|
||||
</select>
|
||||
</mapper>
|
|
@ -14,7 +14,7 @@ public interface ISysDatabaseService extends IService<SysDatabase> {
|
|||
|
||||
Result findPage(QueryRequest query);
|
||||
|
||||
Result findInfo(String id);
|
||||
Result<?> findInfo(String id);
|
||||
|
||||
Result create(SysDatabase sysDatabase);
|
||||
|
||||
|
@ -26,7 +26,7 @@ public interface ISysDatabaseService extends IService<SysDatabase> {
|
|||
|
||||
List<SourceDto> listAll();
|
||||
|
||||
List<String> dbNames(String dbType);
|
||||
List<String> dbNames(String id);
|
||||
|
||||
List<DBInfo> dbInfo(String dbType, String dataBase);
|
||||
List<DBInfo> dbInfo(String id, String dbName);
|
||||
}
|
||||
|
|
|
@ -3,17 +3,18 @@ package org.jeecg.modules.service.impl;
|
|||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.ReUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.druid.util.JdbcUtils;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.constant.DataBaseConstant;
|
||||
import org.jeecg.common.constant.DateConstant;
|
||||
import org.jeecg.common.constant.DictConstant;
|
||||
import org.jeecg.common.constant.Prompt;
|
||||
import org.jeecg.common.constant.*;
|
||||
import org.jeecg.common.constant.enums.DbType;
|
||||
import org.jeecg.common.system.vo.DictModel;
|
||||
import org.jeecg.common.util.JDBCUtil;
|
||||
import org.jeecg.config.mybatis.DSSwitcher;
|
||||
import org.jeecg.modules.base.dto.DBInfo;
|
||||
import org.jeecg.modules.base.dto.DatabaseDto;
|
||||
|
@ -22,9 +23,12 @@ import org.jeecg.modules.base.entity.postgre.SysDatabase;
|
|||
import org.jeecg.modules.base.bizVo.SourceVo;
|
||||
import org.jeecg.modules.entity.AlarmHistory;
|
||||
import org.jeecg.modules.feignclient.SystemClient;
|
||||
import org.jeecg.modules.mapper.DBRowMapper;
|
||||
import org.jeecg.modules.mapper.SysDatabaseMapper;
|
||||
import org.jeecg.modules.service.ISysDatabaseService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.jdbc.core.JdbcTemplate;
|
||||
import org.springframework.jdbc.core.RowMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
|
@ -33,6 +37,8 @@ import java.time.format.DateTimeFormatter;
|
|||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static org.jeecg.common.constant.enums.DbType.*;
|
||||
|
||||
@Service("sysDatabaseService")
|
||||
public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDatabase> implements ISysDatabaseService {
|
||||
|
||||
|
@ -74,7 +80,7 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
}
|
||||
|
||||
@Override
|
||||
public Result findInfo(String id) {
|
||||
public Result<?> findInfo(String id) {
|
||||
Result result = new Result();
|
||||
LambdaQueryWrapper<SysDatabase> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(SysDatabase::getId, id);
|
||||
|
@ -90,24 +96,52 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
|
||||
@Override
|
||||
@Transactional
|
||||
public Result create(SysDatabase sysDatabase) {
|
||||
public Result<?> create(SysDatabase sysDatabase) {
|
||||
String name = sysDatabase.getName();
|
||||
String ipAddress = sysDatabase.getIpAddress();
|
||||
LambdaQueryWrapper<SysDatabase> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(SysDatabase::getName,name);
|
||||
if (CollUtil.isNotEmpty(list(wrapper)))
|
||||
return Result.error("Name"+Prompt.NOT_REPEAT);
|
||||
wrapper.clear();
|
||||
wrapper.eq(SysDatabase::getIpAddress,ipAddress);
|
||||
if (CollUtil.isNotEmpty(list(wrapper)))
|
||||
return Result.error("IP Address"+Prompt.NOT_REPEAT);
|
||||
|
||||
// 截取dbName并保存
|
||||
String dbType = sysDatabase.getDbType();
|
||||
String dbUrl = sysDatabase.getDbUrl();
|
||||
DbType dbTypeE = typeOf(dbType);
|
||||
switch (dbTypeE){
|
||||
case POSTGRESQL:
|
||||
sysDatabase.setDbName(bias(dbUrl));
|
||||
break;
|
||||
case ORACLE:
|
||||
sysDatabase.setDbName(colon(dbUrl));
|
||||
break;
|
||||
case MYSQL55:
|
||||
sysDatabase.setDbName(bias(dbUrl));
|
||||
break;
|
||||
case MYSQL57:
|
||||
sysDatabase.setDbName(bias(dbUrl));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
int count = baseMapper.insert(sysDatabase);
|
||||
if (count == 1)
|
||||
return Result.OK(Prompt.ADD_SUCC);
|
||||
return Result.error(Prompt.ADD_ERR);
|
||||
}
|
||||
|
||||
private String colon(String url){
|
||||
if (StrUtil.isBlank(url))
|
||||
return null;
|
||||
String regex = ".*:(.*)";
|
||||
return ReUtil.getGroup1(regex, url);
|
||||
}
|
||||
|
||||
private String bias(String url){
|
||||
if (StrUtil.isBlank(url))
|
||||
return null;
|
||||
String regex = "/([^/?]+)\\?";
|
||||
return ReUtil.getGroup1(regex, url);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public Result update(SysDatabase sysDatabase) {
|
||||
|
@ -115,7 +149,7 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
if (ObjectUtil.isNull(database))
|
||||
return Result.error(Prompt.DATA_NOT_EXITS);
|
||||
String name = sysDatabase.getName();
|
||||
String ipAddress = sysDatabase.getIpAddress();
|
||||
// String ipAddress = sysDatabase.getIpAddress();
|
||||
LambdaQueryWrapper<SysDatabase> wrapper = new LambdaQueryWrapper<>();
|
||||
if (!StrUtil.equals(name,database.getName())){
|
||||
wrapper.eq(SysDatabase::getName,name);
|
||||
|
@ -123,11 +157,11 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
return Result.error("Name" + Prompt.NOT_REPEAT);
|
||||
wrapper.clear();
|
||||
}
|
||||
if (!StrUtil.equals(ipAddress,database.getIpAddress())){
|
||||
/*if (!StrUtil.equals(ipAddress,database.getIpAddress())){
|
||||
wrapper.eq(SysDatabase::getIpAddress,ipAddress);
|
||||
if (CollUtil.isNotEmpty(list(wrapper)))
|
||||
return Result.error("IP Address" + Prompt.NOT_REPEAT);
|
||||
}
|
||||
}*/
|
||||
int count = baseMapper.updateById(sysDatabase);
|
||||
if (count == 1)
|
||||
return Result.OK(Prompt.UPDATE_SUCC);
|
||||
|
@ -182,17 +216,30 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<String> dbNames(String dbType) {
|
||||
public List<String> dbNames(String id) {
|
||||
List<String> dbNames = new ArrayList<>();
|
||||
switch (dbType){
|
||||
case DataBaseConstant.DB_TYPE_ORACLE:
|
||||
dbNames = dbNamesOR();
|
||||
SysDatabase sysDatabase = getById(id);
|
||||
if (ObjectUtil.isNull(sysDatabase))
|
||||
return dbNames;
|
||||
String dbUrl = sysDatabase.getDbUrl();
|
||||
String dbDriver = sysDatabase.getDbDriver();
|
||||
String dbUsername = sysDatabase.getDbUsername();
|
||||
String dbPassword = sysDatabase.getDbPassword();
|
||||
String dbType = sysDatabase.getDbType();
|
||||
JdbcTemplate template = JDBCUtil.template(dbUrl, dbDriver, dbUsername, dbPassword);
|
||||
DbType dbTypeE = DbType.typeOf(dbType);
|
||||
switch (dbTypeE){
|
||||
case POSTGRESQL:
|
||||
dbNames = template.queryForList(DBSQL.DBNAMES_PG, String.class);
|
||||
break;
|
||||
case DataBaseConstant.DB_TYPE_POSTGRESQL:
|
||||
dbNames = dbNamesPG();
|
||||
case ORACLE:
|
||||
dbNames = template.queryForList(DBSQL.DBNAMES_OR, String.class);
|
||||
break;
|
||||
case DataBaseConstant.DB_TYPE_MYSQL:
|
||||
// ...
|
||||
case MYSQL55:
|
||||
dbNames = template.queryForList(DBSQL.DBNAMES_MY, String.class);
|
||||
break;
|
||||
case MYSQL57:
|
||||
dbNames = template.queryForList(DBSQL.DBNAMES_MY, String.class);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -201,17 +248,31 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
}
|
||||
|
||||
@Override
|
||||
public List<DBInfo> dbInfo(String dbType, String dataBase) {
|
||||
public List<DBInfo> dbInfo(String id, String dbName) {
|
||||
List<DBInfo> dbInfos = new ArrayList<>();
|
||||
switch (dbType){
|
||||
case DataBaseConstant.DB_TYPE_ORACLE:
|
||||
dbInfos = dbInfoOR(dataBase);
|
||||
SysDatabase sysDatabase = getById(id);
|
||||
if (ObjectUtil.isNull(sysDatabase))
|
||||
return dbInfos;
|
||||
String dbUrl = sysDatabase.getDbUrl();
|
||||
String dbDriver = sysDatabase.getDbDriver();
|
||||
String dbUsername = sysDatabase.getDbUsername();
|
||||
String dbPassword = sysDatabase.getDbPassword();
|
||||
String dbType = sysDatabase.getDbType();
|
||||
DBRowMapper dbRowMapper = new DBRowMapper();
|
||||
JdbcTemplate template = JDBCUtil.template(dbUrl, dbDriver, dbUsername, dbPassword);
|
||||
DbType dbTypeE = DbType.typeOf(dbType);
|
||||
switch (dbTypeE){
|
||||
case POSTGRESQL:
|
||||
dbInfos = dbInfoPG(sysDatabase, dbName, dbRowMapper);
|
||||
break;
|
||||
case DataBaseConstant.DB_TYPE_POSTGRESQL:
|
||||
dbInfos = dbInfoPG();
|
||||
case ORACLE:
|
||||
dbInfos = dbInfoOR(template, dbName, dbRowMapper);
|
||||
break;
|
||||
case DataBaseConstant.DB_TYPE_MYSQL:
|
||||
// ...
|
||||
case MYSQL55:
|
||||
dbInfos = dbInfoMY(template, dbName, dbRowMapper);
|
||||
break;
|
||||
case MYSQL57:
|
||||
dbInfos = dbInfoMY(template, dbName, dbRowMapper);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -219,46 +280,22 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
return dbInfos;
|
||||
}
|
||||
|
||||
private List<String> dbNamesOR(){
|
||||
DSSwitcher.switchToOracle();
|
||||
List<String> dbNames = baseMapper.dbNamesOR();
|
||||
DSSwitcher.clear();
|
||||
return dbNames;
|
||||
}
|
||||
|
||||
private List<String> dbNamesPG(){
|
||||
return baseMapper.dbNamesPG();
|
||||
}
|
||||
|
||||
private List<String> dbNamesMY(){
|
||||
// 切换数据源
|
||||
|
||||
return baseMapper.dbNamesMY();
|
||||
// 清除数据源
|
||||
|
||||
}
|
||||
|
||||
private List<DBInfo> dbInfoOR(String dataBase){
|
||||
DSSwitcher.switchToOracle();
|
||||
List<DBInfo> dbInfos = baseMapper.dbInfoOR(dataBase);
|
||||
Map<String, Double> indexSize = baseMapper.dbIndexOR(dataBase).stream()
|
||||
.collect(Collectors.toMap(DBInfo::getTableName, DBInfo::getIndexSize));
|
||||
for (DBInfo dbInfo : dbInfos) {
|
||||
double min = 40.0;
|
||||
double max = 100.0;
|
||||
double random = min + (max - min) * new Random().nextDouble();
|
||||
dbInfo.setUsed(random);
|
||||
|
||||
String tableName = dbInfo.getTableName();
|
||||
dbInfo.setIndexSize(indexSize.get(tableName));
|
||||
private List<DBInfo> dbInfoPG(SysDatabase sysDatabase, String dbName, RowMapper<DBInfo> mapper){
|
||||
String dbUrl = sysDatabase.getDbUrl();
|
||||
String dbDriver = sysDatabase.getDbDriver();
|
||||
String dbUsername = sysDatabase.getDbUsername();
|
||||
String dbPassword = sysDatabase.getDbPassword();
|
||||
String dbNameOld = sysDatabase.getDbName();
|
||||
// 将URL中的数据库名替换为要查询的数据库名
|
||||
if (StrUtil.isNotBlank(dbUrl) && StrUtil.isNotBlank(dbName)){
|
||||
if (StrUtil.contains(dbUrl, dbNameOld))
|
||||
dbUrl = StrUtil.replace(dbUrl, dbNameOld, dbName);
|
||||
}
|
||||
DSSwitcher.clear();
|
||||
return dbInfos;
|
||||
}
|
||||
|
||||
private List<DBInfo> dbInfoPG(){
|
||||
List<DBInfo> dbInfos = baseMapper.dbInfoPG();
|
||||
Map<String, Integer> rowNum = baseMapper.dbRowNumPG().stream()
|
||||
JdbcTemplate template = JDBCUtil.template(dbUrl, dbDriver, dbUsername, dbPassword);
|
||||
// 查询当前所连接的数据库的表信息
|
||||
List<DBInfo> dbInfos = template.query(DBSQL.DBINFO_PG, mapper);
|
||||
List<DBInfo> dbRowNum = template.query(DBSQL.DBROWNUM_PG, mapper);
|
||||
Map<String, Integer> rowNum = dbRowNum.stream()
|
||||
.collect(Collectors.toMap(DBInfo::getTableName, DBInfo::getNumRow));
|
||||
for (DBInfo dbInfo : dbInfos) {
|
||||
String tableName = dbInfo.getTableName();
|
||||
|
@ -267,12 +304,22 @@ public class SysDatabaseServiceImpl extends ServiceImpl<SysDatabaseMapper, SysDa
|
|||
return dbInfos;
|
||||
}
|
||||
|
||||
private List<DBInfo> dbInfoMY(String dataBase){
|
||||
// 切换数据源
|
||||
|
||||
List<DBInfo> dbInfos = baseMapper.dbInfoMY(dataBase);
|
||||
// 清除数据源
|
||||
|
||||
private List<DBInfo> dbInfoOR(JdbcTemplate template, String dbName, RowMapper<DBInfo> mapper){
|
||||
String dbInfoSQL = String.format(DBSQL.DBINFO_OR, dbName);
|
||||
List<DBInfo> dbInfos = template.query(dbInfoSQL, mapper);
|
||||
String dbIndexSQL = String.format(DBSQL.DBINDEX_OR, dbName);
|
||||
List<DBInfo> dbIndex = template.query(dbIndexSQL, mapper);
|
||||
Map<String, Double> index = dbIndex.stream()
|
||||
.collect(Collectors.toMap(DBInfo::getTableName, DBInfo::getIndexSize));
|
||||
for (DBInfo dbInfo : dbInfos) {
|
||||
String tableName = dbInfo.getTableName();
|
||||
dbInfo.setIndexSize(index.get(tableName));
|
||||
}
|
||||
return dbInfos;
|
||||
}
|
||||
|
||||
private List<DBInfo> dbInfoMY(JdbcTemplate template, String dbName, RowMapper<DBInfo> mapper){
|
||||
String dbInfoSQL = String.format(DBSQL.DBINFO_MY, dbName);
|
||||
return template.query(dbInfoSQL, mapper);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,6 +9,8 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sun.mail.imap.IMAPFolder;
|
||||
import com.sun.mail.imap.IMAPStore;
|
||||
import org.jeecg.common.api.QueryRequest;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.constant.CommonConstant;
|
||||
|
@ -26,6 +28,7 @@ import org.jeecg.modules.service.ISysEmailService;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.mail.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.*;
|
||||
|
@ -194,4 +197,37 @@ public class SysEmailServiceImpl extends ServiceImpl<SysEmailMapper, SysEmail> i
|
|||
return sourceDtos;
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws MessagingException {
|
||||
Properties prop = System.getProperties();
|
||||
|
||||
String host = "imaphz.qiye.163.com";
|
||||
String username = "cnndc.rn.dr@ndc.org.cn";
|
||||
String password = "cnndc66367220";
|
||||
|
||||
prop.setProperty("mail.imap.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
||||
prop.setProperty("mail.imap.host", host);
|
||||
prop.setProperty("mail.imap.port", "993");
|
||||
prop.setProperty("mail.imap.starttls.enable", "true");
|
||||
prop.setProperty("mail.imap.socketFactory.fallback", "false");
|
||||
prop.setProperty("mail.debug", "true");
|
||||
|
||||
Session ses = Session.getInstance(prop, null);
|
||||
Store store = ses.getStore("imap");
|
||||
store.connect(host, username, password);
|
||||
|
||||
if (!IMAPStore.class.isInstance(store))
|
||||
throw new IllegalStateException("Is not IMAPStore");
|
||||
IMAPStore imapStore = (IMAPStore) store;
|
||||
Quota[] quotas = imapStore.getQuota("INBOX");
|
||||
|
||||
for (Quota quota : quotas) {
|
||||
System.out.println(String.format("quotaRoot:%s", quota.quotaRoot));
|
||||
|
||||
for (Quota.Resource resource : quota.resources) {
|
||||
System.out.println(String.format("name:%s, limit:%s, usage:%s",
|
||||
resource.name, resource.limit, resource.usage));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3941,24 +3941,24 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
Calibration samplOldCalibrationCH = new Calibration();
|
||||
Calibration samplOldCalibrationE = new Calibration();
|
||||
if (betaDataFile.isBBetaEnergyValidSample() || betaDataFile.isBGammaEnergyValidSample()){
|
||||
if (betaDataFile.isBBetaEnergyValidSample()) {
|
||||
samplOldCalibrationCH.setBeta(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaToUiOld())) {
|
||||
samplOldCalibrationCH.setBeta(rowFormat(" CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
samplOldCalibrationCH.setBeta("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidSample()) {
|
||||
samplOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaToUiOld())) {
|
||||
samplOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
samplOldCalibrationCH.setGamma("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBBetaEnergyValidSample()) {
|
||||
samplOldCalibrationE.setBeta(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaOld())) {
|
||||
samplOldCalibrationE.setBeta(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
} else {
|
||||
samplOldCalibrationE.setBeta("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidSample()) {
|
||||
samplOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaOld())) {
|
||||
samplOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
}else {
|
||||
samplOldCalibrationE.setGamma("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
} else {
|
||||
|
@ -3975,22 +3975,22 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
List<Calibration> samplNewCalibrations = new ArrayList<>();
|
||||
Calibration samplNewCalibrationCH = new Calibration();
|
||||
Calibration samplNewCalibrationE = new Calibration();
|
||||
samplNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamES.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff1())))
|
||||
samplNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamS.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamS.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamS.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamS.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamS.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamS.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamES.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamES.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamES.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamES.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamES.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff1())))
|
||||
samplNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamES.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamES.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamES.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamES.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamS.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamS.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamS.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamS.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamS.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamS.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamS.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamS.getCoeff3())))
|
||||
+")x*x");
|
||||
samplNewCalibrations.add(samplNewCalibrationCH);
|
||||
samplNewCalibrations.add(samplNewCalibrationE);
|
||||
result.put("samplNewCalibrations",samplNewCalibrations);
|
||||
|
@ -4013,23 +4013,23 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
Calibration detOldCalibrationCH = new Calibration();
|
||||
Calibration detOldCalibrationE = new Calibration();
|
||||
if (betaDataFile.isBBetaEnergyValidDet() || betaDataFile.isBGammaEnergyValidDet()){
|
||||
if (betaDataFile.isBBetaEnergyValidDet()) {
|
||||
detOldCalibrationCH.setBeta(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaToUiOld())) {
|
||||
detOldCalibrationCH.setBeta(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
detOldCalibrationCH.setBeta("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidDet()) {
|
||||
detOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaToUiOld())) {
|
||||
detOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
detOldCalibrationCH.setGamma("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBBetaEnergyValidDet()) {
|
||||
detOldCalibrationE.setBeta(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaOld())) {
|
||||
detOldCalibrationE.setBeta(rowFormat(" E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
} else {
|
||||
detOldCalibrationE.setBeta("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidDet()) {
|
||||
detOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaOld())) {
|
||||
detOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
} else {
|
||||
detOldCalibrationE.setGamma("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
|
@ -4047,22 +4047,22 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
List<Calibration> detNewCalibrations = new ArrayList<>();
|
||||
Calibration detNewCalibrationCH = new Calibration();
|
||||
Calibration detNewCalibrationE = new Calibration();
|
||||
detNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamED.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamED.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamED.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamED.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamED.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamED.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamD.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff1())))
|
||||
detNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamD.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamD.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamD.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamD.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamD.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff1())))
|
||||
detNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamD.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamD.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamD.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamD.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamED.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamED.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamED.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamED.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamED.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamED.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamED.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamED.getCoeff3())))
|
||||
+")x*x");
|
||||
detNewCalibrations.add(detNewCalibrationCH);
|
||||
detNewCalibrations.add(detNewCalibrationE);
|
||||
result.put("detNewCalibrations", detNewCalibrations);
|
||||
|
@ -4085,23 +4085,23 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
Calibration gasOldCalibrationCH = new Calibration();
|
||||
Calibration gasOldCalibrationE = new Calibration();
|
||||
if (betaDataFile.isBBetaEnergyValidGas() || betaDataFile.isBGammaEnergyValidGas()){
|
||||
if (betaDataFile.isBBetaEnergyValidGas()) {
|
||||
gasOldCalibrationCH.setBeta(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaToUiOld())) {
|
||||
gasOldCalibrationCH.setBeta(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
gasOldCalibrationCH.setBeta("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidGas()) {
|
||||
gasOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaToUiOld())) {
|
||||
gasOldCalibrationCH.setGamma(rowFormat("CH(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
} else {
|
||||
gasOldCalibrationCH.setGamma("CH(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBBetaEnergyValidGas()) {
|
||||
gasOldCalibrationE.setBeta(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaToUiOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getBetaFittingParaOld())) {
|
||||
gasOldCalibrationE.setBeta(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getBetaFittingParaOld().get(2))));
|
||||
} else {
|
||||
gasOldCalibrationE.setBeta("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
if (betaDataFile.isBGammaEnergyValidGas()) {
|
||||
gasOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaToUiOld().get(2))));
|
||||
if (CollectionUtils.isNotEmpty(betaDataFile.getGammaFittingParaOld())) {
|
||||
gasOldCalibrationE.setGamma(rowFormat("E(x) = (%s)+(%s)*x+(%s)x*x ", NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(0)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(1)), NumberFormatUtil.numberSixLen(betaDataFile.getGammaFittingParaOld().get(2))));
|
||||
} else {
|
||||
gasOldCalibrationE.setGamma("E(x) = (?1)+(?2)*x+(?3)x*x");
|
||||
}
|
||||
|
@ -4119,22 +4119,22 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
List<Calibration> gasNewCalibrations = new ArrayList<>();
|
||||
Calibration gasNewCalibrationCH = new Calibration();
|
||||
Calibration gasNewCalibrationE = new Calibration();
|
||||
gasNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamEG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamEG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamEG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff1())))
|
||||
gasNewCalibrationCH.setBeta("CH(x) = ("+ (Objects.isNull(betaCalibrationParamG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff1())))
|
||||
gasNewCalibrationCH.setGamma("CH(x) = ("+ (Objects.isNull(gammaCalibrationParamG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrationE.setBeta("E(x) = ("+ (Objects.isNull(betaCalibrationParamEG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(betaCalibrationParamEG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(betaCalibrationParamEG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(betaCalibrationParamEG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrationE.setGamma("E(x) = ("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff1())?"?1":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff1())))
|
||||
+")+("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff2())?"?2":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff2())))
|
||||
+")*x+("+ (Objects.isNull(gammaCalibrationParamEG.getCoeff3())?"?3":NumberFormatUtil.numberSixLen(String.valueOf(gammaCalibrationParamEG.getCoeff3())))
|
||||
+")x*x");
|
||||
gasNewCalibrations.add(gasNewCalibrationCH);
|
||||
gasNewCalibrations.add(gasNewCalibrationE);
|
||||
result.put("gasNewCalibrations",gasNewCalibrations);
|
||||
|
@ -4211,7 +4211,7 @@ public class SpectrumAnalysisServiceImpl extends AbstractLogOrReport implements
|
|||
// 解析生成Html字符串并导出为Html文件
|
||||
String result = parseHtml(analyze);
|
||||
PrintWriter writer = null;
|
||||
try {
|
||||
try{
|
||||
String export = "saveToHtml.html";
|
||||
String sampleFileName = rrrLogInfo.getSampleFileName();
|
||||
if (StrUtil.isNotBlank(sampleFileName)){
|
||||
|
|
Loading…
Reference in New Issue
Block a user