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 00000000..22c3e556 Binary files /dev/null and b/jeecg-boot-base-core/src/main/resources/excelTemplate/SaveExcel_Old.xls differ 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)){