From a970060ad53908ef0213c09130c8463811f8c64d Mon Sep 17 00:00:00 2001 From: nieziyan Date: Tue, 14 Nov 2023 18:58:49 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A1.RRR=E5=85=AC=E5=BC=8F=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=202.TableInfo=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/jeecg/common/constant/DBSQL.java | 41 +++ .../jeecg/common/constant/enums/DbType.java | 23 ++ .../java/org/jeecg/common/util/JDBCUtil.java | 89 +++++ .../org/jeecg/config/mybatis/DSSwitcher.java | 6 + .../base/entity/postgre/SysDatabase.java | 33 +- .../resources/excelTemplate/SaveExcel_Old.xls | Bin 0 -> 29696 bytes .../resources/excelTemplate/SaveHtml.html | 1 + .../resources/excelTemplate/SaveHtml_Old.html | 322 ++++++++++++++++++ .../controller/SysDatabaseController.java | 10 +- .../org/jeecg/modules/mapper/DBRowMapper.java | 21 ++ .../modules/mapper/xml/sysDatabaseMapper.xml | 69 ---- .../modules/service/ISysDatabaseService.java | 6 +- .../service/impl/SysDatabaseServiceImpl.java | 199 ++++++----- .../service/impl/SysEmailServiceImpl.java | 36 ++ .../impl/SpectrumAnalysisServiceImpl.java | 112 +++--- 15 files changed, 741 insertions(+), 227 deletions(-) create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/DbType.java create mode 100644 jeecg-boot-base-core/src/main/java/org/jeecg/common/util/JDBCUtil.java create mode 100644 jeecg-boot-base-core/src/main/resources/excelTemplate/SaveExcel_Old.xls create mode 100644 jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml_Old.html create mode 100644 jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/DBRowMapper.java diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java new file mode 100644 index 00000000..097dc967 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/DBSQL.java @@ -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"; +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/DbType.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/DbType.java new file mode 100644 index 00000000..1f835ac1 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/constant/enums/DbType.java @@ -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; + } +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/JDBCUtil.java b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/JDBCUtil.java new file mode 100644 index 00000000..e9cd4b24 --- /dev/null +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/common/util/JDBCUtil.java @@ -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"; + } +} diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/DSSwitcher.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/DSSwitcher.java index 2b4d8710..e7665dd0 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/DSSwitcher.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/mybatis/DSSwitcher.java @@ -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(); } diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/postgre/SysDatabase.java b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/postgre/SysDatabase.java index 81ea1f2d..b6a89552 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/postgre/SysDatabase.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/modules/base/entity/postgre/SysDatabase.java @@ -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; /** * 创建时间 diff --git a/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveExcel_Old.xls b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveExcel_Old.xls new file mode 100644 index 0000000000000000000000000000000000000000..22c3e55673c9db9e4c0cbcc2ddd5535c31977ab9 GIT binary patch literal 29696 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 literal 0 HcmV?d00001 diff --git a/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml.html b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml.html index a0e201a4..4eb5fbeb 100644 --- a/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml.html +++ b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml.html @@ -248,6 +248,7 @@ Roi Net count + Lc diff --git a/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml_Old.html b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml_Old.html new file mode 100644 index 00000000..f0047357 --- /dev/null +++ b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveHtml_Old.html @@ -0,0 +1,322 @@ + + +

CNL06 GENERATED REPORT +
REVIEWED RADIONUCLIDE REPORT +
(Noble Gas Version) +
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#FILE INFORMATION
SampleMeasID:
GASBKMeasID:
SRID:
Detector Type:3D b-g
 
#COLLECTION INFORMATION
Station CODE:
Detector CODE:
Collection Start:
Collection Stop:
Collection TIME(h):
Air Volume[cm3]:
Xe Volume[cm3]:
 
#ACQUISITION INFORMATION
Acquisition Start:
Acq Real Time(s):
Acq Live Time:
 
#SOFTWARE
version:1.0.1
 
#SAMPLE Old CALIBRATION
Old BetaOld Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x
E(x) = (?1)+(?2)*x+(?3)x*x E(x) = (?1)+(?2)*x+(?3)x*x
 
#SAMPLE New CALIBRATION
New BetaNew Gamma
CH(x) = ([[${betaCalibrationSEC.coeff1}]])+([[${betaCalibrationSEC.coeff2}]])*x+([[${betaCalibrationSEC.coeff3}]])x*x CH(x) = ([[${gammaCalibrationSEC.coeff1}]])+([[${gammaCalibrationSEC.coeff2}]])*x+([[${gammaCalibrationSEC.coeff3}]])x*x
E(x) = ([[${betaCalibrationSCE.coeff1}]])+([[${betaCalibrationSCE.coeff2}]])*x+([[${betaCalibrationSCE.coeff3}]])x*x E(x) = ([[${gammaCalibrationSCE.coeff1}]])+([[${gammaCalibrationSCE.coeff2}]])*x+([[${gammaCalibrationSCE.coeff3}]])x*x
 
#SAMPLE: LIMITS PER ROI
RoiBeta Gamma
 
#DET Old CALIBRATION
Old BetaOld Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x
E(x) = (?1)+(?2)*x+(?3)x*x E(x) = (?1)+(?2)*x+(?3)x*x
 
#DET New CALIBRATION
New BetaNew Gamma
CH(x) = ([[${betaCalibrationDEC.coeff1}]])+([[${betaCalibrationDEC.coeff2}]])*x+([[${betaCalibrationDEC.coeff3}]])x*x CH(x) = ([[${gammaCalibrationDEC.coeff1}]])+([[${gammaCalibrationDEC.coeff2}]])*x+([[${gammaCalibrationDEC.coeff3}]])x*x
E(x) = ([[${betaCalibrationDCE.coeff1}]])+([[${betaCalibrationDCE.coeff2}]])*x+([[${betaCalibrationDCE.coeff3}]])x*x E(x) = ([[${gammaCalibrationDCE.coeff1}]])+([[${gammaCalibrationDCE.coeff2}]])*x+([[${gammaCalibrationDCE.coeff3}]])x*x
 
#DET: LIMITS PER ROI
RoiBeta Gamma
 
#GAS Old CALIBRATION
Old BetaOld Gamma
CH(x) = (?1)+(?2)*x+(?3)x*x CH(x) = (?1)+(?2)*x+(?3)x*x
E(x) = (?1)+(?2)*x+(?3)x*x E(x) = (?1)+(?2)*x+(?3)x*x
 
#GAS New CALIBRATION
New BetaNew Gamma
CH(x) = ([[${betaCalibrationGEC.coeff1}]])+([[${betaCalibrationGEC.coeff2}]])*x+([[${betaCalibrationGEC.coeff3}]])x*x CH(x) = ([[${gammaCalibrationGEC.coeff1}]])+([[${gammaCalibrationGEC.coeff2}]])*x+([[${gammaCalibrationGEC.coeff3}]])x*x
E(x) = ([[${betaCalibrationGCE.coeff1}]])+([[${betaCalibrationGCE.coeff2}]])*x+([[${betaCalibrationGCE.coeff3}]])x*x E(x) = ([[${gammaCalibrationGCE.coeff1}]])+([[${gammaCalibrationGCE.coeff2}]])*x+([[${gammaCalibrationGCE.coeff3}]])x*x
 
#GAS: LIMITS PER ROI
RoiBeta Gamma
 
#GROSS COUNTS PER ROI
RoiSampleGasBkgndDetBkgnd
 
#NET COUNTS AND LC PER ROI
RoiNet count
 
#CONCENTRATION AND LC PER ROI
RoiConc(mBq/m3)LC(mBq/m3)MDC(mBq/m3):
 
#RESULT SUMMARY
Nuclide NameConcLCMDCNID Flag
 
+ \ No newline at end of file diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/controller/SysDatabaseController.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/controller/SysDatabaseController.java index 21389ea7..732b5dbf 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/controller/SysDatabaseController.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/controller/SysDatabaseController.java @@ -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)); } } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/DBRowMapper.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/DBRowMapper.java new file mode 100644 index 00000000..f8c26c0a --- /dev/null +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/DBRowMapper.java @@ -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 { + + @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; + } +} diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/sysDatabaseMapper.xml b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/sysDatabaseMapper.xml index cf6808b7..f217ff31 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/sysDatabaseMapper.xml +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/mapper/xml/sysDatabaseMapper.xml @@ -50,73 +50,4 @@ LIMIT #{pageSize} OFFSET #{pageStart} - - - - - - - - - - \ No newline at end of file diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/ISysDatabaseService.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/ISysDatabaseService.java index 7e1d9313..25073815 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/ISysDatabaseService.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/ISysDatabaseService.java @@ -14,7 +14,7 @@ public interface ISysDatabaseService extends IService { 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 { List listAll(); - List dbNames(String dbType); + List dbNames(String id); - List dbInfo(String dbType, String dataBase); + List dbInfo(String id, String dbName); } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysDatabaseServiceImpl.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysDatabaseServiceImpl.java index 47ee9aa5..948cd3c0 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysDatabaseServiceImpl.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysDatabaseServiceImpl.java @@ -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 implements ISysDatabaseService { @@ -74,7 +80,7 @@ public class SysDatabaseServiceImpl extends ServiceImpl findInfo(String id) { Result result = new Result(); LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysDatabase::getId, id); @@ -90,24 +96,52 @@ public class SysDatabaseServiceImpl extends ServiceImpl create(SysDatabase sysDatabase) { String name = sysDatabase.getName(); - String ipAddress = sysDatabase.getIpAddress(); LambdaQueryWrapper 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 wrapper = new LambdaQueryWrapper<>(); if (!StrUtil.equals(name,database.getName())){ wrapper.eq(SysDatabase::getName,name); @@ -123,11 +157,11 @@ public class SysDatabaseServiceImpl extends ServiceImpl dbNames(String dbType) { + public List dbNames(String id) { List 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 dbInfo(String dbType, String dataBase) { + public List dbInfo(String id, String dbName) { List 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 dbNamesOR(){ - DSSwitcher.switchToOracle(); - List dbNames = baseMapper.dbNamesOR(); - DSSwitcher.clear(); - return dbNames; - } - - private List dbNamesPG(){ - return baseMapper.dbNamesPG(); - } - - private List dbNamesMY(){ - // 切换数据源 - - return baseMapper.dbNamesMY(); - // 清除数据源 - - } - - private List dbInfoOR(String dataBase){ - DSSwitcher.switchToOracle(); - List dbInfos = baseMapper.dbInfoOR(dataBase); - Map 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 dbInfoPG(SysDatabase sysDatabase, String dbName, RowMapper 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 dbInfoPG(){ - List dbInfos = baseMapper.dbInfoPG(); - Map rowNum = baseMapper.dbRowNumPG().stream() + JdbcTemplate template = JDBCUtil.template(dbUrl, dbDriver, dbUsername, dbPassword); + // 查询当前所连接的数据库的表信息 + List dbInfos = template.query(DBSQL.DBINFO_PG, mapper); + List dbRowNum = template.query(DBSQL.DBROWNUM_PG, mapper); + Map 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 dbInfoMY(String dataBase){ - // 切换数据源 - - List dbInfos = baseMapper.dbInfoMY(dataBase); - // 清除数据源 - + private List dbInfoOR(JdbcTemplate template, String dbName, RowMapper mapper){ + String dbInfoSQL = String.format(DBSQL.DBINFO_OR, dbName); + List dbInfos = template.query(dbInfoSQL, mapper); + String dbIndexSQL = String.format(DBSQL.DBINDEX_OR, dbName); + List dbIndex = template.query(dbIndexSQL, mapper); + Map 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 dbInfoMY(JdbcTemplate template, String dbName, RowMapper mapper){ + String dbInfoSQL = String.format(DBSQL.DBINFO_MY, dbName); + return template.query(dbInfoSQL, mapper); + } } diff --git a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysEmailServiceImpl.java b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysEmailServiceImpl.java index beb3e47b..ff444e59 100644 --- a/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysEmailServiceImpl.java +++ b/jeecg-module-abnormal-alarm/src/main/java/org/jeecg/modules/service/impl/SysEmailServiceImpl.java @@ -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 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)); + } + } + } + } diff --git a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java index 2a7c1fdc..6f9b864b 100644 --- a/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java +++ b/jeecg-module-spectrum-analysis/src/main/java/org/jeecg/modules/service/impl/SpectrumAnalysisServiceImpl.java @@ -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 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 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 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)){