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
-
125src/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; |
package a8k.service.base.samplecfg; |
||||
|
|
||||
|
import a8k.service.base.BloodType; |
||||
import a8k.service.base.sample.SampleInfo; |
import a8k.service.base.sample.SampleInfo; |
||||
|
|
||||
import java.util.List; |
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