8 changed files with 189 additions and 20 deletions
-
BINapp.db
-
36src/main/java/a8k/controler/extapi/pagecontrol/ExtApiTabConfig.java
-
54src/main/java/a8k/dbservice/ReactionRecordDBService.java
-
57src/main/java/a8k/dbservice/type/ReactionResultRecord.java
-
40src/main/java/a8k/service/appdata/AppReactionResultMgrService.java
-
2src/main/java/a8k/service/appdata/AppSampleMgrService.java
-
10src/main/java/a8k/type/reaction_result_type/ReactionResultStatus.java
-
10src/main/java/a8k/utils/ZSqliteJdbcHelper.java
@ -0,0 +1,54 @@ |
|||
package a8k.dbservice; |
|||
|
|||
import a8k.dbservice.type.ReactionResultRecord; |
|||
import a8k.utils.ZSqliteJdbcHelper; |
|||
import jakarta.annotation.PostConstruct; |
|||
import jakarta.annotation.Resource; |
|||
import lombok.SneakyThrows; |
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.jdbc.core.JdbcTemplate; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.sql.ResultSet; |
|||
import java.util.List; |
|||
|
|||
@Component |
|||
public class ReactionRecordDBService { |
|||
private static final Logger logger = LoggerFactory.getLogger(ReactionRecordDBService.class); |
|||
private static final String tableName = "zapp_a8k_reaction_record"; |
|||
private static Class<?> tClass = ReactionResultRecord.class; |
|||
|
|||
|
|||
@Resource |
|||
JdbcTemplate jdbcTemplate; |
|||
|
|||
|
|||
@PostConstruct |
|||
void init() { |
|||
if (!ZSqliteJdbcHelper.isTableExist(jdbcTemplate, tableName)) { |
|||
ZSqliteJdbcHelper.createTable(jdbcTemplate, tableName, tClass); |
|||
} |
|||
} |
|||
|
|||
@SneakyThrows public ReactionResultRecord rowMapper(ResultSet rs, int rowNum) { |
|||
return (ReactionResultRecord) ZSqliteJdbcHelper.rowMapper(rs, tClass); |
|||
} |
|||
|
|||
public List<ReactionResultRecord> getAll() { |
|||
return jdbcTemplate.query("select * from " + tableName, this::rowMapper); |
|||
} |
|||
|
|||
public void add(ReactionResultRecord record) { |
|||
ZSqliteJdbcHelper.addObj(jdbcTemplate, tableName, tClass, record); |
|||
} |
|||
|
|||
public void update(ReactionResultRecord record) { |
|||
ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, tClass, record); |
|||
} |
|||
|
|||
public void delete(int recordid) { |
|||
jdbcTemplate.update("delete from " + tableName + " where id = ?", recordid); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,57 @@ |
|||
package a8k.dbservice.type; |
|||
|
|||
import a8k.type.reaction_result_type.ReactionResultStatus; |
|||
import a8k.type.type.BloodType; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* 单个项目的反应记录 |
|||
* |
|||
* 一个样本 |
|||
* 多个项目 |
|||
* 一个项目 |
|||
* 多个结果 |
|||
* 多个结果 |
|||
* 多个结果 |
|||
* 多个项目 |
|||
* 一个项目 |
|||
* 多个结果 |
|||
* 多个结果 |
|||
* 多个结果 |
|||
* |
|||
* |
|||
*/ |
|||
public class ReactionResultRecord { |
|||
public int id = 0; |
|||
|
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
public Date date = new Date(); |
|||
//样本信息 |
|||
public BloodType sampleBloodType = BloodType.WHOLE_BLOOD; //血液类型 |
|||
public String sampleBarcode = ""; //用于请求用户信息的条码ID |
|||
public String sampleUserid = ""; //用户输入的样本ID,不做逻辑,只做展示 |
|||
|
|||
//项目信息 |
|||
public String projName = ""; // 项目名称 |
|||
public String lotId = ""; // 批次名称 |
|||
public Integer projIndex = 0; // 项目名称代码 |
|||
@JsonFormat(pattern = "yyyy-MM-dd") |
|||
public Date expiryDate; // 有效日期 |
|||
|
|||
//上下文信息 |
|||
public String operator; // 操作员 |
|||
public String appVersion;//上层应用版本 |
|||
public String mcuVersion; // MCU软件版本 |
|||
public String sn; // 仪器序列号 |
|||
|
|||
public ReactionResultStatus subProjResultStatus1 = ReactionResultStatus.DISABLED; //子项目1 结果状态 |
|||
public ReactionResultStatus subProjResultStatus2 = ReactionResultStatus.DISABLED; //子项目2 结果状态 |
|||
public ReactionResultStatus subProjResultStatus3 = ReactionResultStatus.DISABLED; //子项目3 结果状态 |
|||
|
|||
public String subProjResult1; //子项目1 结果 |
|||
public String subProjResult2; //子项目2 结果 |
|||
public String subProjResult3; //子项目3 结果 |
|||
|
|||
} |
@ -1,4 +1,44 @@ |
|||
package a8k.service.appdata; |
|||
|
|||
import a8k.controler.extapi.pagecontrol.ExtApiTabConfig; |
|||
import a8k.controler.extapi.utils.ExtApiFn; |
|||
import a8k.controler.extapi.utils.ExtApiTab; |
|||
import a8k.dbservice.ReactionRecordDBService; |
|||
import a8k.dbservice.type.ReactionResultRecord; |
|||
import jakarta.annotation.PostConstruct; |
|||
import jakarta.annotation.Resource; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.List; |
|||
|
|||
@Component |
|||
@ExtApiTab(cfg = ExtApiTabConfig.AppReactionResultMgrService) |
|||
public class AppReactionResultMgrService { |
|||
|
|||
@Resource |
|||
ReactionRecordDBService reactionRecordDBService; |
|||
|
|||
@PostConstruct |
|||
public void init() { |
|||
} |
|||
|
|||
@ExtApiFn(name = "获取所有样本记录") |
|||
public List<ReactionResultRecord> getAllRecords() { |
|||
return reactionRecordDBService.getAll(); |
|||
} |
|||
|
|||
@ExtApiFn(name = "添加测试记录") |
|||
public void addRecord() { |
|||
ReactionResultRecord record = new ReactionResultRecord(); |
|||
reactionRecordDBService.add(record); |
|||
} |
|||
|
|||
@ExtApiFn(name = "删除所有测试记录") |
|||
public void deleteAllRecords() { |
|||
List<ReactionResultRecord> records = reactionRecordDBService.getAll(); |
|||
for (ReactionResultRecord record : records) { |
|||
reactionRecordDBService.delete(record.id); |
|||
} |
|||
} |
|||
|
|||
} |
@ -0,0 +1,10 @@ |
|||
package a8k.type.reaction_result_type; |
|||
|
|||
public enum ReactionResultStatus { |
|||
// |
|||
DISABLED, // 未启用 |
|||
SUCCESS,// 成功 |
|||
ERROR,// 结果异常 |
|||
ERROR_RESULT_OUT_OF_RANGE,// 结果超出范围 |
|||
ERROR_DEPENDENT_VAR_OUT_OF_RANGE,// 依赖变量超出范围 |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue