11 changed files with 107 additions and 469 deletions
-
2src/main/java/a8k/controler/extapi/EngineerPageControler.java
-
2src/main/java/a8k/controler/extapi/utils/EnginnerParamReader.java
-
2src/main/java/a8k/hardware/HardwareServiceSetting.java
-
38src/main/java/a8k/olddbservice/DBTableVersion.java
-
84src/main/java/a8k/olddbservice/MdbOption.java
-
211src/main/java/a8k/olddbservice/ProjectInfo.java
-
1src/main/java/a8k/service/app/AppConsumablesMgrService.java
-
5src/main/java/a8k/service/app/appstate/AppStateMgrService.java
-
4src/main/java/a8k/service/bak_appbase/A8kDeviceState.java
-
21src/main/java/a8k/type/ProjectInfoSimple.java
@ -1,4 +1,4 @@ |
|||
package a8k.olddbservice; |
|||
package a8k.hardware; |
|||
|
|||
import a8k.hardware.type.a8kcanprotocol.A8kEcode; |
|||
import a8k.type.exception.AppException; |
@ -1,38 +0,0 @@ |
|||
package a8k.olddbservice; |
|||
|
|||
import com.iflytop.uf.UfActiveRecord; |
|||
import com.iflytop.uf.UfActiveRecordField; |
|||
|
|||
import java.util.Map; |
|||
|
|||
public class DBTableVersion extends UfActiveRecord { |
|||
@UfActiveRecordField |
|||
public String tableName; |
|||
@UfActiveRecordField |
|||
public Integer version; |
|||
|
|||
public static String getTableName() { |
|||
return DBTableVersion.class.getSimpleName() + "Table"; |
|||
} |
|||
|
|||
public static void setTableVersion(String tableName, Integer version) { |
|||
var dbDataVersion = UfActiveRecord.findOne(DBTableVersion.class, Map.of("tableName", tableName)); |
|||
if (null == dbDataVersion) { |
|||
dbDataVersion = new DBTableVersion(); |
|||
dbDataVersion.tableName = tableName; |
|||
dbDataVersion.version = version; |
|||
dbDataVersion.save(); |
|||
} else { |
|||
dbDataVersion.version = version; |
|||
dbDataVersion.save(); |
|||
} |
|||
} |
|||
|
|||
public static Integer getTableVersion(String tableName) { |
|||
var dbDataVersion = UfActiveRecord.findOne(DBTableVersion.class, Map.of("tableName", tableName)); |
|||
if (null == dbDataVersion) { |
|||
return 0; |
|||
} |
|||
return dbDataVersion.version; |
|||
} |
|||
} |
@ -1,84 +0,0 @@ |
|||
package a8k.olddbservice; |
|||
import com.iflytop.uf.UfActiveRecord; |
|||
import com.iflytop.uf.UfActiveRecordField; |
|||
import java.util.Map; |
|||
public class MdbOption extends UfActiveRecord { |
|||
@UfActiveRecordField |
|||
public String key; |
|||
|
|||
@UfActiveRecordField |
|||
public String value; |
|||
|
|||
@UfActiveRecordField |
|||
public String comment; |
|||
|
|||
@UfActiveRecordField |
|||
public String editable; |
|||
|
|||
@UfActiveRecordField |
|||
public String dataType; |
|||
|
|||
@UfActiveRecordField |
|||
public String unit; |
|||
|
|||
// get table name |
|||
public static String getTableName() { |
|||
return "app_options"; |
|||
} |
|||
|
|||
// get option |
|||
public static String getString(String key, String defaultValue ) { |
|||
var option = UfActiveRecord.findOne(MdbOption.class, Map.of("key", key)); |
|||
if ( null == option ) { |
|||
return defaultValue; |
|||
} |
|||
return option.value; |
|||
} |
|||
|
|||
// get option string |
|||
public static String getString( String key ) { |
|||
var option = UfActiveRecord.findOne(MdbOption.class, Map.of("key", key)); |
|||
if ( null == option ) { |
|||
throw new RuntimeException("Option not found : " + key); |
|||
} |
|||
return option.value; |
|||
} |
|||
|
|||
// get option |
|||
public static Integer getInteger(String key, Integer defaultValue ) { |
|||
var option = MdbOption.getString(key, defaultValue.toString()); |
|||
return Integer.parseInt(option); |
|||
} |
|||
|
|||
// get option |
|||
public static Integer getInteger( String key ) { |
|||
var option = MdbOption.getString(key); |
|||
return Integer.parseInt(option); |
|||
} |
|||
|
|||
// get option |
|||
public static Double getDouble(String key, Double defaultValue ) { |
|||
var option = MdbOption.getString(key, defaultValue.toString()); |
|||
return Double.parseDouble(option); |
|||
} |
|||
|
|||
// get option value as double |
|||
public static Double getDouble( String key ) { |
|||
var option = MdbOption.getString(key); |
|||
return Double.parseDouble(option); |
|||
} |
|||
|
|||
// get as boolean |
|||
public static Boolean getBoolean( String key, Boolean defaultValue ) { |
|||
var option = MdbOption.getString(key, defaultValue ? "1" : "0"); |
|||
option = option.toLowerCase(); |
|||
return "1".equals(option) || "true".equals(option) || "yes".equals(option) || "on".equals(option); |
|||
} |
|||
|
|||
// get option value as boolean |
|||
public static Boolean getBoolean( String key ) { |
|||
var option = MdbOption.getString(key); |
|||
option = option.toLowerCase(); |
|||
return "1".equals(option) || "true".equals(option) || "yes".equals(option) || "on".equals(option); |
|||
} |
|||
} |
@ -1,211 +0,0 @@ |
|||
package a8k.olddbservice; |
|||
|
|||
import com.iflytop.uf.UfActiveRecord; |
|||
import com.iflytop.uf.UfActiveRecordField; |
|||
|
|||
import java.util.Date; |
|||
|
|||
//ref:https://iflytop1.feishu.cn/wiki/HvDlwbEWDi4fgkkL6qSc2iLGnte |
|||
public class ProjectInfo extends UfActiveRecord { |
|||
|
|||
public static String getTableName() { |
|||
return "ProjectInfoTable"; |
|||
} |
|||
|
|||
@UfActiveRecordField |
|||
public Integer buildIn;//是否是内置,如果是内置则不显示,作为项目的默认值使用 |
|||
|
|||
@UfActiveRecordField |
|||
public String insertTime = new Date().toString(); //插入时间 |
|||
|
|||
@UfActiveRecordField |
|||
public String projectName; //项目名称 |
|||
@UfActiveRecordField |
|||
public String lotName; //批次名称 |
|||
@UfActiveRecordField |
|||
public String expiryDate; //有效日期 |
|||
@UfActiveRecordField |
|||
public String projectCode; //项目名称代码 |
|||
@UfActiveRecordField |
|||
public Integer palteCode; // 板条条码代码 |
|||
@UfActiveRecordField |
|||
public Integer updateChipVersion; // 更新芯片版本号 |
|||
@UfActiveRecordField |
|||
public Double QCPeakMinVal; // 质控峰最小值 |
|||
@UfActiveRecordField |
|||
public Double QCPeakMaxVal; // 质控峰最大值 设置值x10最大不超过250000 |
|||
@UfActiveRecordField |
|||
public Integer optType; //光学类型 光学类型(0=自动;1=F光学;2=T光学;3=F/T光学;其他=无效;) |
|||
@UfActiveRecordField |
|||
public Integer optFixedGainSetting; //光学固定增益设置 |
|||
@UfActiveRecordField |
|||
public Integer optAreaPeakCount; //光学面积峰个数 |
|||
@UfActiveRecordField |
|||
public Integer calculationDirection; //计算方向 |
|||
@UfActiveRecordField |
|||
public Integer sampleType; //样本类型 |
|||
@UfActiveRecordField |
|||
public Integer equipmentManufacturer; //设备厂商 |
|||
@UfActiveRecordField |
|||
public Integer tOptIlluminationTime; //T光学持续光照时间 |
|||
@UfActiveRecordField |
|||
public Integer incMultiInstruDataMerge; //是否包含多款仪器数据合并 |
|||
@UfActiveRecordField |
|||
public Integer multiInstruDataMerge; //多款仪器数据合并 |
|||
@UfActiveRecordField |
|||
public Integer wBloodSampleVol; //全血样本量 |
|||
@UfActiveRecordField |
|||
public Integer serumSampleVol; //血清/血浆样本量 |
|||
@UfActiveRecordField |
|||
public Integer tubeMixingCount; //试管混匀次数 |
|||
@UfActiveRecordField |
|||
public Integer bufferBottleSize; //缓冲液瓶大小 |
|||
@UfActiveRecordField |
|||
public Integer bufferBottleCapacity; //缓冲液瓶容量 |
|||
@UfActiveRecordField |
|||
public Integer buffLiquidAspirMixingCnt; //缓冲液吸吐混匀次数 |
|||
@UfActiveRecordField |
|||
public Integer buffLiquidAspirMixingVol; //缓冲液吐混混匀量 |
|||
@UfActiveRecordField |
|||
public Integer buffLiquidReactionTime; //缓冲液反应时间 |
|||
@UfActiveRecordField |
|||
public Integer reactionPlateReactionTime; //反应板反应时间 |
|||
@UfActiveRecordField |
|||
public Integer reactionPlateDropletVol; //反应板滴样量 |
|||
@UfActiveRecordField |
|||
public Integer resultDecimalPlaces; //结果小数点位数 |
|||
@UfActiveRecordField |
|||
public Integer scanningRange; //扫描范围 |
|||
|
|||
//当前项目是几联卡项目 |
|||
//项目1 结果曲线是否为分段函数 |
|||
//项目2 结果曲线是否为分段函数 |
|||
//项目3 结果曲线是否为分段函数 |
|||
|
|||
@UfActiveRecordField |
|||
public Integer projectNum; //当前项目是几联卡项目 |
|||
@UfActiveRecordField |
|||
public Integer project1CurveType; //项目1 结果曲线是否为分段函数 |
|||
@UfActiveRecordField |
|||
public Integer project2CurveType; //项目2 结果曲线是否为分段函数 |
|||
@UfActiveRecordField |
|||
public Integer project3CurveType; //项目3 结果曲线是否为分段函数 |
|||
|
|||
//非分段函数 |
|||
@UfActiveRecordField |
|||
public Integer p0FnX; //函数未知数是 |
|||
@UfActiveRecordField |
|||
public Double p0FnXMin; //函数未知数下限闻值 |
|||
@UfActiveRecordField |
|||
public Double p0FnXMax; //函数未知数上限闻值 |
|||
@UfActiveRecordField |
|||
public Double p0FnSerumA; //A |
|||
@UfActiveRecordField |
|||
public Double p0FnSerumB; //B |
|||
@UfActiveRecordField |
|||
public Double p0FnSerumC; //C |
|||
@UfActiveRecordField |
|||
public Double p0FnSerumD; //D |
|||
@UfActiveRecordField |
|||
public Double p0FnRtSerumUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0FnRtSerumLowLimit; //结果下限 |
|||
|
|||
@UfActiveRecordField |
|||
public Double p0FnBloodA; //A |
|||
@UfActiveRecordField |
|||
public Double p0FnBloodB; //B |
|||
@UfActiveRecordField |
|||
public Double p0FnBloodC; //C |
|||
@UfActiveRecordField |
|||
public Double p0FnBloodD; //D |
|||
@UfActiveRecordField |
|||
public Double p0FnRtBloodUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0FnRtBloodLowLimit; //结果下限 |
|||
|
|||
//分段函数 |
|||
@UfActiveRecordField |
|||
public Integer p0PwFnJudeX; //分界判断数据来源 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnJudeThres; //分界判断数据值 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCX; //低浓度未知数 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCX; //高浓度未知数 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnXMin; //函数未知数下限闻值 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnXMax; //函数未知数上限闻值 |
|||
|
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCSerumA; //A |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCSerumB; //B |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCSerumC; //C |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCSerumD; //D |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCRtSerumUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCRtSerumLowLimit; //结果下限 |
|||
|
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCSerumA; //A |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCSerumB; //B |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCSerumC; //C |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCSerumD; //D |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCRtSerumUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCRtSerumLowLimit; //结果下限 |
|||
|
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCBloodA; //A |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCBloodB; //B |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCBloodC; //C |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCBloodD; //D |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCRtBloodUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnLCRtBloodLowLimit; //结果下限 |
|||
|
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCBloodA; //A |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCBloodB; //B |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCBloodC; //C |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCBloodD; //D |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCRtBloodUpLimit; //结果上限 |
|||
@UfActiveRecordField |
|||
public Double p0PwFnHCRtBloodLowLimit; //结果下限 |
|||
|
|||
//结果 |
|||
@UfActiveRecordField |
|||
public Integer ret1Unit; //单位 |
|||
@UfActiveRecordField |
|||
public Integer ret2Unit; //单位 |
|||
@UfActiveRecordField |
|||
public Integer ret3Unit; //单位 |
|||
|
|||
@UfActiveRecordField |
|||
public Double ret2UnitFnA; // |
|||
@UfActiveRecordField |
|||
public Double ret2UnitFnB; // |
|||
|
|||
@UfActiveRecordField |
|||
public Double ret3UnitFnA; // |
|||
@UfActiveRecordField |
|||
public Double ret3UnitFnB; // |
|||
|
|||
} |
@ -1,21 +0,0 @@ |
|||
package a8k.type; |
|||
|
|||
import a8k.olddbservice.ProjectInfo; |
|||
|
|||
public class ProjectInfoSimple { |
|||
String projectName; //项目名称 |
|||
String lotName; //批次名称 |
|||
String expiryDate; //有效日期 |
|||
|
|||
public ProjectInfoSimple(String projectName, String lotName, String expiryDate) { |
|||
this.projectName = projectName; |
|||
this.lotName = lotName; |
|||
this.expiryDate = expiryDate; |
|||
} |
|||
|
|||
public ProjectInfoSimple(ProjectInfo pinfo) { |
|||
this.projectName = pinfo.projectName; |
|||
this.lotName = pinfo.lotName; |
|||
this.expiryDate = pinfo.expiryDate; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue