10 changed files with 165 additions and 135 deletions
-
12src/main/java/a8k/service/appcfgs/A8kDeviceCfg.java
-
107src/main/java/a8k/service/appcfgs/A8kDeviceCfgMgrService.java
-
2src/main/java/a8k/service/base/A8kDeviceState.java
-
9src/main/java/a8k/service/base/sample/SampleInfo.java
-
11src/main/java/a8k/service/base/samplecfg/SampleTubeCfg.java
-
21src/main/java/a8k/service/base/samplecfg/SampleTubeHolderCfg.java
-
6src/main/java/a8k/service/hardware/HbotControlService.java
-
3src/main/java/a8k/service/hardware/canbus/protocol/A8kEcode.java
-
129src/main/java/a8k/service/state_service/A8kStateMgrService.java
-
BINzhaohe_app.db
@ -0,0 +1,12 @@ |
|||
package a8k.service.appcfgs; |
|||
|
|||
import a8k.service.base.samplecfg.SampleTubeHolderCfg; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
public class A8kDeviceCfg { |
|||
//配置 |
|||
public List<SampleTubeHolderCfg> cfgs = new ArrayList<>(); |
|||
|
|||
} |
@ -0,0 +1,107 @@ |
|||
package a8k.service.appcfgs; |
|||
|
|||
import a8k.appbase.appret.AppRet; |
|||
import a8k.controler.engineer.utils.EngineerPageTab; |
|||
import a8k.controler.engineer.utils.EnginnerPageAction; |
|||
import a8k.service.base.BloodType; |
|||
import a8k.service.base.samplecfg.SampleTubeCfg; |
|||
import a8k.service.base.samplecfg.SampleTubeHolderCfg; |
|||
import a8k.service.hardware.canbus.protocol.A8kEcode; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
@Component |
|||
@EngineerPageTab(name = "A8kDeviceCfgMgrService") |
|||
public class A8kDeviceCfgMgrService { |
|||
A8kDeviceCfg deviceCfg = new A8kDeviceCfg(); |
|||
|
|||
|
|||
private SampleTubeHolderCfg dbFindCfg(String tubeHolderCfgUUID) { |
|||
for (SampleTubeHolderCfg cfg : deviceCfg.cfgs) { |
|||
if (cfg.uuid.equals(tubeHolderCfgUUID)) { |
|||
return cfg; |
|||
} |
|||
} |
|||
return null; |
|||
} |
|||
|
|||
private void dbRemoveCfg(String tubeHolderCfgUUID) { |
|||
deviceCfg.cfgs.removeIf(cfg -> cfg.uuid.equals(tubeHolderCfgUUID)); |
|||
} |
|||
|
|||
private SampleTubeCfg dbFindTubeCfg(String tubeHolderCfgUUID, Integer tubeIndex) { |
|||
SampleTubeHolderCfg cfg = dbFindCfg(tubeHolderCfgUUID); |
|||
if (cfg == null) { |
|||
return null; |
|||
} |
|||
return cfg.tubeCfgs.get(tubeIndex); |
|||
} |
|||
|
|||
|
|||
@EnginnerPageAction(name = "获取设备配置",group = "基础",groupOrder = 1) |
|||
public A8kDeviceCfg getA8kDeviceCfg() { |
|||
return deviceCfg; |
|||
} |
|||
|
|||
@EnginnerPageAction(name = "添加<试管架>配置",group = "试管架",groupOrder = 2) |
|||
public AppRet<SampleTubeHolderCfg> addCfg() { |
|||
SampleTubeHolderCfg cfg = new SampleTubeHolderCfg(); |
|||
deviceCfg.cfgs.add(cfg); |
|||
return AppRet.success(cfg); |
|||
} |
|||
|
|||
@EnginnerPageAction(name = "删除<试管架>配置",group = "试管架") |
|||
public AppRet<Object> removeCfg(String tubeHolderCfgUUID) { |
|||
dbRemoveCfg(tubeHolderCfgUUID); |
|||
return AppRet.success(); |
|||
} |
|||
|
|||
|
|||
@EnginnerPageAction(name = "激活<试管架>配置",group = "试管架") |
|||
public AppRet<SampleTubeHolderCfg> activeCfg(String tubeHolderCfgUUID, Boolean active) { |
|||
SampleTubeHolderCfg cfg = dbFindCfg(tubeHolderCfgUUID); |
|||
if (cfg == null) { |
|||
return AppRet.fail(A8kEcode.TubeHolderCfgNotExist); |
|||
} |
|||
cfg.active = active; |
|||
return AppRet.success(); |
|||
} |
|||
|
|||
|
|||
@EnginnerPageAction(name = "修改<试管>用户信息配置",group = "试管",groupOrder = 3) |
|||
public AppRet<SampleTubeCfg> updateTubeUsrCfg(String uuid, Integer tubeIndex, String udpid, String barcodeid) { |
|||
SampleTubeHolderCfg cfg = dbFindCfg(uuid); |
|||
assert cfg != null; |
|||
cfg.tubeCfgs.get(tubeIndex).barcodeid = barcodeid; |
|||
cfg.tubeCfgs.get(tubeIndex).udpid = udpid; |
|||
return AppRet.success(cfg.tubeCfgs.get(tubeIndex)); |
|||
} |
|||
|
|||
|
|||
@EnginnerPageAction(name = "清除<试管>项目信息",group = "试管") |
|||
public AppRet<SampleTubeCfg> clearTubeProjectCfg(String uuid, Integer tubeIndex) { |
|||
SampleTubeHolderCfg cfg = dbFindCfg(uuid); |
|||
assert cfg != null; |
|||
cfg.tubeCfgs.get(tubeIndex).projectCodes.clear(); |
|||
cfg.tubeCfgs.get(tubeIndex).bloodType = BloodType.WHOLE_BLOOD; |
|||
return AppRet.success(cfg.tubeCfgs.get(tubeIndex)); |
|||
} |
|||
|
|||
@EnginnerPageAction(name = "添加<试管>项目信息",group = "试管") |
|||
public AppRet<SampleTubeCfg> addTubeProjectCode(String uuid, Integer tubeIndex, String pjc) { |
|||
SampleTubeHolderCfg cfg = dbFindCfg(uuid); |
|||
assert cfg != null; |
|||
SampleTubeCfg tubeCfg = new SampleTubeCfg(); |
|||
tubeCfg.projectCodes.add(pjc); |
|||
cfg.tubeCfgs.add(tubeCfg); |
|||
return AppRet.success(tubeCfg); |
|||
} |
|||
|
|||
@EnginnerPageAction(name = "设置<试管>血型",group = "试管") |
|||
public AppRet<SampleTubeCfg> setTubeBloodType(String uuid, Integer tubeIndex, BloodType bloodType) { |
|||
SampleTubeCfg tubeCfg = dbFindTubeCfg(uuid, tubeIndex); |
|||
assert tubeCfg != null; |
|||
tubeCfg.bloodType = bloodType; |
|||
return AppRet.success(); |
|||
} |
|||
|
|||
} |
@ -1,8 +1,17 @@ |
|||
package a8k.service.base.samplecfg; |
|||
|
|||
import a8k.service.base.BloodType; |
|||
import a8k.service.base.sample.SampleInfo; |
|||
|
|||
import java.util.List; |
|||
import java.util.UUID; |
|||
|
|||
public class SampleTubeCfg extends SampleInfo { |
|||
public class SampleTubeCfg { |
|||
public String tubeHolderUUID; |
|||
public int tubeIndex; |
|||
|
|||
public String udpid; //用户输入的样本ID,不做逻辑,只做展示 |
|||
public String barcodeid; //用于请求用户信息的条码ID |
|||
public List<String> projectCodes; //项目编码,用于查找项目相关信息 |
|||
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血型 |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue