Browse Source

update

tags/v0
zhaohe 10 months ago
parent
commit
6ac2bedcda
  1. BIN
      app.db
  2. 1
      src/main/java/a8k/controler/extapi/pagecontrol/ExtApiTabConfig.java
  3. 54
      src/main/java/a8k/dbservice/SampleRecordDBService.java
  4. 21
      src/main/java/a8k/dbservice/type/SampleRecord.java
  5. 4
      src/main/java/a8k/service/appdata/AppReactionResultMgrService.java
  6. 15
      src/main/java/a8k/service/appdata/AppSampleMgrService.java
  7. 10
      src/main/java/a8k/service/appdevicectrl/AppEmergencySamplePosStateMgrService.java
  8. 8
      src/main/java/a8k/service/appstate/type/EmergencyPosRunState.java
  9. 1
      src/main/java/a8k/service/appstate/type/ReactingPlateState.java
  10. 6
      src/main/java/a8k/type/sampleinfo/SampleInfo.java

BIN
app.db

1
src/main/java/a8k/controler/extapi/pagecontrol/ExtApiTabConfig.java

@ -12,6 +12,7 @@ public enum ExtApiTabConfig {
AppSettingsMgr("应用数据.设备配置管理", true), //OK
AppProjectItemMgrService("应用数据.ID卡状态管理", true), //OK
AppProjInfoMgrService("应用数据.项目信息管理", true), //OK
AppSampleMgrService("应用数据.样本管理", true), //OK
ActionReactorService("基础组件.单步调试", true),//OK
AppFrontEndEventRouter("基础组件.前端事件路由", true),

54
src/main/java/a8k/dbservice/SampleRecordDBService.java

@ -0,0 +1,54 @@
package a8k.dbservice;
import a8k.dbservice.type.A8kPresetProjInfo;
import a8k.dbservice.type.SampleRecord;
import a8k.service.appdata.UtilsProjectColorAllocer;
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 SampleRecordDBService {
private static final Logger logger = LoggerFactory.getLogger(SampleRecordDBService.class);
private static final String tableName = "zapp_a8k_sample_record";
private static Class<?> tClass = SampleRecord.class;
@Resource
JdbcTemplate jdbcTemplate;
@Resource
UtilsProjectColorAllocer colorAllocer;
@PostConstruct
void init() {
if (!ZSqliteJdbcHelper.isTableExist(jdbcTemplate, tableName)) {
ZSqliteJdbcHelper.createTable(jdbcTemplate, tableName, tClass);
}
}
@SneakyThrows public SampleRecord rowMapper(ResultSet rs, int rowNum) {
return (SampleRecord) ZSqliteJdbcHelper.rowMapper(rs, tClass);
}
public List<SampleRecord> getAll() {
return jdbcTemplate.query("select * from " + tableName, this::rowMapper);
}
public void add(SampleRecord record) {
ZSqliteJdbcHelper.addObj(jdbcTemplate, tableName, tClass, record);
}
public void update(SampleRecord record) {
ZSqliteJdbcHelper.updateObj(jdbcTemplate, tableName, tClass, record);
}
}

21
src/main/java/a8k/dbservice/type/SampleRecord.java

@ -0,0 +1,21 @@
package a8k.dbservice.type;
import a8k.type.type.BloodType;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 提交一组试管架配置时提交10个样本的信息
*/
public class SampleRecord {
public int id = 0;
public String sampleid; // generated by system , year%100+month+day+时分 241230_1203_01
public Date data;
public Boolean isHighTube = false;
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血液类型
public String sampleBarcode = ""; //用于请求用户信息的条码ID
public String userid = ""; //用户输入的样本ID不做逻辑只做展示
public List<Integer> projIndex = new ArrayList<>(); //项目代码,逗号分隔
}

4
src/main/java/a8k/service/appdata/AppReactionResultMgrService.java

@ -0,0 +1,4 @@
package a8k.service.appdata;
public class AppReactionResultMgrService {
}

15
src/main/java/a8k/service/appdata/AppSampleMgrService.java

@ -0,0 +1,15 @@
package a8k.service.appdata;
import a8k.controler.extapi.pagecontrol.ExtApiTabConfig;
import a8k.controler.extapi.utils.ExtApiTab;
import a8k.dbservice.SampleRecordDBService;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Component;
@Component
@ExtApiTab(cfg = ExtApiTabConfig.AppSettingsMgr)
public class AppSampleMgrService {
@Resource
SampleRecordDBService sampleRecordDBService;
}

10
src/main/java/a8k/service/appdevicectrl/AppEmergencySamplePosStateMgrService.java

@ -40,20 +40,20 @@ public class AppEmergencySamplePosStateMgrService {
/**
* 提交紧急样本设置
* @param userid 用户ID
* @param barcodeid 样本条码
* @param sampleBarcode 样本条码
* @param bloodType 血型
* @param projIndexList
*
* 提交后就默认样本已经放置好了所以需要前台提醒用户需要先暂停设备放好样本
*/
@ExtApiFn(name = "提交紧急样本设置", group = "紧急样本设置")
public void commitEmergencySampleSetting(String userid, String barcodeid, BloodType bloodType,//
public void commitEmergencySampleSetting(String userid, String sampleBarcode, BloodType bloodType,//
@EnginnerPageActionParam(name = "逗号分割项目列表(例子1,2,3)") String projIndexList) throws AppException {
EmergencyPosRunState state = gstate.getEmergencyPosRunState();
if (state.state.equals(EmergencySampleState.IDLE) || state.state.equals(EmergencySampleState.FINISHED)) {
state.userid = userid;
state.bloodType = bloodType;
state.barcodeid = barcodeid;
state.userid = userid;
state.bloodType = bloodType;
state.sampleBarcode = sampleBarcode;
state.projIndex.clear();
for (String index : projIndexList.split(",")) {
state.projIndex.add(Integer.parseInt(index));

8
src/main/java/a8k/service/appstate/type/EmergencyPosRunState.java

@ -7,10 +7,10 @@ import java.util.ArrayList;
import java.util.List;
public class EmergencyPosRunState {
public String userid = ""; //用户输入的样本ID不做逻辑只做展示
public String barcodeid = ""; //用于请求用户信息的条码ID
public List<Integer> projIndex = new ArrayList<>(); //项目代码
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血型
public String userid = ""; //用户输入的样本ID不做逻辑只做展示
public String sampleBarcode = ""; //用于请求用户信息的条码ID
public List<Integer> projIndex = new ArrayList<>(); //项目代码
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血型
public EmergencySampleState state = EmergencySampleState.IDLE; //急诊位状态
}

1
src/main/java/a8k/service/appstate/type/ReactingPlateState.java

@ -1,7 +1,6 @@
package a8k.service.appstate.type;
import a8k.service.bak_appbase.result.ReactionResult;
import a8k.type.sampleinfo.SampleInfo;
import a8k.service.bak_appbase.progress.ReactionPlateProgress;
import java.util.Date;

6
src/main/java/a8k/type/sampleinfo/SampleInfo.java

@ -4,9 +4,3 @@ import a8k.type.type.BloodType;
import java.util.List;
public class SampleInfo {
public String userid; //用户输入的样本ID不做逻辑只做展示
public String barcodeid; //用于请求用户信息的条码ID
public List<Integer> projIndex = null; //项目代码
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血型
}
Loading…
Cancel
Save